speechflow 1.3.1 → 1.4.0

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 (156) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/etc/stx.conf +54 -58
  3. package/package.json +25 -106
  4. package/{etc → speechflow-cli/etc}/eslint.mjs +1 -2
  5. package/speechflow-cli/etc/stx.conf +77 -0
  6. package/speechflow-cli/package.json +116 -0
  7. package/{src → speechflow-cli/src}/speechflow-node-a2a-gender.ts +148 -64
  8. package/speechflow-cli/src/speechflow-node-a2a-meter.ts +217 -0
  9. package/{src → speechflow-cli/src}/speechflow-node-a2a-mute.ts +39 -11
  10. package/speechflow-cli/src/speechflow-node-a2a-vad.ts +384 -0
  11. package/{src → speechflow-cli/src}/speechflow-node-a2a-wav.ts +27 -11
  12. package/speechflow-cli/src/speechflow-node-a2t-deepgram.ts +313 -0
  13. package/{src → speechflow-cli/src}/speechflow-node-t2a-elevenlabs.ts +59 -12
  14. package/{src → speechflow-cli/src}/speechflow-node-t2a-kokoro.ts +11 -4
  15. package/{src → speechflow-cli/src}/speechflow-node-t2t-deepl.ts +9 -4
  16. package/{src → speechflow-cli/src}/speechflow-node-t2t-format.ts +2 -2
  17. package/{src → speechflow-cli/src}/speechflow-node-t2t-ollama.ts +1 -1
  18. package/{src → speechflow-cli/src}/speechflow-node-t2t-openai.ts +1 -1
  19. package/{src → speechflow-cli/src}/speechflow-node-t2t-sentence.ts +37 -20
  20. package/speechflow-cli/src/speechflow-node-t2t-subtitle.ts +276 -0
  21. package/{src → speechflow-cli/src}/speechflow-node-t2t-transformers.ts +4 -3
  22. package/{src → speechflow-cli/src}/speechflow-node-x2x-filter.ts +9 -5
  23. package/{src → speechflow-cli/src}/speechflow-node-x2x-trace.ts +16 -8
  24. package/{src → speechflow-cli/src}/speechflow-node-xio-device.ts +12 -8
  25. package/{src → speechflow-cli/src}/speechflow-node-xio-file.ts +9 -3
  26. package/{src → speechflow-cli/src}/speechflow-node-xio-mqtt.ts +5 -2
  27. package/{src → speechflow-cli/src}/speechflow-node-xio-websocket.ts +12 -12
  28. package/{src → speechflow-cli/src}/speechflow-node.ts +7 -0
  29. package/{src → speechflow-cli/src}/speechflow-utils.ts +78 -44
  30. package/{src → speechflow-cli/src}/speechflow.ts +188 -53
  31. package/speechflow-ui-db/etc/eslint.mjs +106 -0
  32. package/speechflow-ui-db/etc/htmllint.json +55 -0
  33. package/speechflow-ui-db/etc/stx.conf +79 -0
  34. package/speechflow-ui-db/etc/stylelint.js +46 -0
  35. package/speechflow-ui-db/etc/stylelint.yaml +33 -0
  36. package/speechflow-ui-db/etc/tsc-client.json +30 -0
  37. package/speechflow-ui-db/etc/tsc.node.json +9 -0
  38. package/speechflow-ui-db/etc/vite-client.mts +63 -0
  39. package/speechflow-ui-db/package.d/htmllint-cli+0.0.7.patch +20 -0
  40. package/speechflow-ui-db/package.json +75 -0
  41. package/speechflow-ui-db/src/app-icon.ai +1989 -4
  42. package/speechflow-ui-db/src/app-icon.svg +26 -0
  43. package/speechflow-ui-db/src/app.styl +64 -0
  44. package/speechflow-ui-db/src/app.vue +221 -0
  45. package/speechflow-ui-db/src/index.html +23 -0
  46. package/speechflow-ui-db/src/index.ts +26 -0
  47. package/{dst/speechflow.d.ts → speechflow-ui-db/src/lib.d.ts} +5 -3
  48. package/speechflow-ui-db/src/tsconfig.json +3 -0
  49. package/speechflow-ui-st/etc/eslint.mjs +106 -0
  50. package/speechflow-ui-st/etc/htmllint.json +55 -0
  51. package/speechflow-ui-st/etc/stx.conf +79 -0
  52. package/speechflow-ui-st/etc/stylelint.js +46 -0
  53. package/speechflow-ui-st/etc/stylelint.yaml +33 -0
  54. package/speechflow-ui-st/etc/tsc-client.json +30 -0
  55. package/speechflow-ui-st/etc/tsc.node.json +9 -0
  56. package/speechflow-ui-st/etc/vite-client.mts +63 -0
  57. package/speechflow-ui-st/package.d/htmllint-cli+0.0.7.patch +20 -0
  58. package/speechflow-ui-st/package.json +79 -0
  59. package/speechflow-ui-st/src/app-icon.ai +1989 -4
  60. package/speechflow-ui-st/src/app-icon.svg +26 -0
  61. package/speechflow-ui-st/src/app.styl +64 -0
  62. package/speechflow-ui-st/src/app.vue +142 -0
  63. package/speechflow-ui-st/src/index.html +23 -0
  64. package/speechflow-ui-st/src/index.ts +26 -0
  65. package/speechflow-ui-st/src/lib.d.ts +9 -0
  66. package/speechflow-ui-st/src/tsconfig.json +3 -0
  67. package/dst/speechflow-node-a2a-ffmpeg.d.ts +0 -13
  68. package/dst/speechflow-node-a2a-ffmpeg.js +0 -153
  69. package/dst/speechflow-node-a2a-ffmpeg.js.map +0 -1
  70. package/dst/speechflow-node-a2a-gender.d.ts +0 -18
  71. package/dst/speechflow-node-a2a-gender.js +0 -271
  72. package/dst/speechflow-node-a2a-gender.js.map +0 -1
  73. package/dst/speechflow-node-a2a-meter.d.ts +0 -12
  74. package/dst/speechflow-node-a2a-meter.js +0 -155
  75. package/dst/speechflow-node-a2a-meter.js.map +0 -1
  76. package/dst/speechflow-node-a2a-mute.d.ts +0 -16
  77. package/dst/speechflow-node-a2a-mute.js +0 -91
  78. package/dst/speechflow-node-a2a-mute.js.map +0 -1
  79. package/dst/speechflow-node-a2a-vad.d.ts +0 -16
  80. package/dst/speechflow-node-a2a-vad.js +0 -285
  81. package/dst/speechflow-node-a2a-vad.js.map +0 -1
  82. package/dst/speechflow-node-a2a-wav.d.ts +0 -11
  83. package/dst/speechflow-node-a2a-wav.js +0 -195
  84. package/dst/speechflow-node-a2a-wav.js.map +0 -1
  85. package/dst/speechflow-node-a2t-deepgram.d.ts +0 -15
  86. package/dst/speechflow-node-a2t-deepgram.js +0 -255
  87. package/dst/speechflow-node-a2t-deepgram.js.map +0 -1
  88. package/dst/speechflow-node-t2a-elevenlabs.d.ts +0 -16
  89. package/dst/speechflow-node-t2a-elevenlabs.js +0 -195
  90. package/dst/speechflow-node-t2a-elevenlabs.js.map +0 -1
  91. package/dst/speechflow-node-t2a-kokoro.d.ts +0 -13
  92. package/dst/speechflow-node-t2a-kokoro.js +0 -149
  93. package/dst/speechflow-node-t2a-kokoro.js.map +0 -1
  94. package/dst/speechflow-node-t2t-deepl.d.ts +0 -15
  95. package/dst/speechflow-node-t2t-deepl.js +0 -142
  96. package/dst/speechflow-node-t2t-deepl.js.map +0 -1
  97. package/dst/speechflow-node-t2t-format.d.ts +0 -11
  98. package/dst/speechflow-node-t2t-format.js +0 -82
  99. package/dst/speechflow-node-t2t-format.js.map +0 -1
  100. package/dst/speechflow-node-t2t-ollama.d.ts +0 -13
  101. package/dst/speechflow-node-t2t-ollama.js +0 -247
  102. package/dst/speechflow-node-t2t-ollama.js.map +0 -1
  103. package/dst/speechflow-node-t2t-openai.d.ts +0 -13
  104. package/dst/speechflow-node-t2t-openai.js +0 -227
  105. package/dst/speechflow-node-t2t-openai.js.map +0 -1
  106. package/dst/speechflow-node-t2t-sentence.d.ts +0 -17
  107. package/dst/speechflow-node-t2t-sentence.js +0 -234
  108. package/dst/speechflow-node-t2t-sentence.js.map +0 -1
  109. package/dst/speechflow-node-t2t-subtitle.d.ts +0 -13
  110. package/dst/speechflow-node-t2t-subtitle.js +0 -278
  111. package/dst/speechflow-node-t2t-subtitle.js.map +0 -1
  112. package/dst/speechflow-node-t2t-transformers.d.ts +0 -14
  113. package/dst/speechflow-node-t2t-transformers.js +0 -265
  114. package/dst/speechflow-node-t2t-transformers.js.map +0 -1
  115. package/dst/speechflow-node-x2x-filter.d.ts +0 -11
  116. package/dst/speechflow-node-x2x-filter.js +0 -117
  117. package/dst/speechflow-node-x2x-filter.js.map +0 -1
  118. package/dst/speechflow-node-x2x-trace.d.ts +0 -11
  119. package/dst/speechflow-node-x2x-trace.js +0 -111
  120. package/dst/speechflow-node-x2x-trace.js.map +0 -1
  121. package/dst/speechflow-node-xio-device.d.ts +0 -13
  122. package/dst/speechflow-node-xio-device.js +0 -226
  123. package/dst/speechflow-node-xio-device.js.map +0 -1
  124. package/dst/speechflow-node-xio-file.d.ts +0 -11
  125. package/dst/speechflow-node-xio-file.js +0 -210
  126. package/dst/speechflow-node-xio-file.js.map +0 -1
  127. package/dst/speechflow-node-xio-mqtt.d.ts +0 -13
  128. package/dst/speechflow-node-xio-mqtt.js +0 -185
  129. package/dst/speechflow-node-xio-mqtt.js.map +0 -1
  130. package/dst/speechflow-node-xio-websocket.d.ts +0 -13
  131. package/dst/speechflow-node-xio-websocket.js +0 -278
  132. package/dst/speechflow-node-xio-websocket.js.map +0 -1
  133. package/dst/speechflow-node.d.ts +0 -65
  134. package/dst/speechflow-node.js +0 -180
  135. package/dst/speechflow-node.js.map +0 -1
  136. package/dst/speechflow-utils.d.ts +0 -69
  137. package/dst/speechflow-utils.js +0 -486
  138. package/dst/speechflow-utils.js.map +0 -1
  139. package/dst/speechflow.js +0 -768
  140. package/dst/speechflow.js.map +0 -1
  141. package/src/speechflow-node-a2a-meter.ts +0 -130
  142. package/src/speechflow-node-a2a-vad.ts +0 -285
  143. package/src/speechflow-node-a2t-deepgram.ts +0 -234
  144. package/src/speechflow-node-t2t-subtitle.ts +0 -149
  145. /package/{etc → speechflow-cli/etc}/biome.jsonc +0 -0
  146. /package/{etc → speechflow-cli/etc}/oxlint.jsonc +0 -0
  147. /package/{etc → speechflow-cli/etc}/speechflow.bat +0 -0
  148. /package/{etc → speechflow-cli/etc}/speechflow.sh +0 -0
  149. /package/{etc → speechflow-cli/etc}/speechflow.yaml +0 -0
  150. /package/{etc → speechflow-cli/etc}/tsconfig.json +0 -0
  151. /package/{package.d → speechflow-cli/package.d}/@ericedouard+vad-node-realtime+0.2.0.patch +0 -0
  152. /package/{src → speechflow-cli/src}/lib.d.ts +0 -0
  153. /package/{src → speechflow-cli/src}/speechflow-logo.ai +0 -0
  154. /package/{src → speechflow-cli/src}/speechflow-logo.svg +0 -0
  155. /package/{src → speechflow-cli/src}/speechflow-node-a2a-ffmpeg.ts +0 -0
  156. /package/{tsconfig.json → speechflow-cli/tsconfig.json} +0 -0
