@mnemopay/sdk 0.7.5 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/README.md +182 -211
  2. package/dist/cli/dashboard.d.ts +9 -0
  3. package/dist/cli/dashboard.d.ts.map +1 -0
  4. package/dist/cli/dashboard.js +78 -0
  5. package/dist/cli/dashboard.js.map +1 -0
  6. package/dist/client.d.ts +182 -0
  7. package/dist/client.d.ts.map +1 -0
  8. package/dist/client.js +177 -0
  9. package/dist/client.js.map +1 -0
  10. package/dist/commerce.d.ts +225 -0
  11. package/dist/commerce.d.ts.map +1 -0
  12. package/dist/commerce.js +420 -0
  13. package/dist/commerce.js.map +1 -0
  14. package/dist/fraud.d.ts +75 -1
  15. package/dist/fraud.d.ts.map +1 -1
  16. package/dist/fraud.js +247 -26
  17. package/dist/fraud.js.map +1 -1
  18. package/dist/identity.d.ts +154 -0
  19. package/dist/identity.d.ts.map +1 -0
  20. package/dist/identity.js +269 -0
  21. package/dist/identity.js.map +1 -0
  22. package/dist/index.d.ts +44 -4
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +196 -37
  25. package/dist/index.js.map +1 -1
  26. package/dist/ledger.d.ts +137 -0
  27. package/dist/ledger.d.ts.map +1 -0
  28. package/dist/ledger.js +250 -0
  29. package/dist/ledger.js.map +1 -0
  30. package/dist/mcp/server.d.ts.map +1 -1
  31. package/dist/mcp/server.js +298 -6
  32. package/dist/mcp/server.js.map +1 -1
  33. package/dist/network.d.ts +155 -0
  34. package/dist/network.d.ts.map +1 -0
  35. package/dist/network.js +263 -0
  36. package/dist/network.js.map +1 -0
  37. package/dist/rails/index.d.ts +2 -0
  38. package/dist/rails/index.d.ts.map +1 -1
  39. package/dist/rails/index.js +19 -4
  40. package/dist/rails/index.js.map +1 -1
  41. package/dist/rails/paystack.d.ts +157 -0
  42. package/dist/rails/paystack.d.ts.map +1 -0
  43. package/dist/rails/paystack.js +366 -0
  44. package/dist/rails/paystack.js.map +1 -0
  45. package/package.json +34 -17
