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
@@ -129,15 +129,9 @@ async function main() {
129
129
  }
130
130
  }
131
131
  catch { }
132
- // Set vault creds as env defaults
133
- if (vaultCreds.card_number)
134
- process.env.POP_BYOC_NUMBER ??= vaultCreds.card_number;
135
- if (vaultCreds.cvv)
136
- process.env.POP_BYOC_CVV ??= vaultCreds.cvv;
137
- if (vaultCreds.exp_month)
138
- process.env.POP_BYOC_EXP_MONTH ??= vaultCreds.exp_month;
139
- if (vaultCreds.exp_year)
140
- process.env.POP_BYOC_EXP_YEAR ??= vaultCreds.exp_year;
132
+ // S0.7 F1: do NOT write plaintext PAN/CVV into process.env. Vault creds stay
133
+ // scoped to `vaultCreds` and are handed to LocalVaultProvider directly. Child
134
+ // processes spawned by pop-pay also get a filtered env (see filteredEnv).
141
135
  // Configuration
142
136
  const allowedCategories = JSON.parse(process.env.POP_ALLOWED_CATEGORIES ?? '["aws", "cloudflare"]');
143
137
  const maxPerTx = parseFloat(process.env.POP_MAX_PER_TX ?? "100.0");
@@ -215,8 +209,8 @@ async function main() {
215
209
  const { StripeIssuingProvider } = await import("./providers/stripe-real.js");
216
210
  provider = new StripeIssuingProvider(stripeKey);
217
211
  }
218
- else if (process.env.POP_BYOC_NUMBER) {
219
- provider = new byoc_local_js_1.LocalVaultProvider();
212
+ else if (vaultCreds.card_number || process.env.POP_BYOC_NUMBER) {
213
+ provider = new byoc_local_js_1.LocalVaultProvider(vaultCreds.card_number ? vaultCreds : undefined);
220
214
  }
221
215
  else {
222
216
  provider = new stripe_mock_js_1.MockStripeProvider();
@@ -651,9 +645,63 @@ async function main() {
651
645
  ],
652
646
  };
653
647
  });
654
- // Start stdio transport
655
- const transport = new stdio_js_1.StdioServerTransport();
656
- await server.connect(transport);
648
+ // S0.7 F6(A): transport dispatch — pipe (stdio, default) or tcp (HTTP+Bearer).
649
+ const transportArg = (() => {
650
+ const idx = process.argv.indexOf("--transport");
651
+ if (idx >= 0 && process.argv[idx + 1])
652
+ return process.argv[idx + 1];
653
+ return "pipe";
654
+ })();
655
+ if (transportArg === "tcp") {
656
+ const { StreamableHTTPServerTransport } = await import("@modelcontextprotocol/sdk/server/streamableHttp.js");
657
+ const { generateAttachToken, writeAttachArtifacts, clearAttachArtifacts, pickEphemeralPort, checkBearer, TOKEN_PATH, PORT_PATH, } = await import("./transport.js");
658
+ const { createServer } = await import("node:http");
659
+ const token = generateAttachToken();
660
+ const port = await pickEphemeralPort();
661
+ writeAttachArtifacts(token, port);
662
+ const httpTransport = new StreamableHTTPServerTransport({
663
+ sessionIdGenerator: () => (0, node_crypto_1.randomUUID)(),
664
+ });
665
+ await server.connect(httpTransport);
666
+ const httpServer = createServer(async (req, res) => {
667
+ if (!checkBearer(req.headers.authorization, token)) {
668
+ res.statusCode = 401;
669
+ res.setHeader("Content-Type", "application/json");
670
+ res.end(JSON.stringify({ error: "unauthorized: missing or invalid Bearer token" }));
671
+ return;
672
+ }
673
+ // Body parse for POST
674
+ let body = undefined;
675
+ if (req.method === "POST") {
676
+ const chunks = [];
677
+ for await (const c of req)
678
+ chunks.push(c);
679
+ const raw = Buffer.concat(chunks).toString("utf8");
680
+ try {
681
+ body = raw ? JSON.parse(raw) : undefined;
682
+ }
683
+ catch {
684
+ body = undefined;
685
+ }
686
+ }
687
+ await httpTransport.handleRequest(req, res, body);
688
+ });
689
+ httpServer.listen(port, "127.0.0.1", () => {
690
+ process.stderr.write(`pop-pay MCP server listening on http://127.0.0.1:${port}/\n` +
691
+ ` token: ${TOKEN_PATH}\n` +
692
+ ` port: ${PORT_PATH}\n` +
693
+ `Attach with: Authorization: Bearer $(cat ${TOKEN_PATH})\n`);
694
+ });
695
+ const cleanup = () => { clearAttachArtifacts(); process.exit(0); };
696
+ process.on("SIGTERM", cleanup);
697
+ process.on("SIGINT", cleanup);
698
+ process.on("exit", clearAttachArtifacts);
699
+ }
700
+ else {
701
+ // Default: stdio pipe (Claude Desktop compat).
702
+ const transport = new stdio_js_1.StdioServerTransport();
703
+ await server.connect(transport);
704
+ }
657
705
  } // end main
