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
@@ -13,7 +13,9 @@ import { ChannelStore } from './sqlite/channel.store.js';
13
13
  import { EventEmitter } from 'events';
14
14
  import { MessageStore } from './sqlite/message.store.js';
15
15
  import { openChatDatabase } from './sqlite/chat-db.js';
16
- import { OWNER_EVIDENCE_METADATA, SLACK_TYPING_CONSTANTS } from '../../constants.js';
16
+ import { CloudOutboxStore } from './sqlite/cloud-outbox.store.js';
17
+ import { reclassifyOwnerSlackRows } from './sqlite/unified-log.js';
18
+ import { CONVERSATION_LOG_CONSTANTS, OWNER_EVIDENCE_METADATA, SLACK_TYPING_CONSTANTS, } from '../../constants.js';
17
19
  import { CHAT_CHANNEL_TYPES, CHAT_CONTENT_TYPES, CHAT_ERROR_CODES, CHAT_SENDER_TYPES, ChatError, } from './types.js';
18
20
  /**
19
21
  * Allowed values for `RecordTurnInput.metadata.source` — the audit-trail
@@ -35,6 +37,11 @@ export const RECORD_TURN_SOURCES = [
35
37
  // approval given on these surfaces is visible to the commitment gate.
36
38
  'telegram',
37
39
  'google-chat',
40
+ // Unified conversation log (specs/unified-conversations-cloud-store.md
41
+ // §A.3 G2/G3): WhatsApp assistant-mode turns (were mis-tagged `slack`) and
42
+ // Crewly Cloud's Talk page.
43
+ 'whatsapp',
44
+ 'cloud-talk',
38
45
  ];
39
46
  // ---------------------------------------------------------------------------
40
47
  // Service
@@ -62,6 +69,7 @@ export class ChatV2Service extends EventEmitter {
62
69
  db;
63
70
  channels;
64
71
  messages;
72
+ outbox;
65
73
  presence;
66
74
  validateTeamMembership;
67
75
  now;
@@ -71,6 +79,7 @@ export class ChatV2Service extends EventEmitter {
71
79
  this.db = options.db ?? openChatDatabase({ dbPath: options.config.storage.dbPath });
72
80
  this.channels = new ChannelStore(this.db);
73
81
  this.messages = new MessageStore(this.db);
82
+ this.outbox = new CloudOutboxStore(this.db);
74
83
  this.presence = options.getPresence ?? DEFAULT_PRESENCE;
75
84
  this.validateTeamMembership = options.validateTeamMembership;
76
85
  this.now = options.now ?? Date.now;
@@ -88,6 +97,120 @@ export class ChatV2Service extends EventEmitter {
88
97
  setPresenceProvider(getPresence) {
89
98
  this.presence = getPresence;
90
99
  }
100
+ /**
101
+ * Wire who the owner is on shared surfaces (their Slack user id and the
102
+ * workspace this machine serves). Feeds each new row's `sender_kind`,
103
+ * `ext_ref.slackTeamId` and — in shared Slack channels — whether it may be
104
+ * synced to Cloud (owner decision O3).
105
+ *
106
+ * Also upgrades rows recorded before the owner was known (legacy backfill,
107
+ * early boot) from `human` to `owner`.
108
+ *
109
+ * @param provider - Returns the owner's identity, or null when unknown
110
+ */
111
+ setOwnerIdentityProvider(provider) {
112
+ this.messages.setOwnerIdentityProvider(provider);
113
+ this.reclassifyOwnerRows(provider);
114
+ }
115
+ /**
116
+ * Mark the owner's Slack rows as the owner's (see {@link setOwnerIdentityProvider}).
117
+ * Safe to call repeatedly; never throws.
118
+ *
119
+ * @param provider - Owner identity lookup
120
+ * @returns Rows reclassified
121
+ */
122
+ reclassifyOwnerRows(provider) {
123
+ try {
124
+ const slackUserId = provider()?.slackUserId;
125
+ return slackUserId ? reclassifyOwnerSlackRows(this.db, slackUserId) : 0;
126
+ }
127
+ catch {
128
+ return 0;
129
+ }
130
+ }
131
+ /**
132
+ * The durable Cloud outbox + sync state on this database (the uploader's
133
+ * only way in; see `ConversationCloudSyncService`).
134
+ *
135
+ * @returns The outbox store
136
+ */
137
+ getCloudOutbox() {
138
+ return this.outbox;
139
+ }
140
+ /**
141
+ * Surface of the owner's latest message on a channel — `slack`,
142
+ * `crewly-chat`, `cloud-talk`, … — or null when the owner never spoke
143
+ * there. Server-internal read used by the Slack reply-affinity rule (G6).
144
+ *
145
+ * @param channelId - chat-v2 channel id
146
+ * @returns The source, or null
147
+ */
148
+ getLatestOwnerTurnSource(channelId) {
149
+ return this.messages.latestOwnerTurnSource(channelId);
150
+ }
151
+ /**
152
+ * An agent's merged timeline across every surface — its DMs, Slack
153
+ * threads, messenger conversations and the huddles it belongs to —
154
+ * newest first (spec §A.5). Replaces the client-side fan-out over
155
+ * channels.
156
+ *
157
+ * Server-internal read with no per-channel owner check (the OSS backend
158
+ * serves one owner). An agent principal may read only its own timeline.
159
+ *
160
+ * @param args.agentSession - Agent session name
161
+ * @param args.principal - Caller
162
+ * @param args.before - Only messages created strictly before this (ms)
163
+ * @param args.cursor - `nextCursor` of a previous page (wins over `before`)
164
+ * @param args.limit - Page size (default 50, max 200)
165
+ * @param args.sources - Only these surfaces
166
+ * @returns The page and the cursor of the next one
167
+ * @throws {ChatError} `validation_error` (400) on a bad session / cursor / source
168
+ * @throws {ChatError} `forbidden` (403) when an agent reads another agent's timeline
169
+ */
170
+ getAgentTimeline(args) {
171
+ const agentSession = (args.agentSession ?? '').trim();
172
+ if (!agentSession) {
173
+ throw new ChatError(CHAT_ERROR_CODES.VALIDATION, 400, 'agent session is required');
174
+ }
175
+ if (args.principal.agentSession && args.principal.agentSession !== agentSession) {
176
+ throw new ChatError(CHAT_ERROR_CODES.FORBIDDEN, 403, 'An agent can only read its own timeline');
177
+ }
178
+ const sources = (args.sources ?? []).map((s) => s.trim()).filter((s) => s.length > 0);
179
+ const unknown = sources.filter((s) => !CONVERSATION_LOG_CONSTANTS.SOURCES.includes(s));
180
+ if (unknown.length > 0) {
181
+ throw new ChatError(CHAT_ERROR_CODES.VALIDATION, 400, `unknown source: ${unknown.join(', ')}`, {
182
+ allowed: CONVERSATION_LOG_CONSTANTS.SOURCES,
183
+ });
184
+ }
185
+ const requested = typeof args.limit === 'number' && Number.isFinite(args.limit) && args.limit > 0
186
+ ? Math.floor(args.limit)
187
+ : CONVERSATION_LOG_CONSTANTS.TIMELINE_DEFAULT_LIMIT;
188
+ const limit = Math.max(1, Math.min(requested, CONVERSATION_LOG_CONSTANTS.TIMELINE_MAX_LIMIT));
189
+ let before;
190
+ if (args.cursor) {
191
+ before = decodeTimelineCursor(args.cursor);
192
+ }
193
+ else if (typeof args.before === 'number' && Number.isFinite(args.before)) {
194
+ before = { createdAt: args.before };
195
+ }
196
+ const rows = this.messages.listAgentTimeline(agentSession, { before, limit, sources });
197
+ const items = rows.map((r) => ({
198
+ ...this.toMessageDTO(r, []),
199
+ source: r.source ?? 'crewly-chat',
200
+ direction: r.direction ?? (r.sender_type === 'agent' ? 'out' : r.sender_type === 'system' ? 'internal' : 'in'),
201
+ senderKind: r.sender_kind ?? (r.sender_type === 'user' ? 'owner' : r.sender_type),
202
+ agentSession: r.agent_session,
203
+ extRef: parseExtRef(r.ext_ref),
204
+ channelName: r.channel_name,
205
+ channelType: r.channel_type,
206
+ }));
207
+ const last = rows[rows.length - 1];
208
+ return {
209
+ agentSession,
210
+ items,
211
+ nextCursor: rows.length === limit && last ? encodeTimelineCursor(last.created_at, last.rowid) : null,
212
+ };
213
+ }
91
214
  /** Release the DB handle. Safe to call during graceful shutdown / in tests. */
