pop-pay 0.5.7 → 0.5.9

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 (41) hide show
  1. package/README.md +2 -2
  2. package/dist/cli-dashboard.js +2 -4
  3. package/dist/cli-dashboard.js.map +1 -1
  4. package/dist/cli-main.js +12 -5
  5. package/dist/cli-main.js.map +1 -1
  6. package/dist/cli-vault.js +70 -27
  7. package/dist/cli-vault.js.map +1 -1
  8. package/dist/client.d.ts.map +1 -1
  9. package/dist/client.js +25 -2
  10. package/dist/client.js.map +1 -1
  11. package/dist/doctor.d.ts +21 -0
  12. package/dist/doctor.d.ts.map +1 -0
  13. package/dist/doctor.js +416 -0
  14. package/dist/doctor.js.map +1 -0
  15. package/dist/engine/injector.d.ts +2 -0
  16. package/dist/engine/injector.d.ts.map +1 -1
  17. package/dist/engine/injector.js +58 -3
  18. package/dist/engine/injector.js.map +1 -1
  19. package/dist/engine/llm-guardrails.d.ts +11 -0
  20. package/dist/engine/llm-guardrails.d.ts.map +1 -1
  21. package/dist/engine/llm-guardrails.js +62 -17
  22. package/dist/engine/llm-guardrails.js.map +1 -1
  23. package/dist/errors.d.ts +89 -0
  24. package/dist/errors.d.ts.map +1 -0
  25. package/dist/errors.js +199 -0
  26. package/dist/errors.js.map +1 -0
  27. package/dist/mcp-server.js +62 -14
  28. package/dist/mcp-server.js.map +1 -1
  29. package/dist/providers/byoc-local.d.ts +6 -1
  30. package/dist/providers/byoc-local.d.ts.map +1 -1
  31. package/dist/providers/byoc-local.js +9 -6
  32. package/dist/providers/byoc-local.js.map +1 -1
  33. package/dist/transport.d.ts +14 -0
  34. package/dist/transport.d.ts.map +1 -0
  35. package/dist/transport.js +107 -0
  36. package/dist/transport.js.map +1 -0
  37. package/dist/vault.d.ts +40 -0
  38. package/dist/vault.d.ts.map +1 -1
  39. package/dist/vault.js +175 -25
  40. package/dist/vault.js.map +1 -1
  41. package/package.json +2 -1
package/dist/vault.js CHANGED
@@ -44,7 +44,7 @@ var __importStar = (this && this.__importStar) || (function () {
44
44
  };
45
45
  })();
46
46
  Object.defineProperty(exports, "__esModule", { value: true });
47
- exports.OSS_WARNING = void 0;
47
+ exports.SENSITIVE_ENV_KEYS = exports.OSS_WARNING = void 0;
48
48
  exports.deriveKeyFromPassphrase = deriveKeyFromPassphrase;
49
49
  exports.storeKeyInKeyring = storeKeyInKeyring;
50
50
  exports.loadKeyFromKeyring = loadKeyFromKeyring;
@@ -52,15 +52,22 @@ exports.clearKeyring = clearKeyring;
52
52
  exports.encryptCredentials = encryptCredentials;
53
53
  exports.decryptCredentials = decryptCredentials;
54
54
  exports.vaultExists = vaultExists;
55
+ exports.parseVaultMode = parseVaultMode;
56
+ exports.readVaultMode = readVaultMode;
57
+ exports.enforceOssSaltConsent = enforceOssSaltConsent;
55
58
  exports.loadVault = loadVault;
59
+ exports.cleanupStaleTempFiles = cleanupStaleTempFiles;
56
60
  exports.saveVault = saveVault;
61
+ exports.wipeVaultArtifacts = wipeVaultArtifacts;
57
62
  exports.secureWipeEnv = secureWipeEnv;
63
+ exports.filteredEnv = filteredEnv;
58
64
  const node_crypto_1 = require("node:crypto");
59
65
  const crypto = __importStar(require("node:crypto"));
60
66
  const node_fs_1 = require("node:fs");
61
67
  const node_os_1 = require("node:os");
62
68
  const node_path_1 = require("node:path");
63
69
  const node_child_process_1 = require("node:child_process");
