speechflow 1.6.5 → 1.6.7

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.
Files changed (160) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +23 -0
  3. package/etc/stx.conf +5 -0
  4. package/package.json +4 -4
  5. package/speechflow-cli/dst/speechflow-main-cli.js +2 -2
  6. package/speechflow-cli/dst/speechflow-main-cli.js.map +1 -1
  7. package/speechflow-cli/dst/speechflow-main-graph.js +4 -3
  8. package/speechflow-cli/dst/speechflow-main-graph.js.map +1 -1
  9. package/speechflow-cli/dst/speechflow-node-a2a-compressor.d.ts +1 -1
  10. package/speechflow-cli/dst/speechflow-node-a2a-compressor.js +12 -11
  11. package/speechflow-cli/dst/speechflow-node-a2a-compressor.js.map +1 -1
  12. package/speechflow-cli/dst/speechflow-node-a2a-expander.d.ts +1 -1
  13. package/speechflow-cli/dst/speechflow-node-a2a-expander.js +12 -11
  14. package/speechflow-cli/dst/speechflow-node-a2a-expander.js.map +1 -1
  15. package/speechflow-cli/dst/speechflow-node-a2a-ffmpeg.js +2 -8
  16. package/speechflow-cli/dst/speechflow-node-a2a-ffmpeg.js.map +1 -1
  17. package/speechflow-cli/dst/speechflow-node-a2a-filler.d.ts +1 -1
  18. package/speechflow-cli/dst/speechflow-node-a2a-filler.js +18 -16
  19. package/speechflow-cli/dst/speechflow-node-a2a-filler.js.map +1 -1
  20. package/speechflow-cli/dst/speechflow-node-a2a-gain.d.ts +1 -1
  21. package/speechflow-cli/dst/speechflow-node-a2a-gain.js +8 -8
  22. package/speechflow-cli/dst/speechflow-node-a2a-gain.js.map +1 -1
  23. package/speechflow-cli/dst/speechflow-node-a2a-gender.d.ts +1 -1
  24. package/speechflow-cli/dst/speechflow-node-a2a-gender.js +38 -34
  25. package/speechflow-cli/dst/speechflow-node-a2a-gender.js.map +1 -1
  26. package/speechflow-cli/dst/speechflow-node-a2a-meter.d.ts +1 -1
  27. package/speechflow-cli/dst/speechflow-node-a2a-meter.js +11 -11
  28. package/speechflow-cli/dst/speechflow-node-a2a-meter.js.map +1 -1
  29. package/speechflow-cli/dst/speechflow-node-a2a-mute.d.ts +1 -1
  30. package/speechflow-cli/dst/speechflow-node-a2a-mute.js +44 -10
  31. package/speechflow-cli/dst/speechflow-node-a2a-mute.js.map +1 -1
  32. package/speechflow-cli/dst/speechflow-node-a2a-pitch.d.ts +13 -0
  33. package/speechflow-cli/dst/speechflow-node-a2a-pitch.js +213 -0
  34. package/speechflow-cli/dst/speechflow-node-a2a-pitch.js.map +1 -0
  35. package/speechflow-cli/dst/speechflow-node-a2a-rnnoise.d.ts +1 -1
  36. package/speechflow-cli/dst/speechflow-node-a2a-rnnoise.js +12 -11
  37. package/speechflow-cli/dst/speechflow-node-a2a-rnnoise.js.map +1 -1
  38. package/speechflow-cli/dst/speechflow-node-a2a-speex.d.ts +1 -1
  39. package/speechflow-cli/dst/speechflow-node-a2a-speex.js +13 -12
  40. package/speechflow-cli/dst/speechflow-node-a2a-speex.js.map +1 -1
  41. package/speechflow-cli/dst/speechflow-node-a2a-vad.d.ts +1 -1
  42. package/speechflow-cli/dst/speechflow-node-a2a-vad.js +24 -23
  43. package/speechflow-cli/dst/speechflow-node-a2a-vad.js.map +1 -1
  44. package/speechflow-cli/dst/speechflow-node-a2a-wav.js +35 -7
  45. package/speechflow-cli/dst/speechflow-node-a2a-wav.js.map +1 -1
  46. package/speechflow-cli/dst/speechflow-node-a2t-amazon.d.ts +1 -1
  47. package/speechflow-cli/dst/speechflow-node-a2t-amazon.js +16 -16
  48. package/speechflow-cli/dst/speechflow-node-a2t-amazon.js.map +1 -1
  49. package/speechflow-cli/dst/speechflow-node-a2t-deepgram.d.ts +1 -1
  50. package/speechflow-cli/dst/speechflow-node-a2t-deepgram.js +16 -16
  51. package/speechflow-cli/dst/speechflow-node-a2t-deepgram.js.map +1 -1
  52. package/speechflow-cli/dst/speechflow-node-a2t-openai.d.ts +1 -1
  53. package/speechflow-cli/dst/speechflow-node-a2t-openai.js +15 -15
  54. package/speechflow-cli/dst/speechflow-node-a2t-openai.js.map +1 -1
  55. package/speechflow-cli/dst/speechflow-node-t2a-amazon.d.ts +1 -1
  56. package/speechflow-cli/dst/speechflow-node-t2a-amazon.js +9 -9
  57. package/speechflow-cli/dst/speechflow-node-t2a-amazon.js.map +1 -1
  58. package/speechflow-cli/dst/speechflow-node-t2a-elevenlabs.d.ts +1 -1
  59. package/speechflow-cli/dst/speechflow-node-t2a-elevenlabs.js +13 -12
  60. package/speechflow-cli/dst/speechflow-node-t2a-elevenlabs.js.map +1 -1
  61. package/speechflow-cli/dst/speechflow-node-t2a-kokoro.js +4 -4
  62. package/speechflow-cli/dst/speechflow-node-t2a-kokoro.js.map +1 -1
  63. package/speechflow-cli/dst/speechflow-node-t2t-amazon.js +3 -3
  64. package/speechflow-cli/dst/speechflow-node-t2t-amazon.js.map +1 -1
  65. package/speechflow-cli/dst/speechflow-node-t2t-deepl.js +2 -2
  66. package/speechflow-cli/dst/speechflow-node-t2t-deepl.js.map +1 -1
  67. package/speechflow-cli/dst/speechflow-node-t2t-format.js +36 -2
  68. package/speechflow-cli/dst/speechflow-node-t2t-format.js.map +1 -1
  69. package/speechflow-cli/dst/speechflow-node-t2t-google.js +2 -2
  70. package/speechflow-cli/dst/speechflow-node-t2t-google.js.map +1 -1
  71. package/speechflow-cli/dst/speechflow-node-t2t-modify.js +5 -5
  72. package/speechflow-cli/dst/speechflow-node-t2t-modify.js.map +1 -1
  73. package/speechflow-cli/dst/speechflow-node-t2t-ollama.js +2 -2
  74. package/speechflow-cli/dst/speechflow-node-t2t-ollama.js.map +1 -1
  75. package/speechflow-cli/dst/speechflow-node-t2t-openai.js +2 -2
  76. package/speechflow-cli/dst/speechflow-node-t2t-openai.js.map +1 -1
  77. package/speechflow-cli/dst/speechflow-node-t2t-sentence.d.ts +1 -1
  78. package/speechflow-cli/dst/speechflow-node-t2t-sentence.js +13 -13
  79. package/speechflow-cli/dst/speechflow-node-t2t-sentence.js.map +1 -1
  80. package/speechflow-cli/dst/speechflow-node-t2t-subtitle.js +2 -2
  81. package/speechflow-cli/dst/speechflow-node-t2t-subtitle.js.map +1 -1
  82. package/speechflow-cli/dst/speechflow-node-t2t-transformers.js +2 -2
  83. package/speechflow-cli/dst/speechflow-node-t2t-transformers.js.map +1 -1
  84. package/speechflow-cli/dst/speechflow-node-x2x-filter.js +2 -2
  85. package/speechflow-cli/dst/speechflow-node-x2x-filter.js.map +1 -1
  86. package/speechflow-cli/dst/speechflow-node-x2x-trace.d.ts +1 -1
  87. package/speechflow-cli/dst/speechflow-node-x2x-trace.js +42 -8
  88. package/speechflow-cli/dst/speechflow-node-x2x-trace.js.map +1 -1
  89. package/speechflow-cli/dst/speechflow-node-xio-device.js +3 -2
  90. package/speechflow-cli/dst/speechflow-node-xio-device.js.map +1 -1
  91. package/speechflow-cli/dst/speechflow-node-xio-file.js +19 -18
  92. package/speechflow-cli/dst/speechflow-node-xio-file.js.map +1 -1
  93. package/speechflow-cli/dst/speechflow-node-xio-mqtt.js +13 -13
  94. package/speechflow-cli/dst/speechflow-node-xio-mqtt.js.map +1 -1
  95. package/speechflow-cli/dst/speechflow-node-xio-websocket.js +8 -8
  96. package/speechflow-cli/dst/speechflow-node-xio-websocket.js.map +1 -1
  97. package/speechflow-cli/dst/speechflow-node.js +7 -7
  98. package/speechflow-cli/dst/speechflow-node.js.map +1 -1
  99. package/speechflow-cli/dst/speechflow-util-audio.js +2 -2
  100. package/speechflow-cli/dst/speechflow-util-audio.js.map +1 -1
  101. package/speechflow-cli/dst/speechflow-util-stream.d.ts +1 -0
  102. package/speechflow-cli/dst/speechflow-util-stream.js +22 -2
  103. package/speechflow-cli/dst/speechflow-util-stream.js.map +1 -1
  104. package/speechflow-cli/etc/oxlint.jsonc +2 -1
  105. package/speechflow-cli/etc/tsconfig.json +1 -0
  106. package/speechflow-cli/package.json +21 -21
  107. package/speechflow-cli/src/speechflow-main-cli.ts +2 -2
  108. package/speechflow-cli/src/speechflow-main-graph.ts +4 -3
  109. package/speechflow-cli/src/speechflow-node-a2a-compressor.ts +13 -12
  110. package/speechflow-cli/src/speechflow-node-a2a-expander.ts +13 -12
  111. package/speechflow-cli/src/speechflow-node-a2a-ffmpeg.ts +2 -8
  112. package/speechflow-cli/src/speechflow-node-a2a-filler.ts +19 -17
  113. package/speechflow-cli/src/speechflow-node-a2a-gain.ts +8 -8
  114. package/speechflow-cli/src/speechflow-node-a2a-gender.ts +42 -36
  115. package/speechflow-cli/src/speechflow-node-a2a-meter.ts +11 -11
  116. package/speechflow-cli/src/speechflow-node-a2a-mute.ts +11 -10
  117. package/speechflow-cli/src/speechflow-node-a2a-pitch.ts +221 -0
  118. package/speechflow-cli/src/speechflow-node-a2a-rnnoise.ts +13 -12
  119. package/speechflow-cli/src/speechflow-node-a2a-speex.ts +14 -13
  120. package/speechflow-cli/src/speechflow-node-a2a-vad.ts +24 -23
  121. package/speechflow-cli/src/speechflow-node-a2a-wav.ts +2 -7
  122. package/speechflow-cli/src/speechflow-node-a2t-amazon.ts +16 -16
  123. package/speechflow-cli/src/speechflow-node-a2t-deepgram.ts +16 -16
  124. package/speechflow-cli/src/speechflow-node-a2t-openai.ts +15 -15
  125. package/speechflow-cli/src/speechflow-node-t2a-amazon.ts +9 -9
  126. package/speechflow-cli/src/speechflow-node-t2a-elevenlabs.ts +13 -12
  127. package/speechflow-cli/src/speechflow-node-t2a-kokoro.ts +4 -4
  128. package/speechflow-cli/src/speechflow-node-t2t-amazon.ts +3 -3
  129. package/speechflow-cli/src/speechflow-node-t2t-deepl.ts +2 -2
  130. package/speechflow-cli/src/speechflow-node-t2t-format.ts +3 -2
  131. package/speechflow-cli/src/speechflow-node-t2t-google.ts +2 -2
  132. package/speechflow-cli/src/speechflow-node-t2t-modify.ts +6 -6
  133. package/speechflow-cli/src/speechflow-node-t2t-ollama.ts +2 -2
  134. package/speechflow-cli/src/speechflow-node-t2t-openai.ts +2 -2
  135. package/speechflow-cli/src/speechflow-node-t2t-sentence.ts +13 -13
  136. package/speechflow-cli/src/speechflow-node-t2t-subtitle.ts +2 -2
  137. package/speechflow-cli/src/speechflow-node-t2t-transformers.ts +2 -2
  138. package/speechflow-cli/src/speechflow-node-x2x-filter.ts +2 -2
  139. package/speechflow-cli/src/speechflow-node-x2x-trace.ts +10 -9
  140. package/speechflow-cli/src/speechflow-node-xio-device.ts +4 -3
  141. package/speechflow-cli/src/speechflow-node-xio-file.ts +20 -19
  142. package/speechflow-cli/src/speechflow-node-xio-mqtt.ts +14 -14
  143. package/speechflow-cli/src/speechflow-node-xio-websocket.ts +10 -10
  144. package/speechflow-cli/src/speechflow-node.ts +7 -7
  145. package/speechflow-cli/src/speechflow-util-audio.ts +2 -2
  146. package/speechflow-cli/src/speechflow-util-stream.ts +30 -5
  147. package/speechflow-ui-db/dst/app-font-fa-brands-400.woff2 +0 -0
  148. package/speechflow-ui-db/dst/app-font-fa-regular-400.woff2 +0 -0
  149. package/speechflow-ui-db/dst/app-font-fa-solid-900.woff2 +0 -0
  150. package/speechflow-ui-db/dst/app-font-fa-v4compatibility.woff2 +0 -0
  151. package/speechflow-ui-db/dst/index.css +1 -1
  152. package/speechflow-ui-db/dst/index.js +28 -25
  153. package/speechflow-ui-db/package.json +14 -14
  154. package/speechflow-ui-st/dst/app-font-fa-brands-400.woff2 +0 -0
  155. package/speechflow-ui-st/dst/app-font-fa-regular-400.woff2 +0 -0
  156. package/speechflow-ui-st/dst/app-font-fa-solid-900.woff2 +0 -0
  157. package/speechflow-ui-st/dst/app-font-fa-v4compatibility.woff2 +0 -0
  158. package/speechflow-ui-st/dst/index.css +1 -1
  159. package/speechflow-ui-st/dst/index.js +137 -51
  160. package/speechflow-ui-st/package.json +15 -15
