@mnemopay/sdk 1.1.0 → 1.2.1

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
@@ -23,7 +23,7 @@ const score = fico.compute({ transactions: [tx], createdAt: new Date(), ...});
23
23
  // → { score: 672, rating: "good", feeRate: 0.015, trustLevel: "standard" }
24
24
  ```
25
25
 
26
- 14 modules. Hardened against the 10/10 critical issues from our v0.9.2 audit. Production-ready. Apache 2.0 licensed.
26
+ 14 modules. Hash-chained ledger. Replay detection. Reputation streaks. 200K-operation stress tested. Apache 2.0 licensed.
27
27
 
28
28
  ---
29
29
 
@@ -216,7 +216,9 @@ canary.check(trap.id, "rogue-agent");
216
216
 
217
217
  ---
218
218
 
219
- ## Memory (Neuroscience-backed)
219
+ ## Memory (Compounding Knowledge Base)
220
+
221
+ Not a traditional RAG lookup. MnemoPay memories compound — every transaction strengthens associated context, weak memories decay, strong ones consolidate. The same pattern Karpathy describes as "LLM Wiki" but applied to payments and trust.
220
222
 
221
223
  - **Ebbinghaus forgetting curve** — memories decay naturally over time
222
224
  - **Hebbian reinforcement** — successful transactions strengthen associated memories
@@ -224,13 +226,53 @@ canary.check(trap.id, "rogue-agent");
224
226
  - **Semantic recall** — find memories by relevance, not just recency
225
227
  - **100KB per memory** — store rich context, not just strings
226
228
 
229
+ ## Reputation Streaks & Badges
230
+
231
+ Agents earn trust over time. Consecutive successful settlements build streaks that unlock badges and reduce fees.
232
+
233
+ ```ts
234
+ const rep = await agent.reputation();
235
+ console.log(rep.streak);
236
+ // → { currentStreak: 47, bestStreak: 312, streakBonus: 0.094 }
237
+
238
+ console.log(rep.badges);
239
+ // → [
240
+ // { id: "first_settlement", name: "First Settlement", earnedAt: 1712700000000 },
241
+ // { id: "streak_50", name: "Streak Master", earnedAt: 1712900000000 },
242
+ // { id: "volume_10k", name: "High Roller", earnedAt: 1713100000000 },
243
+ // ]
244
+ ```
245
+
246
+ | Badge | Requirement |
247
+ |---|---|
248
+ | First Settlement | Complete 1 settlement |
249
+ | Streak 10 | 10 consecutive settlements |
250
+ | Streak 50 | 50 consecutive settlements |
251
+ | Volume $1K | $1,000+ total settled |
252
+ | Volume $10K | $10,000+ total settled |
253
+ | Perfect Record | 100+ settlements, 0 disputes |
254
+
255
+ Streaks reset on refunds or disputes. Streak bonuses compound reputation up to +10%.
256
+
257
+ ## Hash-Chained Ledger
258
+
259
+ Every ledger entry links to the previous via SHA-256 hash chain. If any entry is modified, the chain breaks and `verify()` catches it instantly.
260
+
261
+ ```ts
262
+ const summary = agent.ledger.verify();
263
+ console.log(summary.chainValid); // true
264
+ console.log(summary.chainIntegrity); // 1.0 (100% of links verified)
265
+ ```
266
+
267
+ Combined with Merkle integrity on memories and HMAC on transactions, MnemoPay gives you three independent tamper-detection systems.
268
+
227
269
  ## Payments (cent-precise double-entry)
228
270
 
229
271
  - **Double-entry bookkeeping** — every debit has a credit, always balances to zero
230
272
  - **Escrow flow** — charge -> hold -> settle -> refund (same shape as Stripe/Square)
231
273
  - **Volume-tiered fees** — 1.9% / 1.5% / 1.0% based on cumulative volume
232
274
  - **3 payment rails** — Paystack (Africa), Stripe (global), Lightning (BTC)
233
- - **Cent-precise integer math** — stress-tested with 1,000 random transactions, zero drift
275
+ - **Cent-precise integer math** — stress-tested with 200,000 transactions across 50 concurrent agents, zero drift
234
276
 
235
277
  ## Identity (KYA Compliance)
236
278
 
@@ -343,7 +385,7 @@ import { mnemoPayTools } from "@mnemopay/sdk/langgraph";
343
385
 
344
386
  ```
