@easyv/biz-components 1.0.28 → 1.0.29
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/dist/components/code-editor/code-editor.d.ts +3 -0
- package/dist/components/code-editor/code-editor.es.js +49 -24
- package/dist/components/code-editor/code-editor.es.js.map +1 -1
- package/dist/components/code-editor/constants.d.ts +135 -0
- package/dist/components/code-editor/constants.es.js +281 -0
- package/dist/components/code-editor/constants.es.js.map +1 -0
- package/dist/components/code-editor/utils.d.ts +61 -0
- package/dist/components/code-editor/utils.es.js +128 -0
- package/dist/components/code-editor/utils.es.js.map +1 -0
- package/dist/node_modules/.pnpm/@codemirror_lang-javascript@6.2.1/node_modules/@codemirror/lang-javascript/dist/index.es.js +1 -1
- package/dist/node_modules/.pnpm/@codemirror_language@6.11.0/node_modules/@codemirror/language/dist/index.es.js +2 -2
- package/dist/node_modules/.pnpm/@codemirror_view@6.38.0/node_modules/@codemirror/view/dist/index.es.js +1 -1
- package/dist/node_modules/.pnpm/acorn-walk@8.3.4/node_modules/acorn-walk/dist/walk.es.js +297 -0
- package/dist/node_modules/.pnpm/acorn-walk@8.3.4/node_modules/acorn-walk/dist/walk.es.js.map +1 -0
- package/dist/stats.html +1 -1
- package/dist/utils/vosk-browser-manager/vosk-browser-manager.d.ts +2 -0
- package/dist/utils/vosk-browser-manager/vosk-browser-manager.es.js.map +1 -1
- package/package.json +5 -5
|
@@ -12,6 +12,8 @@ interface VoskBrowserManagerConfig extends AudiManagerConfig {
|
|
|
12
12
|
/** 热词识别,准确度不高, 而且会以影响原有的文字识别,慎用 */
|
|
13
13
|
hotWords?: string[];
|
|
14
14
|
}
|
|
15
|
+
/** 本地语音识别
|
|
16
|
+
* - 依赖 vosk-browser 库,vosk-browser 在 easyv 编辑页已安装 */
|
|
15
17
|
export declare class VoskBrowserManager {
|
|
16
18
|
config: VoskBrowserManagerConfig;
|
|
17
19
|
/** 采样率(每秒采样数)的浮点数,常用值:16000, 32000, 44100, 48000 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vosk-browser-manager.es.js","sources":["../../../src/utils/vosk-browser-manager/vosk-browser-manager.ts"],"sourcesContent":["import { omit } from 'lodash-es';\nimport type * as Vosk from 'vosk-browser';\nimport { AudiManagerConfig, AudioManager, defaultSampleRate } from './audio-manager/audio-manager';\nimport { SampleRate } from './audio-manager/types';\n\ninterface VoskBrowserManagerConfig extends AudiManagerConfig {\n vosk: typeof Vosk;\n modelUrl: string;\n /** 加载模型等初始化配置完成后,自动开始监听 */\n autoStart?: boolean;\n onInitialized?: () => void;\n onResult?: (text: string) => void;\n onPartialResult?: (text: string) => void;\n /** 热词识别,准确度不高, 而且会以影响原有的文字识别,慎用 */\n hotWords?: string[];\n}\n\nconst pickAudioManagerConfig = (config: VoskBrowserManagerConfig) => {\n return omit(config, [\n 'vosk',\n 'modelUrl',\n 'autoStart',\n 'onResult',\n 'onPartialResult',\n 'onInitialized',\n ]);\n};\n\nexport class VoskBrowserManager {\n config: VoskBrowserManagerConfig;\n /** 采样率(每秒采样数)的浮点数,常用值:16000, 32000, 44100, 48000 */\n sampleRate: SampleRate = defaultSampleRate;\n audioManager?: AudioManager;\n model?: Vosk.Model;\n autoStart = false;\n startResolve?: (value?: unknown) => void;\n status?: 'initializing' | 'initialized';\n\n constructor(config: VoskBrowserManagerConfig) {\n this.config = config;\n this.sampleRate = config.sampleRate || defaultSampleRate;\n this.autoStart = config.autoStart ?? false;\n this.init(config.vosk);\n }\n\n setConfig(config: Partial<Pick<VoskBrowserManagerConfig, 'onResult' | 'onPartialResult'>>) {\n this.config = {\n ...this.config,\n ...config,\n };\n }\n\n async init(vosk: typeof Vosk) {\n if (this.model) {\n this.model.terminate();\n }\n this.status = 'initializing';\n console.time('load model:');\n this.model = await vosk.createModel(this.config.modelUrl);\n console.timeEnd('load model:');\n\n const hotWords = this.config.hotWords ? JSON.stringify(this.config.hotWords) : undefined;\n const recognizer = new this.model.KaldiRecognizer(this.sampleRate, hotWords);\n recognizer.on('result', (message) => {\n const resultText = (message as any).result.text;\n this.config.onResult?.(resultText);\n });\n recognizer.on('partialresult', (message) => {\n const partialText = (message as any).result.partial;\n this.config.onPartialResult?.(partialText);\n });\n\n if (this.audioManager) {\n this.audioManager.destroy();\n }\n this.audioManager = new AudioManager({\n ...pickAudioManagerConfig(this.config),\n sampleRate: this.sampleRate,\n onFrameRecorded: (data) => {\n recognizer.acceptWaveformFloat(data, this.sampleRate);\n this.config.onFrameRecorded?.(data);\n },\n });\n\n this.config.onInitialized?.();\n this.startResolve?.();\n this.status = 'initialized';\n if (this.autoStart) {\n this.start();\n }\n }\n\n async start() {\n if (this.status === 'initialized') {\n await this.audioManager?.start();\n } else {\n await new Promise((resolve) => {\n this.startResolve = resolve;\n });\n await this.audioManager?.start();\n }\n }\n\n stop() {\n this.audioManager?.stop();\n }\n\n destroy() {\n this.audioManager?.destroy();\n this.model?.terminate();\n }\n}\n"],"names":["_b","_a"],"mappings":";;;;;AAiBA,MAAM,yBAAyB,CAAC,WAAqC;AACnE,SAAO,KAAK,QAAQ;AAAA,IAClB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACD;AACH;
|
|
1
|
+
{"version":3,"file":"vosk-browser-manager.es.js","sources":["../../../src/utils/vosk-browser-manager/vosk-browser-manager.ts"],"sourcesContent":["import { omit } from 'lodash-es';\nimport type * as Vosk from 'vosk-browser';\nimport { AudiManagerConfig, AudioManager, defaultSampleRate } from './audio-manager/audio-manager';\nimport { SampleRate } from './audio-manager/types';\n\ninterface VoskBrowserManagerConfig extends AudiManagerConfig {\n vosk: typeof Vosk;\n modelUrl: string;\n /** 加载模型等初始化配置完成后,自动开始监听 */\n autoStart?: boolean;\n onInitialized?: () => void;\n onResult?: (text: string) => void;\n onPartialResult?: (text: string) => void;\n /** 热词识别,准确度不高, 而且会以影响原有的文字识别,慎用 */\n hotWords?: string[];\n}\n\nconst pickAudioManagerConfig = (config: VoskBrowserManagerConfig) => {\n return omit(config, [\n 'vosk',\n 'modelUrl',\n 'autoStart',\n 'onResult',\n 'onPartialResult',\n 'onInitialized',\n ]);\n};\n\n/** 本地语音识别\n * - 依赖 vosk-browser 库,vosk-browser 在 easyv 编辑页已安装 */\nexport class VoskBrowserManager {\n config: VoskBrowserManagerConfig;\n /** 采样率(每秒采样数)的浮点数,常用值:16000, 32000, 44100, 48000 */\n sampleRate: SampleRate = defaultSampleRate;\n audioManager?: AudioManager;\n model?: Vosk.Model;\n autoStart = false;\n startResolve?: (value?: unknown) => void;\n status?: 'initializing' | 'initialized';\n\n constructor(config: VoskBrowserManagerConfig) {\n this.config = config;\n this.sampleRate = config.sampleRate || defaultSampleRate;\n this.autoStart = config.autoStart ?? false;\n this.init(config.vosk);\n }\n\n setConfig(config: Partial<Pick<VoskBrowserManagerConfig, 'onResult' | 'onPartialResult'>>) {\n this.config = {\n ...this.config,\n ...config,\n };\n }\n\n async init(vosk: typeof Vosk) {\n if (this.model) {\n this.model.terminate();\n }\n this.status = 'initializing';\n console.time('load model:');\n this.model = await vosk.createModel(this.config.modelUrl);\n console.timeEnd('load model:');\n\n const hotWords = this.config.hotWords ? JSON.stringify(this.config.hotWords) : undefined;\n const recognizer = new this.model.KaldiRecognizer(this.sampleRate, hotWords);\n recognizer.on('result', (message) => {\n const resultText = (message as any).result.text;\n this.config.onResult?.(resultText);\n });\n recognizer.on('partialresult', (message) => {\n const partialText = (message as any).result.partial;\n this.config.onPartialResult?.(partialText);\n });\n\n if (this.audioManager) {\n this.audioManager.destroy();\n }\n this.audioManager = new AudioManager({\n ...pickAudioManagerConfig(this.config),\n sampleRate: this.sampleRate,\n onFrameRecorded: (data) => {\n recognizer.acceptWaveformFloat(data, this.sampleRate);\n this.config.onFrameRecorded?.(data);\n },\n });\n\n this.config.onInitialized?.();\n this.startResolve?.();\n this.status = 'initialized';\n if (this.autoStart) {\n this.start();\n }\n }\n\n async start() {\n if (this.status === 'initialized') {\n await this.audioManager?.start();\n } else {\n await new Promise((resolve) => {\n this.startResolve = resolve;\n });\n await this.audioManager?.start();\n }\n }\n\n stop() {\n this.audioManager?.stop();\n }\n\n destroy() {\n this.audioManager?.destroy();\n this.model?.terminate();\n }\n}\n"],"names":["_b","_a"],"mappings":";;;;;AAiBA,MAAM,yBAAyB,CAAC,WAAqC;AACnE,SAAO,KAAK,QAAQ;AAAA,IAClB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACD;AACH;AAIO,MAAM,mBAAmB;AAAA,EAU9B,YAAY,QAAkC;AAT9C;AAEA;AAAA,sCAAyB;AACzB;AACA;AACA,qCAAY;AACZ;AACA;AAGE,SAAK,SAAS;AACT,SAAA,aAAa,OAAO,cAAc;AAClC,SAAA,YAAY,OAAO,aAAa;AAChC,SAAA,KAAK,OAAO,IAAI;AAAA,EAAA;AAAA,EAGvB,UAAU,QAAiF;AACzF,SAAK,SAAS;AAAA,MACZ,GAAG,KAAK;AAAA,MACR,GAAG;AAAA,IACL;AAAA,EAAA;AAAA,EAGF,MAAM,KAAK,MAAmB;;AAC5B,QAAI,KAAK,OAAO;AACd,WAAK,MAAM,UAAU;AAAA,IAAA;AAEvB,SAAK,SAAS;AACd,YAAQ,KAAK,aAAa;AAC1B,SAAK,QAAQ,MAAM,KAAK,YAAY,KAAK,OAAO,QAAQ;AACxD,YAAQ,QAAQ,aAAa;AAEvB,UAAA,WAAW,KAAK,OAAO,WAAW,KAAK,UAAU,KAAK,OAAO,QAAQ,IAAI;AAC/E,UAAM,aAAa,IAAI,KAAK,MAAM,gBAAgB,KAAK,YAAY,QAAQ;AAChE,eAAA,GAAG,UAAU,CAAC,YAAY;;AAC7B,YAAA,aAAc,QAAgB,OAAO;AACtC,OAAAA,OAAAC,MAAA,KAAA,QAAO,aAAP,gBAAAD,IAAA,KAAAC,KAAkB;AAAA,IAAU,CAClC;AACU,eAAA,GAAG,iBAAiB,CAAC,YAAY;;AACpC,YAAA,cAAe,QAAgB,OAAO;AACvC,OAAAD,OAAAC,MAAA,KAAA,QAAO,oBAAP,gBAAAD,IAAA,KAAAC,KAAyB;AAAA,IAAW,CAC1C;AAED,QAAI,KAAK,cAAc;AACrB,WAAK,aAAa,QAAQ;AAAA,IAAA;AAEvB,SAAA,eAAe,IAAI,aAAa;AAAA,MACnC,GAAG,uBAAuB,KAAK,MAAM;AAAA,MACrC,YAAY,KAAK;AAAA,MACjB,iBAAiB,CAAC,SAAS;;AACd,mBAAA,oBAAoB,MAAM,KAAK,UAAU;AAC/C,SAAAD,OAAAC,MAAA,KAAA,QAAO,oBAAP,gBAAAD,IAAA,KAAAC,KAAyB;AAAA,MAAI;AAAA,IACpC,CACD;AAED,qBAAK,QAAO,kBAAZ;AACA,eAAK,iBAAL;AACA,SAAK,SAAS;AACd,QAAI,KAAK,WAAW;AAClB,WAAK,MAAM;AAAA,IAAA;AAAA,EACb;AAAA,EAGF,MAAM,QAAQ;;AACR,QAAA,KAAK,WAAW,eAAe;AAC3B,cAAA,UAAK,iBAAL,mBAAmB;AAAA,IAAM,OAC1B;AACC,YAAA,IAAI,QAAQ,CAAC,YAAY;AAC7B,aAAK,eAAe;AAAA,MAAA,CACrB;AACK,cAAA,UAAK,iBAAL,mBAAmB;AAAA,IAAM;AAAA,EACjC;AAAA,EAGF,OAAO;;AACL,eAAK,iBAAL,mBAAmB;AAAA,EAAK;AAAA,EAG1B,UAAU;;AACR,eAAK,iBAAL,mBAAmB;AACnB,eAAK,UAAL,mBAAY;AAAA,EAAU;AAE1B;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@easyv/biz-components",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.29",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.es.js",
|
|
6
6
|
"module": "dist/index.es.js",
|
|
@@ -10,18 +10,19 @@
|
|
|
10
10
|
],
|
|
11
11
|
"sideEffects": false,
|
|
12
12
|
"dependencies": {
|
|
13
|
+
"@codemirror/autocomplete": "6.11.0",
|
|
13
14
|
"@codemirror/commands": "^6.8.1",
|
|
14
15
|
"@codemirror/lang-javascript": "6.2.1",
|
|
15
16
|
"@codemirror/lang-json": "6.0.1",
|
|
16
17
|
"@codemirror/lint": "6.5.0",
|
|
17
18
|
"@codemirror/state": "^6.5.2",
|
|
18
|
-
"@codemirror/theme-one-dark": "^6.1.3",
|
|
19
19
|
"@codemirror/view": "^6.38.0",
|
|
20
20
|
"@lezer/highlight": "^1.2.1",
|
|
21
21
|
"@monaco-editor/react": "^4.5.1",
|
|
22
22
|
"@uiw/codemirror-theme-abcdef": "^4.24.1",
|
|
23
23
|
"@uiw/react-codemirror": "4.21.20",
|
|
24
24
|
"acorn": "^8.15.0",
|
|
25
|
+
"acorn-walk": "^8.3.4",
|
|
25
26
|
"ahooks": "^3.8.5",
|
|
26
27
|
"classnames": "^2.5.1",
|
|
27
28
|
"co-web-worker": "^1.0.1",
|
|
@@ -37,14 +38,13 @@
|
|
|
37
38
|
"remark-gfm": "^4.0.1"
|
|
38
39
|
},
|
|
39
40
|
"peerDependencies": {
|
|
40
|
-
"antd": "4.24.1",
|
|
41
41
|
"@easyv/react-icons": "6.3.0",
|
|
42
|
+
"antd": "4.24.1",
|
|
42
43
|
"echarts": "5.4.1",
|
|
43
44
|
"react": "^16.8.0 || ^17.0.0 || ^18.0.0",
|
|
44
45
|
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0",
|
|
45
46
|
"socket.io-client": "^4.8.1",
|
|
46
|
-
"vosk-browser": "^0.0.8"
|
|
47
|
-
"@easyv/admin-components": "0.0.0"
|
|
47
|
+
"vosk-browser": "^0.0.8"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"@types/crypto-js": "^4.2.2",
|