92
215
  close() {
93
216
  try {
@@ -1084,6 +1207,9 @@ export class ChatV2Service extends EventEmitter {
1084
1207
  // record who really wrote it so the row can never pass as the owner
1085
1208
  // speaking — the commitment-approval gate reads `user` rows (#730).
1086
1209
  const agentAuthoredAsUser = senderType === 'user' && !!args.principal.agentSession;
1210
+ // Cloud Talk (G3): only an owner-authored turn may carry the tag — an
1211
+ // agent's own write never passes as a Talk message.
1212
+ const isTalk = args.origin === 'cloud-talk' && senderType === 'user' && !agentAuthoredAsUser;
1087
1213
  const { row: persisted } = this.messages.insert({
1088
1214
  channelId: args.channelId,
1089
1215
  senderType,
@@ -1098,7 +1224,9 @@ export class ChatV2Service extends EventEmitter {
1098
1224
  ? { metadata: { [OWNER_EVIDENCE_METADATA.AUTHOR_AGENT_SESSION]: args.principal.agentSession } }
1099
1225
  : args.interim && senderType === 'agent'
1100
1226
  ? { metadata: { [SLACK_TYPING_CONSTANTS.INTERIM_METADATA_KEY]: true } }
1101
- : {}),
1227
+ : isTalk
1228
+ ? { metadata: { source: 'cloud-talk' } }
1229
+ : {}),
1102
1230
  });
1103
1231
  const dto = this.toMessageDTO(persisted, args.attachments ?? []);
1104
1232
  // Phase 6c: broadcast so the WebSocket gateway (and any other
@@ -1463,4 +1591,57 @@ export class ChatV2Service extends EventEmitter {
1463
1591
  };
1464
1592
  }
1465
1593
  }
