@elitedcs/ghl-mcp 3.34.6 → 3.34.7

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 CHANGED
@@ -1,5 +1,27 @@
1
1
  # Changelog
2
2
 
3
+ ## 3.34.7 — Audit now sees UUID pipeline-stage ids (dead-stage silent failure)
4
+
5
+ - **`audit_workflows` / `validate_workflow` now catch a dead pipeline STAGE
6
+ reference inside move/create/update-opportunity actions.** GHL pipeline **stage**
7
+ ids are hyphenated UUIDs (e.g. `ce81a710-7b63-4324-b5dc-c170ad5b8773`), but the
8
+ id-shape gate (`ID_SHAPE`) only matched hyphen-free alphanumeric ids. Every
9
+ action-level stage reference (`internal_update_opportunity`,
10
+ `internal_create_opportunity`, `create_opportunity`) was therefore silently
11
+ dropped before validation: a workflow that moved or created an opportunity into a
12
+ **deleted** stage passed the audit clean. This is exactly the silent-failure class
13
+ the tool exists to catch, and it affected every account whose pipelines use UUID
14
+ stages (the GHL norm). `validate_workflow` on such a workflow now reports both the
15
+ pipeline and the stage reference (previously only the pipeline).
16
+ - **Fix:** `ID_SHAPE` accepts both shapes — `[A-Za-z0-9]{17,}` and the canonical
17
+ UUID. The broadening cannot cause a false break: display names ("Jane Doe") and
18
+ standard field names still never match, and anything that cannot be resolved is
19
+ reported as `unverified`, never `error`. Trigger-condition stage refs were already
20
+ un-gated and unaffected.
21
+ - Tests: 4 new regression cases (dead UUID stage in each of the three opportunity
22
+ action shapes must flag; a valid UUID stage must produce zero errors and now be
23
+ extracted). Full suite 273 pass / 1 skip.
24
+
3
25
  ## 3.34.6 — Revert v3.34.5 (internal_update_opportunity save-abort regression)
4
26
 
5
27
  - **Reverts v3.34.5.** That release made `validateActionChain` throw on *every*
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.34.6",
34
+ version: "3.34.7",
35
35
  mcpName: "io.github.drjerryrelth/ghl-command",
36
36
  description: "GoHighLevel MCP Server for Claude. 218 tools \u2014 full CRM, automation, marketing control, account-wide workflow audit, and the only programmatic GHL workflow builder, now multi-tenant across client accounts.",
37
37
  main: "dist/index.js",
@@ -8516,7 +8516,7 @@ ${errors.join("\n")}` : "\nNo errors!",
8516
8516
  // src/tools/validators.ts
8517
8517
  var import_zod47 = require("zod");
8518
8518
  var ALL_CATEGORIES = ["pipeline", "stage", "custom_field", "user", "workflow", "form", "calendar", "survey"];
8519
- var ID_SHAPE = /^[A-Za-z0-9]{17,}$/;
8519
+ var ID_SHAPE = /^([A-Za-z0-9]{17,}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/;
8520
8520
  function isIdShaped(s) {
8521
8521
  return typeof s === "string" && ID_SHAPE.test(s);
8522
8522
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elitedcs/ghl-mcp",
3
- "version": "3.34.6",
3
+ "version": "3.34.7",
4
4
  "mcpName": "io.github.drjerryrelth/ghl-command",
5
5
  "description": "GoHighLevel MCP Server for Claude. 218 tools — full CRM, automation, marketing control, account-wide workflow audit, and the only programmatic GHL workflow builder, now multi-tenant across client accounts.",
6
6
  "main": "dist/index.js",