@vurb/core 3.7.7 → 3.7.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.
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
@@ -152,12 +162,12 @@ Choose where your server runs with `--target`:
152
162
 
153
163
  | Target | Runtime | Deploy with |
154
164
  |---|---|---|
155
- | `node` (default) | Node.js Streamable HTTP | [`vurb deploy`](#vinkius-edge) |
156
- | `vercel` | Next.js App Router — Vercel Functions | [`vercel deploy`](#vercel-functions) |
157
- | `cloudflare` | Cloudflare Workers — V8 isolates | [`wrangler deploy`](#cloudflare-workers) |
165
+ | `vinkius` (default) | Vinkius Edge | [`vurb deploy`](#vinkius-edge) |
166
+ | `vercel` | Vercel Functions | [`vercel deploy`](#vercel-functions) |
167
+ | `cloudflare` | Cloudflare Workers | [`wrangler deploy`](#cloudflare-workers) |
158
168
 
159
169
  ```bash
160
- # Node.js (default) — Streamable HTTP, deploy to Vinkius Edge
170
+ # Vinkius Edge (default) — deploy with vurb deploy
161
171
  vurb create my-server --yes
162
172
 
163
173
  # Vercel Functions — Next.js App Router + @vurb/vercel adapter
@@ -32,11 +32,11 @@ function validateVector(raw) {
32
32
  /** @internal */
33
33
  function validateTarget(raw) {
34
34
  if (!raw)
35
- return 'node';
35
+ return 'vinkius';
36
36
  if (VALID_TARGETS.includes(raw))
37
37
  return raw;
38
- process.stderr.write(` ${ansi.red('⚠')} Unknown target "${raw}" — using ${ansi.bold('node')}. Valid: ${VALID_TARGETS.join(', ')}\n`);
39
- return 'node';
38
+ process.stderr.write(` ${ansi.red('⚠')} Unknown target "${raw}" — using ${ansi.bold('vinkius')}. Valid: ${VALID_TARGETS.join(', ')}\n`);
39
+ return 'vinkius';
40
40
  }
41
41
  // ─── Config Collection ───────────────────────────────────────────
42
42
  /**
@@ -71,7 +71,7 @@ export async function collectConfig(args) {
71
71
  process.stderr.write(` ${ansi.red('✗')} Invalid name: must start with a letter/number, end with a letter/number, and contain only lowercase letters, numbers, and hyphens.\n`);
72
72
  return null;
73
73
  }
74
- const targetRaw = args.target ?? await ask(rl, 'Target? [node, vercel, cloudflare]', 'node');
74
+ const targetRaw = args.target ?? await ask(rl, 'Target? [vinkius, vercel, cloudflare]', 'vinkius');
75
75
  const target = validateTarget(targetRaw);
76
76
  // For vercel/cloudflare, transport is always HTTP (stateless JSON-RPC)
77
77
  let transport;
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/cli/commands/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/cli/commands/create.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/remote.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAI1C,wBAAsB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAsChE"}
1
+ {"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/remote.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAI1C,wBAAsB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAuChE"}
@@ -10,13 +10,14 @@ export async function commandRemote(args) {
10
10
  // vurb remote <url> [--server-id <id>] [--token <tok>] — set one or more at once
11
11
  // vurb remote --server-id <id> — uses default Vinkius Cloud URL
12
12
  if (args.remoteUrl || args.serverId || args.token) {
13
- const remote = args.remoteUrl ?? VINKIUS_CLOUD_URL;
13
+ const explicitRemote = args.remoteUrl;
14
14
  writeVurbRc(cwd, {
15
- remote,
15
+ ...(explicitRemote ? { remote: explicitRemote } : {}),
16
16
  ...(args.serverId ? { serverId: args.serverId } : {}),
17
17
  ...(args.token ? { token: args.token } : {}),
18
18
  });
19
- process.stderr.write(` ${ansi.green('✓')} Remote set to ${ansi.cyan(remote)}${remote === VINKIUS_CLOUD_URL ? ansi.dim(' (default)') : ''}\n`);
19
+ const displayRemote = explicitRemote ?? readVurbRc(cwd).remote ?? VINKIUS_CLOUD_URL;
20
+ process.stderr.write(` ${ansi.green('✓')} Remote set to ${ansi.cyan(displayRemote)}${displayRemote === VINKIUS_CLOUD_URL ? ansi.dim(' (default)') : ''}\n`);
20
21
  if (args.serverId) {
21
22
  process.stderr.write(` ${ansi.green('✓')} Server ID set to ${ansi.cyan(args.serverId)}\n`);
22
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"remote.js","sourceRoot":"","sources":["../../../src/cli/commands/remote.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remote.js","sourceRoot":"","sources":["../../../src/cli/commands/remote.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE3D,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAa;IAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IAErB,iFAAiF;IACjF,uEAAuE;IACvE,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAChD,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC;QAEtC,WAAW,CAAC,GAAG,EAAE;YACb,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/C,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,cAAc,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,iBAAiB,CAAC;QACpF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,aAAa,KAAK,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC7J,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChG,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO;IACX,CAAC;IAED,qCAAqC;IACrC,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QACxE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACjF,OAAO;IACX,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACrE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACnG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1H,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;AACpF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/token.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAY1C,wBAAsB,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA+C/D"}
1
+ {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/token.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAY1C,wBAAsB,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAgE/D"}
@@ -1,4 +1,4 @@
1
- import { ansi } from '../constants.js';
1
+ import { ansi, VINKIUS_CLOUD_URL } from '../constants.js';
2
2
  import { readVurbRc, writeVurbRc } from '../rc.js';
3
3
  /** Mask a token for display: show prefix + last 4 chars */
4
4
  function maskToken(token) {
@@ -22,10 +22,27 @@ export async function commandToken(args) {
22
22
  process.stderr.write(` ${ansi.green('✓')} Token removed from .vurbrc\n`);
23
23
  return;
24
24
  }
25
- // vurb token <value> — set token
25
+ // vurb token <value> — set token and auto-resolve serverId
26
26
  if (args.tokenValue) {
27
27
  writeVurbRc(cwd, { token: args.tokenValue });
28
28
  process.stderr.write(` ${ansi.green('✓')} Token saved to .vurbrc ${ansi.dim(`(${maskToken(args.tokenValue)})`)}\n`);
29
+ // Auto-resolve which server this token belongs to
30
+ const rc = readVurbRc(cwd);
31
+ const remote = rc.remote ?? VINKIUS_CLOUD_URL;
32
+ try {
33
+ const res = await fetch(`${remote.replace(/\/+$/, '')}/api/token/info`, {
34
+ headers: { 'Authorization': `Bearer ${args.tokenValue}`, 'Accept': 'application/json' },
35
+ signal: AbortSignal.timeout(5_000),
36
+ });
37
+ if (res.ok) {
38
+ const data = await res.json();
39
+ if (data.server_id) {
40
+ writeVurbRc(cwd, { serverId: data.server_id });
41
+ process.stderr.write(` ${ansi.green('✓')} Server ID resolved: ${ansi.cyan(data.server_id)}${data.server_name ? ansi.dim(` (${data.server_name})`) : ''}\n`);
42
+ }
43
+ }
44
+ }
45
+ catch { /* API unreachable — token still saved, user can set serverId manually */ }
29
46
  return;
30
47
  }
31
48
  // vurb token — show current token status
@@ -1 +1 @@
1
- {"version":3,"file":"token.js","sourceRoot":"","sources":["../../../src/cli/commands/token.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../../../src/cli/commands/token.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ export declare const VURB_VERSION: string;
13
13
  export declare const VINKIUS_CLOUD_URL = "https://cloud.vinkius.com";
14
14
  export declare const VALID_TRANSPORTS: readonly ["stdio", "sse"];
15
15
  export declare const VALID_VECTORS: readonly ["vanilla", "prisma", "n8n", "openapi", "oauth"];
16
- export declare const VALID_TARGETS: readonly ["node", "vercel", "cloudflare"];
16
+ export declare const VALID_TARGETS: readonly ["vinkius", "vercel", "cloudflare"];
17
17
  /** @internal exported for testing */
18
18
  export declare const HELP: string;
19
19
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/cli/constants.ts"],"names":[],"mappings":"AASA,qCAAqC;AACrC,eAAO,MAAM,IAAI;uBACD,MAAM,KAAG,MAAM;wBACf,MAAM,KAAG,MAAM;yBACf,MAAM,KAAG,MAAM;sBACf,MAAM,KAAG,MAAM;uBACf,MAAM,KAAG,MAAM;sBACf,MAAM,KAAG,MAAM;;CAErB,CAAC;AAMX,eAAO,MAAM,YAAY,EAAE,MAGvB,CAAC;AAEL,sDAAsD;AACtD,eAAO,MAAM,iBAAiB,8BAA8B,CAAC;AAI7D,eAAO,MAAM,gBAAgB,2BAA4B,CAAC;AAC1D,eAAO,MAAM,aAAa,2DAA4D,CAAC;AACvF,eAAO,MAAM,aAAa,2CAA4C,CAAC;AAIvE,qCAAqC;AACrC,eAAO,MAAM,IAAI,QAsET,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/cli/constants.ts"],"names":[],"mappings":"AASA,qCAAqC;AACrC,eAAO,MAAM,IAAI;uBACD,MAAM,KAAG,MAAM;wBACf,MAAM,KAAG,MAAM;yBACf,MAAM,KAAG,MAAM;sBACf,MAAM,KAAG,MAAM;uBACf,MAAM,KAAG,MAAM;sBACf,MAAM,KAAG,MAAM;;CAErB,CAAC;AAMX,eAAO,MAAM,YAAY,EAAE,MAGvB,CAAC;AAEL,sDAAsD;AACtD,eAAO,MAAM,iBAAiB,8BAA8B,CAAC;AAI7D,eAAO,MAAM,gBAAgB,2BAA4B,CAAC;AAC1D,eAAO,MAAM,aAAa,2DAA4D,CAAC;AACvF,eAAO,MAAM,aAAa,8CAA+C,CAAC;AAI1E,qCAAqC;AACrC,eAAO,MAAM,IAAI,QAsET,CAAC"}
@@ -31,7 +31,7 @@ export const VINKIUS_CLOUD_URL = 'https://cloud.vinkius.com';
31
31
  // ─── Validation Constants ────────────────────────────────────────
32
32
  export const VALID_TRANSPORTS = ['stdio', 'sse'];
33
33
  export const VALID_VECTORS = ['vanilla', 'prisma', 'n8n', 'openapi', 'oauth'];
34
- export const VALID_TARGETS = ['node', 'vercel', 'cloudflare'];
34
+ export const VALID_TARGETS = ['vinkius', 'vercel', 'cloudflare'];
35
35
  // ─── Help Text ───────────────────────────────────────────────────
36
36
  /** @internal exported for testing */
37
37
  export const HELP = `
@@ -51,7 +51,7 @@ USAGE
51
51
  CREATE OPTIONS
52
52
  --transport <stdio|sse> Transport layer (default: stdio)
53
53
  --vector <type> Ingestion vector: vanilla, prisma, n8n, openapi, oauth
54
- --target <platform> Deploy target: node (default), vercel, cloudflare
54
+ --target <platform> Deploy target: vinkius (default), vercel, cloudflare
55
55
  --testing Include test suite (default: true)
56
56
  --no-testing Skip test suite
57
57
  --yes, -y Skip prompts, use defaults
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/cli/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAEvE,oEAAoE;AAEpE,qCAAqC;AACrC,MAAM,CAAC,MAAM,IAAI,GAAG;IAChB,IAAI,EAAI,CAAC,CAAS,EAAU,EAAE,CAAC,WAAW,CAAC,SAAS;IACpD,KAAK,EAAG,CAAC,CAAS,EAAU,EAAE,CAAC,WAAW,CAAC,SAAS;IACpD,MAAM,EAAE,CAAC,CAAS,EAAU,EAAE,CAAC,WAAW,CAAC,SAAS;IACpD,GAAG,EAAK,CAAC,CAAS,EAAU,EAAE,CAAC,UAAU,CAAC,SAAS;IACnD,IAAI,EAAI,CAAC,CAAS,EAAU,EAAE,CAAC,UAAU,CAAC,SAAS;IACnD,GAAG,EAAK,CAAC,CAAS,EAAU,EAAE,CAAC,WAAW,CAAC,SAAS;IACpD,KAAK,EAAE,SAAS;CACV,CAAC;AAEX,oEAAoE;AAEpE,qCAAqC;AACrC,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChD,MAAM,CAAC,MAAM,YAAY,GAAW,CAAC,GAAG,EAAE;IACtC,IAAI,CAAC;QAAC,OAAQ,QAAQ,CAAC,oBAAoB,CAAyB,CAAC,OAAO,CAAC;IAAC,CAAC;IAC/E,MAAM,CAAC;QAAC,OAAO,OAAO,CAAC;IAAC,CAAC;AAC7B,CAAC,CAAC,EAAE,CAAC;AAEL,sDAAsD;AACtD,MAAM,CAAC,MAAM,iBAAiB,GAAG,2BAA2B,CAAC;AAE7D,oEAAoE;AAEpE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,KAAK,CAAU,CAAC;AAC1D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAU,CAAC;AACvF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAU,CAAC;AAEvE,oEAAoE;AAEpE,qCAAqC;AACrC,MAAM,CAAC,MAAM,IAAI,GAAG;;;;;;yDAMqC,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgErE,CAAC,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/cli/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAEvE,oEAAoE;AAEpE,qCAAqC;AACrC,MAAM,CAAC,MAAM,IAAI,GAAG;IAChB,IAAI,EAAI,CAAC,CAAS,EAAU,EAAE,CAAC,WAAW,CAAC,SAAS;IACpD,KAAK,EAAG,CAAC,CAAS,EAAU,EAAE,CAAC,WAAW,CAAC,SAAS;IACpD,MAAM,EAAE,CAAC,CAAS,EAAU,EAAE,CAAC,WAAW,CAAC,SAAS;IACpD,GAAG,EAAK,CAAC,CAAS,EAAU,EAAE,CAAC,UAAU,CAAC,SAAS;IACnD,IAAI,EAAI,CAAC,CAAS,EAAU,EAAE,CAAC,UAAU,CAAC,SAAS;IACnD,GAAG,EAAK,CAAC,CAAS,EAAU,EAAE,CAAC,WAAW,CAAC,SAAS;IACpD,KAAK,EAAE,SAAS;CACV,CAAC;AAEX,oEAAoE;AAEpE,qCAAqC;AACrC,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChD,MAAM,CAAC,MAAM,YAAY,GAAW,CAAC,GAAG,EAAE;IACtC,IAAI,CAAC;QAAC,OAAQ,QAAQ,CAAC,oBAAoB,CAAyB,CAAC,OAAO,CAAC;IAAC,CAAC;IAC/E,MAAM,CAAC;QAAC,OAAO,OAAO,CAAC;IAAC,CAAC;AAC7B,CAAC,CAAC,EAAE,CAAC;AAEL,sDAAsD;AACtD,MAAM,CAAC,MAAM,iBAAiB,GAAG,2BAA2B,CAAC;AAE7D,oEAAoE;AAEpE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,KAAK,CAAU,CAAC;AAC1D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAU,CAAC;AACvF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAU,CAAC;AAE1E,oEAAoE;AAEpE,qCAAqC;AACrC,MAAM,CAAC,MAAM,IAAI,GAAG;;;;;;yDAMqC,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgErE,CAAC,IAAI,EAAE,CAAC"}
@@ -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
 
@@ -11,7 +11,7 @@ export type IngestionVector = 'vanilla' | 'prisma' | 'n8n' | 'openapi' | 'oauth'
11
11
  /** Transport layer for MCP communication */
12
12
  export type TransportLayer = 'stdio' | 'sse';
13
13
  /** Deploy target platform for scaffold generation */
14
- export type DeployTarget = 'node' | 'vercel' | 'cloudflare';
14
+ export type DeployTarget = 'vinkius' | 'vercel' | 'cloudflare';
15
15
  /**
16
16
  * Project scaffold configuration.
17
17
  *
@@ -27,7 +27,7 @@ export interface ProjectConfig {
27
27
  readonly vector: IngestionVector;
28
28
  /** Include @vurb/testing + Vitest */
29
29
  readonly testing: boolean;
30
- /** Deploy target platform (default: 'node') */
30
+ /** Deploy target platform (default: 'vinkius') */
31
31
  readonly target?: DeployTarget;
32
32
  }
33
33
  /** Remote cloud configuration stored in .vurbrc (gitignored) */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,0DAA0D;AAC1D,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC;AAEjF,4CAA4C;AAC5C,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,KAAK,CAAC;AAE7C,qDAAqD;AACrD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,YAAY,CAAC;AAE5D;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC1B,wDAAwD;IACxD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,4CAA4C;IAC5C,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IAEnC,+BAA+B;IAC/B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IAEjC,qCAAqC;IACrC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B,+CAA+C;IAC/C,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;CAClC;AAED,gEAAgE;AAChE,MAAM,WAAW,YAAY;IACzB,yDAAyD;IACzD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,yBAAyB;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,oEAAoE;IACpE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CAC1B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,0DAA0D;AAC1D,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC;AAEjF,4CAA4C;AAC5C,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,KAAK,CAAC;AAE7C,qDAAqD;AACrD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,YAAY,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC1B,wDAAwD;IACxD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,4CAA4C;IAC5C,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IAEnC,+BAA+B;IAC/B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IAEjC,qCAAqC;IACrC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B,kDAAkD;IAClD,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;CAClC;AAED,gEAAgE;AAChE,MAAM,WAAW,YAAY;IACzB,yDAAyD;IACzD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,yBAAyB;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,oEAAoE;IACpE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CAC1B"}
@@ -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":"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"}
@@ -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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vurb/core",
3
- "version": "3.7.7",
3
+ "version": "3.7.9",
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",