@@ -1 +1 @@
1
- {"version":3,"file":"speechflow-util-audio.js","sourceRoot":"","sources":["../src/speechflow-util-audio.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"speechflow-util-audio.js","sourceRoot":"","sources":["../src/speechflow-util-audio.ts"],"names":[],"mappings":"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"}
@@ -16,3 +16,4 @@ export declare class StreamWrapper extends Stream.Transform {
16
16
  _flush(callback: Stream.TransformCallback): void;
17
17
  _destroy(error: Error | null, callback: Stream.TransformCallback): void;
18
18
  }
19
+ export declare function destroyStream(stream: Stream.Readable | Stream.Writable | Stream.Duplex | Stream.Transform): Promise<void>;
@@ -47,6 +47,7 @@ exports.createTransformStreamForReadableSide = createTransformStreamForReadableS
47
47
  exports.ensureStreamChunk = ensureStreamChunk;
48
48
  exports.streamChunkEncode = streamChunkEncode;
49
49
  exports.streamChunkDecode = streamChunkDecode;
50
+ exports.destroyStream = destroyStream;
50
51
  /* standard dependencies */
51
52
  const node_stream_1 = __importDefault(require("node:stream"));
52
53
  /* external dependencies */
@@ -80,7 +81,7 @@ function createTransformStreamForReadableSide(type, getTimeZero, highWaterMark)
80
81
  readableObjectMode: true,
81
82
  writableObjectMode: true,
82
83
  decodeStrings: false,
83
- highWaterMark: highWaterMark ?? (type === "audio" ? 19200 : 65536), /* audio: 400ms @ 48kHz/16bit/mono, text: 64KB */
84
+ highWaterMark: highWaterMark ?? (type === "audio" ? 19200 /* 400ms */ : 65536 /* 64KB */),
84
85
  transform(chunk, encoding, callback) {
85
86
  if (chunk === null) {
86
87
  this.push(null);
@@ -135,6 +136,8 @@ function streamChunkEncode(chunk) {
135
136
  type: chunk.type,
136
137
  payload
137
138
  };
139
+ if (chunk.meta.size > 0)
140
+ data.meta = Array.from(chunk.meta.entries());
138
141
  const _data = CBOR.encode(data);
139
142
  return _data;
140
143
  }
@@ -152,7 +155,7 @@ function streamChunkDecode(_data) {
152
155
  payload = Buffer.from(data.payload);
153
156
  else
154
157
  payload = (new TextDecoder()).decode(data.payload);
155
- const chunk = new speechflow_node_1.SpeechFlowChunk(luxon_1.Duration.fromMillis(data.timestampStart), luxon_1.Duration.fromMillis(data.timestampEnd), data.kind, data.type, payload);
158
+ const chunk = new speechflow_node_1.SpeechFlowChunk(luxon_1.Duration.fromMillis(data.timestampStart), luxon_1.Duration.fromMillis(data.timestampEnd), data.kind, data.type, payload, data.meta ? new Map(data.meta) : undefined);
156
159
  return chunk;
157
160
  }
158
161
  /* utility class for wrapping a custom stream into a regular Transform stream */
@@ -216,4 +219,21 @@ class StreamWrapper extends node_stream_1.default.Transform {
216
219
  }
217
220
  }
218
221
  exports.StreamWrapper = StreamWrapper;
222
+ /* helper function for destruction of a stream */
223
+ async function destroyStream(stream) {
224
+ /* signal the end for a writable stream */
225
+ if ((stream instanceof node_stream_1.default.Duplex ||
226
+ stream instanceof node_stream_1.default.Transform ||
227
+ stream instanceof node_stream_1.default.Writable) &&
228
+ (!stream.writableEnded &&
229
+ !stream.destroyed))
230
+ await Promise.race([
231
+ new Promise((resolve) => {
232
+ stream.end(() => { resolve(); });
233
+ }),
234
+ util.timeoutPromise(5000, "stream end timeout")
235
+ ]);
236
+ /* destroy the stream */
237
+ stream.destroy();
238
+ }
219
239
  //# sourceMappingURL=speechflow-util-stream.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"speechflow-util-stream.js","sourceRoot":"","sources":["../src/speechflow-util-stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"speechflow-util-stream.js","sourceRoot":"","sources":["../src/speechflow-util-stream.ts"],"names":[],"mappings":"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"}
@@ -120,7 +120,8 @@
120
120
  "no-barrel-file": "off",
121
121
  "no-process-exit": "off",
122
122
  "no-cycle": "off",
123
- "class-methods-use-this": "off"
123
+ "class-methods-use-this": "off",
124
+ "no-named-export": "off"
124
125
  }
125
126
  }
