@vurb/core 3.7.7 → 3.7.8

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
@@ -26,19 +26,23 @@ Type-safe tools, structured AI perception, and built-in security. Deploy once
26
26
  vurb create my-server
27
27
  ```
28
28
 
29
+ Open it in Cursor, Claude Code, or GitHub Copilot and prompt:
30
+
29
31
  ```
30
32
  → "Build an MCP server for patient records with Prisma.
31
33
  Redact SSN and diagnosis from LLM output. Add an FSM
32
34
  that gates discharge tools until attending physician signs off."
33
35
  ```
34
36
 
35
- Your AI agent reads the `SKILL.md` and writes the entire MCP server. First pass — no corrections.
37
+ The agent reads the `SKILL.md` and writes the entire server. First pass — no corrections.
38
+
39
+ One command. Your MCP server is live on **Vinkius Edge**, **Vercel Functions**, or **Cloudflare Workers**.
36
40
 
37
41
  ```bash
38
42
  vurb deploy
39
43
  ```
40
44
 
41
- MCP server live. A production-ready MCP server with file-based routing, Presenters, middleware, tests, and pre-configured connections for **Cursor**, **Claude Desktop**, **Claude Code**, **Windsurf**, **Cline**, and **VS Code + GitHub Copilot**.
45
+ A production-ready MCP server with file-based routing, Presenters, middleware, tests, and pre-configured connections for **Cursor**, **Claude Desktop**, **Claude Code**, **Windsurf**, **Cline**, and **VS Code + GitHub Copilot**.
42
46
 
43
47
  ---
44
48
 
@@ -126,6 +130,12 @@ This works on Cursor, Claude Code, GitHub Copilot, Windsurf, Cline — any agent
126
130
 
127
131
  ---
128
132
 
133
+ ### Scaffold Options
134
+
135
+ ```bash
136
+ vurb create my-server
137
+ ```
138
+
129
139
  ```
130
140
  Project name? › my-server
131
141
  Transport? › http
