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.
Files changed (49) hide show
  1. package/.env.example +9 -0
  2. package/README.md +65 -1
  3. package/dist/cli/doctor.d.ts +4 -0
  4. package/dist/cli/doctor.d.ts.map +1 -1
  5. package/dist/cli/doctor.js +12 -1
  6. package/dist/cli/doctor.js.map +1 -1
  7. package/dist/cli/health.js +2 -0
  8. package/dist/cli/health.js.map +1 -1
  9. package/dist/cli/interactive.d.ts.map +1 -1
  10. package/dist/cli/interactive.js +31 -4
  11. package/dist/cli/interactive.js.map +1 -1
  12. package/dist/cli/menu.d.ts +1 -0
  13. package/dist/cli/menu.d.ts.map +1 -1
  14. package/dist/cli/menu.js +54 -0
  15. package/dist/cli/menu.js.map +1 -1
  16. package/dist/cli/setup.d.ts +7 -0
  17. package/dist/cli/setup.d.ts.map +1 -1
  18. package/dist/cli/setup.js +177 -10
  19. package/dist/cli/setup.js.map +1 -1
  20. package/dist/cli/update.d.ts +8 -0
  21. package/dist/cli/update.d.ts.map +1 -0
  22. package/dist/cli/update.js +94 -0
  23. package/dist/cli/update.js.map +1 -0
  24. package/dist/cli/voice.d.ts +5 -0
  25. package/dist/cli/voice.d.ts.map +1 -0
  26. package/dist/cli/voice.js +58 -0
  27. package/dist/cli/voice.js.map +1 -0
  28. package/dist/cli/welcome.d.ts.map +1 -1
  29. package/dist/cli/welcome.js +18 -0
  30. package/dist/cli/welcome.js.map +1 -1
  31. package/dist/config/env.d.ts +11 -0
  32. package/dist/config/env.d.ts.map +1 -1
  33. package/dist/config/env.js +18 -0
  34. package/dist/config/env.js.map +1 -1
  35. package/dist/index.js +158 -4
  36. package/dist/index.js.map +1 -1
  37. package/dist/server.d.ts +4 -0
  38. package/dist/server.d.ts.map +1 -1
  39. package/dist/server.js +12 -0
  40. package/dist/server.js.map +1 -1
  41. package/dist/voice/deepgram.d.ts +29 -0
  42. package/dist/voice/deepgram.d.ts.map +1 -0
  43. package/dist/voice/deepgram.js +207 -0
  44. package/dist/voice/deepgram.js.map +1 -0
  45. package/dist/voice/types.d.ts +43 -0
  46. package/dist/voice/types.d.ts.map +1 -0
  47. package/dist/voice/types.js +2 -0
  48. package/dist/voice/types.js.map +1 -0
  49. 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 = existsSync(envPath) ? parseEnvFile(await readFile(envPath, 'utf8')) : new Map();
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. Composio, Tavily, Redis, jobs, QStash, and trigger workflows can all be skipped.'));
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, 'Add Composio API key for external app tools?', Boolean(values.get('COMPOSIO_API_KEY')))) {
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.tavilyKey === undefined && await askYesNo(rl, 'Add Tavily web search key?', Boolean(values.get('TAVILY_API_KEY')))) {
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.redisUrl === undefined && options.redisToken === undefined && await askYesNo(rl, 'Configure Upstash Redis memory?', Boolean(values.get('UPSTASH_REDIS_REST_URL') && values.get('UPSTASH_REDIS_REST_TOKEN')))) {
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, 'Configure Upstash QStash hosted schedules?', Boolean(values.get('UPSTASH_QSTASH_TOKEN')))) {
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
- for (const [key, value] of Object.entries(defaults)) {
202
- if (!values.has(key))
203
- values.set(key, value);
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
- await writeFile(envPath, buildEnv(values), 'utf8');
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
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,KAAK,IAAI,KAAK,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAmB7D,MAAM,QAAQ,GAAG;IACf,kBAAkB,EAAE,oBAAoB;IACxC,eAAe,EAAE,sBAAsB;IACvC,eAAe,EAAE,sBAAsB;IACvC,2BAA2B,EAAE,QAAQ;IACrC,uBAAuB,EAAE,oBAAoB;IAC7C,uBAAuB,EAAE,2BAA2B;IACpD,gBAAgB,EAAE,EAAE;CACrB,CAAC;AAEF,SAAS,sBAAsB,CAAC,KAAyB,EAAE,QAAQ,GAAG,KAAK;IACzE,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IACzC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,OAAO,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,GAAG,CAAC;AACnG,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,YAAY,CAAC,OAAe;IACnC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAClD,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,MAAM,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,GAAG,IAAI,QAAQ,KAAK,SAAS;YAAE,SAAS;QAC7C,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,cAAc,CAAC,KAAa;IACnC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,IAAI,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACvD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,EAAsB,EAAE,MAAc;IACrE,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,KAAK,CAAC,IAAI,EAAE;YAAE,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,EAAsB,EAAE,MAAc;IACrE,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,EAAsB,EAAE,MAAc,EAAE,YAAY,GAAG,KAAK;IAClF,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IAC5C,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAClF,IAAI,CAAC,MAAM;QAAE,OAAO,YAAY,CAAC;IACjC,OAAO,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,KAAK,CAAC;AAC5C,CAAC;AAED,SAAS,QAAQ,CAAC,MAA2B;IAC3C,MAAM,KAAK,GAA4B;QACrC,CAAC,oBAAoB,EAAE,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;QAC9D,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;QAC1D,CAAC,iBAAiB,EAAE,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;QACxD,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;QACtD,CAAC,wBAAwB,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,IAAI,EAAE,CAAC;QACtE,CAAC,0BAA0B,EAAE,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,IAAI,EAAE,CAAC;QAC1E,CAAC,sBAAsB,EAAE,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI,OAAO,CAAC;QACvE,CAAC,sBAAsB,EAAE,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC;QAClE,CAAC,gCAAgC,EAAE,MAAM,CAAC,GAAG,CAAC,gCAAgC,CAAC,IAAI,EAAE,CAAC;QACtF,CAAC,4BAA4B,EAAE,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,IAAI,EAAE,CAAC;QAC9E,CAAC,mCAAmC,EAAE,MAAM,CAAC,GAAG,CAAC,mCAAmC,CAAC,IAAI,OAAO,CAAC;QACjG,CAAC,oBAAoB,EAAE,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,QAAQ,CAAC,kBAAkB,CAAC;QACvF,CAAC,iBAAiB,EAAE,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,QAAQ,CAAC,eAAe,CAAC;QAC9E,CAAC,iBAAiB,EAAE,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,QAAQ,CAAC,eAAe,CAAC;QAC9E,CAAC,6BAA6B,EAAE,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,IAAI,QAAQ,CAAC,2BAA2B,CAAC;QAClH,CAAC,yBAAyB,EAAE,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,IAAI,QAAQ,CAAC,uBAAuB,CAAC;QACtG,CAAC,yBAAyB,EAAE,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,IAAI,QAAQ,CAAC,uBAAuB,CAAC;QACtG,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,QAAQ,CAAC,gBAAgB,CAAC;KAClF,CAAC;IAEF,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AAC1F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,UAAwB,EAAE;IACvD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC;IACvC,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAkB,CAAC;IACjH,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAEvD,IAAI,CAAC;QACH,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uCAAuC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,+GAA+G,CAAC,CAAC,CAAC;QAEzI,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACxD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,EAAE,EAAE,GAAG,OAAO,6BAA6B,EAAE,KAAK,CAAC,CAAC;YACrF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,oDAAoD,CAAC,CAAC,CAAC;gBAChF,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,OAAO,CAAC,YAAY;YAAE,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QACjF,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAC3F,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QAC9F,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACrF,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,wBAAwB,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC3F,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,0BAA0B,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACjG,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE,sBAAsB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC1I,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAC/F,IAAI,OAAO,CAAC,mBAAmB,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,gCAAgC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACzH,IAAI,OAAO,CAAC,gBAAgB,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,4BAA4B,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC/G,IAAI,OAAO,CAAC,uBAAuB,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,mCAAmC,EAAE,sBAAsB,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAE/K,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAC3D,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QACzD,CAAC;aAAM,IAAI,CAAC,iBAAiB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAC;QACvG,CAAC;aAAM,IAAI,iBAAiB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,EAAE,EAAE,gDAAgD,EAAE,KAAK,CAAC,CAAC;YAC5F,IAAI,OAAO;gBAAE,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,MAAM,iBAAiB,CAAC,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAC;QACrG,CAAC;aAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC9B,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,MAAM,iBAAiB,CAAC,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAC;QACxF,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,WAAW,UAAU,EAAE,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,QAAQ,CAAC,EAAE,EAAE,8CAA8C,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;YACrK,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,EAAE,EAAE,oCAAoC,CAAC,CAAC;YACtF,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,QAAQ,CAAC,EAAE,EAAE,4BAA4B,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/I,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,EAAE,EAAE,kCAAkC,CAAC,CAAC;YAClF,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,QAAQ,CAAC,EAAE,EAAE,iCAAiC,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,CAAC;YACzO,MAAM,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7F,MAAM,CAAC,GAAG,CAAC,0BAA0B,EAAE,MAAM,iBAAiB,CAAC,EAAE,EAAE,4BAA4B,CAAC,CAAC,CAAC;QACpG,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8HAA8H,CAAC,CAAC,CAAC;YACxJ,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,EAAE,EAAE,6CAA6C,EAAE,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,KAAK,MAAM,CAAC,CAAC;YACpI,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACpE,CAAC;aAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAC/C,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2HAA2H,CAAC,CAAC,CAAC;YACrJ,IAAI,MAAM,QAAQ,CAAC,EAAE,EAAE,4CAA4C,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClH,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE,MAAM,iBAAiB,CAAC,EAAE,EAAE,wCAAwC,CAAC,CAAC,CAAC;gBAC1G,MAAM,CAAC,GAAG,CAAC,gCAAgC,EAAE,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACpI,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;gBAChE,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,EAAE,EAAE,wCAAwC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,KAAK,CAAC,CAAC;gBAC5I,MAAM,CAAC,GAAG,CAAC,4BAA4B,EAAE,MAAM,IAAI,cAAc,IAAI,gBAAgB,EAAE,CAAC,CAAC;YAC3F,CAAC;QACH,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,uBAAuB,KAAK,SAAS,EAAE,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yHAAyH,CAAC,CAAC,CAAC;YACnJ,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAClE,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,gEAAgE,CAAC,CAAC,CAAC;gBAC5F,MAAM,CAAC,GAAG,CAAC,mCAAmC,EAAE,OAAO,CAAC,CAAC;YAC3D,CAAC;iBAAM,IAAI,MAAM,QAAQ,CAAC,EAAE,EAAE,2CAA2C,EAAE,MAAM,CAAC,GAAG,CAAC,mCAAmC,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC;gBACvI,MAAM,CAAC,GAAG,CAAC,mCAAmC,EAAE,MAAM,CAAC,CAAC;gBACxD,IAAI,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,KAAK,MAAM,EAAE,CAAC;oBAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,+DAA+D,CAAC,CAAC,CAAC;oBAC3F,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,mCAAmC,EAAE,OAAO,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mCAAmC,CAAC,EAAE,CAAC;YAC5D,MAAM,CAAC,GAAG,CAAC,mCAAmC,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC;QAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,OAAO,GAAG,CAAC,CAAC,CAAC;QAC9C,UAAU,CAAC,eAAe,EAAE;YAC1B,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;YACxE,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;YACvE,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;YACnE,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC;YAC3H,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;YAChF,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,sBAAsB,CAAC;YACtI,CAAC,mBAAmB,EAAE,MAAM,CAAC,GAAG,CAAC,mCAAmC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;SAC3G,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC5C,IAAI,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,KAAK,MAAM,EAAE,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC"}
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":"AAGA,wBAAsB,kBAAkB,kBAqBvC"}
1
+ {"version":3,"file":"welcome.d.ts","sourceRoot":"","sources":["../../src/cli/welcome.ts"],"names":[],"mappings":"AAIA,wBAAsB,kBAAkB,kBAqCvC"}
@@ -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
  }
@@ -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;AAErF,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,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;KAC3E,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,eAAe,EAAE,0CAA0C,CAAC;QAC7D,CAAC,gBAAgB,EAAE,iCAAiC,CAAC;QACrD,CAAC,cAAc,EAAE,wBAAwB,CAAC;QAC1C,CAAC,qBAAqB,EAAE,gCAAgC,CAAC;KAC1D,CAAC,CAAC;AACL,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"}
@@ -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