126
127
 
@@ -5,6 +5,7 @@
5
5
  "module": "nodenext",
6
6
  "moduleResolution": "nodenext",
7
7
  "useDefineForClassFields": true,
8
+ "allowSyntheticDefaultImports": true,
8
9
  "composite": false,
9
10
  "strict": true,
10
11
  "resolveJsonModule": true,
@@ -22,16 +22,15 @@
22
22
  "@gpeng/naudiodon": "2.4.1",
23
23
  "@deepgram/sdk": "4.11.2",
24
24
  "deepl-node": "1.19.1",
25
- "@elevenlabs/elevenlabs-js": "2.15.0",
26
- "stream-transform": "3.4.0",
25
+ "@elevenlabs/elevenlabs-js": "2.17.0",
27
26
  "get-stream": "9.0.1",
28
- "@dotenvx/dotenvx": "1.50.1",
27
+ "@dotenvx/dotenvx": "1.51.0",
29
28
  "speex-resampler": "3.0.1",
30
29
  "@sapphi-red/speex-preprocess-wasm": "0.4.0",
31
30
  "@shiguredo/rnnoise-wasm": "2025.1.5",
32
- "@aws-sdk/client-transcribe-streaming": "3.893.0",
33
- "@aws-sdk/client-translate": "3.893.0",
34
- "@aws-sdk/client-polly": "3.893.0",
31
+ "@aws-sdk/client-transcribe-streaming": "3.901.0",
32
+ "@aws-sdk/client-translate": "3.901.0",
33
+ "@aws-sdk/client-polly": "3.901.0",
35
34
  "@google-cloud/translate": "9.2.0",