345
387
  ┌────────────────────────────────────────────────────────────┐
346
- │ MnemoPay SDK v1.0.0-beta.1
388
+ │ MnemoPay SDK v1.2.0
347
389
  ├──────────┬──────────┬───────────┬──────────────────────────┤
348
390
  │ Memory │ Payments │ Identity │ Agent Credit Score (300-850) │
349
391
  │ │ │ │ 5-component scoring │
@@ -373,10 +415,12 @@ import { mnemoPayTools } from "@mnemopay/sdk/langgraph";
373
415
  npm test # full test suite across 12 files
374
416
  ```
375
417
 
376
- - `core.test.ts` — memory, payments, lifecycle, FICO, behavioral, Merkle, EWMA, canaries, stress tests
377
- - `fraud.test.ts` — velocity, anomaly, fees, disputes
418
+ - `core.test.ts` — memory, payments, lifecycle, FICO, behavioral, Merkle, EWMA, canaries, streaks, badges
419
+ - `fraud.test.ts` — velocity, anomaly, fees, disputes, replay detection
378
420
  - `geo-fraud.test.ts` — geo signals, trust, sanctions
379
421
  - `identity.test.ts` — KYA, tokens, permissions
422
+ - `production-100k.test.ts` — 100K operations, 10 concurrent agents, hash-chain verification, zero drift
423
+ - `stress-200k.test.ts` — 200K real-world stress: 50 agents, burst traffic, race conditions, refund storms, memory leak detection
380
424
  - `ledger.test.ts` — double-entry, reconciliation
381
425
  - `network.test.ts` — multi-agent, deals, supply chains
382
426
  - `paystack.test.ts` — rail, webhooks, transfers
package/dist/fico.d.ts CHANGED
@@ -22,7 +22,7 @@
22
22
  * - General consumer credit-scoring methodology (public domain).
23
23
  * - MnemoPay Master Strategy, Part 3.3 (April 2026).
24
24
  */
25
- export interface FICOTransaction {
25
+ export interface AgentCreditTransaction {
26
26
  id: string;
27
27
  amount: number;
28
28
  status: "pending" | "completed" | "refunded" | "disputed" | "expired";
@@ -32,9 +32,9 @@ export interface FICOTransaction {
32
32
  reason: string;
33
33
  riskScore?: number;
34
34
  }
35
- export interface FICOInput {
35
+ export interface AgentCreditInput {
36
36
  /** All transactions for this agent */
37
- transactions: FICOTransaction[];
37
+ transactions: AgentCreditTransaction[];
38
38
  /** Account creation timestamp */
39
39
  createdAt: Date;
40
40
  /** Total confirmed fraud flags */
@@ -52,7 +52,7 @@ export interface FICOInput {
52
52
  /** Memory count (used for diversity scoring) */
53
53
  memoriesCount?: number;
54
54
  }
55
- export interface FICOComponent {
55
+ export interface AgentCreditComponent {
56
56
  /** Raw component score 0-100 */
57
57
  score: number;
58
58
  /** Weight applied to this component */
@@ -62,7 +62,7 @@ export interface FICOComponent {
62
62
  /** Factors that contributed to this score */
63
63
  factors: string[];
64
64
  }
65
- export interface FICOResult {
65
+ export interface AgentCreditResult {
66
66
  /** Final FICO score 300-850 */
67
67
  score: number;
68
68
  /** Rating: exceptional | very_good | good | fair | poor */
@@ -75,11 +75,11 @@ export interface FICOResult {
75
75
  requiresHITL: boolean;
76
76
  /** Breakdown of all five components */
77
77
  components: {
78
- paymentHistory: FICOComponent;
79
- creditUtilization: FICOComponent;
80
- historyLength: FICOComponent;
81
- behaviorDiversity: FICOComponent;
82
- fraudRecord: FICOComponent;
78
+ paymentHistory: AgentCreditComponent;
79
+ creditUtilization: AgentCreditComponent;
80
+ historyLength: AgentCreditComponent;
81
+ behaviorDiversity: AgentCreditComponent;
82
+ fraudRecord: AgentCreditComponent;
83
83
  };
84
84
  /** Number of transactions used for scoring */
85
85
  transactionCount: number;
@@ -90,7 +90,7 @@ export interface FICOResult {
90
90
  /** ISO timestamp */
91
91
  generatedAt: string;
92
92
  }
93
- export interface FICOConfig {
93
+ export interface AgentCreditConfig {
94
94
  /** Weight for payment history. Default 0.35 */
95
95
  w1: number;
96
96
  /** Weight for credit utilization. Default 0.20 */
@@ -112,15 +112,15 @@ export interface FICOConfig {
112
112
  /** Max expected unique categories for diversity. Default 10 */
113
113
  maxExpectedCategories: number;
114
114
  }
115
- export declare const DEFAULT_FICO_CONFIG: FICOConfig;
115
+ export declare const DEFAULT_AGENT_CREDIT_CONFIG: AgentCreditConfig;
116
116
  export declare class AgentCreditScore {
117
- readonly config: FICOConfig;
118
- constructor(config?: Partial<FICOConfig>);
117
+ readonly config: AgentCreditConfig;
118
+ constructor(config?: Partial<AgentCreditConfig>);
119
119
  /**
120
120
  * Compute Agent FICO score from transaction history and agent metadata.
121
121
  * Deterministic: same inputs always produce the same score.
122
122
  */
123
- compute(input: FICOInput): FICOResult;
123
+ compute(input: AgentCreditInput): AgentCreditResult;
124
124
  private _computePaymentHistory;
125
125
  private _computeCreditUtilization;
126
126
  private _computeHistoryLength;
@@ -131,12 +131,24 @@ export declare class AgentCreditScore {
131
131
  * Serialize FICO result for storage/transmission.
132
132
  * Strips non-essential data to reduce payload.
133
133
  */
134
- static serialize(result: FICOResult): string;
134
+ static serialize(result: AgentCreditResult): string;
135
135
  /**
136
136
  * Deserialize with validation — never trust stored scores.
137
137
  */
138
- static deserialize(json: string): FICOResult;
138
+ static deserialize(json: string): AgentCreditResult;
139
139
  }
140
140
  /** @deprecated Use `AgentCreditScore` instead. */
141
141
  export declare const AgentFICO: typeof AgentCreditScore;
142
+ /** @deprecated Use `AgentCreditTransaction` instead. */
143
+ export type FICOTransaction = AgentCreditTransaction;
144
+ /** @deprecated Use `AgentCreditInput` instead. */
145
+ export type FICOInput = AgentCreditInput;
146
+ /** @deprecated Use `AgentCreditComponent` instead. */
147
+ export type FICOComponent = AgentCreditComponent;
148
+ /** @deprecated Use `AgentCreditResult` instead. */
149
+ export type FICOResult = AgentCreditResult;
150
+ /** @deprecated Use `AgentCreditConfig` instead. */
151
+ export type FICOConfig = AgentCreditConfig;
152
+ /** @deprecated Use `DEFAULT_AGENT_CREDIT_CONFIG` instead. */
153
+ export declare const DEFAULT_FICO_CONFIG: AgentCreditConfig;
142
154
  //# sourceMappingURL=fico.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fico.d.ts","sourceRoot":"","sources":["../src/fico.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fico.d.ts","sourceRoot":"","sources":["../src/fico.ts"],"names":[],"mappings":"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"}
package/dist/fico.js CHANGED
@@ -24,8 +24,8 @@
24
24
  * - MnemoPay Master Strategy, Part 3.3 (April 2026).
25
25
  */
26
26
  Object.defineProperty(exports, "__esModule", { value: true });
27
- exports.AgentFICO = exports.AgentCreditScore = exports.DEFAULT_FICO_CONFIG = void 0;
28
- exports.DEFAULT_FICO_CONFIG = {
27
+ exports.DEFAULT_FICO_CONFIG = exports.AgentFICO = exports.AgentCreditScore = exports.DEFAULT_AGENT_CREDIT_CONFIG = void 0;
28
+ exports.DEFAULT_AGENT_CREDIT_CONFIG = {
29
29
  w1: 0.35,
30
30
  w2: 0.20,
31
31
  w3: 0.15,
@@ -59,7 +59,7 @@ function interpretScore(score) {
59
59
  class AgentCreditScore {
60
60
  config;
61
61
  constructor(config) {
62
- this.config = { ...exports.DEFAULT_FICO_CONFIG, ...config };
62
+ this.config = { ...exports.DEFAULT_AGENT_CREDIT_CONFIG, ...config };
63
63
  // Validate weights sum to 1.0 (within floating point tolerance)
64
64
  const weightSum = this.config.w1 + this.config.w2 + this.config.w3 + this.config.w4 + this.config.w5;
65
65
  if (Math.abs(weightSum - 1.0) > 0.001) {
@@ -341,34 +341,34 @@ class AgentCreditScore {
341
341
  // ── Input Validation ────────────────────────────────────────────────────
342
342
  _validateInput(input) {
343
343
  if (!input || typeof input !== "object") {
344
- throw new Error("FICOInput is required");
344
+ throw new Error("AgentCreditInput is required");
345
345
  }
346
346
  if (!Array.isArray(input.transactions)) {
347
- throw new Error("FICOInput.transactions must be an array");
347
+ throw new Error("AgentCreditInput.transactions must be an array");
348
348
  }
349
349
  if (!(input.createdAt instanceof Date) || isNaN(input.createdAt.getTime())) {
350
- throw new Error("FICOInput.createdAt must be a valid Date");
350
+ throw new Error("AgentCreditInput.createdAt must be a valid Date");
351
351
  }
352
352
  if (typeof input.fraudFlags !== "number" || !Number.isFinite(input.fraudFlags) || input.fraudFlags < 0) {
353
- throw new Error("FICOInput.fraudFlags must be a non-negative number");
353
+ throw new Error("AgentCreditInput.fraudFlags must be a non-negative number");
354
354
  }
355
355
  if (typeof input.disputeCount !== "number" || !Number.isFinite(input.disputeCount) || input.disputeCount < 0) {
356
- throw new Error("FICOInput.disputeCount must be a non-negative number");
356
+ throw new Error("AgentCreditInput.disputeCount must be a non-negative number");
357
357
  }
358
358
  if (typeof input.disputesLost !== "number" || !Number.isFinite(input.disputesLost) || input.disputesLost < 0) {
359
- throw new Error("FICOInput.disputesLost must be a non-negative number");
359
+ throw new Error("AgentCreditInput.disputesLost must be a non-negative number");
360
360
  }
361
361
  if (input.disputesLost > input.disputeCount) {
362
- throw new Error("FICOInput.disputesLost cannot exceed disputeCount");
362
+ throw new Error("AgentCreditInput.disputesLost cannot exceed disputeCount");
363
363
  }
364
364
  if (typeof input.warnings !== "number" || !Number.isFinite(input.warnings) || input.warnings < 0) {
365
- throw new Error("FICOInput.warnings must be a non-negative number");
365
+ throw new Error("AgentCreditInput.warnings must be a non-negative number");
366
366
  }
367
367
  if (input.budgetCap !== undefined && (typeof input.budgetCap !== "number" || !Number.isFinite(input.budgetCap) || input.budgetCap <= 0)) {
368
- throw new Error("FICOInput.budgetCap must be a positive number");
368
+ throw new Error("AgentCreditInput.budgetCap must be a positive number");
369
369
  }
370
370
  if (input.budgetPeriodDays !== undefined && (typeof input.budgetPeriodDays !== "number" || !Number.isFinite(input.budgetPeriodDays) || input.budgetPeriodDays <= 0)) {
371
- throw new Error("FICOInput.budgetPeriodDays must be a positive number");
371
+ throw new Error("AgentCreditInput.budgetPeriodDays must be a positive number");
372
372
  }
373
373
  // Validate individual transactions
374
374
  for (const tx of input.transactions) {
@@ -430,10 +430,11 @@ function extractCategory(reason) {
430
430
  const firstWord = lower.split(/\s+/)[0]?.replace(/[^a-z]/g, "");
431
431
  return firstWord || "unknown";
432
432
  }
433
- // ─── Backward-compatibility alias ───────────────────────────────────────────
434
- // `AgentFICO` is the legacy export name. It remains available for existing
435
- // users but will be removed in a future major version. New code should use
436
- // `AgentCreditScore`.
433
+ // ─── Backward-compatibility aliases ─────────────────────────────────────────
434
+ // These legacy names are kept for existing users. They will be removed in
435
+ // a future major version. New code should use the `AgentCredit*` names.
437
436
  /** @deprecated Use `AgentCreditScore` instead. */
438
437
  exports.AgentFICO = AgentCreditScore;
438
+ /** @deprecated Use `DEFAULT_AGENT_CREDIT_CONFIG` instead. */
439
+ exports.DEFAULT_FICO_CONFIG = exports.DEFAULT_AGENT_CREDIT_CONFIG;
439
440
  //# sourceMappingURL=fico.js.map
package/dist/fico.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"fico.js","sourceRoot":"","sources":["../src/fico.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fico.js","sourceRoot":"","sources":["../src/fico.ts"],"names":[],"mappings":"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"}
package/dist/fraud.d.ts CHANGED
@@ -159,12 +159,14 @@ export declare class FraudGuard {
159
159
  readonly transactionGraph: TransactionGraph | null;
160
160
  /** Behavioral fingerprinting — only loaded when ml: true */
161
161
  readonly behaviorProfile: BehaviorProfile | null;
162
+ /** Transaction replay detection (ported from GridStamp anti-spoofing) */
163
+ private replayDetector;
162
164
  constructor(config?: Partial<FraudConfig>);
163
165
  /**
164
166
  * Assess risk for a charge attempt. Returns a RiskAssessment
165
167
  * that includes whether the charge should proceed.
166
168
  */
167
- assessCharge(agentId: string, amount: number, reputation: number, accountCreatedAt: Date, pendingCount: number, ctx?: RequestContext): RiskAssessment;
169
+ assessCharge(agentId: string, amount: number, reputation: number, accountCreatedAt: Date, pendingCount: number, ctx?: RequestContext, reason?: string, counterpartyId?: string): RiskAssessment;
168
170
  /**
169
171
  * Record a successful charge for velocity tracking and stats.
170
172
  * Call AFTER charge is approved.
@@ -1 +1 @@
1
- {"version":3,"file":"fraud.d.ts","sourceRoot":"","sources":["../src/fraud.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACnF,OAAO,KAAK,EAAE,eAAe,EAAe,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAIpF,MAAM,WAAW,OAAO;IACtB,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,2FAA2F;IAC3F,eAAe,EAAE,MAAM,CAAC;IACxB,8GAA8G;IAC9G,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,kDAAkD;IAClD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iDAAiD;IACjD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iDAAiD;IACjD,gBAAgB,EAAE,MAAM,CAAC;IACzB,mDAAmD;IACnD,cAAc,EAAE,MAAM,CAAC;IACvB,oEAAoE;IACpE,sBAAsB,EAAE,MAAM,CAAC;IAC/B,8EAA8E;IAC9E,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qFAAqF;IACrF,oBAAoB,EAAE,MAAM,CAAC;IAC7B,sEAAsE;IACtE,cAAc,EAAE,MAAM,CAAC;IACvB,sEAAsE;IACtE,aAAa,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,oBAAoB,EAAE,MAAM,CAAC;IAC7B,+DAA+D;IAC/D,sBAAsB,EAAE,MAAM,CAAC;IAC/B,6DAA6D;IAC7D,cAAc,EAAE,OAAO,CAAC;IACxB,+CAA+C;IAC/C,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,6GAA6G;IAC7G,EAAE,EAAE,OAAO,CAAC;IACZ,0CAA0C;IAC1C,GAAG,EAAE,cAAc,CAAC;CACrB;AAED,eAAO,MAAM,oBAAoB,EAAE,WAwClC,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;IACtD,6BAA6B;IAC7B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,wCAAwC;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,mBAAmB,GAAG,iBAAiB,GAAG,SAAS,CAAC;IACrE,SAAS,EAAE,IAAI,CAAC;IAChB,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;CACjB;AASD,4CAA4C;AAC5C,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,4CAA4C;AAC5C,MAAM,WAAW,UAAU;IACzB,uEAAuE;IACvE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,kDAAkD;IAClD,YAAY,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,6EAA6E;AAC7E,MAAM,WAAW,cAAc;IAC7B,uDAAuD;IACvD,OAAO,EAAE,OAAO,CAAC;IACjB,oEAAoE;IACpE,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qEAAqE;IACrE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,yEAAyE;IACzE,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IACtC,oEAAoE;IACpE,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,4DAA4D;IAC5D,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAC3C;AAID,qBAAa,UAAU;IACrB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAE7B,iDAAiD;IACjD,OAAO,CAAC,aAAa,CAAyC;IAC9D,oEAAoE;IACpE,OAAO,CAAC,UAAU,CAAyE;IAC3F,sBAAsB;IACtB,OAAO,CAAC,QAAQ,CAAmC;IACnD,0BAA0B;IAC1B,OAAO,CAAC,SAAS,CAA2B;IAC5C,oCAAoC;IACpC,OAAO,CAAC,sBAAsB,CAAa;IAC3C,+DAA+D;IAC/D,OAAO,CAAC,kBAAkB,CAAkC;IAC5D,iDAAiD;IACjD,OAAO,CAAC,QAAQ,CAAuC;IACvD,0DAA0D;IAC1D,OAAO,CAAC,aAAa,CAA0B;IAC/C,0BAA0B;IAC1B,OAAO,CAAC,aAAa,CAA0B;IAC/C,sCAAsC;IACtC,OAAO,CAAC,WAAW,CAAsC;IACzD,uDAAuD;IACvD,QAAQ,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACjD,oDAAoD;IACpD,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACnD,4DAA4D;IAC5D,QAAQ,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;gBAErC,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;IA0CzC;;;OAGG;IACH,YAAY,CACV,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,IAAI,EACtB,YAAY,EAAE,MAAM,EACpB,GAAG,CAAC,EAAE,cAAc,GACnB,cAAc;IA8OjB;;;OAGG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,cAAc,GAAG,IAAI;IA8CzE,uEAAuE;IACvE,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,IAAI;IAIrF,6DAA6D;IAC7D,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAItF,+EAA+E;IAC/E,eAAe,IAAI,eAAe,EAAE;IAKpC,6DAA6D;IAC7D,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAO/D;;;OAGG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAc5C;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAIvC;;;;OAIG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,iBAAiB;IAyBvF,oCAAoC;IACpC,IAAI,qBAAqB,IAAI,MAAM,CAElC;IAED,8BAA8B;IAC9B,YAAY,CAAC,KAAK,SAAK,GAAG,iBAAiB,EAAE;IAM7C;;;OAGG;IACH,WAAW,CACT,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,IAAI,EACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,GAClB,OAAO;IA+BV;;OAEG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO;IAgBxE,oCAAoC;IACpC,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,EAAE;IAMxC,6BAA6B;IAC7B,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAIlD;;;OAGG;IACH,kBAAkB,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO;IAK5C,gEAAgE;IAChE,qBAAqB,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO;IAO/C,6CAA6C;IAC7C,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIjC,yCAAyC;IACzC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAInC,mCAAmC;IACnC,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAInC,mCAAmC;IACnC,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAInC,8BAA8B;IAC9B,KAAK,IAAI;QACP,mBAAmB,EAAE,MAAM,CAAC;QAC5B,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,qBAAqB,EAAE,MAAM,CAAC;KAC/B;IAaD;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IA6GjB;;;OAGG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,cAAc,GAAG,IAAI;IA6C7D,+CAA+C;IAC/C,OAAO,CAAC,qBAAqB;IAY7B,2DAA2D;IAC3D,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAMtD,SAAS,IAAI,MAAM;IAkBnB,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,UAAU;CAwE5E;AAID,MAAM,WAAW,eAAe;IAC9B,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qDAAqD;IACrD,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,kBAAkB,EAAE,eAKhC,CAAC;AAEF,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAkB;IAChC,yCAAyC;IACzC,OAAO,CAAC,QAAQ,CAAoC;IACpD,mDAAmD;IACnD,OAAO,CAAC,eAAe,CAAoC;gBAE/C,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC;IAI7C;;;OAGG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,UAAQ,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE;IAmDrG,+CAA+C;IAC/C,OAAO,IAAI,IAAI;CAchB"}
1
+ {"version":3,"file":"fraud.d.ts","sourceRoot":"","sources":["../src/fraud.ts"],"names":[],"mappings":"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"}
package/dist/fraud.js CHANGED
@@ -50,6 +50,61 @@ exports.DEFAULT_FRAUD_CONFIG = {
50
50
  },
51
51
  },
52
52
  };
53
+ // ─── Replay Detection ──────────────────────────────────────────────────────
54
+ /**
55
+ * Detects duplicate (replayed) transactions by fingerprinting
56
+ * agentId + amount + reason + counterpartyId. Ported from GridStamp's
57
+ * anti-spoofing layer.
58
+ */
59
+ class ReplayDetector {
60
+ fingerprints = new Map();
61
+ check(agentId, amount, reason, counterpartyId) {
62
+ const raw = `${agentId}|${amount}|${reason}|${counterpartyId ?? ""}`;
63
+ const fp = require("crypto").createHash("sha256").update(raw).digest("hex");
64
+ const now = Date.now();
65
+ // Prune entries older than 5 minutes
66
+ const existing = this.fingerprints.get(fp);
67
+ if (existing) {
68
+ const pruned = existing.filter(t => now - t < 300_000);
69
+ if (pruned.length === 0) {
70
+ this.fingerprints.delete(fp);
71
+ }
72
+ else {
73
+ this.fingerprints.set(fp, pruned);
74
+ }
75
+ }
76
+ const timestamps = this.fingerprints.get(fp) || [];
77
+ let signal = null;
78
+ // 3+ occurrences in 5 minutes → critical
79
+ if (timestamps.length >= 3) {
80
+ signal = {
81
+ type: "replay_detected",
82
+ severity: "critical",
83
+ description: `Transaction replayed ${timestamps.length} times in 5 minutes (agent=${agentId}, amount=${amount})`,
84
+ weight: 0.9,
85
+ };
86
+ // Same fingerprint within 60 seconds → high
87
+ }
88
+ else if (timestamps.length > 0 && now - timestamps[timestamps.length - 1] < 60_000) {
89
+ signal = {
90
+ type: "replay_detected",
91
+ severity: "high",
92
+ description: `Duplicate transaction detected within 60s (agent=${agentId}, amount=${amount})`,
93
+ weight: 0.6,
94
+ };
95
+ }
96
+ // Push current timestamp
97
+ timestamps.push(now);
98
+ this.fingerprints.set(fp, timestamps);
99
+ // Cap map at 10,000 entries to prevent unbounded growth
100
+ if (this.fingerprints.size > 10_000) {
101
+ const firstKey = this.fingerprints.keys().next().value;
102
+ if (firstKey !== undefined)
103
+ this.fingerprints.delete(firstKey);
104
+ }
105
+ return signal;
106
+ }
107
+ }
53
108
  // ─── Fraud Guard ────────────────────────────────────────────────────────────
54
109
  class FraudGuard {
55
110
  config;
@@ -79,6 +134,8 @@ class FraudGuard {
79
134
  transactionGraph;
80
135
  /** Behavioral fingerprinting — only loaded when ml: true */
81
136
  behaviorProfile;
137
+ /** Transaction replay detection (ported from GridStamp anti-spoofing) */
138
+ replayDetector;
82
139
  constructor(config) {
83
140
  // Typo guard — warn if caller passed keys that don't exist on FraudConfig.
84
141
  // This catches latent bugs like `riskScoreThreshold: 1.0` (should be
@@ -116,14 +173,21 @@ class FraudGuard {
116
173
  this.transactionGraph = null;
117
174
  this.behaviorProfile = null;
118
175
  }
176
+ this.replayDetector = new ReplayDetector();
119
177
  }
120
178
  // ── Risk Assessment ────────────────────────────────────────────────────
121
179
  /**
122
180
  * Assess risk for a charge attempt. Returns a RiskAssessment
123
181
  * that includes whether the charge should proceed.
124
182
  */
125
- assessCharge(agentId, amount, reputation, accountCreatedAt, pendingCount, ctx) {
183
+ assessCharge(agentId, amount, reputation, accountCreatedAt, pendingCount, ctx, reason, counterpartyId) {
126
184
  const signals = [];
185
+ // 0a. Replay detection (ported from GridStamp anti-spoofing)
186
+ if (reason !== undefined) {
187
+ const replaySignal = this.replayDetector.check(agentId, amount, reason, counterpartyId);
188
+ if (replaySignal)
189
+ signals.push(replaySignal);
190
+ }
127
191
  // 0. Hard block check
128
192
  if (this.blockedAgents.has(agentId)) {
129
193
  return {