@@ -0,0 +1,269 @@
1
+ "use strict";
2
+ /**
3
+ * Agent Identity System for MnemoPay
4
+ *
5
+ * Inspired by the elephant's olfactory signature system — each elephant has
6
+ * a unique chemical identity recognizable by kin after 12+ years of separation.
7
+ * Similarly, each MnemoPay agent gets a unique cryptographic identity that
8
+ * persists across sessions and enables trust verification.
9
+ *
10
+ * Components:
11
+ * - AgentIdentity: Cryptographic keypair + metadata for each agent
12
+ * - CapabilityToken: Scoped, time-limited permissions for agent actions
13
+ * - IdentityRegistry: Discovery and verification of agent identities
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.IdentityRegistry = void 0;
17
+ // ─── Crypto Utilities ───────────────────────────────────────────────────────
18
+ const crypto_1 = require("crypto");
19
+ function generateKeyPair() {
20
+ // 32 random bytes for private key
21
+ const privateKeyBuf = (0, crypto_1.randomBytes)(32);
22
+ const privateKey = privateKeyBuf.toString("hex");
23
+ // Derive public key deterministically from private key via HMAC-SHA256
24
+ const publicKey = (0, crypto_1.createHmac)("sha256", privateKeyBuf)
25
+ .update("mnemopay-v1-public-key-derivation")
26
+ .digest("hex");
27
+ return { publicKey, privateKey };
28
+ }
29
+ function signMessage(message, privateKey) {
30
+ // HMAC-SHA256 signature using the agent's private key
31
+ return (0, crypto_1.createHmac)("sha256", Buffer.from(privateKey, "hex"))
32
+ .update(message)
33
+ .digest("hex");
34
+ }
35
+ // ─── Identity Registry ──────────────────────────────────────────────────────
36
+ class IdentityRegistry {
37
+ identities = new Map();
38
+ tokens = new Map();
39
+ agentTokens = new Map(); // agentId → token IDs
40
+ /**
41
+ * Create a new agent identity with a cryptographic keypair.
42
+ */
43
+ createIdentity(agentId, ownerId, ownerEmail, options) {
44
+ if (this.identities.has(agentId)) {
45
+ throw new Error(`Agent identity already exists: ${agentId}`);
46
+ }
47
+ const { publicKey, privateKey } = generateKeyPair();
48
+ const now = new Date().toISOString();
49
+ const identity = {
50
+ agentId,
51
+ publicKey,
52
+ privateKey,
53
+ ownerId,
54
+ displayName: options?.displayName,
55
+ capabilities: options?.capabilities ?? [],
56
+ createdAt: now,
57
+ lastActiveAt: now,
58
+ verified: false,
59
+ kya: {
60
+ ownerType: options?.ownerType ?? "individual",
61
+ ownerEmail,
62
+ ownerCountry: options?.ownerCountry,
63
+ ownerKycStatus: "unverified",
64
+ financialAuthorized: false,
65
+ },
66
+ };
67
+ this.identities.set(agentId, identity);
68
+ return identity;
69
+ }
70
+ /**
71
+ * Get an agent's identity (public info only — strips private key).
72
+ */
73
+ getIdentity(agentId) {
74
+ const identity = this.identities.get(agentId);
75
+ if (!identity)
76
+ return null;
77
+ const { privateKey: _, ...publicIdentity } = identity;
78
+ return publicIdentity;
79
+ }
80
+ /**
81
+ * Verify an agent's KYC status (mark as verified after external check).
82
+ */
83
+ verifyKYC(agentId) {
84
+ const identity = this.identities.get(agentId);
85
+ if (!identity)
86
+ throw new Error(`Unknown agent: ${agentId}`);
87
+ identity.kya.ownerKycStatus = "verified";
88
+ identity.kya.kycVerifiedAt = new Date().toISOString();
89
+ identity.kya.financialAuthorized = true;
90
+ identity.verified = true;
91
+ }
92
+ /**
93
+ * Issue a scoped capability token to an agent.
94
+ */
95
+ issueToken(agentId, permissions, options) {
96
+ const identity = this.identities.get(agentId);
97
+ if (!identity)
98
+ throw new Error(`Unknown agent: ${agentId}`);
99
+ const now = new Date();
100
+ const expiresInMs = (options?.expiresInMinutes ?? 60) * 60_000;
101
+ const token = {
102
+ id: crypto.randomUUID(),
103
+ agentId,
104
+ permissions,
105
+ maxAmount: options?.maxAmount,
106
+ maxTotalSpend: options?.maxTotalSpend,
107
+ totalSpent: 0,
108
+ allowedCounterparties: options?.allowedCounterparties ?? [],
109
+ allowedCategories: options?.allowedCategories ?? [],
110
+ issuedAt: now.toISOString(),
111
+ expiresAt: new Date(now.getTime() + expiresInMs).toISOString(),
112
+ revoked: false,
113
+ issuedBy: options?.issuedBy ?? identity.ownerId,
114
+ };
115
+ this.tokens.set(token.id, token);
116
+ // Track tokens per agent
117
+ if (!this.agentTokens.has(agentId)) {
118
+ this.agentTokens.set(agentId, new Set());
119
+ }
120
+ this.agentTokens.get(agentId).add(token.id);
121
+ return token;
122
+ }
123
+ /**
124
+ * Validate a capability token for a specific action.
125
+ */
126
+ validateToken(tokenId, action, amount, counterpartyId) {
127
+ const token = this.tokens.get(tokenId);
128
+ if (!token) {
129
+ return { valid: false, agentId: "", reason: "Token not found" };
130
+ }
131
+ if (token.revoked) {
132
+ return { valid: false, agentId: token.agentId, reason: "Token has been revoked" };
133
+ }
134
+ // Check expiry
135
+ if (new Date() > new Date(token.expiresAt)) {
136
+ return { valid: false, agentId: token.agentId, reason: "Token has expired" };
137
+ }
138
+ // Check permission
139
+ if (!token.permissions.includes(action) && !token.permissions.includes("admin")) {
140
+ return { valid: false, agentId: token.agentId, reason: `Token does not grant '${action}' permission` };
141
+ }
142
+ // Check per-transaction amount limit
143
+ if (amount !== undefined && token.maxAmount !== undefined && amount > token.maxAmount) {
144
+ return {
145
+ valid: false,
146
+ agentId: token.agentId,
147
+ reason: `Amount $${amount} exceeds token limit $${token.maxAmount}`,
148
+ };
149
+ }
150
+ // Check total spend limit
151
+ if (amount !== undefined && token.maxTotalSpend !== undefined) {
152
+ if (token.totalSpent + amount > token.maxTotalSpend) {
153
+ return {
154
+ valid: false,
155
+ agentId: token.agentId,
156
+ reason: `Total spend would exceed limit ($${token.totalSpent + amount} > $${token.maxTotalSpend})`,
157
+ };
158
+ }
159
+ }
160
+ // Check counterparty whitelist
161
+ if (counterpartyId && token.allowedCounterparties.length > 0) {
162
+ if (!token.allowedCounterparties.includes(counterpartyId)) {
163
+ return {
164
+ valid: false,
165
+ agentId: token.agentId,
166
+ reason: `Counterparty '${counterpartyId}' not in allowed list`,
167
+ };
168
+ }
169
+ }
170
+ const identity = this.identities.get(token.agentId);
171
+ return {
172
+ valid: true,
173
+ agentId: token.agentId,
174
+ identity: identity ? { ...identity, privateKey: "[redacted]" } : undefined,
175
+ activeToken: token,
176
+ };
177
+ }
178
+ /**
179
+ * Record spending against a token's total spend limit.
180
+ */
181
+ recordSpend(tokenId, amount) {
182
+ const token = this.tokens.get(tokenId);
183
+ if (!token)
184
+ throw new Error(`Token not found: ${tokenId}`);
185
+ token.totalSpent += amount;
186
+ }
187
+ /**
188
+ * Revoke a capability token immediately.
189
+ */
190
+ revokeToken(tokenId) {
191
+ const token = this.tokens.get(tokenId);
192
+ if (!token)
193
+ throw new Error(`Token not found: ${tokenId}`);
194
+ token.revoked = true;
195
+ }
196
+ /**
197
+ * Revoke ALL tokens for an agent (kill switch).
198
+ */
199
+ revokeAllTokens(agentId) {
200
+ const tokenIds = this.agentTokens.get(agentId);
201
+ if (!tokenIds)
202
+ return 0;
203
+ let revoked = 0;
204
+ for (const id of tokenIds) {
205
+ const token = this.tokens.get(id);
206
+ if (token && !token.revoked) {
207
+ token.revoked = true;
208
+ revoked++;
209
+ }
210
+ }
211
+ return revoked;
212
+ }
213
+ /**
214
+ * List all active (non-revoked, non-expired) tokens for an agent.
215
+ */
216
+ listActiveTokens(agentId) {
217
+ const tokenIds = this.agentTokens.get(agentId);
218
+ if (!tokenIds)
219
+ return [];
220
+ const now = new Date();
221
+ return Array.from(tokenIds)
222
+ .map(id => this.tokens.get(id))
223
+ .filter(t => !t.revoked && new Date(t.expiresAt) > now);
224
+ }
225
+ /**
226
+ * Update last active timestamp (call on any agent activity).
227
+ */
228
+ touch(agentId) {
229
+ const identity = this.identities.get(agentId);
230
+ if (identity) {
231
+ identity.lastActiveAt = new Date().toISOString();
232
+ }
233
+ }
234
+ /**
235
+ * Sign a message with an agent's private key (for inter-agent verification).
236
+ */
237
+ sign(agentId, message) {
238
+ const identity = this.identities.get(agentId);
239
+ if (!identity)
240
+ throw new Error(`Unknown agent: ${agentId}`);
241
+ return signMessage(message, identity.privateKey);
242
+ }
243
+ // ── Serialization ────────────────────────────────────────────────────────
244
+ serialize() {
245
+ return {
246
+ identities: Array.from(this.identities.values()),
247
+ tokens: Array.from(this.tokens.values()),
248
+ };
249
+ }
250
+ static deserialize(data) {
251
+ const registry = new IdentityRegistry();
252
+ for (const id of data.identities) {
253
+ registry.identities.set(id.agentId, id);
254
+ }
255
+ for (const token of data.tokens) {
256
+ registry.tokens.set(token.id, token);
257
+ if (!registry.agentTokens.has(token.agentId)) {
258
+ registry.agentTokens.set(token.agentId, new Set());
259
+ }
260
+ registry.agentTokens.get(token.agentId).add(token.id);
261
+ }
262
+ return registry;
263
+ }
264
+ get size() {
265
+ return this.identities.size;
266
+ }
267
+ }
268
+ exports.IdentityRegistry = IdentityRegistry;
269
+ //# sourceMappingURL=identity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;AAwFH,+EAA+E;AAE/E,mCAAiD;AAEjD,SAAS,eAAe;IACtB,kCAAkC;IAClC,MAAM,aAAa,GAAG,IAAA,oBAAW,EAAC,EAAE,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEjD,uEAAuE;IACvE,MAAM,SAAS,GAAG,IAAA,mBAAU,EAAC,QAAQ,EAAE,aAAa,CAAC;SAClD,MAAM,CAAC,mCAAmC,CAAC;SAC3C,MAAM,CAAC,KAAK,CAAC,CAAC;IAEjB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AACnC,CAAC;AAED,SAAS,WAAW,CAAC,OAAe,EAAE,UAAkB;IACtD,sDAAsD;IACtD,OAAO,IAAA,mBAAU,EAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;SACxD,MAAM,CAAC,OAAO,CAAC;SACf,MAAM,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC;AAED,+EAA+E;AAE/E,MAAa,gBAAgB;IACnB,UAAU,GAA+B,IAAI,GAAG,EAAE,CAAC;IACnD,MAAM,GAAiC,IAAI,GAAG,EAAE,CAAC;IACjD,WAAW,GAA6B,IAAI,GAAG,EAAE,CAAC,CAAC,sBAAsB;IAEjF;;OAEG;IACH,cAAc,CACZ,OAAe,EACf,OAAe,EACf,UAAkB,EAClB,OAKC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,kCAAkC,OAAO,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,eAAe,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAErC,MAAM,QAAQ,GAAkB;YAC9B,OAAO;YACP,SAAS;YACT,UAAU;YACV,OAAO;YACP,WAAW,EAAE,OAAO,EAAE,WAAW;YACjC,YAAY,EAAE,OAAO,EAAE,YAAY,IAAI,EAAE;YACzC,SAAS,EAAE,GAAG;YACd,YAAY,EAAE,GAAG;YACjB,QAAQ,EAAE,KAAK;YACf,GAAG,EAAE;gBACH,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,YAAY;gBAC7C,UAAU;gBACV,YAAY,EAAE,OAAO,EAAE,YAAY;gBACnC,cAAc,EAAE,YAAY;gBAC5B,mBAAmB,EAAE,KAAK;aAC3B;SACF,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACvC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,OAAe;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3B,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,GAAG,QAAQ,CAAC;QACtD,OAAO,cAAc,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,OAAe;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,OAAO,EAAE,CAAC,CAAC;QAC5D,QAAQ,CAAC,GAAG,CAAC,cAAc,GAAG,UAAU,CAAC;QACzC,QAAQ,CAAC,GAAG,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACtD,QAAQ,CAAC,GAAG,CAAC,mBAAmB,GAAG,IAAI,CAAC;QACxC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,UAAU,CACR,OAAe,EACf,WAAyB,EACzB,OAOC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,OAAO,EAAE,CAAC,CAAC;QAE5D,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,gBAAgB,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC;QAE/D,MAAM,KAAK,GAAoB;YAC7B,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;YACvB,OAAO;YACP,WAAW;YACX,SAAS,EAAE,OAAO,EAAE,SAAS;YAC7B,aAAa,EAAE,OAAO,EAAE,aAAa;YACrC,UAAU,EAAE,CAAC;YACb,qBAAqB,EAAE,OAAO,EAAE,qBAAqB,IAAI,EAAE;YAC3D,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,IAAI,EAAE;YACnD,QAAQ,EAAE,GAAG,CAAC,WAAW,EAAE;YAC3B,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,WAAW,CAAC,CAAC,WAAW,EAAE;YAC9D,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,QAAQ,CAAC,OAAO;SAChD,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAEjC,yBAAyB;QACzB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAE7C,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,aAAa,CACX,OAAe,EACf,MAAkB,EAClB,MAAe,EACf,cAAuB;QAEvB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;QAClE,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC;QACpF,CAAC;QAED,eAAe;QACf,IAAI,IAAI,IAAI,EAAE,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;QAC/E,CAAC;QAED,mBAAmB;QACnB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAChF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,yBAAyB,MAAM,cAAc,EAAE,CAAC;QACzG,CAAC;QAED,qCAAqC;QACrC,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;YACtF,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,WAAW,MAAM,yBAAyB,KAAK,CAAC,SAAS,EAAE;aACpE,CAAC;QACJ,CAAC;QAED,0BAA0B;QAC1B,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YAC9D,IAAI,KAAK,CAAC,UAAU,GAAG,MAAM,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;gBACpD,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,MAAM,EAAE,oCAAoC,KAAK,CAAC,UAAU,GAAG,MAAM,OAAO,KAAK,CAAC,aAAa,GAAG;iBACnG,CAAC;YACJ,CAAC;QACH,CAAC;QAED,+BAA+B;QAC/B,IAAI,cAAc,IAAI,KAAK,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7D,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC1D,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,MAAM,EAAE,iBAAiB,cAAc,uBAAuB;iBAC/D,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEpD,OAAO;YACL,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS;YAC1E,WAAW,EAAE,KAAK;SACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,OAAe,EAAE,MAAc;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;QAC3D,KAAK,CAAC,UAAU,IAAI,MAAM,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,OAAe;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;QAC3D,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,OAAe;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ;YAAE,OAAO,CAAC,CAAC;QACxB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC5B,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;gBACrB,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,OAAe;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;aACxB,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC;aAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAe;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACnD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,OAAe,EAAE,OAAe;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,OAAO,EAAE,CAAC,CAAC;QAC5D,OAAO,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IACnD,CAAC;IAED,4EAA4E;IAE5E,SAAS;QAIP,OAAO;YACL,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAChD,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;SACzC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,IAGlB;QACC,MAAM,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACxC,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACjC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC1C,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACrC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7C,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;YACrD,CAAC;YACD,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;IAC9B,CAAC;CACF;AA7RD,4CA6RC"}
package/dist/index.d.ts CHANGED
@@ -13,6 +13,8 @@ import { type RecallStrategy, type EmbeddingProvider, type RecallEngineConfig }
13
13
  import { FraudGuard, type FraudConfig, type Dispute, type RequestContext } from "./fraud.js";