36
35
  "node-web-audio-api": "1.0.4",
37
36
  "object-path": "0.11.8",
@@ -45,8 +44,8 @@
45
44
  "hapi-plugin-header": "1.1.8",
46
45
  "hapi-plugin-websocket": "2.4.11",
47
46
  "@opensumi/reconnecting-websocket": "4.4.0",
48
- "ollama": "0.5.18",
49
- "openai": "5.22.0",
47
+ "ollama": "0.6.0",
48
+ "openai": "6.1.0",
50
49
  "@rse/ffmpeg": "1.4.2",
51
50
  "ffmpeg-stream": "1.0.1",
52
51
  "installed-packages": "1.0.13",
@@ -58,7 +57,7 @@
58
57
  "pure-uuid": "1.8.1",
59
58
  "wavefile": "11.0.0",
60
59
  "audio-inspect": "0.0.4",
61
- "@huggingface/transformers": "3.7.3",
60
+ "@huggingface/transformers": "3.7.5",
62
61
  "kokoro-js": "1.2.1",
63
62
  "@ericedouard/vad-node-realtime": "0.2.0",
64
63
  "osc-js": "2.4.1",
@@ -66,24 +65,25 @@
66
65
  "node-interval-tree": "2.1.2",
67
66
  "wrap-text": "1.0.10",