@@ -0,0 +1,46 @@
1
+ /*
2
+ ** SpeechFlow - Speech Processing Flow Graph
3
+ ** Copyright (c) 2024-2025 Dr. Ralf S. Engelschall <rse@engelschall.com>
4
+ ** Licensed under GPL 3.0 <https://spdx.org/licenses/GPL-3.0-only>
5
+ */
6
+
7
+ /* read original rules */
8
+ const recommended = require("stylelint-stylus/recommended")
9
+ const standard = require("stylelint-stylus/standard")
10
+
11
+ /* mix standard over recommended manually */
12
+ const mixed = {}
13
+ Object.assign(mixed, recommended)
14
+ Object.assign(mixed.rules, standard.rules)
15
+
16
+ /* remove deprecated rules */
17
+ const deprecated = [
18
+ "at-rule-name-newline-after",
19
+ "at-rule-name-space-after",
20
+ "block-closing-brace-empty-line-before",
21
+ "block-closing-brace-newline-after",
22
+ "block-closing-brace-newline-before",
23
+ "block-closing-brace-space-after",
24
+ "block-closing-brace-space-before",
25
+ "block-opening-brace-newline-after",
26
+ "block-opening-brace-newline-before",
27
+ "block-opening-brace-space-after",
28
+ "block-opening-brace-space-before",
29
+ "color-hex-case",
30
+ "declaration-block-trailing-semicolon",
31
+ "no-eol-whitespace",
32
+ "number-leading-zero",
33
+ "number-no-trailing-zeros",
34
+ "selector-list-comma-newline-after",
35
+ "selector-list-comma-newline-before",
36
+ "selector-list-comma-space-after",
37
+ "selector-list-comma-space-before",
38
+ "selector-pseudo-class-case",
39
+ "indentation"
40
+ ]
41
+ for (const d of deprecated)
42
+ delete mixed.rules[d]
43
+
44
+ /* export as replacement configuration */
45
+ module.exports = mixed
46
+
@@ -0,0 +1,33 @@
1
+ ##
2
+ ## SpeechFlow - Speech Processing Flow Graph
3
+ ## Copyright (c) 2024-2025 Dr. Ralf S. Engelschall <rse@engelschall.com>
4
+ ## Licensed under GPL 3.0 <https://spdx.org/licenses/GPL-3.0-only>
5
+ ##
6
+
7
+ extends:
8
+ - "./stylelint.js"
9
+ - "stylelint-config-standard-vue"
10
+
11
+ rules:
12
+ stylus/indentation: 4
13
+ shorthand-property-no-redundant-values: null
14
+ declaration-block-no-redundant-longhand-properties: null
15
+ unit-allowed-list: [ "px", "pt", "%", "vh", "vw", "fr", "rem", "ms", "deg" ]
16
+ rule-empty-line-before: null
17
+ no-descending-specificity: null
18
+ custom-property-empty-line-before: null
19
+ media-feature-range-notation: null
20
+ length-zero-no-unit: null
21
+ stylus/declaration-colon: null
22
+ stylus/media-feature-colon: null
23
+ stylus/single-line-comment: null
24
+ stylus/selector-list-comma: "always"
25
+ color-hex-length: null
26
+
27
+ # to get rid of deprecation warnings in "stylelint-stylus"
28
+ stylus/at-rule-name-space-after: null
29
+ stylus/selector-pseudo-class-case: null
30
+ stylus/no-eol-whitespace: null
31
+ stylus/number-no-trailing-zeros: null
32
+ stylus/at-rule-empty-line-before: null
33
+
@@ -0,0 +1,30 @@
1
+ {
2
+ "compilerOptions": {
3
+ "outDir": "../dst",
4
+ "target": "ESNext",
5
+ "module": "ESNext",
6
+ "moduleResolution": "Bundler",
7
+ "useDefineForClassFields": true,
8
+ "composite": false,
9
+ "strict": true,
10
+ "jsx": "preserve",
11
+ "resolveJsonModule": true,
12
+ "isolatedModules": true,
13
+ "verbatimModuleSyntax": true,
14
+ "noImplicitThis": true,
15
+ "esModuleInterop": true,
16
+ "lib": [ "ESNext", "DOM" ],
17
+ "skipLibCheck": true,
18
+ "noEmit": true,
19
+ "types": [ "vite/client" ],
20
+ "rootDir": "../src"
21
+ },
22
+ "include": [
23
+ "../src/**/*.d.ts",
24
+ "../src/**/*.ts",
25
+ "../src/**/*.vue"
26
+ ],
27
+ "references": [
28
+ { "path": "./tsc.node.json" }
29
+ ]
30
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "compilerOptions": {
3
+ "composite": true,
4
+ "module": "ESNext",
5
+ "moduleResolution": "Node",
6
+ "allowSyntheticDefaultImports": true
7
+ },
8
+ "include": [ "./vite.ts" ]
9
+ }
@@ -0,0 +1,63 @@
1
+ /*
2
+ ** SpeechFlow - Speech Processing Flow Graph
3
+ ** Copyright (c) 2024-2025 Dr. Ralf S. Engelschall <rse@engelschall.com>
4
+ ** Licensed under GPL 3.0 <https://spdx.org/licenses/GPL-3.0-only>
5
+ */
6
+
7
+ import path from "node:path"
8
+ import * as Vite from "vite"
9
+ import VuePlugin from "@vitejs/plugin-vue"
10
+ import YAMLPlugin from "@rollup/plugin-yaml"
11
+ import { nodePolyfills } from "vite-plugin-node-polyfills"
12
+ import SvgLoader from "vite-svg-loader"
13
+ import { mkdirp } from "mkdirp"
14
+
15
+ export default Vite.defineConfig(({ command, mode }) => ({
16
+ logLevel: "info",
17
+ base: "",
18
+ root: "src",
19
+ assetsInclude: [ "index.yaml" ],
20
+ plugins: [
21
+ VuePlugin(),
22
+ YAMLPlugin(),
23
+ SvgLoader(),
24
+ nodePolyfills({
25
+ include: [ "events", "stream", "path", "fs", "os" ],
26
+ globals: { Buffer: true }
27
+ })
28
+ ],
29
+ css: {
30
+ devSourcemap: mode === "development"
31
+ },
32
+ build: {
33
+ target: "es2022",
34
+ outDir: "../dst",
35
+ assetsDir: "",
36
+ emptyOutDir: (mode === "production"),
37
+ chunkSizeWarningLimit: 8000,
38
+ assetsInlineLimit: 0,
39
+ sourcemap: (mode === "development"),
40
+ minify: (mode === "production"),
41
+ reportCompressedSize: false,
42
+ rollupOptions: {
43
+ input: "src/index.html",
44
+ output: {
45
+ entryFileNames: "[name].js",
46
+ chunkFileNames: "[name].js",
47
+ assetFileNames: (assetInfo) => {
48
+ let spec = "[name].[ext]"
49
+ if (assetInfo.names[0].match(/\.(?:ttf|woff2?|eot)$/))
50
+ spec = `app-font-${assetInfo.names[0]}`
51
+ return spec
52
+ }
53
+ },
54
+ onwarn: (entry, next) => {
55
+ if (entry.message.match(/node_modules.+Use of eval in/))
56
+ return
57
+ else
58
+ return next(entry)
59
+ }
60
+ }
61
+ }
62
+ }))
63
+
@@ -0,0 +1,20 @@
1
+ diff --git a/node_modules/htmllint-cli/bin/cli.js b/node_modules/htmllint-cli/bin/cli.js
2
+ index 69b1f34..d28644e 100755
3
+ --- a/node_modules/htmllint-cli/bin/cli.js
4
+ +++ b/node_modules/htmllint-cli/bin/cli.js
5
+ @@ -52,15 +52,7 @@ app.launch({
6
+ var acceptedRange = cliPackage.dependencies.htmllint,
7
+ localVersion = env.modulePackage.version;
8
+
9
+ - if (semver.satisfies(localVersion, acceptedRange)) {
10
+ htmllintPath = env.modulePath;
11
+ - } else {
12
+ - console.log(
13
+ - chalk.red('local htmllint version is not supported:'),
14
+ - chalk.magenta(localVersion, '!=', acceptedRange)
15
+ - );
16
+ - console.log('using builtin version of htmllint');
17
+ - }
18
+ }
19
+
20
+ var htmllint = require(htmllintPath);
@@ -0,0 +1,75 @@
1
+ {
2
+ "private": "true",
3
+ "name": "speechflow-ui-db",
4
+ "description": "SpeechFlow User Interface (Dashboard)",
5
+ "keywords": [ "speechflow" ],
6
+ "homepage": "https://github.com/rse/speechflow",
7
+ "repository": { "url": "git+https://github.com/rse/speechflow.git", "type": "git" },
8
+ "bugs": { "url": "http://github.com/rse/speechflow/issues" },
9
+ "version": "0.0.0",
10
+ "license": "GPL-3.0-only",
11
+ "author": {
12
+ "name": "Dr. Ralf S. Engelschall",
13
+ "email": "rse@engelschall.com",
14
+ "url": "http://engelschall.com"
15
+ },
16
+ "dependencies": {
17
+ "vue": "3.5.18",
18
+ "moment": "2.30.1",
19
+ "@opensumi/reconnecting-websocket": "4.4.0",
20
+ "axios": "1.11.0",
21
+ "typopro-web": "4.2.7",
22
+ "@fortawesome/fontawesome-free": "7.0.0",
23
+ "patch-package": "8.0.0"
24
+ },
25
+ "devDependencies": {
26
+ "vite": "7.0.6",
27
+ "@typescript-eslint/eslint-plugin": "8.39.0",
28
+ "@typescript-eslint/parser": "8.39.0",
29
+ "@vitejs/plugin-vue": "6.0.1",
30
+ "@rollup/plugin-yaml": "4.1.2",
31
+ "vite-plugin-node-polyfills": "0.24.0",
32
+ "vite-svg-loader": "5.1.0",
33
+ "@liuli-util/vite-plugin-node": "0.10.0",
34
+ "mkdirp": "3.0.1",
35
+
36
+ "@vue/eslint-config-typescript": "14.6.0",
37
+ "vue-eslint-parser": "10.2.0",
38
+ "eslint": "9.32.0",
39
+ "@eslint/js": "9.32.0",
40
+ "neostandard": "0.12.2",
41
+ "eslint-plugin-import": "2.32.0",
42
+ "eslint-plugin-vue": "10.4.0",
43
+
44
+ "htmllint": "0.8.0",
45
+ "htmllint-cli": "0.0.7",
46
+
47
+ "nodemon": "3.1.10",
48
+ "shx": "0.4.0",
49
+ "stylelint": "16.23.0",
50
+ "stylelint-config-html": "1.1.0",
51
+ "stylelint-config-recommended-vue": "1.6.1",
52
+ "stylelint-config-standard": "39.0.0",
53
+ "stylelint-config-standard-vue": "1.0.0",
54
+ "stylelint-stylus": "1.0.0",
55
+ "postcss-html": "1.8.0",
56
+ "stylus": "0.64.0",
57
+ "typescript": "5.9.2",
58
+ "vue-tsc": "3.0.5",
59
+ "delay-cli": "2.0.0",
60
+ "@rse/stx": "1.0.7",
61
+ "cross-env": "10.0.0",
62
+ "serve": "14.2.4"
63
+ },
64
+ "overrides": {
65
+ "@liuli-util/vite-plugin-node": { "vite": ">=6.0.0" }
66
+ },
67
+ "engines" : {
68
+ "npm": ">=10.0.0",
69
+ "node": ">=22.0.0"
70
+ },
71
+ "scripts": {
72
+ "postinstall": "npm start patch-apply",
73
+ "start": "stx -v4 -c etc/stx.conf"
74
+ }
75
+ }