@elitedcs/ghl-mcp 3.53.1 → 3.53.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/CHANGELOG.md +15 -0
- package/dist/index.js +20 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 3.53.2 — Fixes a serious 3.53.1 regression: upgrade immediately
|
|
4
|
+
|
|
5
|
+
3.53.1 resolved the machine identity randomly when nothing was passed in, and
|
|
6
|
+
that is exactly how attestation verification asks for it. Cached attestations
|
|
7
|
+
failed to verify, the tool dropped to bootstrap, and each restart would have
|
|
8
|
+
claimed another install slot until the member hit their cap.
|
|
9
|
+
|
|
10
|
+
- No-argument identity resolution is deterministic again: stored `device_id`
|
|
11
|
+
first, then the fingerprint inside an existing attestation (so an upgrade
|
|
12
|
+
keeps the slot it already holds), then the legacy scheme as a last resort.
|
|
13
|
+
- Two tests pin the determinism so this cannot ship again.
|
|
14
|
+
|
|
15
|
+
If you ran 3.53.1, upgrade. If your install count looks inflated, write to
|
|
16
|
+
support@ghlcommand.com and we will reset it.
|
|
17
|
+
|
|
3
18
|
## 3.53.1 — Laptops stop eating install slots; "cancelled" stops lying
|
|
4
19
|
|
|
5
20
|
Reported by Carlos Boyd, who hit his install cap with two physical machines.
|
package/dist/index.js
CHANGED
|
@@ -1010,8 +1010,26 @@ function deviceFingerprint(opts) {
|
|
|
1010
1010
|
return opts.cached;
|
|
1011
1011
|
}
|
|
1012
1012
|
const crypto4 = require("node:crypto");
|
|
1013
|
+
if (!opts) {
|
|
1014
|
+
try {
|
|
1015
|
+
const store = (init_credentials_store(), __toCommonJS(credentials_store_exports));
|
|
1016
|
+
const creds = store.readCredentials();
|
|
1017
|
+
if (creds?.device_id) return creds.device_id;
|
|
1018
|
+
const adopted = creds?.signed_attestation ? parseAttestationPayload(creds.signed_attestation)?.device_fingerprint : void 0;
|
|
1019
|
+
const id = adopted || crypto4.randomBytes(8).toString("hex");
|
|
1020
|
+
if (creds) {
|
|
1021
|
+
try {
|
|
1022
|
+
store.writeCredentials({ ...creds, device_id: id });
|
|
1023
|
+
} catch {
|
|
1024
|
+
}
|
|
1025
|
+
}
|
|
1026
|
+
return id;
|
|
1027
|
+
} catch {
|
|
1028
|
+
return legacyDeviceFingerprint();
|
|
1029
|
+
}
|
|
1030
|
+
}
|
|
1013
1031
|
const fresh = crypto4.randomBytes(8).toString("hex");
|
|
1014
|
-
opts
|
|
1032
|
+
opts.persist?.(fresh);
|
|
1015
1033
|
return fresh;
|
|
1016
1034
|
}
|
|
1017
1035
|
function base64urlDecode(s) {
|
|
@@ -2084,7 +2102,7 @@ var require_package = __commonJS({
|
|
|
2084
2102
|
"package.json"(exports2, module2) {
|
|
2085
2103
|
module2.exports = {
|
|
2086
2104
|
name: "@elitedcs/ghl-mcp",
|
|
2087
|
-
version: "3.53.
|
|
2105
|
+
version: "3.53.2",
|
|
2088
2106
|
mcpName: "io.github.drjerryrelth/ghl-command",
|
|
2089
2107
|
description: "GoHighLevel MCP Server for Claude. 232 tools \u2014 full CRM, automation, marketing control, account-wide workflow audit, live funnel-capture verification, and the only programmatic GHL workflow builder, now multi-tenant across client accounts.",
|
|
2090
2108
|
main: "dist/index.js",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elitedcs/ghl-mcp",
|
|
3
|
-
"version": "3.53.
|
|
3
|
+
"version": "3.53.2",
|
|
4
4
|
"mcpName": "io.github.drjerryrelth/ghl-command",
|
|
5
5
|
"description": "GoHighLevel MCP Server for Claude. 232 tools \u2014 full CRM, automation, marketing control, account-wide workflow audit, live funnel-capture verification, and the only programmatic GHL workflow builder, now multi-tenant across client accounts.",
|
|
6
6
|
"main": "dist/index.js",
|