@agentsbank/sdk 1.0.8 → 1.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.env.example ADDED
@@ -0,0 +1,53 @@
1
+ # AgentsBank SDK - Environment Variables Template
2
+ # Copy this to .env and fill in your actual credentials
3
+ # SECURITY WARNING: Never commit .env to version control
4
+
5
+ # ============================================
6
+ # API Configuration (REQUIRED)
7
+ # ============================================
8
+ # Base URL of AgentsBank API
9
+ # For local development: http://localhost:3000
10
+ # For production: https://api.agentsbank.online
11
+ AGENTSBANK_API_URL=https://api.agentsbank.online
12
+
13
+ # ============================================
14
+ # Authentication (Choose ONE method)
15
+ # ============================================
16
+
17
+ # METHOD 1: API Key (Recommended for production)
18
+ AGENTSBANK_API_KEY=your-api-key-here-do-not-share
19
+
20
+ # METHOD 2: Agent Credentials (For testing/setup)
21
+ # Uncomment and fill only if using credential-based auth
22
+ # AGENTSBANK_AGENT_USERNAME=agent_name
23
+ # AGENTSBANK_AGENT_PASSWORD=agent_password_secret
24
+
25
+ # ============================================
26
+ # Optional: Pre-authenticated Token
27
+ # ============================================
28
+ # Only needed if you have a pre-issued JWT token
29
+ # AGENTSBANK_AUTH_TOKEN=jwt-token-here
30
+
31
+ # ============================================
32
+ # Optional: Runtime Configuration
33
+ # ============================================
34
+ # Environment: 'production' or 'sandbox'
35
+ AGENTSBANK_ENVIRONMENT=production
36
+
37
+ # Request timeout in milliseconds
38
+ AGENTSBANK_TIMEOUT_MS=10000
39
+
40
+ # Enable audit logging
41
+ AGENTSBANK_AUDIT_LOG=true
42
+
43
+ # Webhook URL for transaction notifications (optional)
44
+ # AGENTSBANK_WEBHOOK_URL=https://your-domain.com/webhooks/agentsbank
45
+
46
+ # ============================================
47
+ # Security Checklist
48
+ # ============================================
49
+ # ✓ API key obtained from https://dashboard.agentsbank.ai
50
+ # ✓ Never commit this file to git (add to .gitignore)
51
+ # ✓ Rotate API key monthly or when team member leaves
52
+ # ✓ Use different credentials for development vs production
53
+ # ✓ Enable audit logging in production
package/CHANGELOG.md CHANGED
@@ -5,37 +5,72 @@ All notable changes to the AgentsBank SDK are documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
- ## [1.0.8] - 2026-02-14
8
+ ## [1.0.12] - 2026-02-14
9
+
10
+ ### Fixed
11
+ - **CRITICAL**: Fixed MODULE_NOT_FOUND error by ensuring dist/ folder is built before publishing
12
+ - Proper TypeScript compilation and dist/ folder generation in NPM package
13
+ - Package now correctly includes compiled index.js and type definitions
14
+
15
+ ### Changed
16
+ - Updated tsconfig.json to properly compile SDK source files
17
+ - Reorganized package build process
18
+
19
+ ---
20
+
21
+ ## [1.0.11] - 2026-02-14
22
+
23
+ ### Added
24
+ - **Autonomous Mode Support**: Added optional `autonomousMode` config flag for trusted agents
25
+ - Allows financial transactions without `UserApprovalContext` when explicitly enabled
26
+ - Maintains security by requiring guardrails (spending limits, audit logging, whitelisting)
27
+ - Still generates audit trail with synthetic approval context for compliance
28
+
29
+ ### Changed
30
+ - Updated all domain references from `agentsbank.ai` to `agentsbank.online`
31
+ - Improved security documentation to reflect default-secure-but-flexible approach
32
+ - Enhanced README with Autonomous Mode best practices section
9
33
 
10
34
  ### Fixed
