@remcp/runtime 0.2.125 → 0.2.127
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 +12 -0
- package/package.json +1 -1
- package/src/extended/diagnostics.mjs +14 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.2.127 — 2026-10-01
|
|
4
|
+
|
|
5
|
+
- macOS `network listeners` now returns only TCP `LISTEN` rows from the native network table instead of all active connections.
|
|
6
|
+
- Established/closing and Unix-domain rows are filtered out, aligning macOS with the documented listener-only contract.
|
|
7
|
+
- The macOS release CI runs the routing + listener diagnostics test on `macos-latest`. Tool names and schemas remain unchanged.
|
|
8
|
+
|
|
9
|
+
## 0.2.126 — 2026-10-01
|
|
10
|
+
|
|
11
|
+
- macOS `network` route inventory now uses `/usr/sbin/netstat -rn`; the previous generic Unix fallback invoked `route -n`, which on BSD/macOS expects a command and can return usage instead of the table.
|
|
12
|
+
- Linux and Windows network backends are unchanged.
|
|
13
|
+
- The public macOS release gate executes the real route handler on `macos-latest`. The 83 tool names/schemas remain unchanged.
|
|
14
|
+
|
|
3
15
|
## 0.2.125 — 2026-10-01
|
|
4
16
|
|
|
5
17
|
- Windows `audio` now controls the default render endpoint through the native Core Audio `IAudioEndpointVolume` interface hosted by inbox PowerShell `Add-Type`.
|
package/package.json
CHANGED
|
@@ -108,6 +108,13 @@ export async function eventLog(args) {
|
|
|
108
108
|
return text(rendered, result.code !== 0 && !result.stdout.trim());
|
|
109
109
|
}
|
|
110
110
|
|
|
111
|
+
export function filterMacosTcpListeners(output) {
|
|
112
|
+
const lines = String(output || '').split(/\r?\n/);
|
|
113
|
+
const header = lines.filter(line => /^Proto\s+/i.test(line) || /^Active Internet connections/i.test(line));
|
|
114
|
+
const listeners = lines.filter(line => /\bLISTEN\b/i.test(line));
|
|
115
|
+
return [...header, ...listeners].join('\n').trim();
|
|
116
|
+
}
|
|
117
|
+
|
|
111
118
|
async function connectivityTest(host, port, timeoutMs) {
|
|
112
119
|
return new Promise(resolve => {
|
|
113
120
|
const started = performance.now();
|
|
@@ -135,6 +142,13 @@ export async function networkTool(args) {
|
|
|
135
142
|
: 'Get-NetTCPConnection -State Listen | Select-Object LocalAddress,LocalPort,OwningProcess,State | Sort-Object LocalPort | ConvertTo-Json -Compress';
|
|
136
143
|
return text((await runPowerShell(script, { label:`network ${action}` })).stdout.trim() || '[]');
|
|
137
144
|
}
|
|
145
|
+
if (process.platform === 'darwin' && action === 'routes') {
|
|
146
|
+
return text((await runFile('/usr/sbin/netstat', ['-rn'], { label:'routes' })).stdout);
|
|
147
|
+
}
|
|
148
|
+
if (process.platform === 'darwin' && action === 'listeners') {
|
|
149
|
+
const { stdout } = await runFile('/usr/sbin/netstat', ['-an', '-p', 'tcp'], { label:'listeners' });
|
|
150
|
+
return text(filterMacosTcpListeners(stdout));
|
|
151
|
+
}
|
|
138
152
|
if (action === 'routes') {
|
|
139
153
|
if (commandExists('ip')) return text((await runFile('ip', ['route','show'], { label:'routes' })).stdout);
|
|
140
154
|
if (commandExists('route')) return text((await runFile('route', ['-n'], { label:'routes' })).stdout);
|