70
+ const errors_js_1 = require("./errors.js");
64
71
  const VAULT_DIR = (0, node_path_1.join)((0, node_os_1.homedir)(), ".config", "pop-pay");
65
72
  const VAULT_PATH = (0, node_path_1.join)(VAULT_DIR, "vault.enc");
66
73
  const KEYRING_SERVICE = "pop-pay-vault";
@@ -153,8 +160,11 @@ function storeKeyInKeyring(key) {
153
160
  const keytar = require("keytar");
154
161
  keytar.setPassword(KEYRING_SERVICE, KEYRING_USERNAME, key.toString("hex"));
155
162
  }
156
- catch {
157
- throw new Error("keytar package required for passphrase mode. Install with: npm install keytar");
163
+ catch (e) {
164
+ throw new errors_js_1.VaultLocked({
165
+ cause: e,
166
+ remediation: "Install keytar: npm install keytar",
167
+ });
158
168
  }
159
169
  }
160
170
  async function loadKeyFromKeyring() {
@@ -187,7 +197,7 @@ function encryptCredentials(creds, salt, keyOverride) {
187
197
  function decryptCredentials(blob, salt, keyOverride) {
188
198
  if (blob.length < 28) {
189
199
  // 12 nonce + at least 16 GCM tag
190
- throw new Error("vault.enc is corrupted or too small");
200
+ throw new errors_js_1.VaultDecryptFailed("vault.enc is corrupted or too small");
191
201
  }
192
202
  const key = deriveKey(salt, keyOverride);
193
203
  const nonce = blob.subarray(0, 12);
@@ -199,51 +209,98 @@ function decryptCredentials(blob, salt, keyOverride) {
199
209
  const plaintext = Buffer.concat([decipher.update(ciphertext), decipher.final()]);
200
210
  return JSON.parse(plaintext.toString("utf8"));
201
211
  }
202
- catch {
203
- throw new Error("Failed to decrypt vault \u2014 wrong key (machine changed?) or corrupted vault.\n" +
204
- "Re-run: pop-init-vault");
212
+ catch (e) {
213
+ throw new errors_js_1.VaultDecryptFailed("Failed to decrypt vault \u2014 wrong key (machine changed?) or corrupted vault.", { cause: e });
205
214
  }
206
215
  }
207
216
  function vaultExists() {
208
217
  return (0, node_fs_1.existsSync)(VAULT_PATH);
209
218
  }
210
- function writeVaultMode() {
211
- let mode = "oss";
212
- try {
213
- const native = require("../native/pop-pay-native.node");
214
- mode = native.isHardened() ? "hardened" : "oss";
219
+ function writeVaultMode(isPassphrase) {
220
+ let mode;
221
+ if (isPassphrase) {
222
+ mode = "passphrase";
223
+ }
224
+ else {
225
+ let hardened = false;
226
+ try {
227
+ const native = require("../native/pop-pay-native.node");
228
+ hardened = native.isHardened();
229
+ }
230
+ catch { }
231
+ mode = hardened ? "machine-hardened" : "machine-oss";
215
232
  }
216
- catch { }
217
233
  const markerPath = (0, node_path_1.join)(VAULT_DIR, ".vault_mode");
218
234
  (0, node_fs_1.writeFileSync)(markerPath, mode, { mode: 0o600 });
219
235
  }
236
+ /** Pure parse/migrate helper, exported for testability. */
237
+ function parseVaultMode(raw) {
238
+ if (raw == null)
239
+ return "unknown";
240
+ const trimmed = raw.trim();
241
+ if (trimmed === "hardened")
242
+ return "machine-hardened";
243
+ if (trimmed === "oss")
244
+ return "machine-oss";
245
+ if (trimmed === "passphrase" ||
246
+ trimmed === "machine-hardened" ||
247
+ trimmed === "machine-oss") {
248
+ return trimmed;
249
+ }
250
+ return "unknown";
251
+ }
220
252
  function readVaultMode() {
221
253
  const markerPath = (0, node_path_1.join)(VAULT_DIR, ".vault_mode");
222
254
  try {
223
- return (0, node_fs_1.readFileSync)(markerPath, "utf8").trim();
255
+ return parseVaultMode((0, node_fs_1.readFileSync)(markerPath, "utf8"));
224
256
  }
225
257
  catch {
226
258
  return "unknown";
227
259
  }
228
260
  }
261
+ /**
262
+ * F3: OSS salt consent gate. machine-oss vaults use a public salt that an
263
+ * agent with shell execution could derive from public information. Require
264
+ * explicit opt-in via POP_ACCEPT_OSS_SALT=1. Passphrase / machine-hardened /
265
+ * unknown bypass. Exported for direct testing.
266
+ */
267
+ function enforceOssSaltConsent(vaultMode) {
268
+ if (vaultMode !== "machine-oss")
269
+ return;
270
+ if (process.env.POP_ACCEPT_OSS_SALT === "1")
271
+ return;
272
+ const warning = "pop-pay: vault is encrypted with the OSS public salt. " +
273
+ "An agent with shell execution could derive the key from public information.";
274
+ process.stdout.write("\u26a0\ufe0f " + warning + "\n");
275
+ process.stderr.write("\u26a0\ufe0f " + warning + "\n");
276
+ throw new errors_js_1.VaultDecryptFailed("OSS-salt vault load refused: set POP_ACCEPT_OSS_SALT=1 to acknowledge, or re-init via `pop-init-vault --passphrase` for stronger protection.", { remediation: "export POP_ACCEPT_OSS_SALT=1 # or: pop-init-vault --passphrase" });
277
+ }
229
278
  async function loadVault() {
230
- // Downgrade check
279
+ // Downgrade check: vault created under hardened build must not load
280
+ // against a stripped-salt build (attacker could drop the .node to force
281
+ // re-init at the weaker OSS salt). Passphrase / machine-oss / unknown
282
+ // pass through (no native-hardening requirement).
231
283
  const vaultMode = readVaultMode();
232
- if (vaultMode === "hardened") {
284
+ if (vaultMode === "machine-hardened") {
233
285
  try {
234
286
  const native = require("../native/pop-pay-native.node");
235
287
  if (!native.isHardened()) {
236
- throw new Error("Vault was created with a hardened build, but the native extension is missing or not hardened.\n" +
237
- "Reinstall via npm: npm install pop-pay");
288
+ throw new errors_js_1.VaultDecryptFailed("Vault was created with a hardened build, but the native extension is missing or not hardened.", { remediation: "Reinstall via npm: npm install pop-pay" });
238
289
  }
239
290
  }
240
291
  catch (e) {
241
- if (e.code === "MODULE_NOT_FOUND") {
242
- throw new Error("Vault requires hardened build but native module not found. Reinstall via npm: npm install pop-pay");
292
+ if (e instanceof errors_js_1.VaultDecryptFailed)
293
+ throw e;
294
+ if (e?.code === "MODULE_NOT_FOUND") {
295
+ throw new errors_js_1.VaultDecryptFailed("Vault requires hardened build but native module not found.", { cause: e, remediation: "Reinstall via npm: npm install pop-pay" });
243
296
  }
244
- throw e;
297
+ throw new errors_js_1.VaultDecryptFailed(e?.message ?? "Vault hardened-build check failed", { cause: e });
245
298
  }
246
299
  }
300
+ enforceOssSaltConsent(vaultMode);
301
+ if (!(0, node_fs_1.existsSync)(VAULT_PATH)) {
302
+ throw new errors_js_1.VaultNotFound();
303
+ }
247
304
  const blob = (0, node_fs_1.readFileSync)(VAULT_PATH);
248
305
  // Try passphrase-derived key from keyring first
249
306
  const passphraseKey = await loadKeyFromKeyring();
@@ -251,14 +308,50 @@ async function loadVault() {
251
308
  try {
252
309
  return decryptCredentials(blob, undefined, passphraseKey);
253
310
  }
254
- catch {
255
- // Wrong key — fall through to machine-derived key
311
+ catch (e) {
312
+ if (!(e instanceof errors_js_1.VaultDecryptFailed))
313
+ throw e;
314
+ // Wrong passphrase key — fall through to machine-derived key (expected path)
256
315
  }
257
316
  }
258
317
  return decryptCredentials(blob);
259
318
  }
319
+ /**
320
+ * F8: enumerate stale vault.enc*.tmp siblings under VAULT_DIR and securely
321
+ * overwrite + unlink each. Called on save (best-effort) and exposed for
322
+ * external use. A previous crashed save can leave a `.tmp` sibling that may
323
+ * still hold ciphertext bytes; we treat them as sensitive even though they
324
+ * are not plaintext.
325
+ */
326
+ function cleanupStaleTempFiles() {
327
+ if (!(0, node_fs_1.existsSync)(VAULT_DIR))
328
+ return;
329
+ const fs = require("node:fs");
330
+ let entries = [];
331
+ try {
332
+ entries = fs.readdirSync(VAULT_DIR);
333
+ }
334
+ catch {
335
+ return;
336
+ }
337
+ for (const name of entries) {
338
+ if (!name.startsWith("vault.enc") || !name.endsWith(".tmp"))
339
+ continue;
340
+ const p = (0, node_path_1.join)(VAULT_DIR, name);
341
+ try {
342
+ const size = (0, node_fs_1.statSync)(p).size;
343
+ if (size > 0)
344
+ (0, node_fs_1.writeFileSync)(p, Buffer.alloc(size, 0));
345
+ (0, node_fs_1.unlinkSync)(p);
346
+ }
347
+ catch {
348
+ // best-effort; permission errors etc. are non-fatal at save time
349
+ }
350
+ }
351
+ }
260
352
  function saveVault(creds, keyOverride) {
261
353
  (0, node_fs_1.mkdirSync)(VAULT_DIR, { recursive: true });
354
+ cleanupStaleTempFiles(); // F8: sweep prior crashed writes before our own .tmp
262
355
  const blob = encryptCredentials(creds, undefined, keyOverride);
263
356
  // Atomic write: tmp → rename
264
357
  const tmpPath = VAULT_PATH + ".tmp";
@@ -273,8 +366,46 @@ function saveVault(creds, keyOverride) {
273
366
  // Verify the vault is readable
274
367
  const verifyBlob = (0, node_fs_1.readFileSync)(VAULT_PATH);
275
368
  decryptCredentials(verifyBlob, undefined, keyOverride);
276
- // Write mode marker
277
- writeVaultMode();
369
+ // Write mode marker — F4/F7: passphrase / machine-hardened / machine-oss
370
+ writeVaultMode(keyOverride !== undefined);
371
+ }
372
+ /**
373
+ * F8: enumerate every credential-bearing artifact under VAULT_DIR and securely
374
+ * overwrite + unlink. Also clears the OS keyring so passphrase-derived keys
375
+ * are not left behind. Returns the list of paths that were wiped.
376
+ */
377
+ async function wipeVaultArtifacts() {
378
+ const wiped = [];
379
+ if ((0, node_fs_1.existsSync)(VAULT_DIR)) {
380
+ const fs = require("node:fs");
381
+ let entries = [];
382
+ try {
383
+ entries = fs.readdirSync(VAULT_DIR);
384
+ }
385
+ catch {
386
+ entries = [];
387
+ }
388
+ // Anything that touches the vault: ciphertext, atomic temps, mode marker,
389
+ // fallback machine id. Other files in this dir (.env policy template, logs)
390
+ // are out of scope and left alone.
391
+ const sensitive = new Set([".vault_mode", ".machine_id"]);
392
+ for (const name of entries) {
393
+ const isVaultBlob = name === "vault.enc" || (name.startsWith("vault.enc") && name.endsWith(".tmp"));
394
+ if (!isVaultBlob && !sensitive.has(name))
395
+ continue;
396
+ const p = (0, node_path_1.join)(VAULT_DIR, name);
397
+ try {
398
+ const size = (0, node_fs_1.statSync)(p).size;
399
+ if (size > 0)
400
+ (0, node_fs_1.writeFileSync)(p, Buffer.alloc(size, 0));
401
+ (0, node_fs_1.unlinkSync)(p);
402
+ wiped.push(p);
403
+ }
404
+ catch { /* best-effort */ }
405
+ }
406
+ }
407
+ await clearKeyring();
408
+ return wiped;
278
409
  }
279
410
  function secureWipeEnv(envPath) {
280
411
  if (!(0, node_fs_1.existsSync)(envPath))
@@ -283,4 +414,23 @@ function secureWipeEnv(envPath) {
283
414
  (0, node_fs_1.writeFileSync)(envPath, Buffer.alloc(size, 0));
284
415
  (0, node_fs_1.unlinkSync)(envPath);
285
416
  }
417
+ // Names of env vars that carry plaintext PAN/CVV/expiry. Redacted from child
418
+ // process environments so spawned tools (browsers, doctor, scripts) cannot
419
+ // observe card data via their own env read. Vault plaintext never enters
420
+ // process.env in the first place (see S0.7 F1); this is defense in depth.
421
+ exports.SENSITIVE_ENV_KEYS = Object.freeze([
422
+ "POP_BYOC_NUMBER",
423
+ "POP_BYOC_CVV",
424
+ "POP_BYOC_EXP_MONTH",
425
+ "POP_BYOC_EXP_YEAR",
426
+ ]);
427
+ function filteredEnv(base = process.env) {
428
+ const out = {};
429
+ for (const [k, v] of Object.entries(base)) {
430
+ if (exports.SENSITIVE_ENV_KEYS.includes(k))
431
+ continue;
432
+ out[k] = v;
433
+ }
434
+ return out;
435
+ }
286
436
  //# sourceMappingURL=vault.js.map
package/dist/vault.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"vault.js","sourceRoot":"","sources":["../src/vault.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmGH,0DAGC;AAGD,8CASC;AAED,gDAOC;AAED,oCAKC;AAED,gDAaC;AAED,gDAwBC;AAED,kCAEC;AAqBD,8BAkCC;AAED,8BAoBC;AAED,sCAKC;AAjQD,6CAA8E;AAC9E,oDAAsC;AACtC,qCAAmG;AACnG,qCAAsD;AACtD,yCAAiC;AACjC,2DAA8C;AAE9C,MAAM,SAAS,GAAG,IAAA,gBAAI,EAAC,IAAA,iBAAO,GAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AACxD,MAAM,UAAU,GAAG,IAAA,gBAAI,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AAEhD,MAAM,eAAe,GAAG,eAAe,CAAC;AACxC,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;AAE3C,uEAAuE;AACvE,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;AAEnD,QAAA,WAAW,GACtB,kFAAkF;IAClF,yEAAyE;IACzE,gEAAgE;IAChE,qEAAqE;IACrE,8DAA8D,CAAC;AAEjE,SAAS,YAAY;IACnB,yBAAyB;IACzB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAA,sBAAY,EAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3D,IAAI,GAAG;YAAE,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,wBAAwB;IACxB,IAAI,IAAA,kBAAQ,GAAE,KAAK,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAA,6BAAQ,EAAC,sCAAsC,EAAE;gBAC9D,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,MAAM;aACjB,CAAC,CAAC;YACH,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtC,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC9B,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC9C,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAED,qCAAqC;IACrC,IAAI,IAAA,kBAAQ,GAAE,KAAK,OAAO,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAA,6BAAQ,EACrB,oEAAoE,EACpE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CACpC,CAAC;YACF,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAC1D,IAAI,KAAK;gBAAE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAED,yCAAyC;IACzC,MAAM,YAAY,GAAG,IAAA,gBAAI,EAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACpD,IAAI,IAAA,oBAAU,EAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAA,sBAAY,EAAC,YAAY,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,UAAU,GAAG,IAAA,yBAAW,EAAC,EAAE,CAAC,CAAC;IACnC,IAAA,mBAAS,EAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,IAAA,uBAAa,EAAC,YAAY,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACzD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,WAAW;IAClB,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,CAAC,IAAA,kBAAQ,GAAE,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,SAAS,CAAC,IAAa,EAAE,WAAoB;IACpD,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC;IAEpC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,uCAAuC;IACvC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;YACxD,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAClD,IAAI,GAAG;gBAAE,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QACV,IAAI,GAAG,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IACxE,sDAAsD;IACtD,OAAO,IAAA,wBAAU,EAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACpE,CAAC;AAED,SAAgB,uBAAuB,CAAC,UAAkB;IACxD,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,OAAO,IAAA,wBAAU,EAAC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;AAClE,CAAC;AAED,+CAA+C;AAC/C,SAAgB,iBAAiB,CAAC,GAAW;IAC3C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,CAAC,WAAW,CAAC,eAAe,EAAE,gBAAgB,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7E,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF,CAAC;IACJ,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,kBAAkB;IACtC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;QAC3E,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,OAAO,IAAI,CAAC;AACd,CAAC;AAEM,KAAK,UAAU,YAAY;IAChC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,MAAM,CAAC,cAAc,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;AACZ,CAAC;AAED,SAAgB,kBAAkB,CAChC,KAA6B,EAC7B,IAAa,EACb,WAAoB;IAEpB,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,IAAA,yBAAW,EAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB;IACrD,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC5E,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,WAAW;IAC5C,sFAAsF;IACtF,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,SAAgB,kBAAkB,CAChC,IAAY,EACZ,IAAa,EACb,WAAoB;IAEpB,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACrB,iCAAiC;QACjC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACpE,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACjF,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,mFAAmF;YACjF,wBAAwB,CAC3B,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAgB,WAAW;IACzB,OAAO,IAAA,oBAAU,EAAC,UAAU,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,cAAc;IACrB,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;QACxD,IAAI,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,MAAM,UAAU,GAAG,IAAA,gBAAI,EAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAClD,IAAA,uBAAa,EAAC,UAAU,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,aAAa;IACpB,MAAM,UAAU,GAAG,IAAA,gBAAI,EAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAClD,IAAI,CAAC;QACH,OAAO,IAAA,sBAAY,EAAC,UAAU,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,SAAS;IAC7B,kBAAkB;IAClB,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;IAClC,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;YACxD,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CACb,iGAAiG;oBAC/F,wCAAwC,CAC3C,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,CAAC,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CACb,mGAAmG,CACpG,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,IAAA,sBAAY,EAAC,UAAU,CAAC,CAAC;IAEtC,gDAAgD;IAChD,MAAM,aAAa,GAAG,MAAM,kBAAkB,EAAE,CAAC;IACjD,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,OAAO,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QAC5D,CAAC;QAAC,MAAM,CAAC;YACP,kDAAkD;QACpD,CAAC;IACH,CAAC;IACD,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC;AAED,SAAgB,SAAS,CAAC,KAA6B,EAAE,WAAoB;IAC3E,IAAA,mBAAS,EAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAC/D,6BAA6B;IAC7B,MAAM,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;IACpC,IAAA,uBAAa,EAAC,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAE9C,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAC9B,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACtC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACjB,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAEjB,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACnC,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAChC,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC/B,+BAA+B;IAC/B,MAAM,UAAU,GAAG,IAAA,sBAAY,EAAC,UAAU,CAAC,CAAC;IAC5C,kBAAkB,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IACvD,oBAAoB;IACpB,cAAc,EAAE,CAAC;AACnB,CAAC;AAED,SAAgB,aAAa,CAAC,OAAe;IAC3C,IAAI,CAAC,IAAA,oBAAU,EAAC,OAAO,CAAC;QAAE,OAAO;IACjC,MAAM,IAAI,GAAG,IAAA,kBAAQ,EAAC,OAAO,CAAC,CAAC,IAAI,CAAC;IACpC,IAAA,uBAAa,EAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9C,IAAA,oBAAU,EAAC,OAAO,CAAC,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"vault.js","sourceRoot":"","sources":["../src/vault.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pop-pay",
3
- "version": "0.5.7",
3
+ "version": "0.5.9",
4
4
  "mcpName": "io.github.100xPercent/pop-pay",
5
5
  "description": "The runtime security layer for AI agent commerce. Drop-in CLI + MCP server — blocks hallucinated purchases and keeps card credentials out of agent context. It only takes 0.1% of hallucination to drain 100% of your wallet.",
6
6
  "main": "dist/index.js",
@@ -65,6 +65,7 @@
65
65
  "stripe": "^17.0.0"
66
66
  },
67
67
  "devDependencies": {
68
+ "@anthropic-ai/sdk": "^0.89.0",
68
69
  "@types/better-sqlite3": "^7.6.0",
69
70
  "@types/node": "^20.0.0",
70
71
  "eslint": "^9.0.0",