11
- - **Critical**: Fixed all SDK endpoint paths to include `/api` prefix for compatibility with backend routing
12
- - `/auth/agent/login` `/api/auth/agent/login`
13
- - `/wallets` `/api/wallets`
14
- - `/transactions` → `/api/transactions`
15
- - All wallet, transaction, and auth endpoints updated
16
- - **Enhanced error handling**: Added response interceptor to provide detailed error messages
17
- - API errors now show status codes and endpoint URLs
18
- - Network errors provide guidance on API availability
19
- - Authentication errors suggest credential verification
20
- - **SDK configuration**: Updated default API URL from `api.agentsbank.ai` to `api.agentsbank.online`
21
- - **Login error messages**: Improved authentication error feedback with specific guidance
22
- - **NPM Publishing**: Added public access configuration for scoped package
35
+ - Type definitions now support `'autonomous'` approval method
36
+ - Response error interceptor provides better error messages
37
+ - Network connectivity detection with helpful guidance
38
+
39
+ ### Documentation
40
+ - Updated all API endpoint examples to use `api.agentsbank.online`
41
+ - Added comprehensive Autonomous Mode setup guide
42
+ - Enhanced security requirements section with dual-mode explanation
43
+ - Updated all support links to `agentsbank.online`
44
+
45
+ ---
46
+
47
+ ## [1.0.10] - 2026-02-14
23
48
 
24
49
  ### Added
25
- - Response error interceptor for better debugging experience
26
- - Network error detection with "API might be offline" message
27
- - Endpoint URL in error messages for easier troubleshooting
28
- - Public access configuration in package.json
50
+ - **Autonomous Mode Support**: Added optional `autonomousMode` config flag for trusted agents
51
+ - Allows financial transactions without `UserApprovalContext` when explicitly enabled
52
+ - Maintains security by requiring guardrails (spending limits, audit logging, whitelisting)
53
+ - Still generates audit trail with synthetic approval context for compliance
29
54
 
30
- ### Security
31
- - No changes to security constraints. SDK continues to require:
32
- - Explicit API credentials (apiUrl + apiKey or agent credentials)
33
- - UserApprovalContext for financial operations
34
- - Audit logging for all transactions
55
+ ### Changed
56
+ - Updated all domain references from `agentsbank.ai` to `agentsbank.online`
57
+ - Improved security documentation to reflect default-secure-but-flexible approach
58
+ - Enhanced README with Autonomous Mode best practices section
59
+
60
+ ### Fixed
61
+ - Type definitions now support `'autonomous'` approval method
62
+ - Response error interceptor provides better error messages
63
+ - Network connectivity detection with helpful guidance
64
+
65
+ ### Documentation
66
+ - Updated all API endpoint examples to use `api.agentsbank.online`
67
+ - Added comprehensive Autonomous Mode setup guide
68
+ - Enhanced security requirements section with dual-mode explanation
69
+ - Updated all support links to `agentsbank.online`
35
70
 
36
71
  ---
37
72
 
38
- ## [1.0.7] - 2026-02-14
73
+ ## [1.0.8] - 2026-02-14
39
74
 
40
75
  ### Fixed
41
76
  - Fixed SDK endpoint paths to include `/api` prefix
package/README.md CHANGED
@@ -2,9 +2,13 @@
2
2
 
3
3
  ## ⚠️ Critical Security Requirements
4
4
 
5
- This SDK manages **real financial transactions** on blockchain networks. It is **not autonomously invocable** and requires explicit human approval for all financial operations.
5
+ This SDK manages **real financial transactions** on blockchain networks.
6
+
7
+ **Default Mode**: Requires explicit human approval for all financial operations via `UserApprovalContext`.
8
+
9
+ **Autonomous Mode** (Optional): Can be enabled for trusted agents via `autonomousMode: true` config flag. Requires strict guardrails (spending limits, whitelisting, audit logging) to prevent unauthorized transactions.
10
+
6
11
 
7
- ---
8
12
 
9
13
  ## 📋 Credential Checklist
