@remcp/runtime 0.2.182 → 0.2.184

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 CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.2.184 — 2026-10-26
4
+
5
+ - Return initial output from long-running terminal sessions with a 45 ms exit-status grace instead of 175 ms, while preserving final exit codes for fast commands, silent-process timeout bounds and tool output schemas.
6
+ - Add regression coverage for first-output latency, structured exit state, incremental output and command cancellation.
7
+
3
8
  ## 0.2.181 — 2026-10-25
4
9
 
5
10
  - Add bounded read-only `browser_devtools` Form Map and selector-scoped computed Styles/box-model inspection with no user-entered values, raw CSS, URL content or page text in diagnostic reports.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remcp/runtime",
3
- "version": "0.2.182",
3
+ "version": "0.2.184",
4
4
  "description": "First-party ReMCP local device runtime: filesystem, terminal, computer-use, browser, diagnostics and document tools over MCP.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -69,9 +69,12 @@ function terminalStructured(value, fallbackText) {
69
69
  // useful output arrives, keeping a short grace window so quick commands can
70
70
  // still report their real exit status without requiring a follow-up tool call.
71
71
  // Explicit timeout_ms remains an upper bound, including for silent commands.
72
+ // Buffered output needs only a short exit-status grace: 175ms held long-running
73
+ // commands even after their first useful text was already ready. A 45ms window
74
+ // lets immediate exits report their final code without delaying live feedback.
72
75
  async function waitForInitialOutput(session, timeoutMs) {
73
76
  const deadline = Date.now() + timeoutMs;
74
- const graceUntil = Date.now() + Math.min(175, timeoutMs);
77
+ const graceUntil = Date.now() + Math.min(45, timeoutMs);
75
78
  while (!session.exited) {
76
79
  const now = Date.now();
77
80
  if (now >= deadline || (now >= graceUntil && hasNewOutput(session))) break;