@todesktop/plugin-recall 1.0.1

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.
@@ -0,0 +1,128 @@
1
+ /**
2
+ * Recall Desktop SDK plugin state management and storage
3
+ */
4
+ import { RecallSdkConfig, MeetingWindow, PermissionType } from './shared';
5
+ declare class RecallSdkStore {
6
+ private config;
7
+ private initialized;
8
+ private sdkInitialized;
9
+ private currentSdkState;
10
+ private activeMeetings;
11
+ private activeRecordings;
12
+ private permissions;
13
+ private eventListeners;
14
+ /**
15
+ * Initialize the plugin store
16
+ */
17
+ initialize(): Promise<void>;
18
+ /**
19
+ * Get current plugin configuration
20
+ */
21
+ getConfig(): RecallSdkConfig;
22
+ /**
23
+ * Update plugin configuration
24
+ */
25
+ setConfig(updates: Partial<RecallSdkConfig>): void;
26
+ /**
27
+ * Load configuration from ToDesktop preferences
28
+ */
29
+ loadFromPreferences(preferences: Record<string, any>): void;
30
+ /**
31
+ * Check if plugin is initialized
32
+ */
33
+ isInitialized(): boolean;
34
+ /**
35
+ * Check if plugin is enabled
36
+ */
37
+ isEnabled(): boolean;
38
+ /**
39
+ * Set SDK initialization status
40
+ */
41
+ setSdkInitialized(initialized: boolean): void;
42
+ /**
43
+ * Check if SDK is initialized
44
+ */
45
+ isSdkInitialized(): boolean;
46
+ /**
47
+ * Set current SDK state
48
+ */
49
+ setSdkState(state: 'recording' | 'idle' | 'paused'): void;
50
+ /**
51
+ * Get current SDK state
52
+ */
53
+ getSdkState(): 'recording' | 'idle' | 'paused';
54
+ /**
55
+ * Add an active meeting
56
+ */
57
+ addMeeting(meeting: MeetingWindow): void;
58
+ /**
59
+ * Remove a meeting
60
+ */
61
+ removeMeeting(windowId: string): void;
62
+ /**
63
+ * Get active meeting by window ID
64
+ */
65
+ getMeeting(windowId: string): MeetingWindow | undefined;
66
+ /**
67
+ * Get all active meetings
68
+ */
69
+ getAllMeetings(): MeetingWindow[];
70
+ /**
71
+ * Start a recording
72
+ */
73
+ startRecording(windowId: string, uploadToken: string): void;
74
+ /**
75
+ * Stop a recording
76
+ */
77
+ stopRecording(windowId: string): void;
78
+ /**
79
+ * Get active recording by window ID
80
+ */
81
+ getRecording(windowId: string): {
82
+ window: MeetingWindow;
83
+ uploadToken: string;
84
+ } | undefined;
85
+ /**
86
+ * Get all active recordings
87
+ */
88
+ getAllRecordings(): {
89
+ window: MeetingWindow;
90
+ uploadToken: string;
91
+ }[];
92
+ /**
93
+ * Update permission status
94
+ */
95
+ setPermissionStatus(permission: PermissionType, status: string): void;
96
+ /**
97
+ * Get permission status
98
+ */
99
+ getPermissions(): {
100
+ accessibility: boolean;
101
+ screenCapture: boolean;
102
+ microphone: boolean;
103
+ systemAudio: boolean;
104
+ };
105
+ /**
106
+ * Check if all required permissions are granted
107
+ */
108
+ arePermissionsGranted(): boolean;
109
+ /**
110
+ * Add event listener for SDK events
111
+ */
112
+ addEventListener(listener: (event: any) => void): void;
113
+ /**
114
+ * Remove event listener
115
+ */
116
+ removeEventListener(listener: (event: any) => void): void;
117
+ /**
118
+ * Emit event to all listeners
119
+ */
120
+ emitEvent(event: any): void;
121
+ /**
122
+ * Clear all state (useful for shutdown/reset)
123
+ */
124
+ clearState(): void;
125
+ }
126
+ export declare const recallSdkStore: RecallSdkStore;
127
+ export {};
128
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1E,cAAM,cAAc;IAClB,OAAO,CAAC,MAAM,CAIZ;IAEF,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,eAAe,CAA2C;IAGlE,OAAO,CAAC,cAAc,CAAoC;IAC1D,OAAO,CAAC,gBAAgB,CAAqE;IAG7F,OAAO,CAAC,WAAW,CAKjB;IAGF,OAAO,CAAC,cAAc,CAAmC;IAEzD;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAajC;;OAEG;IACH,SAAS,IAAI,eAAe;IAI5B;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI;IAKlD;;OAEG;IACH,mBAAmB,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAc3D;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,iBAAiB,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI;IAI7C;;OAEG;IACH,gBAAgB,IAAI,OAAO;IAI3B;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,IAAI;IAIzD;;OAEG;IACH,WAAW,IAAI,WAAW,GAAG,MAAM,GAAG,QAAQ;IAI9C;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAKxC;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKrC;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIvD;;OAEG;IACH,cAAc,IAAI,aAAa,EAAE;IAIjC;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAQ3D;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKrC;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,aAAa,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS;IAI1F;;OAEG;IACH,gBAAgB,IAAI;QAAE,MAAM,EAAE,aAAa,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE;IAIpE;;OAEG;IACH,mBAAmB,CAAC,UAAU,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAcrE;;OAEG;IACH,cAAc,IAAI;QAAE,aAAa,EAAE,OAAO,CAAC;QAAC,aAAa,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE;IAI/G;;OAEG;IACH,qBAAqB,IAAI,OAAO;IAQhC;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAItD;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAIzD;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAU3B;;OAEG;IACH,UAAU,IAAI,IAAI;CAanB;AAED,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
package/dist/store.js ADDED
@@ -0,0 +1,231 @@
1
+ /**
2
+ * Recall Desktop SDK plugin state management and storage
3
+ */
4
+ class RecallSdkStore {
5
+ constructor() {
6
+ this.config = {
7
+ enabled: true,
8
+ apiUrl: 'https://us-east-1.recall.ai',
9
+ autoRecord: false,
10
+ requestPermissionsOnStartup: true,
11
+ };
12
+ this.initialized = false;
13
+ this.sdkInitialized = false;
14
+ this.currentSdkState = 'idle';
15
+ // Active meetings and recordings
16
+ this.activeMeetings = new Map();
17
+ this.activeRecordings = new Map();
18
+ // Permission status
19
+ this.permissions = {
20
+ accessibility: false,
21
+ screenCapture: false,
22
+ microphone: false,
23
+ };
24
+ // Event listeners for SDK events
25
+ this.eventListeners = new Set();
26
+ }
27
+ /**
28
+ * Initialize the plugin store
29
+ */
30
+ async initialize() {
31
+ // Load configuration from ToDesktop preferences
32
+ try {
33
+ // In a real implementation, this would load from ToDesktop's preference system
34
+ // For now, we'll use the defaults
35
+ this.initialized = true;
36
+ console.log('RecallSdkStore: Initialized successfully');
37
+ }
38
+ catch (error) {
39
+ console.error('RecallSdkStore: Failed to initialize:', error);
40
+ throw error;
41
+ }
42
+ }
43
+ /**
44
+ * Get current plugin configuration
45
+ */
46
+ getConfig() {
47
+ return { ...this.config };
48
+ }
49
+ /**
50
+ * Update plugin configuration
51
+ */
52
+ setConfig(updates) {
53
+ this.config = { ...this.config, ...updates };
54
+ console.log('RecallSdkStore: Configuration updated:', this.config);
55
+ }
56
+ /**
57
+ * Load configuration from ToDesktop preferences
58
+ */
59
+ loadFromPreferences(preferences) {
60
+ if (preferences.enabled !== undefined) {
61
+ this.config.enabled = preferences.enabled;
62
+ }
63
+ if (preferences.apiUrl !== undefined) {
64
+ this.config.apiUrl = preferences.apiUrl;
65
+ }
66
+ if (preferences.autoRecord !== undefined) {
67
+ this.config.autoRecord = preferences.autoRecord;
68
+ }
69
+ if (preferences.requestPermissionsOnStartup !== undefined) {
70
+ this.config.requestPermissionsOnStartup = preferences.requestPermissionsOnStartup;
71
+ }
72
+ console.log('RecallSdkStore: Loaded configuration from preferences:', this.config);
73
+ }
74
+ /**
75
+ * Check if plugin is initialized
76
+ */
77
+ isInitialized() {
78
+ return this.initialized;
79
+ }
80
+ /**
81
+ * Check if plugin is enabled
82
+ */
83
+ isEnabled() {
84
+ return this.config.enabled;
85
+ }
86
+ /**
87
+ * Set SDK initialization status
88
+ */
89
+ setSdkInitialized(initialized) {
90
+ this.sdkInitialized = initialized;
91
+ }
92
+ /**
93
+ * Check if SDK is initialized
94
+ */
95
+ isSdkInitialized() {
96
+ return this.sdkInitialized;
97
+ }
98
+ /**
99
+ * Set current SDK state
100
+ */
101
+ setSdkState(state) {
102
+ this.currentSdkState = state;
103
+ }
104
+ /**
105
+ * Get current SDK state
106
+ */
107
+ getSdkState() {
108
+ return this.currentSdkState;
109
+ }
110
+ /**
111
+ * Add an active meeting
112
+ */
113
+ addMeeting(meeting) {
114
+ this.activeMeetings.set(meeting.id, meeting);
115
+ console.log(`RecallSdkStore: Added meeting ${meeting.id}:`, meeting);
116
+ }
117
+ /**
118
+ * Remove a meeting
119
+ */
120
+ removeMeeting(windowId) {
121
+ this.activeMeetings.delete(windowId);
122
+ console.log(`RecallSdkStore: Removed meeting ${windowId}`);
123
+ }
124
+ /**
125
+ * Get active meeting by window ID
126
+ */
127
+ getMeeting(windowId) {
128
+ return this.activeMeetings.get(windowId);
129
+ }
130
+ /**
131
+ * Get all active meetings
132
+ */
133
+ getAllMeetings() {
134
+ return Array.from(this.activeMeetings.values());
135
+ }
136
+ /**
137
+ * Start a recording
138
+ */
139
+ startRecording(windowId, uploadToken) {
140
+ const window = this.activeMeetings.get(windowId);
141
+ if (window) {
142
+ this.activeRecordings.set(windowId, { window, uploadToken });
143
+ console.log(`RecallSdkStore: Started recording for ${windowId}`);
144
+ }
145
+ }
146
+ /**
147
+ * Stop a recording
148
+ */
149
+ stopRecording(windowId) {
150
+ this.activeRecordings.delete(windowId);
151
+ console.log(`RecallSdkStore: Stopped recording for ${windowId}`);
152
+ }
153
+ /**
154
+ * Get active recording by window ID
155
+ */
156
+ getRecording(windowId) {
157
+ return this.activeRecordings.get(windowId);
158
+ }
159
+ /**
160
+ * Get all active recordings
161
+ */
162
+ getAllRecordings() {
163
+ return Array.from(this.activeRecordings.values());
164
+ }
165
+ /**
166
+ * Update permission status
167
+ */
168
+ setPermissionStatus(permission, granted) {
169
+ if (permission === 'screen-capture') {
170
+ this.permissions.screenCapture = granted;
171
+ }
172
+ else {
173
+ this.permissions[permission] = granted;
174
+ }
175
+ console.log(`RecallSdkStore: Permission ${permission} ${granted ? 'granted' : 'denied'}`);
176
+ }
177
+ /**
178
+ * Get permission status
179
+ */
180
+ getPermissions() {
181
+ return { ...this.permissions };
182
+ }
183
+ /**
184
+ * Check if all required permissions are granted
185
+ */
186
+ arePermissionsGranted() {
187
+ return this.permissions.accessibility && this.permissions.screenCapture && this.permissions.microphone;
188
+ }
189
+ /**
190
+ * Add event listener for SDK events
191
+ */
192
+ addEventListener(listener) {
193
+ this.eventListeners.add(listener);
194
+ }
195
+ /**
196
+ * Remove event listener
197
+ */
198
+ removeEventListener(listener) {
199
+ this.eventListeners.delete(listener);
200
+ }
201
+ /**
202
+ * Emit event to all listeners
203
+ */
204
+ emitEvent(event) {
205
+ this.eventListeners.forEach(listener => {
206
+ try {
207
+ listener(event);
208
+ }
209
+ catch (error) {
210
+ console.error('RecallSdkStore: Error in event listener:', error);
211
+ }
212
+ });
213
+ }
214
+ /**
215
+ * Clear all state (useful for shutdown/reset)
216
+ */
217
+ clearState() {
218
+ this.activeMeetings.clear();
219
+ this.activeRecordings.clear();
220
+ this.setSdkInitialized(false);
221
+ this.setSdkState('idle');
222
+ this.permissions = {
223
+ accessibility: false,
224
+ screenCapture: false,
225
+ microphone: false,
226
+ };
227
+ console.log('RecallSdkStore: Cleared all state');
228
+ }
229
+ }
230
+ export const recallSdkStore = new RecallSdkStore();
231
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,71 @@
1
+ {
2
+ "name": "@todesktop/plugin-recall",
3
+ "version": "1.0.1",
4
+ "description": "ToDesktop plugin for Recall.ai Desktop Recording SDK - Plugin package",
5
+ "private": false,
6
+ "main": "dist/main.js",
7
+ "types": "dist/main.d.ts",
8
+ "scripts": {
9
+ "build": "tsc --outDir dist --declaration && npm run generate-types",
10
+ "dev": "tsc --outDir dist --declaration --watch",
11
+ "clean": "rimraf dist",
12
+ "typecheck": "tsc --noEmit",
13
+ "lint": "eslint src --ext .ts",
14
+ "generate-types": "dts-bundle-generator -o ../client/src/generated/preload.d.ts src/preload.ts --no-check",
15
+ "release:patch": "npm version patch && npm publish",
16
+ "release:minor": "npm version minor && npm publish",
17
+ "release:major": "npm version major && npm publish"
18
+ },
19
+ "todesktop": {
20
+ "namespace": "recallDesktop",
21
+ "version": 3,
22
+ "main": "./dist/main.js",
23
+ "preload": "./dist/preload.js",
24
+ "preferences": [
25
+ {
26
+ "id": "enabled",
27
+ "type": "checkbox",
28
+ "name": "Enable Recall Desktop Recording",
29
+ "description": "Enable automatic meeting recording with Recall.ai Desktop SDK",
30
+ "spec": {}
31
+ },
32
+ {
33
+ "id": "apiUrl",
34
+ "type": "text",
35
+ "name": "Recall API URL",
36
+ "description": "The Recall.ai API URL for your region",
37
+ "spec": {
38
+ "value": "https://us-east-1.recall.ai"
39
+ }
40
+ },
41
+ {
42
+ "id": "requestPermissionsOnStartup",
43
+ "type": "checkbox",
44
+ "name": "Request permissions on startup",
45
+ "description": "Automatically request required permissions when the app starts",
46
+ "spec": {}
47
+ }
48
+ ]
49
+ },
50
+ "keywords": [
51
+ "todesktop",
52
+ "plugin",
53
+ "electron",
54
+ "recall",
55
+ "recording",
56
+ "meetings"
57
+ ],
58
+ "author": "ToDesktop",
59
+ "license": "MIT",
60
+ "publishConfig": {
61
+ "access": "public"
62
+ },
63
+ "devDependencies": {
64
+ "electron": "^30.0.0",
65
+ "rimraf": "^5.0.0"
66
+ },
67
+ "dependencies": {
68
+ "@recallai/desktop-sdk": "1.1.0",
69
+ "@types/node": "20.19.2"
70
+ }
71
+ }