658
706
  main().catch((err) => {
659
707
  process.stderr.write(`pop-pay MCP server fatal error: ${err}\n`);
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,12 @@ export declare class LocalVaultProvider implements VirtualCardProvider {
6
6
  readonly expYear: string;
7
7
  readonly cvv: string;
8
8
  readonly billingInfo: Record<string, string>;
9
- constructor();
9
+ constructor(creds?: {
10
+ card_number?: string;
11
+ cvv?: string;
12
+ exp_month?: string;
13
+ exp_year?: string;
14
+ });
10
15
  issueCard(intent: PaymentIntent, policy: GuardrailPolicy): Promise<VirtualSeal>;
11
16
  }
12
17
  //# sourceMappingURL=byoc-local.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"byoc-local.d.ts","sourceRoot":"","sources":["../../src/providers/byoc-local.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErF,qBAAa,kBAAmB,YAAW,mBAAmB;IAC5D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;;IA4BvC,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;CAuBtF"}
1
+ {"version":3,"file":"byoc-local.d.ts","sourceRoot":"","sources":["../../src/providers/byoc-local.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErF,qBAAa,kBAAmB,YAAW,mBAAmB;IAC5D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAEjC,KAAK,CAAC,EAAE;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;IA6BK,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;CAuBtF"}
@@ -8,13 +8,16 @@ class LocalVaultProvider {
8
8
  expYear;
9
9
  cvv;
10
10
  billingInfo;
11
- constructor() {
12
- this.cardNumber = process.env.POP_BYOC_NUMBER ?? "";
13
- this.expMonth = process.env.POP_BYOC_EXP_MONTH ?? "";
14
- this.expYear = process.env.POP_BYOC_EXP_YEAR ?? "";
15
- this.cvv = process.env.POP_BYOC_CVV ?? "";
11
+ constructor(creds) {
12
+ // Prefer explicitly injected creds (vault path). Env fallback is for users
13
+ // who set POP_BYOC_* manually in .env without a vault. Plaintext PAN/CVV
14
+ // no longer round-trips through process.env when coming from vault (S0.7 F1).
15
+ this.cardNumber = creds?.card_number ?? process.env.POP_BYOC_NUMBER ?? "";
16
+ this.expMonth = creds?.exp_month ?? process.env.POP_BYOC_EXP_MONTH ?? "";
17
+ this.expYear = creds?.exp_year ?? process.env.POP_BYOC_EXP_YEAR ?? "";
18
+ this.cvv = creds?.cvv ?? process.env.POP_BYOC_CVV ?? "";
16
19
  if (!this.cardNumber || !this.expMonth || !this.expYear || !this.cvv) {
17
- throw new Error("Missing BYOC environment variables. Check POP_BYOC_NUMBER, POP_BYOC_EXP_MONTH, POP_BYOC_EXP_YEAR, POP_BYOC_CVV.");
20
+ throw new Error("Missing BYOC credentials. Configure via vault (`pop-pay init-vault`) or env (POP_BYOC_NUMBER, POP_BYOC_EXP_MONTH, POP_BYOC_EXP_YEAR, POP_BYOC_CVV).");
18
21
  }
19
22
  this.billingInfo = {
20
23
  firstName: process.env.POP_BILLING_FIRST_NAME?.trim() ?? "",
@@ -1 +1 @@
1
- {"version":3,"file":"byoc-local.js","sourceRoot":"","sources":["../../src/providers/byoc-local.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAIzC,MAAa,kBAAkB;IACpB,UAAU,CAAS;IACnB,QAAQ,CAAS;IACjB,OAAO,CAAS;IAChB,GAAG,CAAS;IACZ,WAAW,CAAyB;IAE7C;QACE,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC;QACpD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC;QACrD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC;QACnD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;QAE1C,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CACb,iHAAiH,CAClH,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,WAAW,GAAG;YACjB,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,IAAI,EAAE,IAAI,EAAE;YAC3D,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE;YACzD,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE;YACpD,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE;YAChD,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE;YAClD,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE;YACtD,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;YAC9C,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE;YAClD,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE;YAClD,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,IAAI,EAAE,IAAI,EAAE;SAC3E,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAqB,EAAE,MAAuB;QAC5D,IAAI,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;YACnD,OAAO;gBACL,MAAM,EAAE,IAAA,wBAAU,GAAE;gBACpB,UAAU,EAAE,IAAI;gBAChB,GAAG,EAAE,IAAI;gBACT,cAAc,EAAE,IAAI;gBACpB,gBAAgB,EAAE,GAAG;gBACrB,MAAM,EAAE,UAAU;gBAClB,eAAe,EAAE,6BAA6B;aAC/C,CAAC;QACJ,CAAC;QAED,OAAO;YACL,MAAM,EAAE,IAAA,wBAAU,GAAE;YACpB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,cAAc,EAAE,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE;YAClD,gBAAgB,EAAE,MAAM,CAAC,eAAe;YACxC,MAAM,EAAE,QAAQ;YAChB,eAAe,EAAE,IAAI;SACtB,CAAC;IACJ,CAAC;CACF;AAxDD,gDAwDC"}
1
+ {"version":3,"file":"byoc-local.js","sourceRoot":"","sources":["../../src/providers/byoc-local.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAIzC,MAAa,kBAAkB;IACpB,UAAU,CAAS;IACnB,QAAQ,CAAS;IACjB,OAAO,CAAS;IAChB,GAAG,CAAS;IACZ,WAAW,CAAyB;IAE7C,YAAY,KAKX;QACC,2EAA2E;QAC3E,yEAAyE;QACzE,8EAA8E;QAC9E,IAAI,CAAC,UAAU,GAAG,KAAK,EAAE,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC;QAC1E,IAAI,CAAC,QAAQ,GAAG,KAAK,EAAE,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC;QACzE,IAAI,CAAC,OAAO,GAAG,KAAK,EAAE,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC;QACtE,IAAI,CAAC,GAAG,GAAG,KAAK,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;QAExD,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CACb,qJAAqJ,CACtJ,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,WAAW,GAAG;YACjB,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,IAAI,EAAE,IAAI,EAAE;YAC3D,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE;YACzD,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE;YACpD,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE;YAChD,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE;YAClD,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE;YACtD,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;YAC9C,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE;YAClD,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE;YAClD,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,IAAI,EAAE,IAAI,EAAE;SAC3E,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAqB,EAAE,MAAuB;QAC5D,IAAI,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;YACnD,OAAO;gBACL,MAAM,EAAE,IAAA,wBAAU,GAAE;gBACpB,UAAU,EAAE,IAAI;gBAChB,GAAG,EAAE,IAAI;gBACT,cAAc,EAAE,IAAI;gBACpB,gBAAgB,EAAE,GAAG;gBACrB,MAAM,EAAE,UAAU;gBAClB,eAAe,EAAE,6BAA6B;aAC/C,CAAC;QACJ,CAAC;QAED,OAAO;YACL,MAAM,EAAE,IAAA,wBAAU,GAAE;YACpB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,cAAc,EAAE,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE;YAClD,gBAAgB,EAAE,MAAM,CAAC,eAAe;YACxC,MAAM,EAAE,QAAQ;YAChB,eAAe,EAAE,IAAI;SACtB,CAAC;IACJ,CAAC;CACF;AAhED,gDAgEC"}
@@ -0,0 +1,14 @@
1
+ export declare const VAULT_DIR: string;
2
+ export declare const TOKEN_PATH: string;
3
+ export declare const PORT_PATH: string;
4
+ export declare const TOKEN_BYTES = 32;
5
+ export declare function generateAttachToken(): string;
6
+ export declare function writeAttachArtifacts(token: string, port: number): void;
7
+ export declare function clearAttachArtifacts(): void;
8
+ export declare function pickEphemeralPort(): Promise<number>;
9
+ /**
10
+ * Constant-time Bearer-token check for the Authorization header.
11
+ * Returns true iff `header` exactly matches `Bearer <expectedToken>`.
12
+ */
13
+ export declare function checkBearer(headerValue: string | undefined, expectedToken: string): boolean;
14
+ //# sourceMappingURL=transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"AA+BA,eAAO,MAAM,SAAS,QAAwC,CAAC;AAC/D,eAAO,MAAM,UAAU,QAAmC,CAAC;AAC3D,eAAO,MAAM,SAAS,QAAkC,CAAC;AAEzD,eAAO,MAAM,WAAW,KAAK,CAAC;AAE9B,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAQtE;AAED,wBAAgB,oBAAoB,IAAI,IAAI,CAiB3C;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAgBnD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAO3F"}
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TOKEN_BYTES = exports.PORT_PATH = exports.TOKEN_PATH = exports.VAULT_DIR = void 0;
4
+ exports.generateAttachToken = generateAttachToken;
5
+ exports.writeAttachArtifacts = writeAttachArtifacts;
6
+ exports.clearAttachArtifacts = clearAttachArtifacts;
7
+ exports.pickEphemeralPort = pickEphemeralPort;
8
+ exports.checkBearer = checkBearer;
9
+ /**
10
+ * S0.7 F6(A): cross-process MCP transport split.
11
+ *
12
+ * Threat closed: a sibling process on the same host attaches to the MCP server
13
+ * post-launch, bypassing the launcher's policy context.
14
+ *
15
+ * Architecture:
16
+ * - Launcher path = stdio pipe (default; preserves Claude Desktop config compat).
17
+ * - Attacher path = StreamableHTTP on 127.0.0.1:<ephemeral>, gated by Bearer token.
18
+ * - Token (256-bit) + ephemeral port written to ~/.config/pop-pay/.attach_{token,port}
19
+ * mode 0600. Both rotate on every restart.
20
+ *
21
+ * The Bearer-auth middleware rejects with 401 BEFORE any MCP frame is parsed.
22
+ */
23
+ const node_fs_1 = require("node:fs");
24
+ const node_os_1 = require("node:os");
25
+ const node_path_1 = require("node:path");
26
+ const node_crypto_1 = require("node:crypto");
27
+ const node_net_1 = require("node:net");
28
+ exports.VAULT_DIR = (0, node_path_1.join)((0, node_os_1.homedir)(), ".config", "pop-pay");
29
+ exports.TOKEN_PATH = (0, node_path_1.join)(exports.VAULT_DIR, ".attach_token");
30
+ exports.PORT_PATH = (0, node_path_1.join)(exports.VAULT_DIR, ".attach_port");
31
+ exports.TOKEN_BYTES = 32; // 256-bit
32
+ function generateAttachToken() {
33
+ return (0, node_crypto_1.randomBytes)(exports.TOKEN_BYTES).toString("hex");
34
+ }
35
+ function writeAttachArtifacts(token, port) {
36
+ if (!(0, node_fs_1.existsSync)(exports.VAULT_DIR))
37
+ (0, node_fs_1.mkdirSync)(exports.VAULT_DIR, { recursive: true });
38
+ try {
39
+ (0, node_fs_1.chmodSync)(exports.VAULT_DIR, 0o700);
40
+ }
41
+ catch { /* best-effort */ }
42
+ (0, node_fs_1.writeFileSync)(exports.TOKEN_PATH, token, { mode: 0o600 });
43
+ (0, node_fs_1.writeFileSync)(exports.PORT_PATH, String(port), { mode: 0o600 });
44
+ // writeFileSync mode is masked by umask on some platforms — re-chmod to be sure.
45
+ try {
46
+ (0, node_fs_1.chmodSync)(exports.TOKEN_PATH, 0o600);
47
+ }
48
+ catch { /* best-effort */ }
49
+ try {
50
+ (0, node_fs_1.chmodSync)(exports.PORT_PATH, 0o600);
51
+ }
52
+ catch { /* best-effort */ }
53
+ }
54
+ function clearAttachArtifacts() {
55
+ for (const p of [exports.TOKEN_PATH, exports.PORT_PATH]) {
56
+ try {
57
+ if (!(0, node_fs_1.existsSync)(p))
58
+ continue;
59
+ const size = (0, node_fs_1.statSync)(p).size;
60
+ if (size > 0) {
61
+ const fd = (0, node_fs_1.openSync)(p, "r+");
62
+ try {
63
+ (0, node_fs_1.writeSync)(fd, Buffer.alloc(size, 0));
64
+ (0, node_fs_1.fsyncSync)(fd);
65
+ }
66
+ finally {
67
+ (0, node_fs_1.closeSync)(fd);
68
+ }
69
+ }
70
+ (0, node_fs_1.unlinkSync)(p);
71
+ }
72
+ catch { /* best-effort */ }
73
+ }
74
+ }
75
+ function pickEphemeralPort() {
76
+ return new Promise((resolve, reject) => {
77
+ const srv = (0, node_net_1.createServer)();
78
+ srv.unref();
79
+ srv.on("error", reject);
80
+ srv.listen(0, "127.0.0.1", () => {
81
+ const addr = srv.address();
82
+ if (addr && typeof addr === "object") {
83
+ const port = addr.port;
84
+ srv.close(() => resolve(port));
85
+ }
86
+ else {
87
+ srv.close();
88
+ reject(new Error("could not determine ephemeral port"));
89
+ }
90
+ });
91
+ });
92
+ }
93
+ /**
94
+ * Constant-time Bearer-token check for the Authorization header.
95
+ * Returns true iff `header` exactly matches `Bearer <expectedToken>`.
96
+ */
97
+ function checkBearer(headerValue, expectedToken) {
98
+ if (!headerValue)
99
+ return false;
100
+ const expected = `Bearer ${expectedToken}`;
101
+ const a = Buffer.from(headerValue);
102
+ const b = Buffer.from(expected);
103
+ if (a.length !== b.length)
104
+ return false;
105
+ return (0, node_crypto_1.timingSafeEqual)(a, b);
106
+ }
107
+ //# sourceMappingURL=transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
package/dist/vault.d.ts CHANGED
@@ -17,7 +17,47 @@ export declare function clearKeyring(): Promise<void>;
17
17
  export declare function encryptCredentials(creds: Record<string, string>, salt?: Buffer, keyOverride?: Buffer): Buffer;
18
18
  export declare function decryptCredentials(blob: Buffer, salt?: Buffer, keyOverride?: Buffer): Record<string, string>;
19
19
  export declare function vaultExists(): boolean;
20
+ /**
21
+ * Vault mode marker schema (F4/F7, S0.7).
22
+ *
23
+ * Values written to `~/.config/pop-pay/.vault_mode`:
24
+ * - `passphrase` — vault key derived from user passphrase (PBKDF2),
25
+ * stored in OS keyring. Not bound to machine salt.
26
+ * - `machine-hardened` — machine-derived key using CI-injected compiled salt.
27
+ * - `machine-oss` — machine-derived key using public OSS salt.
28
+ * - `unknown` — marker file missing (pre-S0.7 vaults or manual deletion).
29
+ *
30
+ * Legacy markers (`hardened`, `oss`) written by pre-S0.7 builds are migrated
31
+ * on read. The next saveVault call rewrites the file in the new schema.
32
+ */
33
+ export type VaultMode = "passphrase" | "machine-hardened" | "machine-oss" | "unknown";
34
+ /** Pure parse/migrate helper, exported for testability. */
35
+ export declare function parseVaultMode(raw: string | null | undefined): VaultMode;
36
+ export declare function readVaultMode(): VaultMode;
37
+ /**
38
+ * F3: OSS salt consent gate. machine-oss vaults use a public salt that an
39
+ * agent with shell execution could derive from public information. Require
40
+ * explicit opt-in via POP_ACCEPT_OSS_SALT=1. Passphrase / machine-hardened /
41
+ * unknown bypass. Exported for direct testing.
42
+ */
43
+ export declare function enforceOssSaltConsent(vaultMode: VaultMode): void;
20
44
  export declare function loadVault(): Promise<Record<string, string>>;
45
+ /**
46
+ * F8: enumerate stale vault.enc*.tmp siblings under VAULT_DIR and securely
47
+ * overwrite + unlink each. Called on save (best-effort) and exposed for
48
+ * external use. A previous crashed save can leave a `.tmp` sibling that may
49
+ * still hold ciphertext bytes; we treat them as sensitive even though they
50
+ * are not plaintext.
51
+ */
52
+ export declare function cleanupStaleTempFiles(): void;
21
53
  export declare function saveVault(creds: Record<string, string>, keyOverride?: Buffer): void;
54
+ /**
55
+ * F8: enumerate every credential-bearing artifact under VAULT_DIR and securely
56
+ * overwrite + unlink. Also clears the OS keyring so passphrase-derived keys
57
+ * are not left behind. Returns the list of paths that were wiped.
58
+ */
59
+ export declare function wipeVaultArtifacts(): Promise<string[]>;
22
60
  export declare function secureWipeEnv(envPath: string): void;
61
+ export declare const SENSITIVE_ENV_KEYS: readonly string[];
62
+ export declare function filteredEnv(base?: NodeJS.ProcessEnv): NodeJS.ProcessEnv;
23
63
  //# sourceMappingURL=vault.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["../src/vault.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAkBH,eAAO,MAAM,WAAW,QAKwC,CAAC;AA4EjE,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAGlE;AAGD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CASnD;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAOjE;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAKlD;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,IAAI,CAAC,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CASR;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAoBxB;AAED,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAqBD,wBAAsB,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAkCjE;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAoBnF;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAKnD"}
1
+ {"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["../src/vault.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAmBH,eAAO,MAAM,WAAW,QAKwC,CAAC;AA4EjE,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAGlE;AAGD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAUnD;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAOjE;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAKlD;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,IAAI,CAAC,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CASR;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAoBxB;AAED,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,SAAS,GACjB,YAAY,GACZ,kBAAkB,GAClB,aAAa,GACb,SAAS,CAAC;AAkBd,2DAA2D;AAC3D,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,SAAS,CAaxE;AAED,wBAAgB,aAAa,IAAI,SAAS,CAOzC;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAYhE;AAED,wBAAsB,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAgDjE;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAgB5C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAqBnF;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAwB5D;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAKnD;AAMD,eAAO,MAAM,kBAAkB,mBAK7B,CAAC;AAEH,wBAAgB,WAAW,CAAC,IAAI,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAAC,UAAU,CAOpF"}