@remcp/runtime 0.2.138 → 0.2.139
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 +7 -0
- package/README.md +1 -1
- package/package.json +1 -1
- package/src/catalog.mjs +2 -2
- package/src/tools/files.mjs +4 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.2.139 — 2026-10-02
|
|
4
|
+
|
|
5
|
+
- `create_archive` and `extract_archive` are now advertised on macOS in addition to Linux.
|
|
6
|
+
- The tar verbose-output parser accepts native bsdtar month/day/time rows that omit the year for current-year entries, while retaining the existing archive expanded-size safety checks.
|
|
7
|
+
- Public macOS release validation performs a real archive create/extract round trip. Windows archive tools remain intentionally hidden until a separately validated backend exists.
|
|
8
|
+
- Tool names and MCP schemas are unchanged; macOS parity rises from 81 to 83 advertised tools on a fully capable host.
|
|
9
|
+
|
|
3
10
|
## 0.2.138 — 2026-10-02
|
|
4
11
|
|
|
5
12
|
- `browser_tabs`, `browser_snapshot`, `browser_find`, and `browser_wait` now set `openWorldHint=true` while retaining `readOnlyHint=true` and `idempotentHint=true`.
|
package/README.md
CHANGED
|
@@ -40,7 +40,7 @@ support and emits `notifications/tools/list_changed` when that capability set ch
|
|
|
40
40
|
| --- | --- |
|
|
41
41
|
| Read | `read_file`, `read_files`, `read_multiple_files`, `read_image`, `read_binary`, `list_directory`, `get_file_info`, `hash_file`, `diff_files` |
|
|
42
42
|
| Write / edit | `write_file`, `write_files`, `write_binary`, `apply_patch`, `set_permissions`, `edit_block`, `replace_lines`, `replace_in_files` |
|
|
43
|
-
| Organise | `create_directory`, `move_file`, `copy_file`, `copy_paths`, `move_paths`, `move_to_trash`, `create_archive`, `extract_archive` |
|
|
43
|
+
| Organise | `create_directory`, `move_file`, `copy_file`, `copy_paths`, `move_paths`, `move_to_trash`, `create_archive`, `extract_archive` (Linux/macOS; tar/zip backends are validated before use) |
|
|
44
44
|
| Delete | `delete_path`, `delete_paths` |
|
|
45
45
|
| Transfer | `read_binary` / `write_binary` stream any file as base64 chunks in both directions; `create_archive` / `extract_archive` move whole trees |
|
|
46
46
|
| Screen | `take_screenshot` returns the desktop as an image on Linux, macOS, and Windows |
|
package/package.json
CHANGED
package/src/catalog.mjs
CHANGED
|
@@ -830,8 +830,8 @@ export const toolDefinitions = [
|
|
|
830
830
|
},
|
|
831
831
|
];
|
|
832
832
|
|
|
833
|
-
export function coreToolSupported(definition) {
|
|
834
|
-
return !['create_archive', 'extract_archive'].includes(definition.name) ||
|
|
833
|
+
export function coreToolSupported(definition, { platform = process.platform } = {}) {
|
|
834
|
+
return !['create_archive', 'extract_archive'].includes(definition.name) || ['linux', 'darwin'].includes(platform);
|
|
835
835
|
}
|
|
836
836
|
|
|
837
837
|
export function supportedCoreTools() {
|
package/src/tools/files.mjs
CHANGED
|
@@ -1449,17 +1449,16 @@ function archiveExpandedSize(lines, pattern, label, expectedEntries = null) {
|
|
|
1449
1449
|
return total;
|
|
1450
1450
|
}
|
|
1451
1451
|
|
|
1452
|
-
function tarEntrySize(line) {
|
|
1452
|
+
export function tarEntrySize(line) {
|
|
1453
1453
|
const tokens = String(line || '').trim().split(/\s+/);
|
|
1454
1454
|
for (const index of [2, 3, 4]) {
|
|
1455
1455
|
const size = Number(tokens[index]);
|
|
1456
1456
|
if (!Number.isSafeInteger(size) || size < 0) continue;
|
|
1457
1457
|
const tail = tokens.slice(index + 1);
|
|
1458
1458
|
const gnuDate = /^\d{4}-\d{2}-\d{2}$/.test(tail[0] || '');
|
|
1459
|
-
const
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|| /^\d{4}$/.test(tail[2] || ''));
|
|
1459
|
+
const bsdMonthDay = /^[A-Z][a-z]{2}$/.test(tail[0] || '') && /^\d{1,2}$/.test(tail[1] || '');
|
|
1460
|
+
const bsdTime = /^\d{2}:\d{2}(?::\d{2})?$/.test(tail[2] || '');
|
|
1461
|
+
const bsdDate = bsdMonthDay && (bsdTime || /^\d{4}$/.test(tail[2] || ''));
|
|
1463
1462
|
if (gnuDate || bsdDate) return size;
|
|
1464
1463
|
}
|
|
1465
1464
|
return null;
|