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.
Files changed (110) hide show
  1. package/LICENSE +62 -0
  2. package/README.md +545 -0
  3. package/SKILL.md +99 -0
  4. package/SUPPORT.md +153 -0
  5. package/bin/payment-skill.js +2 -0
  6. package/dashboard.html +669 -0
  7. package/dist/api/bunq.d.ts +35 -0
  8. package/dist/api/bunq.d.ts.map +1 -0
  9. package/dist/api/bunq.js +164 -0
  10. package/dist/api/bunq.js.map +1 -0
  11. package/dist/api/wise.d.ts +32 -0
  12. package/dist/api/wise.d.ts.map +1 -0
  13. package/dist/api/wise.js +155 -0
  14. package/dist/api/wise.js.map +1 -0
  15. package/dist/cli.d.ts +8 -0
  16. package/dist/cli.d.ts.map +1 -0
  17. package/dist/cli.js +69 -0
  18. package/dist/cli.js.map +1 -0
  19. package/dist/commands/bunq.d.ts +8 -0
  20. package/dist/commands/bunq.d.ts.map +1 -0
  21. package/dist/commands/bunq.js +193 -0
  22. package/dist/commands/bunq.js.map +1 -0
  23. package/dist/commands/config.d.ts +8 -0
  24. package/dist/commands/config.d.ts.map +1 -0
  25. package/dist/commands/config.js +70 -0
  26. package/dist/commands/config.js.map +1 -0
  27. package/dist/commands/emergency.d.ts +8 -0
  28. package/dist/commands/emergency.d.ts.map +1 -0
  29. package/dist/commands/emergency.js +85 -0
  30. package/dist/commands/emergency.js.map +1 -0
  31. package/dist/commands/limits.d.ts +6 -0
  32. package/dist/commands/limits.d.ts.map +1 -0
  33. package/dist/commands/limits.js +125 -0
  34. package/dist/commands/limits.js.map +1 -0
  35. package/dist/commands/merchant.d.ts +6 -0
  36. package/dist/commands/merchant.d.ts.map +1 -0
  37. package/dist/commands/merchant.js +41 -0
  38. package/dist/commands/merchant.js.map +1 -0
  39. package/dist/commands/pay.d.ts +10 -0
  40. package/dist/commands/pay.d.ts.map +1 -0
  41. package/dist/commands/pay.js +112 -0
  42. package/dist/commands/pay.js.map +1 -0
  43. package/dist/commands/provider.d.ts +6 -0
  44. package/dist/commands/provider.d.ts.map +1 -0
  45. package/dist/commands/provider.js +74 -0
  46. package/dist/commands/provider.js.map +1 -0
  47. package/dist/commands/server.d.ts +8 -0
  48. package/dist/commands/server.d.ts.map +1 -0
  49. package/dist/commands/server.js +92 -0
  50. package/dist/commands/server.js.map +1 -0
  51. package/dist/commands/template.d.ts +8 -0
  52. package/dist/commands/template.d.ts.map +1 -0
  53. package/dist/commands/template.js +161 -0
  54. package/dist/commands/template.js.map +1 -0
  55. package/dist/commands/transaction.d.ts +6 -0
  56. package/dist/commands/transaction.d.ts.map +1 -0
  57. package/dist/commands/transaction.js +72 -0
  58. package/dist/commands/transaction.js.map +1 -0
  59. package/dist/commands/wise.d.ts +8 -0
  60. package/dist/commands/wise.d.ts.map +1 -0
  61. package/dist/commands/wise.js +240 -0
  62. package/dist/commands/wise.js.map +1 -0
  63. package/dist/core/config.d.ts +40 -0
  64. package/dist/core/config.d.ts.map +1 -0
  65. package/dist/core/config.js +201 -0
  66. package/dist/core/config.js.map +1 -0
  67. package/dist/core/template-engine.d.ts +27 -0
  68. package/dist/core/template-engine.d.ts.map +1 -0
  69. package/dist/core/template-engine.js +410 -0
  70. package/dist/core/template-engine.js.map +1 -0
  71. package/dist/core/transaction.d.ts +31 -0
  72. package/dist/core/transaction.d.ts.map +1 -0
  73. package/dist/core/transaction.js +214 -0
  74. package/dist/core/transaction.js.map +1 -0
  75. package/dist/index.d.ts +12 -0
  76. package/dist/index.d.ts.map +1 -0
  77. package/dist/index.js +36 -0
  78. package/dist/index.js.map +1 -0
  79. package/dist/server/server.d.ts +14 -0
  80. package/dist/server/server.d.ts.map +1 -0
  81. package/dist/server/server.js +120 -0
  82. package/dist/server/server.js.map +1 -0
  83. package/dist/types/index.d.ts +141 -0
  84. package/dist/types/index.d.ts.map +1 -0
  85. package/dist/types/index.js +8 -0
  86. package/dist/types/index.js.map +1 -0
  87. package/logo.png +0 -0
  88. package/package.json +78 -0
  89. package/src/api/bunq.ts +257 -0
  90. package/src/api/wise.ts +204 -0
  91. package/src/cli.ts +67 -0
  92. package/src/commands/bunq.ts +223 -0
  93. package/src/commands/config.ts +72 -0
  94. package/src/commands/emergency.ts +94 -0
  95. package/src/commands/limits.ts +126 -0
  96. package/src/commands/merchant.ts +39 -0
  97. package/src/commands/pay.ts +109 -0
  98. package/src/commands/provider.ts +75 -0
  99. package/src/commands/server.ts +59 -0
  100. package/src/commands/template.ts +172 -0
  101. package/src/commands/transaction.ts +66 -0
  102. package/src/commands/wise.ts +279 -0
  103. package/src/core/config.ts +202 -0
  104. package/src/core/template-engine.ts +454 -0
  105. package/src/core/transaction.ts +228 -0
  106. package/src/index.ts +14 -0
  107. package/src/server/server.ts +131 -0
  108. package/src/types/index.ts +178 -0
  109. package/tsconfig.json +23 -0
  110. 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":";AAAA;;;;GAIG;;;;;;AAEH,yCAAoC;AACpC,kDAA0B;AAC1B,8CAAsB;AACtB,sCAAyC;AACzC,2CAA+C;AAC/C,qDAAyD;AAE5C,QAAA,YAAY,GAAG,IAAI,mBAAO,CAAC,MAAM,CAAC;KAC5C,WAAW,CAAC,qBAAqB,CAAC,CAAC;AAEtC,gBAAgB;AAChB,oBAAY;KACT,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,wBAAwB,CAAC;KACrC,cAAc,CAAC,iBAAiB,EAAE,SAAS,CAAC;KAC5C,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,sBAAsB,CAAC,CAAC,KAAK,EAAE,CAAC;IACpD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,sBAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,iBAAU,CAAC,MAAa,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEhE,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAC9C,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,EAAE;YAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,WAAW,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjG,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,cAAc;AACd,oBAAY;KACT,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,qBAAqB,CAAC;KAClC,cAAc,CAAC,iBAAiB,EAAE,SAAS,CAAC;KAC5C,cAAc,CAAC,oBAAoB,EAAE,YAAY,CAAC;KAClD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC;IACnD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,sBAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,iBAAU,CAAC,MAAa,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAE/E,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxE,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,iBAAiB;AACjB,oBAAY;KACT,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,kBAAkB,CAAC;KAC/B,cAAc,CAAC,iBAAiB,EAAE,SAAS,CAAC;KAC5C,cAAc,CAAC,oBAAoB,EAAE,YAAY,CAAC;KAClD,cAAc,CAAC,mBAAmB,EAAE,gBAAgB,CAAC;KACrD,cAAc,CAAC,uBAAuB,EAAE,sBAAsB,CAAC;KAC/D,cAAc,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;KACpD,cAAc,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;KACpD,cAAc,CAAC,sBAAsB,EAAE,qBAAqB,CAAC;KAC7D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC;IACnD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,sBAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QAED,4BAA4B;QAC5B,MAAM,EAAE,GAAG,gCAAkB,CAAC,iBAAiB,CAC7C,MAAM,EACN,cAAc,EACd,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAC1B,OAAO,CAAC,QAAQ,EAChB,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAC7D,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,iBAAU,CAAC,MAAa,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,aAAa,CACxC,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,WAAW,CACpB,CAAC;QAEF,gCAAkB,CAAC,uBAAuB,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAE/D,OAAO,CAAC,OAAO,CAAC,eAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,iBAAiB,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,aAAa,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,yBAAyB;AACzB,oBAAY;KACT,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,2CAA2C,CAAC;KACxD,cAAc,CAAC,iBAAiB,EAAE,SAAS,CAAC;KAC5C,cAAc,CAAC,oBAAoB,EAAE,YAAY,CAAC;KAClD,cAAc,CAAC,mBAAmB,EAAE,gBAAgB,CAAC;KACrD,cAAc,CAAC,uBAAuB,EAAE,UAAU,CAAC;KACnD,cAAc,CAAC,cAAc,EAAE,uCAAuC,CAAC;KACvE,cAAc,CAAC,sBAAsB,EAAE,qBAAqB,CAAC;KAC7D,MAAM,CAAC,eAAe,EAAE,+BAA+B,EAAE,OAAO,CAAC;KACjE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,6BAA6B,CAAC,CAAC,KAAK,EAAE,CAAC;IAC3D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,sBAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,iBAAU,CAAC,MAAa,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAC/C,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,QAAQ,EAChB;YACE,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,EAAE;YACjB,IAAI,EAAE,OAAO,CAAC,EAAE;SACjB,EACD,OAAO,CAAC,WAAW,CACpB,CAAC;QAEF,OAAO,CAAC,OAAO,CAAC,eAAK,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,iBAAiB,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,aAAa,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,sCAAsC,CAAC,CAAC,CAAC;IACpE,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,gBAAgB;AAChB,oBAAY;KACT,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,eAAe,CAAC;KAC5B,cAAc,CAAC,iBAAiB,EAAE,SAAS,CAAC;KAC5C,cAAc,CAAC,oBAAoB,EAAE,YAAY,CAAC;KAClD,MAAM,CAAC,sBAAsB,EAAE,eAAe,EAAE,IAAI,CAAC;KACrD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,sBAAsB,CAAC,CAAC,KAAK,EAAE,CAAC;IACpD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,sBAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,iBAAU,CAAC,MAAa,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAElG,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,aAAa,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;QAC1D,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE;YAC1B,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YAChE,MAAM,KAAK,GAAG,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,eAAK,CAAC,GAAG,CAAC,CAAC,CAAC,eAAK,CAAC,KAAK,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7G,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,gBAAgB;AAChB,oBAAY;KACT,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,uBAAuB,CAAC;KACpC,cAAc,CAAC,iBAAiB,EAAE,SAAS,CAAC;KAC5C,cAAc,CAAC,oBAAoB,EAAE,YAAY,CAAC;KAClD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,sBAAsB,CAAC,CAAC,KAAK,EAAE,CAAC;IACpD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,sBAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,iBAAU,CAAC,MAAa,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAEjF,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,qBAAqB,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;QAClE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE;YAC1B,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,eAAK,CAAC,KAAK,CAAC,CAAC;gBACxC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,eAAK,CAAC,MAAM,CAAC,CAAC,CAAC,eAAK,CAAC,GAAG,CAAC;YACrE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjH,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Payment Skill - Config Commands
