crewly 1.20.149 → 1.20.151

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 (149) hide show
  1. package/dist/backend/backend/src/constants.d.ts +100 -0
  2. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  3. package/dist/backend/backend/src/constants.js +101 -0
  4. package/dist/backend/backend/src/constants.js.map +1 -1
  5. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.d.ts +1 -0
  6. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.d.ts.map +1 -1
  7. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.js +22 -0
  8. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.js.map +1 -1
  9. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.routes.d.ts +1 -0
  10. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.routes.d.ts.map +1 -1
  11. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.routes.js +2 -0
  12. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.routes.js.map +1 -1
  13. package/dist/backend/backend/src/controllers/messaging/messenger.routes.d.ts.map +1 -1
  14. package/dist/backend/backend/src/controllers/messaging/messenger.routes.js +42 -1
  15. package/dist/backend/backend/src/controllers/messaging/messenger.routes.js.map +1 -1
  16. package/dist/backend/backend/src/index.d.ts +8 -0
  17. package/dist/backend/backend/src/index.d.ts.map +1 -1
  18. package/dist/backend/backend/src/index.js +109 -1
  19. package/dist/backend/backend/src/index.js.map +1 -1
  20. package/dist/backend/backend/src/services/chat-v2/chat-v2.relay-adapter.service.d.ts.map +1 -1
  21. package/dist/backend/backend/src/services/chat-v2/chat-v2.relay-adapter.service.js +3 -0
  22. package/dist/backend/backend/src/services/chat-v2/chat-v2.relay-adapter.service.js.map +1 -1
  23. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts +94 -2
  24. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
  25. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js +183 -2
  26. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
  27. package/dist/backend/backend/src/services/chat-v2/owner-inbound.utils.d.ts +70 -0
  28. package/dist/backend/backend/src/services/chat-v2/owner-inbound.utils.d.ts.map +1 -1
  29. package/dist/backend/backend/src/services/chat-v2/owner-inbound.utils.js +78 -0
  30. package/dist/backend/backend/src/services/chat-v2/owner-inbound.utils.js.map +1 -1
  31. package/dist/backend/backend/src/services/chat-v2/sqlite/chat-db.d.ts.map +1 -1
  32. package/dist/backend/backend/src/services/chat-v2/sqlite/chat-db.js +9 -0
  33. package/dist/backend/backend/src/services/chat-v2/sqlite/chat-db.js.map +1 -1
  34. package/dist/backend/backend/src/services/chat-v2/sqlite/cloud-outbox.store.d.ts +136 -0
  35. package/dist/backend/backend/src/services/chat-v2/sqlite/cloud-outbox.store.d.ts.map +1 -0
  36. package/dist/backend/backend/src/services/chat-v2/sqlite/cloud-outbox.store.js +207 -0
  37. package/dist/backend/backend/src/services/chat-v2/sqlite/cloud-outbox.store.js.map +1 -0
  38. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts +62 -1
  39. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts.map +1 -1
  40. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js +111 -4
  41. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js.map +1 -1
  42. package/dist/backend/backend/src/services/chat-v2/sqlite/unified-log.d.ts +206 -0
  43. package/dist/backend/backend/src/services/chat-v2/sqlite/unified-log.d.ts.map +1 -0
  44. package/dist/backend/backend/src/services/chat-v2/sqlite/unified-log.js +442 -0
  45. package/dist/backend/backend/src/services/chat-v2/sqlite/unified-log.js.map +1 -0
  46. package/dist/backend/backend/src/services/chat-v2/types.d.ts +29 -0
  47. package/dist/backend/backend/src/services/chat-v2/types.d.ts.map +1 -1
  48. package/dist/backend/backend/src/services/chat-v2/types.js.map +1 -1
  49. package/dist/backend/backend/src/services/cloud/agent-roster.utils.d.ts +31 -0
  50. package/dist/backend/backend/src/services/cloud/agent-roster.utils.d.ts.map +1 -0
  51. package/dist/backend/backend/src/services/cloud/agent-roster.utils.js +53 -0
  52. package/dist/backend/backend/src/services/cloud/agent-roster.utils.js.map +1 -0
  53. package/dist/backend/backend/src/services/cloud/cloud-sync.types.d.ts +1 -1
  54. package/dist/backend/backend/src/services/cloud/cloud-sync.types.d.ts.map +1 -1
  55. package/dist/backend/backend/src/services/cloud/cloud-sync.types.js +1 -0
  56. package/dist/backend/backend/src/services/cloud/cloud-sync.types.js.map +1 -1
  57. package/dist/backend/backend/src/services/cloud/cloud-talk-inbound.service.d.ts +125 -0
  58. package/dist/backend/backend/src/services/cloud/cloud-talk-inbound.service.d.ts.map +1 -0
  59. package/dist/backend/backend/src/services/cloud/cloud-talk-inbound.service.js +272 -0
  60. package/dist/backend/backend/src/services/cloud/cloud-talk-inbound.service.js.map +1 -0
  61. package/dist/backend/backend/src/services/cloud/conversation-cloud-sync.service.d.ts +229 -0
  62. package/dist/backend/backend/src/services/cloud/conversation-cloud-sync.service.d.ts.map +1 -0
  63. package/dist/backend/backend/src/services/cloud/conversation-cloud-sync.service.js +655 -0
  64. package/dist/backend/backend/src/services/cloud/conversation-cloud-sync.service.js.map +1 -0
  65. package/dist/backend/backend/src/services/cloud/conversation-ingest.contract.d.ts +215 -0
  66. package/dist/backend/backend/src/services/cloud/conversation-ingest.contract.d.ts.map +1 -0
  67. package/dist/backend/backend/src/services/cloud/conversation-ingest.contract.js +193 -0
  68. package/dist/backend/backend/src/services/cloud/conversation-ingest.contract.js.map +1 -0
  69. package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.d.ts.map +1 -1
  70. package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.js +4 -0
  71. package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.js.map +1 -1
  72. package/dist/backend/backend/src/services/messaging/google-chat-initializer.d.ts.map +1 -1
  73. package/dist/backend/backend/src/services/messaging/google-chat-initializer.js +11 -1
  74. package/dist/backend/backend/src/services/messaging/google-chat-initializer.js.map +1 -1
  75. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.d.ts +1 -1
  76. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.d.ts.map +1 -1
  77. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.js +13 -0
  78. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.js.map +1 -1
  79. package/dist/backend/backend/src/services/slack/slack-initializer.d.ts.map +1 -1
  80. package/dist/backend/backend/src/services/slack/slack-initializer.js +15 -0
  81. package/dist/backend/backend/src/services/slack/slack-initializer.js.map +1 -1
  82. package/dist/backend/backend/src/services/slack/slack-instance-registry.service.d.ts +5 -0
  83. package/dist/backend/backend/src/services/slack/slack-instance-registry.service.d.ts.map +1 -1
  84. package/dist/backend/backend/src/services/slack/slack-instance-registry.service.js +5 -0
  85. package/dist/backend/backend/src/services/slack/slack-instance-registry.service.js.map +1 -1
  86. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts +14 -1
  87. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
  88. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js +34 -2
  89. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
  90. package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
  91. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js +1 -0
  92. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
  93. package/dist/backend/backend/src/services/telegram/telegram-orchestrator-bridge.d.ts +10 -0
  94. package/dist/backend/backend/src/services/telegram/telegram-orchestrator-bridge.d.ts.map +1 -1
  95. package/dist/backend/backend/src/services/telegram/telegram-orchestrator-bridge.js +27 -2
  96. package/dist/backend/backend/src/services/telegram/telegram-orchestrator-bridge.js.map +1 -1
  97. package/dist/backend/backend/src/services/whatsapp/whatsapp-orchestrator-bridge.d.ts +10 -0
  98. package/dist/backend/backend/src/services/whatsapp/whatsapp-orchestrator-bridge.d.ts.map +1 -1
  99. package/dist/backend/backend/src/services/whatsapp/whatsapp-orchestrator-bridge.js +27 -4
  100. package/dist/backend/backend/src/services/whatsapp/whatsapp-orchestrator-bridge.js.map +1 -1
  101. package/dist/backend/backend/src/types/slack.types.d.ts +24 -0
  102. package/dist/backend/backend/src/types/slack.types.d.ts.map +1 -1
  103. package/dist/backend/backend/src/types/slack.types.js.map +1 -1
  104. package/dist/backend/build-info.json +2 -2
  105. package/dist/cli/backend/src/constants.d.ts +100 -0
  106. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  107. package/dist/cli/backend/src/constants.js +101 -0
  108. package/dist/cli/backend/src/constants.js.map +1 -1
  109. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts +94 -2
  110. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
  111. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js +183 -2
  112. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
  113. package/dist/cli/backend/src/services/chat-v2/sqlite/chat-db.d.ts.map +1 -1
  114. package/dist/cli/backend/src/services/chat-v2/sqlite/chat-db.js +9 -0
  115. package/dist/cli/backend/src/services/chat-v2/sqlite/chat-db.js.map +1 -1
  116. package/dist/cli/backend/src/services/chat-v2/sqlite/cloud-outbox.store.d.ts +136 -0
  117. package/dist/cli/backend/src/services/chat-v2/sqlite/cloud-outbox.store.d.ts.map +1 -0
  118. package/dist/cli/backend/src/services/chat-v2/sqlite/cloud-outbox.store.js +207 -0
  119. package/dist/cli/backend/src/services/chat-v2/sqlite/cloud-outbox.store.js.map +1 -0
  120. package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.d.ts +62 -1
  121. package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.d.ts.map +1 -1
  122. package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.js +111 -4
  123. package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.js.map +1 -1
  124. package/dist/cli/backend/src/services/chat-v2/sqlite/unified-log.d.ts +206 -0
  125. package/dist/cli/backend/src/services/chat-v2/sqlite/unified-log.d.ts.map +1 -0
  126. package/dist/cli/backend/src/services/chat-v2/sqlite/unified-log.js +442 -0
  127. package/dist/cli/backend/src/services/chat-v2/sqlite/unified-log.js.map +1 -0
  128. package/dist/cli/backend/src/services/chat-v2/types.d.ts +29 -0
  129. package/dist/cli/backend/src/services/chat-v2/types.d.ts.map +1 -1
  130. package/dist/cli/backend/src/services/chat-v2/types.js.map +1 -1
  131. package/dist/cli/backend/src/services/cloud/cloud-sync.types.d.ts +1 -1
  132. package/dist/cli/backend/src/services/cloud/cloud-sync.types.d.ts.map +1 -1
  133. package/dist/cli/backend/src/services/cloud/cloud-sync.types.js +1 -0
  134. package/dist/cli/backend/src/services/cloud/cloud-sync.types.js.map +1 -1
  135. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.d.ts +1 -1
  136. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.d.ts.map +1 -1
  137. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.js +13 -0
  138. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.js.map +1 -1
  139. package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.d.ts +14 -1
  140. package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
  141. package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.js +34 -2
  142. package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
  143. package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
  144. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js +1 -0
  145. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
  146. package/dist/cli/backend/src/types/slack.types.d.ts +24 -0
  147. package/dist/cli/backend/src/types/slack.types.d.ts.map +1 -1
  148. package/dist/cli/backend/src/types/slack.types.js.map +1 -1
  149. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-talk-inbound.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/cloud/cloud-talk-inbound.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,229 @@