1594
+ /**
1595
+ * Encode a timeline position (created_at + rowid) as an opaque cursor.
1596
+ *
1597
+ * @param createdAt - Message created_at (ms)
1598
+ * @param rowid - Message rowid (tie-breaker)
1599
+ * @returns base64url cursor
1600
+ */
1601
+ export function encodeTimelineCursor(createdAt, rowid) {
1602
+ return Buffer.from(JSON.stringify({ c: createdAt, r: rowid }), 'utf-8').toString('base64url');
1603
+ }
1604
+ /**
1605
+ * Decode a timeline cursor.
1606
+ *
1607
+ * @param cursor - Cursor from {@link encodeTimelineCursor}
1608
+ * @returns The position
1609
+ * @throws {ChatError} `invalid_cursor` (400) when malformed
1610
+ */
1611
+ export function decodeTimelineCursor(cursor) {
1612
+ try {
1613
+ const parsed = JSON.parse(Buffer.from(cursor, 'base64url').toString('utf-8'));
1614
+ if (typeof parsed.c !== 'number' || typeof parsed.r !== 'number' || !Number.isFinite(parsed.c) || !Number.isFinite(parsed.r)) {
1615
+ throw new Error('missing fields');
1616
+ }
1617
+ return { createdAt: parsed.c, rowid: parsed.r };
1618
+ }
1619
+ catch (err) {
1620
+ throw new ChatError(CHAT_ERROR_CODES.INVALID_CURSOR, 400, `Cursor failed to parse: ${err instanceof Error ? err.message : String(err)}`);
1621
+ }
1622
+ }
1623
+ /**
1624
+ * Parse the `ext_ref` column into a flat string map.
1625
+ *
1626
+ * @param raw - Column value
1627
+ * @returns The ids, or null
1628
+ */
1629
+ function parseExtRef(raw) {
1630
+ if (!raw)
1631
+ return null;
1632
+ try {
1633
+ const parsed = JSON.parse(raw);
1634
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed))
1635
+ return null;
1636
+ const out = {};
1637
+ for (const [k, v] of Object.entries(parsed)) {
1638
+ if (typeof v === 'string')
1639
+ out[k] = v;
1640
+ }
1641
+ return Object.keys(out).length > 0 ? out : null;
1642
+ }
1643
+ catch {
1644
+ return null;
1645
+ }
1646
+ }
1466
1647
  //# sourceMappingURL=chat-v2.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-v2.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/chat-v2/chat-v2.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAqB,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACrF,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,GAYV,MAAM,YAAY,CAAC;AAyKpB;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,KAAK;IACL,OAAO;IACP,aAAa;IACb,oBAAoB;IACpB,YAAY;IACZ,QAAQ;IACR,oEAAoE;IACpE,sEAAsE;IACtE,UAAU;IACV,aAAa;CACL,CAAC;AAkDX,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,8EAA8E;AAC9E,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,CAAC;IAC9B,MAAM,EAAE,SAAkB;IAC1B,UAAU,EAAE,IAAI;CACjB,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,OAAO,aAAc,SAAQ,YAAY;IAC7C,wDAAwD;IACxD,MAAM,CAAU,wBAAwB,GAAG,EAAE,CAAC;IAC9C,2EAA2E;IAC3E,MAAM,CAAU,uBAAuB,GAAG,IAAI,CAAC;IAEtC,MAAM,CAAe;IACb,EAAE,CAAe;IACjB,QAAQ,CAAe;IACvB,QAAQ,CAAe;IAChC,QAAQ,CAAsC;IACrC,sBAAsB,CAAiD;IACvE,GAAG,CAAe;IAEnC,YAAY,OAA6B;QACvC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,gBAAgB,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACpF,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,WAAW,IAAI,gBAAgB,CAAC;QACxD,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC;QAC7D,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;IACrC,CAAC;IAED;;;;;;;;;OASG;IACH,mBAAmB,CAAC,WAAgD;QAClE,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;IAC9B,CAAC;IAED,+EAA+E;IAC/E,KAAK;QACH,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;QAAC,MAAM,CAAC;YACP,4CAA4C;QAC9C,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAClC,CAAC;IAED;;;;;;;;OAQG;IACH,oBAAoB,CAAC,OAAe;QAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;;;;;OAUG;IACH,mBAAmB,CACjB,SAAiB,EACjB,OAAe,EACf,aAAuC;QAEvC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,WAAW,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAChE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAChE,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAC1B,MAAM,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,EAAE,aAAa,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;QACxG,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;QACvC,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,qBAAqB,CACnB,SAAiB,EACjB,KAA8B;QAE9B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC3D,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;;;;OASG;IACH,oCAAoC,CAAC,QAAgB;QACnD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;OAMG;IACH,aAAa;QAMX,MAAM,cAAc,GAAI,IAAI,CAAC,EAAE;aAC5B,OAAO,CAAC,mEAAmE,CAAC;aAC5E,GAAG,EAAoB,CAAC,CAAC,CAAC;QAC7B,MAAM,gBAAgB,GAAI,IAAI,CAAC,EAAE;aAC9B,OAAO,CAAC,uEAAuE,CAAC;aAChF,GAAG,EAAoB,CAAC,CAAC,CAAC;QAC7B,OAAO;YACL,aAAa,EAAE,cAAc,GAAG,gBAAgB;YAChD,cAAc;YACd,gBAAgB;YAChB,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;SACxC,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,qBAAqB;IACrB,4EAA4E;IAE5E;;;;;;;;;;;;;;OAcG;IACH,aAAa,CAAC,IAAuB;QACnC,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,SAAS,CAAC,gBAAgB,CAAC,UAAU,EAAE,GAAG,EAAE,kBAAkB,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;YAClD,MAAM,IAAI,SAAS,CACjB,gBAAgB,CAAC,UAAU,EAC3B,GAAG,EACH,gBAAgB,IAAI,CAAC,MAAM,CAAC,mBAAmB,aAAa,CAC7D,CAAC;QACJ,CAAC;QAED,0EAA0E;QAC1E,MAAM,WAAW,GAAoB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;QACvD,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,SAAS,CACjB,gBAAgB,CAAC,UAAU,EAC3B,GAAG,EACH,yBAAyB,WAAW,EAAE,CACvC,CAAC;QACJ,CAAC;QAED,8CAA8C;QAC9C,wDAAwD;QACxD,wEAAwE;QACxE,wEAAwE;QACxE,mEAAmE;QACnE,6CAA6C;QAC7C,MAAM,eAAe,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACzD,IAAI,YAAoB,CAAC;QACzB,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,SAAS,CACjB,gBAAgB,CAAC,UAAU,EAC3B,GAAG,EACH,yCAAyC,CAC1C,CAAC;YACJ,CAAC;YACD,YAAY,GAAG,eAAe,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,qDAAqD;YACrD,YAAY,GAAG,EAAE,CAAC;QACpB,CAAC;QAED,+DAA+D;QAC/D,qEAAqE;QACrE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;QACtD,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;QAEhE,IAAI,WAAW,KAAK,SAAS,IAAI,CAAC,MAAM,EAAE,CAAC;YACzC,MAAM,IAAI,SAAS,CACjB,gBAAgB,CAAC,UAAU,EAC3B,GAAG,EACH,wCAAwC,CACzC,CAAC;QACJ,CAAC;QACD,IAAI,WAAW,KAAK,IAAI,IAAI,MAAM,EAAE,CAAC;YACnC,MAAM,IAAI,SAAS,CACjB,gBAAgB,CAAC,UAAU,EAC3B,GAAG,EACH,uCAAuC,CACxC,CAAC;QACJ,CAAC;QACD,IAAI,WAAW,KAAK,SAAS,IAAI,cAAc,EAAE,CAAC;YAChD,MAAM,IAAI,SAAS,CACjB,gBAAgB,CAAC,UAAU,EAC3B,GAAG,EACH,oDAAoD,CACrD,CAAC;QACJ,CAAC;QAED,kEAAkE;QAClE,+DAA+D;QAC/D,+DAA+D;QAC/D,IAAI,WAAW,KAAK,SAAS,IAAI,MAAM,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACrE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,SAAS,CACjB,gBAAgB,CAAC,cAAc,EAC/B,GAAG,EACH,8CAA8C,EAC9C,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAC1C,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;QACrC,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAC5D,MAAM,IAAI,SAAS,CACjB,gBAAgB,CAAC,UAAU,EAC3B,GAAG,EACH,mBAAmB,IAAI,CAAC,MAAM,CAAC,eAAe,aAAa,CAC5D,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC/B,YAAY;YACZ,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;YAClC,IAAI;YACJ,OAAO,EAAE,OAAO,IAAI,IAAI;YACxB,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,MAAM,IAAI,IAAI;YACtB,SAAS,EAAE,SAAS,IAAI,IAAI;YAC5B,cAAc,EAAE,cAAc,IAAI,IAAI;YACtC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE;SAClB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,IAAsB;QACjC,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,SAAS,CAAC,gBAAgB,CAAC,UAAU,EAAE,GAAG,EAAE,kBAAkB,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;YAClD,MAAM,IAAI,SAAS,CACjB,gBAAgB,CAAC,UAAU,EAC3B,GAAG,EACH,gBAAgB,IAAI,CAAC,MAAM,CAAC,mBAAmB,aAAa,CAC7D,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;QACrC,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAC5D,MAAM,IAAI,SAAS,CACjB,gBAAgB,CAAC,UAAU,EAC3B,GAAG,EACH,mBAAmB,IAAI,CAAC,MAAM,CAAC,eAAe,aAAa,CAC5D,CAAC;QACJ,CAAC;QAED,iEAAiE;QACjE,2DAA2D;QAC3D,mEAAmE;QACnE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,cAAc,IAAI,EAAE,EAAE,CAAC;YAC5C,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC,CAAC;gBAAE,SAAS;YACjB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,SAAS;YAC1B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,SAAS,CACjB,gBAAgB,CAAC,UAAU,EAC3B,GAAG,EACH,wDAAwD,CACzD,CAAC;QACJ,CAAC;QACD,iEAAiE;QACjE,gEAAgE;QAChE,uCAAuC;QACvC,MAAM,kBAAkB,GAAG,EAAE,CAAC;QAC9B,IAAI,OAAO,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;YACxC,MAAM,IAAI,SAAS,CACjB,gBAAgB,CAAC,UAAU,EAC3B,GAAG,EACH,sBAAsB,kBAAkB,aAAa,CACtD,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC/B,qEAAqE;YACrE,oEAAoE;YACpE,4BAA4B;YAC5B,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;YAClC,IAAI;YACJ,OAAO,EAAE,OAAO,IAAI,IAAI;YACxB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;YACf,cAAc,EAAE,IAAI;YACpB,KAAK;SACN,CAAC,CAAC;QAEH,oEAAoE;QACpE,+DAA+D;QAC/D,gDAAgD;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAChC;;wBAEkB,CACnB,CAAC;QACF,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,IAAc,EAAE,EAAE;YACxD,KAAK,MAAM,CAAC,IAAI,IAAI;gBAAE,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QACH,UAAU,CAAC,OAAO,CAAC,CAAC;QAEpB,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAED;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,SAAiB,EAAE,SAAwB;QAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC3D,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;;;;;OAWG;IACH,6BAA6B,CAAC,SAAiB;QAC7C,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACtE,CAAC;IAED;;;;;;;OAOG;IACH,kCAAkC,CAAC,SAAiB,EAAE,QAAgB;QACpE,OAAO,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;;;;;;;OAWG;IACH,2BAA2B,CACzB,SAAiB,EACjB,QAA4B,EAC5B,KAAa;QAEb,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7D,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;YAC9C,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;SAC9B,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;;;;;;OAOG;IACH,iCAAiC,CAAC,SAAiB,EAAE,QAAgB;QACnE,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;;;;;OASG;IACH,gBAAgB,CACd,SAAiB,EACjB,cAAwB;QAExB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACrE,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5E,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QACtF,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAC5B;wBACkB,CACnB,CAAC;QACF,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CACzB,8EAA8E,CAC/E,CAAC;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YACrC,KAAK,MAAM,CAAC,IAAI,KAAK;gBAAE,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;YACvD,KAAK,MAAM,CAAC,IAAI,OAAO;gBAAE,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QACH,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAC5B,CAAC;IAED;;;;;;;OAOG;IACH,mBAAmB,CAAC,SAAiB;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7C,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7C,CAAC;IAED;;;;;OAKG;IACH,uBAAuB,CAAC,SAAiB;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW;YAAE,OAAO,KAAK,CAAC;QAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;;OAOG;IACH,mBAAmB,CAAC,SAAiB,EAAE,aAAqB;QAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAC5E,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjD,CAAC;IAED;;;;;;OAMG;IACH,mBAAmB,CAAC,SAAiB;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACzD,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjD,CAAC;IAED;;;;;;OAMG;IACH,mBAAmB,CAAC,SAAiB;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7C,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjD,CAAC;IAED,yDAAyD;IACjD,cAAc,CAAC,SAAiB,EAAE,WAAmB;QAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE;aAChB,OAAO,CACN,wFAAwF,CACzF;aACA,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAC/B,OAAO,GAAG,KAAK,SAAS,CAAC;IAC3B,CAAC;IAED,wEAAwE;IAChE,kBAAkB,CAAC,SAAiB;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CACN;;;iCAGyB,CAC1B;aACA,GAAG,CAAC,SAAS,CAAqD,CAAC;QACtE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACjF,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,eAAe,CAAC,IAKf;QACC,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACtD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,SAAS,CACjB,gBAAgB,CAAC,UAAU,EAC3B,GAAG,EACH,0BAA0B,CAC3B,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CACxD,IAAI,CAAC,SAAS,CAAC,MAAM,EACrB,YAAY,CACb,CAAC;QACF,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAClE,CAAC;QACD,gEAAgE;QAChE,mEAAmE;QACnE,sCAAsC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC;YACjC,YAAY;YACZ,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,YAAY,CAAC,CAAC,IAAI,EAAE;YACxC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACpC,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,iBAAiB,CAAC,IAKjB;QACC,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,SAAS,CACjB,gBAAgB,CAAC,UAAU,EAC3B,GAAG,EACH,oBAAoB,CACrB,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAC/D,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAClE,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC;YACjC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE;YACtC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,SAAS;YACf,MAAM;SACP,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACpC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,kCAAkC,CAAC,IAOlC;QACC,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1D,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,SAAS,CAAC,gBAAgB,CAAC,UAAU,EAAE,GAAG,EAAE,4BAA4B,CAAC,CAAC;QACtF,CAAC;QACD,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACtD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,SAAS,CAAC,gBAAgB,CAAC,UAAU,EAAE,GAAG,EAAE,0BAA0B,CAAC,CAAC;QACpF,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACvD,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;QAClD,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QAE1D,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC/B,EAAE,EAAE,cAAc;YAClB,YAAY;YACZ,WAAW;YACX,IAAI;YACJ,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;YACf,cAAc,EAAE,IAAI;YACpB,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE;SAClB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,wBAAwB,CAAC,KAUxB;QACC,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;YAC7B,MAAM,IAAI,SAAS,CACjB,gBAAgB,CAAC,UAAU,EAC3B,GAAG,EACH,oCAAoC,CACrC,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,SAAS,CACjB,gBAAgB,CAAC,UAAU,EAC3B,GAAG,EACH,kCAAkC,CACnC,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,kCAAkC,CAAC;YACtD,cAAc,EAAE,KAAK,CAAC,YAAY,CAAC,EAAE;YACrC,YAAY,EAAE,YAAY;YAC1B,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,EAAE;SAC5B,CAAC,CAAC;QAEH,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,MAAM,cAAc,GAA2D,EAAE,CAAC;QAClF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC;gBACb,OAAO,EAAE,CAAC;gBACV,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;gBACrE,SAAS;YACX,CAAC;YACD,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChE,OAAO,EAAE,CAAC;gBACV,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;gBACvE,SAAS;YACX,CAAC;YAED,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YACtD,IAAI,UAA0B,CAAC;YAC/B,IAAI,QAAgB,CAAC;YACrB,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACxB,UAAU,GAAG,MAAM,CAAC;gBACpB,QAAQ;oBACN,CAAC,OAAO,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;wBACjE,GAAG,CAAC,IAAI,EAAE,IAAI;wBACd,aAAa,CAAC;YAClB,CAAC;iBAAM,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;gBAC/D,UAAU,GAAG,OAAO,CAAC;gBACrB,QAAQ,GAAG,YAAY,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG,QAAQ,CAAC;gBACtB,QAAQ,GAAG,QAAQ,CAAC;YACtB,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;gBAC7B,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,UAAU;gBACV,QAAQ;gBACR,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,eAAe,EAAE,UAAU,GAAG,CAAC,EAAE,EAAE;gBACnC,QAAQ,EAAE;oBACR,MAAM,EAAE,QAAQ;oBAChB,4DAA4D;oBAC5D,+DAA+D;oBAC/D,0CAA0C;oBAC1C,YAAY,EAAE,OAAO,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;oBACxF,eAAe,EAAE,GAAG,CAAC,EAAE;oBACvB,eAAe,EAAE,GAAG,CAAC,SAAS;iBAC/B;aACF,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,EAAE,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,QAAQ,EAAE,CAAC;YACb,CAAC;QACH,CAAC;QAED,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,8DAA8D;YAC9D,iEAAiE;YACjE,kEAAkE;YAClE,+DAA+D;YAC/D,8DAA8D;YAC9D,+DAA+D;YAC/D,qBAAqB;YACrB,sCAAsC;YACtC,OAAO,CAAC,IAAI,CACV,+CAA+C,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,wBAAwB,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,EAC9H;gBACE,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,OAAO;gBACP,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM;gBAChC,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;gBACpC,SAAS,EAAE,cAAc,CAAC,MAAM,GAAG,EAAE;aACtC,CACF,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAC/D,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,YAAY,CAAC,IAAsB;QACjC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACvE,MAAM,IAAI,SAAS,CACjB,gBAAgB,CAAC,UAAU,EAC3B,GAAG,EACH,yBAAyB,IAAI,CAAC,IAAI,EAAE,CACrC,CAAC;QACJ,CAAC;QACD,qEAAqE;QACrE,mEAAmE;QACnE,MAAM,YAAY,GAChB,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YACxD,CAAC,CAAC,IAAI,CAAC,MAAM;YACb,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YAC5D,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,YAAY;SACrB,CAAC,CAAC;QAEH,uEAAuE;QACvE,oEAAoE;QACpE,sEAAsE;QACtE,MAAM,cAAc,GAClB,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,CAAC;QACzF,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ;iBAC1B,WAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;iBACzE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAClC,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;;OAOG;IACH,UAAU,CAAC,SAAiB,EAAE,SAAwB;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAED;;;;;;;OAOG;IACH,cAAc,CAAC,SAAiB,EAAE,SAAwB;QACxD,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;;;;OASG;IACH,gBAAgB,CAAC,SAAiB,EAAE,SAAwB;QAC1D,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,SAAiB,EAAE,IAAY,EAAE,SAAwB;QACrE,MAAM,OAAO,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACpC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,SAAS,CAAC,gBAAgB,CAAC,UAAU,EAAE,GAAG,EAAE,kBAAkB,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;YACrD,MAAM,IAAI,SAAS,CACjB,gBAAgB,CAAC,UAAU,EAC3B,GAAG,EACH,gBAAgB,IAAI,CAAC,MAAM,CAAC,mBAAmB,aAAa,CAC7D,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;;;;;OAUG;IACH,aAAa,CAAC,SAAiB,EAAE,SAAwB;QACvD,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;;;;;OAUG;IACH,YAAY,CAAC,SAAiB,EAAE,SAAwB;QACtD,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;IAED;;;;;;;;OAQG;IACH,oBAAoB,CAAC,SAAiB,EAAE,SAAwB;QAC9D,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,6BAA6B,CAAC,OAAe,EAAE,KAAK,GAAG,GAAG;QACxD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7D,MAAM,YAAY,GAAG,uBAAuB,CAAC,mBAAmB,CAAC;QACjE,MAAM,uBAAuB,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvE,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CACN;;;;;;+CAMuC,uBAAuB,CAAC,oBAAoB;+CAC5C,uBAAuB,CAAC,oBAAoB;8EACb,uBAAuB;;;;iBAIpF,CACV;aACA,GAAG,CAAC,OAAO,EAAE,GAAG,YAAY,EAAE,MAAM,CAA+B,CAAC;QACvE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,kBAAkB,CAAC,SAAiB;QAClC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;QACnD,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE;aAChB,OAAO,CACN;;;;8BAIsB,CACvB;aACA,GAAG,CAAC,SAAS,CAA+E,CAAC;QAChG,OAAO;YACL,kBAAkB,EAAE,GAAG,EAAE,aAAa,IAAI,IAAI;YAC9C,WAAW,EAAE,GAAG,EAAE,aAAa,IAAI,IAAI;SACxC,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,qBAAqB;IACrB,4EAA4E;IAE5E;;;;;;;OAOG;IACH,WAAW,CAAC,IAAqB;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAExE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QACnC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,SAAS,CAAC,gBAAgB,CAAC,UAAU,EAAE,GAAG,EAAE,qBAAqB,CAAC,CAAC;QAC/E,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACpD,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAC1C,MAAM,IAAI,SAAS,CACjB,gBAAgB,CAAC,iBAAiB,EAClC,GAAG,EACH,8BAA8B,IAAI,CAAC,MAAM,CAAC,eAAe,GAAG,EAC5D,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,CAC9D,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAoB,IAAI,CAAC,WAAW,IAAI,UAAU,CAAC;QACpE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,SAAS,CAAC,gBAAgB,CAAC,UAAU,EAAE,GAAG,EAAE,wBAAwB,WAAW,EAAE,CAAC,CAAC;QAC/F,CAAC;QACD,0CAA0C;QAC1C,IAAI,WAAW,KAAK,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/F,MAAM,IAAI,SAAS,CACjB,gBAAgB,CAAC,UAAU,EAC3B,GAAG,EACH,6CAA6C,CAC9C,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAEnF,qEAAqE;QACrE,mEAAmE;QACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEtD,qEAAqE;QACrE,sEAAsE;QACtE,mEAAmE;QACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAEtE,wEAAwE;QACxE,yEAAyE;QACzE,oEAAoE;QACpE,oEAAoE;QACpE,MAAM,mBAAmB,GAAG,UAAU,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;QAEnF,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC9C,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU;YACV,QAAQ;YACR,OAAO;YACP,WAAW;YACX,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,QAAQ;YACR,QAAQ;YACR,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE;YACjB,GAAG,CAAC,mBAAmB;gBACrB,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,uBAAuB,CAAC,oBAAoB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE;gBAC/F,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,UAAU,KAAK,OAAO;oBACtC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,EAAE,IAAI,EAAE,EAAE;oBACvE,CAAC,CAAC,EAAE,CAAC;SACV,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QACjE,8DAA8D;QAC9D,mEAAmE;QACnE,+DAA+D;QAC/D,6BAA6B;QAC7B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QAC/B,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4CG;IACH,UAAU,CAAC,KAAsB;QAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;QACpC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,SAAS,CAAC,gBAAgB,CAAC,UAAU,EAAE,GAAG,EAAE,qBAAqB,CAAC,CAAC;QAC/E,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACpD,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAC1C,MAAM,IAAI,SAAS,CACjB,gBAAgB,CAAC,iBAAiB,EAClC,GAAG,EACH,8BAA8B,IAAI,CAAC,MAAM,CAAC,eAAe,GAAG,EAC5D,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,CAC9D,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAoB,KAAK,CAAC,WAAW,IAAI,UAAU,CAAC;QACrE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,SAAS,CACjB,gBAAgB,CAAC,UAAU,EAC3B,GAAG,EACH,wBAAwB,WAAW,EAAE,CACtC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,SAAS,CACjB,gBAAgB,CAAC,UAAU,EAC3B,GAAG,EACH,uBAAuB,KAAK,CAAC,UAAU,EAAE,CAC1C,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,SAAS,CAAC,gBAAgB,CAAC,UAAU,EAAE,GAAG,EAAE,sBAAsB,CAAC,CAAC;QAChF,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAExE,+DAA+D;QAC/D,4DAA4D;QAC5D,4DAA4D;QAC5D,+DAA+D;QAC/D,uCAAuC;QACvC,MAAM,QAAQ,GAA4B,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;QACxE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACrB,MAAM,IAAI,SAAS,CACjB,gBAAgB,CAAC,UAAU,EAC3B,GAAG,EACH,0DAA0D,CAC3D,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAA0B,CAAC,EAAE,CAAC;YACvE,MAAM,IAAI,SAAS,CACjB,gBAAgB,CAAC,UAAU,EAC3B,GAAG,EACH,4BAA4B,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,EACrD,EAAE,OAAO,EAAE,mBAAmB,EAAE,CACjC,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YACvD,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,OAAO;YACP,WAAW;YACX,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE;SAClB,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC7C,qEAAqE;QACrE,sEAAsE;QACtE,yBAAyB;QACzB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;IACnC,CAAC;IAED;;;;;;;OAOG;IACK,gBAAgB,CAAC,GAAY;QACnC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,SAAS,CAAC;QACxD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,SAAS,CAAC,gBAAgB,CAAC,UAAU,EAAE,GAAG,EAAE,2BAA2B,CAAC,CAAC;QACrF,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QACvC,IAAI,GAAG,CAAC,MAAM,GAAG,aAAa,CAAC,wBAAwB,EAAE,CAAC;YACxD,MAAM,IAAI,SAAS,CACjB,gBAAgB,CAAC,UAAU,EAC3B,GAAG,EACH,+BAA+B,aAAa,CAAC,wBAAwB,GAAG,CACzE,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;YACvB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,MAAM,IAAI,SAAS,CACjB,gBAAgB,CAAC,UAAU,EAC3B,GAAG,EACH,kCAAkC,CACnC,CAAC;YACJ,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,SAAS,CACjB,gBAAgB,CAAC,UAAU,EAC3B,GAAG,EACH,oCAAoC,CACrC,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;QACD,6DAA6D;QAC7D,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;QACxE,IAAI,WAAW,GAAG,aAAa,CAAC,uBAAuB,EAAE,CAAC;YACxD,MAAM,IAAI,SAAS,CACjB,gBAAgB,CAAC,iBAAiB,EAClC,GAAG,EACH,oCAAoC,aAAa,CAAC,uBAAuB,GAAG,CAC7E,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;;;;;OAWG;IACK,gBAAgB,CAAC,GAAY,EAAE,SAAiB;QACtD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,SAAS,CAAC;QACxD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,IAAI,SAAS,CAAC,gBAAgB,CAAC,UAAU,EAAE,GAAG,EAAE,2BAA2B,CAAC,CAAC;QACrF,CAAC;QACD,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAE3C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,SAAS,CACjB,gBAAgB,CAAC,UAAU,EAC3B,GAAG,EACH,4CAA4C,EAC5C,EAAE,QAAQ,EAAE,OAAO,EAAE,CACtB,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAClC,iEAAiE;YACjE,gEAAgE;YAChE,yDAAyD;YACzD,MAAM,IAAI,SAAS,CACjB,gBAAgB,CAAC,UAAU,EAC3B,GAAG,EACH,yCAAyC,EACzC,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,CACpD,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;OAMG;IACH,YAAY,CAAC,IAAsB;QACjC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAE5D,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE;YACvD,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI;YAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;QAEH,qEAAqE;QACrE,sEAAsE;QACtE,qEAAqE;QACrE,sCAAsC;QACtC,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACnC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACrC,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC1C,IAAI,OAAO,EAAE,CAAC;oBACZ,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;oBACpC,GAAG,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;gBAClE,CAAC;YACH,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ;YACR,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,+BAA+B;IAC/B,4EAA4E;IAE5E,oDAAoD;IAC5C,mBAAmB,CAAC,SAAiB,EAAE,SAAwB;QACrE,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,SAAS,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,GAAG,EAAE,mBAAmB,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;YAC3C,MAAM,IAAI,SAAS,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,GAAG,EAAE,mBAAmB,CAAC,CAAC;QACpF,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACK,sBAAsB,CAAC,SAAiB,EAAE,SAAwB;QACxE,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,SAAS,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,GAAG,EAAE,mBAAmB,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,MAAM,CAAC;QACvD,MAAM,YAAY,GAChB,CAAC,CAAC,SAAS,CAAC,YAAY,IAAI,SAAS,CAAC,YAAY,KAAK,GAAG,CAAC,aAAa,CAAC;QAC3E,MAAM,eAAe,GAAG,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,cAAc,GAClB,CAAC,CAAC,SAAS,CAAC,YAAY;YACxB,GAAG,CAAC,IAAI,KAAK,QAAQ;YACrB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,IAAI,CAAC,YAAY,IAAI,CAAC,eAAe,IAAI,CAAC,cAAc,EAAE,CAAC;YACrE,MAAM,IAAI,SAAS,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,GAAG,EAAE,mBAAmB,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YACpB,MAAM,IAAI,SAAS,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,GAAG,EAAE,qBAAqB,CAAC,CAAC;QACrF,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,iFAAiF;IACzE,aAAa,CACnB,OAAuB,EACvB,SAAwB;QAExB,IAAI,SAAS,CAAC,YAAY,IAAI,SAAS,CAAC,YAAY,KAAK,OAAO,CAAC,aAAa,EAAE,CAAC;YAC/E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC,YAAY,EAAE,CAAC;QACvD,CAAC;QACD,mEAAmE;QACnE,qDAAqD;QACrD,8DAA8D;QAC9D,oEAAoE;QACpE,kCAAkC;QAClC,IACE,SAAS,CAAC,YAAY;YACtB,OAAO,CAAC,IAAI,KAAK,QAAQ;YACzB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,YAAY,CAAC,EACvD,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC,YAAY,EAAE,CAAC;QACvD,CAAC;QACD,IAAI,SAAS,CAAC,MAAM,KAAK,OAAO,CAAC,aAAa,EAAE,CAAC;YAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC;QAChD,CAAC;QACD,2EAA2E;QAC3E,MAAM,IAAI,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,EAAE,uCAAuC,CAAC,CAAC;IAChG,CAAC;IAED,4EAA4E;IAC5E,cAAc;IACd,4EAA4E;IAE5E,2DAA2D;IACnD,YAAY,CAAC,GAAmB;QACtC,sEAAsE;QACtE,sEAAsE;QACtE,oEAAoE;QACpE,gEAAgE;QAChE,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC;QACrC,MAAM,cAAc,GAAG,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,gBAAgB,CAAC,CAAC,cAAc,CAAC,CAAC;QACrE,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,YAAY,EAAE,GAAG,CAAC,aAAa;YAC/B,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,SAAS;YACjC,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,UAAU,EAAE,GAAG,CAAC,WAAW,IAAI,IAAI;YACnC,aAAa,EAAE,GAAG,CAAC,eAAe,IAAI,IAAI;YAC1C,aAAa,EAAE;gBACb,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;aAChC;YACD,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,GAAG,CAAC,OAAO,IAAI,SAAS;YAChC,SAAS,EAAE,GAAG,CAAC,UAAU,IAAI,SAAS;YACtC,cAAc,EAAE,GAAG,CAAC,gBAAgB,IAAI,SAAS;YACjD,gEAAgE;YAChE,gEAAgE;YAChE,wCAAwC;YACxC,GAAG,CAAC,WAAW,KAAK,QAAQ;gBAC1B,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAC9C,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC;IAED,8EAA8E;IACtE,YAAY,CAAC,GAAmB,EAAE,WAAgC;QACxE,IAAI,QAA6C,CAAC;QAClD,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAA4B,CAAC;YACjE,CAAC;YAAC,MAAM,CAAC;gBACP,QAAQ,GAAG,SAAS,CAAC;YACvB,CAAC;QACH,CAAC;QACD,mEAAmE;QACnE,+DAA+D;QAC/D,iEAAiE;QACjE,mEAAmE;QACnE,qDAAqD;QACrD,IAAI,QAAQ,GAAa,EAAE,CAAC;QAC5B,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAY,CAAC;gBACnD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;oBACxE,QAAQ,GAAG,MAAkB,CAAC;gBAChC,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,QAAQ,GAAG,EAAE,CAAC;YAChB,CAAC;QACH,CAAC;QACD,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,UAAU,EAAE,GAAG,CAAC,WAAW;YAC3B,QAAQ,EAAE,GAAG,CAAC,SAAS;YACvB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,WAAW,EAAE,GAAG,CAAC,YAAY;YAC7B,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,WAAW;YACX,QAAQ;YACR,QAAQ;YACR,QAAQ,EAAE,GAAG,CAAC,SAAS,IAAI,SAAS;SACrC,CAAC;IACJ,CAAC"}
