local-mcp 3.0.250 → 3.0.251

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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/setup.js +11 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "local-mcp",
3
- "version": "3.0.250",
3
+ "version": "3.0.251",
4
4
  "description": "LMCP — connect Claude Desktop, Cursor, Windsurf to Mail, Calendar, Contacts, Teams, OneDrive on macOS. Privacy-first: all data stays on your Mac.",
5
5
  "main": "index.js",
6
6
  "bin": {
package/setup.js CHANGED
@@ -797,7 +797,9 @@ function _runHealthCheck() {
797
797
  }
798
798
 
799
799
  function _getRef() {
800
- return process.env.LMCP_REF || ''
800
+ // Default to 'npm' so npx/npm installs are attributed (they carry no ?ref= like
801
+ // the web curl path). An explicit --ref= or LMCP_REF still wins (set above).
802
+ return process.env.LMCP_REF || 'npm'
801
803
  }
802
804
 
803
805
  function _getMachineId() {
@@ -1006,6 +1008,14 @@ function _pingInstall(clients, method, email = '', binaryVersion = '') {
1006
1008
  const https = require('https')
1007
1009
  const pkg = require('./package.json')
1008
1010
  const machineId = _getMachineId()
1011
+ // Persist the attribution ref so the server reports it on every heartbeat —
1012
+ // machine_id + ref in one event (machine-level attribution, deduped, and it
1013
+ // closes install events that fire before machine_id exists). Best-effort.
1014
+ try {
1015
+ const _refDir = path.join(HOME, '.local', 'share', 'local-mcp')
1016
+ fs.mkdirSync(_refDir, { recursive: true })
1017
+ fs.writeFileSync(path.join(_refDir, 'install-ref'), _getRef())
1018
+ } catch {}
1009
1019
  // Use the actual binary version (from /runtime/latest) so the admin panel
1010
1020
  // shows the Swift server version, not the npm package version. npm and Swift
1011
1021
  // versions can diverge when npm-only fixes are released.