@iterable/mcp 1.0.1 → 1.0.2

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
@@ -14,7 +14,7 @@ MCP stands for Model Context Protocol. It's a new, open standard that lets AI to
14
14
  ## Installation
15
15
 
16
16
  **Prerequisites:**
17
- - Node.js >= 18
17
+ - Node.js >= 20 (v22 LTS recommended)
18
18
  - An Iterable API key
19
19
 
20
20
  ```bash
package/dist/index.js CHANGED
@@ -1,20 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
  /* eslint-disable no-console */
3
- // Preflight: fail fast on unsupported Node versions (requires >= 18)
3
+ import { assertSupportedRuntime } from "./utils/runtime-check.js";
4
+ // Preflight: fail fast on unsupported Node versions and missing regex features
4
5
  try {
5
- const [majorStr, minorStr] = process.versions.node.split(".");
6
- const major = parseInt(majorStr || "0", 10);
7
- const minor = parseInt(minorStr || "0", 10);
8
- const isSupported = Number.isFinite(major) && (major > 18 || (major === 18 && minor >= 0));
9
- if (!isSupported) {
10
- console.error("\n❌ Unsupported Node.js version\n");
11
- console.error(`This CLI requires Node.js v18 or newer. Detected: v${process.versions.node}`);
12
- console.error("\nTips:\n • Install the LTS version from https://nodejs.org\n • Or with nvm: nvm install --lts && nvm use --lts\n");
13
- process.exit(1);
14
- }
6
+ assertSupportedRuntime();
15
7
  }
16
- catch {
17
- // If detection fails for any reason, continue (Node will likely still be new enough)
8
+ catch (e) {
9
+ console.error("\n❌ Unsupported Node.js environment\n");
10
+ console.error(e.message);
11
+ process.exit(1);
18
12
  }
19
13
  import { logger } from "@iterable/api";
20
14
  import { setupMcpServer } from "./install.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,+BAA+B;AAC/B,qEAAqE;AACrE,IAAI,CAAC;IACH,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5C,MAAM,WAAW,GACf,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,IAAI,CAAC,KAAK,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;IACzE,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACnD,OAAO,CAAC,KAAK,CACX,sDAAsD,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAC9E,CAAC;QACF,OAAO,CAAC,KAAK,CACX,sHAAsH,CACvH,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAAC,MAAM,CAAC;IACP,qFAAqF;AACvF,CAAC;AACD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,uBAAuB;AACvB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAExB,0BAA0B;AAC1B,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;IACvB,iBAAiB,EAAE,CAAC,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE;QACzC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;KAAM,IACL,OAAO,KAAK,OAAO;IACnB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EACnB,CAAC;IACD,mCAAmC;IACnC,cAAc,EAAE,CAAC,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE;QACtC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;KAAM,CAAC;IACN,6CAA6C;IAC7C,MAAM,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;IACvC,MAAM;SACH,GAAG,EAAE;SACL,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,KAAK,EAAE,CAAC,CAAC,CAAC;AAC3E,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,+BAA+B;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,+EAA+E;AAC/E,IAAI,CAAC;IACH,sBAAsB,EAAE,CAAC;AAC3B,CAAC;AAAC,OAAO,CAAC,EAAE,CAAC;IACX,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;IACvD,OAAO,CAAC,KAAK,CAAE,CAAW,CAAC,OAAO,CAAC,CAAC;IACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AACD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,uBAAuB;AACvB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAExB,0BAA0B;AAC1B,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;IACvB,iBAAiB,EAAE,CAAC,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE;QACzC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;KAAM,IACL,OAAO,KAAK,OAAO;IACnB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EACnB,CAAC;IACD,mCAAmC;IACnC,cAAc,EAAE,CAAC,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE;QACtC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;KAAM,CAAC;IACN,6CAA6C;IAC7C,MAAM,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;IACvC,MAAM;SACH,GAAG,EAAE;SACL,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,KAAK,EAAE,CAAC,CAAC,CAAC;AAC3E,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Runtime support checks for the CLI.
3
+ * Throws an Error if the current Node.js version is unsupported.
4
+ */
5
+ export declare function assertSupportedRuntime(): void;
6
+ //# sourceMappingURL=runtime-check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-check.d.ts","sourceRoot":"","sources":["../../src/utils/runtime-check.ts"],"names":[],"mappings":"AACA;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CA2B7C"}
@@ -0,0 +1,28 @@
1
+ /* eslint-disable no-console */
2
+ /**
3
+ * Runtime support checks for the CLI.
4
+ * Throws an Error if the current Node.js version is unsupported.
5
+ */
6
+ export function assertSupportedRuntime() {
7
+ const [majorStr, minorStr] = (process.versions?.node || "0.0.0").split(".");
8
+ const major = parseInt(majorStr || "0", 10);
9
+ const minor = parseInt(minorStr || "0", 10);
10
+ const hasMinVersion = Number.isFinite(major) && (major > 20 || (major === 20 && minor >= 0));
11
+ if (!hasMinVersion) {
12
+ throw new Error(`This CLI requires Node.js v20 or newer. Detected: v${process.versions.node}\n\n` +
13
+ "Tips:\n" +
14
+ " • Install the LTS version from https://nodejs.org\n" +
15
+ " • Or with nvm: nvm install --lts && nvm use --lts\n");
16
+ }
17
+ // Sanity probe for modern regex flags (e.g., 'v' Unicode sets) used by dependencies.
18
+ // Node 20+ should support this; keep the probe for defense-in-depth on vendor changes.
19
+ try {
20
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
21
+ const _probe = new RegExp("a", "v");
22
+ }
23
+ catch {
24
+ throw new Error(`Your Node.js runtime (v${process.versions.node}) lacks support for modern RegExp features used by this CLI.\n` +
25
+ "Please upgrade to the latest LTS (Node 22) and try again.");
26
+ }
27
+ }
28
+ //# sourceMappingURL=runtime-check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-check.js","sourceRoot":"","sources":["../../src/utils/runtime-check.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B;;;GAGG;AACH,MAAM,UAAU,sBAAsB;IACpC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5E,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;IAE5C,MAAM,aAAa,GACjB,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,IAAI,CAAC,KAAK,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;IACzE,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACb,sDAAsD,OAAO,CAAC,QAAQ,CAAC,IAAI,MAAM;YAC/E,SAAS;YACT,uDAAuD;YACvD,wDAAwD,CAC3D,CAAC;IACJ,CAAC;IAED,qFAAqF;IACrF,uFAAuF;IACvF,IAAI,CAAC;QACH,6DAA6D;QAC7D,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,0BAA0B,OAAO,CAAC,QAAQ,CAAC,IAAI,gEAAgE;YAC7G,2DAA2D,CAC9D,CAAC;IACJ,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iterable/mcp",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "Model Context Protocol server for Iterable API",
5
5
  "keywords": [
6
6
  "mcp",
@@ -28,7 +28,7 @@
28
28
  "LICENSE"
29
29
  ],
30
30
  "engines": {
31
- "node": ">=18.0.0"
31
+ "node": ">=20.0.0"
32
32
  },
33
33
  "packageManager": "pnpm@10.20.0",
34
34
  "publishConfig": {