@flighthq/host-electron 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.
Files changed (94) hide show
  1. package/dist/electronApp.d.ts +4 -0
  2. package/dist/electronApp.d.ts.map +1 -0
  3. package/dist/electronApp.js +184 -0
  4. package/dist/electronApp.js.map +1 -0
  5. package/dist/electronClipboard.d.ts +4 -0
  6. package/dist/electronClipboard.d.ts.map +1 -0
  7. package/dist/electronClipboard.js +211 -0
  8. package/dist/electronClipboard.js.map +1 -0
  9. package/dist/electronDialog.d.ts +4 -0
  10. package/dist/electronDialog.d.ts.map +1 -0
  11. package/dist/electronDialog.js +85 -0
  12. package/dist/electronDialog.js.map +1 -0
  13. package/dist/electronIpc.d.ts +4 -0
  14. package/dist/electronIpc.d.ts.map +1 -0
  15. package/dist/electronIpc.js +21 -0
  16. package/dist/electronIpc.js.map +1 -0
  17. package/dist/electronMenu.d.ts +4 -0
  18. package/dist/electronMenu.d.ts.map +1 -0
  19. package/dist/electronMenu.js +59 -0
  20. package/dist/electronMenu.js.map +1 -0
  21. package/dist/electronModule.d.ts +368 -0
  22. package/dist/electronModule.d.ts.map +1 -0
  23. package/dist/electronModule.js +12 -0
  24. package/dist/electronModule.js.map +1 -0
  25. package/dist/electronNotification.d.ts +4 -0
  26. package/dist/electronNotification.d.ts.map +1 -0
  27. package/dist/electronNotification.js +134 -0
  28. package/dist/electronNotification.js.map +1 -0
  29. package/dist/electronPlatform.d.ts +4 -0
  30. package/dist/electronPlatform.d.ts.map +1 -0
  31. package/dist/electronPlatform.js +30 -0
  32. package/dist/electronPlatform.js.map +1 -0
  33. package/dist/electronPower.d.ts +4 -0
  34. package/dist/electronPower.d.ts.map +1 -0
  35. package/dist/electronPower.js +92 -0
  36. package/dist/electronPower.js.map +1 -0
  37. package/dist/electronProtocol.d.ts +4 -0
  38. package/dist/electronProtocol.d.ts.map +1 -0
  39. package/dist/electronProtocol.js +55 -0
  40. package/dist/electronProtocol.js.map +1 -0
  41. package/dist/electronRegister.d.ts +6 -0
  42. package/dist/electronRegister.d.ts.map +1 -0
  43. package/dist/electronRegister.js +62 -0
  44. package/dist/electronRegister.js.map +1 -0
  45. package/dist/electronScreen.d.ts +4 -0
  46. package/dist/electronScreen.d.ts.map +1 -0
  47. package/dist/electronScreen.js +68 -0
  48. package/dist/electronScreen.js.map +1 -0
  49. package/dist/electronShell.d.ts +4 -0
  50. package/dist/electronShell.d.ts.map +1 -0
  51. package/dist/electronShell.js +105 -0
  52. package/dist/electronShell.js.map +1 -0
  53. package/dist/electronShortcut.d.ts +4 -0
  54. package/dist/electronShortcut.d.ts.map +1 -0
  55. package/dist/electronShortcut.js +40 -0
  56. package/dist/electronShortcut.js.map +1 -0
  57. package/dist/electronStorage.d.ts +4 -0
  58. package/dist/electronStorage.d.ts.map +1 -0
  59. package/dist/electronStorage.js +75 -0
  60. package/dist/electronStorage.js.map +1 -0
  61. package/dist/electronTray.d.ts +4 -0
  62. package/dist/electronTray.d.ts.map +1 -0
  63. package/dist/electronTray.js +164 -0
  64. package/dist/electronTray.js.map +1 -0
  65. package/dist/electronUpdater.d.ts +4 -0
  66. package/dist/electronUpdater.d.ts.map +1 -0
  67. package/dist/electronUpdater.js +113 -0
  68. package/dist/electronUpdater.js.map +1 -0
  69. package/dist/electronWindow.d.ts +7 -0
  70. package/dist/electronWindow.d.ts.map +1 -0
  71. package/dist/electronWindow.js +417 -0
  72. package/dist/electronWindow.js.map +1 -0
  73. package/dist/index.d.ts +19 -0
  74. package/dist/index.d.ts.map +1 -0
  75. package/dist/index.js +19 -0
  76. package/dist/index.js.map +1 -0
  77. package/package.json +54 -0
  78. package/src/electronApp.test.ts +141 -0
  79. package/src/electronClipboard.test.ts +86 -0
  80. package/src/electronDialog.test.ts +95 -0
  81. package/src/electronIpc.test.ts +47 -0
  82. package/src/electronMenu.test.ts +85 -0
  83. package/src/electronNotification.test.ts +97 -0
  84. package/src/electronPlatform.test.ts +28 -0
  85. package/src/electronPower.test.ts +110 -0
  86. package/src/electronProtocol.test.ts +63 -0
  87. package/src/electronRegister.test.ts +57 -0
  88. package/src/electronScreen.test.ts +92 -0
  89. package/src/electronShell.test.ts +67 -0
  90. package/src/electronShortcut.test.ts +56 -0
  91. package/src/electronStorage.test.ts +70 -0
  92. package/src/electronTray.test.ts +107 -0
  93. package/src/electronUpdater.test.ts +117 -0
  94. package/src/electronWindow.test.ts +217 -0