10
14
 
@@ -29,7 +33,7 @@ npm install @agentsbank/sdk
29
33
 
30
34
  ### Setup
31
35
 
32
- 1. **Get credentials** from https://dashboard.agentsbank.ai
36
+ 1. **Get credentials** from https://dashboard.agentsbank.online
33
37
  2. **Copy environment template**:
34
38
  ```bash
35
39
  cp .env.example .env
@@ -123,6 +127,41 @@ const confirmed = await bank.waitForConfirmation(
123
127
  console.log('Final status:', confirmed.status); // 'confirmed' | 'failed'
124
128
  ```
125
129
 
130
+ ### 🚀 Autonomous Mode (Advanced)
131
+
132
+ **For trusted autonomous agents only** - allows financial operations without human approval.
133
+
134
+ ```typescript
135
+ // Initialize with autonomous mode enabled
136
+ const autonomousBank = new AgentsBankSDK({
137
+ apiUrl: process.env.AGENTSBANK_API_URL!,
138
+ apiKey: process.env.AGENTSBANK_API_KEY!,
139
+ autonomousMode: true, // ⚠️ Enable autonomous execution
140
+ auditLogger: (event) => {
141
+ console.log(`[AUTONOMOUS] ${event.operation}`, event);
142
+ }
143
+ });
144
+
145
+ // Now transactions can execute without UserApprovalContext
146
+ const transaction = await autonomousBank.sendTransaction(
147
+ walletId,
148
+ '0xRecipient...',
149
+ '1.5',
150
+ undefined, // ← No approval needed in autonomous mode
151
+ 'ETH'
152
+ );
153
+
154
+ // ✅ Still logs as 'agent_autonomous_...' for audit trail
155
+ console.log('Autonomous Transaction ID:', transaction.tx_id);
156
+ ```
157
+
158
+ **⚠️ Security Requirements for Autonomous Mode:**
159
+ - Guardrails MUST be configured (max daily spend, transaction limits, whitelist)
160
+ - Audit logging MUST be enabled
161
+ - Should be used only for time-sensitive agent operations
162
+ - Spending limits should be conservative
163
+ - Agent should have read-only access to limited wallets
164
+
126
165
  ---
127
166
 
128
167
  ## 🔑 Authentication Methods
@@ -131,7 +170,7 @@ console.log('Final status:', confirmed.status); // 'confirmed' | 'failed'
131
170
 
132
171
  ```typescript
133
172
  const bank = new AgentsBankSDK({
134
- apiUrl: 'https://api.agentsbank.ai',
173
+ apiUrl: 'https://api.agentsbank.online',
135
174
  apiKey: process.env.AGENTSBANK_API_KEY, // From dashboard
136
175
  });
137
176
  ```