68
67
  "cli-table3": "0.6.5",
68
+ "@soundtouchjs/audio-worklet": "0.2.1",
69
69
  "@rse/stx": "1.1.2"
70
70
  },
71
71
  "devDependencies": {
72
- "eslint": "9.36.0",
73
- "@eslint/js": "9.36.0",
72
+ "eslint": "9.37.0",
73
+ "@eslint/js": "9.37.0",
74
74
  "neostandard": "0.12.2",
75
75
  "eslint-plugin-promise": "7.2.1",
76
76
  "eslint-plugin-import": "2.32.0",
77
77
  "eslint-plugin-node": "11.1.0",
78
- "typescript-eslint": "8.44.0",
79
- "@typescript-eslint/eslint-plugin": "8.44.0",
80
- "@typescript-eslint/parser": "8.44.0",
81
- "oxlint": "1.16.0",
82
- "eslint-plugin-oxlint": "1.16.0",
78
+ "typescript-eslint": "8.45.0",
79
+ "@typescript-eslint/eslint-plugin": "8.45.0",
80
+ "@typescript-eslint/parser": "8.45.0",
81
+ "oxlint": "1.19.0",
82
+ "eslint-plugin-oxlint": "1.19.0",
83
83
  "@biomejs/biome": "2.0.6",
84
84
  "eslint-config-biome": "2.1.3",
85
85
 
86
- "@types/node": "24.5.2",
86
+ "@types/node": "24.6.2",
87
87
  "@types/yargs": "17.0.33",
88
88
  "@types/js-yaml": "4.0.9",
89
89
  "@types/object-path": "0.11.4",
@@ -93,14 +93,14 @@
93
93
  "@types/luxon": "3.7.1",
94
94
  "@types/wrap-text": "1.0.2",
95
95
 
96
- "patch-package": "8.0.0",
96
+ "patch-package": "8.0.1",
97
97
  "stmux": "1.8.11",
98
98
  "nodemon": "3.1.10",
99
99
  "shx": "0.4.0",
100
- "@yao-pkg/pkg": "6.6.0",
101
- "typescript": "5.9.2",
100
+ "@yao-pkg/pkg": "6.7.0",
101
+ "typescript": "5.9.3",
102
102
  "delay-cli": "2.0.0",
103
- "cross-env": "10.0.0"
103
+ "cross-env": "10.1.0"
104
104
  },