1
+ {"version":3,"file":"chat-v2.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/chat-v2/chat-v2.service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chat-db.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/chat-v2/sqlite/chat-db.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAsCnF;;;;;;;;;GASG;AACH,wBAAgB,gCAAgC,CAC9C,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,IAAI,GACrC,IAAI,CAGN;AAoCD,2DAA2D;AAC3D,MAAM,MAAM,YAAY,GAAG,OAAO,gBAAgB,EAAE,QAAQ,CAAC;AAM7D;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,qBAAqB,0lJA4GjC,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,8rCAuBrC,CAAC;AA2DF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,YAAY,GAAG;IAC3D,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,oBAAoB,EAAE,OAAO,CAAC;IAC9B;;;;;OAKG;IACH,oBAAoB,EAAE,OAAO,CAAC;CAC/B,CA0FA;AAsHD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,4DAA4D;IAC5D,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,YAAY,CAwD/E"}
1
+ {"version":3,"file":"chat-db.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/chat-v2/sqlite/chat-db.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAuCnF;;;;;;;;;GASG;AACH,wBAAgB,gCAAgC,CAC9C,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,IAAI,GACrC,IAAI,CAGN;AAoCD,2DAA2D;AAC3D,MAAM,MAAM,YAAY,GAAG,OAAO,gBAAgB,EAAE,QAAQ,CAAC;AAM7D;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,qBAAqB,0lJA4GjC,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,8rCAuBrC,CAAC;AA2DF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,YAAY,GAAG;IAC3D,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,oBAAoB,EAAE,OAAO,CAAC;IAC9B;;;;;OAKG;IACH,oBAAoB,EAAE,OAAO,CAAC;CAC/B,CA0FA;AAsHD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,4DAA4D;IAC5D,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,YAAY,CAiE/E"}
@@ -15,6 +15,7 @@ import { existsSync, mkdirSync } from 'fs';
15
15
  import { createBareModuleRequire } from '../../../utils/node-require.utils.js';
