@downcity/plugins 1.0.56 → 1.0.59
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/bin/BuiltinPlugins.d.ts.map +1 -1
- package/bin/BuiltinPlugins.js +0 -6
- package/bin/BuiltinPlugins.js.map +1 -1
- package/bin/asr/Plugin.d.ts +67 -7
- package/bin/asr/Plugin.d.ts.map +1 -1
- package/bin/asr/Plugin.js +229 -461
- package/bin/asr/Plugin.js.map +1 -1
- package/bin/asr/types/AsrPlugin.d.ts +114 -0
- package/bin/asr/types/AsrPlugin.d.ts.map +1 -0
- package/bin/asr/types/AsrPlugin.js +10 -0
- package/bin/asr/types/AsrPlugin.js.map +1 -0
- package/bin/auth/types/AuthPlugin.d.ts +12 -16
- package/bin/auth/types/AuthPlugin.d.ts.map +1 -1
- package/bin/auth/types/AuthPlugin.js +9 -13
- package/bin/auth/types/AuthPlugin.js.map +1 -1
- package/bin/chat/ChatPlugin.d.ts +37 -6
- package/bin/chat/ChatPlugin.d.ts.map +1 -1
- package/bin/chat/ChatPlugin.js +58 -80
- package/bin/chat/ChatPlugin.js.map +1 -1
- package/bin/chat/Index.d.ts +4 -1
- package/bin/chat/Index.d.ts.map +1 -1
- package/bin/chat/Index.js +2 -1
- package/bin/chat/Index.js.map +1 -1
- package/bin/chat/channels/Configuration.d.ts +1 -1
- package/bin/chat/channels/Configuration.js +1 -1
- package/bin/chat/channels/RuntimeChannel.d.ts +145 -0
- package/bin/chat/channels/RuntimeChannel.d.ts.map +1 -0
- package/bin/chat/channels/RuntimeChannel.js +148 -0
- package/bin/chat/channels/RuntimeChannel.js.map +1 -0
- package/bin/chat/runtime/ChatAuthorizationRuntime.d.ts +22 -0
- package/bin/chat/runtime/ChatAuthorizationRuntime.d.ts.map +1 -0
- package/bin/chat/runtime/ChatAuthorizationRuntime.js +189 -0
- package/bin/chat/runtime/ChatAuthorizationRuntime.js.map +1 -0
- package/bin/chat/runtime/ChatChannelActions.d.ts.map +1 -1
- package/bin/chat/runtime/ChatChannelActions.js +19 -9
- package/bin/chat/runtime/ChatChannelActions.js.map +1 -1
- package/bin/chat/runtime/ChatChannelConfig.d.ts +2 -18
- package/bin/chat/runtime/ChatChannelConfig.d.ts.map +1 -1
- package/bin/chat/runtime/ChatChannelConfig.js +2 -73
- package/bin/chat/runtime/ChatChannelConfig.js.map +1 -1
- package/bin/chat/runtime/ChatChannelCore.d.ts +22 -1
- package/bin/chat/runtime/ChatChannelCore.d.ts.map +1 -1
- package/bin/chat/runtime/ChatChannelCore.js +5 -5
- package/bin/chat/runtime/ChatChannelCore.js.map +1 -1
- package/bin/chat/runtime/ChatPluginActionRegistry.js +1 -1
- package/bin/chat/runtime/ChatPluginActionRegistry.js.map +1 -1
- package/bin/chat/runtime/PluginPoints.d.ts +3 -3
- package/bin/chat/runtime/PluginPoints.js +3 -3
- package/bin/chat/types/ChannelStatus.d.ts +1 -1
- package/bin/chat/types/ChatPluginOptions.d.ts +76 -0
- package/bin/chat/types/ChatPluginOptions.d.ts.map +1 -0
- package/bin/chat/types/ChatPluginOptions.js +10 -0
- package/bin/chat/types/ChatPluginOptions.js.map +1 -0
- package/bin/image/ImagePlugin.d.ts +1 -1
- package/bin/image/ImagePlugin.d.ts.map +1 -1
- package/bin/image/ImagePlugin.js +23 -5
- package/bin/image/ImagePlugin.js.map +1 -1
- package/bin/index.d.ts +6 -3
- package/bin/index.d.ts.map +1 -1
- package/bin/index.js +2 -2
- package/bin/index.js.map +1 -1
- package/bin/skill/Action.d.ts.map +1 -1
- package/bin/skill/Action.js +2 -2
- package/bin/skill/Action.js.map +1 -1
- package/bin/skill/Command.js +5 -5
- package/bin/skill/Command.js.map +1 -1
- package/bin/skill/Plugin.js +1 -1
- package/bin/skill/Plugin.js.map +1 -1
- package/bin/skill/runtime/Discovery.d.ts +4 -4
- package/bin/skill/runtime/Discovery.d.ts.map +1 -1
- package/bin/skill/runtime/Discovery.js +5 -5
- package/bin/skill/runtime/Discovery.js.map +1 -1
- package/bin/skill/runtime/Paths.d.ts +1 -5
- package/bin/skill/runtime/Paths.d.ts.map +1 -1
- package/bin/skill/runtime/Paths.js +1 -9
- package/bin/skill/runtime/Paths.js.map +1 -1
- package/bin/skill/runtime/Prompt.d.ts +2 -2
- package/bin/skill/runtime/Prompt.d.ts.map +1 -1
- package/bin/skill/runtime/Prompt.js +3 -3
- package/bin/skill/runtime/Prompt.js.map +1 -1
- package/bin/skill/runtime/Store.d.ts +2 -2
- package/bin/skill/runtime/Store.d.ts.map +1 -1
- package/bin/skill/runtime/Store.js.map +1 -1
- package/bin/skill/runtime/SystemProvider.js +4 -4
- package/bin/skill/runtime/SystemProvider.js.map +1 -1
- package/bin/skill/runtime/Types.d.ts +3 -3
- package/bin/skill/runtime/Types.d.ts.map +1 -1
- package/bin/skill/types/{ClaudeSkill.d.ts → SkillDefinition.d.ts} +4 -4
- package/bin/skill/types/SkillDefinition.d.ts.map +1 -0
- package/bin/skill/types/{ClaudeSkill.js → SkillDefinition.js} +2 -2
- package/bin/skill/types/SkillDefinition.js.map +1 -0
- package/bin/skill/types/SkillPlugin.d.ts +2 -2
- package/bin/skill/types/SkillPlugin.d.ts.map +1 -1
- package/bin/tts/Plugin.d.ts +53 -6
- package/bin/tts/Plugin.d.ts.map +1 -1
- package/bin/tts/Plugin.js +197 -474
- package/bin/tts/Plugin.js.map +1 -1
- package/bin/tts/types/TtsPlugin.d.ts +63 -102
- package/bin/tts/types/TtsPlugin.d.ts.map +1 -1
- package/bin/tts/types/TtsPlugin.js +4 -3
- package/bin/tts/types/TtsPlugin.js.map +1 -1
- package/bin/web/PROMPT.d.ts +1 -1
- package/bin/web/PROMPT.d.ts.map +1 -1
- package/bin/web/PROMPT.js +1 -1
- package/bin/web/PROMPT.js.map +1 -1
- package/bin/web/Plugin.d.ts +66 -5
- package/bin/web/Plugin.d.ts.map +1 -1
- package/bin/web/Plugin.js +126 -450
- package/bin/web/Plugin.js.map +1 -1
- package/bin/web/WebPromptAssets.d.ts +1 -9
- package/bin/web/WebPromptAssets.d.ts.map +1 -1
- package/bin/web/WebPromptAssets.js +1 -11
- package/bin/web/WebPromptAssets.js.map +1 -1
- package/bin/web/runtime/Install.d.ts +19 -0
- package/bin/web/runtime/Install.d.ts.map +1 -0
- package/bin/web/runtime/Install.js +178 -0
- package/bin/web/runtime/Install.js.map +1 -0
- package/bin/web/types/WebPlugin.d.ts +38 -109
- package/bin/web/types/WebPlugin.d.ts.map +1 -1
- package/bin/web/types/WebPlugin.js +5 -7
- package/bin/web/types/WebPlugin.js.map +1 -1
- package/bin/workboard/Plugin.d.ts +23 -3
- package/bin/workboard/Plugin.d.ts.map +1 -1
- package/bin/workboard/Plugin.js +66 -85
- package/bin/workboard/Plugin.js.map +1 -1
- package/package.json +2 -2
- package/src/BuiltinPlugins.ts +0 -6
- package/src/asr/Plugin.ts +264 -483
- package/src/asr/types/AsrPlugin.ts +118 -0
- package/src/auth/types/AuthPlugin.ts +12 -17
- package/src/chat/ChatPlugin.ts +92 -89
- package/src/chat/Index.ts +18 -1
- package/src/chat/channels/Configuration.ts +1 -1
- package/src/chat/channels/RuntimeChannel.ts +264 -0
- package/src/chat/runtime/ChatAuthorizationRuntime.ts +229 -0
- package/src/chat/runtime/ChatChannelActions.ts +24 -9
- package/src/chat/runtime/ChatChannelConfig.ts +2 -100
- package/src/chat/runtime/ChatChannelCore.ts +20 -8
- package/src/chat/runtime/ChatPluginActionRegistry.ts +1 -1
- package/src/chat/runtime/PluginPoints.ts +3 -3
- package/src/chat/types/ChannelStatus.ts +1 -1
- package/src/chat/types/ChatPluginOptions.ts +79 -0
- package/src/image/ImagePlugin.ts +23 -5
- package/src/index.ts +29 -6
- package/src/skill/Action.ts +10 -7
- package/src/skill/Command.ts +5 -5
- package/src/skill/Plugin.ts +1 -1
- package/src/skill/runtime/Discovery.ts +14 -11
- package/src/skill/runtime/Paths.ts +1 -13
- package/src/skill/runtime/Prompt.ts +5 -5
- package/src/skill/runtime/Store.ts +6 -3
- package/src/skill/runtime/SystemProvider.ts +4 -4
- package/src/skill/runtime/Types.ts +3 -3
- package/src/skill/types/{ClaudeSkill.ts → SkillDefinition.ts} +3 -3
- package/src/skill/types/SkillPlugin.ts +2 -2
- package/src/tts/Plugin.ts +225 -492
- package/src/tts/types/TtsPlugin.ts +67 -102
- package/src/web/PROMPT.ts +1 -1
- package/src/web/PROMPT.ts.txt +32 -6
- package/src/web/Plugin.ts +119 -453
- package/src/web/WebPromptAssets.ts +1 -13
- package/src/web/runtime/Install.ts +241 -0
- package/src/web/types/WebPlugin.ts +38 -114
- package/src/workboard/Plugin.ts +80 -95
- package/bin/asr/Config.d.ts +0 -43
- package/bin/asr/Config.d.ts.map +0 -1
- package/bin/asr/Config.js +0 -107
- package/bin/asr/Config.js.map +0 -1
- package/bin/asr/Dependency.d.ts +0 -77
- package/bin/asr/Dependency.d.ts.map +0 -1
- package/bin/asr/Dependency.js +0 -238
- package/bin/asr/Dependency.js.map +0 -1
- package/bin/asr/InboundAugment.d.ts +0 -17
- package/bin/asr/InboundAugment.d.ts.map +0 -1
- package/bin/asr/InboundAugment.js +0 -47
- package/bin/asr/InboundAugment.js.map +0 -1
- package/bin/asr/ModelCatalog.d.ts +0 -29
- package/bin/asr/ModelCatalog.d.ts.map +0 -1
- package/bin/asr/ModelCatalog.js +0 -25
- package/bin/asr/ModelCatalog.js.map +0 -1
- package/bin/auth/Plugin.d.ts +0 -17
- package/bin/auth/Plugin.d.ts.map +0 -1
- package/bin/auth/Plugin.js +0 -199
- package/bin/auth/Plugin.js.map +0 -1
- package/bin/chat/ChatPluginTypes.d.ts +0 -122
- package/bin/chat/ChatPluginTypes.d.ts.map +0 -1
- package/bin/chat/ChatPluginTypes.js +0 -10
- package/bin/chat/ChatPluginTypes.js.map +0 -1
- package/bin/skill/types/ClaudeSkill.d.ts.map +0 -1
- package/bin/skill/types/ClaudeSkill.js.map +0 -1
- package/bin/tts/Dependency.d.ts +0 -90
- package/bin/tts/Dependency.d.ts.map +0 -1
- package/bin/tts/Dependency.js +0 -344
- package/bin/tts/Dependency.js.map +0 -1
- package/bin/tts/PluginSupport.d.ts +0 -25
- package/bin/tts/PluginSupport.d.ts.map +0 -1
- package/bin/tts/PluginSupport.js +0 -72
- package/bin/tts/PluginSupport.js.map +0 -1
- package/bin/tts/runtime/Catalog.d.ts +0 -21
- package/bin/tts/runtime/Catalog.d.ts.map +0 -1
- package/bin/tts/runtime/Catalog.js +0 -90
- package/bin/tts/runtime/Catalog.js.map +0 -1
- package/bin/tts/runtime/DependencyInstaller.d.ts +0 -143
- package/bin/tts/runtime/DependencyInstaller.d.ts.map +0 -1
- package/bin/tts/runtime/DependencyInstaller.js +0 -261
- package/bin/tts/runtime/DependencyInstaller.js.map +0 -1
- package/bin/tts/runtime/Installer.d.ts +0 -89
- package/bin/tts/runtime/Installer.d.ts.map +0 -1
- package/bin/tts/runtime/Installer.js +0 -188
- package/bin/tts/runtime/Installer.js.map +0 -1
- package/bin/tts/runtime/Paths.d.ts +0 -20
- package/bin/tts/runtime/Paths.d.ts.map +0 -1
- package/bin/tts/runtime/Paths.js +0 -32
- package/bin/tts/runtime/Paths.js.map +0 -1
- package/bin/tts/runtime/Synthesizer.d.ts +0 -44
- package/bin/tts/runtime/Synthesizer.d.ts.map +0 -1
- package/bin/tts/runtime/Synthesizer.js +0 -363
- package/bin/tts/runtime/Synthesizer.js.map +0 -1
- package/bin/tts/types/Tts.d.ts +0 -91
- package/bin/tts/types/Tts.d.ts.map +0 -1
- package/bin/tts/types/Tts.js +0 -9
- package/bin/tts/types/Tts.js.map +0 -1
- package/bin/voice/Config.d.ts +0 -43
- package/bin/voice/Config.d.ts.map +0 -1
- package/bin/voice/Config.js +0 -104
- package/bin/voice/Config.js.map +0 -1
- package/bin/voice/Dependency.d.ts +0 -77
- package/bin/voice/Dependency.d.ts.map +0 -1
- package/bin/voice/Dependency.js +0 -237
- package/bin/voice/Dependency.js.map +0 -1
- package/bin/voice/InboundAugment.d.ts +0 -17
- package/bin/voice/InboundAugment.d.ts.map +0 -1
- package/bin/voice/InboundAugment.js +0 -47
- package/bin/voice/InboundAugment.js.map +0 -1
- package/bin/voice/ModelCatalog.d.ts +0 -29
- package/bin/voice/ModelCatalog.d.ts.map +0 -1
- package/bin/voice/ModelCatalog.js +0 -25
- package/bin/voice/ModelCatalog.js.map +0 -1
- package/bin/voice/runtime/Catalog.d.ts +0 -18
- package/bin/voice/runtime/Catalog.d.ts.map +0 -1
- package/bin/voice/runtime/Catalog.js +0 -61
- package/bin/voice/runtime/Catalog.js.map +0 -1
- package/bin/voice/runtime/DependencyInstaller.d.ts +0 -145
- package/bin/voice/runtime/DependencyInstaller.d.ts.map +0 -1
- package/bin/voice/runtime/DependencyInstaller.js +0 -309
- package/bin/voice/runtime/DependencyInstaller.js.map +0 -1
- package/bin/voice/runtime/Installer.d.ts +0 -94
- package/bin/voice/runtime/Installer.d.ts.map +0 -1
- package/bin/voice/runtime/Installer.js +0 -200
- package/bin/voice/runtime/Installer.js.map +0 -1
- package/bin/voice/runtime/Paths.d.ts +0 -8
- package/bin/voice/runtime/Paths.d.ts.map +0 -1
- package/bin/voice/runtime/Paths.js +0 -26
- package/bin/voice/runtime/Paths.js.map +0 -1
- package/bin/voice/runtime/Transcriber.d.ts +0 -57
- package/bin/voice/runtime/Transcriber.d.ts.map +0 -1
- package/bin/voice/runtime/Transcriber.js +0 -329
- package/bin/voice/runtime/Transcriber.js.map +0 -1
- package/bin/voice/types/Voice.d.ts +0 -58
- package/bin/voice/types/Voice.d.ts.map +0 -1
- package/bin/voice/types/Voice.js +0 -9
- package/bin/voice/types/Voice.js.map +0 -1
- package/bin/voice/types/VoicePlugin.d.ts +0 -190
- package/bin/voice/types/VoicePlugin.d.ts.map +0 -1
- package/bin/voice/types/VoicePlugin.js +0 -9
- package/bin/voice/types/VoicePlugin.js.map +0 -1
- package/bin/web/Dependency.d.ts +0 -10
- package/bin/web/Dependency.d.ts.map +0 -1
- package/bin/web/Dependency.js +0 -10
- package/bin/web/Dependency.js.map +0 -1
- package/bin/web/PROMPT.agent-browser.d.ts +0 -7
- package/bin/web/PROMPT.agent-browser.d.ts.map +0 -1
- package/bin/web/PROMPT.agent-browser.js +0 -8
- package/bin/web/PROMPT.agent-browser.js.map +0 -1
- package/bin/web/PROMPT.web-access.d.ts +0 -7
- package/bin/web/PROMPT.web-access.d.ts.map +0 -1
- package/bin/web/PROMPT.web-access.js +0 -8
- package/bin/web/PROMPT.web-access.js.map +0 -1
- package/bin/web/runtime/Config.d.ts +0 -21
- package/bin/web/runtime/Config.d.ts.map +0 -1
- package/bin/web/runtime/Config.js +0 -79
- package/bin/web/runtime/Config.js.map +0 -1
- package/bin/web/runtime/Source.d.ts +0 -29
- package/bin/web/runtime/Source.d.ts.map +0 -1
- package/bin/web/runtime/Source.js +0 -209
- package/bin/web/runtime/Source.js.map +0 -1
- package/src/asr/Config.ts +0 -138
- package/src/asr/Dependency.ts +0 -336
- package/src/asr/InboundAugment.ts +0 -59
- package/src/asr/ModelCatalog.ts +0 -43
- package/src/auth/Plugin.ts +0 -237
- package/src/chat/ChatPluginTypes.ts +0 -126
- package/src/tts/Dependency.ts +0 -473
- package/src/tts/PluginSupport.ts +0 -85
- package/src/tts/runtime/Catalog.ts +0 -97
- package/src/tts/runtime/DependencyInstaller.ts +0 -436
- package/src/tts/runtime/Installer.ts +0 -297
- package/src/tts/runtime/Paths.ts +0 -39
- package/src/tts/runtime/Synthesizer.ts +0 -480
- package/src/tts/types/Tts.ts +0 -99
- package/src/voice/Config.ts +0 -135
- package/src/voice/Dependency.ts +0 -329
- package/src/voice/InboundAugment.ts +0 -59
- package/src/voice/ModelCatalog.ts +0 -43
- package/src/voice/runtime/Catalog.ts +0 -68
- package/src/voice/runtime/DependencyInstaller.ts +0 -505
- package/src/voice/runtime/Installer.ts +0 -324
- package/src/voice/runtime/Paths.ts +0 -26
- package/src/voice/runtime/Transcriber.ts +0 -467
- package/src/voice/types/Voice.ts +0 -68
- package/src/voice/types/VoicePlugin.ts +0 -194
- package/src/web/Dependency.ts +0 -17
- package/src/web/PROMPT.agent-browser.ts +0 -9
- package/src/web/PROMPT.agent-browser.ts.txt +0 -17
- package/src/web/PROMPT.web-access.ts +0 -9
- package/src/web/PROMPT.web-access.ts.txt +0 -13
- package/src/web/runtime/Config.ts +0 -105
- package/src/web/runtime/Source.ts +0 -257
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* TTS 依赖安装器。
|
|
3
|
-
*
|
|
4
|
-
* 关键点(中文)
|
|
5
|
-
* - 统一管理 `town tts` 的 Python 依赖安装逻辑。
|
|
6
|
-
* - 根据模型自动推导 runner(qwen3 / kokoro)并执行 `python -m pip install`。
|
|
7
|
-
*/
|
|
8
|
-
import type { TtsModelId, TtsRuntimeFamily } from "../../tts/types/Tts.js";
|
|
9
|
-
/**
|
|
10
|
-
* TTS 依赖 runner 类型。
|
|
11
|
-
*/
|
|
12
|
-
export type TtsDependencyRunner = TtsRuntimeFamily;
|
|
13
|
-
/**
|
|
14
|
-
* 单个 runner 的安装摘要。
|
|
15
|
-
*/
|
|
16
|
-
export interface TtsDependencyInstallItem {
|
|
17
|
-
/**
|
|
18
|
-
* 当前安装 runner。
|
|
19
|
-
*/
|
|
20
|
-
runner: TtsDependencyRunner;
|
|
21
|
-
/**
|
|
22
|
-
* Python 可执行文件。
|
|
23
|
-
*/
|
|
24
|
-
pythonBin: string;
|
|
25
|
-
/**
|
|
26
|
-
* 执行参数(不含 pythonBin)。
|
|
27
|
-
*/
|
|
28
|
-
args: string[];
|
|
29
|
-
/**
|
|
30
|
-
* 安装包列表。
|
|
31
|
-
*/
|
|
32
|
-
packages: string[];
|
|
33
|
-
/**
|
|
34
|
-
* 实际执行的命令行。
|
|
35
|
-
*/
|
|
36
|
-
command: string;
|
|
37
|
-
/**
|
|
38
|
-
* 执行耗时(毫秒)。
|
|
39
|
-
*/
|
|
40
|
-
elapsedMs: number;
|
|
41
|
-
/**
|
|
42
|
-
* 是否跳过安装。
|
|
43
|
-
*/
|
|
44
|
-
skipped?: boolean;
|
|
45
|
-
/**
|
|
46
|
-
* 跳过原因(可选)。
|
|
47
|
-
*/
|
|
48
|
-
skipReason?: string;
|
|
49
|
-
/**
|
|
50
|
-
* stdout 尾部(可选)。
|
|
51
|
-
*/
|
|
52
|
-
stdoutTail?: string;
|
|
53
|
-
/**
|
|
54
|
-
* stderr 尾部(可选)。
|
|
55
|
-
*/
|
|
56
|
-
stderrTail?: string;
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* 依赖安装结果。
|
|
60
|
-
*/
|
|
61
|
-
export interface TtsDependencyInstallResult {
|
|
62
|
-
/**
|
|
63
|
-
* 本次使用的 Python 可执行文件。
|
|
64
|
-
*/
|
|
65
|
-
pythonBin: string;
|
|
66
|
-
/**
|
|
67
|
-
* 本次处理的 runner 列表。
|
|
68
|
-
*/
|
|
69
|
-
runners: TtsDependencyRunner[];
|
|
70
|
-
/**
|
|
71
|
-
* 各 runner 的安装摘要。
|
|
72
|
-
*/
|
|
73
|
-
items: TtsDependencyInstallItem[];
|
|
74
|
-
/**
|
|
75
|
-
* 是否使用了虚拟环境安装。
|
|
76
|
-
*/
|
|
77
|
-
usedVirtualEnv: boolean;
|
|
78
|
-
/**
|
|
79
|
-
* 虚拟环境目录(仅 `usedVirtualEnv=true` 时存在)。
|
|
80
|
-
*/
|
|
81
|
-
venvDir?: string;
|
|
82
|
-
/**
|
|
83
|
-
* 初始尝试使用的 Python(仅进入虚拟环境回退时存在)。
|
|
84
|
-
*/
|
|
85
|
-
basePythonBin?: string;
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* 依赖安装输入参数。
|
|
89
|
-
*/
|
|
90
|
-
export interface TtsDependencyInstallInput {
|
|
91
|
-
/**
|
|
92
|
-
* Python 可执行文件(默认 `python3`)。
|
|
93
|
-
*/
|
|
94
|
-
pythonBin?: string;
|
|
95
|
-
/**
|
|
96
|
-
* 需要安装的 runner 列表。
|
|
97
|
-
*/
|
|
98
|
-
runners: TtsDependencyRunner[];
|
|
99
|
-
/**
|
|
100
|
-
* 是否使用 `pip -U` 升级。
|
|
101
|
-
*/
|
|
102
|
-
upgrade?: boolean;
|
|
103
|
-
/**
|
|
104
|
-
* pip 安装超时(毫秒)。
|
|
105
|
-
*/
|
|
106
|
-
timeoutMs?: number;
|
|
107
|
-
/**
|
|
108
|
-
* 虚拟环境目录(可选)。
|
|
109
|
-
*/
|
|
110
|
-
venvDir?: string;
|
|
111
|
-
}
|
|
112
|
-
export declare function resolveTtsVenvPythonBin(venvDir: string): string;
|
|
113
|
-
/**
|
|
114
|
-
* 返回 TTS 默认虚拟环境目录。
|
|
115
|
-
*/
|
|
116
|
-
export declare function resolveDefaultTtsVenvDir(): string;
|
|
117
|
-
/**
|
|
118
|
-
* 返回 TTS 默认虚拟环境 Python 路径。
|
|
119
|
-
*/
|
|
120
|
-
export declare function resolveDefaultTtsVenvPythonBin(): string;
|
|
121
|
-
/**
|
|
122
|
-
* 判断是否为 PEP 668(externally-managed-environment)错误。
|
|
123
|
-
*/
|
|
124
|
-
export declare function isPep668InstallError(text: string): boolean;
|
|
125
|
-
export declare function ensureTtsVirtualEnv(params: {
|
|
126
|
-
/**
|
|
127
|
-
* 虚拟环境目录。
|
|
128
|
-
*/
|
|
129
|
-
venvDir?: string;
|
|
130
|
-
/**
|
|
131
|
-
* 用于创建 venv 的基础 Python。
|
|
132
|
-
*/
|
|
133
|
-
basePythonBin?: string;
|
|
134
|
-
}): Promise<string>;
|
|
135
|
-
/**
|
|
136
|
-
* 安装 TTS Python 依赖。
|
|
137
|
-
*/
|
|
138
|
-
export declare function installTtsDependencies(input: TtsDependencyInstallInput): Promise<TtsDependencyInstallResult>;
|
|
139
|
-
/**
|
|
140
|
-
* 根据模型列表推导需要安装的 runner 集合。
|
|
141
|
-
*/
|
|
142
|
-
export declare function resolveTtsRunnersByModels(modelIds: TtsModelId[]): TtsDependencyRunner[];
|
|
143
|
-
//# sourceMappingURL=DependencyInstaller.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DependencyInstaller.d.ts","sourceRoot":"","sources":["../../../src/tts/runtime/DependencyInstaller.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAQvE;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,MAAM,EAAE,mBAAmB,CAAC;IAC5B;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,IAAI,EAAE,MAAM,EAAE,CAAC;IACf;;OAEG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B;;OAEG;IACH,KAAK,EAAE,wBAAwB,EAAE,CAAC;IAClC;;OAEG;IACH,cAAc,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA4BD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAEjD;AAED;;GAEG;AACH,wBAAgB,8BAA8B,IAAI,MAAM,CAEvD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAS1D;AA+ID,wBAAsB,mBAAmB,CAAC,MAAM,EAAE;IAChD;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,OAAO,CAAC,MAAM,CAAC,CAalB;AAkCD;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,0BAA0B,CAAC,CAgCrC;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,mBAAmB,EAAE,CAUvF"}
|
|
@@ -1,261 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* TTS 依赖安装器。
|
|
3
|
-
*
|
|
4
|
-
* 关键点(中文)
|
|
5
|
-
* - 统一管理 `town tts` 的 Python 依赖安装逻辑。
|
|
6
|
-
* - 根据模型自动推导 runner(qwen3 / kokoro)并执行 `python -m pip install`。
|
|
7
|
-
*/
|
|
8
|
-
import { execFile as execFileCb } from "node:child_process";
|
|
9
|
-
import os from "node:os";
|
|
10
|
-
import path from "node:path";
|
|
11
|
-
import { promisify } from "node:util";
|
|
12
|
-
import fs from "fs-extra";
|
|
13
|
-
const execFileAsync = promisify(execFileCb);
|
|
14
|
-
const DEFAULT_PIP_TIMEOUT_MS = 300_000;
|
|
15
|
-
const OUTPUT_TAIL_LIMIT = 1200;
|
|
16
|
-
const DEFAULT_VENV_DIR = path.join(os.homedir(), ".downcity", "venvs", "tts");
|
|
17
|
-
function normalizePythonBin(input) {
|
|
18
|
-
const text = String(input || "").trim();
|
|
19
|
-
return text || "python3";
|
|
20
|
-
}
|
|
21
|
-
function normalizeTimeoutMs(value) {
|
|
22
|
-
if (!Number.isFinite(value))
|
|
23
|
-
return DEFAULT_PIP_TIMEOUT_MS;
|
|
24
|
-
const ms = Math.floor(Number(value));
|
|
25
|
-
if (ms < 5_000)
|
|
26
|
-
return 5_000;
|
|
27
|
-
if (ms > 1_800_000)
|
|
28
|
-
return 1_800_000;
|
|
29
|
-
return ms;
|
|
30
|
-
}
|
|
31
|
-
function normalizeVenvDir(input) {
|
|
32
|
-
const text = String(input || "").trim();
|
|
33
|
-
if (!text)
|
|
34
|
-
return DEFAULT_VENV_DIR;
|
|
35
|
-
return path.resolve(text);
|
|
36
|
-
}
|
|
37
|
-
function tailText(value) {
|
|
38
|
-
const text = String(value || "").trim();
|
|
39
|
-
if (!text)
|
|
40
|
-
return undefined;
|
|
41
|
-
if (text.length <= OUTPUT_TAIL_LIMIT)
|
|
42
|
-
return text;
|
|
43
|
-
return text.slice(text.length - OUTPUT_TAIL_LIMIT);
|
|
44
|
-
}
|
|
45
|
-
export function resolveTtsVenvPythonBin(venvDir) {
|
|
46
|
-
return path.join(venvDir, "bin", "python");
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* 返回 TTS 默认虚拟环境目录。
|
|
50
|
-
*/
|
|
51
|
-
export function resolveDefaultTtsVenvDir() {
|
|
52
|
-
return DEFAULT_VENV_DIR;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* 返回 TTS 默认虚拟环境 Python 路径。
|
|
56
|
-
*/
|
|
57
|
-
export function resolveDefaultTtsVenvPythonBin() {
|
|
58
|
-
return resolveTtsVenvPythonBin(DEFAULT_VENV_DIR);
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* 判断是否为 PEP 668(externally-managed-environment)错误。
|
|
62
|
-
*/
|
|
63
|
-
export function isPep668InstallError(text) {
|
|
64
|
-
const msg = String(text || "").toLowerCase();
|
|
65
|
-
if (!msg)
|
|
66
|
-
return false;
|
|
67
|
-
return (msg.includes("externally-managed-environment") ||
|
|
68
|
-
msg.includes("this environment is externally managed") ||
|
|
69
|
-
msg.includes("pep 668") ||
|
|
70
|
-
msg.includes("--break-system-packages"));
|
|
71
|
-
}
|
|
72
|
-
function dedupeRunners(runners) {
|
|
73
|
-
const seen = new Set();
|
|
74
|
-
const out = [];
|
|
75
|
-
for (const runner of runners) {
|
|
76
|
-
if (seen.has(runner))
|
|
77
|
-
continue;
|
|
78
|
-
seen.add(runner);
|
|
79
|
-
out.push(runner);
|
|
80
|
-
}
|
|
81
|
-
return out;
|
|
82
|
-
}
|
|
83
|
-
function getRunnerPackages(runner) {
|
|
84
|
-
if (runner === "qwen3") {
|
|
85
|
-
return ["qwen-tts", "soundfile", "torch", "torchaudio", "transformers", "accelerate"];
|
|
86
|
-
}
|
|
87
|
-
return ["kokoro==0.7.16", "soundfile", "misaki[zh]", "torch"];
|
|
88
|
-
}
|
|
89
|
-
async function checkRunnerPackagesInstalled(params) {
|
|
90
|
-
const args = ["-m", "pip", "show", ...params.packages.map((item) => item.replace(/\[.*\]$/, "").replace(/==.+$/, ""))];
|
|
91
|
-
const command = [params.pythonBin, ...args].join(" ");
|
|
92
|
-
try {
|
|
93
|
-
await execFileAsync(params.pythonBin, args, {
|
|
94
|
-
timeout: params.timeoutMs,
|
|
95
|
-
maxBuffer: 8 * 1024 * 1024,
|
|
96
|
-
});
|
|
97
|
-
return {
|
|
98
|
-
installed: true,
|
|
99
|
-
args,
|
|
100
|
-
command,
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
catch {
|
|
104
|
-
return {
|
|
105
|
-
installed: false,
|
|
106
|
-
args,
|
|
107
|
-
command,
|
|
108
|
-
};
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
async function installRunnerWithPython(params) {
|
|
112
|
-
const packages = getRunnerPackages(params.runner);
|
|
113
|
-
const checkStartedAt = Date.now();
|
|
114
|
-
const checkResult = await checkRunnerPackagesInstalled({
|
|
115
|
-
pythonBin: params.pythonBin,
|
|
116
|
-
packages,
|
|
117
|
-
timeoutMs: params.timeoutMs,
|
|
118
|
-
});
|
|
119
|
-
if (checkResult.installed) {
|
|
120
|
-
return {
|
|
121
|
-
success: true,
|
|
122
|
-
item: {
|
|
123
|
-
runner: params.runner,
|
|
124
|
-
pythonBin: params.pythonBin,
|
|
125
|
-
args: checkResult.args,
|
|
126
|
-
packages,
|
|
127
|
-
command: checkResult.command,
|
|
128
|
-
elapsedMs: Date.now() - checkStartedAt,
|
|
129
|
-
skipped: true,
|
|
130
|
-
skipReason: "already-installed",
|
|
131
|
-
},
|
|
132
|
-
};
|
|
133
|
-
}
|
|
134
|
-
const args = [
|
|
135
|
-
"-m",
|
|
136
|
-
"pip",
|
|
137
|
-
"install",
|
|
138
|
-
...(params.upgrade ? ["-U"] : []),
|
|
139
|
-
...packages,
|
|
140
|
-
];
|
|
141
|
-
const command = [params.pythonBin, ...args].join(" ");
|
|
142
|
-
const startedAt = Date.now();
|
|
143
|
-
try {
|
|
144
|
-
const { stdout, stderr } = await execFileAsync(params.pythonBin, args, {
|
|
145
|
-
timeout: params.timeoutMs,
|
|
146
|
-
maxBuffer: 8 * 1024 * 1024,
|
|
147
|
-
});
|
|
148
|
-
return {
|
|
149
|
-
success: true,
|
|
150
|
-
item: {
|
|
151
|
-
runner: params.runner,
|
|
152
|
-
pythonBin: params.pythonBin,
|
|
153
|
-
args,
|
|
154
|
-
packages,
|
|
155
|
-
command,
|
|
156
|
-
elapsedMs: Date.now() - startedAt,
|
|
157
|
-
stdoutTail: tailText(String(stdout || "")),
|
|
158
|
-
stderrTail: tailText(String(stderr || "")),
|
|
159
|
-
},
|
|
160
|
-
};
|
|
161
|
-
}
|
|
162
|
-
catch (error) {
|
|
163
|
-
const errorLike = error;
|
|
164
|
-
const reason = tailText(String(errorLike.stderr || "")) ||
|
|
165
|
-
tailText(String(errorLike.stdout || "")) ||
|
|
166
|
-
String(errorLike.message || error);
|
|
167
|
-
return {
|
|
168
|
-
success: false,
|
|
169
|
-
failure: {
|
|
170
|
-
runner: params.runner,
|
|
171
|
-
command,
|
|
172
|
-
reason,
|
|
173
|
-
},
|
|
174
|
-
};
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
export async function ensureTtsVirtualEnv(params) {
|
|
178
|
-
const venvDir = normalizeVenvDir(params.venvDir);
|
|
179
|
-
const basePythonBin = normalizePythonBin(params.basePythonBin);
|
|
180
|
-
const pythonBin = resolveTtsVenvPythonBin(venvDir);
|
|
181
|
-
if (await fs.pathExists(pythonBin)) {
|
|
182
|
-
return pythonBin;
|
|
183
|
-
}
|
|
184
|
-
await fs.ensureDir(venvDir);
|
|
185
|
-
await execFileAsync(basePythonBin, ["-m", "venv", venvDir], {
|
|
186
|
-
timeout: DEFAULT_PIP_TIMEOUT_MS,
|
|
187
|
-
maxBuffer: 8 * 1024 * 1024,
|
|
188
|
-
});
|
|
189
|
-
return pythonBin;
|
|
190
|
-
}
|
|
191
|
-
async function installAllRunners(params) {
|
|
192
|
-
const items = [];
|
|
193
|
-
const failures = [];
|
|
194
|
-
for (const runner of params.runners) {
|
|
195
|
-
const result = await installRunnerWithPython({
|
|
196
|
-
pythonBin: params.pythonBin,
|
|
197
|
-
runner,
|
|
198
|
-
upgrade: params.upgrade,
|
|
199
|
-
timeoutMs: params.timeoutMs,
|
|
200
|
-
});
|
|
201
|
-
if (result.success) {
|
|
202
|
-
items.push(result.item);
|
|
203
|
-
}
|
|
204
|
-
else {
|
|
205
|
-
failures.push(result.failure);
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
return {
|
|
209
|
-
success: failures.length === 0,
|
|
210
|
-
items,
|
|
211
|
-
failures,
|
|
212
|
-
};
|
|
213
|
-
}
|
|
214
|
-
/**
|
|
215
|
-
* 安装 TTS Python 依赖。
|
|
216
|
-
*/
|
|
217
|
-
export async function installTtsDependencies(input) {
|
|
218
|
-
const runners = dedupeRunners(input.runners);
|
|
219
|
-
const basePythonBin = normalizePythonBin(input.pythonBin);
|
|
220
|
-
const timeoutMs = normalizeTimeoutMs(input.timeoutMs);
|
|
221
|
-
const upgrade = input.upgrade === true;
|
|
222
|
-
const venvDir = normalizeVenvDir(input.venvDir);
|
|
223
|
-
const venvPythonBin = await ensureTtsVirtualEnv({
|
|
224
|
-
venvDir,
|
|
225
|
-
basePythonBin,
|
|
226
|
-
});
|
|
227
|
-
const venvAttempt = await installAllRunners({
|
|
228
|
-
pythonBin: venvPythonBin,
|
|
229
|
-
runners,
|
|
230
|
-
upgrade,
|
|
231
|
-
timeoutMs,
|
|
232
|
-
});
|
|
233
|
-
if (!venvAttempt.success) {
|
|
234
|
-
throw new Error(venvAttempt.failures
|
|
235
|
-
.map((item) => `${item.runner}: ${item.reason}`)
|
|
236
|
-
.join("\n"));
|
|
237
|
-
}
|
|
238
|
-
return {
|
|
239
|
-
pythonBin: venvPythonBin,
|
|
240
|
-
runners,
|
|
241
|
-
items: venvAttempt.items,
|
|
242
|
-
usedVirtualEnv: true,
|
|
243
|
-
venvDir,
|
|
244
|
-
basePythonBin,
|
|
245
|
-
};
|
|
246
|
-
}
|
|
247
|
-
/**
|
|
248
|
-
* 根据模型列表推导需要安装的 runner 集合。
|
|
249
|
-
*/
|
|
250
|
-
export function resolveTtsRunnersByModels(modelIds) {
|
|
251
|
-
const runners = new Set();
|
|
252
|
-
for (const modelId of modelIds) {
|
|
253
|
-
if (modelId === "qwen3-tts-0.6b") {
|
|
254
|
-
runners.add("qwen3");
|
|
255
|
-
continue;
|
|
256
|
-
}
|
|
257
|
-
runners.add("kokoro");
|
|
258
|
-
}
|
|
259
|
-
return [...runners];
|
|
260
|
-
}
|
|
261
|
-
//# sourceMappingURL=DependencyInstaller.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DependencyInstaller.js","sourceRoot":"","sources":["../../../src/tts/runtime/DependencyInstaller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* TTS 模型安装器。
|
|
3
|
-
*
|
|
4
|
-
* 关键点(中文)
|
|
5
|
-
* - 统一把 HuggingFace 资源下载到本地模型目录。
|
|
6
|
-
* - 支持“整仓下载”与“仅下载指定文件”两种模式。
|
|
7
|
-
*/
|
|
8
|
-
import type { TtsModelCatalogItem, TtsModelId } from "../../tts/types/Tts.js";
|
|
9
|
-
/**
|
|
10
|
-
* TTS 模型安装结果。
|
|
11
|
-
*/
|
|
12
|
-
export interface TtsModelInstallResult {
|
|
13
|
-
/**
|
|
14
|
-
* 模型目录(绝对路径)。
|
|
15
|
-
*/
|
|
16
|
-
modelDir: string;
|
|
17
|
-
/**
|
|
18
|
-
* 本次下载文件数。
|
|
19
|
-
*/
|
|
20
|
-
downloadedFiles: number;
|
|
21
|
-
/**
|
|
22
|
-
* 本次跳过文件数(已存在且未强制覆盖)。
|
|
23
|
-
*/
|
|
24
|
-
skippedFiles: number;
|
|
25
|
-
/**
|
|
26
|
-
* 本次实际下载的文件路径(相对模型目录)。
|
|
27
|
-
*/
|
|
28
|
-
downloadedFilePaths: string[];
|
|
29
|
-
/**
|
|
30
|
-
* 本次跳过的文件路径(相对模型目录)。
|
|
31
|
-
*/
|
|
32
|
-
skippedFilePaths: string[];
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* 判断模型在本地是否已安装。
|
|
36
|
-
*
|
|
37
|
-
* 关键点(中文)
|
|
38
|
-
* - 优先识别安装清单 `downcity.tts.install.json`。
|
|
39
|
-
* - 若无清单但目录非空,也视为已存在模型,避免重复下载。
|
|
40
|
-
*/
|
|
41
|
-
export declare function detectLocalTtsModelInstallState(input: {
|
|
42
|
-
/**
|
|
43
|
-
* 模型 ID。
|
|
44
|
-
*/
|
|
45
|
-
modelId: TtsModelId;
|
|
46
|
-
/**
|
|
47
|
-
* TTS 模型根目录。
|
|
48
|
-
*/
|
|
49
|
-
modelsRootDir: string;
|
|
50
|
-
}): Promise<{
|
|
51
|
-
/**
|
|
52
|
-
* 模型目录(绝对路径)。
|
|
53
|
-
*/
|
|
54
|
-
modelDir: string;
|
|
55
|
-
/**
|
|
56
|
-
* 是否判断为“已安装”。
|
|
57
|
-
*/
|
|
58
|
-
installed: boolean;
|
|
59
|
-
/**
|
|
60
|
-
* 已安装来源。
|
|
61
|
-
*/
|
|
62
|
-
source?: "manifest" | "directory";
|
|
63
|
-
}>;
|
|
64
|
-
/**
|
|
65
|
-
* 安装指定 TTS 模型到本地目录。
|
|
66
|
-
*
|
|
67
|
-
* 关键点(中文)
|
|
68
|
-
* - 使用 HTTP 文件级下载,不依赖 git-lfs。
|
|
69
|
-
* - 默认复用已有文件;`force=true` 时覆盖重下。
|
|
70
|
-
*/
|
|
71
|
-
export declare function installTtsModelFromHuggingFace(input: {
|
|
72
|
-
/**
|
|
73
|
-
* 目标模型目录项。
|
|
74
|
-
*/
|
|
75
|
-
model: TtsModelCatalogItem;
|
|
76
|
-
/**
|
|
77
|
-
* TTS 模型根目录。
|
|
78
|
-
*/
|
|
79
|
-
modelsRootDir: string;
|
|
80
|
-
/**
|
|
81
|
-
* 是否强制覆盖。
|
|
82
|
-
*/
|
|
83
|
-
force?: boolean;
|
|
84
|
-
/**
|
|
85
|
-
* HuggingFace Token(可选)。
|
|
86
|
-
*/
|
|
87
|
-
hfToken?: string;
|
|
88
|
-
}): Promise<TtsModelInstallResult>;
|
|
89
|
-
//# sourceMappingURL=Installer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Installer.d.ts","sourceRoot":"","sources":["../../../src/tts/runtime/Installer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAW1E;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B;;OAEG;IACH,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AA8FD;;;;;;GAMG;AACH,wBAAsB,+BAA+B,CAAC,KAAK,EAAE;IAC3D;;OAEG;IACH,OAAO,EAAE,UAAU,CAAC;IACpB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,OAAO,CAAC;IACV;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,MAAM,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC;CACnC,CAAC,CAoCD;AAED;;;;;;GAMG;AACH,wBAAsB,8BAA8B,CAAC,KAAK,EAAE;IAC1D;;OAEG;IACH,KAAK,EAAE,mBAAmB,CAAC;IAC3B;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA+DjC"}
|