@mnemopay/sdk 1.0.0-beta.1 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +222 -158
- package/dist/anomaly.d.ts +2 -0
- package/dist/anomaly.d.ts.map +1 -1
- package/dist/anomaly.js +25 -1
- package/dist/anomaly.js.map +1 -1
- package/dist/behavioral.d.ts.map +1 -1
- package/dist/behavioral.js +10 -0
- package/dist/behavioral.js.map +1 -1
- package/dist/integrity.d.ts +2 -0
- package/dist/integrity.d.ts.map +1 -1
- package/dist/integrity.js +6 -0
- package/dist/integrity.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +154 -2
- package/dist/mcp/server.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,140 +1,267 @@
|
|
|
1
1
|
# MnemoPay
|
|
2
2
|
|
|
3
|
-
**
|
|
3
|
+
**The credit bureau for AI agents.** Memory + Payments + Identity + Agent FICO + Behavioral Finance in one SDK.
|
|
4
4
|
|
|
5
|
-
Your agent
|
|
5
|
+
Your agent builds a credit score, detects fraud in real time, makes psychologically sound financial decisions, and proves its memory hasn't been tampered with. All on top of persistent memory, real payment rails, and a double-entry ledger that never drifts by a penny.
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
8
|
npm install @mnemopay/sdk
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
```ts
|
|
12
|
-
import MnemoPay from "@mnemopay/sdk";
|
|
12
|
+
import MnemoPay, { AgentFICO, BehavioralEngine, MerkleTree } from "@mnemopay/sdk";
|
|
13
13
|
|
|
14
14
|
const agent = MnemoPay.quick("my-agent");
|
|
15
15
|
|
|
16
16
|
await agent.remember("User prefers monthly billing");
|
|
17
17
|
const tx = await agent.charge(25, "Monthly API access");
|
|
18
18
|
await agent.settle(tx.id);
|
|
19
|
-
|
|
19
|
+
|
|
20
|
+
// Score the agent (300-850, like human FICO)
|
|
21
|
+
const fico = new AgentFICO();
|
|
22
|
+
const score = fico.compute({ transactions: [tx], createdAt: new Date(), ...});
|
|
23
|
+
// → { score: 672, rating: "good", feeRate: 0.015, trustLevel: "standard" }
|
|
20
24
|
```
|
|
21
25
|
|
|
22
|
-
|
|
26
|
+
14 modules. Zero vulnerabilities. Production-ready. MIT licensed.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## What Makes MnemoPay Different
|
|
31
|
+
|
|
32
|
+
$87M has been invested across 5 competitors. None have more than 3 of these 10 features:
|
|
33
|
+
|
|
34
|
+
| Feature | MnemoPay | Mem0 ($24M) | Skyfire ($9.5M) | Kite ($33M) | Payman ($14M) |
|
|
35
|
+
|---|:---:|:---:|:---:|:---:|:---:|
|
|
36
|
+
| Persistent Memory | **Yes** | Yes | No | No | No |
|
|
37
|
+
| Payment Rails (3) | **Yes** | No | USDC only | Stablecoin | Bank only |
|
|
38
|
+
| Agent Identity (KYA) | **Yes** | No | Building | Passport | No |
|
|
39
|
+
| **Agent FICO (300-850)** | **Yes** | No | No | No | No |
|
|
40
|
+
| **Behavioral Finance** | **Yes** | No | No | No | No |
|
|
41
|
+
| **Memory Integrity (Merkle)** | **Yes** | No | No | No | No |
|
|
42
|
+
| **EWMA Anomaly Detection** | **Yes** | No | No | No | No |
|
|
43
|
+
| Double-Entry Ledger | **Yes** | No | No | No | No |
|
|
44
|
+
| Autonomous Commerce | **Yes** | No | No | No | No |
|
|
45
|
+
| Multi-Agent Network | **Yes** | No | Partial | Partial | No |
|
|
46
|
+
| **Score** | **10/10** | 1/10 | 2/10 | 2/10 | 1/10 |
|
|
23
47
|
|
|
24
48
|
---
|
|
25
49
|
|
|
26
|
-
##
|
|
50
|
+
## Agent FICO — Credit Score for AI Agents
|
|
27
51
|
|
|
28
|
-
|
|
52
|
+
The first cross-session credit scoring system for AI agents. Mirrors human FICO (300-850 range) with five components:
|
|
29
53
|
|
|
30
|
-
|
|
54
|
+
```ts
|
|
55
|
+
import { AgentFICO } from "@mnemopay/sdk";
|
|
56
|
+
|
|
57
|
+
const fico = new AgentFICO();
|
|
58
|
+
const result = fico.compute({
|
|
59
|
+
transactions: await agent.history(1000),
|
|
60
|
+
createdAt: agentCreationDate,
|
|
61
|
+
fraudFlags: 0,
|
|
62
|
+
disputeCount: 0,
|
|
63
|
+
disputesLost: 0,
|
|
64
|
+
warnings: 0,
|
|
65
|
+
budgetCap: 5000,
|
|
66
|
+
memoriesCount: agent.memories.size,
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
console.log(result.score); // 742
|
|
70
|
+
console.log(result.rating); // "very_good"
|
|
71
|
+
console.log(result.feeRate); // 0.013 (1.3%)
|
|
72
|
+
console.log(result.trustLevel); // "high"
|
|
73
|
+
console.log(result.requiresHITL); // false
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
| Component | Weight | What It Measures |
|
|
31
77
|
|---|---|---|
|
|
32
|
-
|
|
|
33
|
-
|
|
|
34
|
-
|
|
|
35
|
-
|
|
|
36
|
-
|
|
|
37
|
-
|
|
38
|
-
|
|
|
78
|
+
| Payment History | 35% | Success rate, disputes, recency-weighted |
|
|
79
|
+
| Credit Utilization | 20% | Spend vs budget cap, sweet spot 10-30% |
|
|
80
|
+
| History Length | 15% | Account age, activity density |
|
|
81
|
+
| Behavior Diversity | 15% | Counterparties, categories, amount range |
|
|
82
|
+
| Fraud Record | 15% | Fraud flags, disputes lost, warnings |
|
|
83
|
+
|
|
84
|
+
| Score Range | Rating | Trust Level | Fee Rate |
|
|
85
|
+
|---|---|---|---|
|
|
86
|
+
| 800-850 | Exceptional | Full trust | 1.0% |
|
|
87
|
+
| 740-799 | Very Good | High trust | 1.3% |
|
|
88
|
+
| 670-739 | Good | Standard | 1.5% |
|
|
89
|
+
| 580-669 | Fair | Reduced | 1.9% |
|
|
90
|
+
| 300-579 | Poor | Minimal + HITL | 2.5% |
|
|
39
91
|
|
|
40
92
|
---
|
|
41
93
|
|
|
42
|
-
##
|
|
94
|
+
## Behavioral Finance Engine
|
|
95
|
+
|
|
96
|
+
Nobel Prize-winning behavioral economics, implemented. Every parameter from peer-reviewed research.
|
|
97
|
+
|
|
98
|
+
```ts
|
|
99
|
+
import { BehavioralEngine } from "@mnemopay/sdk";
|
|
100
|
+
|
|
101
|
+
const behavioral = new BehavioralEngine();
|
|
102
|
+
|
|
103
|
+
// Prospect Theory (Kahneman & Tversky, 1992)
|
|
104
|
+
// Losses hurt 2.25x more than gains feel good
|
|
105
|
+
behavioral.prospectValue(100); // { value: 57.5, domain: "gain" }
|
|
106
|
+
behavioral.prospectValue(-100); // { value: -129.5, domain: "loss" }
|
|
107
|
+
|
|
108
|
+
// Should the agent wait before buying?
|
|
109
|
+
const cooling = behavioral.coolingOff(2000, 5000); // amount, monthly income
|
|
110
|
+
// → { recommended: true, hours: 3.2, riskLevel: "high", regretProbability: 0.65 }
|
|
111
|
+
|
|
112
|
+
// Frame spending as goal delay (2.25x more effective than gain framing)
|
|
113
|
+
const frame = behavioral.lossFrame(200, {
|
|
114
|
+
name: "Emergency Fund", target: 10000, current: 3000, monthlySavings: 500
|
|
115
|
+
});
|
|
116
|
+
// → "This $200 purchase delays your Emergency Fund goal by 12 days."
|
|
117
|
+
|
|
118
|
+
// Save More Tomorrow (Thaler & Benartzi, 2004)
|
|
119
|
+
const smart = behavioral.commitmentDevice(0.035, 0.03, 4);
|
|
120
|
+
// → { finalRate: 0.095, explanation: "3.5% → 9.5% over 4 raise cycles" }
|
|
121
|
+
|
|
122
|
+
// Predict regret from purchase history
|
|
123
|
+
behavioral.recordRegret({ amount: 300, category: "gadgets", regretScore: 8, timestamp: "..." });
|
|
124
|
+
const prediction = behavioral.predictRegret(400, "gadgets");
|
|
125
|
+
// → { probability: 0.72, triggerCoolingOff: true }
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
**Research sources:** Tversky & Kahneman 1992, Laibson 1997, Thaler & Benartzi 2004, Barber & Odean 2000, Nunes & Dreze 2006, Shiller 2000.
|
|
43
129
|
|
|
44
|
-
|
|
45
|
-
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## Memory Integrity (Merkle Tree)
|
|
133
|
+
|
|
134
|
+
Tamper-evident memory. If anyone injects, modifies, or deletes an agent's memories, the Merkle root changes and you know.
|
|
135
|
+
|
|
136
|
+
```ts
|
|
137
|
+
import { MerkleTree } from "@mnemopay/sdk";
|
|
138
|
+
|
|
139
|
+
const tree = new MerkleTree();
|
|
140
|
+
|
|
141
|
+
// Every memory write adds a leaf
|
|
142
|
+
tree.addLeaf("mem-1", "User prefers monthly billing");
|
|
143
|
+
tree.addLeaf("mem-2", "Last purchase was $25 API access");
|
|
144
|
+
|
|
145
|
+
// Take periodic snapshots
|
|
146
|
+
const snapshot = tree.snapshot();
|
|
147
|
+
// → { rootHash: "a3f2...", leafCount: 2, snapshotHash: "b7c1..." }
|
|
148
|
+
|
|
149
|
+
// Later: check if memories were tampered
|
|
150
|
+
const check = tree.detectTampering(snapshot);
|
|
151
|
+
// → { tampered: false, summary: "Integrity verified. 2 memories, root matches." }
|
|
152
|
+
|
|
153
|
+
// Prove a specific memory exists without revealing others
|
|
154
|
+
const proof = tree.getProof("mem-1");
|
|
155
|
+
MerkleTree.verifyProof(proof); // true
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
**Defends against:** MemoryGraft injection, silent deletion, content tampering, replay attacks, reordering attacks.
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## Anomaly Detection (EWMA + Behavioral Fingerprinting + Canaries)
|
|
163
|
+
|
|
164
|
+
Three independent systems that catch compromised agents.
|
|
165
|
+
|
|
166
|
+
```ts
|
|
167
|
+
import { EWMADetector, BehaviorMonitor, CanarySystem } from "@mnemopay/sdk";
|
|
168
|
+
|
|
169
|
+
// 1. EWMA: real-time streaming anomaly detection
|
|
170
|
+
const detector = new EWMADetector(0.15, 2.5, 3.5, 10);
|
|
171
|
+
detector.update(100); // normal
|
|
172
|
+
detector.update(100); // normal
|
|
173
|
+
detector.update(9999); // → { anomaly: true, severity: "critical", zScore: 8.2 }
|
|
174
|
+
|
|
175
|
+
// 2. Behavioral fingerprinting: detect hijacked agents
|
|
176
|
+
const monitor = new BehaviorMonitor({ warmupPeriod: 10 });
|
|
177
|
+
// Build profile over time
|
|
178
|
+
monitor.observe("agent-1", { amount: 100, hourOfDay: 14, chargesPerHour: 2 });
|
|
179
|
+
// Sudden change = suspected hijack
|
|
180
|
+
monitor.observe("agent-1", { amount: 9999, hourOfDay: 3, chargesPerHour: 50 });
|
|
181
|
+
// → { suspected: true, severity: "critical", anomalousFeatures: 3 }
|
|
182
|
+
|
|
183
|
+
// 3. Canary honeypots: plant traps for compromised agents
|
|
184
|
+
const canary = new CanarySystem();
|
|
185
|
+
const trap = canary.plant("transaction");
|
|
186
|
+
canary.check(trap.id, "rogue-agent");
|
|
187
|
+
// → { severity: "critical", message: "CANARY TRIGGERED: Agent compromised" }
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
**Math:** `mu_t = alpha * x_t + (1 - alpha) * mu_{t-1}`, alert when `|x_t - mu_t| > k * sigma_t` (Roberts 1959, Lucas & Saccucci 1990).
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## Memory (Neuroscience-backed)
|
|
195
|
+
|
|
196
|
+
- **Ebbinghaus forgetting curve** — memories decay naturally over time
|
|
46
197
|
- **Hebbian reinforcement** — successful transactions strengthen associated memories
|
|
47
198
|
- **Consolidation** — auto-prunes weak memories, keeps what matters
|
|
48
199
|
- **Semantic recall** — find memories by relevance, not just recency
|
|
49
200
|
- **100KB per memory** — store rich context, not just strings
|
|
50
201
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
- **
|
|
54
|
-
- **
|
|
202
|
+
## Payments (Bank-grade math)
|
|
203
|
+
|
|
204
|
+
- **Double-entry bookkeeping** — every debit has a credit, always balances to zero
|
|
205
|
+
- **Escrow flow** — charge -> hold -> settle -> refund (same as Stripe/Square)
|
|
206
|
+
- **Volume-tiered fees** — 1.9% / 1.5% / 1.0% based on cumulative volume
|
|
55
207
|
- **3 payment rails** — Paystack (Africa), Stripe (global), Lightning (BTC)
|
|
56
|
-
- **Penny-precise** — stress-tested with 1,000 random transactions
|
|
208
|
+
- **Penny-precise** — stress-tested with 1,000 random transactions
|
|
209
|
+
|
|
210
|
+
## Identity (KYA Compliance)
|
|
57
211
|
|
|
58
|
-
|
|
59
|
-
- **
|
|
60
|
-
- **
|
|
61
|
-
- **Spend limits** — max per transaction, max total spend, counterparty whitelists
|
|
212
|
+
- **Cryptographic identity** — HMAC-SHA256 keypairs, replay protection
|
|
213
|
+
- **Capability tokens** — scoped permissions with spend limits
|
|
214
|
+
- **Counterparty whitelists** — restrict who the agent can transact with
|
|
62
215
|
- **Kill switch** — revoke all tokens instantly
|
|
63
216
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
- **
|
|
67
|
-
- **
|
|
68
|
-
- **Geo
|
|
69
|
-
- **
|
|
70
|
-
- **Behavioral fingerprinting** — detects drift from agent's normal patterns
|
|
217
|
+
## Fraud Detection (ML-grade)
|
|
218
|
+
|
|
219
|
+
- **Velocity checks** — per-minute/hour/day limits
|
|
220
|
+
- **Isolation Forest** — unsupervised ML anomaly detection
|
|
221
|
+
- **Geo-enhanced** — country tracking, rapid-hop detection, OFAC sanctions
|
|
222
|
+
- **Adaptive engine** — asymmetric AIMD, anti-gaming, circuit breaker, PSI drift detection
|
|
71
223
|
|
|
72
|
-
|
|
224
|
+
## Multi-Agent Commerce
|
|
225
|
+
|
|
226
|
+
- **CommerceEngine** — autonomous shopping with mandates, escrow, approval callbacks
|
|
73
227
|
- **MnemoPayNetwork** — register agents, execute deals, shared memory context
|
|
74
|
-
- **One method** — `net.transact(buyer, seller, amount, reason)` handles everything
|
|
75
|
-
- **Both remember** — buyer and seller each store the deal in their memory
|
|
76
228
|
- **Supply chains** — 10-step agent chains, 100-agent marketplaces, all tested
|
|
77
229
|
|
|
78
230
|
---
|
|
79
231
|
|
|
80
232
|
## Payment Rails
|
|
81
233
|
|
|
82
|
-
MnemoPay supports real money movement through pluggable payment rails:
|
|
83
|
-
|
|
84
234
|
```ts
|
|
85
235
|
import { PaystackRail, StripeRail, LightningRail } from "@mnemopay/sdk";
|
|
86
236
|
|
|
87
237
|
// Africa (NGN, GHS, ZAR, KES)
|
|
88
238
|
const paystack = new PaystackRail(process.env.PAYSTACK_SECRET_KEY!);
|
|
89
239
|
|
|
90
|
-
// Global (USD, EUR, GBP
|
|
240
|
+
// Global (USD, EUR, GBP)
|
|
91
241
|
const stripe = new StripeRail(process.env.STRIPE_SECRET_KEY!);
|
|
92
242
|
|
|
93
243
|
// Crypto (BTC via Lightning Network)
|
|
94
244
|
const lightning = new LightningRail(LND_URL, MACAROON);
|
|
95
245
|
|
|
96
|
-
// Plug into any agent
|
|
97
246
|
const agent = MnemoPay.quick("my-agent", { paymentRail: paystack });
|
|
98
247
|
```
|
|
99
248
|
|
|
100
|
-
### Paystack Rail (Built for Africa)
|
|
101
|
-
- Initialize → checkout → verify flow
|
|
102
|
-
- Charge saved cards (authorization codes)
|
|
103
|
-
- Bank transfers / payouts
|
|
104
|
-
- Webhook HMAC-SHA512 verification
|
|
105
|
-
- Bank account resolution
|
|
106
|
-
- 23 Nigerian banks pre-mapped
|
|
107
|
-
|
|
108
|
-
### Fee Structure
|
|
109
|
-
|
|
110
|
-
| Tier | Monthly Volume | Platform Fee |
|
|
111
|
-
|---|---|---|
|
|
112
|
-
| Standard | < $10,000 | 1.9% |
|
|
113
|
-
| Growth | $10,000 - $100,000 | 1.5% |
|
|
114
|
-
| Scale | $100,000+ | 1.0% |
|
|
115
|
-
|
|
116
|
-
Fees are automatically tiered based on cumulative settled volume per agent.
|
|
117
|
-
|
|
118
249
|
---
|
|
119
250
|
|
|
120
251
|
## MCP Server
|
|
121
252
|
|
|
122
|
-
MnemoPay runs as an MCP server, giving Claude and other AI assistants direct access:
|
|
123
|
-
|
|
124
253
|
```bash
|
|
125
254
|
npx @mnemopay/sdk init
|
|
126
255
|
# or
|
|
127
256
|
claude mcp add mnemopay -s user -- npx -y @mnemopay/sdk
|
|
128
257
|
```
|
|
129
258
|
|
|
130
|
-
|
|
259
|
+
Tools: `charge`, `settle`, `refund`, `remember`, `recall`, `balance`, `history`, `profile`, `reputation`, `fraud_stats`, `dispute`, `reinforce`, `consolidate`, `forget`, `logs`.
|
|
131
260
|
|
|
132
261
|
---
|
|
133
262
|
|
|
134
263
|
## Middleware
|
|
135
264
|
|
|
136
|
-
Drop MnemoPay into your existing AI stack:
|
|
137
|
-
|
|
138
265
|
```ts
|
|
139
266
|
// OpenAI
|
|
140
267
|
import { mnemoPayMiddleware } from "@mnemopay/sdk/middleware/openai";
|
|
@@ -148,112 +275,49 @@ import { mnemoPayTools } from "@mnemopay/sdk/langgraph";
|
|
|
148
275
|
|
|
149
276
|
---
|
|
150
277
|
|
|
151
|
-
## Multi-Agent Example
|
|
152
|
-
|
|
153
|
-
```ts
|
|
154
|
-
import { MnemoPayNetwork } from "@mnemopay/sdk";
|
|
155
|
-
|
|
156
|
-
const net = new MnemoPayNetwork({ fraud: { platformFeeRate: 0.019 } });
|
|
157
|
-
|
|
158
|
-
// Register agents
|
|
159
|
-
net.register("buyer-bot", "owner-1", "dev@company.com");
|
|
160
|
-
net.register("seller-bot", "owner-2", "dev@company.com");
|
|
161
|
-
|
|
162
|
-
// Execute a deal — both agents remember, seller gets paid, ledger balances
|
|
163
|
-
const deal = await net.transact("buyer-bot", "seller-bot", 25, "API access for 1 month");
|
|
164
|
-
|
|
165
|
-
console.log(deal.netAmount); // 24.52 (after 1.9% fee)
|
|
166
|
-
console.log(deal.platformFee); // 0.48
|
|
167
|
-
console.log(deal.buyerMemoryId); // buyer remembers the purchase
|
|
168
|
-
console.log(deal.sellerMemoryId);// seller remembers the sale
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
---
|
|
172
|
-
|
|
173
278
|
## Architecture
|
|
174
279
|
|
|
175
280
|
```
|
|
176
|
-
|
|
177
|
-
│
|
|
178
|
-
|
|
179
|
-
│ Memory │ Payments │ Identity │
|
|
180
|
-
│ │ │ │
|
|
181
|
-
│ remember │ charge │ KYA
|
|
182
|
-
│ recall │ settle │ tokens │
|
|
183
|
-
│ reinforce│ refund │ perms │
|
|
184
|
-
│ forget │ dispute │ killswitch
|
|
185
|
-
|
|
186
|
-
│
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
│
|
|
190
|
-
|
|
191
|
-
|
|
281
|
+
┌────────────────────────────────────────────────────────────┐
|
|
282
|
+
│ MnemoPay SDK v1.0.0-beta.1 │
|
|
283
|
+
├──────────┬──────────┬───────────┬──────────────────────────┤
|
|
284
|
+
│ Memory │ Payments │ Identity │ Agent FICO (300-850) │
|
|
285
|
+
│ │ │ │ 5-component scoring │
|
|
286
|
+
│ remember │ charge │ KYA ├──────────────────────────┤
|
|
287
|
+
│ recall │ settle │ tokens │ Behavioral Finance │
|
|
288
|
+
│ reinforce│ refund │ perms │ prospect theory, nudges │
|
|
289
|
+
│ forget │ dispute │ killswitch├──────────────────────────┤
|
|
290
|
+
│ │ │ │ Anomaly Detection │
|
|
291
|
+
│ │ │ │ EWMA + fingerprinting │
|
|
292
|
+
├──────────┴──────────┴───────────┼──────────────────────────┤
|
|
293
|
+
│ Double-Entry Ledger │ Merkle Integrity │
|
|
294
|
+
│ debit + credit = always zero │ tamper-evident memory │
|
|
295
|
+
├─────────────────────────────────┼──────────────────────────┤
|
|
296
|
+
│ Fraud Guard (ML-grade) │ Canary Honeypots │
|
|
297
|
+
│ velocity + geo + adaptive │ compromise detection │
|
|
298
|
+
├─────────────────────────────────┴──────────────────────────┤
|
|
299
|
+
│ Payment Rails │
|
|
300
|
+
│ Paystack │ Stripe │ Lightning │
|
|
301
|
+
└────────────────────────────────────────────────────────────┘
|
|
192
302
|
```
|
|
193
303
|
|
|
194
304
|
---
|
|
195
305
|
|
|
196
|
-
## Persistence
|
|
197
|
-
|
|
198
|
-
```ts
|
|
199
|
-
// File-based (default)
|
|
200
|
-
const agent = MnemoPay.quick("my-agent", { persistDir: "./data" });
|
|
201
|
-
|
|
202
|
-
// SQLite (production)
|
|
203
|
-
import { SQLiteStorage } from "@mnemopay/sdk/storage";
|
|
204
|
-
const storage = new SQLiteStorage("./mnemopay.db");
|
|
205
|
-
|
|
206
|
-
// Everything persists: memories, transactions, identity, fraud state, geo profiles
|
|
207
|
-
```
|
|
208
|
-
|
|
209
|
-
---
|
|
210
|
-
|
|
211
|
-
## API Reference
|
|
212
|
-
|
|
213
|
-
### Core Methods
|
|
214
|
-
|
|
215
|
-
| Method | Description |
|
|
216
|
-
|---|---|
|
|
217
|
-
| `agent.remember(content, opts?)` | Store a memory with importance scoring |
|
|
218
|
-
| `agent.recall(limit?, query?)` | Retrieve memories by relevance |
|
|
219
|
-
| `agent.charge(amount, reason)` | Create an escrow hold |
|
|
220
|
-
| `agent.settle(txId, counterpartyId?)` | Release escrow, apply fee, complete payment |
|
|
221
|
-
| `agent.refund(txId)` | Reverse a completed or pending transaction |
|
|
222
|
-
| `agent.dispute(txId, reason)` | File a dispute against a settled transaction |
|
|
223
|
-
| `agent.balance()` | Get wallet balance and reputation |
|
|
224
|
-
| `agent.verifyLedger()` | Confirm double-entry ledger balances to zero |
|
|
225
|
-
| `agent.history(limit?)` | Get transaction history |
|
|
226
|
-
| `agent.consolidate()` | Prune stale memories |
|
|
227
|
-
|
|
228
|
-
### Network Methods
|
|
229
|
-
|
|
230
|
-
| Method | Description |
|
|
231
|
-
|---|---|
|
|
232
|
-
| `net.register(agentId, ownerId, email)` | Register an agent on the network |
|
|
233
|
-
| `net.transact(buyer, seller, amount, reason)` | Full deal: charge → settle → memory → identity |
|
|
234
|
-
| `net.refundDeal(dealId)` | Reverse a deal, both agents remember the refund |
|
|
235
|
-
| `net.stats()` | Network-wide statistics |
|
|
236
|
-
| `net.dealsBetween(agentA, agentB)` | Get deal history between two agents |
|
|
237
|
-
|
|
238
|
-
---
|
|
239
|
-
|
|
240
306
|
## Testing
|
|
241
307
|
|
|
242
308
|
```bash
|
|
243
|
-
npm test
|
|
244
|
-
npm run lint # Type check
|
|
309
|
+
npm test # full test suite across 12 files
|
|
245
310
|
```
|
|
246
311
|
|
|
247
|
-
|
|
248
|
-
- `
|
|
249
|
-
- `fraud.test.ts` —
|
|
250
|
-
- `
|
|
251
|
-
- `
|
|
252
|
-
- `
|
|
253
|
-
- `
|
|
254
|
-
- `
|
|
255
|
-
- `
|
|
256
|
-
- `recall.test.ts` — 35 tests (semantic search, decay, reinforcement)
|
|
312
|
+
- `core.test.ts` — memory, payments, lifecycle, FICO, behavioral, Merkle, EWMA, canaries, stress tests
|
|
313
|
+
- `fraud.test.ts` — velocity, anomaly, fees, disputes
|
|
314
|
+
- `geo-fraud.test.ts` — geo signals, trust, sanctions
|
|
315
|
+
- `identity.test.ts` — KYA, tokens, permissions
|
|
316
|
+
- `ledger.test.ts` — double-entry, reconciliation
|
|
317
|
+
- `network.test.ts` — multi-agent, deals, supply chains
|
|
318
|
+
- `paystack.test.ts` — rail, webhooks, transfers
|
|
319
|
+
- `stress.test.ts` — 1000-cycle precision, parallel ops
|
|
320
|
+
- `recall.test.ts` — semantic search, decay, reinforcement
|
|
257
321
|
|
|
258
322
|
---
|
|
259
323
|
|
package/dist/anomaly.d.ts
CHANGED
|
@@ -177,6 +177,8 @@ export declare class BehaviorMonitor {
|
|
|
177
177
|
private observationCounts;
|
|
178
178
|
private lastObserved;
|
|
179
179
|
readonly config: AnomalyConfig;
|
|
180
|
+
/** Max agents to track before evicting oldest inactive. Prevents unbounded memory growth. */
|
|
181
|
+
static readonly MAX_AGENTS = 10000;
|
|
180
182
|
constructor(config?: Partial<AnomalyConfig>);
|
|
181
183
|
/**
|
|
182
184
|
* Observe agent behavior. Updates the behavioral fingerprint.
|
package/dist/anomaly.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anomaly.d.ts","sourceRoot":"","sources":["../src/anomaly.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"anomaly.d.ts","sourceRoot":"","sources":["../src/anomaly.ts"],"names":[],"mappings":"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"}
|
package/dist/anomaly.js
CHANGED
|
@@ -161,6 +161,8 @@ class BehaviorMonitor {
|
|
|
161
161
|
observationCounts = new Map();
|
|
162
162
|
lastObserved = new Map();
|
|
163
163
|
config;
|
|
164
|
+
/** Max agents to track before evicting oldest inactive. Prevents unbounded memory growth. */
|
|
165
|
+
static MAX_AGENTS = 10_000;
|
|
164
166
|
constructor(config) {
|
|
165
167
|
this.config = { ...exports.DEFAULT_ANOMALY_CONFIG, ...config };
|
|
166
168
|
}
|
|
@@ -175,6 +177,19 @@ class BehaviorMonitor {
|
|
|
175
177
|
throw new Error("features must be an object");
|
|
176
178
|
// Initialize fingerprint for new agents
|
|
177
179
|
if (!this.fingerprints.has(agentId)) {
|
|
180
|
+
// Evict oldest inactive agent if at capacity (prevents unbounded memory growth)
|
|
181
|
+
if (this.fingerprints.size >= BehaviorMonitor.MAX_AGENTS) {
|
|
182
|
+
let oldestId = null;
|
|
183
|
+
let oldestTime = Infinity;
|
|
184
|
+
for (const [id, time] of this.lastObserved) {
|
|
185
|
+
if (time < oldestTime) {
|
|
186
|
+
oldestTime = time;
|
|
187
|
+
oldestId = id;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
if (oldestId)
|
|
191
|
+
this.removeAgent(oldestId);
|
|
192
|
+
}
|
|
178
193
|
this.fingerprints.set(agentId, new Map());
|
|
179
194
|
this.observationCounts.set(agentId, 0);
|
|
180
195
|
}
|
|
@@ -343,8 +358,17 @@ class CanarySystem {
|
|
|
343
358
|
if (oldest)
|
|
344
359
|
this.canaries.delete(oldest.id);
|
|
345
360
|
}
|
|
361
|
+
// Use crypto.randomUUID when available for unpredictable canary IDs
|
|
362
|
+
// A compromised agent that can predict canary IDs can avoid traps
|
|
363
|
+
let randomSuffix;
|
|
364
|
+
try {
|
|
365
|
+
randomSuffix = require("crypto").randomBytes(6).toString("hex");
|
|
366
|
+
}
|
|
367
|
+
catch {
|
|
368
|
+
randomSuffix = Math.random().toString(36).slice(2, 8);
|
|
369
|
+
}
|
|
346
370
|
const canary = {
|
|
347
|
-
id: `canary-${Date.now()}-${
|
|
371
|
+
id: `canary-${Date.now()}-${randomSuffix}`,
|
|
348
372
|
amount: Math.round((Math.random() * 99 + 1) * 100) / 100, // $1-100
|
|
349
373
|
type,
|
|
350
374
|
plantedAt: Date.now(),
|
package/dist/anomaly.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anomaly.js","sourceRoot":"","sources":["../src/anomaly.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"anomaly.js","sourceRoot":"","sources":["../src/anomaly.ts"],"names":[],"mappings":"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"}
|