@remcp/runtime 0.2.97 → 0.2.99
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 +13 -0
- package/package.json +1 -1
- package/src/extended/catalog.mjs +1 -1
- package/src/extended/documents.mjs +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.2.99 — 2026-09-22
|
|
4
|
+
|
|
5
|
+
- Lockstep runtime republish for the release-pipeline catalog synchronization fix.
|
|
6
|
+
- Runtime handlers and schemas are unchanged from 0.2.98: `pdf_action info` fallback exposes numeric `annotation_count`, and the live desktop smoke treats `record_screen` as capability-conditional.
|
|
7
|
+
- 0.2.98 was published publicly but not deployed by the private production pipeline because its stale hosted catalog was caught fail-closed before rollout.
|
|
8
|
+
|
|
9
|
+
## 0.2.98 — 2026-09-22
|
|
10
|
+
|
|
11
|
+
- `pdf_action info` fallback exposes numeric `annotation_count` instead of violating the declared `annotations` array output contract.
|
|
12
|
+
- Added outputSchema validation coverage for the no-`pdfinfo` fallback path.
|
|
13
|
+
- Live desktop smoke treats `record_screen` as capability-conditional and verifies every tool actually advertised by the runtime.
|
|
14
|
+
- Tool names remain unchanged.
|
|
15
|
+
|
|
3
16
|
## 0.2.97 — 2026-09-22
|
|
4
17
|
|
|
5
18
|
- Native GNOME Wayland `move`, `resize`, and `move_resize` no longer trust a portal drag as proof of success.
|
package/package.json
CHANGED
package/src/extended/catalog.mjs
CHANGED
|
@@ -219,7 +219,7 @@ const OUTPUT_FIELDS = Object.freeze({
|
|
|
219
219
|
read_document: { text:outputString(), path:outputString(), data:{}, sheets:outputArray(outputObject()), sheet:outputString(), rows:outputArray({}), cells:outputArray({}) },
|
|
220
220
|
edit_spreadsheet: { path:outputString(), sheet:outputString(), edited_cells:outputNumber(), bytes:outputNumber(), created:outputBoolean() },
|
|
221
221
|
edit_document: { path:outputString(), operations:outputNumber(), changes:outputNumber(), bytes:outputNumber(), created:outputBoolean() },
|
|
222
|
-
pdf_action: { action:outputString(), path:outputString(), source:outputString(), output:outputString(), output_dir:outputString(), files:outputArray(outputString()), pages:outputString(), bytes:outputNumber(), annotations:outputArray(outputObject()), inputs:outputNumber() },
|
|
222
|
+
pdf_action: { action:outputString(), path:outputString(), source:outputString(), output:outputString(), output_dir:outputString(), files:outputArray(outputString()), pages:outputString(), bytes:outputNumber(), annotations:outputArray(outputObject()), annotation_count:outputNumber('Number of PDF annotations found by the info action.'), inputs:outputNumber() },
|
|
223
223
|
});
|
|
224
224
|
|
|
225
225
|
function outputSchemaFor(name, title) {
|
|
@@ -442,7 +442,7 @@ export async function pdfAction(args) {
|
|
|
442
442
|
if (action === 'info') {
|
|
443
443
|
const source = await resolveSafePath(args.path,'path');
|
|
444
444
|
if (commandExists('pdfinfo')) return text((await runFile('pdfinfo',[source],{label:'pdfinfo'})).stdout);
|
|
445
|
-
const data = await readFile(source); return jsonResult({ path:source, bytes:data.length,
|
|
445
|
+
const data = await readFile(source); return jsonResult({ path:source, bytes:data.length, annotation_count:pdfAnnotations(data).length });
|
|
446
446
|
}
|
|
447
447
|
if (action === 'merge') {
|
|
448
448
|
const requested = Array.isArray(args.paths) ? args.paths : [];
|