@gwdn/nexus-mcp 0.8.6 → 0.8.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/README.md +3 -4
- package/dist/nexus-api.d.ts.map +1 -1
- package/dist/nexus-api.js +10 -1
- package/dist/nexus-api.js.map +1 -1
- package/dist/server.js +1 -1
- package/package.json +2 -1
- package/src/nexus-api.ts +10 -2
- package/src/server.ts +1 -1
- package/tsconfig.json +1 -0
package/README.md
CHANGED
|
@@ -89,12 +89,11 @@ terminals that were started before the update.
|
|
|
89
89
|
|
|
90
90
|
**Symptoms:** MCP tools report an older version, or new tools/fixes are missing.
|
|
91
91
|
|
|
92
|
-
**Fix:** Before starting OpenCode, clear
|
|
92
|
+
**Fix:** Before starting OpenCode, clear all npx caches for this package:
|
|
93
93
|
|
|
94
94
|
```bash
|
|
95
|
-
find ~/.npm/_npx -path "*/node_modules/@gwdn/nexus-mcp
|
|
96
|
-
-exec
|
|
97
|
-
| xargs rm -rf
|
|
95
|
+
find ~/.npm/_npx -path "*/node_modules/@gwdn/nexus-mcp" -type d \
|
|
96
|
+
-exec rm -rf {} + 2>/dev/null
|
|
98
97
|
```
|
|
99
98
|
|
|
100
99
|
Then start OpenCode normally. npx will fetch the latest version into a fresh
|
package/dist/nexus-api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nexus-api.d.ts","sourceRoot":"","sources":["../src/nexus-api.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"nexus-api.d.ts","sourceRoot":"","sources":["../src/nexus-api.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAsBH;;;GAGG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAIrC;AA0BD,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,OAAO;IAC3C,EAAE,EAAE,OAAO,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,CAAC,GAAG,IAAI,CAAA;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB;AAKD;;GAEG;AACH,wBAAsB,QAAQ,CAAC,CAAC,GAAG,OAAO,EACxC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IACP,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAA;IAC5C,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;CACd,GACL,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CA8C9B;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,CAAC,GAAG,OAAO,EACzC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAE9B;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,CAAC,GAAG,OAAO,EACxC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAE9B"}
|
package/dist/nexus-api.js
CHANGED
|
@@ -5,17 +5,25 @@
|
|
|
5
5
|
* All operations go through /api/mcp/* endpoints, authenticated
|
|
6
6
|
* via the NEXUS_PRIVATE_TOKEN (nxs_pat_*) Bearer token.
|
|
7
7
|
*/
|
|
8
|
+
import { hostname } from 'node:os';
|
|
8
9
|
import { getMachineId } from './machine-id.js';
|
|
9
10
|
let _baseUrl = null;
|
|
10
11
|
let _token = null;
|
|
11
12
|
let _machineId = null;
|
|
12
|
-
|
|
13
|
+
let _machineName = null;
|
|
14
|
+
// Eagerly resolve machine ID and hostname (sync, cached after first call)
|
|
13
15
|
try {
|
|
14
16
|
_machineId = getMachineId();
|
|
15
17
|
}
|
|
16
18
|
catch {
|
|
17
19
|
// machine_id is optional enrichment — never block startup
|
|
18
20
|
}
|
|
21
|
+
try {
|
|
22
|
+
_machineName = hostname();
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
// hostname is optional enrichment
|
|
26
|
+
}
|
|
19
27
|
/**
|
|
20
28
|
* Reset the cached API configuration. Used by E2E tests to switch
|
|
21
29
|
* from mocked env vars to real credentials.
|
|
@@ -54,6 +62,7 @@ export async function nexusApi(path, options = {}) {
|
|
|
54
62
|
Authorization: `Bearer ${token}`,
|
|
55
63
|
'Content-Type': 'application/json',
|
|
56
64
|
...(_machineId ? { 'X-Nexus-Machine-Id': _machineId } : {}),
|
|
65
|
+
...(_machineName ? { 'X-Nexus-Machine-Name': _machineName } : {}),
|
|
57
66
|
...(options.headers ?? {}),
|
|
58
67
|
};
|
|
59
68
|
try {
|
package/dist/nexus-api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nexus-api.js","sourceRoot":"","sources":["../src/nexus-api.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C,IAAI,QAAQ,GAAkB,IAAI,CAAA;AAClC,IAAI,MAAM,GAAkB,IAAI,CAAA;AAChC,IAAI,UAAU,GAAkB,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"nexus-api.js","sourceRoot":"","sources":["../src/nexus-api.ts"],"names":[],"mappings":"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"}
|
package/dist/server.js
CHANGED
|
@@ -121,7 +121,7 @@ function withIdentity(handler) {
|
|
|
121
121
|
// ---------------------------------------------------------------------------
|
|
122
122
|
const server = new McpServer({
|
|
123
123
|
name: 'nexus-mcp',
|
|
124
|
-
version: '0.8.
|
|
124
|
+
version: '0.8.7',
|
|
125
125
|
}, {
|
|
126
126
|
capabilities: {
|
|
127
127
|
tools: {},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gwdn/nexus-mcp",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.7",
|
|
4
4
|
"description": "MCP server for the Nexus platform",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/server.js",
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
"zod": "^4.3.6"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
|
+
"@types/node": "^25.9.1",
|
|
23
24
|
"tsx": "^4.21.0",
|
|
24
25
|
"typescript": "^5.8.3",
|
|
25
26
|
"vitest": "^4.1.4"
|
package/src/nexus-api.ts
CHANGED
|
@@ -6,18 +6,25 @@
|
|
|
6
6
|
* via the NEXUS_PRIVATE_TOKEN (nxs_pat_*) Bearer token.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
+
import { hostname } from 'node:os'
|
|
9
10
|
import { getMachineId } from './machine-id.js'
|
|
10
11
|
|
|
11
12
|
let _baseUrl: string | null = null
|
|
12
13
|
let _token: string | null = null
|
|
13
14
|
let _machineId: string | null = null
|
|
15
|
+
let _machineName: string | null = null
|
|
14
16
|
|
|
15
|
-
// Eagerly resolve machine ID (sync, cached after first call)
|
|
17
|
+
// Eagerly resolve machine ID and hostname (sync, cached after first call)
|
|
16
18
|
try {
|
|
17
19
|
_machineId = getMachineId()
|
|
18
20
|
} catch {
|
|
19
21
|
// machine_id is optional enrichment — never block startup
|
|
20
22
|
}
|
|
23
|
+
try {
|
|
24
|
+
_machineName = hostname()
|
|
25
|
+
} catch {
|
|
26
|
+
// hostname is optional enrichment
|
|
27
|
+
}
|
|
21
28
|
|
|
22
29
|
/**
|
|
23
30
|
* Reset the cached API configuration. Used by E2E tests to switch
|
|
@@ -50,7 +57,7 @@ function getConfig(): { baseUrl: string; token: string } {
|
|
|
50
57
|
_baseUrl = url.replace(/\/$/, '')
|
|
51
58
|
_token = token.trim()
|
|
52
59
|
|
|
53
|
-
return { baseUrl: _baseUrl
|
|
60
|
+
return { baseUrl: _baseUrl!, token: _token! }
|
|
54
61
|
}
|
|
55
62
|
|
|
56
63
|
export interface NexusApiResponse<T = unknown> {
|
|
@@ -83,6 +90,7 @@ export async function nexusApi<T = unknown>(
|
|
|
83
90
|
Authorization: `Bearer ${token}`,
|
|
84
91
|
'Content-Type': 'application/json',
|
|
85
92
|
...(_machineId ? { 'X-Nexus-Machine-Id': _machineId } : {}),
|
|
93
|
+
...(_machineName ? { 'X-Nexus-Machine-Name': _machineName } : {}),
|
|
86
94
|
...(options.headers ?? {}),
|
|
87
95
|
}
|
|
88
96
|
|
package/src/server.ts
CHANGED