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.
- package/.env.example +15 -0
- package/README.md +100 -1
- package/dist/agents/manager.d.ts +133 -0
- package/dist/agents/manager.d.ts.map +1 -1
- package/dist/agents/manager.js +23 -0
- package/dist/agents/manager.js.map +1 -1
- package/dist/cli/camera.d.ts +6 -0
- package/dist/cli/camera.d.ts.map +1 -0
- package/dist/cli/camera.js +27 -0
- package/dist/cli/camera.js.map +1 -0
- 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 +42 -5
- 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 +68 -0
- package/dist/cli/menu.js.map +1 -1
- package/dist/cli/setup.d.ts +12 -0
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +316 -15
- 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 +8 -0
- package/dist/cli/voice.d.ts.map +1 -0
- package/dist/cli/voice.js +189 -0
- package/dist/cli/voice.js.map +1 -0
- package/dist/cli/welcome.d.ts.map +1 -1
- package/dist/cli/welcome.js +19 -0
- package/dist/cli/welcome.js.map +1 -1
- package/dist/config/env.d.ts +13 -0
- package/dist/config/env.d.ts.map +1 -1
- package/dist/config/env.js +20 -0
- package/dist/config/env.js.map +1 -1
- package/dist/config/models.d.ts +1 -0
- package/dist/config/models.d.ts.map +1 -1
- package/dist/config/models.js +1 -0
- package/dist/config/models.js.map +1 -1
- package/dist/index.js +259 -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/tools/desktop.tool.d.ts +58 -0
- package/dist/tools/desktop.tool.d.ts.map +1 -0
- package/dist/tools/desktop.tool.js +433 -0
- package/dist/tools/desktop.tool.js.map +1 -0
- package/dist/tools/filesystem.tool.d.ts +93 -0
- package/dist/tools/filesystem.tool.d.ts.map +1 -0
- package/dist/tools/filesystem.tool.js +303 -0
- package/dist/tools/filesystem.tool.js.map +1 -0
- package/dist/voice/cascade.d.ts +15 -0
- package/dist/voice/cascade.d.ts.map +1 -0
- package/dist/voice/cascade.js +306 -0
- package/dist/voice/cascade.js.map +1 -0
- package/dist/voice/deepgram.d.ts +22 -0
- package/dist/voice/deepgram.d.ts.map +1 -0
- package/dist/voice/deepgram.js +257 -0
- package/dist/voice/deepgram.js.map +1 -0
- package/dist/voice/terminal.d.ts +27 -0
- package/dist/voice/terminal.d.ts.map +1 -0
- package/dist/voice/terminal.js +448 -0
- package/dist/voice/terminal.js.map +1 -0
- package/dist/voice/types.d.ts +45 -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 +4 -1
package/dist/cli/interactive.js
CHANGED
|
@@ -8,6 +8,8 @@ import { recall } from '../memory/long-term.js';
|
|
|
8
8
|
import { memoryBackendName } from '../memory/redis.js';
|
|
9
9
|
import { printAssistant, printProgress, printStatus, printUserPrompt, printZilMateBanner } from './format.js';
|
|
10
10
|
import { createReadlineConfirmation } from './confirm.js';
|
|
11
|
+
import { checkVoiceRuntime, getVoiceConfig } from '../voice/deepgram.js';
|
|
12
|
+
import { runTerminalVoiceLive } from './voice.js';
|
|
11
13
|
function transcript(turns) {
|
|
12
14
|
if (turns.length === 0)
|
|
13
15
|
return '';
|
|
@@ -23,14 +25,15 @@ function memoryBlock(memories) {
|
|
|
23
25
|
}
|
|
24
26
|
export async function startInteractiveChat(sessionId = 'default') {
|
|
25
27
|
requireGatewayAuth();
|
|
26
|
-
|
|
28
|
+
let rl = readline.createInterface({ input, output });
|
|
27
29
|
let turns = await loadTurns(sessionId);
|
|
28
30
|
const runId = randomUUID();
|
|
31
|
+
let voiceMode = false;
|
|
29
32
|
printZilMateBanner('Personal assistant CLI with subagents, tools, memory, and jobs.');
|
|
30
33
|
printStatus('Session:', sessionId);
|
|
31
34
|
printStatus('Memory:', memoryBackendName());
|
|
32
35
|
printStatus('Run:', runId);
|
|
33
|
-
console.log('Type /exit to quit, /clear to clear this session, or /help for commands.\n');
|
|
36
|
+
console.log('Type /exit to quit, /clear to clear this session, /voice to start voice mode, /voice -q to stop voice mode, or /help for commands.\n');
|
|
34
37
|
try {
|
|
35
38
|
while (true) {
|
|
36
39
|
let answer;
|
|
@@ -49,7 +52,38 @@ export async function startInteractiveChat(sessionId = 'default') {
|
|
|
49
52
|
if (message === '/exit' || message === '/quit')
|
|
50
53
|
break;
|
|
51
54
|
if (message === '/help') {
|
|
52
|
-
console.log('Commands: /exit, /quit, /clear, /help');
|
|
55
|
+
console.log('Commands: /exit, /quit, /clear, /help, /voice, /voice -q');
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
if (message === '/voice' || message === '/voice on') {
|
|
59
|
+
const config = getVoiceConfig();
|
|
60
|
+
const checks = await checkVoiceRuntime();
|
|
61
|
+
const failing = checks.filter((check) => !check.ok);
|
|
62
|
+
if (!config.configured) {
|
|
63
|
+
console.log('Voice needs DEEPGRAM_API_KEY. Run `zilmate voice setup` first.');
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
if (failing.some((check) => check.name === 'Deepgram SDK')) {
|
|
67
|
+
console.log('Voice needs the Deepgram SDK installed. Run `npm install`, then `zilmate voice doctor`.');
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
console.log(`Voice mode is starting. Model: ${config.listenModel} -> ${config.ttsModel}.`);
|
|
71
|
+
rl.close();
|
|
72
|
+
try {
|
|
73
|
+
const command = await runTerminalVoiceLive(sessionId);
|
|
74
|
+
turns = await loadTurns(sessionId);
|
|
75
|
+
if (command === 'exit')
|
|
76
|
+
break;
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
console.log(error instanceof Error ? error.message : String(error));
|
|
80
|
+
}
|
|
81
|
+
rl = readline.createInterface({ input, output });
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
if (message === '/voice -q' || message === '/voice off' || message === '/voice stop') {
|
|
85
|
+
voiceMode = false;
|
|
86
|
+
console.log('Voice mode is off for this chat session.');
|
|
53
87
|
continue;
|
|
54
88
|
}
|
|
55
89
|
if (message === '/clear') {
|
|
@@ -60,9 +94,12 @@ export async function startInteractiveChat(sessionId = 'default') {
|
|
|
60
94
|
}
|
|
61
95
|
const context = transcript(turns);
|
|
62
96
|
const relevantMemory = memoryBlock(await recall(message, 6));
|
|
97
|
+
const voiceInstruction = voiceMode
|
|
98
|
+
? 'This is a voice-mode turn. Answer in a natural spoken style: brief, direct, conversational, and easy to listen to.'
|
|
99
|
+
: 'Answer as ZilMate. Delegate to subagents when useful and return a concise final answer.';
|
|
63
100
|
const prompt = context
|
|
64
|
-
? `Conversation so far:\n${context}\n\n${relevantMemory ? `Relevant long-term memory:\n${relevantMemory}\n\n` : ''}New user message:\n${message}\n\
|
|
65
|
-
: `${relevantMemory ? `Relevant long-term memory:\n${relevantMemory}\n\n` : ''}${message}\n\
|
|
101
|
+
? `Conversation so far:\n${context}\n\n${relevantMemory ? `Relevant long-term memory:\n${relevantMemory}\n\n` : ''}New user message:\n${message}\n\n${voiceInstruction}`
|
|
102
|
+
: `${relevantMemory ? `Relevant long-term memory:\n${relevantMemory}\n\n` : ''}${message}\n\n${voiceInstruction}`;
|
|
66
103
|
const response = await runManager(prompt, {
|
|
67
104
|
progress: printProgress,
|
|
68
105
|
sessionId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactive.js","sourceRoot":"","sources":["../../src/cli/interactive.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,KAAK,IAAI,KAAK,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAiB,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC9G,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"interactive.js","sourceRoot":"","sources":["../../src/cli/interactive.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,KAAK,IAAI,KAAK,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAiB,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC9G,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,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,CAAC,KAAK,UAAU,oBAAoB,CAAC,SAAS,GAAG,SAAS;IAC9D,kBAAkB,EAAE,CAAC;IACrB,IAAI,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACrD,IAAI,KAAK,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAC3B,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,kBAAkB,CAAC,iEAAiE,CAAC,CAAC;IACtF,WAAW,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACnC,WAAW,CAAC,SAAS,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC5C,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAC,sIAAsI,CAAC,CAAC;IAEpJ,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,MAAc,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC;YAChD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,IAAI,8BAA8B,CAAC,IAAI,CAAC,OAAO,CAAC;oBAAE,MAAM;gBACxD,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,IAAI,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,OAAO;gBAAE,MAAM;YACtD,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;gBACxE,SAAS;YACX,CAAC;YACD,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;gBACpD,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;gBAChC,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC;gBACzC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACpD,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;oBACvB,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;oBAC9E,SAAS;gBACX,CAAC;gBACD,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,EAAE,CAAC;oBAC3D,OAAO,CAAC,GAAG,CAAC,yFAAyF,CAAC,CAAC;oBACvG,SAAS;gBACX,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,kCAAkC,MAAM,CAAC,WAAW,OAAO,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;gBAC3F,EAAE,CAAC,KAAK,EAAE,CAAC;gBACX,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,SAAS,CAAC,CAAC;oBACtD,KAAK,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;oBACnC,IAAI,OAAO,KAAK,MAAM;wBAAE,MAAM;gBAChC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBACtE,CAAC;gBACD,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBACjD,SAAS;YACX,CAAC;YACD,IAAI,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,YAAY,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;gBACrF,SAAS,GAAG,KAAK,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;gBACxD,SAAS;YACX,CAAC;YACD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACzB,KAAK,GAAG,EAAE,CAAC;gBACX,MAAM,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAClC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;gBAChC,SAAS;YACX,CAAC;YAED,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YAClC,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7D,MAAM,gBAAgB,GAAG,SAAS;gBAChC,CAAC,CAAC,oHAAoH;gBACtH,CAAC,CAAC,yFAAyF,CAAC;YAC9F,MAAM,MAAM,GAAG,OAAO;gBACpB,CAAC,CAAC,yBAAyB,OAAO,OAAO,cAAc,CAAC,CAAC,CAAC,+BAA+B,cAAc,MAAM,CAAC,CAAC,CAAC,EAAE,sBAAsB,OAAO,OAAO,gBAAgB,EAAE;gBACxK,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,+BAA+B,cAAc,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,OAAO,gBAAgB,EAAE,CAAC;YAEpH,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE;gBACxC,QAAQ,EAAE,aAAa;gBACvB,SAAS;gBACT,OAAO,EAAE,0BAA0B,CAAC,EAAE,CAAC;aACxC,CAAC,CAAC;YACH,cAAc,CAAC,QAAQ,CAAC,CAAC;YAEzB,KAAK,CAAC,IAAI,CACR,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,EACvE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAC9E,CAAC;YACF,MAAM,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC"}
|
package/dist/cli/menu.d.ts
CHANGED
package/dist/cli/menu.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../src/cli/menu.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../src/cli/menu.ts"],"names":[],"mappings":"AAuBA,wBAAsB,aAAa,kBAoGlC;AAED,wBAAsB,oBAAoB,kBAGzC"}
|
package/dist/cli/menu.js
CHANGED
|
@@ -10,6 +10,12 @@ import { printMemoryTable } from './memory.js';
|
|
|
10
10
|
import { printPanel, printZilMateBanner } from './format.js';
|
|
11
11
|
import { runSetup } from './setup.js';
|
|
12
12
|
import { startInteractiveChat } from './interactive.js';
|
|
13
|
+
import { hasGatewayAuth } from '../config/env.js';
|
|
14
|
+
import { printWelcomeScreen } from './welcome.js';
|
|
15
|
+
import { printVoiceConfig, runVoiceDoctor } from './voice.js';
|
|
16
|
+
import { runVoiceSetup, setVoiceEnabled } from './setup.js';
|
|
17
|
+
import { runSelfUpdate } from './update.js';
|
|
18
|
+
import { listCameraDevicesCli, runCameraDoctorCli } from './camera.js';
|
|
13
19
|
async function ask(rl, prompt) {
|
|
14
20
|
return (await rl.question(prompt)).trim();
|
|
15
21
|
}
|
|
@@ -27,12 +33,29 @@ export async function startMainMenu() {
|
|
|
27
33
|
['6', 'Connect apps'],
|
|
28
34
|
['7', 'Manage memory'],
|
|
29
35
|
['8', 'Trigger workflows'],
|
|
36
|
+
['9', 'Voice setup/status'],
|
|
37
|
+
['10', 'Update ZilMate'],
|
|
38
|
+
['11', 'Camera tools'],
|
|
30
39
|
['0', 'Exit'],
|
|
31
40
|
]);
|
|
41
|
+
if (!hasGatewayAuth()) {
|
|
42
|
+
printPanel('Setup needed', [
|
|
43
|
+
['Gateway', 'missing'],
|
|
44
|
+
['Next', 'Choose 4 to run setup, or 0 to exit'],
|
|
45
|
+
]);
|
|
46
|
+
}
|
|
32
47
|
const choice = await ask(rl, 'Select: ');
|
|
33
48
|
if (choice === '0')
|
|
34
49
|
break;
|
|
35
50
|
if (choice === '1') {
|
|
51
|
+
if (!hasGatewayAuth()) {
|
|
52
|
+
const setup = await ask(rl, 'AI Gateway key is missing. Run setup now? (Y/n) ');
|
|
53
|
+
if (setup.toLowerCase() === 'n' || setup.toLowerCase() === 'no')
|
|
54
|
+
continue;
|
|
55
|
+
rl.close();
|
|
56
|
+
await runSetup();
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
36
59
|
rl.close();
|
|
37
60
|
await startInteractiveChat();
|
|
38
61
|
return;
|
|
@@ -65,6 +88,47 @@ export async function startMainMenu() {
|
|
|
65
88
|
console.log('Try: zilmate triggers list');
|
|
66
89
|
console.log('Try: zilmate triggers listen');
|
|
67
90
|
}
|
|
91
|
+
else if (choice === '9') {
|
|
92
|
+
printVoiceConfig();
|
|
93
|
+
printPanel('Voice actions', [
|
|
94
|
+
['1', 'Run voice setup'],
|
|
95
|
+
['2', 'Enable voice'],
|
|
96
|
+
['3', 'Disable voice'],
|
|
97
|
+
['4', 'Voice doctor'],
|
|
98
|
+
['0', 'Back'],
|
|
99
|
+
]);
|
|
100
|
+
const voiceChoice = await ask(rl, 'Select: ');
|
|
101
|
+
if (voiceChoice === '1') {
|
|
102
|
+
rl.close();
|
|
103
|
+
await runVoiceSetup();
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
if (voiceChoice === '2')
|
|
107
|
+
await setVoiceEnabled(true);
|
|
108
|
+
if (voiceChoice === '3')
|
|
109
|
+
await setVoiceEnabled(false);
|
|
110
|
+
if (voiceChoice === '4')
|
|
111
|
+
await runVoiceDoctor();
|
|
112
|
+
}
|
|
113
|
+
else if (choice === '10') {
|
|
114
|
+
const confirm = await ask(rl, 'Update ZilMate from npm now? (y/N) ');
|
|
115
|
+
if (confirm.toLowerCase() === 'y' || confirm.toLowerCase() === 'yes') {
|
|
116
|
+
await runSelfUpdate();
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
else if (choice === '11') {
|
|
121
|
+
printPanel('Camera actions', [
|
|
122
|
+
['1', 'Camera doctor'],
|
|
123
|
+
['2', 'List camera devices'],
|
|
124
|
+
['0', 'Back'],
|
|
125
|
+
]);
|
|
126
|
+
const cameraChoice = await ask(rl, 'Select: ');
|
|
127
|
+
if (cameraChoice === '1')
|
|
128
|
+
await runCameraDoctorCli();
|
|
129
|
+
if (cameraChoice === '2')
|
|
130
|
+
await listCameraDevicesCli();
|
|
131
|
+
}
|
|
68
132
|
await ask(rl, '\nPress Enter to continue...');
|
|
69
133
|
}
|
|
70
134
|
}
|
|
@@ -72,4 +136,8 @@ export async function startMainMenu() {
|
|
|
72
136
|
rl.close();
|
|
73
137
|
}
|
|
74
138
|
}
|
|
139
|
+
export async function startDefaultLauncher() {
|
|
140
|
+
await printWelcomeScreen();
|
|
141
|
+
await startMainMenu();
|
|
142
|
+
}
|
|
75
143
|
//# sourceMappingURL=menu.js.map
|
package/dist/cli/menu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.js","sourceRoot":"","sources":["../../src/cli/menu.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,KAAK,IAAI,KAAK,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"menu.js","sourceRoot":"","sources":["../../src/cli/menu.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/setup.d.ts
CHANGED
|
@@ -13,7 +13,19 @@ type SetupOptions = {
|
|
|
13
13
|
publicJobWebhookUrl?: string;
|
|
14
14
|
jobWebhookSecret?: string;
|
|
15
15
|
triggerWorkflowsEnabled?: string;
|
|
16
|
+
deepgramApiKey?: string;
|
|
17
|
+
voiceEnabled?: string;
|
|
18
|
+
voiceListenModel?: string;
|
|
19
|
+
voiceTtsModel?: string;
|
|
20
|
+
voiceLanguage?: string;
|
|
21
|
+
voiceInputDevice?: string;
|
|
22
|
+
cameraDevice?: string;
|
|
23
|
+
installCameraDeps?: string;
|
|
24
|
+
screenshotModel?: string;
|
|
25
|
+
fileRoots?: string;
|
|
16
26
|
};
|
|
17
27
|
export declare function runSetup(options?: SetupOptions): Promise<void>;
|
|
28
|
+
export declare function runVoiceSetup(options?: Pick<SetupOptions, 'path' | 'force' | 'deepgramApiKey' | 'voiceListenModel' | 'voiceTtsModel' | 'voiceLanguage'>): Promise<void>;
|
|
29
|
+
export declare function setVoiceEnabled(enabled: boolean, options?: Pick<SetupOptions, 'path'>): Promise<void>;
|
|
18
30
|
export {};
|
|
19
31
|
//# sourceMappingURL=setup.d.ts.map
|
package/dist/cli/setup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"AAaA,KAAK,YAAY,GAAG;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AA4LF,wBAAsB,QAAQ,CAAC,OAAO,GAAE,YAAiB,iBAuRxD;AAED,wBAAsB,aAAa,CAAC,OAAO,GAAE,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,eAAe,GAAG,eAAe,CAAM,iBA6DjK;AAED,wBAAsB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,IAAI,CAAC,YAAY,EAAE,MAAM,CAAM,iBAkB/F"}
|