@remcp/runtime 0.2.51 → 0.2.53
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 +9 -0
- package/package.json +1 -1
- package/src/extended/catalog.mjs +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## 0.2.53 — 2026-09-20
|
|
6
|
+
|
|
7
|
+
- Lockstep patch release with the ReMCP client at `0.2.53`; the runtime tool implementation is unchanged from `0.2.52`.
|
|
8
|
+
|
|
9
|
+
## 0.2.52 — 2026-09-20
|
|
10
|
+
|
|
11
|
+
- `computer_snapshot.active_window` is nullable when native accessibility state cannot be matched to the platform's top-level window enumeration, preventing valid macOS snapshots from failing structured output validation.
|
|
12
|
+
- Lockstep patch release with the ReMCP client at `0.2.52`.
|
|
13
|
+
|
|
5
14
|
## 0.2.51 — 2026-09-20
|
|
6
15
|
|
|
7
16
|
- Linux AT-SPI text/focus operations reject explicit false results, `type_text method=accessibility` remains accessibility-only, and semantic browser text failures direct callers to `browser_action` rather than reporting an unverified paste as success.
|
package/package.json
CHANGED
package/src/extended/catalog.mjs
CHANGED
|
@@ -164,6 +164,7 @@ const outputString = description => ({ type:'string', ...(description ? { descri
|
|
|
164
164
|
const outputNumber = description => ({ type:'number', ...(description ? { description } : {}) });
|
|
165
165
|
const outputBoolean = description => ({ type:'boolean', ...(description ? { description } : {}) });
|
|
166
166
|
const outputObject = description => ({ type:'object', additionalProperties:true, ...(description ? { description } : {}) });
|
|
167
|
+
const outputNullableObject = description => ({ type:['object','null'], additionalProperties:true, ...(description ? { description } : {}) });
|
|
167
168
|
const outputRecord = (properties = {}, description) => ({ type:'object', properties, additionalProperties:true, ...(description ? { description } : {}) });
|
|
168
169
|
const outputArray = (items = {}, description) => ({ type:'array', items, ...(description ? { description } : {}) });
|
|
169
170
|
|
|
@@ -172,7 +173,7 @@ const OUTPUT_FIELDS = Object.freeze({
|
|
|
172
173
|
device:outputObject('Device/platform metadata for the captured computer state.'),
|
|
173
174
|
windows:outputArray(outputObject(), 'Top-level windows with stable ids/PIDs/bounds when available.'),
|
|
174
175
|
displays:outputArray(outputObject(), 'Display inventory used for virtual-desktop geometry.'),
|
|
175
|
-
active_window:
|
|
176
|
+
active_window:outputNullableObject('Active top-level window when known; null when accessibility state cannot be joined to top-level window enumeration.'),
|
|
176
177
|
ui:outputObject('Native accessibility snapshot and semantic tree.'),
|
|
177
178
|
cursor:outputObject('Pointer position when available.'),
|
|
178
179
|
clipboard:outputObject('Clipboard metadata only unless clipboard content was explicitly requested.'),
|