14
14
  import { type PaymentRail } from "./rails/index.js";
15
15
  import { type StorageAdapter } from "./storage/sqlite.js";
16
+ import { Ledger, type LedgerEntry, type LedgerSummary, type AccountBalance, type Currency } from "./ledger.js";
17
+ import { IdentityRegistry } from "./identity.js";
16
18
  type Listener = (...args: any[]) => void;
17
19
  declare class EventEmitter {
18
20
  private _events;
@@ -70,7 +72,7 @@ export interface Transaction {
70
72
  agentId: string;
71
73
  amount: number;
72
74
  reason: string;
73
- status: "pending" | "completed" | "refunded" | "disputed";
75
+ status: "pending" | "completed" | "refunded" | "disputed" | "expired";
74
76
  createdAt: Date;
75
77
  completedAt?: Date;
76
78
  /** Platform fee deducted on settlement */
@@ -85,6 +87,8 @@ export interface Transaction {
85
87
  externalStatus?: string;
86
88
  /** Counter-party agent ID (required when requireCounterparty is enabled) */
87
89
  counterpartyId?: string;
90
+ /** Idempotency key for payment rail calls */
91
+ idempotencyKey?: string;
88
92
  }
89
93
  export interface AgentProfile {
90
94
  id: string;
@@ -169,12 +173,20 @@ export declare class MnemoPayLite extends EventEmitter {
169
173
  private persistPath?;
170
174
  private persistTimer?;
171
175
  private storageAdapter?;
176
+ /** Guard against concurrent double-settle on the same transaction */
177
+ private _settlingTxIds;
178
+ /** Guard against concurrent wallet mutations */
179
+ private _walletLock;
172
180
  /** Fraud detection, rate limiting, dispute resolution, and platform fee */
173
181
  readonly fraud: FraudGuard;
174
182
  /** Pluggable payment rail (Stripe, Lightning, etc.). Default: in-memory mock. */
175
183
  readonly paymentRail: PaymentRail;
176
184
  /** When true, settle() requires a different agentId than the charge creator */
177
185
  readonly requireCounterparty: boolean;
186
+ /** Double-entry ledger — every financial operation is tracked with debit+credit pairs */
187
+ readonly ledger: Ledger;
188
+ /** Agent identity registry — cryptographic identity, KYA compliance, capability tokens */
189
+ readonly identity: IdentityRegistry;
178
190
  constructor(agentId: string, decay?: number, debug?: boolean, recallConfig?: Partial<RecallEngineConfig>, fraudConfig?: Partial<FraudConfig>, paymentRail?: PaymentRail, requireCounterparty?: boolean, storage?: StorageAdapter);
179
191
  enablePersistence(dir: string): void;
180
192
  private _loadFromDisk;
@@ -189,12 +201,32 @@ export declare class MnemoPayLite extends EventEmitter {
189
201
  forget(id: string): Promise<boolean>;
190
202
  reinforce(id: string, boost?: number): Promise<void>;
191
203
  consolidate(): Promise<number>;
204
+ /**
205
+ * Expire pending transactions older than the escrow timeout.
206
+ * Default: 24 hours (1440 minutes, matching disputeWindowMinutes).
207
+ * Releases escrowed funds back to the agent.
208
+ */
209
+ expireStaleEscrows(maxAgeMinutes?: number): Promise<number>;
192
210
  charge(amount: number, reason: string, ctx?: RequestContext): Promise<Transaction>;
193
211
  settle(txId: string, counterpartyId?: string): Promise<Transaction>;
194
212
  refund(txId: string): Promise<Transaction>;
195
213
  dispute(txId: string, reason: string, evidence?: string[]): Promise<Dispute>;
196
214
  resolveDispute(disputeId: string, outcome: "refund" | "uphold"): Promise<Dispute>;
197
215
  balance(): Promise<BalanceInfo>;
216
+ /**
217
+ * Get the ledger balance for this agent (computed from double-entry records).
218
+ * This is the source of truth — should match this._wallet.
219
+ */
220
+ ledgerBalance(currency?: Currency): Promise<AccountBalance>;
221
+ /**
222
+ * Verify the entire ledger balances (total debits = total credits).
223
+ * If imbalance !== 0, there's a bug.
224
+ */
225
+ verifyLedger(): Promise<LedgerSummary>;
226
+ /**
227
+ * Get all ledger entries for a specific transaction.
228
+ */
229
+ ledgerEntries(txId: string): Promise<LedgerEntry[]>;
198
230
  profile(): Promise<AgentProfile>;
199
231
  logs(limit?: number): Promise<AuditEntry[]>;
200
232
  history(limit?: number): Promise<Transaction[]>;
@@ -271,12 +303,20 @@ export { autoScore, computeScore, reputationTier };
271
303
  export { RecallEngine, cosineSimilarity, localEmbed, l2Normalize } from "./recall/engine.js";
272
304
  export type { RecallStrategy, EmbeddingProvider, RecallEngineConfig, RecallResult } from "./recall/engine.js";
273
305
  export { FraudGuard, RateLimiter, DEFAULT_FRAUD_CONFIG, DEFAULT_RATE_LIMIT } from "./fraud.js";
274
- export type { FraudConfig, FraudSignal, RiskAssessment, Dispute, PlatformFeeRecord, RequestContext, RateLimitConfig } from "./fraud.js";
306
+ export type { FraudConfig, FeeTier, FraudSignal, RiskAssessment, Dispute, PlatformFeeRecord, RequestContext, RateLimitConfig, GeoProfile, GeoFraudConfig } from "./fraud.js";
275
307
  export { IsolationForest, TransactionGraph, BehaviorProfile } from "./fraud-ml.js";
276
308
  export type { CollusionSignal, DriftSignal, BehaviorSnapshot } from "./fraud-ml.js";
277
- export { MockRail, StripeRail, LightningRail } from "./rails/index.js";
278
- export type { PaymentRail, PaymentRailResult } from "./rails/index.js";
309
+ export { MockRail, StripeRail, LightningRail, PaystackRail, NIGERIAN_BANKS } from "./rails/index.js";
310
+ export type { PaymentRail, PaymentRailResult, PaystackConfig, PaystackCurrency, PaystackHoldResult, PaystackVerifyResult, PaystackTransferRecipient, PaystackTransferResult, PaystackWebhookEvent } from "./rails/index.js";
279
311
  export { SQLiteStorage, JSONFileStorage } from "./storage/sqlite.js";
280
312
  export type { StorageAdapter, PersistedState } from "./storage/sqlite.js";
313
+ export { Ledger } from "./ledger.js";
314
+ export type { LedgerEntry, LedgerSummary, AccountBalance, Currency, AccountType, TransferResult } from "./ledger.js";
315
+ export { IdentityRegistry } from "./identity.js";
316
+ export type { AgentIdentity, CapabilityToken, Permission, IdentityVerification, KYARecord } from "./identity.js";
317
+ export { MnemoPayNetwork } from "./network.js";
318
+ export type { NetworkAgent, DealResult, NetworkStats, NetworkConfig } from "./network.js";
319
+ export { CommerceEngine, MockCommerceProvider } from "./commerce.js";
320
+ export type { ShoppingMandate, ProductResult, PurchaseOrder, CommerceProvider, SearchOptions, ApprovalCallback } from "./commerce.js";
281
321
  export { default as createSandboxServer } from "./mcp/server.js";
282
322
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}