105
105
  "overrides": {
106
106
  "@huggingface/transformers": { "onnxruntime-node": "1.23.0-dev.20250703-7fc6235861" }
@@ -69,7 +69,7 @@ export class CLIContext {
69
69
  "[-p|--port <tcp-port>] " +
70
70
  "[-C|--cache <directory>] " +
71
71
  "[-d|--dashboard <type>:<id>:<name>[,...]] " +
72
- "[-o|--osc <ip-address>:<udp-port> " +
72
+ "[-o|--osc <ip-address>:<udp-port>] " +
73
73
  "[-e|--expression <expression>] " +
74
74
  "[-f|--file <file>] " +
75
75
  "[-c|--config <id>@<yaml-config-file>] " +
@@ -252,7 +252,7 @@ export class CLIContext {
252
252
  if (this.debug)
253
253
  process.stderr.write(`${pkg.name}: ${chalk.red("ERROR")}: ${err.message}\n${err.stack}\n`)
254
254
  else
255
- process.stderr.write(`${pkg.name}: ${chalk.red("ERROR")}: ${err.message}`)
255
+ process.stderr.write(`${pkg.name}: ${chalk.red("ERROR")}: ${err.message}\n`)
256
256
  }
257
257
  process.exit(1)
258
258
  }
@@ -76,7 +76,8 @@ export class NodeGraph {
76
76
  if (!objectPath.has(variables, id))
77
77
  throw new Error(`failed to resolve variable "${id}"`)
78
78
  const value = objectPath.get(variables, id)
79
- this.cli.log("info", `resolve variable: "${id}" -> "${value}"`)
79
+ const sensitive = /(?:key|secret|token|password)/i.test(id)
80
+ this.cli.log("info", `resolve variable: "${id}" -> "${sensitive ? "***" : value}"`)
80
81
  return value
81
82
  },
82
83
  createNode: (id: string, opts: { [ id: string ]: any }, args: any[]) => {
@@ -100,8 +101,8 @@ export class NodeGraph {
100
101
  process.exit(1)
101
102
  }
102
103
  const params = Object.keys(node.params).map((key) => {
103
- if (key.match(/key/))
104
- return `${key}: [...]`
104
+ if (/(?:key|secret|token|password)/i.test(key))
105
+ return `${key}: ***`
105
106
  else
106
107
  return `${key}: ${JSON.stringify(node.params[key])}`
107
108
  }).join(", ")
@@ -137,8 +137,6 @@ class AudioCompressor extends util.WebAudio {
137
137
 
138
138
  /* destroy the compressor */
139
139
  public async destroy (): Promise<void> {
140
- await super.destroy()
141
-
142
140
  /* destroy nodes */
143
141
  if (this.compressorNode !== null) {
144
142
  this.compressorNode.disconnect()
@@ -148,6 +146,9 @@ class AudioCompressor extends util.WebAudio {
148
146
  this.gainNode.disconnect()
149
147
  this.gainNode = null
150
148
  }
149
+
150
+ /* destroy parent */
151
+ await super.destroy()
151
152
  }
152
153
  }
153
154
 
@@ -157,7 +158,7 @@ export default class SpeechFlowNodeA2ACompressor extends SpeechFlowNode {
157
158
  public static name = "a2a-compressor"
158
159
 
159
160
  /* internal state */
160
- private destroyed = false
161
+ private closing = false
161
162
  private compressor: AudioCompressor | null = null
162
163
  private bus: EventEmitter | null = null
163
164
  private intervalId: ReturnType<typeof setInterval> | null = null
@@ -193,7 +194,7 @@ export default class SpeechFlowNodeA2ACompressor extends SpeechFlowNode {
193
194
  /* open node */
194
195
  async open () {
195
196
  /* clear destruction flag */
196
- this.destroyed = false
197
+ this.closing = false
197
198
 
198
199
  /* setup compressor */
199
200
  this.compressor = new AudioCompressor(
@@ -234,7 +235,7 @@ export default class SpeechFlowNodeA2ACompressor extends SpeechFlowNode {
234
235
  writableObjectMode: true,
235
236
  decodeStrings: false,
236
237
  transform (chunk: SpeechFlowChunk & { payload: Buffer }, encoding, callback) {
237
- if (self.destroyed) {
238
+ if (self.closing) {
238
239
  callback(new Error("stream already destroyed"))
239
240
  return
240
241
  }
@@ -244,7 +245,7 @@ export default class SpeechFlowNodeA2ACompressor extends SpeechFlowNode {
244
245
  /* compress chunk */
245
246
  const payload = util.convertBufToI16(chunk.payload)
246
247
  self.compressor?.process(payload).then((result) => {
247
- if (self.destroyed)
248
+ if (self.closing)
248
249
  throw new Error("stream already destroyed")
249
250
  if ((self.params.type === "standalone" && self.params.mode === "compress") ||
250
251
  (self.params.type === "sidechain" && self.params.mode === "adjust") ) {
@@ -255,13 +256,13 @@ export default class SpeechFlowNodeA2ACompressor extends SpeechFlowNode {
255
256
  this.push(chunk)
256
257
  callback()
257
258
  }).catch((error: unknown) => {
258
- if (!self.destroyed)
259
+ if (!self.closing)
259
260
  callback(util.ensureError(error, "compression failed"))
260
261
  })
261
262
  }
262
263
  },
263
264
  final (callback) {
264
- if (self.destroyed) {
265
+ if (self.closing) {
265
266
  callback()
266
267
  return
267
268
  }
@@ -273,8 +274,8 @@ export default class SpeechFlowNodeA2ACompressor extends SpeechFlowNode {
273
274
 
274
275
  /* close node */
275
276
  async close () {
276
- /* indicate destruction */
277
- this.destroyed = true
277
+ /* indicate closing */
278
+ this.closing = true
278
279
 
279
280
  /* clear interval */
280
281
  if (this.intervalId !== null) {
@@ -294,9 +295,9 @@ export default class SpeechFlowNodeA2ACompressor extends SpeechFlowNode {
294
295
  this.compressor = null
295
296
  }
296
297
 
297
- /* close stream */
298
+ /* shutdown stream */
298
299
  if (this.stream !== null) {
299
- this.stream.destroy()
300
+ await util.destroyStream(this.stream)
300
301
  this.stream = null
301
302
  }
302
303
  }
@@ -87,13 +87,14 @@ class AudioExpander extends util.WebAudio {
87
87
  }
88
88
 
89
89
  public async destroy (): Promise<void> {
90
- await super.destroy()
91
-
92
90
  /* destroy expander node */
93
91
  if (this.expanderNode !== null) {
94
92
  this.expanderNode.disconnect()
95
93
  this.expanderNode = null
96
94
  }
95
+
96
+ /* destroy parent */
97
+ await super.destroy()
97
98
  }
98
99
  }
99
100
 
@@ -103,7 +104,7 @@ export default class SpeechFlowNodeA2AExpander extends SpeechFlowNode {
103
104
  public static name = "a2a-expander"
104
105
 
105
106
  /* internal state */
106
- private destroyed = false
107
+ private closing = false
107
108
  private expander: AudioExpander | null = null
108
109
 
109
110
  /* construct node */
@@ -133,7 +134,7 @@ export default class SpeechFlowNodeA2AExpander extends SpeechFlowNode {
133
134
  /* open node */
134
135
  async open () {
135
136
  /* clear destruction flag */
136
- this.destroyed = false
137
+ this.closing = false
137
138
 
138
139
  /* setup expander */
139
140
  this.expander = new AudioExpander(
@@ -157,7 +158,7 @@ export default class SpeechFlowNodeA2AExpander extends SpeechFlowNode {
157
158
  writableObjectMode: true,
158
159
  decodeStrings: false,
159
160
  transform (chunk: SpeechFlowChunk & { payload: Buffer }, encoding, callback) {
160
- if (self.destroyed) {
161
+ if (self.closing) {
161
162
  callback(new Error("stream already destroyed"))
162
163
  return
163
164
  }
@@ -167,7 +168,7 @@ export default class SpeechFlowNodeA2AExpander extends SpeechFlowNode {
167
168
  /* expand chunk */
168
169
  const payload = util.convertBufToI16(chunk.payload)
169
170
  self.expander?.process(payload).then((result) => {
170
- if (self.destroyed)
171
+ if (self.closing)
171
172
  throw new Error("stream already destroyed")
172
173
 
173
174
  /* take over expanded data */
@@ -176,13 +177,13 @@ export default class SpeechFlowNodeA2AExpander extends SpeechFlowNode {
176
177
  this.push(chunk)
177
178
  callback()
178
179
  }).catch((error: unknown) => {
179
- if (!self.destroyed)
180
+ if (!self.closing)
180
181
  callback(util.ensureError(error, "expansion failed"))
181
182
  })
182
183
  }
183
184
  },
184
185
  final (callback) {
185
- if (self.destroyed) {
186
+ if (self.closing) {
186
187
  callback()
187
188
  return
188
189
  }
@@ -194,8 +195,8 @@ export default class SpeechFlowNodeA2AExpander extends SpeechFlowNode {
194
195
 
195
196
  /* close node */
196
197
  async close () {
197
- /* indicate destruction */
198
- this.destroyed = true
198
+ /* indicate closing */
199
+ this.closing = true
199
200
 
200
201
  /* destroy expander */
201
202
  if (this.expander !== null) {
@@ -203,9 +204,9 @@ export default class SpeechFlowNodeA2AExpander extends SpeechFlowNode {
203
204
  this.expander = null
204
205
  }
205
206
 
206
- /* close stream */
207
+ /* shutdown stream */
207
208
  if (this.stream !== null) {
208
- this.stream.destroy()
209
+ await util.destroyStream(this.stream)
209
210
  this.stream = null
210
211
  }
211
212
  }
@@ -106,15 +106,9 @@ export default class SpeechFlowNodeA2AFFMPEG extends SpeechFlowNode {
106
106
 
107
107
  /* close node */
108
108
  async close () {
109
- /* close duplex stream */
109
+ /* shutdown stream */
110
110
  if (this.stream !== null) {
111
- await new Promise<void>((resolve) => {
112
- if (this.stream instanceof Stream.Duplex)
113
- this.stream.end(() => { resolve() })
114
- else
115
- resolve()
116
- })
117
- this.stream.destroy()
111
+ await util.destroyStream(this.stream)
118
112
  this.stream = null
119
113
  }
120
114
 
@@ -44,14 +44,14 @@ class AudioFiller extends EventEmitter {
44
44
  }
45
45
 
46
46
  /* emit a chunk of silence */
47
- private emitSilence (fromSamples: number, toSamples: number) {
47
+ private emitSilence (fromSamples: number, toSamples: number, meta?: Map<string, any>) {
48
48
  const frames = Math.max(0, Math.floor(toSamples - fromSamples))
49
49
  if (frames <= 0)
50
50
  return
51
51
  const payload = Buffer.alloc(frames * this.bytesPerFrame) /* already zeroed */
52
52
  const timestampStart = this.durationFromSamples(fromSamples)
53
53
  const timestampEnd = this.durationFromSamples(toSamples)
54
- const chunk = new SpeechFlowChunk(timestampStart, timestampEnd, "final", "audio", payload)
54
+ const chunk = new SpeechFlowChunk(timestampStart, timestampEnd, "final", "audio", payload, meta ? new Map(meta) : undefined)
55
55
  this.emit("chunk", chunk)
56
56
  }
57
57
 
@@ -64,7 +64,7 @@ class AudioFiller extends EventEmitter {
64
64
 
65
65
  /* if chunk starts beyond what we've emitted, insert silence for the gap */
66
66
  if (startSamp > this.emittedEndSamples + this.sampleTolerance) {
67
- this.emitSilence(this.emittedEndSamples, startSamp)
67
+ this.emitSilence(this.emittedEndSamples, startSamp, chunk.meta)
68
68
  this.emittedEndSamples = startSamp
69
69
  }
70
70
 
@@ -95,7 +95,7 @@ class AudioFiller extends EventEmitter {
95
95
  const outEndSamples = outStartSamples + Math.floor(payload.length / this.bytesPerFrame)
96
96
  const timestampStart = this.durationFromSamples(outStartSamples)
97
97
  const timestampEnd = this.durationFromSamples(outEndSamples)
98
- const c = new SpeechFlowChunk(timestampStart, timestampEnd, "final", "audio", payload)
98
+ const c = new SpeechFlowChunk(timestampStart, timestampEnd, "final", "audio", payload, new Map(chunk.meta))
99
99
  this.emit("chunk", c)
100
100
 
101
101
  /* advance emitted cursor */
@@ -109,7 +109,7 @@ export default class SpeechFlowNodeA2AFiller extends SpeechFlowNode {
109
109
  public static name = "a2a-filler"
110
110
 
111
111
  /* internal state */
112
- private destroyed = false
112
+ private closing = false
113
113
  private filler: AudioFiller | null = null
114
114
  private sendQueue: util.AsyncQueue<SpeechFlowChunk | null> | null = null
115
115
 
@@ -130,7 +130,7 @@ export default class SpeechFlowNodeA2AFiller extends SpeechFlowNode {
130
130
  /* open node */
131
131
  async open () {
132
132
  /* clear destruction flag */
133
- this.destroyed = false
133
+ this.closing = false
134
134
 
135
135
  /* establish queues */
136
136
  this.filler = new AudioFiller(this.config.audioSampleRate, this.config.audioChannels)
@@ -148,27 +148,29 @@ export default class SpeechFlowNodeA2AFiller extends SpeechFlowNode {
148
148
  writableObjectMode: true,
149
149
  decodeStrings: false,
150
150
  write (chunk: SpeechFlowChunk & { type: "audio", payload: Buffer }, encoding, callback) {
151
- if (self.destroyed || self.filler === null)
151
+ if (self.closing || self.filler === null)
152
152
  callback(new Error("stream already destroyed"))
153
153
  else if (!Buffer.isBuffer(chunk.payload))
154
154
  callback(new Error("invalid chunk payload type"))
155
155
  else {
156
156
  try {
157
+ if (self.closing || self.filler === null)
158
+ throw new Error("stream already destroyed")
157
159
  self.filler.add(chunk)
158
160
  callback()
159
161
  }
160
- catch (error: any) {
161
- callback(error)
162
+ catch (error: unknown) {
163
+ callback(util.ensureError(error))
162
164
  }
163
165
  }
164
166
  },
165
167
  read (size) {
166
- if (self.destroyed || self.sendQueue === null) {
168
+ if (self.closing || self.sendQueue === null) {
167
169
  this.push(null)
168
170
  return
169
171
  }
170
172
  self.sendQueue.read().then((chunk) => {
171
- if (self.destroyed) {
173
+ if (self.closing || self.sendQueue === null) {
172
174
  this.push(null)
173
175
  return
174
176
  }
@@ -181,12 +183,12 @@ export default class SpeechFlowNodeA2AFiller extends SpeechFlowNode {
181
183
  this.push(chunk)
182
184
  }
183
185
  }).catch((error: unknown) => {
184
- if (!self.destroyed)
186
+ if (!self.closing && self.sendQueue !== null)
185
187
  self.log("error", `queue read error: ${util.ensureError(error).message}`)
186
188
  })
187
189
  },
188
190
  final (callback) {
189
- if (self.destroyed) {
191
+ if (self.closing) {
190
192
  callback()
191
193
  return
192
194
  }
@@ -198,8 +200,8 @@ export default class SpeechFlowNodeA2AFiller extends SpeechFlowNode {
198
200
 
199
201
  /* close node */
200
202
  async close () {
201
- /* indicate destruction */
202
- this.destroyed = true
203
+ /* indicate closing */
204
+ this.closing = true
203
205
 
204
206
  /* destroy queues */
205
207
  if (this.sendQueue !== null) {
@@ -213,9 +215,9 @@ export default class SpeechFlowNodeA2AFiller extends SpeechFlowNode {
213
215
  this.filler = null
214
216
  }
215
217
 
216
- /* close stream */
218
+ /* shutdown stream */
217
219
  if (this.stream !== null) {
218
- this.stream.destroy()
220
+ await util.destroyStream(this.stream)
219
221
  this.stream = null
220
222
  }
221
223
  }