@@ -13,7 +13,7 @@ export function readme(config) {
13
13
  : '';
14
14
  return `# ${config.name}
15
15
 
16
- MCP Server built with [Vurb](https://vurb.vinkius.com/) — the MCP framework with MVA architecture.
16
+ MCP Server built with [Vurb.ts](https://vurb.vinkius.com/) — the TypeScript framework for MCP servers.
17
17
 
18
18
  ## Quick Start
19
19
 
@@ -1 +1 @@
1
- {"version":3,"file":"CryptoAttestation.d.ts","sourceRoot":"","sources":["../../src/introspection/CryptoAttestation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CryptoAttestation.d.ts","sourceRoot":"","sources":["../../src/introspection/CryptoAttestation.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,16 @@ async function getSubtle() {
17
17
  * @returns An `AttestationSigner` using HMAC-SHA256
18
18
  */
19
19
  export function createHmacSigner(secret) {
20
+ // Security #5: reject weak secrets
21
+ if (secret.length < 32) {
22
+ const msg = `[Vurb] HMAC secret must be at least 32 characters (got ${secret.length}). ` +
23
+ `Use a cryptographically random value (e.g. openssl rand -hex 32).`;
24
+ if (process.env['NODE_ENV'] === 'production') {
25
+ throw new Error(msg);
26
+ }
27
+ // eslint-disable-next-line no-console
28
+ console.warn(`⚠️ ${msg}`);
29
+ }
20
30
  return {
21
31
  name: 'hmac-sha256',
22
32
  async sign(digest) {
@@ -1 +1 @@
1
- {"version":3,"file":"CryptoAttestation.js","sourceRoot":"","sources":["../../src/introspection/CryptoAttestation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CryptoAttestation.js","sourceRoot":"","sources":["../../src/introspection/CryptoAttestation.ts"],"names":[],"mappings":"AAiCA,6EAA6E;AAC7E,IAAI,OAAiC,CAAC;AACtC,KAAK,UAAU,SAAS;IACpB,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC;IAC5B,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM;WAC5B,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,MAAsB,CAAC;IACtE,OAAO,OAAO,CAAC;AACnB,CAAC;AAsGD,+EAA+E;AAC/E,yBAAyB;AACzB,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC3C,mCAAmC;IACnC,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACrB,MAAM,GAAG,GACL,0DAA0D,MAAM,CAAC,MAAM,KAAK;YAC5E,mEAAmE,CAAC;QACxE,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,YAAY,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QACD,sCAAsC;QACtC,OAAO,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO;QACH,IAAI,EAAE,aAAa;QACnB,KAAK,CAAC,IAAI,CAAC,MAAc;YACrB,OAAO,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACpC,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,SAAiB;YAC1C,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAChD,OAAO,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAClD,CAAC;KACJ,CAAC;AACN,CAAC;AAED,+EAA+E;AAC/E,yBAAyB;AACzB,+EAA+E;AAE/E;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACpC,YAA0B,EAC1B,MAAuB;IAEvB,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE5C,+CAA+C;IAC/C,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,KAAK,MAAM,CAAC,cAAc,CAAC;QAC9D,OAAO;YACH,KAAK,EAAE,OAAO;YACd,cAAc,EAAE,YAAY,CAAC,MAAM;YACnC,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,SAAS;YACT,UAAU,EAAE,MAAM,CAAC,IAAI;YACvB,UAAU;YACV,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,uCAAuC,YAAY,CAAC,MAAM,4BAA4B,MAAM,CAAC,cAAc,EAAE;SACxI,CAAC;IACN,CAAC;IAED,OAAO;QACH,KAAK,EAAE,IAAI;QACX,cAAc,EAAE,YAAY,CAAC,MAAM;QACnC,cAAc,EAAE,IAAI;QACpB,SAAS;QACT,UAAU,EAAE,MAAM,CAAC,IAAI;QACvB,UAAU;QACV,KAAK,EAAE,IAAI;KACd,CAAC;AACN,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACnC,YAA0B,EAC1B,SAAiB,EACjB,MAAuB;IAEvB,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACrE,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE5C,OAAO;QACH,KAAK,EAAE,QAAQ;QACf,cAAc,EAAE,YAAY,CAAC,MAAM;QACnC,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,IAAI;QAC7C,SAAS;QACT,UAAU,EAAE,MAAM,CAAC,IAAI;QACvB,UAAU;QACV,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,4CAA4C,YAAY,CAAC,MAAM,EAAE;KAC7F,CAAC;AACN,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,aAA2B,EAC3B,MAAuB;IAEvB,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAE/D,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,IAAI,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,gBAAgB,CACtB,yCAAyC,MAAM,CAAC,KAAK,EAAE,EACvD,MAAM,CACT,CAAC;IACN,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAChC,WAA8B,EAC9B,SAAiB;IAEjB,OAAO;QACH,YAAY,EAAE,WAAW,CAAC,cAAc;QACxC,SAAS,EAAE,WAAW,CAAC,SAAS;QAChC,UAAU,EAAE,WAAW,CAAC,UAAU;QAClC,UAAU,EAAE,WAAW,CAAC,UAAU;QAClC,SAAS;QACT,QAAQ,EAAE,WAAW,CAAC,KAAK;KAC9B,CAAC;AACN,CAAC;AAED,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAC9B,WAAW,CAAoB;IAExC,YAAY,OAAe,EAAE,WAA8B;QACvD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;CACJ;AAED,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E;;;GAGG;AACH,SAAS,aAAa,CAAC,MAAuB;IAC1C,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC,CAAC;QAC1G,CAAC;QACD,OAAO,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;AACzB,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,QAAQ,CAAC,IAAY,EAAE,MAAc;IAChD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAErC,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;IACjC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,SAAS,CAC9B,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EACjD,KAAK,EAAE,CAAC,MAAM,CAAC,CAClB,CAAC;IAEF,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC1D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;SACvC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SACzC,IAAI,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,iBAAiB,CAAC,CAAS,EAAE,CAAS;IAC3C,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAE/B,uDAAuD;IACvD,uEAAuE;IACvE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAClD,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,kCAAkC;IACxE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,CAAC;AACtB,CAAC"}
@@ -15,6 +15,20 @@
15
15
  * - Fail-fast: rejects obviously broken code before V8 boot
16
16
  * - NOT a security gate (LLMs can obfuscate; the Isolate is the real wall)
17
17
  *
18
+ * ## Security Model
19
+ *
20
+ * The regex patterns below CAN be bypassed (e.g. Unicode escapes like
21
+ * `\u0072equire()` or string concatenation). This is **by design**.
22
+ * The patterns exist purely for DX — giving the LLM immediate, actionable
23
+ * feedback instead of waiting for V8 to throw a cryptic error.
24
+ *
25
+ * The **true security boundary** is the V8 Isolate's empty Context:
26
+ * - No `process`, `require`, `fs`, `globalThis`, or `Buffer` injected
27
+ * - Each execution creates a fresh Context with no global bindings
28
+ * - Even if bypass succeeds, the dangerous API simply does not exist
29
+ *
30
+ * See {@link SandboxEngine} for the security architecture.
31
+ *
18
32
  * @module
19
33
  * @internal
20
34
  */
@@ -1 +1 @@
1
- {"version":3,"file":"SandboxGuard.d.ts","sourceRoot":"","sources":["../../src/sandbox/SandboxGuard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAIH,MAAM,WAAW,WAAW;IACxB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,uEAAuE;IACvE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC/B;AAqCD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CA2C7D"}
1
+ {"version":3,"file":"SandboxGuard.d.ts","sourceRoot":"","sources":["../../src/sandbox/SandboxGuard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAIH,MAAM,WAAW,WAAW;IACxB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,uEAAuE;IACvE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC/B;AAqCD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CA2C7D"}
@@ -15,6 +15,20 @@
15
15
  * - Fail-fast: rejects obviously broken code before V8 boot
16
16
  * - NOT a security gate (LLMs can obfuscate; the Isolate is the real wall)
17
17
  *
18
+ * ## Security Model
19
+ *
20
+ * The regex patterns below CAN be bypassed (e.g. Unicode escapes like
21
+ * `\u0072equire()` or string concatenation). This is **by design**.
22
+ * The patterns exist purely for DX — giving the LLM immediate, actionable
23
+ * feedback instead of waiting for V8 to throw a cryptic error.
24
+ *
25
+ * The **true security boundary** is the V8 Isolate's empty Context:
26
+ * - No `process`, `require`, `fs`, `globalThis`, or `Buffer` injected
27
+ * - Each execution creates a fresh Context with no global bindings
28
+ * - Even if bypass succeeds, the dangerous API simply does not exist
29
+ *
30
+ * See {@link SandboxEngine} for the security architecture.
31
+ *
18
32
  * @module
19
33
  * @internal
20
34
  */
@@ -1 +1 @@
1
- {"version":3,"file":"SandboxGuard.js","sourceRoot":"","sources":["../../src/sandbox/SandboxGuard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAWH,4DAA4D;AAE5D;;;;GAIG;AACH,MAAM,mBAAmB,GAAuD;IAC5E,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,mDAAmD,EAAE;IACzF,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,qDAAqD,EAAE;IACzF,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,4CAA4C,EAAE;IACnF,gFAAgF;IAChF,0DAA0D;IAC1D,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,uEAAuE,EAAE;IAC3G,EAAE,OAAO,EAAE,uBAAuB,EAAE,MAAM,EAAE,+EAA+E,EAAE;CAChI,CAAC;AAEF;;;GAGG;AACH,MAAM,iBAAiB,GAA0B;IAC7C,kBAAkB,EAAe,aAAa;IAC9C,wBAAwB,EAAQ,WAAW;IAC3C,mBAAmB,EAAc,sBAAsB;IACvD,yBAAyB,EAAQ,2BAA2B;IAC5D,kEAAkE;IAClE,yDAAyD;IACzD,0BAA0B,EAAO,mBAAmB;IACpD,2BAA2B,EAAM,4BAA4B;IAC7D,gCAAgC,EAAE,iBAAiB;CACtD,CAAC;AAEF,4DAA4D;AAE5D;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC5C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,kCAAkC,EAAE,CAAC;IACxE,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAE5B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,kCAAkC,EAAE,CAAC;IACxE,CAAC;IAED,yCAAyC;IACzC,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACvE,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACrB,OAAO;YACH,EAAE,EAAE,KAAK;YACT,SAAS,EACL,wDAAwD;gBACxD,mDAAmD;SAC1D,CAAC;IACN,CAAC;IAED,2DAA2D;IAC3D,KAAK,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,mBAAmB,EAAE,CAAC;QACpD,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAC5C,CAAC;IACL,CAAC;IAED,yEAAyE;IACzE,wEAAwE;IACxE,IAAI,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,OAAO;YACH,EAAE,EAAE,KAAK;YACT,SAAS,EACL,oDAAoD;gBACpD,2DAA2D;gBAC3D,+CAA+C;gBAC/C,qCAAqC;SAC5C,CAAC;IACN,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC;AAED,4DAA4D;AAE5D;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,IAAY;IACrC,oEAAoE;IACpE,2DAA2D;IAC3D,yEAAyE;IACzE,OAAO,IAAI,CAAC,OAAO,CACf,wFAAwF,EACxF,EAAE,CACL,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,IAAY;IACtC,sEAAsE;IACtE,4DAA4D;IAC5D,OAAO,kBAAkB,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"SandboxGuard.js","sourceRoot":"","sources":["../../src/sandbox/SandboxGuard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAWH,4DAA4D;AAE5D;;;;GAIG;AACH,MAAM,mBAAmB,GAAuD;IAC5E,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,mDAAmD,EAAE;IACzF,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,qDAAqD,EAAE;IACzF,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,4CAA4C,EAAE;IACnF,gFAAgF;IAChF,0DAA0D;IAC1D,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,uEAAuE,EAAE;IAC3G,EAAE,OAAO,EAAE,uBAAuB,EAAE,MAAM,EAAE,+EAA+E,EAAE;CAChI,CAAC;AAEF;;;GAGG;AACH,MAAM,iBAAiB,GAA0B;IAC7C,kBAAkB,EAAe,aAAa;IAC9C,wBAAwB,EAAQ,WAAW;IAC3C,mBAAmB,EAAc,sBAAsB;IACvD,yBAAyB,EAAQ,2BAA2B;IAC5D,kEAAkE;IAClE,yDAAyD;IACzD,0BAA0B,EAAO,mBAAmB;IACpD,2BAA2B,EAAM,4BAA4B;IAC7D,gCAAgC,EAAE,iBAAiB;CACtD,CAAC;AAEF,4DAA4D;AAE5D;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC5C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,kCAAkC,EAAE,CAAC;IACxE,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAE5B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,kCAAkC,EAAE,CAAC;IACxE,CAAC;IAED,yCAAyC;IACzC,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACvE,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACrB,OAAO;YACH,EAAE,EAAE,KAAK;YACT,SAAS,EACL,wDAAwD;gBACxD,mDAAmD;SAC1D,CAAC;IACN,CAAC;IAED,2DAA2D;IAC3D,KAAK,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,mBAAmB,EAAE,CAAC;QACpD,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAC5C,CAAC;IACL,CAAC;IAED,yEAAyE;IACzE,wEAAwE;IACxE,IAAI,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,OAAO;YACH,EAAE,EAAE,KAAK;YACT,SAAS,EACL,oDAAoD;gBACpD,2DAA2D;gBAC3D,+CAA+C;gBAC/C,qCAAqC;SAC5C,CAAC;IACN,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC;AAED,4DAA4D;AAE5D;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,IAAY;IACrC,oEAAoE;IACpE,2DAA2D;IAC3D,yEAAyE;IACzE,OAAO,IAAI,CAAC,OAAO,CACf,wFAAwF,EACxF,EAAE,CACL,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,IAAY;IACtC,sEAAsE;IACtE,4DAA4D;IAC5D,OAAO,kBAAkB,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9D,CAAC"}
@@ -68,6 +68,37 @@ export interface StartServerOptions<TContext> {
68
68
  * @default 300_000 (5 minutes)
69
69
  */
70
70
  readonly sessionReapIntervalMs?: number;
71
+ /**
72
+ * Maximum number of requests per session per minute for the HTTP transport.
73
+ * Requests exceeding this limit are rejected with HTTP 429.
74
+ *
75
+ * @default 600
76
+ */
77
+ readonly rateLimitPerMinute?: number;
78
+ /**
79
+ * Maximum number of concurrent sessions for the HTTP transport.
80
+ * New session initialization requests are rejected with HTTP 503
81
+ * when this limit is reached.
82
+ *
83
+ * @default 1000
84
+ */
85
+ readonly maxSessions?: number;
86
+ /**
87
+ * CORS configuration for the HTTP transport.
88
+ * When provided, sets `Access-Control-Allow-*` headers on all `/mcp` responses
89
+ * and handles `OPTIONS` preflight requests automatically.
90
+ *
91
+ * Default: no CORS headers (most restrictive).
92
+ *
93
+ * @example
94
+ * ```ts
95
+ * startServer({
96
+ * transport: 'http',
97
+ * cors: { origin: 'https://app.example.com' },
98
+ * });
99
+ * ```
100
+ */
101
+ readonly cors?: CorsConfig;
71
102
  /** Extra attach options (debug, tracing, zeroTrust, etc.). */
72
103
  readonly attach?: Omit<AttachOptions<TContext>, 'contextFactory' | 'prompts' | 'telemetry'>;
73
104
  /**
@@ -129,6 +160,21 @@ export interface StartServerResult {
129
160
  /** Gracefully shut down everything. */
130
161
  readonly close: () => Promise<void>;
131
162
  }
163
+ /**
164
+ * CORS configuration for the HTTP transport.
165
+ */
166
+ export interface CorsConfig {
167
+ /**
168
+ * Allowed origin(s). Use `'*'` for any origin (not recommended for production).
169
+ * Can be a single origin string or an array of allowed origins.
170
+ */
171
+ readonly origin: string | readonly string[];
172
+ /**
173
+ * Allowed HTTP methods.
174
+ * @default ['GET', 'POST', 'DELETE', 'OPTIONS']
175
+ */
176
+ readonly methods?: readonly string[];
177
+ }
132
178
  /**
133
179
  * Start an Vurb server with a single call.
134
180
  *
@@ -1 +1 @@
1
- {"version":3,"file":"startServer.d.ts","sourceRoot":"","sources":["../../src/server/startServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"startServer.d.ts","sourceRoot":"","sources":["../../src/server/startServer.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,81 @@ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'
20
20
  import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
21
21
  import { attachToServer, _missingContextProxy } from './ServerAttachment.js';
22
22
  import { createTelemetryBus } from '../observability/TelemetryBus.js';
23
+ /**
24
+ * UUID v4 format validator for Mcp-Session-Id.
25
+ * Rejects oversized or malformed session IDs before they reach the session Map.
26
+ * @internal
27
+ */
28
+ const UUID_V4_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
29
+ function isValidSessionId(id) {
30
+ return UUID_V4_RE.test(id);
31
+ }
32
+ /** Dangerous keys that must never be assigned to user state objects. */
33
+ const POISONED_KEYS = new Set(['__proto__', 'constructor', 'prototype']);
34
+ /**
35
+ * Token bucket rate limiter — tracks request counts per session per minute.
36
+ * Resets automatically every 60 seconds.
37
+ * @internal
38
+ */
39
+ class RateLimitBucket {
40
+ _limit;
41
+ _buckets = new Map();
42
+ constructor(limitPerMinute) {
43
+ this._limit = Math.max(1, limitPerMinute);
44
+ }
45
+ /** Returns `true` if the request is allowed, `false` if rate-limited. */
46
+ allow(sessionId) {
47
+ const now = Date.now();
48
+ let bucket = this._buckets.get(sessionId);
49
+ if (!bucket || now >= bucket.resetAt) {
50
+ bucket = { count: 0, resetAt: now + 60_000 };
51
+ this._buckets.set(sessionId, bucket);
52
+ }
53
+ bucket.count++;
54
+ return bucket.count <= this._limit;
55
+ }
56
+ /** Remove stale buckets for sessions that no longer exist. */
57
+ prune(activeSessions) {
58
+ for (const key of this._buckets.keys()) {
59
+ if (!activeSessions.has(key))
60
+ this._buckets.delete(key);
61
+ }
62
+ }
63
+ }
64
+ /**
65
+ * Apply CORS headers to a response if CORS is configured.
66
+ * Returns `true` if the request is a preflight OPTIONS that was fully handled.
67
+ * @internal
68
+ */
69
+ function applyCorsHeaders(req,
70
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any — duck-typed HTTP response
71
+ res, cors) {
72
+ if (!cors)
73
+ return false;
74
+ const requestOrigin = req.headers['origin'] ?? '';
75
+ const allowedOrigins = typeof cors.origin === 'string' ? [cors.origin] : cors.origin;
76
+ const methods = cors.methods ?? ['GET', 'POST', 'DELETE', 'OPTIONS'];
77
+ // Check if the request origin is allowed
78
+ let matchedOrigin;
79
+ if (allowedOrigins.includes('*')) {
80
+ matchedOrigin = '*';
81
+ }
82
+ else if (requestOrigin && allowedOrigins.includes(requestOrigin)) {
83
+ matchedOrigin = requestOrigin;
84
+ }
85
+ else {
86
+ matchedOrigin = allowedOrigins[0] ?? '';
87
+ }
88
+ res.setHeader('Access-Control-Allow-Origin', matchedOrigin);
89
+ res.setHeader('Access-Control-Allow-Methods', methods.join(', '));
90
+ res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Mcp-Session-Id, Authorization');
91
+ // Handle preflight
92
+ if (req.method === 'OPTIONS') {
93
+ res.writeHead(204).end();
94
+ return true;
95
+ }
96
+ return false;
97
+ }
23
98
  // ============================================================================
24
99
  // Implementation
25
100
  // ============================================================================
@@ -146,12 +221,19 @@ export async function startServer(options) {
146
221
  g.__vinkius_edge_getState = () => JSON.stringify(state);
147
222
  g.__vinkius_edge_setState = (json) => {
148
223
  const restored = JSON.parse(json);
224
+ // Guard: must be a plain object
225
+ if (typeof restored !== 'object' || restored === null || Array.isArray(restored))
226
+ return;
149
227
  // Clear existing keys (handles removed properties)
150
228
  for (const key of Object.keys(state)) {
151
229
  delete state[key];
152
230
  }
153
- // Assign restored values (preserves object reference for closures)
154
- Object.assign(state, restored);
231
+ // Assign restored values skip poisoned keys to prevent prototype pollution
232
+ for (const [key, value] of Object.entries(restored)) {
233
+ if (POISONED_KEYS.has(key))
234
+ continue;
235
+ state[key] = value;
236
+ }
155
237
  };
156
238
  }
157
239
  // Abort normal startup — no Server, no Transport (Bug #45 fix)
@@ -222,6 +304,8 @@ export async function startServer(options) {
222
304
  const sessionActivity = new Map();
223
305
  const sessionTtlMs = options.sessionTtlMs ?? 1_800_000; // 30 min
224
306
  const reapIntervalMs = options.sessionReapIntervalMs ?? 300_000; // 5 min
307
+ const maxSessions = options.maxSessions ?? 1_000;
308
+ const rateLimiter = new RateLimitBucket(options.rateLimitPerMinute ?? 600);
225
309
  // Periodic reaper for abandoned sessions (TCP kill -9, network drops)
226
310
  const reapInterval = setInterval(() => {
227
311
  const now = Date.now();
@@ -238,6 +322,8 @@ export async function startServer(options) {
238
322
  sessionActivity.delete(id);
239
323
  }
240
324
  }
325
+ // Prune stale rate-limit buckets
326
+ rateLimiter.prune(new Set(sessions.keys()));
241
327
  }, reapIntervalMs);
242
328
  if (typeof reapInterval === 'object' && 'unref' in reapInterval) {
243
329
  reapInterval.unref();
@@ -249,6 +335,9 @@ export async function startServer(options) {
249
335
  res.writeHead(404).end();
250
336
  return;
251
337
  }
338
+ // Security #6: CORS support
339
+ if (applyCorsHeaders(req, res, options.cors))
340
+ return; // preflight handled
252
341
  if (req.method === 'POST') {
253
342
  // Bug #149 fix: enforce body size limit to prevent DoS/OOM.
254
343
  const maxBytes = options.maxBodyBytes ?? 4_194_304; // 4MB
@@ -268,14 +357,37 @@ export async function startServer(options) {
268
357
  }
269
358
  chunks.push(chunk);
270
359
  }
271
- const body = JSON.parse(Buffer.concat(chunks).toString());
360
+ // Security #3: safe JSON parse — reject malformed bodies with 400
361
+ let body;
362
+ try {
363
+ body = JSON.parse(Buffer.concat(chunks).toString());
364
+ }
365
+ catch {
366
+ res.writeHead(400).end('Invalid JSON');
367
+ return;
368
+ }
272
369
  const sessionId = req.headers['mcp-session-id'];
370
+ // Security #2: validate session ID format (must be UUID v4)
371
+ if (sessionId && !isValidSessionId(sessionId)) {
372
+ res.writeHead(400).end('Invalid session ID format');
373
+ return;
374
+ }
273
375
  if (sessionId && sessions.has(sessionId)) {
376
+ // Security #1: rate limiting per session
377
+ if (!rateLimiter.allow(sessionId)) {
378
+ res.writeHead(429).end('Too many requests');
379
+ return;
380
+ }
274
381
  const t = sessions.get(sessionId);
275
382
  sessionActivity.set(sessionId, Date.now());
276
383
  await t.handleRequest(req, res, body);
277
384
  return;
278
385
  }
386
+ // Security #4: reject new sessions when at capacity
387
+ if (sessions.size >= maxSessions) {
388
+ res.writeHead(503).end('Too many active sessions');
389
+ return;
390
+ }
279
391
  const t = new StreamableHTTPServerTransport({
280
392
  sessionIdGenerator: () => crypto.randomUUID(),
281
393
  onsessioninitialized: (id) => {
@@ -295,7 +407,15 @@ export async function startServer(options) {
295
407
  }
296
408
  else if (req.method === 'GET') {
297
409
  const sessionId = req.headers['mcp-session-id'];
410
+ if (sessionId && !isValidSessionId(sessionId)) {
411
+ res.writeHead(400).end('Invalid session ID format');
412
+ return;
413
+ }
298
414
  if (sessionId && sessions.has(sessionId)) {
415
+ if (!rateLimiter.allow(sessionId)) {
416
+ res.writeHead(429).end('Too many requests');
417
+ return;
418
+ }
299
419
  const t = sessions.get(sessionId);
300
420
  sessionActivity.set(sessionId, Date.now());
301
421
  await t.handleRequest(req, res);
@@ -306,6 +426,10 @@ export async function startServer(options) {
306
426
  }
307
427
  else if (req.method === 'DELETE') {
308
428
  const sessionId = req.headers['mcp-session-id'];
429
+ if (sessionId && !isValidSessionId(sessionId)) {
430
+ res.writeHead(400).end('Invalid session ID format');
431
+ return;
432
+ }
309
433
  if (sessionId && sessions.has(sessionId)) {
310
434
  const t = sessions.get(sessionId);
311
435
  sessionActivity.set(sessionId, Date.now());
@@ -1 +1 @@
1
- {"version":3,"file":"startServer.js","sourceRoot":"","sources":["../../src/server/startServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"startServer.js","sourceRoot":"","sources":["../../src/server/startServer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAA6B,MAAM,WAAW,CAAC;AACxF,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,EAAE,cAAc,EAAsB,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACjG,OAAO,EAAE,kBAAkB,EAA6B,MAAM,kCAAkC,CAAC;AA6LjG;;;;GAIG;AACH,MAAM,UAAU,GAAG,wEAAwE,CAAC;AAE5F,SAAS,gBAAgB,CAAC,EAAU;IAChC,OAAO,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC/B,CAAC;AAED,wEAAwE;AACxE,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;AAEzE;;;;GAIG;AACH,MAAM,eAAe;IACA,MAAM,CAAS;IACf,QAAQ,GAAG,IAAI,GAAG,EAA8C,CAAC;IAElF,YAAY,cAAsB;QAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;IAC9C,CAAC;IAED,yEAAyE;IACzE,KAAK,CAAC,SAAiB;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,GAAG,MAAM,EAAE,CAAC;YAC7C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,OAAO,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC;IACvC,CAAC;IAED,8DAA8D;IAC9D,KAAK,CAAC,cAAmC;QACrC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;YACrC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5D,CAAC;IACL,CAAC;CACJ;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CACrB,GAA4F;AAC5F,yFAAyF;AACzF,GAAQ,EACR,IAA4B;IAE5B,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IAExB,MAAM,aAAa,GAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAwB,IAAI,EAAE,CAAC;IAC1E,MAAM,cAAc,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IACrF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAErE,yCAAyC;IACzC,IAAI,aAAqB,CAAC;IAC1B,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,aAAa,GAAG,GAAG,CAAC;IACxB,CAAC;SAAM,IAAI,aAAa,IAAI,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACjE,aAAa,GAAG,aAAa,CAAC;IAClC,CAAC;SAAM,CAAC;QACJ,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5C,CAAC;IAED,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,aAAa,CAAC,CAAC;IAC5D,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAClE,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,6CAA6C,CAAC,CAAC;IAE7F,mBAAmB;IACnB,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC3B,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC7B,OAAqC;IAErC,MAAM,EACF,IAAI,EACJ,OAAO,GAAG,OAAO,EACjB,QAAQ,EACR,OAAO,EACP,cAAc,EACd,SAAS,GAAG,IAAI,EAChB,SAAS,GAAG,OAAO,EACnB,IAAI,GAAG,IAAI,EACX,MAAM,GAAG,EAAE,EACX,KAAK,GACR,GAAG,OAAO,CAAC;IAEZ,wEAAwE;IACxE,qDAAqD;IACrD,0DAA0D;IAC1D,kDAAkD;IAClD,2DAA2D;IAC3D,wDAAwD;IACxD,8DAA8D;IAC9D,MAAM,CAAC,GAAG,UAAiB,CAAC;IAC5B,IAAI,OAAO,CAAC,CAAC,0BAA0B,KAAK,WAAW,EAAE,CAAC;QACtD,MAAM,KAAK,GAAiD,EAAE,CAAC;QAC/D,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC;gBACP,UAAU,EAAE,CAAC,CAAC,mBAAmB,EAAE;gBACnC,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;aACpB,CAAC,CAAC;QACP,CAAC;QAED,wDAAwD;QACxD,0DAA0D;QAC1D,2CAA2C;QAC3C,gFAAgF;QAChF,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAE1D,wDAAwD;QACxD,yDAAyD;QACzD,iDAAiD;QACjD,IAAI,OAA6G,CAAC;QAClH,MAAM,OAAO,GAAI,MAAkC,EAAE,CAAC,KAAK,CAC6D,CAAC;QACzH,IAAI,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;YACzC,MAAM,QAAQ,GAA8D,EAAE,CAAC;YAC/E,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBAClD,QAAQ,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;oBAClC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACzE,CAAC,CAAC;YACP,CAAC;YACD,OAAO,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC;QACpD,CAAC;QAED,uCAAuC;QACvC,CAAC,CAAC,0BAA0B,CAAC,SAAS,CAAC,SAAS,EAAE;YAC9C,IAAI,CAAC,SAAS,CAAC;gBACX,UAAU,EAAE,IAAI;gBAChB,OAAO;gBACP,KAAK;gBACL,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACvC,CAAC;SACL,CAAC,CAAC;QAEH,oEAAoE;QACpE,uEAAuE;QACvE,CAAC,CAAC,uBAAuB,GAAG,KAAK,EAC7B,QAAgB,EAChB,IAA6B,EAC/B,EAAE;YACA,IAAI,CAAC;gBACD,MAAM,GAAG,GAAG,cAAc;oBACtB,CAAC,CAAC,MAAM,cAAc,CAAC,SAAS,CAAC;oBACjC,CAAC,CAAC,oBAAgC,CAAC;gBACvC,OAAO,MAAM,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YACzD,CAAC;YAAC,OAAO,CAAU,EAAE,CAAC;gBAClB,mDAAmD;gBACnD,4CAA4C;gBAC5C,MAAM,GAAG,GAAG,CAAyC,CAAC;gBACtD,OAAO;oBACH,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,CAAC;4BACN,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,OAAO,IAAI,CAAC,CAAC;yBAChD,CAAC;iBACL,CAAC;YACN,CAAC;QACL,CAAC,CAAC;QAEF,wDAAwD;QACxD,6DAA6D;QAC7D,IAAI,OAAO,EAAE,CAAC;YACV,CAAC,CAAC,yBAAyB,GAAG,KAAK,EAC/B,UAAkB,EAClB,IAA4B,EAC9B,EAAE;gBACA,IAAI,CAAC;oBACD,MAAM,GAAG,GAAG,cAAc;wBACtB,CAAC,CAAC,MAAM,cAAc,CAAC,SAAS,CAAC;wBACjC,CAAC,CAAC,oBAAgC,CAAC;oBACvC,OAAO,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;gBACzD,CAAC;gBAAC,OAAO,CAAU,EAAE,CAAC;oBAClB,MAAM,GAAG,GAAG,CAAyC,CAAC;oBACtD,OAAO;wBACH,QAAQ,EAAE,CAAC;gCACP,IAAI,EAAE,MAAM;gCACZ,OAAO,EAAE;oCACL,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,WAAW,MAAM,CAAC,GAAG,EAAE,OAAO,IAAI,CAAC,CAAC,EAAE;iCAC/C;6BACJ,CAAC;qBACL,CAAC;gBACN,CAAC;YACL,CAAC,CAAC;QACN,CAAC;QAED,yDAAyD;QACzD,8DAA8D;QAC9D,iEAAiE;QACjE,uEAAuE;QACvE,IAAI,KAAK,EAAE,CAAC;YACR,CAAC,CAAC,uBAAuB,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAExD,CAAC,CAAC,uBAAuB,GAAG,CAAC,IAAY,EAAE,EAAE;gBACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAClC,gCAAgC;gBAChC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;oBAAE,OAAO;gBACzF,mDAAmD;gBACnD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACnC,OAAQ,KAAiC,CAAC,GAAG,CAAC,CAAC;gBACnD,CAAC;gBACD,6EAA6E;gBAC7E,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAmC,CAAC,EAAE,CAAC;oBAC7E,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC;wBAAE,SAAS;oBACpC,KAAiC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACpD,CAAC;YACL,CAAC,CAAC;QACN,CAAC;QAED,+DAA+D;QAC/D,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC,EAAE,CAAC;IACnD,CAAC;IAED,wEAAwE;IACxE,qEAAqE;IACrE,uEAAuE;IACvE,uEAAuE;IACvE,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,GAAG,EAAE,CAAC;QACzC,MAAM,gBAAgB,GAAG;YACrB,UAAU,EAAE,IAAI;YAChB,OAAO;YACP,QAAQ;SACX,CAAC;QAEF,8DAA8D;QAC9D,CAAC,CAAC,wBAAwB,GAAG,gBAAgB,CAAC;QAC9C,IAAI,OAAO,CAAC,CAAC,yBAAyB,KAAK,UAAU,EAAE,CAAC;YACpD,CAAC,CAAC,yBAAyB,CAAC,gBAAgB,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC,EAAE,CAAC;IACnD,CAAC;IAED,wEAAwE;IAExE,0CAA0C;IAC1C,sEAAsE;IACtE,wDAAwD;IACxD,IAAI,GAAqC,CAAC;IAC1C,IAAI,SAAS,EAAE,CAAC;QACZ,IAAI,CAAC;YACD,wCAAwC;YACxC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;YAC/C,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;gBACrC,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC1B,KAAK,MAAM,SAAS,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC;oBACzC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;oBACzC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACrB,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAChC,CAAC;YACL,CAAC;YAED,GAAG,GAAG,MAAM,kBAAkB,CAAC;gBAC3B,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;oBACd,IAAI,EAAE,UAAmB;oBACzB,UAAU,EAAE,IAAI;oBAChB,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,KAAK,EAAE,CAAC,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;oBAC9E,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACxB,CAAC;aACL,CAAC,CAAC;YACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;QAC1E,CAAC;QAAC,MAAM,CAAC;YACL,8DAA8D;QAClE,CAAC;IACL,CAAC;IAED,yBAAyB;IACzB,MAAM,MAAM,GAAG,IAAI,MAAM,CACrB,EAAE,IAAI,EAAE,OAAO,EAAE,EACjB,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACvE,CAAC;IAEF,qBAAqB;IACrB,MAAM,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE;QAClC,GAAG,MAAM;QACT,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACf,CAAC,CAAC;IAE9B,uBAAuB;IACvB,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACvB,wDAAwD;QACxD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyC,CAAC;QAClE,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;QAClD,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,SAAS,CAAC,CAAG,SAAS;QACnE,MAAM,cAAc,GAAG,OAAO,CAAC,qBAAqB,IAAI,OAAO,CAAC,CAAC,QAAQ;QACzE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,KAAK,CAAC;QACjD,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,kBAAkB,IAAI,GAAG,CAAC,CAAC;QAE3E,sEAAsE;QACtE,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;YAClC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,KAAK,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,eAAe,EAAE,CAAC;gBAC7C,IAAI,GAAG,GAAG,UAAU,GAAG,YAAY,EAAE,CAAC;oBAClC,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC3B,IAAI,CAAC,EAAE,CAAC;wBAAC,IAAI,CAAC;4BAAC,CAAC,CAAC,KAAK,EAAE,CAAC;wBAAC,CAAC;wBAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;oBAAC,CAAC;oBACzD,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACpB,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC/B,CAAC;YACL,CAAC;YACD,iCAAiC;YACjC,WAAW,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAChD,CAAC,EAAE,cAAc,CAAC,CAAC;QACnB,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,OAAO,IAAI,YAAY,EAAE,CAAC;YAC9D,YAAY,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC;QAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YACnD,IAAI,CAAC;gBACD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,oBAAoB,IAAI,EAAE,CAAC,CAAC;gBAEhE,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;oBAC1B,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;oBACzB,OAAO;gBACX,CAAC;gBAED,4BAA4B;gBAC5B,IAAI,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC;oBAAE,OAAO,CAAC,oBAAoB;gBAE1E,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBACxB,4DAA4D;oBAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,IAAI,SAAS,CAAC,CAAC,MAAM;oBAC1D,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;oBACzE,IAAI,cAAc,GAAG,QAAQ,EAAE,CAAC;wBAC5B,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;wBAC5C,OAAO;oBACX,CAAC;oBACD,MAAM,MAAM,GAAa,EAAE,CAAC;oBAC5B,IAAI,aAAa,GAAG,CAAC,CAAC;oBACtB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;wBAC5B,aAAa,IAAK,KAAgB,CAAC,UAAU,CAAC;wBAC9C,IAAI,aAAa,GAAG,QAAQ,EAAE,CAAC;4BAC3B,GAAG,CAAC,OAAO,EAAE,CAAC;4BACd,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;4BAC5C,OAAO;wBACX,CAAC;wBACD,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC;oBACjC,CAAC;oBACD,kEAAkE;oBAClE,IAAI,IAAa,CAAC;oBAClB,IAAI,CAAC;wBACD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACxD,CAAC;oBAAC,MAAM,CAAC;wBACL,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;wBACvC,OAAO;oBACX,CAAC;oBAED,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAuB,CAAC;oBAEtE,4DAA4D;oBAC5D,IAAI,SAAS,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;wBAC5C,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;wBACpD,OAAO;oBACX,CAAC;oBAED,IAAI,SAAS,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;wBACvC,yCAAyC;wBACzC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;4BAChC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;4BAC5C,OAAO;wBACX,CAAC;wBACD,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;wBACnC,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;wBAC3C,MAAM,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;wBACtC,OAAO;oBACX,CAAC;oBAED,oDAAoD;oBACpD,IAAI,QAAQ,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC;wBAC/B,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;wBACnD,OAAO;oBACX,CAAC;oBAED,MAAM,CAAC,GAAG,IAAI,6BAA6B,CAAC;wBACxC,kBAAkB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE;wBAC7C,oBAAoB,EAAE,CAAC,EAAE,EAAE,EAAE;4BACzB,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;4BACpB,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;wBACxC,CAAC;qBACJ,CAAC,CAAC;oBACH,CAAC,CAAC,OAAO,GAAG,GAAG,EAAE;wBACb,MAAM,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;wBACjE,IAAI,EAAE,EAAE,CAAC;4BACL,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;4BACpB,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;wBAC/B,CAAC;oBACL,CAAC,CAAC;oBACF,MAAM,MAAM,CAAC,OAAO,CAAC,CAAiF,CAAC,CAAC;oBACxG,MAAM,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC1C,CAAC;qBAAM,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;oBAC9B,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAuB,CAAC;oBACtE,IAAI,SAAS,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;wBAC5C,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;wBACpD,OAAO;oBACX,CAAC;oBACD,IAAI,SAAS,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;wBACvC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;4BAChC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;4BAC5C,OAAO;wBACX,CAAC;wBACD,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;wBACnC,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;wBAC3C,MAAM,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACpC,CAAC;yBAAM,CAAC;wBACJ,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;oBACzD,CAAC;gBACL,CAAC;qBAAM,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACjC,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAuB,CAAC;oBACtE,IAAI,SAAS,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;wBAC5C,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;wBACpD,OAAO;oBACX,CAAC;oBACD,IAAI,SAAS,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;wBACvC,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;wBACnC,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;wBAC3C,MAAM,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACpC,CAAC;yBAAM,CAAC;wBACJ,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;oBACzD,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;gBAC7B,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAC;gBAC9D,IAAI,CAAC,GAAG,CAAC,WAAW;oBAAE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YACnD,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;YACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,wBAAwB,IAAI,QAAQ,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,KAAK,UAAU,KAAK;YAChB,aAAa,CAAC,YAAY,CAAC,CAAC;YAC5B,IAAI,GAAG;gBAAE,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;YAC3B,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;gBAAC,IAAI,CAAC;oBAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;YAAC,CAAC;YAC3F,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjB,eAAe,CAAC,KAAK,EAAE,CAAC;YACxB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACxE,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC;QAED,MAAM,MAAM,GAAsB,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;QAChE,IAAI,GAAG;YAAG,MAAyC,CAAC,GAAG,GAAG,GAAG,CAAC;QAC9D,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,4DAA4D;IAC5D,MAAM,cAAc,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAClD,MAAM,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,qBAAqB,CAAC,CAAC;IAErD,kBAAkB;IAClB,KAAK,UAAU,KAAK;QAChB,IAAI,GAAG;YAAE,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;QAC3B,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,MAAM,GAAsB,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IACpD,IAAI,GAAG;QAAG,MAAyC,CAAC,GAAG,GAAG,GAAG,CAAC;IAC9D,OAAO,MAAM,CAAC;AAClB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vurb/core",
3
- "version": "3.7.7",
3
+ "version": "3.7.8",
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",