@scrypted/server 0.119.0 → 0.119.2

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.
@@ -96,7 +96,7 @@ async function httpFetch(options) {
96
96
  if (options?.checkStatusCode === undefined || options?.checkStatusCode) {
97
97
  try {
98
98
  const checker = typeof options?.checkStatusCode === 'function' ? options.checkStatusCode : _1.checkStatus;
99
- if (!checker(response.statusCode))
99
+ if (!response.statusCode || !checker(response.statusCode))
100
100
  throw new Error(`http response statusCode ${response.statusCode}`);
101
101
  }
102
102
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"http-fetch.js","sourceRoot":"","sources":["../../src/fetch/http-fetch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-fetch.js","sourceRoot":"","sources":["../../src/fetch/http-fetch.ts"],"names":[],"mappings":"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"}
@@ -91,7 +91,7 @@ function createStringOrBufferBody(headers, body) {
91
91
  else if (typeof body === 'string') {
92
92
  contentType = 'text/plain';
93
93
  }
94
- if (!hasHeader(headers, 'Content-Type'))
94
+ if (contentType && !hasHeader(headers, 'Content-Type'))
95
95
  setHeader(headers, 'Content-Type', contentType);
96
96
  if (!hasHeader(headers, 'Content-Length')) {
97
97
  body = Buffer.from(body);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fetch/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fetch/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"media-helpers.js","sourceRoot":"","sources":["../src/media-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"media-helpers.js","sourceRoot":"","sources":["../src/media-helpers.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,12 @@ class ChildProcessWorker extends ws_1.EventEmitter {
17
17
  this.worker.on('disconnect', () => this.emit('error', new Error('disconnect')));
18
18
  this.worker.on('exit', (code, signal) => this.emit('exit', code, signal));
19
19
  this.worker.on('error', e => this.emit('error', e));
20
+ // aggressively catch errors
21
+ // ECONNRESET can be raised when the child process is killed
22
+ for (const stdio of this.worker.stdio || []) {
23
+ if (stdio)
24
+ stdio.on('error', e => this.emit('error', e));
25
+ }
20
26
  }
21
27
  get pid() {
22
28
  return this.worker?.pid;
@@ -1 +1 @@
1
- {"version":3,"file":"child-process-worker.js","sourceRoot":"","sources":["../../../src/plugin/runtime/child-process-worker.ts"],"names":[],"mappings":";;;AACA,2BAAkC;AAIlC,MAAsB,kBAAmB,SAAQ,iBAAY;IAOtC;IANT,MAAM,CAA6B;IAE7C,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,YAAmB,QAAgB,EAAE,OAA6B;QAC9D,KAAK,EAAE,CAAC;QADO,aAAQ,GAAR,QAAQ,CAAQ;IAEnC,CAAC;IAED,WAAW;QACP,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAmB,EAAE,MAA6B,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAClH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC;IAC5B,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,IAAI;QACA,IAAI,CAAC,IAAI,CAAC,MAAM;YACZ,OAAO;QACX,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC5B,CAAC;CAIJ;AAvCD,gDAuCC"}
1
+ {"version":3,"file":"child-process-worker.js","sourceRoot":"","sources":["../../../src/plugin/runtime/child-process-worker.ts"],"names":[],"mappings":";;;AACA,2BAAkC;AAIlC,MAAsB,kBAAmB,SAAQ,iBAAY;IAOtC;IANT,MAAM,CAA6B;IAE7C,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,YAAmB,QAAgB,EAAE,OAA6B;QAC9D,KAAK,EAAE,CAAC;QADO,aAAQ,GAAR,QAAQ,CAAQ;IAEnC,CAAC;IAED,WAAW;QACP,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAmB,EAAE,MAA6B,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAClH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACpD,4BAA4B;QAC5B,4DAA4D;QAC5D,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;YAC1C,IAAI,KAAK;gBACL,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC;IACL,CAAC;IAED,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC;IAC5B,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,IAAI;QACA,IAAI,CAAC,IAAI,CAAC,MAAM;YACZ,OAAO;QACX,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC5B,CAAC;CAIJ;AA7CD,gDA6CC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scrypted/server",
3
- "version": "0.119.0",
3
+ "version": "0.119.2",
4
4
  "description": "",
5
5
  "dependencies": {
6
6
  "@scrypted/ffmpeg-static": "^6.1.0-build1",
@@ -4,10 +4,12 @@ import asyncio
4
4
  import base64
5
5
  import gc
6
6
  import hashlib
7
+ import inspect
7
8
  import multiprocessing
8
9
  import multiprocessing.connection
9
10
  import os
10
11
  import platform
12
+ import random
11
13
  import sys
12
14
  import threading
13
15
  import time
@@ -18,7 +20,7 @@ from asyncio.futures import Future
18
20
  from asyncio.streams import StreamReader, StreamWriter
19
21
  from collections.abc import Mapping
20
22
  from io import StringIO
21
- from typing import Any, Optional, Set, Tuple, TypedDict
23
+ from typing import Any, Optional, Set, Tuple, TypedDict, Callable, Coroutine
22
24
 
23
25
  import plugin_volume as pv
24
26
  import rpc
@@ -57,6 +59,14 @@ class SystemDeviceState(TypedDict):
57
59
  value: any
58
60
 
59
61
 
62
+ def ensure_not_coroutine(fn: Callable | Coroutine) -> Callable:
63
+ if inspect.iscoroutinefunction(fn):
64
+ def wrapper(*args, **kwargs):
65
+ return asyncio.create_task(fn(*args, **kwargs))
66
+ return wrapper
67
+ return fn
68
+
69
+
60
70
  class DeviceProxy(object):
61
71
  def __init__(self, systemManager: SystemManager, id: str):
62
72
  self.systemManager = systemManager
@@ -97,6 +107,116 @@ class DeviceProxy(object):
97
107
  return apply()
98
108
 
99
109
 
110
+ class EventListenerRegisterImpl(scrypted_python.scrypted_sdk.EventListenerRegister):
111
+ removeListener: Callable[[], None]
112
+
113
+ def __init__(self, removeListener: Callable[[], None] | Coroutine[Any, None, None]) -> None:
114
+ self.removeListener = ensure_not_coroutine(removeListener)
115
+
116
+
117
+ class EventRegistry(object):
118
+ systemListeners: Set[scrypted_python.scrypted_sdk.EventListener]
119
+ listeners: Mapping[str, Set[Callable[[scrypted_python.scrypted_sdk.EventDetails, Any], None]]]
120
+
121
+ __allowedEventInterfaces = set([
122
+ ScryptedInterface.ScryptedDevice.value,
123
+ 'Logger',
124
+ 'Storage'
125
+ ])
126
+
127
+ def __init__(self) -> None:
128
+ self.systemListeners = set()
129
+ self.listeners = {}
130
+
131
+ def __getMixinEventName(self, options: str | scrypted_python.scrypted_sdk.EventListenerOptions) -> str:
132
+ mixinId = None
133
+ if type(options) == str:
134
+ event = options
135
+ else:
136
+ options = options or {}
137
+ event = options.get("event", None)
138
+ mixinId = options.get("mixinId", None)
139
+ if not event:
140
+ event = "undefined"
141
+ if not mixinId:
142
+ return event
143
+ return f"{event}-mixin-{mixinId}"
144
+
145
+ def __generateBase36Str(self) -> str:
146
+ alphabet = "0123456789abcdefghijklmnopqrstuvwxyz"
147
+ return "".join(random.choices(alphabet, k=10))
148
+
149
+ def listen(
150
+ self, callback: scrypted_python.scrypted_sdk.EventListener
151
+ ) -> scrypted_python.scrypted_sdk.EventListenerRegister:
152
+ callback = ensure_not_coroutine(callback)
153
+ self.systemListeners.add(callback)
154
+ return EventListenerRegisterImpl(lambda: self.systemListeners.remove(callback))
155
+
156
+ def listenDevice(
157
+ self,
158
+ id: str,
159
+ options: str | scrypted_python.scrypted_sdk.EventListenerOptions,
160
+ callback: Callable[[scrypted_python.scrypted_sdk.EventDetails, Any], None],
161
+ ) -> scrypted_python.scrypted_sdk.EventListenerRegister:
162
+ event = self.__getMixinEventName(options)
163
+ token = f"{id}#{event}"
164
+ events = self.listeners.get(token)
165
+ if not events:
166
+ events = set()
167
+ self.listeners[token] = events
168
+ callback = ensure_not_coroutine(callback)
169
+ self.listeners[id].add(callback)
170
+ return EventListenerRegisterImpl(lambda: self.listeners[id].remove(callback))
171
+
172
+ def notify(self, id: str, eventTime: int, eventInterface: str, property: str, value: Any, options: dict = None):
173
+ options = options or {}
174
+ changed = options.get("changed")
175
+ mixinId = options.get("mixinId")
176
+
177
+ # prevent property event noise
178
+ if property and not changed:
179
+ return False
180
+
181
+ eventDetails = {
182
+ "eventId": None,
183
+ "eventTime": eventTime,
184
+ "eventInterface": eventInterface,
185
+ "property": property,
186
+ "mixinId": mixinId,
187
+ }
188
+
189
+ return self.notifyEventDetails(id, eventDetails, value)
190
+
191
+ def notifyEventDetails(self, id: str, eventDetails: scrypted_python.scrypted_sdk.EventDetails, value: Any, eventInterface: str = None):
192
+ if not eventDetails.get("eventId"):
193
+ eventDetails["eventId"] = self.__generateBase36Str()
194
+ if not eventInterface:
195
+ eventInterface = eventDetails.get("eventInterface")
196
+
197
+ # system listeners only get state changes.
198
+ # there are many potentially noisy stateless events, like
199
+ # object detection and settings changes
200
+ if (eventDetails.get("property") and not eventDetails.get("mixinId")) or \
201
+ (eventInterface in EventRegistry.__allowedEventInterfaces):
202
+ for listener in self.systemListeners:
203
+ listener(id, eventDetails, value)
204
+
205
+ token = f"{id}#{eventInterface}"
206
+ listeners = self.listeners.get(token)
207
+ if listeners:
208
+ for listener in listeners:
209
+ listener(eventDetails, value)
210
+
211
+ token = f"{id}#undefined"
212
+ listeners = self.listeners.get(token)
213
+ if listeners:
214
+ for listener in listeners:
215
+ listener(eventDetails, value)
216
+
217
+ return True
218
+
219
+
100
220
  class SystemManager(scrypted_python.scrypted_sdk.types.SystemManager):
101
221
  def __init__(
102
222
  self, api: Any, systemState: Mapping[str, Mapping[str, SystemDeviceState]]
@@ -105,6 +225,7 @@ class SystemManager(scrypted_python.scrypted_sdk.types.SystemManager):
105
225
  self.api = api
106
226
  self.systemState = systemState
107
227
  self.deviceProxies: Mapping[str, DeviceProxy] = {}
228
+ self.events = EventRegistry()
108
229
 
109
230
  async def getComponent(self, id: str) -> Any:
110
231
  return await self.api.getComponent(id)
@@ -170,20 +291,34 @@ class SystemManager(scrypted_python.scrypted_sdk.types.SystemManager):
170
291
  if checkName.get("value", None) == name:
171
292
  return self.getDeviceById(check)
172
293
 
173
- # TODO
174
- async def listen(
294
+ def listen(
175
295
  self, callback: scrypted_python.scrypted_sdk.EventListener
176
296
  ) -> scrypted_python.scrypted_sdk.EventListenerRegister:
177
- return super().listen(callback)
297
+ return self.events.listen(callback)
178
298
 
179
- # TODO
180
- async def listenDevice(
299
+ def listenDevice(
181
300
  self,
182
301
  id: str,
183
- event: str | scrypted_python.scrypted_sdk.EventListenerOptions,
302
+ options: str | scrypted_python.scrypted_sdk.EventListenerOptions,
184
303
  callback: scrypted_python.scrypted_sdk.EventListener,
185
304
  ) -> scrypted_python.scrypted_sdk.EventListenerRegister:
186
- return super().listenDevice(id, event, callback)
305
+ callback = ensure_not_coroutine(callback)
306
+ if type(options) != str and options.get("watch"):
307
+ return self.events.listenDevice(
308
+ id, options,
309
+ lambda eventDetails, eventData: callback(self.getDeviceById(id), eventDetails, eventData)
310
+ )
311
+
312
+ register_fut = asyncio.ensure_future(
313
+ self.api.listenDevice(
314
+ id, options,
315
+ lambda eventDetails, eventData: callback(self.getDeviceById(id), eventDetails, eventData)
316
+ )
317
+ )
318
+ async def unregister():
319
+ register = await register_fut
320
+ await register.removeListener()
321
+ return EventListenerRegisterImpl(lambda: asyncio.ensure_future(unregister()))
187
322
 
188
323
  async def removeDevice(self, id: str) -> None:
189
324
  return await self.api.removeDevice(id)
@@ -443,6 +578,7 @@ class PluginRemote:
443
578
  "ioEvent",
444
579
  "setNativeId",
445
580
  ]
581
+ self.peer.params["createMediaManager"] = lambda: api.getMediaManager()
446
582
 
447
583
  async def print_async(
448
584
  self,
@@ -83,13 +83,13 @@ export async function httpFetch<T extends HttpFetchOptions<Readable>>(options: T
83
83
  body = newBody;
84
84
  }
85
85
 
86
- let controller: AbortController;
86
+ let controller: AbortController | undefined;
87
87
  let timeout: NodeJS.Timeout;
88
88
  if (options.timeout) {
89
89
  controller = new AbortController();
90
- timeout = setTimeout(() => controller.abort(), options.timeout);
90
+ timeout = setTimeout(() => controller!.abort(), options.timeout);
91
91
 
92
- options.signal?.addEventListener('abort', () => controller.abort(options.signal?.reason));
92
+ options.signal?.addEventListener('abort', () => controller!.abort(options.signal?.reason));
93
93
  }
94
94
 
95
95
  const signal = controller?.signal || options.signal;
@@ -126,7 +126,7 @@ export async function httpFetch<T extends HttpFetchOptions<Readable>>(options: T
126
126
  if (options?.checkStatusCode === undefined || options?.checkStatusCode) {
127
127
  try {
128
128
  const checker = typeof options?.checkStatusCode === 'function' ? options.checkStatusCode : checkStatus;
129
- if (!checker(response.statusCode))
129
+ if (!response.statusCode || !checker(response.statusCode))
130
130
  throw new Error(`http response statusCode ${response.statusCode}`);
131
131
  }
132
132
  catch (e) {
@@ -137,19 +137,19 @@ export async function httpFetch<T extends HttpFetchOptions<Readable>>(options: T
137
137
 
138
138
  const incomingHeaders = new Headers();
139
139
  for (const [k, v] of Object.entries(response.headers)) {
140
- for (const vv of (typeof v === 'string' ? [v] : v)) {
140
+ for (const vv of (typeof v === 'string' ? [v] : v!)) {
141
141
  incomingHeaders.append(k, vv)
142
142
  }
143
143
  }
144
144
 
145
145
  return {
146
- statusCode: response.statusCode,
146
+ statusCode: response.statusCode!,
147
147
  headers: incomingHeaders,
148
148
  body: await httpFetchParseIncomingMessage(response, options.responseType),
149
149
  };
150
150
  }
151
151
  finally {
152
- clearTimeout(timeout);
152
+ clearTimeout(timeout!);
153
153
  }
154
154
  }
155
155
 
@@ -134,7 +134,7 @@ export function createHeadersArray(headers: HeadersInit | undefined): [string, s
134
134
  * @returns Returns the body and Content-Type header that was set.
135
135
  */
136
136
  export function createStringOrBufferBody(headers: [string, string][], body: any) {
137
- let contentType: string;
137
+ let contentType: string | undefined;
138
138
  if (typeof body === 'object') {
139
139
  body = JSON.stringify(body);
140
140
  contentType = 'application/json';
@@ -143,7 +143,7 @@ export function createStringOrBufferBody(headers: [string, string][], body: any)
143
143
  contentType = 'text/plain';
144
144
  }
145
145
 
146
- if (!hasHeader(headers, 'Content-Type'))
146
+ if (contentType && !hasHeader(headers, 'Content-Type'))
147
147
  setHeader(headers, 'Content-Type', contentType);
148
148
 
149
149
  if (!hasHeader(headers, 'Content-Length')) {
@@ -180,13 +180,13 @@ export async function domFetch<T extends HttpFetchOptions<BodyInit>>(options: T)
180
180
  body = createStringOrBufferBody(headers, body);
181
181
  }
182
182
 
183
- let controller: AbortController;
183
+ let controller: AbortController | undefined;
184
184
  let timeout: NodeJS.Timeout;
185
185
  if (options.timeout) {
186
186
  controller = new AbortController();
187
- timeout = setTimeout(() => controller.abort(), options.timeout);
187
+ timeout = setTimeout(() => controller!.abort(), options.timeout);
188
188
 
189
- options.signal?.addEventListener('abort', () => controller.abort(options.signal?.reason));
189
+ options.signal?.addEventListener('abort', () => controller!.abort(options.signal?.reason));
190
190
  }
191
191
 
192
192
  try {
@@ -218,6 +218,6 @@ export async function domFetch<T extends HttpFetchOptions<BodyInit>>(options: T)
218
218
  };
219
219
  }
220
220
  finally {
221
- clearTimeout(timeout);
221
+ clearTimeout(timeout!);
222
222
  }
223
223
  }
@@ -17,8 +17,8 @@ export async function safeKillFFmpeg(cp: ChildProcess) {
17
17
  cp.on('exit', resolve);
18
18
  // this will allow ffmpeg to send rtsp TEARDOWN etc
19
19
  try {
20
- cp.stdin.on('error', () => { });
21
- cp.stdin.write('q\n');
20
+ cp.stdin!.on('error', () => { });
21
+ cp.stdin!.write('q\n');
22
22
  }
23
23
  catch (e) {
24
24
  }
@@ -55,8 +55,8 @@ export function ffmpegLogInitialOutput(console: Console, cp: ChildProcess, forev
55
55
  if (!SCRYPTED_FFMPEG_NOISY && !forever && (str.indexOf('frame=') !== -1 || str.indexOf('size=') !== -1)) {
56
56
  log(str);
57
57
  log('video/audio detected, discarding further input');
58
- cp.stdout.removeListener('data', ret);
59
- cp.stderr.removeListener('data', ret);
58
+ cp.stdout!.removeListener('data', ret);
59
+ cp.stderr!.removeListener('data', ret);
60
60
  return;
61
61
  }
62
62
 
@@ -19,6 +19,12 @@ export abstract class ChildProcessWorker extends EventEmitter implements Runtime
19
19
  this.worker.on('disconnect', () => this.emit('error', new Error('disconnect')));
20
20
  this.worker.on('exit', (code, signal) => this.emit('exit', code, signal));
21
21
  this.worker.on('error', e => this.emit('error', e));
22
+ // aggressively catch errors
23
+ // ECONNRESET can be raised when the child process is killed
24
+ for (const stdio of this.worker.stdio || []) {
25
+ if (stdio)
26
+ stdio.on('error', e => this.emit('error', e));
27
+ }
22
28
  }
23
29
 
24
30
  get pid() {