@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 CHANGED
@@ -1,140 +1,267 @@
1
1
  # MnemoPay
2
2
 
3
- **Give your AI agents real superpowers.** Memory + Payments + Identity in one SDK.
3
+ **The credit bureau for AI agents.** Memory + Payments + Identity + Agent FICO + Behavioral Finance in one SDK.
4
4
 
5
- Your agent remembers every interaction, handles real money, builds reputation, and trades with other agents all with a balanced double-entry ledger that never drifts by a penny.
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
- // Agent now has memory, money, and reputation. Ledger balanced.
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
- 330+ tests. Production-hardened. MIT licensed.
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
- ## Why MnemoPay
50
+ ## Agent FICO — Credit Score for AI Agents
27
51
 
28
- AI agents can think. They can't remember or pay. MnemoPay fixes both.
52
+ The first cross-session credit scoring system for AI agents. Mirrors human FICO (300-850 range) with five components:
29
53
 
30
- | Problem | Without MnemoPay | With MnemoPay |
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
- | Memory | Every session starts cold | Agent remembers everything — decays naturally, strengthens on use |
33
- | Payments | Manual API calls, no escrow | Charge escrow settle refund. Real money, real rails |
34
- | Identity | No agent verification | KYA (Know Your Agent) with capability tokens and permissions |
35
- | Trust | No reputation system | Agent FICO score that grows with successful transactions |
36
- | Accounting | Hope the numbers are right | Double-entry ledger. Every debit has a credit. Always balances to zero |
37
- | Fraud | Build your own | Velocity checks, anomaly detection, geo-enhanced risk scoring |
38
- | Multi-agent | Not possible | `net.transact("buyer", "seller", 25, "API access")` — both agents remember |
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
- ## Features
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
- ### Memory (Neuroscience-backed)
45
- - **Ebbinghaus forgetting curve** — memories decay over time, just like the brain
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
- ### Payments (Bank-grade math)
52
- - **Double-entry bookkeeping** — Luca Pacioli's 1494 system, 330+ tests proving it works
53
- - **Escrow flow** — charge hold settle refund (same as Stripe/Square)
54
- - **Platform fee** — 1.9% on settlement (configurable, volume-tiered: 1.9% 1.5% 1.0%)
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, fee + net = gross every time
208
+ - **Penny-precise** — stress-tested with 1,000 random transactions
209
+
210
+ ## Identity (KYA Compliance)
57
211
 
58
- ### Identity (KYA Compliance)
59
- - **Agent identity** — cryptographic keypairs, owner verification
60
- - **Capability tokens** — scoped permissions (charge, settle, refund, remember)
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
- ### Fraud Detection (Geo-enhanced)
65
- - **Velocity checks** — per-minute, per-hour, per-day limits
66
- - **Anomaly detection** — z-score + optional ML (Isolation Forest)
67
- - **Geo-enhanced** — country tracking, rapid-hop detection, currency mismatch, timezone anomalies
68
- - **Geo trust** — consistent location builds trust, dampens false positives
69
- - **OFAC sanctions** — hard blocks for sanctioned countries (KP, IR, SY, CU, RU)
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
- ### Multi-Agent Commerce
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 — cards)
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
- Available tools: `charge`, `settle`, `refund`, `remember`, `recall`, `balance`, `history`, `profile`, `reputation`, `fraud_stats`, `dispute`, `reinforce`, `consolidate`, `forget`, `logs`.
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
- MnemoPay SDK
178
- ├──────────┬──────────┬───────────┬───────────────┤
179
- │ Memory │ Payments │ Identity │ Fraud Guard
180
- │ │ │ │
181
- │ remember │ charge │ KYA │ velocity │
182
- │ recall │ settle │ tokens │ anomaly
183
- │ reinforce│ refund │ perms │ geo-enhanced
184
- │ forget │ dispute │ killswitch│ ML (optional) │
185
- ├──────────┴──────────┴───────────┴───────────────┤
186
- Double-Entry Ledger
187
- │ debit + credit = always zero │
188
- ├─────────────────────────────────────────────────┤
189
- Payment Rails
190
- │ Paystack │ Stripe │ Lightning │
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 # Run all 330+ tests
244
- npm run lint # Type check
309
+ npm test # full test suite across 12 files
245
310
  ```
246
311
 
247
- Test coverage:
248
- - `core.test.ts` — 67 tests (memory, payments, lifecycle)
249
- - `fraud.test.ts` — 43 tests (velocity, anomaly, fees, disputes)
250
- - `geo-fraud.test.ts` — 20 tests (geo signals, trust, sanctions)
251
- - `identity.test.ts` — 44 tests (KYA, tokens, permissions)
252
- - `ledger.test.ts` — 21 tests (double-entry, reconciliation)
253
- - `network.test.ts` — 22 tests (multi-agent, deals, supply chains)
254
- - `paystack.test.ts` — 46 tests (rail, webhooks, transfers)
255
- - `stress.test.ts` — 32 tests (1000-cycle precision, parallel ops)
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.
@@ -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()}-${Math.random().toString(36).slice(2, 8)}`,
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(),
@@ -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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"}