@voquill/desktop-native-apis 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,69 @@
1
+ # @voquill/desktop-native-apis
2
+
3
+ Type-safe TypeScript wrappers for the Voquill desktop app's Tauri commands. A web app loaded inside the Voquill Tauri shell can import this package to call the Rust native layer (database, audio recorder, accessibility APIs, etc.) without writing raw `invoke()` strings.
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ pnpm add @voquill/desktop-native-apis
9
+ ```
10
+
11
+ The package declares `@tauri-apps/api` as a dependency — no extra setup is needed.
12
+
13
+ ## Usage
14
+
15
+ ```ts
16
+ import { commands } from "@voquill/desktop-native-apis";
17
+
18
+ const user = await commands.userGetOne();
19
+ if (user.status === "ok" && user.data) {
20
+ console.log(user.data.name);
21
+ }
22
+
23
+ const transcriptions = await commands.transcriptionList();
24
+
25
+ const result = await commands.setSystemVolume(0.5);
26
+ if (result.status === "error") {
27
+ console.error(result.error);
28
+ }
29
+ ```
30
+
31
+ Commands that return `Result<T, E>` need a `.status` check. Commands that return a value directly (no `Result`) resolve with the value.
32
+
33
+ Type definitions for every argument and return type are exported alongside the commands:
34
+
35
+ ```ts
36
+ import type { Transcription, UserPreferences, PillWindowSize } from "@voquill/desktop-native-apis";
37
+ ```
38
+
39
+ ## Runtime requirement
40
+
41
+ The package calls `@tauri-apps/api`'s `invoke()`. It will throw if loaded outside the Voquill Tauri shell (no `window.__TAURI_INTERNALS__`). Consumer apps that render both in and out of Tauri should feature-detect:
42
+
43
+ ```ts
44
+ const isTauri = !!(window as any).__TAURI_INTERNALS__;
45
+ if (isTauri) {
46
+ const user = await commands.userGetOne();
47
+ }
48
+ ```
49
+
50
+ ## Regenerating bindings
51
+
52
+ `src/bindings.ts` is auto-generated from the Rust sources by [`tauri-specta`](https://github.com/specta-rs/tauri-specta). Run from the repo root after any change to `#[tauri::command]` signatures:
53
+
54
+ ```bash
55
+ pnpm gen:bindings
56
+ ```
57
+
58
+ This runs the `gen_bindings` Rust binary at `apps/desktop/src-tauri/src/bin/gen_bindings.rs`, which walks every annotated command and emits `packages/desktop-native-apis/src/bindings.ts`. After regenerating, rebuild the package:
59
+
60
+ ```bash
61
+ pnpm --filter @voquill/desktop-native-apis build
62
+ ```
63
+
64
+ ### Adding a new command
65
+
66
+ 1. Add `#[tauri::command]` and `#[specta::specta]` to the new function in `apps/desktop/src-tauri/src/commands.rs`.
67
+ 2. Register the command in both `apps/desktop/src-tauri/src/app.rs` (invoke handler) and `apps/desktop/src-tauri/src/bin/gen_bindings.rs` (collect_commands macro).
68
+ 3. Derive `specta::Type` on any new argument or return types that aren't primitives.
69
+ 4. Run `pnpm gen:bindings`.
@@ -0,0 +1,530 @@
1
+ /** user-defined commands **/
2
+ export declare const commands: {
3
+ userGetOne(): Promise<Result<User | null, string>>;
4
+ userSetOne(user: User): Promise<Result<User, string>>;
5
+ userPreferencesGet(args: UserPreferencesGetArgs): Promise<Result<UserPreferences | null, string>>;
6
+ startGoogleSignIn(): Promise<Result<null, string>>;
7
+ startEnterpriseOidcSignIn(gatewayUrl: string, providerId: string): Promise<Result<null, string>>;
8
+ userPreferencesSet(preferences: UserPreferences): Promise<Result<UserPreferences, string>>;
9
+ listMicrophones(): Promise<InputDeviceDescriptor[]>;
10
+ listGpus(): Promise<GpuAdapterInfo[]>;
11
+ getScreenVisibleArea(): Promise<ScreenVisibleArea>;
12
+ getMonitorAtCursor(): Promise<MonitorAtCursor | null>;
13
+ checkMicrophonePermission(): Promise<Result<PermissionStatus, string>>;
14
+ requestMicrophonePermission(): Promise<Result<PermissionStatus, string>>;
15
+ checkAccessibilityPermission(): Promise<Result<PermissionStatus, string>>;
16
+ requestAccessibilityPermission(): Promise<Result<PermissionStatus, string>>;
17
+ getCurrentAppInfo(): Promise<Result<CurrentAppInfoResponse, string>>;
18
+ appTargetUpsert(args: AppTargetUpsertArgs): Promise<Result<AppTarget, string>>;
19
+ appTargetList(): Promise<Result<AppTarget[], string>>;
20
+ pairedRemoteDeviceUpsert(args: PairedRemoteDeviceUpsertArgs): Promise<Result<PairedRemoteDevice, string>>;
21
+ pairedRemoteDeviceList(): Promise<Result<PairedRemoteDevice[], string>>;
22
+ pairedRemoteDeviceDelete(args: PairedRemoteDeviceDeleteArgs): Promise<Result<null, string>>;
23
+ remoteReceiverStart(args: StartRemoteReceiverArgs): Promise<Result<RemoteReceiverStatus, string>>;
24
+ remoteReceiverStop(): Promise<Result<null, string>>;
25
+ remoteReceiverStatus(): Promise<Result<RemoteReceiverStatus, string>>;
26
+ remoteSenderDeliverFinalText(args: RemoteSenderDeliverArgs): Promise<Result<null, string>>;
27
+ remoteSenderPairWithReceiver(args: RemoteSenderPairArgs): Promise<Result<PairedRemoteDevice, string>>;
28
+ startRecording(args: StartRecordingArgs | null): Promise<Result<StartRecordingResponse, string>>;
29
+ stopRecording(): Promise<Result<StopRecordingResponse, string>>;
30
+ storeTranscriptionAudio(id: string, samples: number[], sampleRate: number): Promise<Result<TranscriptionAudioSnapshot, string>>;
31
+ storageUploadData(args: StorageUploadArgs): Promise<Result<null, string>>;
32
+ storageGetDownloadUrl(path: string): Promise<Result<string, string>>;
33
+ surfaceMainWindow(): Promise<Result<null, string>>;
34
+ setPillWindowSize(size: PillWindowSize): Promise<void>;
35
+ paste(text: string, keybind: string | null): Promise<Result<PasteOutcome, string>>;
36
+ copyToClipboard(text: string): Promise<Result<null, string>>;
37
+ transcriptionCreate(transcription: Transcription): Promise<Result<Transcription, string>>;
38
+ transcriptionList(limit: number | null, offset: number | null): Promise<Result<Transcription[], string>>;
39
+ transcriptionDelete(id: string): Promise<Result<null, string>>;
40
+ transcriptionUpdate(transcription: Transcription): Promise<Result<Transcription, string>>;
41
+ transcriptionAudioLoad(id: string): Promise<Result<TranscriptionAudioData, string>>;
42
+ purgeStaleTranscriptionAudio(): Promise<Result<string[], string>>;
43
+ exportTranscription(id: string): Promise<Result<boolean, string>>;
44
+ exportDiagnostics(diagnosticsInfo: string): Promise<Result<boolean, string>>;
45
+ termCreate(term: Term): Promise<Result<Term, string>>;
46
+ termUpdate(term: Term): Promise<Result<Term, string>>;
47
+ termList(): Promise<Result<Term[], string>>;
48
+ termDelete(id: string): Promise<Result<null, string>>;
49
+ hotkeyList(): Promise<Result<Hotkey[], string>>;
50
+ hotkeySave(hotkey: Hotkey): Promise<Result<Hotkey, string>>;
51
+ hotkeyDelete(id: string): Promise<Result<null, string>>;
52
+ setTrayTitle(title: string | null): Promise<Result<null, string>>;
53
+ setMenuIcon(variant: MenuIconVariant): Promise<Result<null, string>>;
54
+ setTrayVisible(visible: boolean): Promise<Result<null, string>>;
55
+ apiKeyCreate(apiKey: ApiKeyCreateRequest): Promise<Result<ApiKeyView, string>>;
56
+ apiKeyList(): Promise<Result<ApiKeyView[], string>>;
57
+ apiKeyDelete(id: string): Promise<Result<null, string>>;
58
+ apiKeyUpdate(request: ApiKeyUpdateRequest): Promise<Result<ApiKeyView, string>>;
59
+ toneUpsert(tone: Tone): Promise<Result<Tone, string>>;
60
+ toneList(): Promise<Result<Tone[], string>>;
61
+ toneGet(id: string): Promise<Result<Tone | null, string>>;
62
+ toneDelete(id: string): Promise<Result<null, string>>;
63
+ clearLocalData(): Promise<Result<null, string>>;
64
+ setPhase(phase: string): Promise<Result<null, string>>;
65
+ setPillVisibility(visibility: string): Promise<void>;
66
+ notifyPillStyleInfo(count: number, name: string): Promise<void>;
67
+ syncNativePillAssistant(payload: string): Promise<void>;
68
+ startKeyListener(): Promise<Result<null, string>>;
69
+ stopKeyListener(): Promise<Result<null, string>>;
70
+ syncHotkeyCombos(combos: string[][]): Promise<void>;
71
+ syncCompositorHotkeys(bindings: CompositorBinding[]): Promise<Result<null, string>>;
72
+ resetKeyListenerState(): Promise<void>;
73
+ playAudio(clip: AudioClip): Promise<Result<null, string>>;
74
+ getTextFieldInfo(): Promise<Result<TextFieldInfo, string>>;
75
+ getScreenContext(): Promise<Result<ScreenContextInfo, string>>;
76
+ getSelectedText(): Promise<Result<string | null, string>>;
77
+ gatherAccessibilityDump(): Promise<Result<AccessibilityDumpResult, string>>;
78
+ getFocusedFieldInfo(): Promise<Result<AccessibilityFieldInfo | null, string>>;
79
+ writeAccessibilityFields(entries: AccessibilityWriteEntry[]): Promise<Result<AccessibilityWriteResult, string>>;
80
+ focusAccessibilityField(target: AccessibilityFocusTarget): Promise<Result<null, string>>;
81
+ readAccessibilityFieldValues(fields: FieldValueRequest[]): Promise<Result<FieldValueResult[], string>>;
82
+ checkFocusedPasteTarget(): Promise<Result<PasteTargetState, string>>;
83
+ /**
84
+ * - macOS: ~/Library/Application Support/com.voquill.desktop/enterprise.json
85
+ * - Linux: ~/.config/com.voquill.desktop/enterprise.json
86
+ * - Windows: C:\Users\<User>\AppData\Roaming\com.voquill.desktop\enterprise.json
87
+ */
88
+ readEnterpriseTarget(): Promise<Result<[string, string | null], string>>;
89
+ runTerminalCommand(command: string): Promise<Result<RunTerminalCommandResponse, string>>;
90
+ getHotkeyStrategy(): Promise<string>;
91
+ supportsAppDetection(): Promise<boolean>;
92
+ supportsPasteKeybinds(): Promise<PasteKeybindSupport>;
93
+ getNativeSetupStatus(): Promise<NativeSetupStatus>;
94
+ runNativeSetup(): Promise<NativeSetupResult>;
95
+ getKeyboardLanguage(): Promise<Result<string, string>>;
96
+ conversationCreate(conversation: Conversation): Promise<Result<Conversation, string>>;
97
+ conversationList(): Promise<Result<Conversation[], string>>;
98
+ conversationUpdate(conversation: Conversation): Promise<Result<Conversation, string>>;
99
+ conversationDelete(id: string): Promise<Result<null, string>>;
100
+ chatMessageCreate(message: ChatMessage): Promise<Result<ChatMessage, string>>;
101
+ chatMessageList(conversationId: string): Promise<Result<ChatMessage[], string>>;
102
+ chatMessageUpdate(message: ChatMessage): Promise<Result<ChatMessage, string>>;
103
+ chatMessageDeleteMany(ids: string[]): Promise<Result<null, string>>;
104
+ /**
105
+ * Returns `true` when the running app bundle can be updated in-place.
106
+ * On macOS this checks whether the process can write to the directory that
107
+ * contains the `.app` bundle (typically `/Applications`).
108
+ * Non-macOS platforms always return `true`.
109
+ */
110
+ checkAppLocationWritable(): Promise<Result<boolean, string>>;
111
+ /**
112
+ * Downloads a `.pkg` installer to a temp directory and opens it with
113
+ * macOS Installer.app. This is used as a fallback when the normal in-place
114
+ * updater cannot write to the app's install location.
115
+ */
116
+ downloadAndOpenMacInstaller(url: string): Promise<Result<null, string>>;
117
+ getSystemVolume(): Promise<Result<number, string>>;
118
+ setSystemVolume(volume: number): Promise<Result<null, string>>;
119
+ };
120
+ /** user-defined events **/
121
+ /** user-defined constants **/
122
+ /** user-defined types **/
123
+ export type AccessibilityDumpResult = {
124
+ dump: string | null;
125
+ windowTitle: string | null;
126
+ processName: string | null;
127
+ elementCount: number;
128
+ };
129
+ export type AccessibilityFieldInfo = {
130
+ role: string | null;
131
+ title: string | null;
132
+ description: string | null;
133
+ value: string | null;
134
+ placeholder: string | null;
135
+ appPid: number | null;
136
+ appName: string | null;
137
+ windowTitle: string | null;
138
+ isSettable: boolean;
139
+ elementIndexPath: number[];
140
+ fingerprintChain: ElementFingerprint[];
141
+ canPaste: boolean;
142
+ /**
143
+ * "jab" for Java Access Bridge fields, None for UIAutomation
144
+ */
145
+ backend?: string | null;
146
+ };
147
+ export type AccessibilityFocusTarget = {
148
+ appPid: number;
149
+ elementIndexPath: number[];
150
+ fingerprintChain: ElementFingerprint[] | null;
151
+ backend?: string | null;
152
+ };
153
+ export type AccessibilityWriteEntry = {
154
+ appPid: number;
155
+ elementIndexPath: number[];
156
+ fingerprintChain: ElementFingerprint[] | null;
157
+ value: string;
158
+ backend?: string | null;
159
+ jabWriteMethod?: JabWriteMethod;
160
+ };
161
+ export type AccessibilityWriteResult = {
162
+ succeeded: number;
163
+ failed: number;
164
+ errors: string[];
165
+ };
166
+ export type ApiKeyCreateRequest = {
167
+ id: string;
168
+ name: string;
169
+ provider: string;
170
+ key: string;
171
+ baseUrl?: string | null;
172
+ azureRegion?: string | null;
173
+ includeV1Path?: boolean | null;
174
+ };
175
+ export type ApiKeyUpdateRequest = {
176
+ id: string;
177
+ name?: string | null;
178
+ key?: string | null;
179
+ transcriptionModel?: string | null;
180
+ postProcessingModel?: string | null;
181
+ openRouterConfig?: string | null;
182
+ baseUrl?: string | null;
183
+ azureRegion?: string | null;
184
+ includeV1Path?: boolean | null;
185
+ };
186
+ export type ApiKeyView = {
187
+ id: string;
188
+ name: string;
189
+ provider: string;
190
+ createdAt: number;
191
+ keySuffix?: string | null;
192
+ keyFull?: string | null;
193
+ transcriptionModel?: string | null;
194
+ postProcessingModel?: string | null;
195
+ openRouterConfig?: string | null;
196
+ baseUrl?: string | null;
197
+ azureRegion?: string | null;
198
+ includeV1Path?: boolean | null;
199
+ };
200
+ export type AppTarget = {
201
+ id: string;
202
+ name: string;
203
+ createdAt: string;
204
+ toneId: string | null;
205
+ iconPath: string | null;
206
+ pasteKeybind?: string | null;
207
+ };
208
+ export type AppTargetUpsertArgs = {
209
+ id: string;
210
+ name: string;
211
+ toneId?: string | null;
212
+ iconPath?: string | null;
213
+ pasteKeybind?: string | null;
214
+ };
215
+ export type AudioClip = "start_recording_clip" | "stop_recording_clip" | "alert_linux_clip" | "alert_macos_clip" | "alert_windows_10_clip" | "alert_windows_11_clip";
216
+ export type ChatMessage = {
217
+ id: string;
218
+ conversationId: string;
219
+ role: string;
220
+ content: string;
221
+ createdAt: number;
222
+ metadata: string | null;
223
+ };
224
+ export type CompositorBinding = {
225
+ actionName: string;
226
+ keys: string[];
227
+ };
228
+ export type Conversation = {
229
+ id: string;
230
+ title: string;
231
+ createdAt: number;
232
+ updatedAt: number;
233
+ };
234
+ export type CurrentAppInfoResponse = {
235
+ appName: string;
236
+ iconBase64: string;
237
+ };
238
+ export type ElementFingerprint = {
239
+ automationId: string | null;
240
+ className: string | null;
241
+ controlType: number;
242
+ name: string | null;
243
+ frameworkId: string | null;
244
+ childIndex: number;
245
+ };
246
+ export type FieldValueRequest = {
247
+ appPid: number;
248
+ elementIndexPath: number[];
249
+ fingerprintChain: ElementFingerprint[] | null;
250
+ backend?: string | null;
251
+ };
252
+ export type FieldValueResult = {
253
+ value: string | null;
254
+ error: string | null;
255
+ };
256
+ export type GpuAdapterInfo = {
257
+ name: string;
258
+ vendor: number;
259
+ device: number;
260
+ deviceType: string;
261
+ backend: string;
262
+ };
263
+ export type Hotkey = {
264
+ id: string;
265
+ actionName: string;
266
+ keys: string[];
267
+ };
268
+ export type InputDeviceDescriptor = {
269
+ label: string;
270
+ is_default: boolean;
271
+ caution: boolean;
272
+ };
273
+ export type JabWriteMethod =
274
+ /**
275
+ * JAB `setTextContents` API — replaces entire field contents directly.
276
+ */
277
+ "setTextContents" |
278
+ /**
279
+ * Focus element → Ctrl+A → Ctrl+V (clipboard paste). Default.
280
+ */
281
+ "clipboardPaste" |
282
+ /**
283
+ * Focus element → Ctrl+A → type each character via SendInput.
284
+ */
285
+ "keystrokeSimulation" |
286
+ /**
287
+ * Read current text, compute diff, apply minimal edits via cursor + keystrokes.
288
+ */
289
+ "keystrokeSimulationSmart";
290
+ export type MenuIconVariant = "default" | "update";
291
+ export type MonitorAtCursor = {
292
+ x: number;
293
+ y: number;
294
+ width: number;
295
+ height: number;
296
+ visibleX: number;
297
+ visibleY: number;
298
+ visibleWidth: number;
299
+ visibleHeight: number;
300
+ scaleFactor: number;
301
+ cursorX: number;
302
+ cursorY: number;
303
+ };
304
+ export type NativeSetupResult = "success" | "require-restart" | "failed";
305
+ export type NativeSetupStatus = "ready" | "needs-setup" | "needs-restart";
306
+ export type PairedRemoteDevice = {
307
+ id: string;
308
+ name: string;
309
+ platform: string;
310
+ role: string;
311
+ sharedSecret: string;
312
+ pairedAt: string;
313
+ lastSeenAt?: string | null;
314
+ lastKnownAddress?: string | null;
315
+ trusted?: boolean;
316
+ };
317
+ export type PairedRemoteDeviceDeleteArgs = {
318
+ id: string;
319
+ };
320
+ export type PairedRemoteDeviceUpsertArgs = {
321
+ id: string;
322
+ name: string;
323
+ platform: string;
324
+ role: string;
325
+ sharedSecret: string;
326
+ pairedAt: string;
327
+ lastSeenAt?: string | null;
328
+ lastKnownAddress?: string | null;
329
+ trusted?: boolean;
330
+ };
331
+ export type PasteKeybindSupport = "disabled" | "per-app" | "global";
332
+ export type PasteOutcome = "pasted" | "copied_to_clipboard";
333
+ export type PasteTargetState = "editable" | "not_editable" | "unknown";
334
+ export type PermissionKind = "microphone" | "accessibility";
335
+ export type PermissionState = "authorized" | "denied" | "restricted" | "not-determined";
336
+ export type PermissionStatus = {
337
+ kind: PermissionKind;
338
+ state: PermissionState;
339
+ promptShown: boolean;
340
+ };
341
+ export type PillWindowSize = "dictation" | "assistant_compact" | "assistant_expanded" | "assistant_typing";
342
+ export type RemoteReceiverStatus = {
343
+ enabled: boolean;
344
+ deviceId: string;
345
+ deviceName: string;
346
+ listenAddress: string | null;
347
+ port: number | null;
348
+ pairingCode: string;
349
+ lastSenderDeviceId: string | null;
350
+ lastEventId: string | null;
351
+ lastDeliveryStatus: string | null;
352
+ lastDeliveryAt: string | null;
353
+ lastError: string | null;
354
+ lastTargetClassName: string | null;
355
+ lastTargetTitle: string | null;
356
+ lastTargetEditable: boolean | null;
357
+ devicePlatform: string;
358
+ };
359
+ export type RemoteSenderDeliverArgs = {
360
+ targetDeviceId: string;
361
+ text: string;
362
+ mode: string;
363
+ };
364
+ export type RemoteSenderPairArgs = {
365
+ receiverDeviceId: string;
366
+ receiverName: string;
367
+ receiverPlatform: string;
368
+ receiverAddress: string;
369
+ pairingCode: string;
370
+ };
371
+ /**
372
+ * Reads `enterprise.json` from the app config directory. Returns `None` if the file does not exist.
373
+ *
374
+ * Platform paths:
375
+ */
376
+ export type RunTerminalCommandResponse = {
377
+ stdout: string;
378
+ stderr: string;
379
+ exitCode: number;
380
+ };
381
+ export type ScreenContextInfo = {
382
+ screenContext: string | null;
383
+ };
384
+ export type ScreenVisibleArea = {
385
+ topInset: number;
386
+ bottomInset: number;
387
+ leftInset: number;
388
+ rightInset: number;
389
+ };
390
+ export type StartRecordingArgs = {
391
+ preferredMicrophone: string | null;
392
+ };
393
+ export type StartRecordingResponse = {
394
+ sampleRate: number;
395
+ };
396
+ export type StartRemoteReceiverArgs = {
397
+ port?: number | null;
398
+ };
399
+ export type StopRecordingResponse = {
400
+ samples: number[];
401
+ sampleRate: number;
402
+ };
403
+ export type StorageUploadArgs = {
404
+ path: string;
405
+ data: number[];
406
+ };
407
+ export type Term = {
408
+ id: string;
409
+ createdAt: number;
410
+ createdByUserId: string;
411
+ sourceValue: string;
412
+ destinationValue: string;
413
+ isReplacement: boolean;
414
+ isDeleted: boolean;
415
+ };
416
+ export type TextFieldInfo = {
417
+ cursorPosition: number | null;
418
+ selectionLength: number | null;
419
+ textContent: string | null;
420
+ };
421
+ export type Tone = {
422
+ id: string;
423
+ name: string;
424
+ promptTemplate: string;
425
+ createdAt: number;
426
+ sortOrder: number;
427
+ };
428
+ export type Transcription = {
429
+ id: string;
430
+ transcript: string;
431
+ timestamp: number;
432
+ audio?: TranscriptionAudioSnapshot | null;
433
+ modelSize?: string | null;
434
+ inferenceDevice?: string | null;
435
+ rawTranscript?: string | null;
436
+ sanitizedTranscript?: string | null;
437
+ transcriptionPrompt?: string | null;
438
+ postProcessPrompt?: string | null;
439
+ transcriptionApiKeyId?: string | null;
440
+ postProcessApiKeyId?: string | null;
441
+ transcriptionMode?: string | null;
442
+ postProcessMode?: string | null;
443
+ postProcessDevice?: string | null;
444
+ transcriptionDurationMs?: number | null;
445
+ postprocessDurationMs?: number | null;
446
+ warnings?: string[] | null;
447
+ remoteStatus?: string | null;
448
+ remoteDeviceId?: string | null;
449
+ };
450
+ export type TranscriptionAudioData = {
451
+ samples: number[];
452
+ sampleRate: number;
453
+ };
454
+ export type TranscriptionAudioSnapshot = {
455
+ filePath: string;
456
+ durationMs: number;
457
+ };
458
+ export type User = {
459
+ id: string;
460
+ name: string;
461
+ bio: string;
462
+ company?: string | null;
463
+ title?: string | null;
464
+ onboarded: boolean;
465
+ preferredMicrophone?: string | null;
466
+ preferredLanguage?: string | null;
467
+ wordsThisMonth?: number;
468
+ wordsThisMonthMonth?: string | null;
469
+ wordsTotal?: number;
470
+ playInteractionChime?: boolean;
471
+ hasFinishedTutorial?: boolean;
472
+ hasMigratedPreferredMicrophone?: boolean;
473
+ cohort?: string | null;
474
+ stylingMode?: string | null;
475
+ selectedToneId?: string | null;
476
+ activeToneIds?: string | null;
477
+ streak?: number | null;
478
+ streakRecordedAt?: string | null;
479
+ referralSource?: string | null;
480
+ };
481
+ export type UserPreferences = {
482
+ userId: string;
483
+ transcriptionMode?: string | null;
484
+ transcriptionApiKeyId?: string | null;
485
+ transcriptionDevice?: string | null;
486
+ transcriptionModelSize?: string | null;
487
+ postProcessingMode?: string | null;
488
+ postProcessingApiKeyId?: string | null;
489
+ postProcessingOllamaUrl?: string | null;
490
+ postProcessingOllamaModel?: string | null;
491
+ agentMode?: string | null;
492
+ agentModeApiKeyId?: string | null;
493
+ openclawGatewayUrl?: string | null;
494
+ openclawToken?: string | null;
495
+ activeToneId?: string | null;
496
+ gotStartedAt?: number | null;
497
+ gpuEnumerationEnabled?: boolean;
498
+ pasteKeybind?: string | null;
499
+ lastSeenFeature?: string | null;
500
+ isEnterprise?: boolean;
501
+ languageSwitchEnabled?: boolean;
502
+ secondaryDictationLanguage?: string | null;
503
+ activeDictationLanguage?: string | null;
504
+ additionalDictationLanguages?: string[] | null;
505
+ preferredMicrophone?: string | null;
506
+ ignoreUpdateDialog?: boolean;
507
+ incognitoModeEnabled?: boolean;
508
+ incognitoModeIncludeInStats?: boolean;
509
+ dictationLimitMinutes?: number;
510
+ dictationPillVisibility?: string;
511
+ useNewBackend?: boolean;
512
+ realtimeOutputEnabled?: boolean;
513
+ remoteOutputEnabled?: boolean;
514
+ remoteTargetDeviceId?: string | null;
515
+ remoteReceiverPort?: number | null;
516
+ remoteReceiverAutoStart?: boolean;
517
+ dictationAudioDim?: number;
518
+ menuBarIconHidden?: boolean;
519
+ };
520
+ export type UserPreferencesGetArgs = {
521
+ userId: string;
522
+ };
523
+ export type Result<T, E> = {
524
+ status: "ok";
525
+ data: T;
526
+ } | {
527
+ status: "error";
528
+ error: E;
529
+ };
530
+ //# sourceMappingURL=bindings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bindings.d.ts","sourceRoot":"","sources":["../src/bindings.ts"],"names":[],"mappings":"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"}