3
+ *
4
+ * Configuration management CLI commands
5
+ */
6
+ import { Command } from 'commander';
7
+ export declare const configCommands: Command;
8
+ //# sourceMappingURL=config.d.ts.map
@@ -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,8 @@
1
+ /**
2
+ * Payment Skill - Emergency Commands
3
+ *
4
+ * Emergency stop and safety CLI commands
5
+ */
6
+ import { Command } from 'commander';
7
+ export declare const emergencyCommands: Command;
8
+ //# sourceMappingURL=emergency.d.ts.map
@@ -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":";AAAA;;;;GAIG;;;;;;AAEH,yCAAoC;AACpC,kDAA0B;AAC1B,2CAA+C;AAC/C,qDAAyD;AAE5C,QAAA,iBAAiB,GAAG,IAAI,mBAAO,CAAC,WAAW,CAAC;KACtD,WAAW,CAAC,oCAAoC,CAAC,CAAC;AAErD,yBAAiB;KACd,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,iDAAiD,CAAC;KAC9D,MAAM,CAAC,uBAAuB,EAAE,2BAA2B,CAAC;KAC5D,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;IAClB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,mBAAmB,CAAC;IAErD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC,CAAC;IAE5C,2BAA2B;IAC3B,MAAM,OAAO,GAAG,gCAAkB,CAAC,sBAAsB,EAAE,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,SAAS,OAAO,CAAC,MAAM,uBAAuB,CAAC,CAAC,CAAC;IAE1E,0BAA0B;IAC1B,sBAAa,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAE5C,qBAAqB;IACrB,MAAM,SAAS,GAAG,gCAAkB,CAAC,gBAAgB,EAAE,CAAC;IAExD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,eAAe,SAAS,uBAAuB,CAAC,CAAC,CAAC;IAC1E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC,CAAC;AAC/E,CAAC,CAAC,CAAC;AAEL,yBAAiB;KACd,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,+CAA+C,CAAC;KAC5D,MAAM,CAAC,GAAG,EAAE;IACX,IAAI,CAAC,sBAAa,CAAC,qBAAqB,EAAE,EAAE,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAC;QAC1D,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAC1D,sBAAa,CAAC,uBAAuB,EAAE,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC;AAEL,yBAAiB;KACd,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,6BAA6B,CAAC;KAC1C,MAAM,CAAC,GAAG,EAAE;IACX,MAAM,KAAK,GAAG,sBAAa,CAAC,qBAAqB,EAAE,CAAC;IAEpD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,WAAW,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,iCAAiC,KAAK,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACjG,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;IACnD,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,yBAAiB;KACd,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,kDAAkD,CAAC;KAC/D,MAAM,CAAC,aAAa,EAAE,4BAA4B,CAAC;KACnD,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;IAClB,MAAM,OAAO,GAAG,gCAAkB,CAAC,sBAAsB,EAAE,CAAC;IAE5D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,iCAAiC,CAAC,CAAC,CAAC;QAC7D,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,OAAO,CAAC,MAAM,uBAAuB,CAAC,CAAC,CAAC;IAExF,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC;QACpD,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,gCAAkB,CAAC,gBAAgB,EAAE,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,YAAY,SAAS,eAAe,CAAC,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Payment Skill - Limit Commands
3
+ */
4
+ import { Command } from 'commander';
5
+ export declare const limitCommands: Command;
6
+ //# sourceMappingURL=limits.d.ts.map
@@ -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,6 @@
1
+ /**
2
+ * Payment Skill - Merchant Commands
3
+ */
4
+ import { Command } from 'commander';
5
+ export declare const merchantCommands: Command;
6
+ //# sourceMappingURL=merchant.d.ts.map
@@ -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"}