1
+ /**
2
+ * ConversationCloudSyncService — uploads this machine's conversation log to
3
+ * Crewly Cloud (specs/unified-conversations-cloud-store.md §B).
4
+ *
5
+ * - **Live:** drains `cloud_outbox` (filled by triggers on `chat_messages`)
6
+ * in `seq` order, one request in flight, batches of ≤ 50 messages /
7
+ * 256 KB, gzip. Wakes on every new chat message (after a 2 s gather) and
8
+ * on a 10 s tick. Rows leave the outbox only once Cloud acknowledged them.
9
+ * - **Backfill:** after first sign-in (or an account switch, or a plan
10
+ * upgrade that widens the window) it re-sends the history inside the
11
+ * plan's retention window, oldest first, at most one request a second,
12
+ * after the live queue.
13
+ * - **Disconnected / signed out:** the outbox stays on disk; it is only
14
+ * trimmed (older than 90 days, more than 200k rows — a history gap).
15
+ * - **Failures:** exponential backoff 1 s → 5 min. A 404 (Cloud has no
16
+ * conversation store yet), `403 sync_disabled`, `503` key missing or a
17
+ * `400` batch Cloud refuses pause sync for an hour, logged once.
18
+ * - **O1:** on by default for a signed-in machine; the owner gets one Slack
19
+ * DM the first time history reaches Cloud. `CREWLY_CONVERSATION_SYNC=0`
20
+ * (or `CREWLY_CLOUD_CONVERSATIONS=off`) turns uploading off; the outbox
21
+ * still fills.
22
+ * - **O4:** text only — attachments go as name / size / mime.
23
+ * - **Roster (Cloud Talk, Phase 3):** every 5 minutes, and whenever the
24
+ * advertised capabilities change, an empty batch carries this machine's
25
+ * agent roster and capabilities (`talk_message`), so Cloud lists agents
26
+ * that have no messages yet and knows Talk can be sent here — also on
27
+ * machines that do not use Slack (and so never send the Slack heartbeat).
28
+ *
29
+ * The wire contract lives in `conversation-ingest.contract.ts`.
30
+ *
31
+ * @module services/cloud/conversation-cloud-sync.service
32
+ */
33
+ import { type ComponentLogger } from '../core/logger.service.js';
34
+ import type { BackfillCursor, OutboxEntry, UploadMessageRow } from '../chat-v2/sqlite/cloud-outbox.store.js';
35
+ import { type AgentRosterEntry, type IngestUpsert } from './conversation-ingest.contract.js';
36
+ /** The outbox operations the uploader needs (see `CloudOutboxStore`). */
37
+ export interface ConversationOutbox {
38
+ peek(limit: number): OutboxEntry[];
39
+ ackThrough(seq: number): number;
40
+ count(): number;
41
+ clear(): void;
42
+ trim(options: {
43
+ maxRows: number;
44
+ olderThanMs: number;
45
+ }): number;
46
+ getMessages(ids: readonly string[]): Map<string, UploadMessageRow>;
47
+ backfillPage(sinceMs: number, after: BackfillCursor | null, limit: number): UploadMessageRow[];
48
+ getState(key: string): string | null;
49
+ setState(key: string, value: string | null): void;
50
+ clearState(keep?: readonly string[]): void;
51
+ }
52
+ /** The Cloud session the uploader rides on (see `CloudClientService`). */
53
+ export interface ConversationSyncCloud {
54
+ getToken(): string | null;
55
+ getCloudUrl(): string | null;
56
+ /** Refresh an expired access token; resolves true when a new one is in place. */
57
+ tryRefreshToken?(): Promise<boolean>;
58
+ }
59
+ /** `fetch` signature (injectable for tests). */
60
+ export type SyncFetch = (input: string, init: RequestInit) => Promise<Response>;
61
+ /** Constructor dependencies. */
62
+ export interface ConversationCloudSyncDeps {
63
+ outbox: ConversationOutbox;
64
+ cloud: ConversationSyncCloud;
65
+ /** Machine id (= device id = relay queue id = Slack instance id) and display name. */
66
+ identity: () => Promise<{
67
+ instanceId: string;
68
+ deviceName?: string;
69
+ }>;
70
+ /** Short id of the Crewly home (`getCrewlyHomeId`). */
71
+ homeId?: string;
72
+ /** Crewly version reported with each batch. */
73
+ crewlyVersion?: () => Promise<string>;
74
+ /** Subscribe to new chat messages (wake-up); returns an unsubscribe function. */
75
+ onNewMessage?: (listener: () => void) => () => void;
76
+ /** Upgrade rows written before the owner's Slack id was known (run before a backfill). */
77
+ reclassifyOwnerRows?: () => void;
78
+ /** O1: tell the owner once that history now syncs. Resolves true when the DM was posted. */
79
+ notifyOwner?: (text: string) => Promise<boolean>;
80
+ /** This machine's agents, reported every few minutes (Cloud lists them before they have messages). */
81
+ roster?: () => Promise<AgentRosterEntry[]>;
82
+ /** What this machine handles right now (e.g. `talk_message`); a change is reported at once. */
83
+ capabilities?: () => string[];
84
+ /** Environment (kill switch). Defaults to `process.env`. */
85
+ env?: NodeJS.ProcessEnv;
86
+ fetchImpl?: SyncFetch;
87
+ now?: () => number;
88
+ setTimeout?: (fn: () => void, ms: number) => ReturnType<typeof setTimeout>;
89
+ clearTimeout?: (handle: ReturnType<typeof setTimeout>) => void;
90
+ logger?: ComponentLogger;
91
+ }
92
+ /**
93
+ * Whether the kill switch is set.
94
+ *
95
+ * @param env - Environment
96
+ * @returns True when uploading is switched off
97
+ */
98
+ export declare function isConversationSyncDisabled(env: NodeJS.ProcessEnv): boolean;
99
+ /**
100
+ * The account a Cloud access token belongs to — the JWT `sub`, read without
101
+ * verifying. An opaque token yields a constant, so token refreshes are never
102
+ * mistaken for an account switch.
103
+ *
104
+ * @param token - Access token
105
+ * @returns The account id
106
+ */
107
+ export declare function accountIdOfToken(token: string): string;
108
+ /**
109
+ * Map one stored message to the wire shape.
110
+ *
111
+ * @param row - Message row with its channel and attachment metadata
112
+ * @param localSeq - Outbox seq (live) or 0 (backfill)
113
+ * @returns The upsert, or null when the row must not leave the machine
114
+ */
115
+ export declare function toIngestUpsert(row: UploadMessageRow, localSeq: number): IngestUpsert | null;
116
+ /** Uploads the machine's conversation log to Crewly Cloud. */
117
+ export declare class ConversationCloudSyncService {
118
+ private readonly deps;
119
+ private readonly logger;
120
+ private readonly fetchImpl;
121
+ private readonly now;
122
+ private readonly setTimer;
123
+ private readonly clearTimer;
124
+ private started;
125
+ private running;
126
+ private rerun;
127
+ private tickTimer;
128
+ private wakeTimer;
129
+ private unsubscribe;
130
+ /** Consecutive failures; drives the exponential backoff. */
131
+ private failures;
132
+ /** No request before this time (backoff or an hour-long pause). */
133
+ private pausedUntil;
134
+ /** Reasons already logged, so a long pause logs once. */
135
+ private readonly loggedPauses;
136
+ /** Current live batch cap; halved on 413. */
137
+ private batchLimit;
138
+ private lastBackfillAt;
139
+ private lastNoticeAttemptAt;
140
+ private gapLogged;
141
+ /** When the roster last reached Cloud, and the capabilities it carried. */
142
+ private lastRosterAt;
143
+ private lastCapabilitiesKey;
144
+ constructor(deps: ConversationCloudSyncDeps);
145
+ /** Start the tick and the new-message wake-up. Idempotent; never throws. */
146
+ start(): void;
147
+ /** Stop timers and the wake-up subscription. */
148
+ stop(): void;
149
+ /**
150
+ * Run one sync pass now (tests, and the timers). Never throws; a pass
151
+ * already in flight makes this one run again right after it.
152
+ */
153
+ syncNow(): Promise<void>;
154
+ /**
155
+ * Schedule a pass after a new message: immediately once a full batch is
156
+ * waiting, otherwise after the gather delay.
157
+ *
158
+ * @param delayMs - Override the delay
159
+ */
160
+ private wake;
161
+ /** Keep the periodic tick going. */
162
+ private scheduleTick;
163
+ /** One pass: trim, check the session, drain live, then one backfill step. */
164
+ private pass;
165
+ /**
166
+ * The roster and capabilities when they are due: every
167
+ * {@link CLOUD_TALK_CONSTANTS.ROSTER_INTERVAL_MS}, or at once when the
168
+ * capabilities changed (the Talk handler starting after the uploader).
169
+ *
170
+ * @returns The fields to send, or null when nothing is due
171
+ */
172
+ private rosterIfDue;
173
+ /**
174
+ * Upload every waiting outbox row, oldest first.
175
+ *
176
+ * @returns False when a request failed (the pass stops)
177
+ */
178
+ private drainLive;
179
+ /**
180
+ * Send one page of history when a backfill is owed (first sign-in, account
181
+ * switch, or a wider window after an upgrade). At most one request per
182
+ * second; live rows always go first.
183
+ */
184
+ private backfillStep;
185
+ /**
186
+ * POST one batch (gzip). Never throws.
187
+ *
188
+ * @returns The parsed outcome
189
+ */
190
+ private send;
191
+ /**
192
+ * Book the result of a request: remember the retention window, reset or
193
+ * advance the backoff, pause on the hour-long conditions.
194
+ *
195
+ * @returns True on success
196
+ */
197
+ private settle;
198
+ /**
199
+ * Pause for an hour, logging the reason once.
200
+ *
201
+ * @param reason - Why
202
+ * @param message - Log line
203
+ */
204
+ private pause;
205
+ /**
206
+ * On an account switch, start over: the new account gets this machine's
207
+ * history through a fresh backfill, never the old account's queue.
208
+ *
209
+ * @param token - Current access token
210
+ */
211
+ private checkAccount;
212
+ /** Keep the outbox bounded; log a history gap once. */
213
+ private trimOutbox;
214
+ /** O1: one DM to the owner the first time history reaches Cloud. */
215
+ private maybeNotifyOwner;
216
+ }
217
+ /**
218
+ * Install the process-wide instance (composition root).
219
+ *
220
+ * @param service - The service, or null
221
+ */
222
+ export declare function setConversationCloudSyncService(service: ConversationCloudSyncService | null): void;
223
+ /**
224
+ * The process-wide instance, or null before wiring.
225
+ *
226
+ * @returns The service or null
227
+ */
228
+ export declare function getConversationCloudSyncService(): ConversationCloudSyncService | null;
229
+ //# sourceMappingURL=conversation-cloud-sync.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation-cloud-sync.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/cloud/conversation-cloud-sync.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAKH,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,gBAAgB,EACjB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAWL,KAAK,gBAAgB,EAMrB,KAAK,YAAY,EAClB,MAAM,mCAAmC,CAAC;AAU3C,yEAAyE;AACzE,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,EAAE,CAAC;IACnC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,KAAK,IAAI,MAAM,CAAC;IAChB,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC;IAChE,WAAW,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACnE,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAC/F,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAClD,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;CAC5C;AAED,0EAA0E;AAC1E,MAAM,WAAW,qBAAqB;IACpC,QAAQ,IAAI,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,IAAI,MAAM,GAAG,IAAI,CAAC;IAC7B,iFAAiF;IACjF,eAAe,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CACtC;AAED,gDAAgD;AAChD,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEhF,gCAAgC;AAChC,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,KAAK,EAAE,qBAAqB,CAAC;IAC7B,sFAAsF;IACtF,QAAQ,EAAE,MAAM,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrE,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC,iFAAiF;IACjF,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IACpD,0FAA0F;IAC1F,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,4FAA4F;IAC5F,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACjD,sGAAsG;IACtG,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC3C,+FAA+F;IAC/F,YAAY,CAAC,EAAE,MAAM,MAAM,EAAE,CAAC;IAC9B,4DAA4D;IAC5D,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,MAAM,KAAK,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IAC3E,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,KAAK,IAAI,CAAC;IAC/D,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAUD;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAG1E;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAWtD;AAiBD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAwD3F;AAgBD,8DAA8D;AAC9D,qBAAa,4BAA4B;IA6B3B,OAAO,CAAC,QAAQ,CAAC,IAAI;IA5BjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgE;IACzF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkD;IAE7E,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAA8C;IAC/D,OAAO,CAAC,SAAS,CAA8C;IAC/D,OAAO,CAAC,WAAW,CAA6B;IAEhD,4DAA4D;IAC5D,OAAO,CAAC,QAAQ,CAAK;IACrB,mEAAmE;IACnE,OAAO,CAAC,WAAW,CAAK;IACxB,yDAAyD;IACzD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA0B;IACvD,6CAA6C;IAC7C,OAAO,CAAC,UAAU,CAAgC;IAClD,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,SAAS,CAAS;IAC1B,2EAA2E;IAC3E,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,mBAAmB,CAAuB;gBAErB,IAAI,EAAE,yBAAyB;IAQ5D,4EAA4E;IAC5E,KAAK,IAAI,IAAI;IAeb,gDAAgD;IAChD,IAAI,IAAI,IAAI;IAcZ;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB9B;;;;;OAKG;IACH,OAAO,CAAC,IAAI;IAmBZ,oCAAoC;IACpC,OAAO,CAAC,YAAY;IAQpB,6EAA6E;YAC/D,IAAI;IAkClB;;;;;;OAMG;YACW,WAAW;IAqBzB;;;;OAIG;YACW,SAAS;IAmDvB;;;;OAIG;YACW,YAAY;IA2D1B;;;;OAIG;YACW,IAAI;IA6ClB;;;;;OAKG;IACH,OAAO,CAAC,MAAM;IAqCd;;;;;OAKG;IACH,OAAO,CAAC,KAAK;IAQb;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAYpB,uDAAuD;IACvD,OAAO,CAAC,UAAU;IAelB,oEAAoE;YACtD,gBAAgB;CAgB/B;AAID;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,4BAA4B,GAAG,IAAI,GAAG,IAAI,CAElG;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,IAAI,4BAA4B,GAAG,IAAI,CAErF"}