@vinkius-core/mcp-fusion 1.11.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -17,14 +17,16 @@ export interface CursorCodecOptions {
17
17
  /**
18
18
  * Stateless Cryptographic Cursor for pagination using Web Crypto API.
19
19
  *
20
- * Works in Node >= 18, Deno, Bun, and Cloudflare Workers.
20
+ * Works in Node >= 16, Deno, Bun, and Cloudflare Workers.
21
21
  */
22
22
  export declare class CursorCodec {
23
23
  private readonly _mode;
24
- private readonly _secretBytes;
24
+ private _secretBytes;
25
+ private readonly _providedSecret;
25
26
  private _hmacKey?;
26
27
  private _aesKey?;
27
28
  constructor(options?: CursorCodecOptions);
29
+ private ensureSecret;
28
30
  private getHmacKey;
29
31
  private getAesKey;
30
32
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"CursorCodec.d.ts","sourceRoot":"","sources":["../../src/prompt/CursorCodec.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC1B,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEhD,MAAM,WAAW,kBAAkB;IAC/B;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAwBD;;;;GAIG;AACH,qBAAa,WAAW;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAa;IAC1C,OAAO,CAAC,QAAQ,CAAC,CAAY;IAC7B,OAAO,CAAC,OAAO,CAAC,CAAY;gBAEhB,OAAO,CAAC,EAAE,kBAAkB;YAe1B,UAAU;YAaV,SAAS;IAavB;;OAEG;IACG,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IA6BrD;;;OAGG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;CAmDnE"}
1
+ {"version":3,"file":"CursorCodec.d.ts","sourceRoot":"","sources":["../../src/prompt/CursorCodec.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC1B,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEhD,MAAM,WAAW,kBAAkB;IAC/B;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAyDD;;;;GAIG;AACH,qBAAa,WAAW;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IACnC,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IACrD,OAAO,CAAC,QAAQ,CAAC,CAAY;IAC7B,OAAO,CAAC,OAAO,CAAC,CAAY;gBAEhB,OAAO,CAAC,EAAE,kBAAkB;YAe1B,YAAY;YAOZ,UAAU;YAeV,SAAS;IAevB;;OAEG;IACG,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IA+BrD;;;OAGG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;CAsDnE"}
@@ -1,3 +1,32 @@
1
+ /**
2
+ * Lazily resolves the Web Crypto API.
3
+ * Works in Node >= 16 (via node:crypto.webcrypto), Node >= 19 (globalThis.crypto),
4
+ * Deno, Bun, and Cloudflare Workers.
5
+ */
6
+ let _resolvedCrypto;
7
+ async function getCrypto() {
8
+ if (_resolvedCrypto)
9
+ return _resolvedCrypto;
10
+ // globalThis.crypto.subtle is available in Node >= 19, Deno, Bun, CF Workers
11
+ if (typeof globalThis.crypto !== 'undefined' && globalThis.crypto.subtle) {
12
+ _resolvedCrypto = globalThis.crypto;
13
+ return _resolvedCrypto;
14
+ }
15
+ // Node.js 16-18 fallback — webcrypto available via node:crypto module
16
+ // Variable indirection prevents TypeScript from resolving the module statically (no @types/node)
17
+ try {
18
+ const mod = 'node:' + 'crypto';
19
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
20
+ const nodeCrypto = (await import(mod)).webcrypto;
21
+ if (nodeCrypto?.subtle) {
22
+ _resolvedCrypto = nodeCrypto;
23
+ return _resolvedCrypto;
24
+ }
25
+ }
26
+ catch { /* not in Node */ }
27
+ throw new Error('CursorCodec requires the Web Crypto API. ' +
28
+ 'Ensure globalThis.crypto.subtle is available or use Node >= 16.');
29
+ }
1
30
  function base64UrlEncode(buffer) {
2
31
  const bytes = buffer instanceof Uint8Array ? buffer : new Uint8Array(buffer);
3
32
  let binary = '';
@@ -21,15 +50,17 @@ function base64UrlDecode(base64) {
21
50
  /**
22
51
  * Stateless Cryptographic Cursor for pagination using Web Crypto API.
23
52
  *
24
- * Works in Node >= 18, Deno, Bun, and Cloudflare Workers.
53
+ * Works in Node >= 16, Deno, Bun, and Cloudflare Workers.
25
54
  */
26
55
  export class CursorCodec {
27
56
  _mode;
28
57
  _secretBytes;
58
+ _providedSecret;
29
59
  _hmacKey;
30
60
  _aesKey;
31
61
  constructor(options) {
32
62
  this._mode = options?.mode ?? 'signed';
63
+ this._providedSecret = options?.secret;
33
64
  if (options?.secret) {
34
65
  const encoder = new TextEncoder();
35
66
  const buf = encoder.encode(options.secret);
@@ -38,19 +69,28 @@ export class CursorCodec {
38
69
  }
39
70
  this._secretBytes = buf;
40
71
  }
41
- else {
42
- this._secretBytes = globalThis.crypto.getRandomValues(new Uint8Array(32));
43
- }
72
+ // When no secret provided, _secretBytes is deferred to first use (async)
73
+ }
74
+ async ensureSecret() {
75
+ if (this._secretBytes)
76
+ return this._secretBytes;
77
+ const crypto = await getCrypto();
78
+ this._secretBytes = crypto.getRandomValues(new Uint8Array(32));
79
+ return this._secretBytes;
44
80
  }
45
81
  async getHmacKey() {
46
82
  if (!this._hmacKey) {
47
- this._hmacKey = await globalThis.crypto.subtle.importKey('raw', this._secretBytes, { name: 'HMAC', hash: 'SHA-256' }, false, ['sign', 'verify']);
83
+ const secret = await this.ensureSecret();
84
+ const crypto = await getCrypto();
85
+ this._hmacKey = await crypto.subtle.importKey('raw', secret, { name: 'HMAC', hash: 'SHA-256' }, false, ['sign', 'verify']);
48
86
  }
49
87
  return this._hmacKey;
50
88
  }
51
89
  async getAesKey() {
52
90
  if (!this._aesKey) {
53
- this._aesKey = await globalThis.crypto.subtle.importKey('raw', this._secretBytes, 'AES-GCM', false, ['encrypt', 'decrypt']);
91
+ const secret = await this.ensureSecret();
92
+ const crypto = await getCrypto();
93
+ this._aesKey = await crypto.subtle.importKey('raw', secret, 'AES-GCM', false, ['encrypt', 'decrypt']);
54
94
  }
55
95
  return this._aesKey;
56
96
  }
@@ -62,15 +102,17 @@ export class CursorCodec {
62
102
  const dataBuffer = new TextEncoder().encode(data);
63
103
  if (this._mode === 'encrypted') {
64
104
  const aesKey = await this.getAesKey();
65
- const iv = globalThis.crypto.getRandomValues(new Uint8Array(12));
66
- const encryptedBuf = await globalThis.crypto.subtle.encrypt({ name: 'AES-GCM', iv: iv }, aesKey, dataBuffer);
105
+ const crypto = await getCrypto();
106
+ const iv = crypto.getRandomValues(new Uint8Array(12));
107
+ const encryptedBuf = await crypto.subtle.encrypt({ name: 'AES-GCM', iv: iv }, aesKey, dataBuffer);
67
108
  // Web Crypto AES-GCM appends the 16-byte auth tag at the end of the ciphertext
68
109
  return `${base64UrlEncode(iv)}.${base64UrlEncode(encryptedBuf)}`;
69
110
  }
70
111
  else {
71
112
  // Signed HMAC
72
113
  const hmacKey = await this.getHmacKey();
73
- const signatureBuf = await globalThis.crypto.subtle.sign('HMAC', hmacKey, dataBuffer);
114
+ const cryptoApi = await getCrypto();
115
+ const signatureBuf = await cryptoApi.subtle.sign('HMAC', hmacKey, dataBuffer);
74
116
  return `${base64UrlEncode(dataBuffer)}.${base64UrlEncode(signatureBuf)}`;
75
117
  }
76
118
  }
@@ -90,7 +132,8 @@ export class CursorCodec {
90
132
  const iv = base64UrlDecode(ivStr);
91
133
  const encrypted = base64UrlDecode(encryptedStr);
92
134
  const aesKey = await this.getAesKey();
93
- const decryptedBuf = await globalThis.crypto.subtle.decrypt({ name: 'AES-GCM', iv: iv }, aesKey, encrypted);
135
+ const cryptoApi = await getCrypto();
136
+ const decryptedBuf = await cryptoApi.subtle.decrypt({ name: 'AES-GCM', iv: iv }, aesKey, encrypted);
94
137
  const decrypted = new TextDecoder().decode(decryptedBuf);
95
138
  return JSON.parse(decrypted);
96
139
  }
@@ -105,7 +148,8 @@ export class CursorCodec {
105
148
  const dataBuffer = base64UrlDecode(dataB64);
106
149
  const signatureBuf = base64UrlDecode(signatureB64);
107
150
  const hmacKey = await this.getHmacKey();
108
- const isValid = await globalThis.crypto.subtle.verify('HMAC', hmacKey, signatureBuf, dataBuffer);
151
+ const cryptoApi2 = await getCrypto();
152
+ const isValid = await cryptoApi2.subtle.verify('HMAC', hmacKey, signatureBuf, dataBuffer);
109
153
  if (!isValid)
110
154
  return undefined;
111
155
  const decrypted = new TextDecoder().decode(dataBuffer);
@@ -1 +1 @@
1
- {"version":3,"file":"CursorCodec.js","sourceRoot":"","sources":["../../src/prompt/CursorCodec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CursorCodec.js","sourceRoot":"","sources":["../../src/prompt/CursorCodec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vinkius-core/mcp-fusion",
3
- "version": "1.11.0",
3
+ "version": "2.0.0",
4
4
  "description": "MVA (Model-View-Agent) framework for the Model Context Protocol. Structured perception packages with Presenters, cognitive guardrails, self-healing errors, action consolidation, and tRPC-style type safety — so AI agents perceive and act on your data deterministically.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -21,10 +21,7 @@
21
21
  "lint:fix": "eslint src/ --fix",
22
22
  "test": "vitest run",
23
23
  "test:coverage": "vitest run --coverage",
24
- "prepublishOnly": "npm run build",
25
- "docs:dev": "vitepress dev docs",
26
- "docs:build": "vitepress build docs",
27
- "docs:preview": "vitepress preview docs"
24
+ "prepublishOnly": "npm run build"
28
25
  },
29
26
  "keywords": [
30
27
  "mcp",
@@ -47,7 +44,8 @@
47
44
  "author": "Vinkius Labs",
48
45
  "repository": {
49
46
  "type": "git",
50
- "url": "git+https://github.com/vinkius-labs/mcp-fusion.git"
47
+ "url": "git+https://github.com/vinkius-labs/mcp-fusion.git",
48
+ "directory": "packages/core"
51
49
  },
52
50
  "bugs": {
53
51
  "url": "https://github.com/vinkius-labs/mcp-fusion/issues"
@@ -57,8 +55,7 @@
57
55
  "dist",
58
56
  "README.md",
59
57
  "CHANGELOG.md",
60
- "LICENSE",
61
- "llms.txt"
58
+ "LICENSE"
62
59
  ],
63
60
  "engines": {
64
61
  "node": ">=18.0.0"
@@ -74,15 +71,5 @@
74
71
  "@modelcontextprotocol/sdk": "^1.12.1",
75
72
  "zod": "^3.25.1 || ^4.0.0"
76
73
  },
77
- "devDependencies": {
78
- "@eslint/js": "^10.0.1",
79
- "@vitest/coverage-v8": "^3.2.4",
80
- "eslint": "^10.0.1",
81
- "typescript": "^5.7.3",
82
- "typescript-eslint": "^8.56.0",
83
- "vitepress": "^1.6.4",
84
- "vitest": "^3.0.5",
85
- "vue": "^3.5.28"
86
- },
87
74
  "license": "Apache-2.0"
88
75
  }