@elitedcs/ghl-mcp 3.8.0 → 3.8.1
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/CHANGELOG.md +39 -0
- package/dist/index.js +5 -2
- package/package.json +5 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,44 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 3.8.1 — Vitest test suite + pre-publish gate
|
|
4
|
+
|
|
5
|
+
**178 tools across 38 modules. Bundle: 291.3 KB (unchanged).**
|
|
6
|
+
|
|
7
|
+
Strict safety patch. No new features, no behavior changes — just tests covering the high-risk code paths so regressions get caught at build time instead of in production.
|
|
8
|
+
|
|
9
|
+
### New: Vitest test suite (87 tests, 154ms)
|
|
10
|
+
Four test files added under `src/`:
|
|
11
|
+
|
|
12
|
+
- `retry.test.ts` (15 tests) — `computeRetryDelay`: Retry-After delta-seconds + HTTP-date parsing + clamping + full-jitter backoff math. Catches the "5junk" mixed-string regression and the "doubles per attempt" backoff guarantee.
|
|
13
|
+
- `trigger-schemas.test.ts` (60 tests) — Every one of the 57 native trigger types parses through its typed variant. Unknown future types fall through to the permissive fallback. Real-world `form_submission` payload preserves passthrough fields.
|
|
14
|
+
- `workflow-builder-client.test.ts` (7 tests) — `normalizeRemoveFromWorkflowAction` covers all branches (no-op when both fields present, synthesize string from array, synthesize array from string, multi-element array picks first, empty array no-op, non-target action type no-op, missing attributes no-op).
|
|
15
|
+
- `version-check.test.ts` (5 + tests) — `fetchLatestVersion` + `getVersionStatus` with mocked `fetch`: 200/non-2xx/network-error/missing-version-field/non-string-version cases.
|
|
16
|
+
|
|
17
|
+
### CI gate
|
|
18
|
+
The npm publish workflow now runs `npm test` before the tag-vs-version check. **Tests must pass for a release to ship.** Combined with the post-publish smoke test that verifies the package boots cleanly on a fresh machine, both surfaces are now covered:
|
|
19
|
+
|
|
20
|
+
- Pre-publish: schema correctness, normalization logic, retry math
|
|
21
|
+
- Post-publish: server boots, tool registry includes required tools
|
|
22
|
+
|
|
23
|
+
### New npm scripts
|
|
24
|
+
- `npm test` — run once, exit
|
|
25
|
+
- `npm run test:watch` — re-run on file change during development
|
|
26
|
+
|
|
27
|
+
### Dev-only dep added
|
|
28
|
+
- `vitest@^4.1.6` (devDependencies — not shipped to consumers; the npm tarball is unchanged size)
|
|
29
|
+
|
|
30
|
+
### `normalizeRemoveFromWorkflowAction` now exported
|
|
31
|
+
Was private in v3.8.0. Made public so tests can exercise it directly. Still not exposed via MCP — it's a runtime detail used by `getWorkflow` (read) and `buildActionChain` (write).
|
|
32
|
+
|
|
33
|
+
### Files changed
|
|
34
|
+
- `src/retry.test.ts` (NEW)
|
|
35
|
+
- `src/trigger-schemas.test.ts` (NEW)
|
|
36
|
+
- `src/workflow-builder-client.test.ts` (NEW)
|
|
37
|
+
- `src/version-check.test.ts` (NEW)
|
|
38
|
+
- `src/workflow-builder-client.ts` — `normalizeRemoveFromWorkflowAction` now exported
|
|
39
|
+
- `package.json` — `vitest` dev dep + `test` / `test:watch` scripts
|
|
40
|
+
- `.github/workflows/publish.yml` — added pre-publish test step
|
|
41
|
+
|
|
3
42
|
## 3.8.0 — Bundle re-extraction wins (triggers + goal events) + correctness fixes
|
|
4
43
|
|
|
5
44
|
**178 tools across 38 modules. Bundle: 291.3 KB.**
|
package/dist/index.js
CHANGED
|
@@ -31,7 +31,7 @@ var require_package = __commonJS({
|
|
|
31
31
|
"package.json"(exports2, module2) {
|
|
32
32
|
module2.exports = {
|
|
33
33
|
name: "@elitedcs/ghl-mcp",
|
|
34
|
-
version: "3.8.
|
|
34
|
+
version: "3.8.1",
|
|
35
35
|
description: "GoHighLevel MCP Server for Claude. 178 tools \u2014 full CRM, automation, marketing control, and the only programmatic GHL workflow builder.",
|
|
36
36
|
main: "dist/index.js",
|
|
37
37
|
bin: {
|
|
@@ -50,6 +50,8 @@ var require_package = __commonJS({
|
|
|
50
50
|
setup: "node setup-wizard.mjs",
|
|
51
51
|
start: "node dist/index.js",
|
|
52
52
|
dev: "tsc --watch",
|
|
53
|
+
test: "vitest run",
|
|
54
|
+
"test:watch": "vitest",
|
|
53
55
|
prepublishOnly: "npm run build"
|
|
54
56
|
},
|
|
55
57
|
keywords: [
|
|
@@ -87,7 +89,8 @@ var require_package = __commonJS({
|
|
|
87
89
|
"@types/node": "^22.15.3",
|
|
88
90
|
esbuild: "^0.27.4",
|
|
89
91
|
open: "^11.0.0",
|
|
90
|
-
typescript: "^5.8.3"
|
|
92
|
+
typescript: "^5.8.3",
|
|
93
|
+
vitest: "^4.1.6"
|
|
91
94
|
}
|
|
92
95
|
};
|
|
93
96
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elitedcs/ghl-mcp",
|
|
3
|
-
"version": "3.8.
|
|
3
|
+
"version": "3.8.1",
|
|
4
4
|
"description": "GoHighLevel MCP Server for Claude. 178 tools — full CRM, automation, marketing control, and the only programmatic GHL workflow builder.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -19,6 +19,8 @@
|
|
|
19
19
|
"setup": "node setup-wizard.mjs",
|
|
20
20
|
"start": "node dist/index.js",
|
|
21
21
|
"dev": "tsc --watch",
|
|
22
|
+
"test": "vitest run",
|
|
23
|
+
"test:watch": "vitest",
|
|
22
24
|
"prepublishOnly": "npm run build"
|
|
23
25
|
},
|
|
24
26
|
"keywords": [
|
|
@@ -56,6 +58,7 @@
|
|
|
56
58
|
"@types/node": "^22.15.3",
|
|
57
59
|
"esbuild": "^0.27.4",
|
|
58
60
|
"open": "^11.0.0",
|
|
59
|
-
"typescript": "^5.8.3"
|
|
61
|
+
"typescript": "^5.8.3",
|
|
62
|
+
"vitest": "^4.1.6"
|
|
60
63
|
}
|
|
61
64
|
}
|