crewly 1.11.4 → 1.11.6
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/backend/backend/src/constants.d.ts +22 -1
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +22 -1
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/services/backup/backup-archive.service.d.ts +90 -0
- package/dist/backend/backend/src/services/backup/backup-archive.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/backup/backup-archive.service.js +309 -0
- package/dist/backend/backend/src/services/backup/backup-archive.service.js.map +1 -0
- package/dist/backend/backend/src/services/backup/backup-cloud.client.d.ts +75 -0
- package/dist/backend/backend/src/services/backup/backup-cloud.client.d.ts.map +1 -0
- package/dist/backend/backend/src/services/backup/backup-cloud.client.js +134 -0
- package/dist/backend/backend/src/services/backup/backup-cloud.client.js.map +1 -0
- package/dist/backend/backend/src/services/backup/backup-restore.service.d.ts +78 -0
- package/dist/backend/backend/src/services/backup/backup-restore.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/backup/backup-restore.service.js +358 -0
- package/dist/backend/backend/src/services/backup/backup-restore.service.js.map +1 -0
- package/dist/backend/backend/src/services/backup/backup.types.d.ts +163 -0
- package/dist/backend/backend/src/services/backup/backup.types.d.ts.map +1 -0
- package/dist/backend/backend/src/services/backup/backup.types.js +13 -0
- package/dist/backend/backend/src/services/backup/backup.types.js.map +1 -0
- package/dist/backend/backend/src/services/cloud/cloud-sync.service.d.ts +29 -2
- package/dist/backend/backend/src/services/cloud/cloud-sync.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/cloud/cloud-sync.service.js +97 -13
- package/dist/backend/backend/src/services/cloud/cloud-sync.service.js.map +1 -1
- package/dist/cli/backend/src/constants.d.ts +22 -1
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +22 -1
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/controllers/cloud/cloud-google-auth.controller.d.ts +70 -0
- package/dist/cli/backend/src/controllers/cloud/cloud-google-auth.controller.d.ts.map +1 -0
- package/dist/cli/backend/src/controllers/cloud/cloud-google-auth.controller.js +427 -0
- package/dist/cli/backend/src/controllers/cloud/cloud-google-auth.controller.js.map +1 -0
- package/dist/cli/backend/src/services/backup/backup-archive.service.d.ts +90 -0
- package/dist/cli/backend/src/services/backup/backup-archive.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/backup/backup-archive.service.js +309 -0
- package/dist/cli/backend/src/services/backup/backup-archive.service.js.map +1 -0
- package/dist/cli/backend/src/services/backup/backup-cloud.client.d.ts +75 -0
- package/dist/cli/backend/src/services/backup/backup-cloud.client.d.ts.map +1 -0
- package/dist/cli/backend/src/services/backup/backup-cloud.client.js +134 -0
- package/dist/cli/backend/src/services/backup/backup-cloud.client.js.map +1 -0
- package/dist/cli/backend/src/services/backup/backup-restore.service.d.ts +78 -0
- package/dist/cli/backend/src/services/backup/backup-restore.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/backup/backup-restore.service.js +358 -0
- package/dist/cli/backend/src/services/backup/backup-restore.service.js.map +1 -0
- package/dist/cli/backend/src/services/backup/backup.types.d.ts +163 -0
- package/dist/cli/backend/src/services/backup/backup.types.d.ts.map +1 -0
- package/dist/cli/backend/src/services/backup/backup.types.js +13 -0
- package/dist/cli/backend/src/services/backup/backup.types.js.map +1 -0
- package/dist/cli/backend/src/services/cloud/cloud-client.service.d.ts +410 -0
- package/dist/cli/backend/src/services/cloud/cloud-client.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/cloud/cloud-client.service.js +863 -0
- package/dist/cli/backend/src/services/cloud/cloud-client.service.js.map +1 -0
- package/dist/cli/backend/src/services/cloud/cloud-sync.service.d.ts +292 -0
- package/dist/cli/backend/src/services/cloud/cloud-sync.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/cloud/cloud-sync.service.js +1093 -0
- package/dist/cli/backend/src/services/cloud/cloud-sync.service.js.map +1 -0
- package/dist/cli/backend/src/services/cloud/cloud-sync.types.d.ts +328 -0
- package/dist/cli/backend/src/services/cloud/cloud-sync.types.d.ts.map +1 -0
- package/dist/cli/backend/src/services/cloud/cloud-sync.types.js +171 -0
- package/dist/cli/backend/src/services/cloud/cloud-sync.types.js.map +1 -0
- package/dist/cli/backend/src/services/cloud/device-identity.service.d.ts +89 -0
- package/dist/cli/backend/src/services/cloud/device-identity.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/cloud/device-identity.service.js +148 -0
- package/dist/cli/backend/src/services/cloud/device-identity.service.js.map +1 -0
- package/dist/cli/backend/src/services/user/user-identity.service.d.ts +86 -0
- package/dist/cli/backend/src/services/user/user-identity.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/user/user-identity.service.js +190 -0
- package/dist/cli/backend/src/services/user/user-identity.service.js.map +1 -0
- package/dist/cli/cli/src/commands/backup.d.ts +31 -0
- package/dist/cli/cli/src/commands/backup.d.ts.map +1 -0
- package/dist/cli/cli/src/commands/backup.js +280 -0
- package/dist/cli/cli/src/commands/backup.js.map +1 -0
- package/dist/cli/cli/src/index.js +10 -0
- package/dist/cli/cli/src/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-client.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/cloud/cloud-client.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cloud Sync Service
|
|
3
|
+
*
|
|
4
|
+
* Singleton service that replaces the WebSocket Relay pairing model with a
|
|
5
|
+
* simpler heartbeat + polling architecture. All devices under the same Cloud
|
|
6
|
+
* account are automatically visible and can exchange messages.
|
|
7
|
+
*
|
|
8
|
+
* Responsibilities:
|
|
9
|
+
* - Heartbeat: periodically uploads device status to Cloud
|
|
10
|
+
* - Device poll: periodically fetches the device list for the account
|
|
11
|
+
* - Message poll: periodically fetches pending messages for this device
|
|
12
|
+
* - Send: posts messages to specific devices via Cloud
|
|
13
|
+
*
|
|
14
|
+
* @see docs/cloud-sync-design.md
|
|
15
|
+
* @module services/cloud/cloud-sync.service
|
|
16
|
+
*/
|
|
17
|
+
import { EventEmitter } from 'events';
|
|
18
|
+
import type { CloudSyncConfig, CloudSyncState, SyncDevice, MessageType } from './cloud-sync.types.js';
|
|
19
|
+
/**
|
|
20
|
+
* CloudSyncService singleton.
|
|
21
|
+
*
|
|
22
|
+
* Manages heartbeat, device discovery, and message polling for the
|
|
23
|
+
* Cloud Sync system. Extends EventEmitter to notify consumers of
|
|
24
|
+
* device and message changes.
|
|
25
|
+
*
|
|
26
|
+
* Events:
|
|
27
|
+
* - `devices_updated` — Fired when the device list changes. Payload: SyncDevice[]
|
|
28
|
+
* - `message` — Fired for each incoming message. Payload: IncomingMessage
|
|
29
|
+
* - `device_online` — Fired when a device comes online. Payload: SyncDevice
|
|
30
|
+
* - `device_offline` — Fired when a device goes offline. Payload: SyncDevice
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```typescript
|
|
34
|
+
* const sync = CloudSyncService.getInstance();
|
|
35
|
+
* sync.start({ cloudUrl, token, deviceId, deviceName });
|
|
36
|
+
* sync.on('message', (msg) => console.log('Received:', msg));
|
|
37
|
+
* sync.on('devices_updated', (devices) => console.log('Devices:', devices));
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export declare class CloudSyncService extends EventEmitter {
|
|
41
|
+
private static instance;
|
|
42
|
+
private readonly logger;
|
|
43
|
+
/** Current service state */
|
|
44
|
+
private state;
|
|
45
|
+
/** Configuration (set on start) */
|
|
46
|
+
private config;
|
|
47
|
+
/** Cached device list from last poll */
|
|
48
|
+
private devices;
|
|
49
|
+
/** Cached Crewly version */
|
|
50
|
+
private version;
|
|
51
|
+
/** Heartbeat timer handle */
|
|
52
|
+
private heartbeatTimer;
|
|
53
|
+
/** Device poll timer handle */
|
|
54
|
+
private devicePollTimer;
|
|
55
|
+
/** Message poll timer handle (self-rescheduling long-poll loop). */
|
|
56
|
+
private messagePollTimer;
|
|
57
|
+
/** Guards against overlapping self-scheduled message-poll cycles. */
|
|
58
|
+
private messagePollRunning;
|
|
59
|
+
/** Queue re-register timer handle (lets relay evict stale Portal pairs). */
|
|
60
|
+
private registerTimer;
|
|
61
|
+
/** Consecutive heartbeat failure count */
|
|
62
|
+
private heartbeatFailures;
|
|
63
|
+
/** Consecutive device poll failure count */
|
|
64
|
+
private devicePollFailures;
|
|
65
|
+
/** Consecutive message poll failure count */
|
|
66
|
+
private messagePollFailures;
|
|
67
|
+
/** Error recovery timer handle */
|
|
68
|
+
private errorRecoveryTimer;
|
|
69
|
+
/** Consecutive error recovery attempts (reset on success or stop) */
|
|
70
|
+
private errorRecoveryAttempts;
|
|
71
|
+
/** Our assigned queue ID from Cloud relay queue registration (for message polling) */
|
|
72
|
+
private queueId;
|
|
73
|
+
/**
|
|
74
|
+
* Recently processed message IDs to prevent re-delivery when ackMessages fails.
|
|
75
|
+
* Keeps the last 500 IDs; pruned on overflow.
|
|
76
|
+
*/
|
|
77
|
+
private processedMessageIds;
|
|
78
|
+
/** Maximum size of the processedMessageIds dedup set */
|
|
79
|
+
private static readonly MAX_DEDUP_IDS;
|
|
80
|
+
private constructor();
|
|
81
|
+
/**
|
|
82
|
+
* Get the singleton instance.
|
|
83
|
+
*
|
|
84
|
+
* @returns CloudSyncService instance
|
|
85
|
+
*/
|
|
86
|
+
static getInstance(): CloudSyncService;
|
|
87
|
+
/**
|
|
88
|
+
* Reset the singleton (for testing).
|
|
89
|
+
*/
|
|
90
|
+
static resetInstance(): void;
|
|
91
|
+
/**
|
|
92
|
+
* Start the Cloud Sync service.
|
|
93
|
+
*
|
|
94
|
+
* Begins heartbeat, device polling, and message polling timers.
|
|
95
|
+
* Performs an immediate heartbeat and device poll on start.
|
|
96
|
+
*
|
|
97
|
+
* @param config - Cloud connection configuration
|
|
98
|
+
*/
|
|
99
|
+
start(config: CloudSyncConfig): void;
|
|
100
|
+
/**
|
|
101
|
+
* Stop the Cloud Sync service.
|
|
102
|
+
*
|
|
103
|
+
* Clears all timers and resets state. Safe to call multiple times.
|
|
104
|
+
*/
|
|
105
|
+
stop(): void;
|
|
106
|
+
/**
|
|
107
|
+
* Check if the sync service has been started.
|
|
108
|
+
*
|
|
109
|
+
* @returns True if the service is currently syncing
|
|
110
|
+
*/
|
|
111
|
+
isStarted(): boolean;
|
|
112
|
+
/**
|
|
113
|
+
* Get the current service state.
|
|
114
|
+
*
|
|
115
|
+
* @returns Current CloudSyncState
|
|
116
|
+
*/
|
|
117
|
+
getState(): CloudSyncState;
|
|
118
|
+
/**
|
|
119
|
+
* Get all cached devices for this Cloud account.
|
|
120
|
+
*
|
|
121
|
+
* @returns Array of SyncDevice objects (may include offline devices)
|
|
122
|
+
*/
|
|
123
|
+
getDevices(): SyncDevice[];
|
|
124
|
+
/**
|
|
125
|
+
* Update the authentication token used for Cloud API requests.
|
|
126
|
+
*
|
|
127
|
+
* Called by CloudClientService after a successful token refresh
|
|
128
|
+
* so that heartbeat, device poll, and message poll use the new token.
|
|
129
|
+
*
|
|
130
|
+
* @param newToken - New JWT access token
|
|
131
|
+
*/
|
|
132
|
+
updateToken(newToken: string): void;
|
|
133
|
+
/**
|
|
134
|
+
* Get only online devices (excluding this device).
|
|
135
|
+
*
|
|
136
|
+
* @returns Array of online SyncDevice objects
|
|
137
|
+
*/
|
|
138
|
+
getOnlineDevices(): SyncDevice[];
|
|
139
|
+
/**
|
|
140
|
+
* Send a message to another device via the Cloud message queue.
|
|
141
|
+
*
|
|
142
|
+
* @param toDeviceId - Target device identifier
|
|
143
|
+
* @param type - Message type
|
|
144
|
+
* @param payload - Message payload (must be JSON-serializable)
|
|
145
|
+
* @throws Error when not started or API call fails
|
|
146
|
+
*
|
|
147
|
+
* @example
|
|
148
|
+
* ```typescript
|
|
149
|
+
* await sync.sendMessage('dev-456', 'command', {
|
|
150
|
+
* action: 'delegate-task',
|
|
151
|
+
* content: 'Implement feature X'
|
|
152
|
+
* });
|
|
153
|
+
* ```
|
|
154
|
+
*/
|
|
155
|
+
sendMessage(toDeviceId: string, type: MessageType, payload: unknown): Promise<void>;
|
|
156
|
+
/**
|
|
157
|
+
* Send a message directly to a peer queueId, bypassing the device cache.
|
|
158
|
+
*
|
|
159
|
+
* Used by `ChatV2RelayAdapter` for routing `chat_response` back to a
|
|
160
|
+
* Portal browser whose deviceId may not yet have propagated to the
|
|
161
|
+
* 30s-interval device poll. The production relay's `/queue/send`
|
|
162
|
+
* endpoint accepts a raw `peerQueueId`, so when the target identifier
|
|
163
|
+
* IS already a queueId (which Portal's wrapper.fromDeviceName field
|
|
164
|
+
* carries — see `chat-v2.relay-adapter.service.ts:handleRequest`),
|
|
165
|
+
* we can skip the cache lookup entirely and avoid the race.
|
|
166
|
+
*
|
|
167
|
+
* Falls back to `sendMessage(...)` semantics on the wire (same JSON
|
|
168
|
+
* wrapper) so the receiver's CloudSyncService normalizes it identically.
|
|
169
|
+
*
|
|
170
|
+
* @param peerQueueId - The relay queueId to route to (no cache lookup)
|
|
171
|
+
* @param type - MessageType for the wrapper
|
|
172
|
+
* @param payload - JSON-serializable inner data
|
|
173
|
+
* @throws Error when not started or the HTTP send fails
|
|
174
|
+
*/
|
|
175
|
+
sendToPeerQueueId(peerQueueId: string, type: MessageType, payload: unknown): Promise<void>;
|
|
176
|
+
/**
|
|
177
|
+
* Register with the Cloud relay message queue.
|
|
178
|
+
*
|
|
179
|
+
* Calls POST /api/v1/relay/queue/register with a deterministic pairing code
|
|
180
|
+
* derived from the JWT user ID. This allows both devices of the same user
|
|
181
|
+
* to auto-discover each other's queueId for message routing.
|
|
182
|
+
*
|
|
183
|
+
* The assigned queueId is used for message polling. The peerQueueId
|
|
184
|
+
* (other device's queue) is used for sending.
|
|
185
|
+
*/
|
|
186
|
+
private registerQueue;
|
|
187
|
+
/**
|
|
188
|
+
* Derive a deterministic pairing code from the JWT token's user ID.
|
|
189
|
+
* Both devices of the same user will produce the same code.
|
|
190
|
+
*/
|
|
191
|
+
private derivePairingCode;
|
|
192
|
+
/**
|
|
193
|
+
* Get the queue ID assigned by Cloud registration.
|
|
194
|
+
* Returns null if not yet registered.
|
|
195
|
+
*/
|
|
196
|
+
getQueueId(): string | null;
|
|
197
|
+
/**
|
|
198
|
+
* Send a heartbeat to the Cloud server with current device state.
|
|
199
|
+
* Called periodically by the heartbeat timer.
|
|
200
|
+
*
|
|
201
|
+
* Posts to the Cloud Relay handshake endpoint (/api/v1/relay/handshake)
|
|
202
|
+
* which registers/updates the device with enriched metadata.
|
|
203
|
+
*/
|
|
204
|
+
sendHeartbeat(): Promise<void>;
|
|
205
|
+
/**
|
|
206
|
+
* Poll the Cloud server for the current device list.
|
|
207
|
+
* Updates the cached device list and emits events on changes.
|
|
208
|
+
*
|
|
209
|
+
* The Cloud server returns devices in relay format:
|
|
210
|
+
* `{ sessionId, role, state, pairedWith, registeredAt, lastHeartbeatAt, name }`
|
|
211
|
+
* which we normalize to the SyncDevice shape used by the frontend.
|
|
212
|
+
*/
|
|
213
|
+
pollDevices(): Promise<void>;
|
|
214
|
+
/**
|
|
215
|
+
* Poll the Cloud server for pending messages addressed to this device.
|
|
216
|
+
* Emits 'message' event for each received message, then acknowledges.
|
|
217
|
+
*
|
|
218
|
+
* The Cloud Sync message poll endpoint uses `deviceId` query param.
|
|
219
|
+
* Cloud returns messages as: `{ id, from, fromDeviceName, type, payload, encrypted, sentAt }`.
|
|
220
|
+
*/
|
|
221
|
+
pollMessages(): Promise<number>;
|
|
222
|
+
/**
|
|
223
|
+
* One iteration of the self-rescheduling message-poll loop. Runs a
|
|
224
|
+
* (possibly long-held) {@link pollMessages}, then schedules the next cycle
|
|
225
|
+
* with a gap chosen from the outcome:
|
|
226
|
+
*
|
|
227
|
+
* - **error** (`count < 0`) → back off to {@link CLOUD_SYNC_CONSTANTS.MESSAGE_POLL_INTERVAL_MS}.
|
|
228
|
+
* - **long-poll disabled** → fixed interval (legacy cadence).
|
|
229
|
+
* - **message received** (`count > 0`) → re-open right away to drain more.
|
|
230
|
+
* - **held then empty** (elapsed ≥ half the wait) → short gap; this is the
|
|
231
|
+
* normal continuous long-poll.
|
|
232
|
+
* - **empty too fast** (elapsed < half the wait) → the relay likely ignores
|
|
233
|
+
* `wait=`; degrade to the fixed interval so we don't hot-loop against an
|
|
234
|
+
* un-upgraded relay.
|
|
235
|
+
*
|
|
236
|
+
* Re-entrancy is guarded so a delayed timer can never overlap an in-flight
|
|
237
|
+
* cycle. No-op once stopped.
|
|
238
|
+
*/
|
|
239
|
+
private runMessagePollCycle;
|
|
240
|
+
/**
|
|
241
|
+
* Schedule the next message-poll cycle. Stores the (unref'd) timer handle so
|
|
242
|
+
* `stop()` can cancel a pending cycle. No-op once stopped.
|
|
243
|
+
*
|
|
244
|
+
* @param delayMs - Delay before the next {@link runMessagePollCycle}
|
|
245
|
+
*/
|
|
246
|
+
private scheduleNextMessagePoll;
|
|
247
|
+
/**
|
|
248
|
+
* Acknowledge processed messages so Cloud can remove them from the queue.
|
|
249
|
+
* Uses `queueId` in body to identify the target message queue (fallback
|
|
250
|
+
* when JWT has no deviceId claim).
|
|
251
|
+
*
|
|
252
|
+
* @param messageIds - Array of message IDs to acknowledge
|
|
253
|
+
*/
|
|
254
|
+
private ackMessages;
|
|
255
|
+
/**
|
|
256
|
+
* Check if any failure counter has exceeded the threshold.
|
|
257
|
+
* If so, transition to error state and schedule a recovery attempt.
|
|
258
|
+
*/
|
|
259
|
+
private checkErrorThreshold;
|
|
260
|
+
/**
|
|
261
|
+
* Schedule periodic recovery attempts when in error state.
|
|
262
|
+
*
|
|
263
|
+
* Tries a single heartbeat every ERROR_RECOVERY_INTERVAL_MS (60s by default).
|
|
264
|
+
* If the heartbeat succeeds, resets all failure counters and resumes normal
|
|
265
|
+
* polling. After MAX_ERROR_RECOVERY_ATTEMPTS consecutive auth failures (401/403),
|
|
266
|
+
* transitions to 'auth_expired' terminal state and emits 'auth_expired'.
|
|
267
|
+
*/
|
|
268
|
+
private scheduleErrorRecovery;
|
|
269
|
+
/**
|
|
270
|
+
* Transition to the terminal auth_expired state.
|
|
271
|
+
* Clears all timers and emits 'auth_expired' for frontend notification.
|
|
272
|
+
*/
|
|
273
|
+
private enterAuthExpiredState;
|
|
274
|
+
/** Guard to prevent concurrent token refresh attempts */
|
|
275
|
+
private tokenRefreshInProgress;
|
|
276
|
+
/**
|
|
277
|
+
* Check if an HTTP status code indicates an authentication failure (401/403).
|
|
278
|
+
* If so, attempt to refresh the token via CloudClientService.
|
|
279
|
+
* On success, updates this service's config with the new token.
|
|
280
|
+
*
|
|
281
|
+
* @param status - HTTP status code from a Cloud API response
|
|
282
|
+
* @returns true if the token was refreshed successfully
|
|
283
|
+
*/
|
|
284
|
+
private handleAuthError;
|
|
285
|
+
/**
|
|
286
|
+
* Build authorization headers for Cloud API requests.
|
|
287
|
+
*
|
|
288
|
+
* @returns Headers with Bearer token and Content-Type
|
|
289
|
+
*/
|
|
290
|
+
private authHeaders;
|
|
291
|
+
}
|
|
292
|
+
//# sourceMappingURL=cloud-sync.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-sync.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/cloud/cloud-sync.service.ts"],"names":[],"mappings":"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"}
|