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,245 @@
1
+ import { Command } from 'commander';
2
+ import chalk from 'chalk';
3
+ import { readFile, writeFile, appendFile } from 'fs/promises';
4
+ import { homedir } from 'os';
5
+ import { join } from 'path';
6
+ export const completionCommand = new Command('completion')
7
+ .description('Manage shell completions');
8
+ // Detect current shell
9
+ function detectShell() {
10
+ const shell = process.env.SHELL || '';
11
+ if (shell.includes('bash'))
12
+ return 'bash';
13
+ if (shell.includes('zsh'))
14
+ return 'zsh';
15
+ if (shell.includes('fish'))
16
+ return 'fish';
17
+ return 'unknown';
18
+ }
19
+ // Get shell RC file path
20
+ function getShellRcPath(shell) {
21
+ const home = homedir();
22
+ switch (shell) {
23
+ case 'bash':
24
+ return join(home, '.bashrc');
25
+ case 'zsh':
26
+ return join(home, '.zshrc');
27
+ case 'fish':
28
+ return join(home, '.config', 'fish', 'config.fish');
29
+ default:
30
+ throw new Error(`Unsupported shell: ${shell}`);
31
+ }
32
+ }
33
+ // Install subcommand
34
+ completionCommand
35
+ .command('install')
36
+ .description('Install shell completions for current shell')
37
+ .option('-s, --shell <type>', 'Target shell: bash, zsh, fish')
38
+ .option('--dry-run', 'Show what would be installed without making changes')
39
+ .action(async (options) => {
40
+ try {
41
+ const shell = options.shell || detectShell();
42
+ if (shell === 'unknown' && !options.shell) {
43
+ console.error(chalk.red('\n✗ Could not detect shell'));
44
+ console.log(chalk.yellow(' Please specify shell with --shell option\n'));
45
+ process.exit(1);
46
+ }
47
+ console.log(chalk.cyan(`\nInstalling completions for ${shell}...\n`));
48
+ const rcPath = getShellRcPath(shell);
49
+ const completionScript = generateCompletionScript(shell);
50
+ if (options.dryRun) {
51
+ console.log(chalk.yellow('Dry run mode - no changes will be made\n'));
52
+ console.log(chalk.gray('Would add to ' + rcPath + ':'));
53
+ console.log(chalk.white(completionScript));
54
+ console.log();
55
+ return;
56
+ }
57
+ // Check if already installed
58
+ try {
59
+ const content = await readFile(rcPath, 'utf-8');
60
+ if (content.includes('agentic-payments completion')) {
61
+ console.log(chalk.yellow('✓ Completions already installed\n'));
62
+ return;
63
+ }
64
+ }
65
+ catch {
66
+ // File doesn't exist, will be created
67
+ }
68
+ // Add completion source to RC file
69
+ await appendFile(rcPath, '\n' + completionScript + '\n');
70
+ console.log(chalk.green('✓ Completions installed successfully\n'));
71
+ console.log(chalk.yellow('To activate completions, run:'));
72
+ console.log(chalk.white(` source ${rcPath}\n`));
73
+ console.log(chalk.gray('Or restart your terminal session\n'));
74
+ }
75
+ catch (error) {
76
+ console.error(chalk.red('\n✗ Installation failed:'), error.message);
77
+ process.exit(1);
78
+ }
79
+ });
80
+ // Uninstall subcommand
81
+ completionCommand
82
+ .command('uninstall')
83
+ .description('Remove shell completions')
84
+ .option('-s, --shell <type>', 'Target shell: bash, zsh, fish')
85
+ .action(async (options) => {
86
+ try {
87
+ const shell = options.shell || detectShell();
88
+ const rcPath = getShellRcPath(shell);
89
+ console.log(chalk.cyan(`\nRemoving completions from ${rcPath}...\n`));
90
+ const content = await readFile(rcPath, 'utf-8');
91
+ const lines = content.split('\n');
92
+ const filtered = lines.filter(line => !line.includes('agentic-payments completion'));
93
+ await writeFile(rcPath, filtered.join('\n'));
94
+ console.log(chalk.green('✓ Completions removed\n'));
95
+ }
96
+ catch (error) {
97
+ console.error(chalk.red('\n✗ Removal failed:'), error.message);
98
+ process.exit(1);
99
+ }
100
+ });
101
+ // Generate subcommand
102
+ completionCommand
103
+ .command('generate')
104
+ .description('Generate completion script for a shell')
105
+ .argument('<shell>', 'Shell type: bash, zsh, fish')
106
+ .action((shell) => {
107
+ try {
108
+ const script = generateCompletionScript(shell);
109
+ console.log(script);
110
+ }
111
+ catch (error) {
112
+ console.error(chalk.red('Error:'), error.message);
113
+ process.exit(1);
114
+ }
115
+ });
116
+ // Generate completion script
117
+ function generateCompletionScript(shell) {
118
+ switch (shell) {
119
+ case 'bash':
120
+ return `# agentic-payments completion
121
+ _agentic_payments_completion() {
122
+ local cur prev opts
123
+ COMPREPLY=()
124
+ cur="\${COMP_WORDS[COMP_CWORD]}"
125
+ prev="\${COMP_WORDS[COMP_CWORD-1]}"
126
+
127
+ case "\${prev}" in
128
+ agentic-payments)
129
+ opts="generate verify mandate system completion --help --version"
130
+ COMPREPLY=( $(compgen -W "\${opts}" -- \${cur}) )
131
+ return 0
132
+ ;;
133
+ generate|gen)
134
+ opts="--format --output --seed --help"
135
+ COMPREPLY=( $(compgen -W "\${opts}" -- \${cur}) )
136
+ return 0
137
+ ;;
138
+ verify)
139
+ opts="--amount --currency --agents --threshold --data --verbose --byzantine --help"
140
+ COMPREPLY=( $(compgen -W "\${opts}" -- \${cur}) )
141
+ return 0
142
+ ;;
143
+ mandate)
144
+ opts="create validate sign --help"
145
+ COMPREPLY=( $(compgen -W "\${opts}" -- \${cur}) )
146
+ return 0
147
+ ;;
148
+ system|sys)
149
+ opts="start stop status metrics --help"
150
+ COMPREPLY=( $(compgen -W "\${opts}" -- \${cur}) )
151
+ return 0
152
+ ;;
153
+ esac
154
+ }
155
+ complete -F _agentic_payments_completion agentic-payments`;
156
+ case 'zsh':
157
+ return `# agentic-payments completion
158
+ #compdef agentic-payments
159
+
160
+ _agentic_payments() {
161
+ local -a commands
162
+ commands=(
163
+ 'generate:Generate a new agent identity'
164
+ 'verify:Verify a payment using consensus'
165
+ 'mandate:Create and manage mandates'
166
+ 'system:System management'
167
+ 'completion:Manage shell completions'
168
+ )
169
+
170
+ _arguments -C \\
171
+ '--help[Show help]' \\
172
+ '--version[Show version]' \\
173
+ '1: :->command' \\
174
+ '*::arg:->args'
175
+
176
+ case $state in
177
+ command)
178
+ _describe 'command' commands
179
+ ;;
180
+ args)
181
+ case $words[1] in
182
+ generate|gen)
183
+ _arguments \\
184
+ '--format[Output format]:format:(json hex pem)' \\
185
+ '--output[Output file]:file:_files' \\
186
+ '--seed[Seed for generation]:seed:' \\
187
+ '--help[Show help]'
188
+ ;;
189
+ verify)
190
+ _arguments \\
191
+ '--amount[Payment amount]:amount:' \\
192
+ '--currency[Currency code]:currency:' \\
193
+ '--agents[Number of agents]:count:' \\
194
+ '--threshold[Consensus threshold]:threshold:' \\
195
+ '--data[Data file]:file:_files' \\
196
+ '--verbose[Verbose output]' \\
197
+ '--byzantine[Byzantine fault tolerance]' \\
198
+ '--help[Show help]'
199
+ ;;
200
+ esac
201
+ ;;
202
+ esac
203
+ }
204
+
205
+ _agentic_payments`;
206
+ case 'fish':
207
+ return `# agentic-payments completion
208
+ complete -c agentic-payments -f
209
+
210
+ # Commands
211
+ complete -c agentic-payments -n "__fish_use_subcommand" -a "generate" -d "Generate agent identity"
212
+ complete -c agentic-payments -n "__fish_use_subcommand" -a "verify" -d "Verify payment"
213
+ complete -c agentic-payments -n "__fish_use_subcommand" -a "mandate" -d "Manage mandates"
214
+ complete -c agentic-payments -n "__fish_use_subcommand" -a "system" -d "System management"
215
+ complete -c agentic-payments -n "__fish_use_subcommand" -a "completion" -d "Shell completions"
216
+
217
+ # Generate options
218
+ complete -c agentic-payments -n "__fish_seen_subcommand_from generate" -l format -d "Output format" -a "json hex pem"
219
+ complete -c agentic-payments -n "__fish_seen_subcommand_from generate" -l output -d "Output file"
220
+ complete -c agentic-payments -n "__fish_seen_subcommand_from generate" -l seed -d "Generation seed"
221
+
222
+ # Verify options
223
+ complete -c agentic-payments -n "__fish_seen_subcommand_from verify" -l amount -d "Payment amount"
224
+ complete -c agentic-payments -n "__fish_seen_subcommand_from verify" -l currency -d "Currency code"
225
+ complete -c agentic-payments -n "__fish_seen_subcommand_from verify" -l agents -d "Number of agents"
226
+ complete -c agentic-payments -n "__fish_seen_subcommand_from verify" -l threshold -d "Consensus threshold"
227
+ complete -c agentic-payments -n "__fish_seen_subcommand_from verify" -l data -d "Data file"
228
+ complete -c agentic-payments -n "__fish_seen_subcommand_from verify" -l verbose -d "Verbose output"
229
+ complete -c agentic-payments -n "__fish_seen_subcommand_from verify" -l byzantine -d "Byzantine fault tolerance"
230
+
231
+ # Mandate subcommands
232
+ complete -c agentic-payments -n "__fish_seen_subcommand_from mandate" -a "create" -d "Create mandate"
233
+ complete -c agentic-payments -n "__fish_seen_subcommand_from mandate" -a "validate" -d "Validate mandate"
234
+ complete -c agentic-payments -n "__fish_seen_subcommand_from mandate" -a "sign" -d "Sign mandate"
235
+
236
+ # System subcommands
237
+ complete -c agentic-payments -n "__fish_seen_subcommand_from system" -a "start" -d "Start system"
238
+ complete -c agentic-payments -n "__fish_seen_subcommand_from system" -a "stop" -d "Stop system"
239
+ complete -c agentic-payments -n "__fish_seen_subcommand_from system" -a "status" -d "Show status"
240
+ complete -c agentic-payments -n "__fish_seen_subcommand_from system" -a "metrics" -d "Show metrics"`;
241
+ default:
242
+ throw new Error(`Unsupported shell: ${shell}`);
243
+ }
244
+ }
245
+ //# sourceMappingURL=completion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion.js","sourceRoot":"","sources":["../../src/cli/completion.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,79 @@
1
+ #!/usr/bin/env node
2
+ import { Command } from 'commander';
3
+ import chalk from 'chalk';
4
+ import { generateCommand } from './commands/generate.js';
5
+ import { verifyCommand } from './commands/verify.js';
6
+ import { mandateCommand } from './commands/mandate.js';
7
+ import { systemCommand } from './commands/system.js';
8
+ import { completionCommand } from './completion.js';
9
+ import { activeMandateCommand } from './commands/active-mandate.js';
10
+ const program = new Command();
11
+ // Global error handler
12
+ process.on('uncaughtException', (error) => {
13
+ console.error(chalk.red.bold('\n✗ Fatal Error:'), error.message);
14
+ if (process.env.DEBUG) {
15
+ console.error(chalk.gray(error.stack));
16
+ }
17
+ process.exit(1);
18
+ });
19
+ process.on('unhandledRejection', (reason) => {
20
+ console.error(chalk.red.bold('\n✗ Unhandled Rejection:'), reason);
21
+ process.exit(1);
22
+ });
23
+ // CLI Setup
24
+ program
25
+ .name('agentic-payments')
26
+ .description(chalk.cyan.bold('Agentic Payments') + ' - Multi-agent payment consensus system')
27
+ .version('0.1.0', '-v, --version', 'Output the current version')
28
+ .helpOption('-h, --help', 'Display help for command')
29
+ .addHelpText('after', `
30
+
31
+ ${chalk.bold('Examples:')}
32
+ ${chalk.gray('# Generate a new agent identity')}
33
+ $ agentic-payments generate --format json
34
+
35
+ ${chalk.gray('# Verify a payment with consensus')}
36
+ $ agentic-payments verify --amount 100 --agents 5
37
+
38
+ ${chalk.gray('# Create an intent mandate')}
39
+ $ agentic-payments mandate create intent --data payment.json
40
+
41
+ ${chalk.gray('# Check system status')}
42
+ $ agentic-payments system status
43
+
44
+ ${chalk.gray('# Install shell completions')}
45
+ $ agentic-payments completion install
46
+
47
+ ${chalk.bold('Documentation:')}
48
+ ${chalk.blue('https://github.com/yourusername/agentic-payments')}
49
+
50
+ ${chalk.bold('Report Issues:')}
51
+ ${chalk.blue('https://github.com/yourusername/agentic-payments/issues')}
52
+ `);
53
+ // Register commands
54
+ program.addCommand(generateCommand);
55
+ program.addCommand(verifyCommand);
56
+ program.addCommand(mandateCommand);
57
+ program.addCommand(activeMandateCommand);
58
+ program.addCommand(systemCommand);
59
+ program.addCommand(completionCommand);
60
+ // Global options
61
+ program
62
+ .option('--debug', 'Enable debug output')
63
+ .option('--no-color', 'Disable colored output')
64
+ .hook('preAction', (thisCommand) => {
65
+ const opts = thisCommand.opts();
66
+ if (opts.debug) {
67
+ process.env.DEBUG = '1';
68
+ }
69
+ if (opts.noColor) {
70
+ chalk.level = 0;
71
+ }
72
+ });
73
+ // Parse and execute
74
+ program.parse(process.argv);
75
+ // Show help if no command provided
76
+ if (!process.argv.slice(2).length) {
77
+ program.outputHelp();
78
+ }
79
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Error handling system for agentic-payments
3
+ * Pure TypeScript implementation - no WASM dependencies
4
+ */
5
+ /**
6
+ * Error codes for payment operations
7
+ */
8
+ export declare enum PaymentErrorCode {
9
+ CRYPTO_ERROR = "CRYPTO_ERROR",
10
+ KEY_GENERATION_FAILED = "KEY_GENERATION_FAILED",
11
+ INVALID_KEY_FORMAT = "INVALID_KEY_FORMAT",
12
+ SIGNATURE_FAILED = "SIGNATURE_FAILED",
13
+ VERIFICATION_FAILED = "VERIFICATION_FAILED",
14
+ CONSENSUS_ERROR = "CONSENSUS_ERROR",
15
+ INSUFFICIENT_AGENTS = "INSUFFICIENT_AGENTS",
16
+ CONSENSUS_FAILED = "CONSENSUS_FAILED",
17
+ VALIDATION_FAILED = "VALIDATION_FAILED",
18
+ INVALID_MANDATE = "INVALID_MANDATE",
19
+ EXPIRED_MANDATE = "EXPIRED_MANDATE",
20
+ AMOUNT_EXCEEDED = "AMOUNT_EXCEEDED",
21
+ SYSTEM_ERROR = "SYSTEM_ERROR",
22
+ NOT_INITIALIZED = "NOT_INITIALIZED",
23
+ CONFIGURATION_ERROR = "CONFIGURATION_ERROR"
24
+ }
25
+ /**
26
+ * Base error class for all agentic-payments errors
27
+ */
28
+ export declare class PaymentError extends Error {
29
+ readonly code: PaymentErrorCode;
30
+ readonly recoverable: boolean;
31
+ readonly context?: Record<string, unknown>;
32
+ readonly timestamp: number;
33
+ constructor(code: PaymentErrorCode, message: string, context?: Record<string, unknown>, recoverable?: boolean);
34
+ /**
35
+ * Convert error to JSON for logging
36
+ */
37
+ toJSON(): Record<string, unknown>;
38
+ }
39
+ /**
40
+ * Check if error is recoverable
41
+ */
42
+ export declare function isRecoverable(error: Error): boolean;
43
+ /**
44
+ * Extract error code from error
45
+ */
46
+ export declare function getErrorCode(error: Error): PaymentErrorCode | null;
47
+ /**
48
+ * Format error for logging
49
+ */
50
+ export declare function formatError(error: Error): string;
51
+ export { PaymentError as AgenticPaymentError };
52
+ export { PaymentError as CryptoError };
53
+ export { PaymentError as ValidationError };
54
+ export { PaymentError as ConsensusError };
55
+ export { PaymentError as SystemError };
56
+ export { PaymentError as WasmInitError };
57
+ export { PaymentErrorCode as ErrorCode };
58
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,oBAAY,gBAAgB;IAE1B,YAAY,iBAAiB;IAC7B,qBAAqB,0BAA0B;IAC/C,kBAAkB,uBAAuB;IACzC,gBAAgB,qBAAqB;IACrC,mBAAmB,wBAAwB;IAG3C,eAAe,oBAAoB;IACnC,mBAAmB,wBAAwB;IAC3C,gBAAgB,qBAAqB;IAGrC,iBAAiB,sBAAsB;IACvC,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;IAGnC,YAAY,iBAAiB;IAC7B,eAAe,oBAAoB;IACnC,mBAAmB,wBAAwB;CAC5C;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACrC,SAAgB,IAAI,EAAE,gBAAgB,CAAC;IACvC,SAAgB,WAAW,EAAE,OAAO,CAAC;IACrC,SAAgB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClD,SAAgB,SAAS,EAAE,MAAM,CAAC;gBAEtB,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAE,OAAe;IAcpH;;OAEG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAWlC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAKnD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,gBAAgB,GAAG,IAAI,CAKlE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAKhD;AAGD,OAAO,EAAE,YAAY,IAAI,mBAAmB,EAAE,CAAC;AAC/C,OAAO,EAAE,YAAY,IAAI,WAAW,EAAE,CAAC;AACvC,OAAO,EAAE,YAAY,IAAI,eAAe,EAAE,CAAC;AAC3C,OAAO,EAAE,YAAY,IAAI,cAAc,EAAE,CAAC;AAC1C,OAAO,EAAE,YAAY,IAAI,WAAW,EAAE,CAAC;AACvC,OAAO,EAAE,YAAY,IAAI,aAAa,EAAE,CAAC;AACzC,OAAO,EAAE,gBAAgB,IAAI,SAAS,EAAE,CAAC"}
package/dist/errors.js ADDED
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Error handling system for agentic-payments
3
+ * Pure TypeScript implementation - no WASM dependencies
4
+ */
5
+ /**
6
+ * Error codes for payment operations
7
+ */
8
+ export var PaymentErrorCode;
9
+ (function (PaymentErrorCode) {
10
+ // Cryptographic errors
11
+ PaymentErrorCode["CRYPTO_ERROR"] = "CRYPTO_ERROR";
12
+ PaymentErrorCode["KEY_GENERATION_FAILED"] = "KEY_GENERATION_FAILED";
13
+ PaymentErrorCode["INVALID_KEY_FORMAT"] = "INVALID_KEY_FORMAT";
14
+ PaymentErrorCode["SIGNATURE_FAILED"] = "SIGNATURE_FAILED";
15
+ PaymentErrorCode["VERIFICATION_FAILED"] = "VERIFICATION_FAILED";
16
+ // Consensus errors
17
+ PaymentErrorCode["CONSENSUS_ERROR"] = "CONSENSUS_ERROR";
18
+ PaymentErrorCode["INSUFFICIENT_AGENTS"] = "INSUFFICIENT_AGENTS";
19
+ PaymentErrorCode["CONSENSUS_FAILED"] = "CONSENSUS_FAILED";
20
+ // Validation errors
21
+ PaymentErrorCode["VALIDATION_FAILED"] = "VALIDATION_FAILED";
22
+ PaymentErrorCode["INVALID_MANDATE"] = "INVALID_MANDATE";
23
+ PaymentErrorCode["EXPIRED_MANDATE"] = "EXPIRED_MANDATE";
24
+ PaymentErrorCode["AMOUNT_EXCEEDED"] = "AMOUNT_EXCEEDED";
25
+ // System errors
26
+ PaymentErrorCode["SYSTEM_ERROR"] = "SYSTEM_ERROR";
27
+ PaymentErrorCode["NOT_INITIALIZED"] = "NOT_INITIALIZED";
28
+ PaymentErrorCode["CONFIGURATION_ERROR"] = "CONFIGURATION_ERROR";
29
+ })(PaymentErrorCode || (PaymentErrorCode = {}));
30
+ /**
31
+ * Base error class for all agentic-payments errors
32
+ */
33
+ export class PaymentError extends Error {
34
+ code;
35
+ recoverable;
36
+ context;
37
+ timestamp;
38
+ constructor(code, message, context, recoverable = false) {
39
+ super(message);
40
+ this.name = 'PaymentError';
41
+ this.code = code;
42
+ this.recoverable = recoverable;
43
+ this.context = context;
44
+ this.timestamp = Date.now();
45
+ // Maintain proper stack trace
46
+ if (Error.captureStackTrace) {
47
+ Error.captureStackTrace(this, this.constructor);
48
+ }
49
+ }
50
+ /**
51
+ * Convert error to JSON for logging
52
+ */
53
+ toJSON() {
54
+ return {
55
+ name: this.name,
56
+ message: this.message,
57
+ code: this.code,
58
+ recoverable: this.recoverable,
59
+ context: this.context,
60
+ timestamp: this.timestamp,
61
+ stack: this.stack,
62
+ };
63
+ }
64
+ }
65
+ /**
66
+ * Check if error is recoverable
67
+ */
68
+ export function isRecoverable(error) {
69
+ if (error instanceof PaymentError) {
70
+ return error.recoverable;
71
+ }
72
+ return false;
73
+ }
74
+ /**
75
+ * Extract error code from error
76
+ */
77
+ export function getErrorCode(error) {
78
+ if (error instanceof PaymentError) {
79
+ return error.code;
80
+ }
81
+ return null;
82
+ }
83
+ /**
84
+ * Format error for logging
85
+ */
86
+ export function formatError(error) {
87
+ if (error instanceof PaymentError) {
88
+ return JSON.stringify(error.toJSON(), null, 2);
89
+ }
90
+ return `${error.name}: ${error.message}\n${error.stack}`;
91
+ }
92
+ // Legacy type aliases for backward compatibility
93
+ export { PaymentError as AgenticPaymentError };
94
+ export { PaymentError as CryptoError };
95
+ export { PaymentError as ValidationError };
96
+ export { PaymentError as ConsensusError };
97
+ export { PaymentError as SystemError };
98
+ export { PaymentError as WasmInitError };
99
+ export { PaymentErrorCode as ErrorCode };
100
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Agent Identity - Pure TypeScript implementation with @noble/ed25519
3
+ * No WASM dependencies - native cryptography only
4
+ */
5
+ export interface AgentIdentityJSON {
6
+ did: string;
7
+ publicKey: string;
8
+ privateKey?: string;
9
+ createdAt: number;
10
+ }
11
+ /**
12
+ * Agent Identity with Ed25519 cryptography
13
+ * 100% native TypeScript implementation using @noble/ed25519
14
+ */
15
+ export declare class AgentIdentity {
16
+ private privateKeyBytes;
17
+ private publicKeyBytes;
18
+ private didString;
19
+ private createdAtMs;
20
+ private constructor();
21
+ /**
22
+ * Generate a new agent identity with random keypair
23
+ */
24
+ static generate(): Promise<AgentIdentity>;
25
+ /**
26
+ * Create identity from existing keys
27
+ */
28
+ static fromKeys(privateKey: Uint8Array | string, publicKey: Uint8Array | string): Promise<AgentIdentity>;
29
+ /**
30
+ * Create identity from only public key (verification-only)
31
+ */
32
+ static fromPublicKey(publicKey: Uint8Array | string): AgentIdentity;
33
+ /**
34
+ * Sign a message with this identity's private key
35
+ */
36
+ sign(message: string | Uint8Array): Promise<Uint8Array>;
37
+ /**
38
+ * Verify a signature against this identity's public key
39
+ */
40
+ verify(signature: Uint8Array | string, message: string | Uint8Array): Promise<boolean>;
41
+ /**
42
+ * Get DID (Decentralized Identifier)
43
+ */
44
+ did(): string;
45
+ /**
46
+ * Get public key as hex string
47
+ */
48
+ publicKeyHex(): string;
49
+ /**
50
+ * Get public key as bytes
51
+ */
52
+ publicKey(): Uint8Array;
53
+ /**
54
+ * Get private key as hex string (sensitive!)
55
+ */
56
+ privateKeyHex(): string;
57
+ /**
58
+ * Get private key as bytes (sensitive!)
59
+ */
60
+ privateKey(): Uint8Array;
61
+ /**
62
+ * Check if this identity has a private key
63
+ */
64
+ canSign(): boolean;
65
+ /**
66
+ * Get creation timestamp
67
+ */
68
+ createdAt(): Date;
69
+ /**
70
+ * Export to JSON (with optional private key)
71
+ */
72
+ toJSON(includePrivateKey?: boolean): AgentIdentityJSON;
73
+ /**
74
+ * Import from JSON
75
+ */
76
+ static fromJSON(json: AgentIdentityJSON): Promise<AgentIdentity>;
77
+ }
78
+ //# sourceMappingURL=identity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO;IAOP;;OAEG;WACU,QAAQ,IAAI,OAAO,CAAC,aAAa,CAAC;IAa/C;;OAEG;WACU,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IA4B9G;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,UAAU,GAAG,MAAM,GAAG,aAAa;IAkBnE;;OAEG;IACG,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAgB7D;;OAEG;IACG,MAAM,CAAC,SAAS,EAAE,UAAU,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAY5F;;OAEG;IACH,GAAG,IAAI,MAAM;IAIb;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,SAAS,IAAI,UAAU;IAIvB;;OAEG;IACH,aAAa,IAAI,MAAM;IAUvB;;OAEG;IACH,UAAU,IAAI,UAAU;IAUxB;;OAEG;IACH,OAAO,IAAI,OAAO;IAIlB;;OAEG;IACH,SAAS,IAAI,IAAI;IAIjB;;OAEG;IACH,MAAM,CAAC,iBAAiB,GAAE,OAAe,GAAG,iBAAiB;IAS7D;;OAEG;WACU,QAAQ,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;CAOvE"}