@todesktop/plugin-recall 1.0.2 → 1.0.4
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/dist/main.d.ts +9 -4
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +183 -364
- package/dist/main.js.map +1 -1
- package/dist/preload.d.ts +142 -128
- package/dist/preload.d.ts.map +1 -1
- package/dist/preload.js +212 -196
- package/dist/preload.js.map +1 -1
- package/dist/shared.d.ts +41 -6
- package/dist/shared.d.ts.map +1 -1
- package/dist/shared.js.map +1 -1
- package/dist/store.d.ts +10 -82
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +14 -7
- package/dist/store.js.map +1 -1
- package/package.json +1 -1
- package/src/main.ts +314 -327
- package/src/preload.ts +220 -211
- package/src/shared.ts +74 -39
- package/src/store.ts +41 -166
package/dist/preload.js
CHANGED
|
@@ -8,211 +8,227 @@ var electron = require('electron');
|
|
|
8
8
|
// IPC channel names - use unique namespace to avoid conflicts
|
|
9
9
|
const IPC_CHANNELS = {
|
|
10
10
|
// SDK lifecycle
|
|
11
|
-
INIT_SDK:
|
|
12
|
-
SHUTDOWN_SDK:
|
|
13
|
-
GET_STATUS:
|
|
11
|
+
INIT_SDK: "recall-desktop:init-sdk",
|
|
12
|
+
SHUTDOWN_SDK: "recall-desktop:shutdown-sdk",
|
|
13
|
+
GET_STATUS: "recall-desktop:get-status",
|
|
14
14
|
// Recording management
|
|
15
|
-
START_RECORDING:
|
|
16
|
-
STOP_RECORDING:
|
|
17
|
-
PAUSE_RECORDING:
|
|
18
|
-
RESUME_RECORDING:
|
|
19
|
-
UPLOAD_RECORDING:
|
|
15
|
+
START_RECORDING: "recall-desktop:start-recording",
|
|
16
|
+
STOP_RECORDING: "recall-desktop:stop-recording",
|
|
17
|
+
PAUSE_RECORDING: "recall-desktop:pause-recording",
|
|
18
|
+
RESUME_RECORDING: "recall-desktop:resume-recording",
|
|
19
|
+
UPLOAD_RECORDING: "recall-desktop:upload-recording",
|
|
20
20
|
// Desktop audio recording
|
|
21
|
-
PREPARE_DESKTOP_AUDIO:
|
|
21
|
+
PREPARE_DESKTOP_AUDIO: "recall-desktop:prepare-desktop-audio",
|
|
22
22
|
// Permission management
|
|
23
|
-
REQUEST_PERMISSION:
|
|
23
|
+
REQUEST_PERMISSION: "recall-desktop:request-permission",
|
|
24
24
|
// Configuration
|
|
25
|
-
SET_CONFIG:
|
|
26
|
-
GET_CONFIG:
|
|
25
|
+
SET_CONFIG: "recall-desktop:set-config",
|
|
26
|
+
GET_CONFIG: "recall-desktop:get-config",
|
|
27
27
|
// Event subscription
|
|
28
|
-
SUBSCRIBE_EVENTS:
|
|
29
|
-
UNSUBSCRIBE_EVENTS:
|
|
28
|
+
SUBSCRIBE_EVENTS: "recall-desktop:subscribe-events",
|
|
29
|
+
UNSUBSCRIBE_EVENTS: "recall-desktop:unsubscribe-events",
|
|
30
30
|
};
|
|
31
31
|
|
|
32
32
|
/**
|
|
33
33
|
* ToDesktop Recall Desktop SDK Plugin - Preload Script
|
|
34
34
|
*
|
|
35
|
-
* This file runs in the renderer process with Node.js access
|
|
36
|
-
*
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
return this.addEventListener('realtime-event', callback);
|
|
213
|
-
}
|
|
214
|
-
};
|
|
215
|
-
// Expose the API to the renderer process
|
|
216
|
-
electron.contextBridge.exposeInMainWorld('recallDesktop', recallDesktopApi);
|
|
35
|
+
* This file runs in the renderer process with Node.js access.
|
|
36
|
+
*
|
|
37
|
+
* ToDesktop plugins should export functions; the ToDesktop runtime will
|
|
38
|
+
* attach them under `window.todesktop.recallDesktop` automatically.
|
|
39
|
+
*/
|
|
40
|
+
/**
|
|
41
|
+
* Initialize the Recall SDK
|
|
42
|
+
* @returns Promise resolving to initialization result
|
|
43
|
+
*/
|
|
44
|
+
async function initSdk() {
|
|
45
|
+
return electron.ipcRenderer.invoke(IPC_CHANNELS.INIT_SDK);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Shutdown the Recall SDK
|
|
49
|
+
* @returns Promise resolving to shutdown result
|
|
50
|
+
*/
|
|
51
|
+
async function shutdownSdk() {
|
|
52
|
+
return electron.ipcRenderer.invoke(IPC_CHANNELS.SHUTDOWN_SDK);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Get current plugin and SDK status
|
|
56
|
+
* @returns Promise resolving to plugin status
|
|
57
|
+
*/
|
|
58
|
+
async function getStatus() {
|
|
59
|
+
return electron.ipcRenderer.invoke(IPC_CHANNELS.GET_STATUS);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Start recording a meeting
|
|
63
|
+
* @param windowId The meeting window ID
|
|
64
|
+
* @param uploadToken Upload token from your backend
|
|
65
|
+
* @returns Promise resolving to recording start result
|
|
66
|
+
*/
|
|
67
|
+
async function startRecording(windowId, uploadToken) {
|
|
68
|
+
const request = { windowId, uploadToken };
|
|
69
|
+
return electron.ipcRenderer.invoke(IPC_CHANNELS.START_RECORDING, request);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Stop recording a meeting
|
|
73
|
+
* @param windowId The meeting window ID
|
|
74
|
+
* @returns Promise resolving to recording stop result
|
|
75
|
+
*/
|
|
76
|
+
async function stopRecording(windowId) {
|
|
77
|
+
const request = { windowId };
|
|
78
|
+
return electron.ipcRenderer.invoke(IPC_CHANNELS.STOP_RECORDING, request);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Pause recording a meeting
|
|
82
|
+
* @param windowId The meeting window ID
|
|
83
|
+
* @returns Promise resolving to recording pause result
|
|
84
|
+
*/
|
|
85
|
+
async function pauseRecording(windowId) {
|
|
86
|
+
const request = { windowId };
|
|
87
|
+
return electron.ipcRenderer.invoke(IPC_CHANNELS.PAUSE_RECORDING, request);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Resume recording a meeting
|
|
91
|
+
* @param windowId The meeting window ID
|
|
92
|
+
* @returns Promise resolving to recording resume result
|
|
93
|
+
*/
|
|
94
|
+
async function resumeRecording(windowId) {
|
|
95
|
+
const request = { windowId };
|
|
96
|
+
return electron.ipcRenderer.invoke(IPC_CHANNELS.RESUME_RECORDING, request);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Upload a completed recording
|
|
100
|
+
* @param windowId The meeting window ID
|
|
101
|
+
* @returns Promise resolving to upload start result
|
|
102
|
+
*/
|
|
103
|
+
async function uploadRecording(windowId) {
|
|
104
|
+
const request = { windowId };
|
|
105
|
+
return electron.ipcRenderer.invoke(IPC_CHANNELS.UPLOAD_RECORDING, request);
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Prepare desktop audio recording for non-meeting audio capture
|
|
109
|
+
* @returns Promise resolving to desktop audio preparation result
|
|
110
|
+
*/
|
|
111
|
+
async function prepareDesktopAudioRecording() {
|
|
112
|
+
return electron.ipcRenderer.invoke(IPC_CHANNELS.PREPARE_DESKTOP_AUDIO);
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Request a specific permission from the user
|
|
116
|
+
* @param permission The permission to request
|
|
117
|
+
* @returns Promise resolving to permission request result
|
|
118
|
+
*/
|
|
119
|
+
async function requestPermission(permission) {
|
|
120
|
+
return electron.ipcRenderer.invoke(IPC_CHANNELS.REQUEST_PERMISSION, permission);
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Update plugin configuration
|
|
124
|
+
* @param config Configuration updates
|
|
125
|
+
* @returns Promise resolving to update result
|
|
126
|
+
*/
|
|
127
|
+
async function setConfig(config) {
|
|
128
|
+
return electron.ipcRenderer.invoke(IPC_CHANNELS.SET_CONFIG, config);
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Get current plugin configuration
|
|
132
|
+
* @returns Promise resolving to current configuration
|
|
133
|
+
*/
|
|
134
|
+
async function getConfig() {
|
|
135
|
+
return electron.ipcRenderer.invoke(IPC_CHANNELS.GET_CONFIG);
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Subscribe to SDK events
|
|
139
|
+
* @param eventType The type of event to listen for
|
|
140
|
+
* @param callback Function to call when event occurs
|
|
141
|
+
* @returns Function to unsubscribe from the event
|
|
142
|
+
*/
|
|
143
|
+
function addEventListener(eventType, callback) {
|
|
144
|
+
const channel = `recall-desktop:event:${eventType}`;
|
|
145
|
+
// Fire-and-forget subscribe to main
|
|
146
|
+
electron.ipcRenderer.invoke(IPC_CHANNELS.SUBSCRIBE_EVENTS, eventType).catch(console.error);
|
|
147
|
+
const listener = (_event, data) => {
|
|
148
|
+
callback(data);
|
|
149
|
+
};
|
|
150
|
+
electron.ipcRenderer.on(channel, listener);
|
|
151
|
+
// Return unsubscribe function
|
|
152
|
+
return () => {
|
|
153
|
+
electron.ipcRenderer.removeListener(channel, listener);
|
|
154
|
+
electron.ipcRenderer.invoke(IPC_CHANNELS.UNSUBSCRIBE_EVENTS, eventType).catch(console.error);
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Get plugin version
|
|
159
|
+
* @returns Plugin version string
|
|
160
|
+
*/
|
|
161
|
+
function getVersion() {
|
|
162
|
+
return '1.0.0';
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Convenience method for handling meeting detection events
|
|
166
|
+
* @param callback Function to call when a meeting is detected
|
|
167
|
+
* @returns Function to unsubscribe from the event
|
|
168
|
+
*/
|
|
169
|
+
function onMeetingDetected(callback) {
|
|
170
|
+
return addEventListener('meeting-detected', callback);
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Convenience method for handling recording state changes
|
|
174
|
+
* @param callback Function to call when recording state changes
|
|
175
|
+
* @returns Function to unsubscribe from the event
|
|
176
|
+
*/
|
|
177
|
+
function onRecordingStateChange(callback) {
|
|
178
|
+
return addEventListener('sdk-state-change', callback);
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Convenience method for handling upload progress updates
|
|
182
|
+
* @param callback Function to call when upload progress updates
|
|
183
|
+
* @returns Function to unsubscribe from the event
|
|
184
|
+
*/
|
|
185
|
+
function onUploadProgress(callback) {
|
|
186
|
+
return addEventListener('upload-progress', callback);
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Convenience method for handling permission status updates
|
|
190
|
+
* @param callback Function to call when permission status changes
|
|
191
|
+
* @returns Function to unsubscribe from the event
|
|
192
|
+
*/
|
|
193
|
+
function onPermissionStatusChange(callback) {
|
|
194
|
+
return addEventListener('permission-status', callback);
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Convenience method for handling SDK errors
|
|
198
|
+
* @param callback Function to call when SDK errors occur
|
|
199
|
+
* @returns Function to unsubscribe from the event
|
|
200
|
+
*/
|
|
201
|
+
function onError(callback) {
|
|
202
|
+
return addEventListener('error', callback);
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Convenience method for handling real-time events (transcription, participants, etc.)
|
|
206
|
+
* @param callback Function to call when real-time events occur
|
|
207
|
+
* @returns Function to unsubscribe from the event
|
|
208
|
+
*/
|
|
209
|
+
function onRealtimeEvent(callback) {
|
|
210
|
+
return addEventListener('realtime-event', callback);
|
|
211
|
+
}
|
|
217
212
|
console.log('RecallDesktop: Preload script loaded successfully');
|
|
213
|
+
|
|
214
|
+
exports.addEventListener = addEventListener;
|
|
215
|
+
exports.getConfig = getConfig;
|
|
216
|
+
exports.getStatus = getStatus;
|
|
217
|
+
exports.getVersion = getVersion;
|
|
218
|
+
exports.initSdk = initSdk;
|
|
219
|
+
exports.onError = onError;
|
|
220
|
+
exports.onMeetingDetected = onMeetingDetected;
|
|
221
|
+
exports.onPermissionStatusChange = onPermissionStatusChange;
|
|
222
|
+
exports.onRealtimeEvent = onRealtimeEvent;
|
|
223
|
+
exports.onRecordingStateChange = onRecordingStateChange;
|
|
224
|
+
exports.onUploadProgress = onUploadProgress;
|
|
225
|
+
exports.pauseRecording = pauseRecording;
|
|
226
|
+
exports.prepareDesktopAudioRecording = prepareDesktopAudioRecording;
|
|
227
|
+
exports.requestPermission = requestPermission;
|
|
228
|
+
exports.resumeRecording = resumeRecording;
|
|
229
|
+
exports.setConfig = setConfig;
|
|
230
|
+
exports.shutdownSdk = shutdownSdk;
|
|
231
|
+
exports.startRecording = startRecording;
|
|
232
|
+
exports.stopRecording = stopRecording;
|
|
233
|
+
exports.uploadRecording = uploadRecording;
|
|
218
234
|
//# sourceMappingURL=preload.js.map
|
package/dist/preload.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preload.js","sources":["../src/shared.ts","../src/preload.ts"],"sourcesContent":[null,null],"names":["ipcRenderer"
|
|
1
|
+
{"version":3,"file":"preload.js","sources":["../src/shared.ts","../src/preload.ts"],"sourcesContent":[null,null],"names":["ipcRenderer"],"mappings":"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"}
|
package/dist/shared.d.ts
CHANGED
|
@@ -22,6 +22,41 @@ export interface RecallSdkConfig {
|
|
|
22
22
|
apiUrl: string;
|
|
23
23
|
requestPermissionsOnStartup: boolean;
|
|
24
24
|
}
|
|
25
|
+
export interface PluginContext {
|
|
26
|
+
plugin: {
|
|
27
|
+
todesktop: {
|
|
28
|
+
preferences: [
|
|
29
|
+
{
|
|
30
|
+
id: "enabled";
|
|
31
|
+
name: string;
|
|
32
|
+
description: string;
|
|
33
|
+
type: "checkbox";
|
|
34
|
+
spec: {
|
|
35
|
+
value?: boolean;
|
|
36
|
+
};
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
id: "apiUrl";
|
|
40
|
+
name: string;
|
|
41
|
+
description: string;
|
|
42
|
+
type: "text";
|
|
43
|
+
spec: {
|
|
44
|
+
value?: string;
|
|
45
|
+
};
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
id: "requestPermissionsOnStartup";
|
|
49
|
+
name: string;
|
|
50
|
+
description: string;
|
|
51
|
+
type: "checkbox";
|
|
52
|
+
spec: {
|
|
53
|
+
value?: boolean;
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
];
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
}
|
|
25
60
|
export interface MeetingWindow {
|
|
26
61
|
id: string;
|
|
27
62
|
title?: string;
|
|
@@ -44,7 +79,7 @@ export interface ResumeRecordingRequest {
|
|
|
44
79
|
export interface UploadRecordingRequest {
|
|
45
80
|
windowId: string;
|
|
46
81
|
}
|
|
47
|
-
export type RecallSdkEventType =
|
|
82
|
+
export type RecallSdkEventType = "recording-started" | "recording-ended" | "upload-progress" | "meeting-detected" | "meeting-updated" | "meeting-closed" | "sdk-state-change" | "error" | "media-capture-status" | "participant-capture-status" | "permissions-granted" | "permission-status" | "realtime-event" | "shutdown";
|
|
48
83
|
export interface RecallSdkEvent {
|
|
49
84
|
type: RecallSdkEventType;
|
|
50
85
|
data: any;
|
|
@@ -55,7 +90,7 @@ export interface MeetingDetectedEvent {
|
|
|
55
90
|
export interface SdkStateChangeEvent {
|
|
56
91
|
sdk: {
|
|
57
92
|
state: {
|
|
58
|
-
code:
|
|
93
|
+
code: "recording" | "idle" | "paused";
|
|
59
94
|
};
|
|
60
95
|
};
|
|
61
96
|
}
|
|
@@ -79,12 +114,12 @@ export interface MeetingUpdatedEvent {
|
|
|
79
114
|
}
|
|
80
115
|
export interface MediaCaptureStatusEvent {
|
|
81
116
|
window: MeetingWindow;
|
|
82
|
-
type:
|
|
117
|
+
type: "video" | "audio";
|
|
83
118
|
capturing: boolean;
|
|
84
119
|
}
|
|
85
120
|
export interface ParticipantCaptureStatusEvent {
|
|
86
121
|
window: MeetingWindow;
|
|
87
|
-
type:
|
|
122
|
+
type: "video" | "audio" | "screenshare";
|
|
88
123
|
capturing: boolean;
|
|
89
124
|
}
|
|
90
125
|
export interface RealtimeEvent {
|
|
@@ -105,7 +140,7 @@ export interface ShutdownEvent {
|
|
|
105
140
|
code: number;
|
|
106
141
|
signal: string;
|
|
107
142
|
}
|
|
108
|
-
export type PermissionType =
|
|
143
|
+
export type PermissionType = "accessibility" | "screen-capture" | "microphone" | "system-audio";
|
|
109
144
|
export interface ApiResponse<T = any> {
|
|
110
145
|
success: boolean;
|
|
111
146
|
message: string;
|
|
@@ -116,7 +151,7 @@ export interface PluginStatus {
|
|
|
116
151
|
sdkInitialized: boolean;
|
|
117
152
|
version: string;
|
|
118
153
|
config: RecallSdkConfig;
|
|
119
|
-
sdkState?:
|
|
154
|
+
sdkState?: "recording" | "idle" | "paused";
|
|
120
155
|
permissions?: {
|
|
121
156
|
accessibility: boolean;
|
|
122
157
|
screenCapture: boolean;
|
package/dist/shared.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"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"}
|
package/dist/shared.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,8DAA8D;AAC9D,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,gBAAgB;IAChB,QAAQ,EAAE,yBAAyB;IACnC,YAAY,EAAE,6BAA6B;IAC3C,UAAU,EAAE,2BAA2B;IAEvC,uBAAuB;IACvB,eAAe,EAAE,gCAAgC;IACjD,cAAc,EAAE,+BAA+B;IAC/C,eAAe,EAAE,gCAAgC;IACjD,gBAAgB,EAAE,iCAAiC;IACnD,gBAAgB,EAAE,iCAAiC;IAEnD,0BAA0B;IAC1B,qBAAqB,EAAE,sCAAsC;IAE7D,wBAAwB;IACxB,kBAAkB,EAAE,mCAAmC;IAEvD,gBAAgB;IAChB,UAAU,EAAE,2BAA2B;IACvC,UAAU,EAAE,2BAA2B;IAEvC,qBAAqB;IACrB,gBAAgB,EAAE,iCAAiC;IACnD,kBAAkB,EAAE,mCAAmC;CAC/C,CAAC;
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,8DAA8D;AAC9D,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,gBAAgB;IAChB,QAAQ,EAAE,yBAAyB;IACnC,YAAY,EAAE,6BAA6B;IAC3C,UAAU,EAAE,2BAA2B;IAEvC,uBAAuB;IACvB,eAAe,EAAE,gCAAgC;IACjD,cAAc,EAAE,+BAA+B;IAC/C,eAAe,EAAE,gCAAgC;IACjD,gBAAgB,EAAE,iCAAiC;IACnD,gBAAgB,EAAE,iCAAiC;IAEnD,0BAA0B;IAC1B,qBAAqB,EAAE,sCAAsC;IAE7D,wBAAwB;IACxB,kBAAkB,EAAE,mCAAmC;IAEvD,gBAAgB;IAChB,UAAU,EAAE,2BAA2B;IACvC,UAAU,EAAE,2BAA2B;IAEvC,qBAAqB;IACrB,gBAAgB,EAAE,iCAAiC;IACnD,kBAAkB,EAAE,mCAAmC;CAC/C,CAAC;AA0JX,cAAc;AACd,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC,YAAY,OAAe,EAAS,IAAa;QAC/C,KAAK,CAAC,OAAO,CAAC,CAAC;QADmB,SAAI,GAAJ,IAAI,CAAS;QAE/C,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF"}
|