@@ -0,0 +1,368 @@
1
+ export interface ElectronApi {
2
+ app: ElectronApp;
3
+ clipboard: ElectronClipboard;
4
+ fs: ElectronFs;
5
+ shell: ElectronShell;
6
+ dialog: ElectronDialog;
7
+ globalShortcut: ElectronGlobalShortcut;
8
+ screen: ElectronScreen;
9
+ powerMonitor: ElectronPowerMonitor;
10
+ powerSaveBlocker: ElectronPowerSaveBlocker;
11
+ nativeImage: ElectronNativeImageModule;
12
+ ipcMain: ElectronIpcMain;
13
+ autoUpdater: ElectronAutoUpdater;
14
+ BrowserWindow: ElectronBrowserWindowConstructor;
15
+ Menu: ElectronMenuConstructor;
16
+ Tray: ElectronTrayConstructor;
17
+ Notification: ElectronNotificationConstructor;
18
+ }
19
+ export interface ElectronFs {
20
+ existsSync(path: string): boolean;
21
+ readFileSync(path: string, encoding: 'utf-8'): string;
22
+ writeFileSync(path: string, data: string): void;
23
+ }
24
+ export interface ElectronApp {
25
+ getName(): string;
26
+ getVersion(): string;
27
+ getLocale(): string;
28
+ getSystemLocale(): string;
29
+ getPreferredSystemLanguages(): string[];
30
+ getAppPath(): string;
31
+ getPath(name: string): string;
32
+ setName(name: string): void;
33
+ setAppUserModelId(id: string): void;
34
+ setActivationPolicy(policy: 'regular' | 'accessory' | 'prohibited'): void;
35
+ hide(): void;
36
+ show(): void;
37
+ isHidden(): boolean;
38
+ addRecentDocument(path: string): void;
39
+ clearRecentDocuments(): void;
40
+ getLoginItemSettings(): ElectronLoginItemSettings;
41
+ setLoginItemSettings(settings: ElectronLoginItemSettingsLike): void;
42
+ quit(): void;
43
+ exit(code?: number): void;
44
+ relaunch(): void;
45
+ focus(): void;
46
+ requestSingleInstanceLock(): boolean;
47
+ hasSingleInstanceLock(): boolean;
48
+ releaseSingleInstanceLock(): void;
49
+ setBadgeCount(count: number): boolean;
50
+ setAsDefaultProtocolClient(scheme: string): boolean;
51
+ removeAsDefaultProtocolClient(scheme: string): boolean;
52
+ isDefaultProtocolClient(scheme: string): boolean;
53
+ on(event: string, listener: (...args: unknown[]) => void): void;
54
+ removeListener(event: string, listener: (...args: unknown[]) => void): void;
55
+ dock?: ElectronDock;
56
+ }
57
+ export interface ElectronLoginItemSettings {
58
+ openAtLogin: boolean;
59
+ openAsHidden: boolean;
60
+ executableWillLaunchAtLogin?: boolean;
61
+ }
62
+ export interface ElectronLoginItemSettingsLike {
63
+ openAtLogin?: boolean;
64
+ openAsHidden?: boolean;
65
+ path?: string;
66
+ args?: string[];
67
+ }
68
+ export interface ElectronDock {
69
+ bounce(type?: 'critical' | 'informational'): number;
70
+ cancelBounce(id: number): void;
71
+ setBadge(text: string): void;
72
+ setMenu(menu: ElectronMenu): void;
73
+ }
74
+ export interface ElectronClipboard {
75
+ readText(): string;
76
+ writeText(text: string): void;
77
+ readHtml(): string;
78
+ writeHtml(markup: string): void;
79
+ readRTF(): string;
80
+ writeRTF(text: string): void;
81
+ readBookmark(): {
82
+ title: string;
83
+ url: string;
84
+ };
85
+ writeBookmark(title: string, url: string): void;
86
+ readImage(): ElectronNativeImage;
87
+ writeImage(image: ElectronNativeImage): void;
88
+ read(format: string): string;
89
+ write(data: ElectronClipboardData): void;
90
+ has(format: string): boolean;
91
+ availableFormats(): string[];
92
+ clear(): void;
93
+ }
94
+ export interface ElectronClipboardData {
95
+ text?: string;
96
+ html?: string;
97
+ rtf?: string;
98
+ bookmark?: string;
99
+ image?: ElectronNativeImage;
100
+ }
101
+ export interface ElectronShell {
102
+ openExternal(url: string): Promise<void>;
103
+ openPath(path: string): Promise<string>;
104
+ showItemInFolder(path: string): void;
105
+ trashItem(path: string): Promise<void>;
106
+ beep(): void;
107
+ readShortcutLink(shortcutPath: string): ElectronShortcutDetails;
108
+ writeShortcutLink(shortcutPath: string, operation: 'create' | 'update' | 'replace', options: ElectronShortcutDetails): boolean;
109
+ }
110
+ export interface ElectronShortcutDetails {
111
+ target: string;
112
+ appUserModelId?: string;
113
+ args?: string;
114
+ description?: string;
115
+ icon?: string;
116
+ iconIndex?: number;
117
+ cwd?: string;
118
+ }
119
+ export interface ElectronDialog {
120
+ showOpenDialog(window: ElectronBrowserWindow | undefined, options: ElectronOpenDialogOptions): Promise<{
121
+ canceled: boolean;
122
+ filePaths: string[];
123
+ }>;
124
+ showSaveDialog(window: ElectronBrowserWindow | undefined, options: ElectronSaveDialogOptions): Promise<{
125
+ canceled: boolean;
126
+ filePath?: string;
127
+ }>;
128
+ showMessageBox(window: ElectronBrowserWindow | undefined, options: ElectronMessageBoxOptions): Promise<{
129
+ response: number;
130
+ checkboxChecked: boolean;
131
+ }>;
132
+ }
133
+ export interface ElectronOpenDialogOptions {
134
+ title?: string;
135
+ defaultPath?: string;
136
+ filters?: {
137
+ name: string;
138
+ extensions: string[];
139
+ }[];
140
+ properties?: string[];
141
+ }
142
+ export interface ElectronSaveDialogOptions {
143
+ title?: string;
144
+ defaultPath?: string;
145
+ filters?: {
146
+ name: string;
147
+ extensions: string[];
148
+ }[];
149
+ }
150
+ export interface ElectronMessageBoxOptions {
151
+ type?: string;
152
+ title?: string;
153
+ message: string;
154
+ detail?: string;
155
+ buttons?: string[];
156
+ defaultId?: number;
157
+ cancelId?: number;
158
+ checkboxLabel?: string;
159
+ checkboxChecked?: boolean;
160
+ }
161
+ export interface ElectronGlobalShortcut {
162
+ register(accelerator: string, callback: () => void): boolean;
163
+ unregister(accelerator: string): void;
164
+ unregisterAll(): void;
165
+ isRegistered(accelerator: string): boolean;
166
+ }
167
+ export interface ElectronScreen {
168
+ getPrimaryDisplay(): ElectronDisplay;
169
+ getAllDisplays(): ElectronDisplay[];
170
+ getCursorScreenPoint(): {
171
+ x: number;
172
+ y: number;
173
+ };
174
+ on(event: string, listener: (...args: unknown[]) => void): void;
175
+ removeListener(event: string, listener: (...args: unknown[]) => void): void;
176
+ }
177
+ export interface ElectronDisplay {
178
+ id: number;
179
+ bounds: {
180
+ x: number;
181
+ y: number;
182
+ width: number;
183
+ height: number;
184
+ };
185
+ workArea: {
186
+ x: number;
187
+ y: number;
188
+ width: number;
189
+ height: number;
190
+ };
191
+ scaleFactor: number;
192
+ }
193
+ export interface ElectronPowerMonitor {
194
+ on(event: string, listener: () => void): void;
195
+ removeListener(event: string, listener: () => void): void;
196
+ getSystemIdleState(idleThresholdSeconds: number): 'active' | 'idle' | 'locked' | 'unknown';
197
+ getSystemIdleTime(): number;
198
+ onBatteryPower?: boolean;
199
+ }
200
+ export interface ElectronPowerSaveBlocker {
201
+ start(type: 'prevent-app-suspension' | 'prevent-display-sleep'): number;
202
+ stop(id: number): void;
203
+ isStarted(id: number): boolean;
204
+ }
205
+ export interface ElectronNativeImageModule {
206
+ createFromDataUrl(dataUrl: string): ElectronNativeImage;
207
+ createFromPath(path: string): ElectronNativeImage;
208
+ }
209
+ export interface ElectronNativeImage {
210
+ toDataUrl(): string;
211
+ isEmpty(): boolean;
212
+ }
213
+ export interface ElectronIpcMain {
214
+ on(channel: string, listener: (event: unknown, ...args: unknown[]) => void): void;
215
+ removeListener(channel: string, listener: (event: unknown, ...args: unknown[]) => void): void;
216
+ handle(channel: string, listener: (event: unknown, ...args: unknown[]) => unknown): void;
217
+ removeHandler(channel: string): void;
218
+ }
219
+ export interface ElectronAutoUpdater {
220
+ setFeedUrl(options: {
221
+ url: string;
222
+ }): void;
223
+ checkForUpdates(): void;
224
+ quitAndInstall(): void;
225
+ on(event: string, listener: (...args: unknown[]) => void): void;
226
+ removeListener(event: string, listener: (...args: unknown[]) => void): void;
227
+ }
228
+ export interface ElectronBrowserWindowConstructor {
229
+ new (options?: ElectronBrowserWindowOptions): ElectronBrowserWindow;
230
+ getAllWindows(): ElectronBrowserWindow[];
231
+ fromId(id: number): ElectronBrowserWindow | null;
232
+ }
233
+ export interface ElectronBrowserWindowOptions {
234
+ title?: string;
235
+ x?: number;
236
+ y?: number;
237
+ width?: number;
238
+ height?: number;
239
+ resizable?: boolean;
240
+ alwaysOnTop?: boolean;
241
+ fullscreen?: boolean;
242
+ show?: boolean;
243
+ minWidth?: number;
244
+ minHeight?: number;
245
+ maxWidth?: number;
246
+ maxHeight?: number;
247
+ frame?: boolean;
248
+ transparent?: boolean;
249
+ }
250
+ export interface ElectronRectangle {
251
+ x: number;
252
+ y: number;
253
+ width: number;
254
+ height: number;
255
+ }
256
+ export interface ElectronBrowserWindow {
257
+ id: number;
258
+ loadURL(url: string): Promise<void>;
259
+ loadFile(filePath: string): Promise<void>;
260
+ setTitle(title: string): void;
261
+ getTitle(): string;
262
+ setPosition(x: number, y: number): void;
263
+ setSize(width: number, height: number): void;
264
+ getBounds(): ElectronRectangle;
265
+ setBounds(bounds: Partial<ElectronRectangle>): void;
266
+ minimize(): void;
267
+ maximize(): void;
268
+ unmaximize(): void;
269
+ restore(): void;
270
+ isMinimized(): boolean;
271
+ isMaximized(): boolean;
272
+ focus(): void;
273
+ show(): void;
274
+ hide(): void;
275
+ center(): void;
276
+ setResizable(resizable: boolean): void;
277
+ setAlwaysOnTop(flag: boolean): void;
278
+ setMinimumSize(width: number, height: number): void;
279
+ setMaximumSize(width: number, height: number): void;
280
+ setFullScreen(flag: boolean): void;
281
+ isFullScreen(): boolean;
282
+ setIcon(icon: string | ElectronNativeImage): void;
283
+ setOpacity(opacity: number): void;
284
+ setProgressBar(progress: number): void;
285
+ flashFrame(flag: boolean): void;
286
+ setContentProtection(enable: boolean): void;
287
+ setHasShadow(hasShadow: boolean): void;
288
+ setSkipTaskbar(skip: boolean): void;
289
+ setMenuBarVisibility(visible: boolean): void;
290
+ setParentWindow(parent: ElectronBrowserWindow | null): void;
291
+ close(): void;
292
+ destroy(): void;
293
+ isDestroyed(): boolean;
294
+ on(event: string, listener: (...args: unknown[]) => void): void;
295
+ removeAllListeners(event?: string): void;
296
+ }
297
+ export interface ElectronMenuConstructor {
298
+ new (): ElectronMenu;
299
+ buildFromTemplate(template: ElectronMenuItemOptions[]): ElectronMenu;
300
+ setApplicationMenu(menu: ElectronMenu | null): void;
301
+ }
302
+ export interface ElectronMenu {
303
+ popup(options?: {
304
+ x?: number;
305
+ y?: number;
306
+ }): void;
307
+ }
308
+ export interface ElectronMenuItemOptions {
309
+ id?: string;
310
+ label?: string;
311
+ type?: string;
312
+ role?: string;
313
+ accelerator?: string;
314
+ enabled?: boolean;
315
+ checked?: boolean;
316
+ click?: () => void;
317
+ submenu?: ElectronMenuItemOptions[];
318
+ }
319
+ export interface ElectronTrayConstructor {
320
+ new (image: string | ElectronNativeImage): ElectronTray;
321
+ }
322
+ export interface ElectronTray {
323
+ setToolTip(tooltip: string): void;
324
+ setTitle(title: string): void;
325
+ setImage(image: string | ElectronNativeImage): void;
326
+ setPressedImage(image: string | ElectronNativeImage): void;
327
+ setContextMenu(menu: ElectronMenu | null): void;
328
+ popUpContextMenu(menu?: ElectronMenu, position?: {
329
+ x: number;
330
+ y: number;
331
+ }): void;
332
+ setIgnoreDoubleClickEvents(ignore: boolean): void;
333
+ displayBalloon(options: ElectronTrayBalloonOptions): void;
334
+ removeBalloon(): void;
335
+ getBounds(): ElectronRectangle;
336
+ isDestroyed(): boolean;
337
+ on(event: string, listener: (...args: unknown[]) => void): void;
338
+ destroy(): void;
339
+ }
340
+ export interface ElectronTrayBalloonOptions {
341
+ icon?: string | ElectronNativeImage;
342
+ iconType?: 'none' | 'info' | 'warning' | 'error';
343
+ title: string;
344
+ content: string;
345
+ largeIcon?: boolean;
346
+ noSound?: boolean;
347
+ respectQuietTime?: boolean;
348
+ }
349
+ export interface ElectronNotificationConstructor {
350
+ new (options: ElectronNotificationOptions): ElectronNotification;
351
+ isSupported(): boolean;
352
+ }
353
+ export interface ElectronNotificationOptions {
354
+ title: string;
355
+ body?: string;
356
+ icon?: string;
357
+ silent?: boolean;
358
+ actions?: {
359
+ type: string;
360
+ text: string;
361
+ }[];
362
+ }
363
+ export interface ElectronNotification {
364
+ show(): void;
365
+ close(): void;
366
+ on(event: string, listener: (...args: unknown[]) => void): void;
367
+ }
368
+ //# sourceMappingURL=electronModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"electronModule.d.ts","sourceRoot":"","sources":["../src/electronModule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ // The precise slice of Electron's main-process API that Flight's host backends use. The real
2
+ // `electron` module satisfies this structurally, so a consumer passes it directly:
3
+ //
4
+ // import * as electron from 'electron';
5
+ // registerElectronBackends(electron);
6
+ //
7
+ // Typing it here (rather than importing 'electron') keeps this package dependency-free and unit
8
+ // testable with a fake — and documents exactly which Electron surface the seams require, which is the
9
+ // real coupling between Flight and a host. Members are intentionally minimal; widen only when a
10
+ // backend needs more.
11
+ export {};
12
+ //# sourceMappingURL=electronModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"electronModule.js","sourceRoot":"","sources":["../src/electronModule.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,mFAAmF;AACnF,EAAE;AACF,0CAA0C;AAC1C,wCAAwC;AACxC,EAAE;AACF,gGAAgG;AAChG,sGAAsG;AACtG,gGAAgG;AAChG,sBAAsB"}
@@ -0,0 +1,4 @@
1
+ import type { NotificationBackend } from '@flighthq/types';
2
+ import type { ElectronApi } from './electronModule';
3
+ export declare function createElectronNotificationBackend(electron: ElectronApi): NotificationBackend;
4
+ //# sourceMappingURL=electronNotification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"electronNotification.d.ts","sourceRoot":"","sources":["../src/electronNotification.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAoD,MAAM,iBAAiB,CAAC;AAE7G,OAAO,KAAK,EAAE,WAAW,EAAwB,MAAM,kBAAkB,CAAC;AAO1E,wBAAgB,iCAAiC,CAAC,QAAQ,EAAE,WAAW,GAAG,mBAAmB,CAwH5F"}
@@ -0,0 +1,134 @@
1
+ // Maps Flight's NotificationBackend onto Electron's Notification module. Electron needs no permission
2
+ // prompt, so getPermission/requestPermission report 'granted' when supported and 'denied' otherwise.
3
+ // notify resolves to the notification id (the request's id, or a generated one), and forwards the
4
+ // notification's click/action/show/dismiss events keyed by that id. Each live notification is tracked
5
+ // by id so closeNotification/closeAllNotifications can dismiss it. notify resolves '' when unsupported.
6
+ export function createElectronNotificationBackend(electron) {
7
+ // Listeners owned by this backend, set via the subscribe* methods.
8
+ let clickListener = null;
9
+ let actionListener = null;
10
+ let dismissListener = null;
11
+ let showListener = null;
12
+ // Live notifications keyed by their resolved id, so close* can dismiss them.
13
+ const live = new Map();
14
+ let nextId = 0;
15
+ return {
16
+ async notify(request) {
17
+ if (!electron.Notification.isSupported())
18
+ return '';
19
+ const id = request.id ?? `notification-${nextId++}`;
20
+ const actions = request.actions ?? [];
21
+ const n = new electron.Notification({
22
+ title: request.title,
23
+ body: request.body,
24
+ icon: request.icon,
25
+ silent: request.silent,
26
+ actions: actions.map((a) => ({ type: 'button', text: a.title })),
27
+ });
28
+ n.on('show', () => showListener?.(id));
29
+ n.on('click', () => clickListener?.(id));
30
+ // Electron's action event passes (event, index); map the index back to the action id.
31
+ n.on('action', (...args) => {
32
+ const index = Number(args[1]);
33
+ actionListener?.(id, String(actions[index]?.id ?? ''));
34
+ });
35
+ n.on('close', () => {
36
+ live.delete(id);
37
+ dismissListener?.(id);
38
+ });
39
+ live.set(id, n);
40
+ n.show();
41
+ return id;
42
+ },
43
+ async requestPermission() {
44
+ // Electron requires no permission grant; support is the only gate.
45
+ return electron.Notification.isSupported() ? 'granted' : 'denied';
46
+ },
47
+ getPermission() {
48
+ return electron.Notification.isSupported() ? 'granted' : 'denied';
49
+ },
50
+ isSupported() {
51
+ return electron.Notification.isSupported();
52
+ },
53
+ getCapabilities() {
54
+ return {
55
+ actions: true,
56
+ channels: false,
57
+ coldStart: false,
58
+ image: false,
59
+ listActive: false,
60
+ scheduling: false,
61
+ textReply: false,
62
+ };
63
+ },
64
+ async getLaunchNotification() {
65
+ // Electron's main process has no launch-from-notification reporting.
66
+ return null;
67
+ },
68
+ async getActiveNotifications() {
69
+ // Electron does not enumerate shown notifications.
70
+ return [];
71
+ },
72
+ async getPendingNotifications() {
73
+ // No local scheduling support; nothing is ever pending.
74
+ return [];
75
+ },
76
+ async scheduleNotification() {
77
+ // Electron's Notification has no local scheduling; report unsupported via the '' sentinel.
78
+ return '';
79
+ },
80
+ cancelScheduledNotification() {
81
+ // No scheduling support — nothing to cancel.
82
+ },
83
+ closeNotification(id) {
84
+ const n = live.get(id);
85
+ if (!n)
86
+ return;
87
+ n.close();
88
+ live.delete(id);
89
+ },
90
+ closeAllNotifications() {
91
+ for (const n of live.values())
92
+ n.close();
93
+ live.clear();
94
+ },
95
+ async updateNotification() {
96
+ // Electron's Notification has no in-place update; a caller must close and re-notify. Report
97
+ // that the update was not applied rather than silently pretending success.
98
+ return false;
99
+ },
100
+ subscribeClick(listener) {
101
+ clickListener = listener;
102
+ return () => {
103
+ if (clickListener === listener)
104
+ clickListener = null;
105
+ };
106
+ },
107
+ subscribeAction(listener) {
108
+ actionListener = listener;
109
+ return () => {
110
+ if (actionListener === listener)
111
+ actionListener = null;
112
+ };
113
+ },
114
+ subscribeDismiss(listener) {
115
+ dismissListener = listener;
116
+ return () => {
117
+ if (dismissListener === listener)
118
+ dismissListener = null;
119
+ };
120
+ },
121
+ subscribeReply() {
122
+ // Electron's desktop Notification has no inline text-reply action; inert unsubscribe.
123
+ return () => { };
124
+ },
125
+ subscribeShow(listener) {
126
+ showListener = listener;
127
+ return () => {
128
+ if (showListener === listener)
129
+ showListener = null;
130
+ };
131
+ },
132
+ };
133
+ }
134
+ //# sourceMappingURL=electronNotification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"electronNotification.js","sourceRoot":"","sources":["../src/electronNotification.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { PlatformBackend } from '@flighthq/types';
2
+ import type { ElectronApi } from './electronModule';
3
+ export declare function createElectronPlatformBackend(electron: ElectronApi): PlatformBackend;
4
+ //# sourceMappingURL=electronPlatform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"electronPlatform.d.ts","sourceRoot":"","sources":["../src/electronPlatform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAgB,MAAM,iBAAiB,CAAC;AAErE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAMpD,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,WAAW,GAAG,eAAe,CAgBpF"}
@@ -0,0 +1,30 @@
1
+ // Maps Flight's PlatformBackend onto the Node `process` running the Electron main process, with the
2
+ // locale sourced from Electron's `app`. `process` is accessed defensively (it may be absent and is not
3
+ // typed without @types/node) and falls back to '' / 'unknown' sentinels. Writes into caller-owned
4
+ // `out` so callers control allocation.
5
+ export function createElectronPlatformBackend(electron) {
6
+ return {
7
+ getInfo(out) {
8
+ const proc = typeof process !== 'undefined'
9
+ ? process
10
+ : null;
11
+ out.name = toPlatformName(proc?.platform);
12
+ out.kind = 'desktop';
13
+ out.version = proc?.getSystemVersion?.() ?? '';
14
+ out.arch = proc?.arch ?? '';
15
+ out.locale = electron.app.getLocale();
16
+ out.isTouch = false;
17
+ return out;
18
+ },
19
+ };
20
+ }
21
+ function toPlatformName(platform) {
22
+ if (platform === 'win32')
23
+ return 'windows';
24
+ if (platform === 'darwin')
25
+ return 'macos';
26
+ if (platform === 'linux')
27
+ return 'linux';
28
+ return 'unknown';
29
+ }
30
+ //# sourceMappingURL=electronPlatform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"electronPlatform.js","sourceRoot":"","sources":["../src/electronPlatform.ts"],"names":[],"mappings":"AAIA,oGAAoG;AACpG,uGAAuG;AACvG,kGAAkG;AAClG,uCAAuC;AACvC,MAAM,UAAU,6BAA6B,CAAC,QAAqB;IACjE,OAAO;QACL,OAAO,CAAC,GAAG;YACT,MAAM,IAAI,GACR,OAAO,OAAO,KAAK,WAAW;gBAC5B,CAAC,CAAE,OAAiF;gBACpF,CAAC,CAAC,IAAI,CAAC;YACX,GAAG,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC1C,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC;YACrB,GAAG,CAAC,OAAO,GAAG,IAAI,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,CAAC;YAC/C,GAAG,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;YAC5B,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YACtC,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC;YACpB,OAAO,GAAG,CAAC;QACb,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,QAA4B;IAClD,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAC1C,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IACzC,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { PowerBackend } from '@flighthq/types';
2
+ import type { ElectronApi } from './electronModule';
3
+ export declare function createElectronPowerBackend(electron: ElectronApi): PowerBackend;
4
+ //# sourceMappingURL=electronPower.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"electronPower.d.ts","sourceRoot":"","sources":["../src/electronPower.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAEpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAKpD,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,WAAW,GAAG,YAAY,CA+E9E"}