zilmate 1.0.1 → 1.3.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 (77) hide show
  1. package/.env.example +15 -0
  2. package/README.md +100 -1
  3. package/dist/agents/manager.d.ts +133 -0
  4. package/dist/agents/manager.d.ts.map +1 -1
  5. package/dist/agents/manager.js +23 -0
  6. package/dist/agents/manager.js.map +1 -1
  7. package/dist/cli/camera.d.ts +6 -0
  8. package/dist/cli/camera.d.ts.map +1 -0
  9. package/dist/cli/camera.js +27 -0
  10. package/dist/cli/camera.js.map +1 -0
  11. package/dist/cli/doctor.d.ts +4 -0
  12. package/dist/cli/doctor.d.ts.map +1 -1
  13. package/dist/cli/doctor.js +12 -1
  14. package/dist/cli/doctor.js.map +1 -1
  15. package/dist/cli/health.js +2 -0
  16. package/dist/cli/health.js.map +1 -1
  17. package/dist/cli/interactive.d.ts.map +1 -1
  18. package/dist/cli/interactive.js +42 -5
  19. package/dist/cli/interactive.js.map +1 -1
  20. package/dist/cli/menu.d.ts +1 -0
  21. package/dist/cli/menu.d.ts.map +1 -1
  22. package/dist/cli/menu.js +68 -0
  23. package/dist/cli/menu.js.map +1 -1
  24. package/dist/cli/setup.d.ts +12 -0
  25. package/dist/cli/setup.d.ts.map +1 -1
  26. package/dist/cli/setup.js +316 -15
  27. package/dist/cli/setup.js.map +1 -1
  28. package/dist/cli/update.d.ts +8 -0
  29. package/dist/cli/update.d.ts.map +1 -0
  30. package/dist/cli/update.js +94 -0
  31. package/dist/cli/update.js.map +1 -0
  32. package/dist/cli/voice.d.ts +8 -0
  33. package/dist/cli/voice.d.ts.map +1 -0
  34. package/dist/cli/voice.js +189 -0
  35. package/dist/cli/voice.js.map +1 -0
  36. package/dist/cli/welcome.d.ts.map +1 -1
  37. package/dist/cli/welcome.js +19 -0
  38. package/dist/cli/welcome.js.map +1 -1
  39. package/dist/config/env.d.ts +13 -0
  40. package/dist/config/env.d.ts.map +1 -1
  41. package/dist/config/env.js +20 -0
  42. package/dist/config/env.js.map +1 -1
  43. package/dist/config/models.d.ts +1 -0
  44. package/dist/config/models.d.ts.map +1 -1
  45. package/dist/config/models.js +1 -0
  46. package/dist/config/models.js.map +1 -1
  47. package/dist/index.js +259 -4
  48. package/dist/index.js.map +1 -1
  49. package/dist/server.d.ts +4 -0
  50. package/dist/server.d.ts.map +1 -1
  51. package/dist/server.js +12 -0
  52. package/dist/server.js.map +1 -1
  53. package/dist/tools/desktop.tool.d.ts +58 -0
  54. package/dist/tools/desktop.tool.d.ts.map +1 -0
  55. package/dist/tools/desktop.tool.js +433 -0
  56. package/dist/tools/desktop.tool.js.map +1 -0
  57. package/dist/tools/filesystem.tool.d.ts +93 -0
  58. package/dist/tools/filesystem.tool.d.ts.map +1 -0
  59. package/dist/tools/filesystem.tool.js +303 -0
  60. package/dist/tools/filesystem.tool.js.map +1 -0
  61. package/dist/voice/cascade.d.ts +15 -0
  62. package/dist/voice/cascade.d.ts.map +1 -0
  63. package/dist/voice/cascade.js +306 -0
  64. package/dist/voice/cascade.js.map +1 -0
  65. package/dist/voice/deepgram.d.ts +22 -0
  66. package/dist/voice/deepgram.d.ts.map +1 -0
  67. package/dist/voice/deepgram.js +257 -0
  68. package/dist/voice/deepgram.js.map +1 -0
  69. package/dist/voice/terminal.d.ts +27 -0
  70. package/dist/voice/terminal.d.ts.map +1 -0
  71. package/dist/voice/terminal.js +448 -0
  72. package/dist/voice/terminal.js.map +1 -0
  73. package/dist/voice/types.d.ts +45 -0
  74. package/dist/voice/types.d.ts.map +1 -0
  75. package/dist/voice/types.js +2 -0
  76. package/dist/voice/types.js.map +1 -0
  77. package/package.json +4 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/cli/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC1C,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAClC,MAAM,WAAW,GAAG,SAAS,CAAC;AAE9B,SAAS,UAAU;IACjB,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1D,CAAC;AAED,SAAS,YAAY,CAAC,OAAe;IACnC,OAAO,OAAO;SACX,IAAI,EAAE;SACN,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;SACjB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,KAAa;IACzD,MAAM,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAC9B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,IAAI,IAAI,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;IAC9B,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO;QAC7C,CAAC,CAAC,MAAM,SAAS,CAAC,GAAG,UAAU,EAAE,SAAS,WAAW,UAAU,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QACxG,CAAC,CAAC,MAAM,aAAa,CAAC,UAAU,EAAE,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAChH,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,cAAsB;IAC7D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAC;QACxC,MAAM,UAAU,GAAG,eAAe,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAC3D,UAAU,CAAC,iBAAiB,EAAE;YAC5B,CAAC,SAAS,EAAE,cAAc,CAAC;YAC3B,CAAC,QAAQ,EAAE,MAAM,CAAC;YAClB,CAAC,QAAQ,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,YAAY,CAAC;YAC9D,CAAC,QAAQ,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC;SACpD,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,UAAU,CAAC,iBAAiB,EAAE;YAC5B,CAAC,SAAS,EAAE,cAAc,CAAC;YAC3B,CAAC,QAAQ,EAAE,qBAAqB,CAAC;YACjC,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAClE,CAAC,QAAQ,EAAE,+BAA+B,CAAC;SAC5C,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,UAA8C,EAAE;IAClF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,QAAQ,CAAC;IACpC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;IAC7F,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,WAAW,IAAI,GAAG,EAAE,CAAC;IACrC,MAAM,IAAI,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACrC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,UAAU,CAAC,gBAAgB,EAAE;YAC3B,CAAC,SAAS,EAAE,GAAG,UAAU,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAChD,CAAC,KAAK,EAAE,gBAAgB,CAAC;SAC1B,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,UAAU,CAAC,kBAAkB,EAAE;QAC7B,CAAC,SAAS,EAAE,IAAI,CAAC;QACjB,CAAC,SAAS,EAAE,GAAG,UAAU,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;KACjD,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO;YACzC,CAAC,CAAC,MAAM,SAAS,CAAC,GAAG,UAAU,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;YAC/F,CAAC,CAAC,MAAM,aAAa,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QACrF,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QAClC,IAAI,MAAM,CAAC,IAAI,EAAE;YAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9C,IAAI,MAAM,CAAC,IAAI,EAAE;YAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAChD,UAAU,CAAC,iBAAiB,EAAE;YAC5B,CAAC,QAAQ,EAAE,mBAAmB,CAAC;YAC/B,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAC7B,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,UAAU,CAAC,eAAe,EAAE;YAC1B,CAAC,QAAQ,EAAE,MAAM,CAAC;YAClB,CAAC,KAAK,EAAE,GAAG,UAAU,EAAE,eAAe,IAAI,EAAE,CAAC;SAC9C,CAAC,CAAC;QACH,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1,8 @@
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
+ export declare function listVoiceDevices(): Promise<void>;
6
+ export declare function runTerminalVoiceLive(sessionId?: string): Promise<string | undefined>;
7
+ export declare function runVoiceSpeakTest(text?: string): Promise<void>;
8
+ //# sourceMappingURL=voice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voice.d.ts","sourceRoot":"","sources":["../../src/cli/voice.ts"],"names":[],"mappings":"AA6CA,wBAAgB,gBAAgB,SAa/B;AAED,wBAAsB,cAAc,kBAUnC;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,SAAY,iBAOxE;AAED,wBAAsB,kBAAkB,kBAoBvC;AAED,wBAAsB,gBAAgB,kBAWrC;AAED,wBAAsB,oBAAoB,CAAC,SAAS,SAAY,+BAuD/D;AAED,wBAAsB,iBAAiB,CAAC,IAAI,SAAuC,iBAmBlF"}
@@ -0,0 +1,189 @@
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
+ import { checkTerminalVoiceRuntime, listTerminalVoiceInputDevices, playTerminalSpeech, startTerminalVoiceSession } from '../voice/terminal.js';
6
+ import { loadTurns, saveTurns } from '../memory/history.js';
7
+ import { recall } from '../memory/long-term.js';
8
+ function yesNo(value) {
9
+ return value ? 'yes' : 'no';
10
+ }
11
+ function voiceDebugEnabled() {
12
+ return process.env.ZILMATE_VOICE_DEBUG === 'true';
13
+ }
14
+ function cleanSpokenText(text) {
15
+ return text
16
+ .replace(/[🛠️✨🚀✅❌⚠️]/g, '')
17
+ .replace(/\*\*([^*]+)\*\*/g, '$1')
18
+ .replace(/`([^`]+)`/g, '$1')
19
+ .replace(/\n{3,}/g, '\n\n')
20
+ .trim();
21
+ }
22
+ function voiceProgress(event) {
23
+ if (!voiceDebugEnabled() && event.type !== 'tool:error')
24
+ return;
25
+ printProgress(event);
26
+ }
27
+ function transcript(turns) {
28
+ if (turns.length === 0)
29
+ return '';
30
+ return turns
31
+ .slice(-12)
32
+ .map((turn) => `${turn.role === 'user' ? 'User' : 'ZilMate'}: ${turn.content}`)
33
+ .join('\n');
34
+ }
35
+ function memoryBlock(memories) {
36
+ if (memories.length === 0)
37
+ return '';
38
+ return memories.map((memory) => `- [${memory.id}] ${memory.text}${memory.tags.length ? ` (tags: ${memory.tags.join(', ')})` : ''}`).join('\n');
39
+ }
40
+ export function printVoiceConfig() {
41
+ const config = getVoiceConfig();
42
+ printPanel('Realtime voice', [
43
+ ['Enabled', yesNo(config.enabled)],
44
+ ['Configured', yesNo(config.configured)],
45
+ ['Mode', config.mode],
46
+ ['Listen model', `${config.listenModel} (${config.listenVersion})`],
47
+ ['TTS model', config.ttsModel],
48
+ ['Language', config.language],
49
+ ['Language hints', config.languageHints.join(', ') || '-'],
50
+ ['Barge-in', yesNo(config.bargeIn)],
51
+ ['Playback', process.env.ZILMATE_VOICE_PLAYBACK_MODE || 'stream'],
52
+ ]);
53
+ }
54
+ export async function runVoiceDoctor() {
55
+ const checks = [
56
+ ...(await checkVoiceRuntime()),
57
+ ...(await checkTerminalVoiceRuntime()),
58
+ ];
59
+ printTable(['Check', 'Status', 'Detail'], checks.map((check) => [
60
+ check.name,
61
+ check.ok ? 'pass' : 'warn',
62
+ check.detail,
63
+ ]));
64
+ }
65
+ export async function runVoiceTurn(message, sessionId = 'default') {
66
+ const text = await runManager(message, {
67
+ sessionId,
68
+ ...(voiceDebugEnabled() ? { progress: voiceProgress } : {}),
69
+ });
70
+ console.log(chalk.bold.cyan('\nZilMate voice reply'));
71
+ console.log(text);
72
+ }
73
+ export async function runVoiceAgentProbe() {
74
+ const events = [];
75
+ await startDeepgramVoiceAgentSession({
76
+ onEvent: (event) => {
77
+ events.push(event);
78
+ if (event.type === 'error') {
79
+ console.log(chalk.red(`! ${event.message}`));
80
+ }
81
+ else if (event.type === 'status') {
82
+ console.log(chalk.gray(`${event.label}${event.detail ? ` — ${event.detail}` : ''}`));
83
+ }
84
+ else if (event.type === 'transcript') {
85
+ console.log(`${chalk.cyan(event.role)} ${event.text}`);
86
+ }
87
+ else {
88
+ console.log(chalk.gray(`audio ${event.bytes} bytes`));
89
+ }
90
+ },
91
+ });
92
+ if (events.length === 0) {
93
+ console.log(chalk.yellow('No voice events received.'));
94
+ }
95
+ }
96
+ export async function listVoiceDevices() {
97
+ const devices = await listTerminalVoiceInputDevices();
98
+ if (devices.length === 0) {
99
+ printPanel('Voice input devices', [
100
+ ['Status', 'No devices detected'],
101
+ ['Next', 'Install ffmpeg, then run zilmate voice devices'],
102
+ ['Manual', 'Set ZILMATE_VOICE_INPUT_DEVICE'],
103
+ ]);
104
+ return;
105
+ }
106
+ printTable(['Name', 'Input'], devices.map((device) => [device.name, device.input]));
107
+ }
108
+ export async function runTerminalVoiceLive(sessionId = 'default') {
109
+ let turns = await loadTurns(sessionId);
110
+ console.log(chalk.cyan('ZilMate voice is live. Speak naturally. Type /talk for text chat, /exit to quit, or press Enter to stop.'));
111
+ if (voiceDebugEnabled())
112
+ console.log(chalk.gray('Voice debug is on.'));
113
+ const result = await startTerminalVoiceSession({
114
+ sessionId,
115
+ onUserTranscript: async (text) => {
116
+ console.log(chalk.gray('ZilMate is thinking...'));
117
+ const context = transcript(turns);
118
+ const relevantMemory = memoryBlock(await recall(text, 6));
119
+ const contextBlock = [
120
+ context ? `Conversation so far in this same session:\n${context}` : '',
121
+ relevantMemory ? `Relevant long-term memory:\n${relevantMemory}` : '',
122
+ ].filter(Boolean).join('\n\n');
123
+ const reply = await runManager(`${contextBlock ? `${contextBlock}\n\n` : ''}New user voice message:\n${text}\n\nVoice response rules:
124
+ - You are currently inside ZilMate realtime voice mode. The user is speaking to you and you can answer out loud.
125
+ - Current capabilities include: spoken replies, shared text/voice session history, long-term memory, background jobs and schedules, Composio app tools/triggers, web/docs research, time/date tools, local file tools, clipboard, screenshots, camera/photo analysis, image generation, and specialist subagents.
126
+ - If asked what tools/features you lack, do not say you lack voice, memory, tools, or app integrations. Mention genuine future gaps only.
127
+ - Answer as ZilMate in a natural spoken style.
128
+ - Keep the first response short: usually 1 to 3 sentences.
129
+ - Ask one clear follow-up if the request is vague.
130
+ - Do not use markdown bullets, long menus, emojis, or internal debug details unless the user asks.
131
+ - Do not mention specific product/domain names unless the user asked about them or they are necessary.
132
+ - If the user asks what you were doing earlier, where you left off, or to continue, use the conversation-so-far block first, then memory/scratchpad, before saying you do not remember.
133
+ - You may use your tools and subagents when useful, but keep the spoken answer concise.`, {
134
+ sessionId,
135
+ ...(voiceDebugEnabled() ? { progress: voiceProgress } : {}),
136
+ });
137
+ const cleaned = cleanSpokenText(reply);
138
+ turns.push({ role: 'user', content: text, createdAt: new Date().toISOString() }, { role: 'assistant', content: cleaned, createdAt: new Date().toISOString() });
139
+ await saveTurns(sessionId, turns);
140
+ return cleaned;
141
+ },
142
+ onEvent: (event) => {
143
+ if (event.type === 'error') {
144
+ console.log(chalk.red(`! ${event.message}`));
145
+ }
146
+ else if (event.type === 'status') {
147
+ if (voiceDebugEnabled()) {
148
+ console.log(chalk.gray(`${event.label}${event.detail ? ` - ${event.detail}` : ''}`));
149
+ }
150
+ else if (event.label === 'Flux connected') {
151
+ console.log(chalk.gray('Connected. Listening...'));
152
+ }
153
+ else if (event.label === 'TTS audio flushed') {
154
+ console.log(chalk.gray('Speaking...'));
155
+ }
156
+ }
157
+ else if (event.type === 'transcript') {
158
+ const label = event.role === 'user' ? 'you' : event.role === 'assistant' ? 'ZilMate' : 'voice';
159
+ console.log(`${chalk.cyan(label)}: ${event.text}`);
160
+ }
161
+ },
162
+ });
163
+ console.log(chalk.gray('Live voice stopped.'));
164
+ return result.command;
165
+ }
166
+ export async function runVoiceSpeakTest(text = 'ZilMate voice playback is working.') {
167
+ console.log(chalk.cyan('Testing ZilMate speaker output...'));
168
+ let audioBytes = 0;
169
+ const result = await playTerminalSpeech(text, {
170
+ onEvent: (event) => {
171
+ if (event.type === 'error') {
172
+ console.log(chalk.red(`! ${event.message}`));
173
+ }
174
+ else if (event.type === 'status') {
175
+ console.log(chalk.gray(`${event.label}${event.detail ? ` - ${event.detail}` : ''}`));
176
+ }
177
+ else if (event.type === 'audio') {
178
+ audioBytes += event.bytes;
179
+ }
180
+ },
181
+ });
182
+ if (result.audioBytes === 0) {
183
+ console.log(chalk.yellow('No audio bytes were received from Deepgram TTS.'));
184
+ }
185
+ else {
186
+ console.log(chalk.green(`Speaker test received ${audioBytes || result.audioBytes} audio bytes.`));
187
+ }
188
+ }
189
+ //# sourceMappingURL=voice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voice.js","sourceRoot":"","sources":["../../src/cli/voice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEpE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AACzG,OAAO,EAAE,yBAAyB,EAAE,6BAA6B,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAE/I,OAAO,EAAE,SAAS,EAAE,SAAS,EAAiB,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,SAAS,KAAK,CAAC,KAAc;IAC3B,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9B,CAAC;AAED,SAAS,iBAAiB;IACxB,OAAO,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,MAAM,CAAC;AACpD,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,OAAO,IAAI;SACR,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;SAC5B,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC;SACjC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC;SAC3B,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC;SAC1B,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,aAAa,CAAC,KAAoB;IACzC,IAAI,CAAC,iBAAiB,EAAE,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY;QAAE,OAAO;IAChE,aAAa,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,UAAU,CAAC,KAAiB;IACnC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,OAAO,KAAK;SACT,KAAK,CAAC,CAAC,EAAE,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;SAC9E,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,WAAW,CAAC,QAA4C;IAC/D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjJ,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,UAAU,CAAC,gBAAgB,EAAE;QAC3B,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACxC,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC,cAAc,EAAE,GAAG,MAAM,CAAC,WAAW,KAAK,MAAM,CAAC,aAAa,GAAG,CAAC;QACnE,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC;QAC9B,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC;QAC7B,CAAC,gBAAgB,EAAE,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;QAC1D,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,QAAQ,CAAC;KAClE,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,MAAM,GAAG;QACb,GAAG,CAAC,MAAM,iBAAiB,EAAE,CAAC;QAC9B,GAAG,CAAC,MAAM,yBAAyB,EAAE,CAAC;KACvC,CAAC;IACF,UAAU,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;QAC9D,KAAK,CAAC,IAAI;QACV,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QAC1B,KAAK,CAAC,MAAM;KACb,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAe,EAAE,SAAS,GAAG,SAAS;IACvE,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE;QACrC,SAAS;QACT,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5D,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,MAAM,MAAM,GAAwB,EAAE,CAAC;IACvC,MAAM,8BAA8B,CAAC;QACnC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACjB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACvF,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBACvC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,OAAO,GAAG,MAAM,6BAA6B,EAAE,CAAC;IACtD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,UAAU,CAAC,qBAAqB,EAAE;YAChC,CAAC,QAAQ,EAAE,qBAAqB,CAAC;YACjC,CAAC,MAAM,EAAE,gDAAgD,CAAC;YAC1D,CAAC,QAAQ,EAAE,gCAAgC,CAAC;SAC7C,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,UAAU,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,SAAS,GAAG,SAAS;IAC9D,IAAI,KAAK,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0GAA0G,CAAC,CAAC,CAAC;IACpI,IAAI,iBAAiB,EAAE;QAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAAC;QAC7C,SAAS;QACT,gBAAgB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YAClC,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC1D,MAAM,YAAY,GAAG;gBACnB,OAAO,CAAC,CAAC,CAAC,8CAA8C,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE;gBACtE,cAAc,CAAC,CAAC,CAAC,+BAA+B,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE;aACtE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/B,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,MAAM,CAAC,CAAC,CAAC,EAAE,4BAA4B,IAAI;;;;;;;;;;wFAUzB,EAAE;gBAClF,SAAS;gBACT,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5D,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;YACvC,KAAK,CAAC,IAAI,CACR,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,EACpE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAC7E,CAAC;YACF,MAAM,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAClC,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACjB,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACnC,IAAI,iBAAiB,EAAE,EAAE,CAAC;oBACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBACvF,CAAC;qBAAM,IAAI,KAAK,CAAC,KAAK,KAAK,gBAAgB,EAAE,CAAC;oBAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;gBACrD,CAAC;qBAAM,IAAI,KAAK,CAAC,KAAK,KAAK,mBAAmB,EAAE,CAAC;oBAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBACvC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC/F,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAC/C,OAAO,MAAM,CAAC,OAAO,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAAI,GAAG,oCAAoC;IACjF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;IAC7D,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE;QAC5C,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACjB,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACvF,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAClC,UAAU,IAAI,KAAK,CAAC,KAAK,CAAC;YAC5B,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,iDAAiD,CAAC,CAAC,CAAC;IAC/E,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,yBAAyB,UAAU,IAAI,MAAM,CAAC,UAAU,eAAe,CAAC,CAAC,CAAC;IACpG,CAAC;AACH,CAAC"}
@@ -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,kBAsCvC"}
@@ -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,18 @@ 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'],
39
+ ['zilmate camera doctor', 'Check camera readiness'],
21
40
  ['zilmate apps status', 'Check Composio app connections'],
22
41
  ]);
23
42
  }
@@ -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,uBAAuB,EAAE,wBAAwB,CAAC;QACnD,CAAC,qBAAqB,EAAE,gCAAgC,CAAC;KAC1D,CAAC,CAAC;AACL,CAAC"}
@@ -13,6 +13,16 @@ 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;
25
+ zilmateVoicePlaybackMode: string;
16
26
  managerModel: string;
17
27
  helpModel: string | undefined;
18
28
  postModel: string | undefined;
@@ -20,6 +30,7 @@ export type Env = {
20
30
  imageOpenaiModel: string;
21
31
  imageGeminiModel: string;
22
32
  imageModel: string;
33
+ screenshotVisionModel: string;
23
34
  };
24
35
  export declare const env: Env;
25
36
  export declare function hasGatewayAuth(): boolean;
@@ -29,4 +40,6 @@ export declare function hasComposio(): boolean;
29
40
  export declare function requireComposio(): void;
30
41
  export declare function hasRedis(): boolean;
31
42
  export declare function hasQStash(): boolean;
43
+ export declare function hasDeepgram(): boolean;
44
+ export declare function requireDeepgram(): string;
32
45
  //# sourceMappingURL=env.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC;AAQvB,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAShD,MAAM,MAAM,GAAG,GAAG;IAChB,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,mBAAmB,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,qBAAqB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,kBAAkB,EAAE,OAAO,CAAC;IAC5B,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,0BAA0B,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/C,uBAAuB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,8BAA8B,EAAE,OAAO,CAAC;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,oBAAoB,EAAE,aAAa,CAAC;IACpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,GAAG,EAAE,GAoBjB,CAAC;AAEF,wBAAgB,cAAc,YAE7B;AAED,wBAAgB,kBAAkB,SAIjC;AAED,wBAAgB,aAAa,WAK5B;AAED,wBAAgB,WAAW,YAE1B;AAED,wBAAgB,eAAe,SAO9B;AAED,wBAAgB,QAAQ,YAEvB;AAED,wBAAgB,SAAS,YAExB"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC;AAQvB,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAShD,MAAM,MAAM,GAAG,GAAG;IAChB,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,mBAAmB,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,qBAAqB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,kBAAkB,EAAE,OAAO,CAAC;IAC5B,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,0BAA0B,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/C,uBAAuB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,8BAA8B,EAAE,OAAO,CAAC;IACxC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,uBAAuB,EAAE,MAAM,CAAC;IAChC,yBAAyB,EAAE,MAAM,CAAC;IAClC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,yBAAyB,EAAE,MAAM,EAAE,CAAC;IACpC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,wBAAwB,EAAE,MAAM,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,oBAAoB,EAAE,aAAa,CAAC;IACpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,GAAG,EAAE,GA+BjB,CAAC;AAEF,wBAAgB,cAAc,YAE7B;AAED,wBAAgB,kBAAkB,SAIjC;AAED,wBAAgB,aAAa,WAK5B;AAED,wBAAgB,WAAW,YAE1B;AAED,wBAAgB,eAAe,SAO9B;AAED,wBAAgB,QAAQ,YAEvB;AAED,wBAAgB,SAAS,YAExB;AAED,wBAAgB,WAAW,YAE1B;AAED,wBAAgB,eAAe,WAK9B"}
@@ -25,6 +25,16 @@ export const env = {
25
25
  zilmatePublicJobWebhookUrl: process.env.ZILMATE_PUBLIC_JOB_WEBHOOK_URL,
26
26
  zilmateJobWebhookSecret: process.env.ZILMATE_JOB_WEBHOOK_SECRET,
27
27
  zilmateTriggerWorkflowsEnabled: process.env.ZILMATE_TRIGGER_WORKFLOWS_ENABLED === 'true',
28
+ deepgramApiKey: process.env.DEEPGRAM_API_KEY,
29
+ zilmateVoiceEnabled: process.env.ZILMATE_VOICE_ENABLED === 'true',
30
+ zilmateVoiceMode: process.env.ZILMATE_VOICE_MODE || 'agent',
31
+ zilmateVoiceListenModel: process.env.ZILMATE_VOICE_LISTEN_MODEL || 'flux-general-en',
32
+ zilmateVoiceListenVersion: process.env.ZILMATE_VOICE_LISTEN_VERSION || 'v2',
33
+ zilmateVoiceTtsModel: process.env.ZILMATE_VOICE_TTS_MODEL || 'aura-2-thalia-en',
34
+ zilmateVoiceLanguage: process.env.ZILMATE_VOICE_LANGUAGE || 'en',
35
+ zilmateVoiceLanguageHints: (process.env.ZILMATE_VOICE_LANGUAGE_HINTS || '').split(',').map((item) => item.trim()).filter(Boolean),
36
+ zilmateVoiceBargeIn: process.env.ZILMATE_VOICE_BARGE_IN !== 'false',
37
+ zilmateVoicePlaybackMode: process.env.ZILMATE_VOICE_PLAYBACK_MODE || 'stream',
28
38
  managerModel: process.env.ZILO_MANAGER_MODEL || 'minimax/minimax-m3',
29
39
  helpModel: process.env.ZILO_HELP_MODEL || undefined,
30
40
  postModel: process.env.ZILO_POST_MODEL || undefined,
@@ -32,6 +42,7 @@ export const env = {
32
42
  imageOpenaiModel: process.env.ZILO_IMAGE_OPENAI_MODEL || 'openai/gpt-image-2',
33
43
  imageGeminiModel: process.env.ZILO_IMAGE_GEMINI_MODEL || process.env.ZILO_IMAGE_MODEL || 'google/gemini-3-pro-image',
34
44
  imageModel: process.env.ZILO_IMAGE_MODEL || 'google/gemini-3-pro-image',
45
+ screenshotVisionModel: process.env.ZILMATE_SCREENSHOT_MODEL || 'google/gemini-3.1-flash-lite',
35
46
  };
36
47
  export function hasGatewayAuth() {
37
48
  return Boolean(env.aiGatewayApiKey || env.vercelOidcToken);
@@ -64,4 +75,13 @@ export function hasRedis() {
64
75
  export function hasQStash() {
65
76
  return Boolean(env.upstashQstashToken && env.zilmatePublicJobWebhookUrl);
66
77
  }
78
+ export function hasDeepgram() {
79
+ return Boolean(env.deepgramApiKey);
80
+ }
81
+ export function requireDeepgram() {
82
+ if (!env.deepgramApiKey) {
83
+ throw new Error('Missing DEEPGRAM_API_KEY. Run `zilmate setup` to enable realtime voice mode.');
84
+ }
85
+ return env.deepgramApiKey;
86
+ }
67
87
  //# sourceMappingURL=env.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export type ModelRegistry = {
9
9
  imageOpenai: string;
10
10
  imageGemini: string;
11
11
  image: string;
12
+ screenshotVision: string;
12
13
  };
13
14
  export declare const models: ModelRegistry;
14
15
  export type ModelAvailability = {
@@ -1 +1 @@
1
- {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/config/models.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAEnD,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,aAAa,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AASF,eAAO,MAAM,MAAM,EAAE,aAUpB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,aAAa,CAAC;IACxB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAEF,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAcvE;AAED,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,UAGhF"}
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/config/models.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAEnD,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,aAAa,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AASF,eAAO,MAAM,MAAM,EAAE,aAWpB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,aAAa,CAAC;IACxB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAEF,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAcvE;AAED,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,UAGhF"}
@@ -16,6 +16,7 @@ export const models = {
16
16
  imageOpenai: env.imageOpenaiModel,
17
17
  imageGemini: env.imageGeminiModel,
18
18
  image: env.imageDefaultProvider === 'gemini' ? env.imageGeminiModel : env.imageOpenaiModel,
19
+ screenshotVision: env.screenshotVisionModel,
19
20
  };
20
21
  export async function getModelAvailability() {
21
22
  const result = await gateway.getAvailableModels();
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/config/models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,GAAG,EAAsB,MAAM,UAAU,CAAC;AAcnD,MAAM,oBAAoB,GAAG;IAC3B,qBAAqB;IACrB,uBAAuB;IACvB,mBAAmB;IACnB,8BAA8B;CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAkB;IACnC,OAAO,EAAE,GAAG,CAAC,YAAY;IACzB,IAAI,EAAE,GAAG,CAAC,SAAS,IAAI,oBAAoB,CAAC,CAAC,CAAE;IAC/C,IAAI,EAAE,GAAG,CAAC,SAAS,IAAI,oBAAoB,CAAC,CAAC,CAAE;IAC/C,IAAI,EAAE,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,YAAY;IACvC,QAAQ,EAAE,GAAG,CAAC,YAAY;IAC1B,oBAAoB,EAAE,GAAG,CAAC,oBAAoB;IAC9C,WAAW,EAAE,GAAG,CAAC,gBAAgB;IACjC,WAAW,EAAE,GAAG,CAAC,gBAAgB;IACjC,KAAK,EAAE,GAAG,CAAC,oBAAoB,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB;CAC3F,CAAC;AASF,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAClD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,MAAiC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IACrG,MAAM,YAAY,GAAG,SAAS;SAC3B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,KAAyB,CAAC,EAAE,CAAC;SACjF,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAE7C,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;SACpC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,sBAAsB,CAAC;SACjD,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IAC7B,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7G,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,6CAA6C,EAAE,EAAE,CAAC,CAAC;IAExF,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,YAAsB,EAAE,SAAkB;IAC/E,IAAI,SAAS,IAAI,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IACpE,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC;AAClG,CAAC"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/config/models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,GAAG,EAAsB,MAAM,UAAU,CAAC;AAenD,MAAM,oBAAoB,GAAG;IAC3B,qBAAqB;IACrB,uBAAuB;IACvB,mBAAmB;IACnB,8BAA8B;CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAkB;IACnC,OAAO,EAAE,GAAG,CAAC,YAAY;IACzB,IAAI,EAAE,GAAG,CAAC,SAAS,IAAI,oBAAoB,CAAC,CAAC,CAAE;IAC/C,IAAI,EAAE,GAAG,CAAC,SAAS,IAAI,oBAAoB,CAAC,CAAC,CAAE;IAC/C,IAAI,EAAE,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,YAAY;IACvC,QAAQ,EAAE,GAAG,CAAC,YAAY;IAC1B,oBAAoB,EAAE,GAAG,CAAC,oBAAoB;IAC9C,WAAW,EAAE,GAAG,CAAC,gBAAgB;IACjC,WAAW,EAAE,GAAG,CAAC,gBAAgB;IACjC,KAAK,EAAE,GAAG,CAAC,oBAAoB,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB;IAC1F,gBAAgB,EAAE,GAAG,CAAC,qBAAqB;CAC5C,CAAC;AASF,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAClD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,MAAiC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IACrG,MAAM,YAAY,GAAG,SAAS;SAC3B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,KAAyB,CAAC,EAAE,CAAC;SACjF,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAE7C,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;SACpC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,sBAAsB,CAAC;SACjD,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IAC7B,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7G,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,6CAA6C,EAAE,EAAE,CAAC,CAAC;IAExF,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,YAAsB,EAAE,SAAkB;IAC/E,IAAI,SAAS,IAAI,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IACpE,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC;AAClG,CAAC"}