dsh-labscript 0.3.0 → 0.3.1

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,12 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.3.1
4
+
5
+ - The DSH-side bridge budget (`requestTimeoutMs`) now defaults to 180 s instead of 60 s, and the
6
+ `labs_doctor` probe uses it too. It has to stay above runmanager's own client timeout, which
7
+ now comes from labconfig (`[timeouts] communication_timeout`): at 60 s both budgets were equal,
8
+ so a slow RPC would be killed by the host before runmanager could report the real error.
9
+
3
10
  ## 0.3.0
4
11
 
5
12
  Implements the upstream request written from the field (labscript-suite workflow terms and
package/README.md CHANGED
@@ -107,7 +107,8 @@ value next to `mapped_run_folder`.
107
107
  (`[servers] runmanager`, `[ports] runmanager` — default 42523 — and
108
108
  `[timeouts] communication_timeout` — default 60 s), the same way `runmanager.remote.Client`
109
109
  resolves them. Configured values override labconfig. The Plugins page leaves host/port blank
110
- for that reason; typing them pins them.
110
+ for that reason; typing them pins them. The DSH-side bridge budget (`requestTimeoutMs`,
111
+ default 180 s) stays above that timeout, so a slow RPC is not cut short by the host.
111
112
 
112
113
  `engage` controls how a submitted run is watched: `timeoutS` (default 900) is the
113
114
  total wait budget of one `labs_wait`, `noShotS` (default 25) makes the wait return
package/lib/runtime.js CHANGED
@@ -69,7 +69,10 @@ function normalizeConfig(raw) {
69
69
  mock: input.mock || {},
70
70
  simulator: input.simulator || {},
71
71
  dshHome: input.dshHome || '',
72
- requestTimeoutMs: Number(input.requestTimeoutMs || 60000),
72
+ // Must stay above runmanager's own client timeout (labconfig [timeouts]
73
+ // communication_timeout, default 60 s): the bridge is killed when this expires, which
74
+ // would hide the real error behind a generic timeout.
75
+ requestTimeoutMs: Number(input.requestTimeoutMs || 180000),
73
76
  }
74
77
  }
75
78
 
@@ -303,7 +306,7 @@ export function createRuntime(ctx, rawConfig) {
303
306
  }
304
307
  if (config.python) {
305
308
  try {
306
- const data = await runBridge('doctor', {}, { timeoutMs: 60000 })
309
+ const data = await runBridge('doctor', {}, { timeoutMs: config.requestTimeoutMs })
307
310
  for (const check of data.checks || []) checks.push(check)
308
311
  } catch (error) {
309
312
  add('python-bridge', 'fail', error.message, error.detail && error.detail.hint ? error.detail.hint : 'run the bridge manually to see the traceback')
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-labscript",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "Control labscript-suite experiments from DeepSeek Harness: runmanager globals and scans, submits and waits, YAML fixed-operation protocols with postprocess write-back, panel snapshots, a built-in mock backend and a read-only doctor.",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",