16
16
  import { loadNativeAddonOrFatal } from '../../../utils/native-binding.utils.js';
17
17
  import { LoggerService } from '../../core/logger.service.js';
18
+ import { applyUnifiedLogUpgrades } from './unified-log.js';
18
19
  // ---------------------------------------------------------------------------
19
20
  // Lazy better-sqlite3 loader — avoids a hard native-module dep at import time
20
21
  // ---------------------------------------------------------------------------
@@ -531,6 +532,14 @@ export function openChatDatabase(options) {
531
532
  upgradeReport.legacyIndexDropped) {
532
533
  logger.info('Chat DB Phase A schema upgrade applied', upgradeReport);
533
534
  }
535
+ // Unified conversation log (specs/unified-conversations-cloud-store.md
536
+ // §A.4): source / direction / sender_kind / agent_session / ext_ref /
537
+ // cloud_sync columns, the cloud_outbox + its triggers, and a one-time
538
+ // backfill of rows written before them.
539
+ const unifiedReport = applyUnifiedLogUpgrades(db);
540
+ if (unifiedReport.columnsAdded.length > 0 || unifiedReport.rowsBackfilled > 0) {
541
+ logger.info('Chat DB unified-log upgrade applied', unifiedReport);
542
+ }
534
543
  if (!options.skipIntegrityCheck) {
535
544
  try {
536
545
  const rows = db.pragma('integrity_check');
@@ -1 +1 @@
1
- {"version":3,"file":"chat-db.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/chat-v2/sqlite/chat-db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-db.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/chat-v2/sqlite/chat-db.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,136 @@
1
+ /**
2
+ * CloudOutboxStore — reads and trims the durable `cloud_outbox` that the
3
+ * `chat_messages` triggers fill, keeps the uploader's `cloud_sync_state`, and
4
+ * pages history for the first-sign-in backfill
5
+ * (specs/unified-conversations-cloud-store.md §A.4, §B.3, §B.4).
6
+ *
7
+ * The outbox is on disk, so a machine that is offline or signed out loses
8
+ * nothing: rows wait until the uploader drains them.
9
+ *
10
+ * @module services/chat-v2/sqlite/cloud-outbox.store
11
+ */
12
+ import type { ChatChannelType, ChatContentType, ChatSenderType } from '../types.js';
13
+ import type { ChatDatabase } from './chat-db.js';
14
+ /** One outbox row. */
15
+ export interface OutboxEntry {
16
+ seq: number;
17
+ messageId: string;
18
+ op: 'upsert' | 'delete';
19
+ enqueuedAt: number;
20
+ }
21
+ /** Attachment metadata (never the bytes — owner decision O4). */
22
+ export interface UploadAttachmentRow {
23
+ kind: string;
24
+ mimeType: string;
25
+ sizeBytes: number;
26
+ originalName: string | null;
27
+ }
28
+ /** A message with everything the uploader sends about it. */
29
+ export interface UploadMessageRow {
30
+ rowid: number;
31
+ id: string;
32
+ channelId: string;
33
+ senderType: ChatSenderType;
34
+ senderId: string;
35
+ content: string;
36
+ contentType: ChatContentType;
37
+ createdAt: number;
38
+ metadata: string | null;
39
+ mentions: string | null;
40
+ threadId: string | null;
41
+ source: string | null;
42
+ direction: string | null;
43
+ senderKind: string | null;
44
+ agentSession: string | null;
45
+ extRef: string | null;
46
+ cloudSync: number | null;
47
+ channelName: string;
48
+ channelType: ChatChannelType;
49
+ /** First member of a huddle — the agent a message addressed to nobody in particular is filed under. */
50
+ leadMember: string | null;
51
+ attachments: UploadAttachmentRow[];
52
+ }
53
+ /** Position in `created_at ASC, rowid ASC` order. */
54
+ export interface BackfillCursor {
55
+ createdAt: number;
56
+ rowid: number;
57
+ }
58
+ /** SQLite-backed outbox + sync-state store. */
59
+ export declare class CloudOutboxStore {
60
+ private readonly db;
61
+ constructor(db: ChatDatabase);
62
+ /**
63
+ * The oldest outbox rows, in upload order.
64
+ *
65
+ * @param limit - Maximum rows
66
+ * @returns Rows ordered by `seq`
67
+ */
68
+ peek(limit: number): OutboxEntry[];
69
+ /**
70
+ * Remove every outbox row up to and including `seq` (Cloud has them).
71
+ *
72
+ * @param seq - Highest acknowledged outbox seq
73
+ * @returns Rows removed
74
+ */
75
+ ackThrough(seq: number): number;
76
+ /** @returns Number of rows waiting in the outbox */
77
+ count(): number;
78
+ /** Empty the outbox (account switch / sign-out: the backfill re-sends the window). */
79
+ clear(): void;
80
+ /**
81
+ * Keep the outbox bounded while nothing drains it: drop rows older than
82
+ * `olderThanMs`, then the oldest beyond `maxRows`.
83
+ *
84
+ * @param options.maxRows - Row cap
85
+ * @param options.olderThanMs - Drop rows enqueued before this epoch ms
86
+ * @returns Rows dropped (a history gap on Cloud when > 0)
87
+ */
88
+ trim(options: {
89
+ maxRows: number;
90
+ olderThanMs: number;
91
+ }): number;
92
+ /**
93
+ * Load messages by id, with their channel and attachment metadata.
94
+ *
95
+ * @param ids - Message ids
96
+ * @returns Map of id → row (ids with no row — deleted since — are absent)
97
+ */
98
+ getMessages(ids: readonly string[]): Map<string, UploadMessageRow>;
99
+ /**
100
+ * One page of syncable history for the backfill, oldest first.
101
+ *
102
+ * @param sinceMs - Only rows created at/after this epoch ms (the plan window)
103
+ * @param after - Resume after this position (exclusive), or null to start
104
+ * @param limit - Page size
105
+ * @returns Rows in `created_at, rowid` order
106
+ */
107
+ backfillPage(sinceMs: number, after: BackfillCursor | null, limit: number): UploadMessageRow[];
108
+ /**
109
+ * Read a sync-state value.
110
+ *
111
+ * @param key - State key
112
+ * @returns The value, or null
113
+ */
114
+ getState(key: string): string | null;
115
+ /**
116
+ * Write (or with `null`, remove) a sync-state value.
117
+ *
118
+ * @param key - State key
119
+ * @param value - Value, or null to delete
120
+ */
121
+ setState(key: string, value: string | null): void;
122
+ /**
123
+ * Remove every sync-state value except the ones listed.
124
+ *
125
+ * @param keep - Keys to preserve
126
+ */
127
+ clearState(keep?: readonly string[]): void;
128
+ /**
129
+ * Attach attachment metadata and map to the camel-case row shape.
130
+ *
131
+ * @param rows - Raw rows
132
+ * @returns Upload rows
133
+ */
134
+ private withAttachments;
135
+ }
136
+ //# sourceMappingURL=cloud-outbox.store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-outbox.store.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/chat-v2/sqlite/cloud-outbox.store.ts"],"names":[],"mappings":"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"}