zilmate 1.1.0 → 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 +6 -0
- package/README.md +38 -3
- 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/interactive.d.ts.map +1 -1
- package/dist/cli/interactive.js +14 -4
- package/dist/cli/interactive.js.map +1 -1
- package/dist/cli/menu.d.ts.map +1 -1
- package/dist/cli/menu.js +14 -0
- package/dist/cli/menu.js.map +1 -1
- package/dist/cli/setup.d.ts +5 -0
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +146 -12
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/voice.d.ts +3 -0
- package/dist/cli/voice.d.ts.map +1 -1
- package/dist/cli/voice.js +135 -4
- package/dist/cli/voice.js.map +1 -1
- package/dist/cli/welcome.d.ts.map +1 -1
- package/dist/cli/welcome.js +1 -0
- package/dist/cli/welcome.js.map +1 -1
- package/dist/config/env.d.ts +2 -0
- package/dist/config/env.d.ts.map +1 -1
- package/dist/config/env.js +2 -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 +104 -3
- package/dist/index.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 +9 -16
- package/dist/voice/deepgram.d.ts.map +1 -1
- package/dist/voice/deepgram.js +66 -16
- package/dist/voice/deepgram.js.map +1 -1
- 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 +2 -0
- package/dist/voice/types.d.ts.map +1 -1
- package/package.json +2 -1
package/.env.example
CHANGED
|
@@ -18,6 +18,12 @@ ZILMATE_VOICE_TTS_MODEL=aura-2-thalia-en
|
|
|
18
18
|
ZILMATE_VOICE_LANGUAGE=en
|
|
19
19
|
ZILMATE_VOICE_LANGUAGE_HINTS=
|
|
20
20
|
ZILMATE_VOICE_BARGE_IN=true
|
|
21
|
+
ZILMATE_VOICE_PLAYBACK_MODE=stream
|
|
22
|
+
ZILMATE_VOICE_DEBUG=false
|
|
23
|
+
ZILMATE_VOICE_INPUT_DEVICE=
|
|
24
|
+
ZILMATE_SCREENSHOT_MODEL=google/gemini-3.1-flash-lite
|
|
25
|
+
ZILMATE_CAMERA_DEVICE=
|
|
26
|
+
ZILMATE_FILE_ROOTS=
|
|
21
27
|
ZILO_MANAGER_MODEL=minimax/minimax-m3
|
|
22
28
|
ZILO_HELP_MODEL=alibaba/qwen3.7-plus
|
|
23
29
|
ZILO_POST_MODEL=alibaba/qwen3.7-plus
|
package/README.md
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
ZilMate is a CLI-first general assistant with deep built-in ZiloShift expertise. It can chat, answer support questions, draft posts, research docs/web sources, generate image assets, and use Composio for external app tools such as GitHub, Gmail, Slack, Notion, Stripe, and Supabase.
|
|
4
4
|
|
|
5
|
+
ZilMate can also work with local files inside safe configured roots: search files/folders, read text files, write approved files, create folders, move/copy/rename, summarize documents, compare folder snapshots for changes, and find duplicate or large files. Sensitive files such as `.env`, keys, credentials, and token-looking paths are blocked.
|
|
6
|
+
|
|
7
|
+
It can also use approved desktop context: read/write clipboard text, take screenshots, open the laptop camera for a still photo, and analyze screenshots/photos with `google/gemini-3.1-flash-lite` by default. Screenshot analysis describes visible UI, extracts visible text when possible, identifies errors or unusual states, and can optionally search the web for troubleshooting context. Camera photo analysis describes visible objects, environments, documents, devices, or issues without identifying people or inferring sensitive traits.
|
|
8
|
+
|
|
5
9
|
The GitHub project can remain `zilo-manager`, but the installable npm package and command are both `zilmate`.
|
|
6
10
|
|
|
7
11
|
## Install ZilMate
|
|
@@ -95,6 +99,7 @@ Before asking for secrets, setup shows what to have ready:
|
|
|
95
99
|
- Optional cloud memory/jobs: Upstash Redis URL and token.
|
|
96
100
|
- Optional hosted schedules: QStash token and public webhook URL.
|
|
97
101
|
- Optional realtime voice: Deepgram key.
|
|
102
|
+
- Optional camera capture: `ffmpeg` installed on PATH.
|
|
98
103
|
|
|
99
104
|
Then it asks for `AI_GATEWAY_API_KEY` and guides users through optional features:
|
|
100
105
|
|
|
@@ -105,6 +110,9 @@ Then it asks for `AI_GATEWAY_API_KEY` and guides users through optional features
|
|
|
105
110
|
- Upstash QStash hosted schedules.
|
|
106
111
|
- Composio trigger-to-job workflows.
|
|
107
112
|
- Deepgram realtime voice mode.
|
|
113
|
+
- Local file tool roots.
|
|
114
|
+
- Screenshot/photo vision model.
|
|
115
|
+
- Camera dependency and device setup.
|
|
108
116
|
|
|
109
117
|
Every optional feature can be skipped. If users only want chat, they only need the AI Gateway key.
|
|
110
118
|
|
|
@@ -115,13 +123,14 @@ zilmate voice setup
|
|
|
115
123
|
zilmate voice enable
|
|
116
124
|
zilmate voice disable
|
|
117
125
|
zilmate voice doctor
|
|
126
|
+
zilmate voice devices
|
|
127
|
+
zilmate voice live
|
|
118
128
|
```
|
|
119
129
|
|
|
120
|
-
Inside `zilmate talk`, use `/voice` to
|
|
130
|
+
Inside `zilmate talk`, use `/voice` to start a live terminal voice session. Speak naturally, then press Enter to stop voice and return to typed chat:
|
|
121
131
|
|
|
122
132
|
```text
|
|
123
133
|
/voice
|
|
124
|
-
/voice -q
|
|
125
134
|
```
|
|
126
135
|
|
|
127
136
|
You can also create `.env` manually:
|
|
@@ -147,6 +156,10 @@ ZILMATE_VOICE_TTS_MODEL=aura-2-thalia-en
|
|
|
147
156
|
ZILMATE_VOICE_LANGUAGE=en
|
|
148
157
|
ZILMATE_VOICE_LANGUAGE_HINTS=
|
|
149
158
|
ZILMATE_VOICE_BARGE_IN=true
|
|
159
|
+
ZILMATE_VOICE_INPUT_DEVICE=
|
|
160
|
+
ZILMATE_SCREENSHOT_MODEL=google/gemini-3.1-flash-lite
|
|
161
|
+
ZILMATE_CAMERA_DEVICE=
|
|
162
|
+
ZILMATE_FILE_ROOTS=
|
|
150
163
|
ZILO_MANAGER_MODEL=minimax/minimax-m3
|
|
151
164
|
ZILO_HELP_MODEL=alibaba/qwen3.7-plus
|
|
152
165
|
ZILO_POST_MODEL=alibaba/qwen3.7-plus
|
|
@@ -162,10 +175,14 @@ Redis is optional. If `UPSTASH_REDIS_REST_URL` and `UPSTASH_REDIS_REST_TOKEN` ar
|
|
|
162
175
|
|
|
163
176
|
Background jobs are optional. Setup explains the difference between local jobs and hosted schedules. Local jobs and local schedules run while `zilmate jobs worker` is running. They do not keep running after a laptop sleeps, shuts down, or loses internet. For hosted schedules that can fire while the local machine is closed, configure QStash plus a public job webhook URL.
|
|
164
177
|
|
|
165
|
-
Realtime voice is optional. If `DEEPGRAM_API_KEY` and `ZILMATE_VOICE_ENABLED=true` are set, ZilMate
|
|
178
|
+
Realtime voice is optional. If `DEEPGRAM_API_KEY` and `ZILMATE_VOICE_ENABLED=true` are set, ZilMate uses Deepgram Flux for listening/end-of-turn, routes transcripts through the ZilMate manager/tools/subagents, and speaks replies with Deepgram Aura-2 websocket TTS. The default listen model is `flux-general-en` with `v2`. The default spoken voice is `aura-2-thalia-en`. Terminal live voice uses `ffmpeg` for microphone capture and `ffplay` for spoken replies. If the default microphone is not detected, run `zilmate voice devices`, then set `ZILMATE_VOICE_INPUT_DEVICE`.
|
|
166
179
|
|
|
167
180
|
Use `zilmate voice setup` for a focused voice-only wizard. Use `zilmate voice enable` and `zilmate voice disable` to toggle voice later without editing config files.
|
|
168
181
|
|
|
182
|
+
Camera capture is optional. During `zilmate setup`, ZilMate checks for `ffmpeg`, asks before installing it, and then runs a camera readiness check. If the automatic installer is not available, setup keeps going and tells the user to run `zilmate camera doctor`.
|
|
183
|
+
|
|
184
|
+
Local file tools are optional. During setup, users can keep the default current-folder access or add comma-separated roots through `ZILMATE_FILE_ROOTS`.
|
|
185
|
+
|
|
169
186
|
For unattended setup or installers, pass the options directly:
|
|
170
187
|
|
|
171
188
|
```powershell
|
|
@@ -173,6 +190,11 @@ zilmate setup --yes --ai-gateway-key <key> --jobs-enabled true
|
|
|
173
190
|
zilmate setup --yes --ai-gateway-key <key> --composio-key <key> --trigger-workflows-enabled true
|
|
174
191
|
zilmate setup --yes --ai-gateway-key <key> --qstash-token <token> --job-webhook-url https://example.com/api/zilmate/jobs
|
|
175
192
|
zilmate setup --yes --ai-gateway-key <key> --voice-enabled true --deepgram-key <key>
|
|
193
|
+
zilmate setup --yes --ai-gateway-key <key> --voice-input-device "audio=Microphone Array"
|
|
194
|
+
zilmate setup --yes --ai-gateway-key <key> --install-camera-deps true
|
|
195
|
+
zilmate setup --yes --ai-gateway-key <key> --camera-device "video=Integrated Camera"
|
|
196
|
+
zilmate setup --yes --ai-gateway-key <key> --file-roots "C:\Users\me\Documents,C:\work"
|
|
197
|
+
zilmate setup --yes --ai-gateway-key <key> --screenshot-model google/gemini-3.1-flash-lite
|
|
176
198
|
```
|
|
177
199
|
|
|
178
200
|
## Development Commands
|
|
@@ -260,7 +282,13 @@ zilmate voice setup
|
|
|
260
282
|
zilmate voice disable
|
|
261
283
|
zilmate voice enable
|
|
262
284
|
zilmate voice turn "Plan my next two hours"
|
|
285
|
+
zilmate voice devices
|
|
286
|
+
zilmate voice live
|
|
263
287
|
zilmate voice agent-probe
|
|
288
|
+
zilmate camera doctor
|
|
289
|
+
zilmate camera list
|
|
290
|
+
zilmate camera capture
|
|
291
|
+
zilmate camera capture --device "video=Integrated Camera"
|
|
264
292
|
zilmate remember "Use a warm but concise support tone"
|
|
265
293
|
zilmate recall support
|
|
266
294
|
zilmate memory list
|
|
@@ -340,6 +368,9 @@ For UI integrations, pass `onProgress` to render agent/tool progress and `confir
|
|
|
340
368
|
- `jobs run <id>`: run a queued job immediately.
|
|
341
369
|
- `jobs worker`: run the local job processor and local scheduler.
|
|
342
370
|
- `jobs cancel <id>`: cancel one job.
|
|
371
|
+
- `camera doctor`: check OS, ffmpeg availability, detected camera devices, and fallback candidates.
|
|
372
|
+
- `camera list`: list camera device names ZilMate can try.
|
|
373
|
+
- `camera capture`: capture one still image, with retry across common device names unless `--device` is provided.
|
|
343
374
|
- `help`: fast troubleshooting and app guidance.
|
|
344
375
|
- `chat`: one-shot natural dialogue about ZiloShift workflows.
|
|
345
376
|
- `post`: WhatsApp/status/social copy generation.
|
|
@@ -364,6 +395,10 @@ ZilMate uses a manager agent that delegates to focused subagents and external to
|
|
|
364
395
|
- Composio: external app discovery, auth links, schemas, and execution, attached only to the manager.
|
|
365
396
|
- Memory: durable ZilMate facts and preferences saved locally or in Redis, available through CLI commands and manager tools.
|
|
366
397
|
- Jobs: background task creation, schedule setup, status checks, logs, and cancellation available through CLI, SDK, and manager tools.
|
|
398
|
+
- Files: local file search, safe reading, approved writes, folder creation, move/copy/rename, document summaries, folder-change snapshots, and duplicate/large-file audits.
|
|
399
|
+
- Desktop: approved clipboard access, screenshot capture, laptop camera still capture, and Gemini-powered screenshot/photo understanding. Ask naturally inside `zilmate talk`, such as "look at my screen and explain the error", "look through my camera and describe this device", "search this folder for billing docs", or "copy that command to my clipboard".
|
|
400
|
+
|
|
401
|
+
Camera capture requires `ffmpeg` on PATH. On Windows, install with `winget install Gyan.FFmpeg`; on macOS, use `brew install ffmpeg`; on Linux, install `ffmpeg` from your package manager. Run `zilmate camera doctor` to verify OS support and `zilmate camera list` to get exact device names. If Windows reports a custom camera name, set `ZILMATE_CAMERA_DEVICE=video=Your Camera Name` or pass `--device "video=Your Camera Name"`. Clipboard, screenshot, and camera access always ask for approval in agent mode, and can be approved for the current session with `s=session`.
|
|
367
402
|
|
|
368
403
|
Local ZiloShift docs live under `src/doc/`. ZilMate reads them on demand through dedicated tools instead of dumping all docs into every prompt. The manager prefers these local docs for ZiloShift support, worker, venue, payment, verification, SMS, and dispute questions.
|
|
369
404
|
|
package/dist/agents/manager.d.ts
CHANGED
|
@@ -96,6 +96,139 @@ export declare function createManagerAgent(runId?: string, options?: {
|
|
|
96
96
|
cancelJob: import("ai").Tool<{
|
|
97
97
|
id: string;
|
|
98
98
|
}, import("../server.js").ZilMateJob | null>;
|
|
99
|
+
readClipboard: import("ai").Tool<{
|
|
100
|
+
maxCharacters?: number | undefined;
|
|
101
|
+
}, {
|
|
102
|
+
characters: number;
|
|
103
|
+
truncated: boolean;
|
|
104
|
+
text: string;
|
|
105
|
+
}>;
|
|
106
|
+
writeClipboard: import("ai").Tool<{
|
|
107
|
+
text: string;
|
|
108
|
+
}, {
|
|
109
|
+
copied: boolean;
|
|
110
|
+
characters: number;
|
|
111
|
+
}>;
|
|
112
|
+
takeScreenshot: import("ai").Tool<Record<string, never>, {
|
|
113
|
+
file: string;
|
|
114
|
+
}>;
|
|
115
|
+
analyzeScreenshot: import("ai").Tool<{
|
|
116
|
+
path?: string | undefined;
|
|
117
|
+
prompt?: string | undefined;
|
|
118
|
+
searchWeb?: boolean | undefined;
|
|
119
|
+
maxSearchResults?: number | undefined;
|
|
120
|
+
}, {
|
|
121
|
+
webResults?: import("../tools/web-search.tool.js").WebSearchResult[];
|
|
122
|
+
file: string;
|
|
123
|
+
model: string;
|
|
124
|
+
analysis: string;
|
|
125
|
+
}>;
|
|
126
|
+
takeCameraPhoto: import("ai").Tool<{
|
|
127
|
+
device?: string | undefined;
|
|
128
|
+
}, {
|
|
129
|
+
file: string;
|
|
130
|
+
}>;
|
|
131
|
+
analyzeCameraPhoto: import("ai").Tool<{
|
|
132
|
+
device?: string | undefined;
|
|
133
|
+
prompt?: string | undefined;
|
|
134
|
+
searchWeb?: boolean | undefined;
|
|
135
|
+
maxSearchResults?: number | undefined;
|
|
136
|
+
}, {
|
|
137
|
+
webResults?: import("../tools/web-search.tool.js").WebSearchResult[];
|
|
138
|
+
file: string;
|
|
139
|
+
model: string;
|
|
140
|
+
analysis: string;
|
|
141
|
+
}>;
|
|
142
|
+
searchFiles: import("ai").Tool<{
|
|
143
|
+
query: string;
|
|
144
|
+
root?: string | undefined;
|
|
145
|
+
includeContent?: boolean | undefined;
|
|
146
|
+
maxDepth?: number | undefined;
|
|
147
|
+
maxResults?: number | undefined;
|
|
148
|
+
}, {
|
|
149
|
+
match: string;
|
|
150
|
+
excerpt: string;
|
|
151
|
+
path: string;
|
|
152
|
+
absolutePath: string;
|
|
153
|
+
type: "file" | "directory";
|
|
154
|
+
size: number;
|
|
155
|
+
modifiedAt: string;
|
|
156
|
+
}[]>;
|
|
157
|
+
readFile: import("ai").Tool<{
|
|
158
|
+
path: string;
|
|
159
|
+
maxBytes?: number | undefined;
|
|
160
|
+
}, {
|
|
161
|
+
path: string;
|
|
162
|
+
size: number;
|
|
163
|
+
modifiedAt: string;
|
|
164
|
+
truncated: boolean;
|
|
165
|
+
content: string;
|
|
166
|
+
}>;
|
|
167
|
+
writeFile: import("ai").Tool<{
|
|
168
|
+
path: string;
|
|
169
|
+
content: string;
|
|
170
|
+
mode?: "append" | "overwrite" | undefined;
|
|
171
|
+
}, {
|
|
172
|
+
path: string;
|
|
173
|
+
bytes: number;
|
|
174
|
+
mode: "append" | "overwrite";
|
|
175
|
+
}>;
|
|
176
|
+
createFolder: import("ai").Tool<{
|
|
177
|
+
path: string;
|
|
178
|
+
}, {
|
|
179
|
+
path: string;
|
|
180
|
+
created: boolean;
|
|
181
|
+
}>;
|
|
182
|
+
moveCopyRename: import("ai").Tool<{
|
|
183
|
+
operation: "move" | "copy" | "rename";
|
|
184
|
+
from: string;
|
|
185
|
+
to: string;
|
|
186
|
+
overwrite?: boolean | undefined;
|
|
187
|
+
}, {
|
|
188
|
+
operation: "move" | "copy" | "rename";
|
|
189
|
+
from: string;
|
|
190
|
+
to: string;
|
|
191
|
+
}>;
|
|
192
|
+
summarizeDocument: import("ai").Tool<{
|
|
193
|
+
path: string;
|
|
194
|
+
maxBytes?: number | undefined;
|
|
195
|
+
}, {
|
|
196
|
+
characters: number;
|
|
197
|
+
words: number;
|
|
198
|
+
summary: string;
|
|
199
|
+
path: string;
|
|
200
|
+
truncated: boolean;
|
|
201
|
+
}>;
|
|
202
|
+
watchFolderChanges: import("ai").Tool<{
|
|
203
|
+
path?: string | undefined;
|
|
204
|
+
watchName?: string | undefined;
|
|
205
|
+
reset?: boolean | undefined;
|
|
206
|
+
maxDepth?: number | undefined;
|
|
207
|
+
}, {
|
|
208
|
+
watchName: string;
|
|
209
|
+
baselineSaved: boolean;
|
|
210
|
+
added: string[];
|
|
211
|
+
changed: string[];
|
|
212
|
+
removed: string[];
|
|
213
|
+
}>;
|
|
214
|
+
findDuplicateLargeFiles: import("ai").Tool<{
|
|
215
|
+
root?: string | undefined;
|
|
216
|
+
minSizeBytes?: number | undefined;
|
|
217
|
+
maxDepth?: number | undefined;
|
|
218
|
+
maxResults?: number | undefined;
|
|
219
|
+
}, {
|
|
220
|
+
large: {
|
|
221
|
+
path: string;
|
|
222
|
+
absolutePath: string;
|
|
223
|
+
type: "file" | "directory";
|
|
224
|
+
size: number;
|
|
225
|
+
modifiedAt: string;
|
|
226
|
+
}[];
|
|
227
|
+
duplicateSizeGroups: {
|
|
228
|
+
size: number;
|
|
229
|
+
files: string[];
|
|
230
|
+
}[];
|
|
231
|
+
}>;
|
|
99
232
|
getCurrentTime: import("ai").Tool<{
|
|
100
233
|
timeZone?: string | undefined;
|
|
101
234
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/agents/manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,aAAa,EAAE,MAAM,IAAI,CAAC;AAatD,OAAO,EAAgB,KAAK,aAAa,EAAwB,MAAM,wBAAwB,CAAC;AAChG,OAAO,EAAE,KAAK,mBAAmB,EAA2B,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/agents/manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,aAAa,EAAE,MAAM,IAAI,CAAC;AAatD,OAAO,EAAgB,KAAK,aAAa,EAAwB,MAAM,wBAAwB,CAAC;AAChG,OAAO,EAAE,KAAK,mBAAmB,EAA2B,MAAM,uBAAuB,CAAC;AAuF1F,wBAAsB,kBAAkB,CAAC,KAAK,GAAE,MAAqB,EAAE,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO;;;;;;;;;;;;;;;;;;;;mBAqHw56F,CAAC;wBAAsC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAAz2S,CAAC;uBAAqC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAjCxuoF;AAOD,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,mBAAmB,CAAA;CAAO,mBAsB9K"}
|
package/dist/agents/manager.js
CHANGED
|
@@ -21,6 +21,8 @@ import { memoryTools } from '../tools/memory.tool.js';
|
|
|
21
21
|
import { triggerTools } from '../tools/triggers.tool.js';
|
|
22
22
|
import { jobTools } from '../tools/jobs.tool.js';
|
|
23
23
|
import { timeTools } from '../tools/time.tool.js';
|
|
24
|
+
import { fileSystemTools } from '../tools/filesystem.tool.js';
|
|
25
|
+
import { desktopTools } from '../tools/desktop.tool.js';
|
|
24
26
|
function agentInput(prompt, abortSignal) {
|
|
25
27
|
return abortSignal ? { prompt, abortSignal } : { prompt };
|
|
26
28
|
}
|
|
@@ -53,6 +55,20 @@ function describeTool(name) {
|
|
|
53
55
|
listJobLogs: 'Loading job logs',
|
|
54
56
|
cancelJob: 'Cancelling job',
|
|
55
57
|
getCurrentTime: 'Checking time',
|
|
58
|
+
searchFiles: 'Searching files',
|
|
59
|
+
readFile: 'Reading file',
|
|
60
|
+
writeFile: 'Writing file',
|
|
61
|
+
createFolder: 'Creating folder',
|
|
62
|
+
moveCopyRename: 'Moving/copying/renaming file',
|
|
63
|
+
summarizeDocument: 'Summarizing document',
|
|
64
|
+
watchFolderChanges: 'Checking folder changes',
|
|
65
|
+
findDuplicateLargeFiles: 'Finding duplicate/large files',
|
|
66
|
+
readClipboard: 'Reading clipboard',
|
|
67
|
+
writeClipboard: 'Writing clipboard',
|
|
68
|
+
takeScreenshot: 'Taking screenshot',
|
|
69
|
+
analyzeScreenshot: 'Analyzing screenshot',
|
|
70
|
+
takeCameraPhoto: 'Taking camera photo',
|
|
71
|
+
analyzeCameraPhoto: 'Analyzing camera photo',
|
|
56
72
|
COMPOSIO_SEARCH_TOOLS: 'Searching Composio tools',
|
|
57
73
|
COMPOSIO_GET_TOOL_SCHEMAS: 'Loading Composio tool schemas',
|
|
58
74
|
COMPOSIO_MANAGE_CONNECTIONS: 'Managing Composio connection',
|
|
@@ -96,6 +112,8 @@ export async function createManagerAgent(runId = randomUUID(), options = {}) {
|
|
|
96
112
|
model: models.manager,
|
|
97
113
|
instructions: [
|
|
98
114
|
'You are ZilMate, a general CLI assistant with deep built-in ZiloShift expertise.',
|
|
115
|
+
'Know your current capabilities: you have text chat, realtime voice mode with speech input and spoken replies, shared session history, long-term memory, background jobs, scheduled tasks, Composio app tools/triggers, web/docs research, time/date tools, file tools, clipboard, screenshot, camera/photo analysis, image generation, and specialized subagents for automation, personal assistant planning, developer help, research, chat, posts, and images.',
|
|
116
|
+
'When asked what features or tools you lack, do not claim you lack capabilities that are already listed. Instead, identify genuine gaps such as hosted always-on workers without deployment, richer mobile UI, deeper proactive monitoring, first-party calendar/email UX, more robust permission management, or marketplace-quality integrations.',
|
|
99
117
|
'Route ZiloShift/support/worker/venue/payment/verification/SMS/dispute questions through the local Zilo docs before using web research.',
|
|
100
118
|
'Use Composio tools for external app tasks such as GitHub, Gmail, Slack, Notion, Stripe, Supabase, and other connected-account actions. If a needed app is not connected, use Composio connection management and surface the connect link to the user.',
|
|
101
119
|
'For Composio, prefer this flow: use COMPOSIO_SEARCH_TOOLS to find relevant external app tools, COMPOSIO_GET_TOOL_SCHEMAS to inspect required arguments, COMPOSIO_MANAGE_CONNECTIONS to create or show app connection links, and COMPOSIO_MULTI_EXECUTE_TOOL to execute selected tools after arguments are clear.',
|
|
@@ -104,6 +122,8 @@ export async function createManagerAgent(runId = randomUUID(), options = {}) {
|
|
|
104
122
|
'Use job tools when the user wants ZilMate to keep working after chat, schedule a task, create a report later, monitor something, follow up, inspect job status, read job logs, or cancel background work.',
|
|
105
123
|
'Explain that local jobs require `zilmate jobs worker` to be running, and hosted laptop-closed schedules require QStash plus a public job webhook.',
|
|
106
124
|
'Use getCurrentTime whenever the user asks about the current date, current time, today, tomorrow, yesterday, or any schedule-relative wording. Do not guess dates or times.',
|
|
125
|
+
'Use file-system tools for local file search, reading, writing, folder creation, moving/copying/renaming, document summaries, folder change checks, and duplicate/large file audits. File writes and file operations require confirmation. Do not request or expose secrets from .env, keys, credentials, or token files.',
|
|
126
|
+
'Use desktop tools when the user asks you to inspect copied text, copy text to clipboard, take a screenshot, analyze what is visible on screen, describe UI state/errors, use the laptop camera, analyze a camera photo, or search the web based on a screenshot/photo. Clipboard, screenshot, and camera access require confirmation and can be approved for the session.',
|
|
107
127
|
'When returning tool slugs, trigger slugs, ids, env vars, or command names, wrap them in backticks so exact underscores and casing are preserved.',
|
|
108
128
|
'Use specialized subagents for focused chat, quick help, post copy, image assets, research, automation planning, personal-assistant planning, and developer integration help.',
|
|
109
129
|
'Use automationPlanner for background jobs, schedules, Composio trigger workflows, QStash, webhook planning, monitoring, and follow-up automations.',
|
|
@@ -111,6 +131,7 @@ export async function createManagerAgent(runId = randomUUID(), options = {}) {
|
|
|
111
131
|
'Use developerHelper for SDK usage, Next.js routes, install issues, package publishing, Cloudflare tunnels, webhooks, QStash, Composio setup, and technical troubleshooting.',
|
|
112
132
|
'Use research for current web or documentation questions that need sources.',
|
|
113
133
|
'Use long-term memory tools for stable preferences, durable project facts, and recurring context. Do not save secrets, API keys, tokens, passwords, or sensitive personal data to memory.',
|
|
134
|
+
'When the user asks what you were doing earlier, where you left off, to continue, or to resume prior work, check long-term memory and the scratchpad before saying you do not remember. If no relevant memory exists, say that briefly and ask for one cue.',
|
|
114
135
|
'Keep parent context small and use scratchpad tools for compact notes during multi-source or multi-step tasks.',
|
|
115
136
|
'Do not build OAuth flows yourself. Do not claim live external changes happened unless the tool result confirms them.',
|
|
116
137
|
].join(' '),
|
|
@@ -150,6 +171,8 @@ export async function createManagerAgent(runId = randomUUID(), options = {}) {
|
|
|
150
171
|
...ziloDocsTools,
|
|
151
172
|
...memoryTools,
|
|
152
173
|
...timeTools,
|
|
174
|
+
...fileSystemTools,
|
|
175
|
+
...desktopTools,
|
|
153
176
|
...jobTools,
|
|
154
177
|
...triggerTools,
|
|
155
178
|
...scratchpadTools,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/agents/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAsB,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAChG,OAAO,EAA4B,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/agents/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"camera.d.ts","sourceRoot":"","sources":["../../src/cli/camera.ts"],"names":[],"mappings":"AAGA,wBAAsB,kBAAkB,kBAMvC;AAED,wBAAsB,oBAAoB,kBAezC;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,iBAOlE"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { captureCameraPhoto, listCameraDevices, runCameraDoctor } from '../tools/desktop.tool.js';
|
|
2
|
+
import { printPanel, printTable } from './format.js';
|
|
3
|
+
export async function runCameraDoctorCli() {
|
|
4
|
+
const checks = await runCameraDoctor();
|
|
5
|
+
printTable(['Check', 'Status', 'Detail'], checks.map((check) => [check.name, check.status, check.detail]));
|
|
6
|
+
}
|
|
7
|
+
export async function listCameraDevicesCli() {
|
|
8
|
+
const devices = await listCameraDevices();
|
|
9
|
+
if (devices.length === 0) {
|
|
10
|
+
printPanel('Camera Devices', [
|
|
11
|
+
['Status', 'No camera devices were detected'],
|
|
12
|
+
['Next', 'Run zilmate camera doctor'],
|
|
13
|
+
['Manual device', 'Set ZILMATE_CAMERA_DEVICE or pass --device'],
|
|
14
|
+
]);
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
printTable(['Name', 'Input'], devices.map((device) => [device.name, device.input]));
|
|
18
|
+
}
|
|
19
|
+
export async function captureCameraCli(options) {
|
|
20
|
+
const file = await captureCameraPhoto(options.device);
|
|
21
|
+
printPanel('Camera Capture', [
|
|
22
|
+
['Status', 'succeeded'],
|
|
23
|
+
['File', file],
|
|
24
|
+
['Analyze', 'Ask ZilMate in talk: analyze this camera photo'],
|
|
25
|
+
]);
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=camera.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"camera.js","sourceRoot":"","sources":["../../src/cli/camera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAClG,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAErD,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;IACvC,UAAU,CACR,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAC7B,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAChE,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;IAC1C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,UAAU,CAAC,gBAAgB,EAAE;YAC3B,CAAC,QAAQ,EAAE,iCAAiC,CAAC;YAC7C,CAAC,MAAM,EAAE,2BAA2B,CAAC;YACrC,CAAC,eAAe,EAAE,4CAA4C,CAAC;SAChE,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,UAAU,CACR,CAAC,MAAM,EAAE,OAAO,CAAC,EACjB,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CACrD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAA4B;IACjE,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACtD,UAAU,CAAC,gBAAgB,EAAE;QAC3B,CAAC,QAAQ,EAAE,WAAW,CAAC;QACvB,CAAC,MAAM,EAAE,IAAI,CAAC;QACd,CAAC,SAAS,EAAE,gDAAgD,CAAC;KAC9D,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../../src/cli/interactive.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../../src/cli/interactive.ts"],"names":[],"mappings":"AA0BA,wBAAsB,oBAAoB,CAAC,SAAS,SAAY,iBA2F/D"}
|
package/dist/cli/interactive.js
CHANGED
|
@@ -9,6 +9,7 @@ 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
11
|
import { checkVoiceRuntime, getVoiceConfig } from '../voice/deepgram.js';
|
|
12
|
+
import { runTerminalVoiceLive } from './voice.js';
|
|
12
13
|
function transcript(turns) {
|
|
13
14
|
if (turns.length === 0)
|
|
14
15
|
return '';
|
|
@@ -24,7 +25,7 @@ function memoryBlock(memories) {
|
|
|
24
25
|
}
|
|
25
26
|
export async function startInteractiveChat(sessionId = 'default') {
|
|
26
27
|
requireGatewayAuth();
|
|
27
|
-
|
|
28
|
+
let rl = readline.createInterface({ input, output });
|
|
28
29
|
let turns = await loadTurns(sessionId);
|
|
29
30
|
const runId = randomUUID();
|
|
30
31
|
let voiceMode = false;
|
|
@@ -66,9 +67,18 @@ export async function startInteractiveChat(sessionId = 'default') {
|
|
|
66
67
|
console.log('Voice needs the Deepgram SDK installed. Run `npm install`, then `zilmate voice doctor`.');
|
|
67
68
|
continue;
|
|
68
69
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
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 });
|
|
72
82
|
continue;
|
|
73
83
|
}
|
|
74
84
|
if (message === '/voice -q' || message === '/voice off' || message === '/voice stop') {
|
|
@@ -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;AAC1D,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"interactive.js","sourceRoot":"","sources":["../../src/cli/interactive.ts"],"names":[],"mappings":"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"}
|
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
|
@@ -15,6 +15,7 @@ import { printWelcomeScreen } from './welcome.js';
|
|
|
15
15
|
import { printVoiceConfig, runVoiceDoctor } from './voice.js';
|
|
16
16
|
import { runVoiceSetup, setVoiceEnabled } from './setup.js';
|
|
17
17
|
import { runSelfUpdate } from './update.js';
|
|
18
|
+
import { listCameraDevicesCli, runCameraDoctorCli } from './camera.js';
|
|
18
19
|
async function ask(rl, prompt) {
|
|
19
20
|
return (await rl.question(prompt)).trim();
|
|
20
21
|
}
|
|
@@ -34,6 +35,7 @@ export async function startMainMenu() {
|
|
|
34
35
|
['8', 'Trigger workflows'],
|
|
35
36
|
['9', 'Voice setup/status'],
|
|
36
37
|
['10', 'Update ZilMate'],
|
|
38
|
+
['11', 'Camera tools'],
|
|
37
39
|
['0', 'Exit'],
|
|
38
40
|
]);
|
|
39
41
|
if (!hasGatewayAuth()) {
|
|
@@ -115,6 +117,18 @@ export async function startMainMenu() {
|
|
|
115
117
|
return;
|
|
116
118
|
}
|
|
117
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
|
+
}
|
|
118
132
|
await ask(rl, '\nPress Enter to continue...');
|
|
119
133
|
}
|
|
120
134
|
}
|
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;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,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
|
@@ -18,6 +18,11 @@ type SetupOptions = {
|
|
|
18
18
|
voiceListenModel?: string;
|
|
19
19
|
voiceTtsModel?: string;
|
|
20
20
|
voiceLanguage?: string;
|
|
21
|
+
voiceInputDevice?: string;
|
|
22
|
+
cameraDevice?: string;
|
|
23
|
+
installCameraDeps?: string;
|
|
24
|
+
screenshotModel?: string;
|
|
25
|
+
fileRoots?: string;
|
|
21
26
|
};
|
|
22
27
|
export declare function runSetup(options?: SetupOptions): Promise<void>;
|
|
23
28
|
export declare function runVoiceSetup(options?: Pick<SetupOptions, 'path' | 'force' | 'deepgramApiKey' | 'voiceListenModel' | 'voiceTtsModel' | 'voiceLanguage'>): Promise<void>;
|
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"}
|