agentic-payments 0.1.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 (122) hide show
  1. package/README.md +924 -0
  2. package/bin/cli.js +18 -0
  3. package/bin/mcp.js +10 -0
  4. package/completions/agentic-payments.bash +21 -0
  5. package/completions/agentic-payments.fish +9 -0
  6. package/completions/agentic-payments.zsh +17 -0
  7. package/completions/bash.sh +182 -0
  8. package/completions/fish.fish +110 -0
  9. package/completions/zsh.sh +175 -0
  10. package/dist/active-mandate/i18n.d.ts +27 -0
  11. package/dist/active-mandate/i18n.d.ts.map +1 -0
  12. package/dist/active-mandate/i18n.js +35 -0
  13. package/dist/active-mandate/i18n.js.map +1 -0
  14. package/dist/active-mandate/index.d.ts +26 -0
  15. package/dist/active-mandate/index.d.ts.map +1 -0
  16. package/dist/active-mandate/index.js +51 -0
  17. package/dist/active-mandate/index.js.map +1 -0
  18. package/dist/active-mandate/revocation.d.ts +11 -0
  19. package/dist/active-mandate/revocation.d.ts.map +1 -0
  20. package/dist/active-mandate/revocation.js +27 -0
  21. package/dist/active-mandate/revocation.js.map +1 -0
  22. package/dist/active-mandate/schema.d.ts +85 -0
  23. package/dist/active-mandate/schema.d.ts.map +1 -0
  24. package/dist/active-mandate/schema.js +36 -0
  25. package/dist/active-mandate/schema.js.map +1 -0
  26. package/dist/active-mandate/signing.d.ts +8 -0
  27. package/dist/active-mandate/signing.d.ts.map +1 -0
  28. package/dist/active-mandate/signing.js +64 -0
  29. package/dist/active-mandate/signing.js.map +1 -0
  30. package/dist/active-mandate/types.d.ts +59 -0
  31. package/dist/active-mandate/types.d.ts.map +1 -0
  32. package/dist/active-mandate/types.js +6 -0
  33. package/dist/active-mandate/types.js.map +1 -0
  34. package/dist/cli/commands/active-mandate.d.ts +4 -0
  35. package/dist/cli/commands/active-mandate.d.ts.map +1 -0
  36. package/dist/cli/commands/active-mandate.js +218 -0
  37. package/dist/cli/commands/active-mandate.js.map +1 -0
  38. package/dist/cli/commands/generate.d.ts +3 -0
  39. package/dist/cli/commands/generate.d.ts.map +1 -0
  40. package/dist/cli/commands/generate.js +59 -0
  41. package/dist/cli/commands/generate.js.map +1 -0
  42. package/dist/cli/commands/mandate.d.ts +4 -0
  43. package/dist/cli/commands/mandate.d.ts.map +1 -0
  44. package/dist/cli/commands/mandate.js +223 -0
  45. package/dist/cli/commands/mandate.js.map +1 -0
  46. package/dist/cli/commands/system.d.ts +4 -0
  47. package/dist/cli/commands/system.d.ts.map +1 -0
  48. package/dist/cli/commands/system.js +101 -0
  49. package/dist/cli/commands/system.js.map +1 -0
  50. package/dist/cli/commands/verify.d.ts +3 -0
  51. package/dist/cli/commands/verify.d.ts.map +1 -0
  52. package/dist/cli/commands/verify.js +104 -0
  53. package/dist/cli/commands/verify.js.map +1 -0
  54. package/dist/cli/completion.d.ts +3 -0
  55. package/dist/cli/completion.d.ts.map +1 -0
  56. package/dist/cli/completion.js +245 -0
  57. package/dist/cli/completion.js.map +1 -0
  58. package/dist/cli/index.d.ts +3 -0
  59. package/dist/cli/index.d.ts.map +1 -0
  60. package/dist/cli/index.js +79 -0
  61. package/dist/cli/index.js.map +1 -0
  62. package/dist/errors.d.ts +58 -0
  63. package/dist/errors.d.ts.map +1 -0
  64. package/dist/errors.js +100 -0
  65. package/dist/errors.js.map +1 -0
  66. package/dist/identity.d.ts +78 -0
  67. package/dist/identity.d.ts.map +1 -0
  68. package/dist/identity.js +204 -0
  69. package/dist/identity.js.map +1 -0
  70. package/dist/index.d.ts +68 -0
  71. package/dist/index.d.ts.map +1 -0
  72. package/dist/index.js +79 -0
  73. package/dist/index.js.map +1 -0
  74. package/dist/mandate.d.ts +134 -0
  75. package/dist/mandate.d.ts.map +1 -0
  76. package/dist/mandate.js +342 -0
  77. package/dist/mandate.js.map +1 -0
  78. package/dist/mcp/index.d.ts +7 -0
  79. package/dist/mcp/index.d.ts.map +1 -0
  80. package/dist/mcp/index.js +102 -0
  81. package/dist/mcp/index.js.map +1 -0
  82. package/dist/mcp/server.d.ts +38 -0
  83. package/dist/mcp/server.d.ts.map +1 -0
  84. package/dist/mcp/server.js +126 -0
  85. package/dist/mcp/server.js.map +1 -0
  86. package/dist/mcp/tools/agent.d.ts +9 -0
  87. package/dist/mcp/tools/agent.d.ts.map +1 -0
  88. package/dist/mcp/tools/agent.js +34 -0
  89. package/dist/mcp/tools/agent.js.map +1 -0
  90. package/dist/mcp/tools/consensus.d.ts +9 -0
  91. package/dist/mcp/tools/consensus.d.ts.map +1 -0
  92. package/dist/mcp/tools/consensus.js +38 -0
  93. package/dist/mcp/tools/consensus.js.map +1 -0
  94. package/dist/mcp/tools/index.d.ts +45 -0
  95. package/dist/mcp/tools/index.d.ts.map +1 -0
  96. package/dist/mcp/tools/index.js +282 -0
  97. package/dist/mcp/tools/index.js.map +1 -0
  98. package/dist/mcp/tools/mandate.d.ts +31 -0
  99. package/dist/mcp/tools/mandate.d.ts.map +1 -0
  100. package/dist/mcp/tools/mandate.js +165 -0
  101. package/dist/mcp/tools/mandate.js.map +1 -0
  102. package/dist/mcp/tools/payment.d.ts +13 -0
  103. package/dist/mcp/tools/payment.d.ts.map +1 -0
  104. package/dist/mcp/tools/payment.js +66 -0
  105. package/dist/mcp/tools/payment.js.map +1 -0
  106. package/dist/mcp/tools/types.d.ts +63 -0
  107. package/dist/mcp/tools/types.d.ts.map +1 -0
  108. package/dist/mcp/tools/types.js +5 -0
  109. package/dist/mcp/tools/types.js.map +1 -0
  110. package/dist/mcp/transports/http.d.ts +52 -0
  111. package/dist/mcp/transports/http.d.ts.map +1 -0
  112. package/dist/mcp/transports/http.js +234 -0
  113. package/dist/mcp/transports/http.js.map +1 -0
  114. package/dist/types.d.ts +238 -0
  115. package/dist/types.d.ts.map +1 -0
  116. package/dist/types.js +7 -0
  117. package/dist/types.js.map +1 -0
  118. package/dist/verification.d.ts +140 -0
  119. package/dist/verification.d.ts.map +1 -0
  120. package/dist/verification.js +285 -0
  121. package/dist/verification.js.map +1 -0
  122. package/package.json +175 -0
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare const generateCommand: Command;
3
+ //# sourceMappingURL=generate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,eAAO,MAAM,eAAe,SAwDxB,CAAC"}
@@ -0,0 +1,59 @@
1
+ import { Command } from 'commander';
2
+ import chalk from 'chalk';
3
+ import ora from 'ora';
4
+ import { writeFile } from 'fs/promises';
5
+ import { AgentIdentity } from '../../identity.js';
6
+ export const generateCommand = new Command('generate')
7
+ .alias('gen')
8
+ .description('Generate a new agent identity with cryptographic keys')
9
+ .option('-f, --format <type>', 'Output format: json, hex', 'json')
10
+ .option('-o, --output <file>', 'Write to file instead of stdout')
11
+ .option('--no-color', 'Disable colored output')
12
+ .action(async (options) => {
13
+ const spinner = ora({
14
+ text: 'Generating agent identity...',
15
+ color: 'cyan',
16
+ spinner: 'dots'
17
+ }).start();
18
+ try {
19
+ // Generate identity with native crypto
20
+ const identity = await AgentIdentity.generate();
21
+ spinner.succeed(chalk.green('Agent identity generated successfully'));
22
+ // Format output
23
+ let output;
24
+ switch (options.format.toLowerCase()) {
25
+ case 'json':
26
+ output = JSON.stringify(identity.toJSON(), null, 2);
27
+ break;
28
+ case 'hex':
29
+ const publicKeyHex = identity.publicKeyHex();
30
+ const privateKeyHex = identity.privateKeyHex();
31
+ output = `Public Key: ${publicKeyHex}\nPrivate Key: ${privateKeyHex}\nDID: ${identity.did()}`;
32
+ break;
33
+ default:
34
+ throw new Error(`Unsupported format: ${options.format}`);
35
+ }
36
+ // Write to file or stdout
37
+ if (options.output) {
38
+ await writeFile(options.output, output, 'utf-8');
39
+ console.log(chalk.blue(`\n✓ Identity saved to: ${options.output}`));
40
+ }
41
+ else {
42
+ console.log('\n' + chalk.cyan.bold('Agent Identity:'));
43
+ console.log(chalk.white(output));
44
+ }
45
+ // Display additional info
46
+ console.log('\n' + chalk.yellow.bold('⚠ Security Notice:'));
47
+ console.log(chalk.gray(' Keep the private key secure and never share it.'));
48
+ console.log(chalk.gray(' Anyone with the private key can impersonate this agent.\n'));
49
+ }
50
+ catch (error) {
51
+ spinner.fail(chalk.red('Failed to generate identity'));
52
+ console.error(chalk.red('\nError:'), error.message);
53
+ if (process.env.DEBUG) {
54
+ console.error(chalk.gray(error.stack));
55
+ }
56
+ process.exit(1);
57
+ }
58
+ });
59
+ //# sourceMappingURL=generate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Command } from 'commander';
2
+ declare const mandateCommand: Command;
3
+ export { mandateCommand };
4
+ //# sourceMappingURL=mandate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mandate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mandate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,QAAA,MAAM,cAAc,SACyC,CAAC;AAoO9D,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,223 @@
1
+ import { Command } from 'commander';
2
+ import chalk from 'chalk';
3
+ import ora from 'ora';
4
+ import { readFile, writeFile } from 'fs/promises';
5
+ import { AgentIdentity } from '../../identity.js';
6
+ import { IntentMandate, CartMandate, PaymentMandate } from '../../mandate.js';
7
+ const mandateCommand = new Command('mandate')
8
+ .description('Create, validate, and sign payment mandates');
9
+ // Create subcommand
10
+ mandateCommand
11
+ .command('create')
12
+ .description('Create a new mandate')
13
+ .argument('<type>', 'Mandate type: intent, cart, payment')
14
+ .option('-d, --data <json>', 'Mandate data as JSON string')
15
+ .option('-f, --file <path>', 'Load mandate data from file')
16
+ .option('-o, --output <file>', 'Save mandate to file')
17
+ .action(async (type, options) => {
18
+ const spinner = ora('Creating mandate...').start();
19
+ try {
20
+ // Load data
21
+ let data = {};
22
+ if (options.file) {
23
+ const content = await readFile(options.file, 'utf-8');
24
+ data = JSON.parse(content);
25
+ }
26
+ else if (options.data) {
27
+ data = JSON.parse(options.data);
28
+ }
29
+ else {
30
+ throw new Error('Either --data or --file must be provided');
31
+ }
32
+ // Create mandate based on type
33
+ let mandate;
34
+ switch (type.toLowerCase()) {
35
+ case 'intent':
36
+ mandate = new IntentMandate({
37
+ merchantId: data.merchantId || 'merchant-default',
38
+ customerId: data.customerId || 'customer-default',
39
+ intent: data.intent || 'Payment authorization',
40
+ maxAmount: data.maxAmount || data.amount || 100,
41
+ currency: data.currency || 'USD',
42
+ expiresAt: data.expiresAt || Date.now() + 86400000 // 24 hours
43
+ });
44
+ break;
45
+ case 'cart':
46
+ mandate = new CartMandate({
47
+ merchantId: data.merchantId || 'merchant-default',
48
+ customerId: data.customerId || 'customer-default',
49
+ items: data.items || [],
50
+ currency: data.currency || 'USD',
51
+ expiresAt: data.expiresAt || Date.now() + 86400000
52
+ });
53
+ break;
54
+ case 'payment':
55
+ mandate = new PaymentMandate({
56
+ sourceId: data.sourceId || 'source-default',
57
+ type: data.type || 'intent',
58
+ amount: data.amount || 100,
59
+ currency: data.currency || 'USD',
60
+ paymentMethod: data.paymentMethod || 'card'
61
+ });
62
+ break;
63
+ default:
64
+ throw new Error(`Unknown mandate type: ${type}`);
65
+ }
66
+ spinner.succeed(chalk.green(`${type.charAt(0).toUpperCase() + type.slice(1)} mandate created`));
67
+ // Output
68
+ const output = JSON.stringify(mandate.toJSON(), null, 2);
69
+ if (options.output) {
70
+ await writeFile(options.output, output, 'utf-8');
71
+ console.log(chalk.blue(`\n✓ Mandate saved to: ${options.output}\n`));
72
+ }
73
+ else {
74
+ console.log('\n' + chalk.cyan.bold('Mandate:'));
75
+ console.log(chalk.white(output) + '\n');
76
+ }
77
+ }
78
+ catch (error) {
79
+ spinner.fail(chalk.red('Failed to create mandate'));
80
+ console.error(chalk.red('\nError:'), error.message);
81
+ process.exit(1);
82
+ }
83
+ });
84
+ // Validate subcommand
85
+ mandateCommand
86
+ .command('validate')
87
+ .description('Validate a mandate')
88
+ .option('-f, --file <path>', 'Mandate file to validate')
89
+ .option('-d, --data <json>', 'Mandate data as JSON string')
90
+ .option('-t, --type <type>', 'Mandate type: intent, cart, payment')
91
+ .action(async (options) => {
92
+ const spinner = ora('Validating mandate...').start();
93
+ try {
94
+ // Load mandate data
95
+ let mandateData;
96
+ if (options.file) {
97
+ const content = await readFile(options.file, 'utf-8');
98
+ mandateData = JSON.parse(content);
99
+ }
100
+ else if (options.data) {
101
+ mandateData = JSON.parse(options.data);
102
+ }
103
+ else {
104
+ throw new Error('Either --file or --data must be provided');
105
+ }
106
+ // Determine mandate type from data if not specified
107
+ const type = options.type || mandateData.type || (mandateData.intent ? 'intent' : 'payment');
108
+ // Create mandate object
109
+ let mandate;
110
+ switch (type.toLowerCase()) {
111
+ case 'intent':
112
+ mandate = new IntentMandate(mandateData);
113
+ break;
114
+ case 'cart':
115
+ mandate = new CartMandate(mandateData);
116
+ break;
117
+ case 'payment':
118
+ mandate = new PaymentMandate(mandateData);
119
+ break;
120
+ default:
121
+ throw new Error(`Unknown mandate type: ${type}`);
122
+ }
123
+ // Validate
124
+ const result = mandate.validate();
125
+ spinner.stop();
126
+ if (result.valid) {
127
+ console.log(chalk.green.bold('\n✓ Mandate is valid\n'));
128
+ console.log(chalk.gray(` Type: ${type}`));
129
+ console.log(chalk.gray(` ID: ${mandateData.id}`));
130
+ if (mandateData.signature) {
131
+ console.log(chalk.gray(` Signed: Yes (by ${mandateData.signedBy || 'unknown'})`));
132
+ }
133
+ console.log();
134
+ process.exit(0);
135
+ }
136
+ else {
137
+ console.log(chalk.red.bold('\n✗ Mandate validation failed\n'));
138
+ result.errors.forEach(error => console.log(chalk.red(` • ${error}`)));
139
+ console.log();
140
+ process.exit(1);
141
+ }
142
+ }
143
+ catch (error) {
144
+ spinner.fail(chalk.red('Validation failed'));
145
+ console.error(chalk.red('\nError:'), error.message);
146
+ process.exit(1);
147
+ }
148
+ });
149
+ // Sign subcommand
150
+ mandateCommand
151
+ .command('sign')
152
+ .description('Sign a mandate with agent credentials')
153
+ .option('-f, --file <path>', 'Mandate file to sign')
154
+ .option('-k, --key <hex>', 'Agent private key (hex)')
155
+ .option('-j, --json <path>', 'Load agent identity from JSON file')
156
+ .option('-t, --type <type>', 'Mandate type: intent, cart, payment')
157
+ .option('-o, --output <file>', 'Save signed mandate to file')
158
+ .action(async (options) => {
159
+ const spinner = ora('Signing mandate...').start();
160
+ try {
161
+ if (!options.file) {
162
+ throw new Error('--file is required');
163
+ }
164
+ if (!options.key && !options.json) {
165
+ throw new Error('Either --key or --json is required');
166
+ }
167
+ // Load agent identity
168
+ let agent;
169
+ if (options.json) {
170
+ const identityData = JSON.parse(await readFile(options.json, 'utf-8'));
171
+ const publicKey = new Uint8Array(Object.values(identityData.publicKey));
172
+ const privateKey = new Uint8Array(Object.values(identityData.privateKey));
173
+ agent = await AgentIdentity.fromKeys(publicKey, privateKey);
174
+ }
175
+ else {
176
+ const privateKeyBytes = new Uint8Array(options.key.match(/.{1,2}/g).map((byte) => parseInt(byte, 16)));
177
+ const ed = await import('@noble/ed25519');
178
+ const publicKeyBytes = await ed.getPublicKeyAsync(privateKeyBytes);
179
+ agent = await AgentIdentity.fromKeys(publicKeyBytes, privateKeyBytes);
180
+ }
181
+ // Load mandate
182
+ const content = await readFile(options.file, 'utf-8');
183
+ const mandateData = JSON.parse(content);
184
+ // Determine mandate type
185
+ const type = options.type || mandateData.type || (mandateData.intent ? 'intent' : 'payment');
186
+ // Create mandate object and sign
187
+ let mandate;
188
+ switch (type.toLowerCase()) {
189
+ case 'intent':
190
+ mandate = new IntentMandate(mandateData);
191
+ await mandate.sign(agent);
192
+ break;
193
+ case 'cart':
194
+ mandate = new CartMandate(mandateData);
195
+ await mandate.sign(agent);
196
+ break;
197
+ case 'payment':
198
+ mandate = new PaymentMandate(mandateData);
199
+ await mandate.sign(agent);
200
+ break;
201
+ default:
202
+ throw new Error(`Unknown mandate type: ${type}`);
203
+ }
204
+ spinner.succeed(chalk.green('Mandate signed successfully'));
205
+ // Output
206
+ const output = JSON.stringify(mandate.toJSON(), null, 2);
207
+ if (options.output) {
208
+ await writeFile(options.output, output, 'utf-8');
209
+ console.log(chalk.blue(`\n✓ Signed mandate saved to: ${options.output}\n`));
210
+ }
211
+ else {
212
+ console.log('\n' + chalk.cyan.bold('Signed Mandate:'));
213
+ console.log(chalk.white(output) + '\n');
214
+ }
215
+ }
216
+ catch (error) {
217
+ spinner.fail(chalk.red('Failed to sign mandate'));
218
+ console.error(chalk.red('\nError:'), error.message);
219
+ process.exit(1);
220
+ }
221
+ });
222
+ export { mandateCommand };
223
+ //# sourceMappingURL=mandate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mandate.js","sourceRoot":"","sources":["../../../src/cli/commands/mandate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Command } from 'commander';
2
+ declare const systemCommand: Command;
3
+ export { systemCommand };
4
+ //# sourceMappingURL=system.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/system.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,QAAA,MAAM,aAAa,SAEgC,CAAC;AA+GpD,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,101 @@
1
+ import { Command } from 'commander';
2
+ import chalk from 'chalk';
3
+ import { getInfo } from '../../index.js';
4
+ const systemCommand = new Command('system')
5
+ .alias('sys')
6
+ .description('System management and information');
7
+ // Info subcommand
8
+ systemCommand
9
+ .command('info')
10
+ .description('Display system information')
11
+ .action(async () => {
12
+ try {
13
+ const info = getInfo();
14
+ console.log('\n' + chalk.cyan.bold('═══════════════════════════════════════'));
15
+ console.log(chalk.cyan.bold(' AGENTIC PAYMENTS SYSTEM INFO'));
16
+ console.log(chalk.cyan.bold('═══════════════════════════════════════\n'));
17
+ console.log(chalk.white.bold('Implementation:'));
18
+ console.log(chalk.gray(` Type: ${info.implementation}`));
19
+ console.log(chalk.gray(` Version: ${info.version}`));
20
+ console.log(chalk.white.bold('\nFeatures:'));
21
+ info.features.forEach((feature) => {
22
+ console.log(chalk.gray(` • ${feature}`));
23
+ });
24
+ console.log(chalk.white.bold('\nRuntime:'));
25
+ console.log(chalk.gray(` Node: ${process.version}`));
26
+ console.log(chalk.gray(` Platform: ${process.platform}`));
27
+ console.log(chalk.gray(` Arch: ${process.arch}`));
28
+ console.log(chalk.white.bold('\nMemory:'));
29
+ const mem = process.memoryUsage();
30
+ console.log(chalk.gray(` Heap Used: ${(mem.heapUsed / 1024 / 1024).toFixed(2)} MB`));
31
+ console.log(chalk.gray(` Heap Total: ${(mem.heapTotal / 1024 / 1024).toFixed(2)} MB`));
32
+ console.log(chalk.gray(` RSS: ${(mem.rss / 1024 / 1024).toFixed(2)} MB`));
33
+ console.log('\n' + chalk.cyan.bold('═══════════════════════════════════════\n'));
34
+ }
35
+ catch (error) {
36
+ console.error(chalk.red('Error:'), error.message);
37
+ process.exit(1);
38
+ }
39
+ });
40
+ // Status subcommand
41
+ systemCommand
42
+ .command('status')
43
+ .description('Display system status')
44
+ .option('-w, --watch', 'Watch mode (update every 2s)')
45
+ .action(async (options) => {
46
+ const displayStatus = async () => {
47
+ if (options.watch) {
48
+ console.clear();
49
+ }
50
+ console.log(chalk.cyan.bold('╔═══════════════════════════════════════════════╗'));
51
+ console.log(chalk.cyan.bold('║ AGENTIC PAYMENTS SYSTEM STATUS ║'));
52
+ console.log(chalk.cyan.bold('╚═══════════════════════════════════════════════╝\n'));
53
+ // System health
54
+ const uptime = process.uptime();
55
+ const memUsage = process.memoryUsage();
56
+ console.log(chalk.white.bold('System Health:'));
57
+ console.log(chalk.gray(` Status: ${chalk.green('● Ready')}`));
58
+ console.log(chalk.gray(` Uptime: ${Math.floor(uptime / 60)}m ${Math.floor(uptime % 60)}s`));
59
+ console.log(chalk.gray(` Memory: ${(memUsage.heapUsed / 1024 / 1024).toFixed(2)} MB`));
60
+ // Implementation info
61
+ const info = getInfo();
62
+ console.log(chalk.white.bold('\nImplementation:'));
63
+ console.log(chalk.gray(` Type: ${info.implementation}`));
64
+ console.log(chalk.gray(` Version: ${info.version}`));
65
+ // Features
66
+ console.log(chalk.white.bold('\nEnabled Features:'));
67
+ info.features.forEach((feature) => {
68
+ console.log(chalk.gray(` • ${feature}`));
69
+ });
70
+ console.log('\n' + chalk.cyan.bold('═══════════════════════════════════════════════\n'));
71
+ if (options.watch) {
72
+ console.log(chalk.gray('Updating every 2s... (Press Ctrl+C to exit)'));
73
+ }
74
+ };
75
+ try {
76
+ if (options.watch) {
77
+ await displayStatus();
78
+ setInterval(displayStatus, 2000);
79
+ await new Promise(() => { }); // Keep alive
80
+ }
81
+ else {
82
+ await displayStatus();
83
+ }
84
+ }
85
+ catch (error) {
86
+ console.error(chalk.red('Error:'), error.message);
87
+ process.exit(1);
88
+ }
89
+ });
90
+ // Version subcommand
91
+ systemCommand
92
+ .command('version')
93
+ .alias('v')
94
+ .description('Display version information')
95
+ .action(() => {
96
+ const info = getInfo();
97
+ console.log(`\n${chalk.cyan.bold('Agentic Payments')} ${chalk.white('v' + info.version)}`);
98
+ console.log(chalk.gray(`Implementation: ${info.implementation}\n`));
99
+ });
100
+ export { systemCommand };
101
+ //# sourceMappingURL=system.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.js","sourceRoot":"","sources":["../../../src/cli/commands/system.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare const verifyCommand: Command;
3
+ //# sourceMappingURL=verify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/verify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,eAAO,MAAM,aAAa,SAiHtB,CAAC"}
@@ -0,0 +1,104 @@
1
+ import { Command } from 'commander';
2
+ import chalk from 'chalk';
3
+ import ora from 'ora';
4
+ import { readFile } from 'fs/promises';
5
+ import { AgentIdentity } from '../../identity.js';
6
+ import { VerificationSystemBuilder } from '../../verification.js';
7
+ export const verifyCommand = new Command('verify')
8
+ .description('Verify a signature using multi-agent consensus')
9
+ .option('-s, --signature <hex>', 'Signature to verify (hex)')
10
+ .option('-m, --message <text>', 'Message that was signed')
11
+ .option('-p, --publicKey <hex>', 'Public key (hex)')
12
+ .option('-n, --agents <count>', 'Number of verification agents', parseInt, 5)
13
+ .option('-t, --threshold <value>', 'Consensus threshold (0.0-1.0)', parseFloat, 0.67)
14
+ .option('-d, --data <file>', 'Load verification data from JSON file')
15
+ .option('-v, --verbose', 'Show individual agent votes')
16
+ .option('--parallel', 'Use parallel verification (default: true)', true)
17
+ .action(async (options) => {
18
+ const spinner = ora({
19
+ text: 'Initializing verification system...',
20
+ color: 'cyan',
21
+ spinner: 'dots'
22
+ }).start();
23
+ try {
24
+ // Load verification data
25
+ let verificationData = {};
26
+ if (options.data) {
27
+ spinner.text = `Loading verification data from ${options.data}...`;
28
+ const fileContent = await readFile(options.data, 'utf-8');
29
+ verificationData = JSON.parse(fileContent);
30
+ }
31
+ else {
32
+ if (!options.signature || !options.message || !options.publicKey) {
33
+ throw new Error('Either --data or all of --signature, --message, --publicKey must be provided');
34
+ }
35
+ verificationData = {
36
+ signature: options.signature,
37
+ message: options.message,
38
+ publicKey: options.publicKey
39
+ };
40
+ }
41
+ // Parse signature and message
42
+ const signatureBytes = new Uint8Array(verificationData.signature.match(/.{1,2}/g).map((byte) => parseInt(byte, 16)));
43
+ const messageBytes = new TextEncoder().encode(verificationData.message);
44
+ const publicKeyBytes = new Uint8Array(verificationData.publicKey.match(/.{1,2}/g).map((byte) => parseInt(byte, 16)));
45
+ // Create verification agents
46
+ spinner.text = `Creating ${options.agents} verification agents...`;
47
+ const systemBuilder = new VerificationSystemBuilder()
48
+ .consensusThreshold(options.threshold)
49
+ .minAgents(options.agents)
50
+ .maxAgents(options.agents)
51
+ .parallel(options.parallel);
52
+ // Generate agents
53
+ for (let i = 0; i < options.agents; i++) {
54
+ const agent = await AgentIdentity.generate();
55
+ systemBuilder.addAgent(agent);
56
+ }
57
+ const system = systemBuilder.build();
58
+ // Perform verification
59
+ spinner.text = 'Running multi-agent consensus verification...';
60
+ const startTime = Date.now();
61
+ const result = await system.verifyWithConsensus(signatureBytes, messageBytes, publicKeyBytes);
62
+ const duration = Date.now() - startTime;
63
+ spinner.stop();
64
+ // Display results
65
+ console.log('\n' + chalk.cyan.bold('═══════════════════════════════════════'));
66
+ console.log(chalk.cyan.bold(' CONSENSUS VERIFICATION RESULTS '));
67
+ console.log(chalk.cyan.bold('═══════════════════════════════════════\n'));
68
+ // Consensus status
69
+ if (result.consensusReached) {
70
+ console.log(chalk.green.bold('✓ CONSENSUS REACHED'));
71
+ }
72
+ else {
73
+ console.log(chalk.red.bold('✗ CONSENSUS FAILED'));
74
+ }
75
+ // Metrics
76
+ console.log(chalk.white('\nMetrics:'));
77
+ console.log(chalk.gray(` Total Agents: ${result.totalVotes}`));
78
+ console.log(chalk.gray(` Threshold: ${(options.threshold * 100).toFixed(0)}%`));
79
+ console.log(chalk.gray(` Approvals: ${result.votesFor}/${result.totalVotes} (${(result.consensusPercentage * 100).toFixed(1)}%)`));
80
+ console.log(chalk.gray(` Verification Time: ${duration}ms`));
81
+ console.log(chalk.gray(` Avg Agent Latency: ${result.avgLatencyMs.toFixed(1)}ms`));
82
+ // Verbose output
83
+ if (options.verbose) {
84
+ console.log(chalk.white('\nAgent Votes:'));
85
+ result.agentVotes.forEach((vote, idx) => {
86
+ const symbol = vote.vote ? chalk.green('✓') : chalk.red('✗');
87
+ const latency = chalk.gray(`(${vote.latencyMs}ms)`);
88
+ console.log(` ${symbol} Agent ${idx + 1} ${chalk.gray(vote.agentId.slice(0, 16))} ${latency}`);
89
+ });
90
+ }
91
+ console.log(chalk.cyan.bold('\n═══════════════════════════════════════\n'));
92
+ // Exit with appropriate code
93
+ process.exit(result.consensusReached ? 0 : 1);
94
+ }
95
+ catch (error) {
96
+ spinner.fail(chalk.red('Verification failed'));
97
+ console.error(chalk.red('\nError:'), error.message);
98
+ if (process.env.DEBUG) {
99
+ console.error(chalk.gray(error.stack));
100
+ }
101
+ process.exit(1);
102
+ }
103
+ });
104
+ //# sourceMappingURL=verify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../../src/cli/commands/verify.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare const completionCommand: Command;
3
+ //# sourceMappingURL=completion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../src/cli/completion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,eAAO,MAAM,iBAAiB,SACY,CAAC"}