zilmate 1.0.1 → 1.1.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.
- package/.env.example +9 -0
- package/README.md +65 -1
- package/dist/cli/doctor.d.ts +4 -0
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +12 -1
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/health.js +2 -0
- package/dist/cli/health.js.map +1 -1
- package/dist/cli/interactive.d.ts.map +1 -1
- package/dist/cli/interactive.js +31 -4
- package/dist/cli/interactive.js.map +1 -1
- package/dist/cli/menu.d.ts +1 -0
- package/dist/cli/menu.d.ts.map +1 -1
- package/dist/cli/menu.js +54 -0
- package/dist/cli/menu.js.map +1 -1
- package/dist/cli/setup.d.ts +7 -0
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +177 -10
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/update.d.ts +8 -0
- package/dist/cli/update.d.ts.map +1 -0
- package/dist/cli/update.js +94 -0
- package/dist/cli/update.js.map +1 -0
- package/dist/cli/voice.d.ts +5 -0
- package/dist/cli/voice.d.ts.map +1 -0
- package/dist/cli/voice.js +58 -0
- package/dist/cli/voice.js.map +1 -0
- package/dist/cli/welcome.d.ts.map +1 -1
- package/dist/cli/welcome.js +18 -0
- package/dist/cli/welcome.js.map +1 -1
- package/dist/config/env.d.ts +11 -0
- package/dist/config/env.d.ts.map +1 -1
- package/dist/config/env.js +18 -0
- package/dist/config/env.js.map +1 -1
- package/dist/index.js +158 -4
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts +4 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +12 -0
- package/dist/server.js.map +1 -1
- package/dist/voice/deepgram.d.ts +29 -0
- package/dist/voice/deepgram.d.ts.map +1 -0
- package/dist/voice/deepgram.js +207 -0
- package/dist/voice/deepgram.js.map +1 -0
- package/dist/voice/types.d.ts +43 -0
- package/dist/voice/types.d.ts.map +1 -0
- package/dist/voice/types.js +2 -0
- package/dist/voice/types.js.map +1 -0
- package/package.json +3 -1
package/dist/cli/setup.js
CHANGED
|
@@ -78,6 +78,15 @@ function buildEnv(values) {
|
|
|
78
78
|
['ZILMATE_PUBLIC_JOB_WEBHOOK_URL', values.get('ZILMATE_PUBLIC_JOB_WEBHOOK_URL') || ''],
|
|
79
79
|
['ZILMATE_JOB_WEBHOOK_SECRET', values.get('ZILMATE_JOB_WEBHOOK_SECRET') || ''],
|
|
80
80
|
['ZILMATE_TRIGGER_WORKFLOWS_ENABLED', values.get('ZILMATE_TRIGGER_WORKFLOWS_ENABLED') || 'false'],
|
|
81
|
+
['DEEPGRAM_API_KEY', values.get('DEEPGRAM_API_KEY') || ''],
|
|
82
|
+
['ZILMATE_VOICE_ENABLED', values.get('ZILMATE_VOICE_ENABLED') || 'false'],
|
|
83
|
+
['ZILMATE_VOICE_MODE', values.get('ZILMATE_VOICE_MODE') || 'agent'],
|
|
84
|
+
['ZILMATE_VOICE_LISTEN_MODEL', values.get('ZILMATE_VOICE_LISTEN_MODEL') || 'flux-general-en'],
|
|
85
|
+
['ZILMATE_VOICE_LISTEN_VERSION', values.get('ZILMATE_VOICE_LISTEN_VERSION') || 'v2'],
|
|
86
|
+
['ZILMATE_VOICE_TTS_MODEL', values.get('ZILMATE_VOICE_TTS_MODEL') || 'aura-2-thalia-en'],
|
|
87
|
+
['ZILMATE_VOICE_LANGUAGE', values.get('ZILMATE_VOICE_LANGUAGE') || 'en'],
|
|
88
|
+
['ZILMATE_VOICE_LANGUAGE_HINTS', values.get('ZILMATE_VOICE_LANGUAGE_HINTS') || ''],
|
|
89
|
+
['ZILMATE_VOICE_BARGE_IN', values.get('ZILMATE_VOICE_BARGE_IN') || 'true'],
|
|
81
90
|
['ZILO_MANAGER_MODEL', values.get('ZILO_MANAGER_MODEL') || defaults.ZILO_MANAGER_MODEL],
|
|
82
91
|
['ZILO_HELP_MODEL', values.get('ZILO_HELP_MODEL') || defaults.ZILO_HELP_MODEL],
|
|
83
92
|
['ZILO_POST_MODEL', values.get('ZILO_POST_MODEL') || defaults.ZILO_POST_MODEL],
|
|
@@ -88,14 +97,37 @@ function buildEnv(values) {
|
|
|
88
97
|
];
|
|
89
98
|
return `${lines.map(([key, value]) => `${key}=${formatEnvValue(value)}`).join('\n')}\n`;
|
|
90
99
|
}
|
|
100
|
+
function printSetupPrep() {
|
|
101
|
+
printPanel('Before setup starts', [
|
|
102
|
+
['Required', 'AI Gateway key'],
|
|
103
|
+
['Apps/tools', 'Composio key if you want Gmail, Slack, GitHub, Notion, etc.'],
|
|
104
|
+
['Web research', 'Tavily key if you want live web research'],
|
|
105
|
+
['Memory/jobs', 'Upstash Redis keys if you want cloud-backed storage'],
|
|
106
|
+
['Hosted schedules', 'QStash token and public webhook URL if needed'],
|
|
107
|
+
['Voice', 'Deepgram key if you want realtime voice'],
|
|
108
|
+
]);
|
|
109
|
+
console.log(chalk.gray('You can skip any optional section and run setup again later.'));
|
|
110
|
+
}
|
|
111
|
+
async function readEnvValues(envPath) {
|
|
112
|
+
return existsSync(envPath) ? parseEnvFile(await readFile(envPath, 'utf8')) : new Map();
|
|
113
|
+
}
|
|
114
|
+
async function writeEnvValues(envPath, values) {
|
|
115
|
+
for (const [key, value] of Object.entries(defaults)) {
|
|
116
|
+
if (!values.has(key))
|
|
117
|
+
values.set(key, value);
|
|
118
|
+
}
|
|
119
|
+
await writeFile(envPath, buildEnv(values), 'utf8');
|
|
120
|
+
}
|
|
91
121
|
export async function runSetup(options = {}) {
|
|
92
122
|
const envPath = options.path || '.env';
|
|
93
|
-
const existing =
|
|
123
|
+
const existing = await readEnvValues(envPath);
|
|
94
124
|
const rl = readline.createInterface({ input, output });
|
|
95
125
|
try {
|
|
96
126
|
printZilMateBanner('Setup');
|
|
97
127
|
console.log(chalk.gray(`Writing local environment config to ${envPath}`));
|
|
98
|
-
console.log(chalk.gray('Only AI Gateway is required.
|
|
128
|
+
console.log(chalk.gray('Only AI Gateway is required. Everything else can be skipped, enabled, disabled, or changed later.'));
|
|
129
|
+
if (!options.yes)
|
|
130
|
+
printSetupPrep();
|
|
99
131
|
if (existing.size > 0 && !options.force && !options.yes) {
|
|
100
132
|
const overwrite = await askYesNo(rl, `${envPath} already exists. Update it?`, false);
|
|
101
133
|
if (!overwrite) {
|
|
@@ -126,6 +158,18 @@ export async function runSetup(options = {}) {
|
|
|
126
158
|
values.set('ZILMATE_JOB_WEBHOOK_SECRET', options.jobWebhookSecret);
|
|
127
159
|
if (options.triggerWorkflowsEnabled !== undefined)
|
|
128
160
|
values.set('ZILMATE_TRIGGER_WORKFLOWS_ENABLED', normalizeBooleanOption(options.triggerWorkflowsEnabled) ? 'true' : 'false');
|
|
161
|
+
if (options.deepgramApiKey !== undefined)
|
|
162
|
+
values.set('DEEPGRAM_API_KEY', options.deepgramApiKey);
|
|
163
|
+
if (options.voiceEnabled !== undefined)
|
|
164
|
+
values.set('ZILMATE_VOICE_ENABLED', normalizeBooleanOption(options.voiceEnabled) ? 'true' : 'false');
|
|
165
|
+
if (options.voiceListenModel !== undefined) {
|
|
166
|
+
values.set('ZILMATE_VOICE_LISTEN_MODEL', options.voiceListenModel);
|
|
167
|
+
values.set('ZILMATE_VOICE_LISTEN_VERSION', options.voiceListenModel.startsWith('flux-') ? 'v2' : 'v1');
|
|
168
|
+
}
|
|
169
|
+
if (options.voiceTtsModel !== undefined)
|
|
170
|
+
values.set('ZILMATE_VOICE_TTS_MODEL', options.voiceTtsModel);
|
|
171
|
+
if (options.voiceLanguage !== undefined)
|
|
172
|
+
values.set('ZILMATE_VOICE_LANGUAGE', options.voiceLanguage);
|
|
129
173
|
const currentGatewayKey = values.get('AI_GATEWAY_API_KEY');
|
|
130
174
|
if (options.aiGatewayKey) {
|
|
131
175
|
values.set('AI_GATEWAY_API_KEY', options.aiGatewayKey);
|
|
@@ -144,18 +188,28 @@ export async function runSetup(options = {}) {
|
|
|
144
188
|
if (!values.get('ZILMATE_USER_ID')) {
|
|
145
189
|
values.set('ZILMATE_USER_ID', `zilmate-${randomUUID()}`);
|
|
146
190
|
}
|
|
147
|
-
if (!options.yes && options.composioKey === undefined && await askYesNo(rl, '
|
|
191
|
+
if (!options.yes && options.composioKey === undefined && await askYesNo(rl, 'Enable Composio app tools?', Boolean(values.get('COMPOSIO_API_KEY')))) {
|
|
148
192
|
const composioKey = await askOptionalSecret(rl, 'COMPOSIO_API_KEY (blank to skip): ');
|
|
149
193
|
values.set('COMPOSIO_API_KEY', composioKey);
|
|
150
194
|
}
|
|
151
|
-
if (!options.yes && options.
|
|
195
|
+
else if (!options.yes && options.composioKey === undefined) {
|
|
196
|
+
values.set('COMPOSIO_API_KEY', '');
|
|
197
|
+
}
|
|
198
|
+
if (!options.yes && options.tavilyKey === undefined && await askYesNo(rl, 'Enable Tavily web research?', Boolean(values.get('TAVILY_API_KEY')))) {
|
|
152
199
|
const tavilyKey = await askOptionalSecret(rl, 'TAVILY_API_KEY (blank to skip): ');
|
|
153
200
|
values.set('TAVILY_API_KEY', tavilyKey);
|
|
154
201
|
}
|
|
155
|
-
if (!options.yes && options.
|
|
202
|
+
else if (!options.yes && options.tavilyKey === undefined) {
|
|
203
|
+
values.set('TAVILY_API_KEY', '');
|
|
204
|
+
}
|
|
205
|
+
if (!options.yes && options.redisUrl === undefined && options.redisToken === undefined && await askYesNo(rl, 'Enable Upstash Redis memory/job storage?', Boolean(values.get('UPSTASH_REDIS_REST_URL') && values.get('UPSTASH_REDIS_REST_TOKEN')))) {
|
|
156
206
|
values.set('UPSTASH_REDIS_REST_URL', (await rl.question('UPSTASH_REDIS_REST_URL: ')).trim());
|
|
157
207
|
values.set('UPSTASH_REDIS_REST_TOKEN', await askOptionalSecret(rl, 'UPSTASH_REDIS_REST_TOKEN: '));
|
|
158
208
|
}
|
|
209
|
+
else if (!options.yes && options.redisUrl === undefined && options.redisToken === undefined) {
|
|
210
|
+
values.set('UPSTASH_REDIS_REST_URL', '');
|
|
211
|
+
values.set('UPSTASH_REDIS_REST_TOKEN', '');
|
|
212
|
+
}
|
|
159
213
|
if (!options.yes && options.jobsEnabled === undefined) {
|
|
160
214
|
console.log(chalk.cyan('\nBackground jobs'));
|
|
161
215
|
console.log(chalk.gray('Local jobs keep running after chat closes while `zilmate jobs worker` is open. They stop if the laptop sleeps or shuts down.'));
|
|
@@ -168,13 +222,17 @@ export async function runSetup(options = {}) {
|
|
|
168
222
|
if (!options.yes && options.qstashToken === undefined) {
|
|
169
223
|
console.log(chalk.cyan('\nHosted schedules'));
|
|
170
224
|
console.log(chalk.gray('Use QStash only when you have a hosted public webhook. This is what allows schedules to fire while your laptop is closed.'));
|
|
171
|
-
if (await askYesNo(rl, '
|
|
225
|
+
if (await askYesNo(rl, 'Enable Upstash QStash hosted schedules?', Boolean(values.get('UPSTASH_QSTASH_TOKEN')))) {
|
|
172
226
|
values.set('UPSTASH_QSTASH_TOKEN', await askOptionalSecret(rl, 'UPSTASH_QSTASH_TOKEN (blank to skip): '));
|
|
173
227
|
values.set('ZILMATE_PUBLIC_JOB_WEBHOOK_URL', (await rl.question('ZILMATE_PUBLIC_JOB_WEBHOOK_URL (blank for local only): ')).trim());
|
|
174
228
|
const existingSecret = values.get('ZILMATE_JOB_WEBHOOK_SECRET');
|
|
175
229
|
const secret = await askOptionalSecret(rl, `ZILMATE_JOB_WEBHOOK_SECRET (blank to ${existingSecret ? 'keep existing' : 'auto-generate'}): `);
|
|
176
230
|
values.set('ZILMATE_JOB_WEBHOOK_SECRET', secret || existingSecret || newWebhookSecret());
|
|
177
231
|
}
|
|
232
|
+
else {
|
|
233
|
+
values.set('UPSTASH_QSTASH_TOKEN', '');
|
|
234
|
+
values.set('ZILMATE_PUBLIC_JOB_WEBHOOK_URL', '');
|
|
235
|
+
}
|
|
178
236
|
}
|
|
179
237
|
if (!options.yes && options.triggerWorkflowsEnabled === undefined) {
|
|
180
238
|
console.log(chalk.cyan('\nComposio trigger workflows'));
|
|
@@ -198,11 +256,41 @@ export async function runSetup(options = {}) {
|
|
|
198
256
|
else if (!values.has('ZILMATE_TRIGGER_WORKFLOWS_ENABLED')) {
|
|
199
257
|
values.set('ZILMATE_TRIGGER_WORKFLOWS_ENABLED', 'false');
|
|
200
258
|
}
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
259
|
+
if (!options.yes && options.voiceEnabled === undefined) {
|
|
260
|
+
console.log(chalk.cyan('\nRealtime voice'));
|
|
261
|
+
console.log(chalk.gray('Voice mode uses Deepgram Agent API with Flux V2 for fast listening/end-of-turn and Aura-2 for spoken replies. It can be skipped.'));
|
|
262
|
+
const enableVoice = await askYesNo(rl, 'Enable realtime voice mode?', values.get('ZILMATE_VOICE_ENABLED') === 'true');
|
|
263
|
+
values.set('ZILMATE_VOICE_ENABLED', enableVoice ? 'true' : 'false');
|
|
264
|
+
if (enableVoice) {
|
|
265
|
+
const deepgramKey = options.deepgramApiKey ?? await askOptionalSecret(rl, 'DEEPGRAM_API_KEY (blank to configure later): ');
|
|
266
|
+
if (deepgramKey)
|
|
267
|
+
values.set('DEEPGRAM_API_KEY', deepgramKey);
|
|
268
|
+
const listenModel = (await rl.question(`Listen model (${values.get('ZILMATE_VOICE_LISTEN_MODEL') || 'flux-general-en'}): `)).trim();
|
|
269
|
+
if (listenModel) {
|
|
270
|
+
values.set('ZILMATE_VOICE_LISTEN_MODEL', listenModel);
|
|
271
|
+
values.set('ZILMATE_VOICE_LISTEN_VERSION', listenModel.startsWith('flux-') ? 'v2' : 'v1');
|
|
272
|
+
}
|
|
273
|
+
else if (!values.get('ZILMATE_VOICE_LISTEN_MODEL')) {
|
|
274
|
+
values.set('ZILMATE_VOICE_LISTEN_MODEL', 'flux-general-en');
|
|
275
|
+
values.set('ZILMATE_VOICE_LISTEN_VERSION', 'v2');
|
|
276
|
+
}
|
|
277
|
+
const ttsModel = (await rl.question(`TTS voice (${values.get('ZILMATE_VOICE_TTS_MODEL') || 'aura-2-thalia-en'}): `)).trim();
|
|
278
|
+
if (ttsModel)
|
|
279
|
+
values.set('ZILMATE_VOICE_TTS_MODEL', ttsModel);
|
|
280
|
+
const language = (await rl.question(`Language (${values.get('ZILMATE_VOICE_LANGUAGE') || 'en'}): `)).trim();
|
|
281
|
+
if (language)
|
|
282
|
+
values.set('ZILMATE_VOICE_LANGUAGE', language);
|
|
283
|
+
values.set('ZILMATE_VOICE_MODE', 'agent');
|
|
284
|
+
values.set('ZILMATE_VOICE_BARGE_IN', 'true');
|
|
285
|
+
}
|
|
286
|
+
else {
|
|
287
|
+
console.log(chalk.gray('Voice disabled. Run `zilmate voice setup` or `zilmate voice enable` when you want it.'));
|
|
288
|
+
}
|
|
204
289
|
}
|
|
205
|
-
|
|
290
|
+
else if (!values.has('ZILMATE_VOICE_ENABLED')) {
|
|
291
|
+
values.set('ZILMATE_VOICE_ENABLED', 'false');
|
|
292
|
+
}
|
|
293
|
+
await writeEnvValues(envPath, values);
|
|
206
294
|
console.log(chalk.green(`Saved ${envPath}.`));
|
|
207
295
|
printPanel('Setup summary', [
|
|
208
296
|
['Gateway', values.get('AI_GATEWAY_API_KEY') ? 'configured' : 'missing'],
|
|
@@ -212,6 +300,7 @@ export async function runSetup(options = {}) {
|
|
|
212
300
|
['Jobs', values.get('ZILMATE_JOBS_ENABLED') === 'true' ? 'enabled' : 'disabled'],
|
|
213
301
|
['QStash', values.get('UPSTASH_QSTASH_TOKEN') && values.get('ZILMATE_PUBLIC_JOB_WEBHOOK_URL') ? 'configured' : 'local schedules only'],
|
|
214
302
|
['Trigger workflows', values.get('ZILMATE_TRIGGER_WORKFLOWS_ENABLED') === 'true' ? 'enabled' : 'disabled'],
|
|
303
|
+
['Voice', values.get('ZILMATE_VOICE_ENABLED') === 'true' ? values.get('DEEPGRAM_API_KEY') ? 'enabled' : 'enabled, missing Deepgram key' : 'disabled'],
|
|
215
304
|
]);
|
|
216
305
|
console.log(chalk.gray('\nNext steps:'));
|
|
217
306
|
console.log(chalk.gray(' zilmate ping'));
|
|
@@ -222,9 +311,87 @@ export async function runSetup(options = {}) {
|
|
|
222
311
|
if (values.get('COMPOSIO_API_KEY')) {
|
|
223
312
|
console.log(chalk.gray(' zilmate apps status'));
|
|
224
313
|
}
|
|
314
|
+
console.log(chalk.gray(' zilmate voice doctor'));
|
|
225
315
|
}
|
|
226
316
|
finally {
|
|
227
317
|
rl.close();
|
|
228
318
|
}
|
|
229
319
|
}
|
|
320
|
+
export async function runVoiceSetup(options = {}) {
|
|
321
|
+
const envPath = options.path || '.env';
|
|
322
|
+
const existing = await readEnvValues(envPath);
|
|
323
|
+
const rl = readline.createInterface({ input, output });
|
|
324
|
+
try {
|
|
325
|
+
printZilMateBanner('Voice setup');
|
|
326
|
+
console.log(chalk.gray('This turns on realtime voice without walking through every other ZilMate setup step.'));
|
|
327
|
+
console.log(chalk.gray('Defaults use Deepgram Flux V2 for fast listening and Aura-2 for spoken replies.'));
|
|
328
|
+
if (existing.size > 0 && !options.force) {
|
|
329
|
+
const update = await askYesNo(rl, `${envPath} already exists. Update voice settings?`, true);
|
|
330
|
+
if (!update) {
|
|
331
|
+
console.log(chalk.yellow('Voice setup cancelled. Existing .env was left unchanged.'));
|
|
332
|
+
return;
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
const values = new Map(existing);
|
|
336
|
+
values.set('ZILMATE_VOICE_ENABLED', 'true');
|
|
337
|
+
values.set('ZILMATE_VOICE_MODE', 'agent');
|
|
338
|
+
values.set('ZILMATE_VOICE_BARGE_IN', 'true');
|
|
339
|
+
const currentKey = options.deepgramApiKey ?? values.get('DEEPGRAM_API_KEY') ?? '';
|
|
340
|
+
if (options.deepgramApiKey) {
|
|
341
|
+
values.set('DEEPGRAM_API_KEY', options.deepgramApiKey);
|
|
342
|
+
}
|
|
343
|
+
else if (currentKey) {
|
|
344
|
+
const replace = await askYesNo(rl, 'DEEPGRAM_API_KEY already exists. Replace it?', false);
|
|
345
|
+
if (replace)
|
|
346
|
+
values.set('DEEPGRAM_API_KEY', await askRequiredSecret(rl, 'DEEPGRAM_API_KEY: '));
|
|
347
|
+
}
|
|
348
|
+
else {
|
|
349
|
+
values.set('DEEPGRAM_API_KEY', await askRequiredSecret(rl, 'DEEPGRAM_API_KEY: '));
|
|
350
|
+
}
|
|
351
|
+
const currentListenModel = options.voiceListenModel ?? values.get('ZILMATE_VOICE_LISTEN_MODEL') ?? 'flux-general-en';
|
|
352
|
+
const listenModel = options.voiceListenModel ?? ((await rl.question(`Listen model (${currentListenModel}): `)).trim() || currentListenModel);
|
|
353
|
+
values.set('ZILMATE_VOICE_LISTEN_MODEL', listenModel);
|
|
354
|
+
values.set('ZILMATE_VOICE_LISTEN_VERSION', listenModel.startsWith('flux-') ? 'v2' : 'v1');
|
|
355
|
+
const currentTtsModel = options.voiceTtsModel ?? values.get('ZILMATE_VOICE_TTS_MODEL') ?? 'aura-2-thalia-en';
|
|
356
|
+
values.set('ZILMATE_VOICE_TTS_MODEL', options.voiceTtsModel ?? ((await rl.question(`TTS voice (${currentTtsModel}): `)).trim() || currentTtsModel));
|
|
357
|
+
const currentLanguage = options.voiceLanguage ?? values.get('ZILMATE_VOICE_LANGUAGE') ?? 'en';
|
|
358
|
+
values.set('ZILMATE_VOICE_LANGUAGE', options.voiceLanguage ?? ((await rl.question(`Language (${currentLanguage}): `)).trim() || currentLanguage));
|
|
359
|
+
if (!values.has('ZILMATE_VOICE_LANGUAGE_HINTS'))
|
|
360
|
+
values.set('ZILMATE_VOICE_LANGUAGE_HINTS', '');
|
|
361
|
+
await writeEnvValues(envPath, values);
|
|
362
|
+
console.log(chalk.green(`Saved voice settings to ${envPath}.`));
|
|
363
|
+
printPanel('Voice summary', [
|
|
364
|
+
['Voice', 'enabled'],
|
|
365
|
+
['Deepgram', values.get('DEEPGRAM_API_KEY') ? 'configured' : 'missing'],
|
|
366
|
+
['Listen model', `${values.get('ZILMATE_VOICE_LISTEN_MODEL')} (${values.get('ZILMATE_VOICE_LISTEN_VERSION')})`],
|
|
367
|
+
['TTS voice', values.get('ZILMATE_VOICE_TTS_MODEL') || 'aura-2-thalia-en'],
|
|
368
|
+
['Language', values.get('ZILMATE_VOICE_LANGUAGE') || 'en'],
|
|
369
|
+
]);
|
|
370
|
+
console.log(chalk.gray('\nNext steps:'));
|
|
371
|
+
console.log(chalk.gray(' zilmate voice doctor'));
|
|
372
|
+
console.log(chalk.gray(' zilmate voice config'));
|
|
373
|
+
}
|
|
374
|
+
finally {
|
|
375
|
+
rl.close();
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
export async function setVoiceEnabled(enabled, options = {}) {
|
|
379
|
+
const envPath = options.path || '.env';
|
|
380
|
+
const values = await readEnvValues(envPath);
|
|
381
|
+
values.set('ZILMATE_VOICE_ENABLED', enabled ? 'true' : 'false');
|
|
382
|
+
if (enabled) {
|
|
383
|
+
values.set('ZILMATE_VOICE_MODE', values.get('ZILMATE_VOICE_MODE') || 'agent');
|
|
384
|
+
values.set('ZILMATE_VOICE_LISTEN_MODEL', values.get('ZILMATE_VOICE_LISTEN_MODEL') || 'flux-general-en');
|
|
385
|
+
values.set('ZILMATE_VOICE_LISTEN_VERSION', values.get('ZILMATE_VOICE_LISTEN_VERSION') || 'v2');
|
|
386
|
+
values.set('ZILMATE_VOICE_TTS_MODEL', values.get('ZILMATE_VOICE_TTS_MODEL') || 'aura-2-thalia-en');
|
|
387
|
+
values.set('ZILMATE_VOICE_LANGUAGE', values.get('ZILMATE_VOICE_LANGUAGE') || 'en');
|
|
388
|
+
values.set('ZILMATE_VOICE_BARGE_IN', values.get('ZILMATE_VOICE_BARGE_IN') || 'true');
|
|
389
|
+
}
|
|
390
|
+
await writeEnvValues(envPath, values);
|
|
391
|
+
printPanel('Voice', [
|
|
392
|
+
['Status', enabled ? 'enabled' : 'disabled'],
|
|
393
|
+
['Deepgram', values.get('DEEPGRAM_API_KEY') ? 'configured' : 'missing'],
|
|
394
|
+
['Next', enabled ? values.get('DEEPGRAM_API_KEY') ? 'zilmate voice doctor' : 'zilmate voice setup' : 'zilmate voice enable'],
|
|
395
|
+
]);
|
|
396
|
+
}
|
|
230
397
|
//# sourceMappingURL=setup.js.map
|
package/dist/cli/setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare function compareVersions(left: string, right: string): number;
|
|
2
|
+
export declare function latestNpmVersion(): Promise<string>;
|
|
3
|
+
export declare function printVersionStatus(currentVersion: string): Promise<void>;
|
|
4
|
+
export declare function runSelfUpdate(options?: {
|
|
5
|
+
tag?: string;
|
|
6
|
+
dryRun?: boolean;
|
|
7
|
+
}): Promise<void>;
|
|
8
|
+
//# sourceMappingURL=update.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/cli/update.ts"],"names":[],"mappings":"AAoBA,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,UAQ1D;AAED,wBAAsB,gBAAgB,oBAKrC;AAED,wBAAsB,kBAAkB,CAAC,cAAc,EAAE,MAAM,iBAkB9D;AAED,wBAAsB,aAAa,CAAC,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,iBAuCnF"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { exec, execFile } from 'node:child_process';
|
|
2
|
+
import { promisify } from 'node:util';
|
|
3
|
+
import { printPanel } from './format.js';
|
|
4
|
+
const execFileAsync = promisify(execFile);
|
|
5
|
+
const execAsync = promisify(exec);
|
|
6
|
+
const packageName = 'zilmate';
|
|
7
|
+
function npmCommand() {
|
|
8
|
+
return process.platform === 'win32' ? 'npm.cmd' : 'npm';
|
|
9
|
+
}
|
|
10
|
+
function parseVersion(version) {
|
|
11
|
+
return version
|
|
12
|
+
.trim()
|
|
13
|
+
.replace(/^v/, '')
|
|
14
|
+
.split('.')
|
|
15
|
+
.map((part) => Number.parseInt(part, 10) || 0);
|
|
16
|
+
}
|
|
17
|
+
export function compareVersions(left, right) {
|
|
18
|
+
const a = parseVersion(left);
|
|
19
|
+
const b = parseVersion(right);
|
|
20
|
+
for (let index = 0; index < Math.max(a.length, b.length); index += 1) {
|
|
21
|
+
const diff = (a[index] ?? 0) - (b[index] ?? 0);
|
|
22
|
+
if (diff !== 0)
|
|
23
|
+
return diff;
|
|
24
|
+
}
|
|
25
|
+
return 0;
|
|
26
|
+
}
|
|
27
|
+
export async function latestNpmVersion() {
|
|
28
|
+
const { stdout } = process.platform === 'win32'
|
|
29
|
+
? await execAsync(`${npmCommand()} view ${packageName} version`, { windowsHide: true, timeout: 30_000 })
|
|
30
|
+
: await execFileAsync(npmCommand(), ['view', packageName, 'version'], { windowsHide: true, timeout: 30_000 });
|
|
31
|
+
return stdout.trim();
|
|
32
|
+
}
|
|
33
|
+
export async function printVersionStatus(currentVersion) {
|
|
34
|
+
try {
|
|
35
|
+
const latest = await latestNpmVersion();
|
|
36
|
+
const comparison = compareVersions(currentVersion, latest);
|
|
37
|
+
printPanel('ZilMate version', [
|
|
38
|
+
['Current', currentVersion],
|
|
39
|
+
['Latest', latest],
|
|
40
|
+
['Status', comparison < 0 ? 'update available' : 'up to date'],
|
|
41
|
+
['Update', comparison < 0 ? 'zilmate update' : '-'],
|
|
42
|
+
]);
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
printPanel('ZilMate version', [
|
|
46
|
+
['Current', currentVersion],
|
|
47
|
+
['Latest', 'could not check npm'],
|
|
48
|
+
['Status', error instanceof Error ? error.message : String(error)],
|
|
49
|
+
['Manual', 'npm install -g zilmate@latest'],
|
|
50
|
+
]);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
export async function runSelfUpdate(options = {}) {
|
|
54
|
+
const tag = options.tag || 'latest';
|
|
55
|
+
if (!/^[A-Za-z0-9._-]+$/.test(tag)) {
|
|
56
|
+
throw new Error('Update tag can only contain letters, numbers, dot, underscore, or dash.');
|
|
57
|
+
}
|
|
58
|
+
const spec = `${packageName}@${tag}`;
|
|
59
|
+
const args = ['install', '-g', spec];
|
|
60
|
+
if (options.dryRun) {
|
|
61
|
+
printPanel('Update dry run', [
|
|
62
|
+
['Command', `${npmCommand()} ${args.join(' ')}`],
|
|
63
|
+
['Run', 'zilmate update'],
|
|
64
|
+
]);
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
printPanel('Updating ZilMate', [
|
|
68
|
+
['Package', spec],
|
|
69
|
+
['Command', `${npmCommand()} ${args.join(' ')}`],
|
|
70
|
+
]);
|
|
71
|
+
try {
|
|
72
|
+
const result = process.platform === 'win32'
|
|
73
|
+
? await execAsync(`${npmCommand()} ${args.join(' ')}`, { windowsHide: true, timeout: 120_000 })
|
|
74
|
+
: await execFileAsync(npmCommand(), args, { windowsHide: true, timeout: 120_000 });
|
|
75
|
+
const { stdout, stderr } = result;
|
|
76
|
+
if (stdout.trim())
|
|
77
|
+
console.log(stdout.trim());
|
|
78
|
+
if (stderr.trim())
|
|
79
|
+
console.error(stderr.trim());
|
|
80
|
+
printPanel('Update complete', [
|
|
81
|
+
['Verify', 'zilmate --version'],
|
|
82
|
+
['Health', 'zilmate doctor'],
|
|
83
|
+
]);
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
const detail = error instanceof Error ? error.message : String(error);
|
|
87
|
+
printPanel('Update failed', [
|
|
88
|
+
['Reason', detail],
|
|
89
|
+
['Try', `${npmCommand()} install -g ${spec}`],
|
|
90
|
+
]);
|
|
91
|
+
throw error;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/cli/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare function printVoiceConfig(): void;
|
|
2
|
+
export declare function runVoiceDoctor(): Promise<void>;
|
|
3
|
+
export declare function runVoiceTurn(message: string, sessionId?: string): Promise<void>;
|
|
4
|
+
export declare function runVoiceAgentProbe(): Promise<void>;
|
|
5
|
+
//# sourceMappingURL=voice.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"voice.d.ts","sourceRoot":"","sources":["../../src/cli/voice.ts"],"names":[],"mappings":"AAUA,wBAAgB,gBAAgB,SAY/B;AAED,wBAAsB,cAAc,kBAOnC;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,SAAkB,iBAK9E;AAED,wBAAsB,kBAAkB,kBAoBvC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import { runManager } from '../agents/manager.js';
|
|
3
|
+
import { printPanel, printProgress, printTable } from './format.js';
|
|
4
|
+
import { checkVoiceRuntime, getVoiceConfig, startDeepgramVoiceAgentSession } from '../voice/deepgram.js';
|
|
5
|
+
function yesNo(value) {
|
|
6
|
+
return value ? 'yes' : 'no';
|
|
7
|
+
}
|
|
8
|
+
export function printVoiceConfig() {
|
|
9
|
+
const config = getVoiceConfig();
|
|
10
|
+
printPanel('Realtime voice', [
|
|
11
|
+
['Enabled', yesNo(config.enabled)],
|
|
12
|
+
['Configured', yesNo(config.configured)],
|
|
13
|
+
['Mode', config.mode],
|
|
14
|
+
['Listen model', `${config.listenModel} (${config.listenVersion})`],
|
|
15
|
+
['TTS model', config.ttsModel],
|
|
16
|
+
['Language', config.language],
|
|
17
|
+
['Language hints', config.languageHints.join(', ') || '-'],
|
|
18
|
+
['Barge-in', yesNo(config.bargeIn)],
|
|
19
|
+
]);
|
|
20
|
+
}
|
|
21
|
+
export async function runVoiceDoctor() {
|
|
22
|
+
const checks = await checkVoiceRuntime();
|
|
23
|
+
printTable(['Check', 'Status', 'Detail'], checks.map((check) => [
|
|
24
|
+
check.name,
|
|
25
|
+
check.ok ? 'pass' : 'warn',
|
|
26
|
+
check.detail,
|
|
27
|
+
]));
|
|
28
|
+
}
|
|
29
|
+
export async function runVoiceTurn(message, sessionId = 'voice-default') {
|
|
30
|
+
printProgress({ type: 'thinking', label: 'Voice brain turn', detail: 'Routing transcript through ZilMate manager' });
|
|
31
|
+
const text = await runManager(message, { sessionId, progress: printProgress });
|
|
32
|
+
console.log(chalk.bold.cyan('\nZilMate voice reply'));
|
|
33
|
+
console.log(text);
|
|
34
|
+
}
|
|
35
|
+
export async function runVoiceAgentProbe() {
|
|
36
|
+
const events = [];
|
|
37
|
+
await startDeepgramVoiceAgentSession({
|
|
38
|
+
onEvent: (event) => {
|
|
39
|
+
events.push(event);
|
|
40
|
+
if (event.type === 'error') {
|
|
41
|
+
console.log(chalk.red(`! ${event.message}`));
|
|
42
|
+
}
|
|
43
|
+
else if (event.type === 'status') {
|
|
44
|
+
console.log(chalk.gray(`${event.label}${event.detail ? ` — ${event.detail}` : ''}`));
|
|
45
|
+
}
|
|
46
|
+
else if (event.type === 'transcript') {
|
|
47
|
+
console.log(`${chalk.cyan(event.role)} ${event.text}`);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
console.log(chalk.gray(`audio ${event.bytes} bytes`));
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
if (events.length === 0) {
|
|
55
|
+
console.log(chalk.yellow('No voice events received.'));
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=voice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"voice.js","sourceRoot":"","sources":["../../src/cli/voice.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"welcome.d.ts","sourceRoot":"","sources":["../../src/cli/welcome.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"welcome.d.ts","sourceRoot":"","sources":["../../src/cli/welcome.ts"],"names":[],"mappings":"AAIA,wBAAsB,kBAAkB,kBAqCvC"}
|
package/dist/cli/welcome.js
CHANGED
|
@@ -1,8 +1,22 @@
|
|
|
1
1
|
import { getResolvedConfigSummary } from './doctor.js';
|
|
2
2
|
import { printPanel, printTable, printZilMateBanner, statusText } from './format.js';
|
|
3
|
+
import { compareVersions, latestNpmVersion } from './update.js';
|
|
3
4
|
export async function printWelcomeScreen() {
|
|
4
5
|
const config = await getResolvedConfigSummary();
|
|
5
6
|
printZilMateBanner(`v${config.version ?? 'unknown'}`);
|
|
7
|
+
try {
|
|
8
|
+
const latest = await latestNpmVersion();
|
|
9
|
+
if (config.version && compareVersions(config.version, latest) < 0) {
|
|
10
|
+
printPanel('Update available', [
|
|
11
|
+
['Current', config.version],
|
|
12
|
+
['Latest', latest],
|
|
13
|
+
['Run', 'zilmate update'],
|
|
14
|
+
]);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
// The launcher should stay useful offline or when npm is blocked.
|
|
19
|
+
}
|
|
6
20
|
printPanel('Configured Features', [
|
|
7
21
|
['Gateway', statusText(config.auth.aiGateway, 'ready')],
|
|
8
22
|
['Composio', statusText(config.auth.composio && config.auth.zilmateUserId, 'ready')],
|
|
@@ -11,13 +25,17 @@ export async function printWelcomeScreen() {
|
|
|
11
25
|
['Jobs', statusText(config.auth.jobs, 'enabled')],
|
|
12
26
|
['QStash', statusText(config.auth.qstash && config.auth.jobWebhookUrl, 'ready')],
|
|
13
27
|
['Trigger workflows', statusText(config.auth.triggerWorkflows, 'enabled')],
|
|
28
|
+
['Voice', statusText(config.auth.voice && config.auth.deepgram, 'ready')],
|
|
14
29
|
]);
|
|
15
30
|
printTable(['Command', 'What it does'], [
|
|
16
31
|
['zilmate talk', 'Start the interactive assistant'],
|
|
17
32
|
['zilmate menu', 'Open the guided main menu'],
|
|
33
|
+
['zilmate', 'Open status plus the guided launcher'],
|
|
34
|
+
['zilmate update', 'Update CLI and SDK from npm'],
|
|
18
35
|
['zilmate setup', 'Configure required and optional features'],
|
|
19
36
|
['zilmate doctor', 'Check health and missing config'],
|
|
20
37
|
['zilmate jobs', 'View the job dashboard'],
|
|
38
|
+
['zilmate voice doctor', 'Check realtime voice readiness'],
|
|
21
39
|
['zilmate apps status', 'Check Composio app connections'],
|
|
22
40
|
]);
|
|
23
41
|
}
|
package/dist/cli/welcome.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"welcome.js","sourceRoot":"","sources":["../../src/cli/welcome.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"welcome.js","sourceRoot":"","sources":["../../src/cli/welcome.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEhE,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,MAAM,MAAM,GAAG,MAAM,wBAAwB,EAAE,CAAC;IAChD,kBAAkB,CAAC,IAAI,MAAM,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC,CAAC;IACtD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAC;QACxC,IAAI,MAAM,CAAC,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAClE,UAAU,CAAC,kBAAkB,EAAE;gBAC7B,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC;gBAC3B,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAClB,CAAC,KAAK,EAAE,gBAAgB,CAAC;aAC1B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,kEAAkE;IACpE,CAAC;IACD,UAAU,CAAC,qBAAqB,EAAE;QAChC,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QACpF,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC9E,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACjD,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChF,CAAC,mBAAmB,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;QAC1E,CAAC,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;KAC1E,CAAC,CAAC;IAEH,UAAU,CAAC,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE;QACtC,CAAC,cAAc,EAAE,iCAAiC,CAAC;QACnD,CAAC,cAAc,EAAE,2BAA2B,CAAC;QAC7C,CAAC,SAAS,EAAE,sCAAsC,CAAC;QACnD,CAAC,gBAAgB,EAAE,6BAA6B,CAAC;QACjD,CAAC,eAAe,EAAE,0CAA0C,CAAC;QAC7D,CAAC,gBAAgB,EAAE,iCAAiC,CAAC;QACrD,CAAC,cAAc,EAAE,wBAAwB,CAAC;QAC1C,CAAC,sBAAsB,EAAE,gCAAgC,CAAC;QAC1D,CAAC,qBAAqB,EAAE,gCAAgC,CAAC;KAC1D,CAAC,CAAC;AACL,CAAC"}
|
package/dist/config/env.d.ts
CHANGED
|
@@ -13,6 +13,15 @@ export type Env = {
|
|
|
13
13
|
zilmatePublicJobWebhookUrl: string | undefined;
|
|
14
14
|
zilmateJobWebhookSecret: string | undefined;
|
|
15
15
|
zilmateTriggerWorkflowsEnabled: boolean;
|
|
16
|
+
deepgramApiKey: string | undefined;
|
|
17
|
+
zilmateVoiceEnabled: boolean;
|
|
18
|
+
zilmateVoiceMode: string;
|
|
19
|
+
zilmateVoiceListenModel: string;
|
|
20
|
+
zilmateVoiceListenVersion: string;
|
|
21
|
+
zilmateVoiceTtsModel: string;
|
|
22
|
+
zilmateVoiceLanguage: string;
|
|
23
|
+
zilmateVoiceLanguageHints: string[];
|
|
24
|
+
zilmateVoiceBargeIn: boolean;
|
|
16
25
|
managerModel: string;
|
|
17
26
|
helpModel: string | undefined;
|
|
18
27
|
postModel: string | undefined;
|
|
@@ -29,4 +38,6 @@ export declare function hasComposio(): boolean;
|
|
|
29
38
|
export declare function requireComposio(): void;
|
|
30
39
|
export declare function hasRedis(): boolean;
|
|
31
40
|
export declare function hasQStash(): boolean;
|
|
41
|
+
export declare function hasDeepgram(): boolean;
|
|
42
|
+
export declare function requireDeepgram(): string;
|
|
32
43
|
//# sourceMappingURL=env.d.ts.map
|