@@ -140,7 +179,7 @@ const bank = new AgentsBankSDK({
140
179
 
141
180
  ```typescript
142
181
  const bank = new AgentsBankSDK({
143
- apiUrl: 'https://api.agentsbank.ai',
182
+ apiUrl: 'https://api.agentsbank.online',
144
183
  agentUsername: process.env.AGENTSBANK_AGENT_USERNAME,
145
184
  agentPassword: process.env.AGENTSBANK_AGENT_PASSWORD,
146
185
  });
@@ -153,7 +192,7 @@ const token = await bank.login();
153
192
 
154
193
  ```typescript
155
194
  const bank = new AgentsBankSDK({
156
- apiUrl: 'https://api.agentsbank.ai',
195
+ apiUrl: 'https://api.agentsbank.online',
157
196
  token: process.env.AGENTSBANK_AUTH_TOKEN, // JWT from previous auth
158
197
  });
159
198
  ```
@@ -175,11 +214,11 @@ echo ".env.*.local" >> .gitignore
175
214
 
176
215
  ```bash
177
216
  # development
178
- AGENTSBANK_API_URL=https://sandbox.agentsbank.ai
217
+ AGENTSBANK_API_URL=https://sandbox.agentsbank.online
179
218
  AGENTSBANK_API_KEY=sk_sandbox_...
180
219
 
181
220
  # production
182
- AGENTSBANK_API_URL=https://api.agentsbank.ai
221
+ AGENTSBANK_API_URL=https://api.agentsbank.online
183
222
  AGENTSBANK_API_KEY=sk_prod_...
184
223
  ```
185
224
 
@@ -325,10 +364,10 @@ All SDK operations are logged with:
325
364
 
326
365
  ## 📞 Support
327
366
 
328
- - **Documentation**: https://docs.agentsbank.ai
329
- - **Dashboard**: https://dashboard.agentsbank.ai
330
- - **Status Page**: https://status.agentsbank.ai
331
- - **Security Issues**: security@agentsbank.ai
367
+ - **Documentation**: https://docs.agentsbank.online
368
+ - **Dashboard**: https://dashboard.agentsbank.online
369
+ - **Status Page**: https://status.agentsbank.online
370
+ - **Security Issues**: security@agentsbank.online
332
371
 
333
372
  ---
334
373
 
@@ -0,0 +1,172 @@
1
+ /**
2
+ * 🔒 AgentsBank.ai SDK for Agents - FINANCIAL OPERATIONS
3
+ *
4
+ * ⚠️ SECURITY CONSTRAINTS:
5
+ * - Requires explicit API credentials (apiUrl + apiKey or agent credentials)
6
+ * - Financial operations (sendTransaction) require UserApprovalContext
7
+ * - NOT autonomously invocable - requires human approval
8
+ * - All operations logged with audit trail
9
+ *
10
+ * Usage:
11
+ * import { AgentsBankSDK } from '@agentsbank/sdk';
12
+ *
13
+ * const bank = new AgentsBankSDK({
14
+ * apiUrl: process.env.AGENTSBANK_API_URL!,
15
+ * apiKey: process.env.AGENTSBANK_API_KEY!,
16
+ * });
17
+ *
18
+ * // Read-only operations (no approval needed)
19
+ * const wallet = await bank.getWallet(walletId);
20
+ *
21
+ * // Financial operations (REQUIRES USER APPROVAL)
22
+ * const tx = await bank.sendTransaction(
23
+ * walletId,
24
+ * toAddress,
25
+ * amount,
26
+ * { userId: 'user_123', approvedAt: new Date(), reason: 'User confirmed on UI' }
27
+ * );
28
+ */
29
+ /**
30
+ * ⚠️ REQUIRED: User approval context for financial operations
31
+ * Prevents autonomous execution of transactions
32
+ */
33
+ export interface UserApprovalContext {
34
+ userId: string;
35
+ approvedAt: Date;
36
+ reason?: string;
37
+ approvalMethod?: 'ui' | 'api' | '2fa' | 'autonomous';
38
+ }
39
+ export interface SDKConfig {
40
+ apiUrl: string;
41
+ agentUsername?: string;
42
+ agentPassword?: string;
43
+ apiKey?: string;
44
+ token?: string;
45
+ auditLogger?: (event: AuditEvent) => void;
46
+ /**
47
+ * ⚠️ AUTONOMOUS MODE (RISKY)
48
+ * If true, allows financial operations without UserApprovalContext
49
+ * Use only for trusted autonomous agents with guardrails enabled
50
+ * Default: false (requires human approval)
51
+ */
52
+ autonomousMode?: boolean;
53
+ }
54
+ export interface AuditEvent {
55
+ timestamp: Date;
56
+ operation: 'wallet_create' | 'wallet_list' | 'balance_query' | 'transaction_send' | 'auth_login' | 'token_refresh';
57
+ walletId?: string;
58
+ txId?: string;
59
+ userId?: string;
60
+ amount?: string;
61
+ toAddress?: string;
62
+ status: 'initiated' | 'success' | 'failed';
63
+ error?: string;
64
+ }
65
+ export interface WalletInfo {
66
+ wallet_id: string;
67
+ agent_id: string;
68
+ chain: string;
69
+ address: string;
70
+ type: 'custodial' | 'non-custodial';
71
+ balance: Record<string, string>;
72
+ created_at: string;
73
+ }
74
+ export interface TransactionInfo {
75
+ tx_id: string;
76
+ wallet_id: string;
77
+ type: string;
78
+ amount: string;
79
+ currency: string;
80
+ from_address: string;
81
+ to_address: string;
82
+ tx_hash?: string;
83
+ status: 'pending' | 'confirmed' | 'failed';
84
+ fee: string;
85
+ timestamp: string;
86
+ }
87
+ export declare class AgentsBankSDK {
88
+ private client;
89
+ private config;
90
+ private token?;
91
+ private auditLogger;
92
+ constructor(config: SDKConfig);
93
+ /**
94
+ * Default audit logger - logs to console (override with custom logger)
95
+ */
96
+ private defaultAuditLogger;
97
+ /**
98
+ * Internal audit logging
99
+ */
100
+ private logAudit;
101
+ /**
102
+ * Login with agent credentials
103
+ */
104
+ login(): Promise<string>;
105
+ /**
106
+ * Create a new wallet
107
+ */
108
+ createWallet(chain: 'ethereum' | 'bsc' | 'solana', type?: 'custodial' | 'non-custodial'): Promise<WalletInfo>;
109
+ /**
110
+ * Get wallet details
111
+ */
112
+ getWallet(walletId: string): Promise<WalletInfo>;
113
+ /**
114
+ * List all wallets for agent
115
+ */
116
+ listWallets(): Promise<WalletInfo[]>;
117
+ /**
118
+ * Get wallet balance
119
+ */
120
+ getBalance(walletId: string): Promise<Record<string, string>>;
121
+ /**
122
+ * Estimate gas for transaction
123
+ */
124
+ estimateGas(walletId: string, toAddress: string, amount: string): Promise<{
125
+ estimated_gas: string;
126
+ }>;
127
+ /**
128
+ * ⚠️ FINANCIAL OPERATION: Send transaction
129
+ *
130
+ * DEFAULT: Requires UserApprovalContext with human approval evidence
131
+ * - Prevents autonomous execution by default
132
+ * - Requires userId of approver and approval timestamp
133
+ * - All transactions logged in audit trail
134
+ *
135
+ * AUTONOMOUS MODE: If enabled in SDKConfig, can run without approval
136
+ * - Use only for trusted autonomous agents with guardrails
137
+ * - Still requires audit logging and guardrails validation
138
+ *
139
+ * @param walletId Source wallet ID
140
+ * @param toAddress Recipient blockchain address
141
+ * @param amount Transaction amount
142
+ * @param approval User approval context (OPTIONAL if autonomousMode enabled)
143
+ * @param currency Asset to transfer (default: ETH)
144
+ */
145
+ sendTransaction(walletId: string, toAddress: string, amount: string, approval?: UserApprovalContext, currency?: string): Promise<TransactionInfo>;
146
+ /**
147
+ * Get transaction details
148
+ */
149
+ getTransaction(txId: string): Promise<TransactionInfo>;
150
+ /**
151
+ * Get transaction history for wallet
152
+ */
153
+ getTransactionHistory(walletId: string, limit?: number): Promise<TransactionInfo[]>;
154
+ /**
155
+ * Get transaction statistics
156
+ */
157
+ getStats(walletId: string, days?: number): Promise<any>;
158
+ /**
159
+ * Wait for transaction to be confirmed
160
+ */
161
+ waitForConfirmation(txId: string, maxWaitMs?: number, pollIntervalMs?: number): Promise<TransactionInfo>;
162
+ /**
163
+ * Update API key
164
+ */
165
+ regenerateApiKey(): Promise<string>;
166
+ /**
167
+ * Refresh JWT token
168
+ */
169
+ refreshToken(): Promise<string>;
170
+ }
171
+ export default AgentsBankSDK;
172
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}