@rudderhq/server 0.2.7-canary.13 → 0.2.7-canary.14

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.
@@ -1,5 +1,5 @@
1
- import { and, desc, eq, gte, isNotNull, lt, lte, sql } from "drizzle-orm";
2
- import { activityLog, agents, organizations, costEvents, issues, projects } from "@rudderhq/db";
1
+ import { and, desc, eq, gte, isNotNull, lt, lte, or, sql } from "drizzle-orm";
2
+ import { activityLog, agents, organizations, costEvents, costMonthlySpendRollups, issues, projects } from "@rudderhq/db";
3
3
  import { ADDITIONAL_CACHED_INPUT_TOKEN_PROVIDERS } from "@rudderhq/shared";
4
4
  import { notFound, unprocessable } from "../errors.js";
5
5
  import { observeExecutionEvent } from "../langfuse.js";
@@ -49,23 +49,122 @@ function currentUtcMonthWindow(now = new Date()) {
49
49
  end: new Date(Date.UTC(year, month + 1, 1, 0, 0, 0, 0)),
50
50
  };
51
51
  }
52
- async function getMonthlySpendTotal(db, scope) {
53
- const { start, end } = currentUtcMonthWindow();
54
- const conditions = [
55
- eq(costEvents.orgId, scope.orgId),
56
- gte(costEvents.occurredAt, start),
57
- lt(costEvents.occurredAt, end),
58
- ];
59
- if (scope.agentId) {
60
- conditions.push(eq(costEvents.agentId, scope.agentId));
61
- }
52
+ function isWithinWindow(value, start, end) {
53
+ const time = value.getTime();
54
+ return time >= start.getTime() && time < end.getTime();
55
+ }
56
+ function costRollupIdentityWhere(input) {
57
+ return and(eq(costMonthlySpendRollups.orgId, input.orgId), eq(costMonthlySpendRollups.scopeType, input.scopeType), eq(costMonthlySpendRollups.scopeId, input.scopeId), eq(costMonthlySpendRollups.monthStart, input.monthStart));
58
+ }
59
+ async function calculateMonthlySpendForScope(db, input) {
62
60
  const [row] = await db
63
61
  .select({
64
- total: sumNumberSql(costEvents.costCents),
62
+ spendCents: sumNumberSql(costEvents.costCents),
65
63
  })
66
64
  .from(costEvents)
67
- .where(and(...conditions));
68
- return Number(row?.total ?? 0);
65
+ .where(and(eq(costEvents.orgId, input.orgId), ...(input.scopeType === "agent" ? [eq(costEvents.agentId, input.scopeId)] : []), gte(costEvents.occurredAt, input.monthStart), lt(costEvents.occurredAt, input.monthEnd)));
66
+ return Number(row?.spendCents ?? 0);
67
+ }
68
+ async function reconcileInsertedMonthlySpendRollup(db, input) {
69
+ const spendCents = await calculateMonthlySpendForScope(db, input);
70
+ await db
71
+ .update(costMonthlySpendRollups)
72
+ .set({
73
+ spendCents,
74
+ updatedAt: new Date(),
75
+ })
76
+ .where(costRollupIdentityWhere(input));
77
+ return spendCents;
78
+ }
79
+ async function insertMissingMonthlySpendRollup(db, input) {
80
+ const spendCents = await calculateMonthlySpendForScope(db, input);
81
+ const [inserted] = await db
82
+ .insert(costMonthlySpendRollups)
83
+ .values({
84
+ orgId: input.orgId,
85
+ scopeType: input.scopeType,
86
+ scopeId: input.scopeId,
87
+ monthStart: input.monthStart,
88
+ spendCents,
89
+ })
90
+ .onConflictDoNothing({
91
+ target: [
92
+ costMonthlySpendRollups.orgId,
93
+ costMonthlySpendRollups.scopeType,
94
+ costMonthlySpendRollups.scopeId,
95
+ costMonthlySpendRollups.monthStart,
96
+ ],
97
+ })
98
+ .returning({ spendCents: costMonthlySpendRollups.spendCents });
99
+ if (inserted)
100
+ return Number(inserted.spendCents);
101
+ const [existing] = await db
102
+ .select({ spendCents: costMonthlySpendRollups.spendCents })
103
+ .from(costMonthlySpendRollups)
104
+ .where(costRollupIdentityWhere(input));
105
+ return Number(existing?.spendCents ?? spendCents);
106
+ }
107
+ async function incrementMonthlySpendRollup(db, input) {
108
+ const [inserted] = await db
109
+ .insert(costMonthlySpendRollups)
110
+ .values({
111
+ orgId: input.orgId,
112
+ scopeType: input.scopeType,
113
+ scopeId: input.scopeId,
114
+ monthStart: input.monthStart,
115
+ spendCents: input.costCents,
116
+ })
117
+ .onConflictDoNothing({
118
+ target: [
119
+ costMonthlySpendRollups.orgId,
120
+ costMonthlySpendRollups.scopeType,
121
+ costMonthlySpendRollups.scopeId,
122
+ costMonthlySpendRollups.monthStart,
123
+ ],
124
+ })
125
+ .returning({ spendCents: costMonthlySpendRollups.spendCents });
126
+ if (inserted)
127
+ return reconcileInsertedMonthlySpendRollup(db, input);
128
+ const [updated] = await db
129
+ .update(costMonthlySpendRollups)
130
+ .set({
131
+ spendCents: sql `${costMonthlySpendRollups.spendCents} + ${input.costCents}`,
132
+ updatedAt: new Date(),
133
+ })
134
+ .where(costRollupIdentityWhere(input))
135
+ .returning({ spendCents: costMonthlySpendRollups.spendCents });
136
+ return Number(updated?.spendCents ?? input.costCents);
137
+ }
138
+ async function getMonthlySpendTotalsFromRollups(db, event) {
139
+ const { start, end } = currentUtcMonthWindow();
140
+ const rows = await db
141
+ .select({
142
+ scopeType: costMonthlySpendRollups.scopeType,
143
+ scopeId: costMonthlySpendRollups.scopeId,
144
+ spendCents: costMonthlySpendRollups.spendCents,
145
+ })
146
+ .from(costMonthlySpendRollups)
147
+ .where(and(eq(costMonthlySpendRollups.orgId, event.orgId), eq(costMonthlySpendRollups.monthStart, start), or(and(eq(costMonthlySpendRollups.scopeType, "organization"), eq(costMonthlySpendRollups.scopeId, event.orgId)), and(eq(costMonthlySpendRollups.scopeType, "agent"), eq(costMonthlySpendRollups.scopeId, event.agentId)))));
148
+ const agentRow = rows.find((row) => row.scopeType === "agent" && row.scopeId === event.agentId);
149
+ const organizationRow = rows.find((row) => row.scopeType === "organization" && row.scopeId === event.orgId);
150
+ const agentTotal = agentRow?.spendCents ?? await insertMissingMonthlySpendRollup(db, {
151
+ orgId: event.orgId,
152
+ scopeType: "agent",
153
+ scopeId: event.agentId,
154
+ monthStart: start,
155
+ monthEnd: end,
156
+ });
157
+ const organizationTotal = organizationRow?.spendCents ?? await insertMissingMonthlySpendRollup(db, {
158
+ orgId: event.orgId,
159
+ scopeType: "organization",
160
+ scopeId: event.orgId,
161
+ monthStart: start,
162
+ monthEnd: end,
163
+ });
164
+ return {
165
+ agentTotal: Number(agentTotal),
166
+ organizationTotal: Number(organizationTotal),
167
+ };
69
168
  }
70
169
  export function costService(db, budgetHooks = {}) {
71
170
  const budgets = budgetService(db, budgetHooks);
@@ -81,35 +180,55 @@ export function costService(db, budgetHooks = {}) {
81
180
  if (agent.orgId !== orgId) {
82
181
  throw unprocessable("Agent does not belong to organization");
83
182
  }
84
- const event = await db
85
- .insert(costEvents)
86
- .values({
87
- ...data,
88
- orgId,
89
- biller: data.biller ?? data.provider,
90
- billingType: data.billingType ?? "unknown",
91
- cachedInputTokens: data.cachedInputTokens ?? 0,
92
- })
93
- .returning()
94
- .then((rows) => rows[0]);
95
- const [agentMonthSpend, companyMonthSpend] = await Promise.all([
96
- getMonthlySpendTotal(db, { orgId, agentId: event.agentId }),
97
- getMonthlySpendTotal(db, { orgId }),
98
- ]);
99
- await db
100
- .update(agents)
101
- .set({
102
- spentMonthlyCents: agentMonthSpend,
103
- updatedAt: new Date(),
104
- })
105
- .where(eq(agents.id, event.agentId));
106
- await db
107
- .update(organizations)
108
- .set({
109
- spentMonthlyCents: companyMonthSpend,
110
- updatedAt: new Date(),
111
- })
112
- .where(eq(organizations.id, orgId));
183
+ const event = await db.transaction(async (tx) => {
184
+ const inserted = await tx
185
+ .insert(costEvents)
186
+ .values({
187
+ ...data,
188
+ orgId,
189
+ biller: data.biller ?? data.provider,
190
+ billingType: data.billingType ?? "unknown",
191
+ cachedInputTokens: data.cachedInputTokens ?? 0,
192
+ })
193
+ .returning()
194
+ .then((rows) => rows[0]);
195
+ const { start, end } = currentUtcMonthWindow();
196
+ const totals = isWithinWindow(inserted.occurredAt, start, end)
197
+ ? {
198
+ agentTotal: await incrementMonthlySpendRollup(tx, {
199
+ orgId,
200
+ scopeType: "agent",
201
+ scopeId: inserted.agentId,
202
+ monthStart: start,
203
+ monthEnd: end,
204
+ costCents: inserted.costCents,
205
+ }),
206
+ organizationTotal: await incrementMonthlySpendRollup(tx, {
207
+ orgId,
208
+ scopeType: "organization",
209
+ scopeId: orgId,
210
+ monthStart: start,
211
+ monthEnd: end,
212
+ costCents: inserted.costCents,
213
+ }),
214
+ }
215
+ : await getMonthlySpendTotalsFromRollups(tx, inserted);
216
+ await tx
217
+ .update(agents)
218
+ .set({
219
+ spentMonthlyCents: totals.agentTotal,
220
+ updatedAt: new Date(),
221
+ })
222
+ .where(eq(agents.id, inserted.agentId));
223
+ await tx
224
+ .update(organizations)
225
+ .set({
226
+ spentMonthlyCents: totals.organizationTotal,
227
+ updatedAt: new Date(),
228
+ })
229
+ .where(eq(organizations.id, orgId));
230
+ return inserted;
231
+ });
113
232
  await budgets.evaluateCostEvent(event);
114
233
  if (event.heartbeatRunId) {
115
234
  void observeExecutionEvent({
@@ -1 +1 @@
1
- {"version":3,"file":"costs.js","sourceRoot":"","sources":["../../src/services/costs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"costs.js","sourceRoot":"","sources":["../../src/services/costs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAmB,MAAM,aAAa,CAAC;AAE/F,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACzH,OAAO,EAAE,uCAAuC,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,aAAa,EAA2B,MAAM,cAAc,CAAC;AAYtE,MAAM,oBAAoB,GAAG,aAAa,CAAC;AAC3C,MAAM,0BAA0B,GAAG,CAAC,uBAAuB,EAAE,sBAAsB,CAAU,CAAC;AAC9F,MAAM,0CAA0C,GAAG,GAAG,CAAC,IAAI,CACzD,uCAAuC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAA,GAAG,QAAQ,EAAE,CAAC,EAC3E,GAAG,CAAA,IAAI,CACR,CAAC;AAEF,SAAS,wBAAwB;IAC/B,OAAO,GAAG,CAAQ;;mBAED,UAAU,CAAC,QAAQ,SAAS,0CAA0C;eAC1E,UAAU,CAAC,WAAW,MAAM,UAAU,CAAC,iBAAiB;aAC1D,UAAU,CAAC,WAAW;;GAEhC,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAiB;IACrC,OAAO,GAAG,CAAQ,gBAAgB,KAAK,yBAAyB,CAAC;AACnE,CAAC;AAED,SAAS,wBAAwB;IAC/B,OAAO,YAAY,CAAC,wBAAwB,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO,YAAY,CAAC,GAAG,CAAA,GAAG,wBAAwB,EAAE,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC;AACvF,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO,GAAG,CAAQ;;mBAED,wBAAwB,EAAE,MAAM,UAAU,CAAC,YAAY;;GAEvE,CAAC;AACJ,CAAC;AAED,SAAS,oCAAoC;IAC3C,OAAO,YAAY,CAAC,GAAG,CAAA;;aAEZ,UAAU,CAAC,WAAW,QAAQ,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAA,GAAG,KAAK,EAAE,CAAC,EAAE,GAAG,CAAA,IAAI,CAAC;eACvG,wBAAwB,EAAE;;;GAGtC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE;IAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IAChC,OAAO;QACL,KAAK,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACrD,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;KACxD,CAAC;AACJ,CAAC;AAWD,SAAS,cAAc,CAAC,KAAW,EAAE,KAAW,EAAE,GAAS;IACzD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;IAC7B,OAAO,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE,IAAI,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;AACzD,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAwC;IACvE,OAAO,GAAG,CACR,EAAE,CAAC,uBAAuB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,EAC9C,EAAE,CAAC,uBAAuB,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,EACtD,EAAE,CAAC,uBAAuB,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,EAClD,EAAE,CAAC,uBAAuB,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CACzD,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,6BAA6B,CAAC,EAAgB,EAAE,KAAsB;IACnF,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE;SACnB,MAAM,CAAC;QACN,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC;KAC/C,CAAC;SACD,IAAI,CAAC,UAAU,CAAC;SAChB,KAAK,CAAC,GAAG,CACR,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,EACjC,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAC/E,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,EAC5C,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAC1C,CAAC,CAAC;IACL,OAAO,MAAM,CAAC,GAAG,EAAE,UAAU,IAAI,CAAC,CAAC,CAAC;AACtC,CAAC;AAED,KAAK,UAAU,mCAAmC,CAAC,EAAgB,EAAE,KAAsB;IACzF,MAAM,UAAU,GAAG,MAAM,6BAA6B,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAClE,MAAM,EAAE;SACL,MAAM,CAAC,uBAAuB,CAAC;SAC/B,GAAG,CAAC;QACH,UAAU;QACV,SAAS,EAAE,IAAI,IAAI,EAAE;KACtB,CAAC;SACD,KAAK,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC;IACzC,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,+BAA+B,CAAC,EAAgB,EAAE,KAAsB;IACrF,MAAM,UAAU,GAAG,MAAM,6BAA6B,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAClE,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,EAAE;SACxB,MAAM,CAAC,uBAAuB,CAAC;SAC/B,MAAM,CAAC;QACN,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,UAAU;KACX,CAAC;SACD,mBAAmB,CAAC;QACnB,MAAM,EAAE;YACN,uBAAuB,CAAC,KAAK;YAC7B,uBAAuB,CAAC,SAAS;YACjC,uBAAuB,CAAC,OAAO;YAC/B,uBAAuB,CAAC,UAAU;SACnC;KACF,CAAC;SACD,SAAS,CAAC,EAAE,UAAU,EAAE,uBAAuB,CAAC,UAAU,EAAE,CAAC,CAAC;IACjE,IAAI,QAAQ;QAAE,OAAO,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAEjD,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,EAAE;SACxB,MAAM,CAAC,EAAE,UAAU,EAAE,uBAAuB,CAAC,UAAU,EAAE,CAAC;SAC1D,IAAI,CAAC,uBAAuB,CAAC;SAC7B,KAAK,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC;IACzC,OAAO,MAAM,CAAC,QAAQ,EAAE,UAAU,IAAI,UAAU,CAAC,CAAC;AACpD,CAAC;AAED,KAAK,UAAU,2BAA2B,CACxC,EAAgB,EAChB,KAA8C;IAE9C,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,EAAE;SACxB,MAAM,CAAC,uBAAuB,CAAC;SAC/B,MAAM,CAAC;QACN,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,UAAU,EAAE,KAAK,CAAC,SAAS;KAC5B,CAAC;SACD,mBAAmB,CAAC;QACnB,MAAM,EAAE;YACN,uBAAuB,CAAC,KAAK;YAC7B,uBAAuB,CAAC,SAAS;YACjC,uBAAuB,CAAC,OAAO;YAC/B,uBAAuB,CAAC,UAAU;SACnC;KACF,CAAC;SACD,SAAS,CAAC,EAAE,UAAU,EAAE,uBAAuB,CAAC,UAAU,EAAE,CAAC,CAAC;IACjE,IAAI,QAAQ;QAAE,OAAO,mCAAmC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAEpE,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,EAAE;SACvB,MAAM,CAAC,uBAAuB,CAAC;SAC/B,GAAG,CAAC;QACH,UAAU,EAAE,GAAG,CAAA,GAAG,uBAAuB,CAAC,UAAU,MAAM,KAAK,CAAC,SAAS,EAAE;QAC3E,SAAS,EAAE,IAAI,IAAI,EAAE;KACtB,CAAC;SACD,KAAK,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;SACrC,SAAS,CAAC,EAAE,UAAU,EAAE,uBAAuB,CAAC,UAAU,EAAE,CAAC,CAAC;IACjE,OAAO,MAAM,CAAC,OAAO,EAAE,UAAU,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,gCAAgC,CAC7C,EAAgB,EAChB,KAAyC;IAEzC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,qBAAqB,EAAE,CAAC;IAC/C,MAAM,IAAI,GAAG,MAAM,EAAE;SAClB,MAAM,CAAC;QACN,SAAS,EAAE,uBAAuB,CAAC,SAAS;QAC5C,OAAO,EAAE,uBAAuB,CAAC,OAAO;QACxC,UAAU,EAAE,uBAAuB,CAAC,UAAU;KAC/C,CAAC;SACD,IAAI,CAAC,uBAAuB,CAAC;SAC7B,KAAK,CAAC,GAAG,CACR,EAAE,CAAC,uBAAuB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,EAC9C,EAAE,CAAC,uBAAuB,CAAC,UAAU,EAAE,KAAK,CAAC,EAC7C,EAAE,CACA,GAAG,CACD,EAAE,CAAC,uBAAuB,CAAC,SAAS,EAAE,cAAc,CAAC,EACrD,EAAE,CAAC,uBAAuB,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CACjD,EACD,GAAG,CACD,EAAE,CAAC,uBAAuB,CAAC,SAAS,EAAE,OAAO,CAAC,EAC9C,EAAE,CAAC,uBAAuB,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CACnD,CACF,CACF,CAAC,CAAC;IACL,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,KAAK,OAAO,IAAI,GAAG,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC;IAChG,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,KAAK,cAAc,IAAI,GAAG,CAAC,OAAO,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5G,MAAM,UAAU,GAAG,QAAQ,EAAE,UAAU,IAAI,MAAM,+BAA+B,CAAC,EAAE,EAAE;QACnF,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS,EAAE,OAAO;QAClB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,GAAG;KACd,CAAC,CAAC;IACH,MAAM,iBAAiB,GAAG,eAAe,EAAE,UAAU,IAAI,MAAM,+BAA+B,CAAC,EAAE,EAAE;QACjG,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS,EAAE,cAAc;QACzB,OAAO,EAAE,KAAK,CAAC,KAAK;QACpB,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,GAAG;KACd,CAAC,CAAC;IACH,OAAO;QACL,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;QAC9B,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAM,EAAE,cAAkC,EAAE;IACtE,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IAC/C,OAAO;QACL,WAAW,EAAE,KAAK,EAAE,KAAa,EAAE,IAAmD,EAAE,EAAE;YACxF,MAAM,KAAK,GAAG,MAAM,EAAE;iBACnB,MAAM,EAAE;iBACR,IAAI,CAAC,MAAM,CAAC;iBACZ,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;iBAClC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;YAEnC,IAAI,CAAC,KAAK;gBAAE,MAAM,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YAC9C,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;gBAC1B,MAAM,aAAa,CAAC,uCAAuC,CAAC,CAAC;YAC/D,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;gBAC9C,MAAM,QAAQ,GAAG,MAAM,EAAE;qBACtB,MAAM,CAAC,UAAU,CAAC;qBAClB,MAAM,CAAC;oBACN,GAAG,IAAI;oBACP,KAAK;oBACL,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ;oBACpC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,SAAS;oBAC1C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,IAAI,CAAC;iBAC/C,CAAC;qBACD,SAAS,EAAE;qBACX,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAE3B,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,qBAAqB,EAAE,CAAC;gBAC/C,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC;oBAC5D,CAAC,CAAC;wBACA,UAAU,EAAE,MAAM,2BAA2B,CAAC,EAAE,EAAE;4BAChD,KAAK;4BACL,SAAS,EAAE,OAAO;4BAClB,OAAO,EAAE,QAAQ,CAAC,OAAO;4BACzB,UAAU,EAAE,KAAK;4BACjB,QAAQ,EAAE,GAAG;4BACb,SAAS,EAAE,QAAQ,CAAC,SAAS;yBAC9B,CAAC;wBACF,iBAAiB,EAAE,MAAM,2BAA2B,CAAC,EAAE,EAAE;4BACvD,KAAK;4BACL,SAAS,EAAE,cAAc;4BACzB,OAAO,EAAE,KAAK;4BACd,UAAU,EAAE,KAAK;4BACjB,QAAQ,EAAE,GAAG;4BACb,SAAS,EAAE,QAAQ,CAAC,SAAS;yBAC9B,CAAC;qBACH;oBACD,CAAC,CAAC,MAAM,gCAAgC,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;gBAEzD,MAAM,EAAE;qBACL,MAAM,CAAC,MAAM,CAAC;qBACd,GAAG,CAAC;oBACH,iBAAiB,EAAE,MAAM,CAAC,UAAU;oBACpC,SAAS,EAAE,IAAI,IAAI,EAAE;iBACtB,CAAC;qBACD,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;gBAE1C,MAAM,EAAE;qBACL,MAAM,CAAC,aAAa,CAAC;qBACrB,GAAG,CAAC;oBACH,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;oBAC3C,SAAS,EAAE,IAAI,IAAI,EAAE;iBACtB,CAAC;qBACD,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;gBAEtC,OAAO,QAAQ,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,MAAM,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAEvC,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;gBACzB,KAAK,qBAAqB,CACxB;oBACE,OAAO,EAAE,YAAY;oBACrB,eAAe,EAAE,KAAK,CAAC,cAAc;oBACrC,KAAK;oBACL,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;oBAC9B,MAAM,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,QAAQ;oBAC3C,QAAQ,EAAE;wBACR,WAAW,EAAE,KAAK,CAAC,EAAE;wBACrB,QAAQ,EAAE,KAAK,CAAC,QAAQ;wBACxB,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,WAAW,EAAE,KAAK,CAAC,WAAW;qBAC/B;iBACF,EACD;oBACE,IAAI,EAAE,eAAe;oBACrB,MAAM,EAAE,OAAO;oBACf,KAAK,EAAE;wBACL,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;wBAC9B,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;wBAC1C,YAAY,EAAE,KAAK,CAAC,YAAY;qBACjC;oBACD,QAAQ,EAAE;wBACR,QAAQ,EAAE,KAAK,CAAC,QAAQ;wBACxB,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,WAAW,EAAE,KAAK,CAAC,WAAW;wBAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;qBACrB;iBACF,CACF,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACpB,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,KAAa,EAAE,KAAqB,EAAE,EAAE;YACtD,MAAM,YAAY,GAAG,MAAM,EAAE;iBAC1B,MAAM,EAAE;iBACR,IAAI,CAAC,aAAa,CAAC;iBACnB,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;iBAClC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;YAEnC,IAAI,CAAC,YAAY;gBAAE,MAAM,QAAQ,CAAC,wBAAwB,CAAC,CAAC;YAE5D,MAAM,UAAU,GAA4B,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;YAC1E,IAAI,KAAK,EAAE,IAAI;gBAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACzE,IAAI,KAAK,EAAE,EAAE;gBAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAErE,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,EAAE;iBAC1B,MAAM,CAAC;gBACN,KAAK,EAAE,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC;gBACzC,WAAW,EAAE,wBAAwB,EAAE;gBACvC,iBAAiB,EAAE,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC;gBAC7D,YAAY,EAAE,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC;gBACnD,WAAW,EAAE,kBAAkB,EAAE;gBACjC,UAAU,EAAE,GAAG,CAAQ,eAAe;gBACtC,eAAe,EAAE,kBAAkB,EAAE;aACtC,CAAC;iBACD,IAAI,CAAC,UAAU,CAAC;iBAChB,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;YAE7B,MAAM,EACJ,KAAK,EACL,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACX,UAAU,EACV,eAAe,GAChB,GAAG,UAAU,CAAC;YAEf,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YACjC,MAAM,WAAW,GACf,YAAY,CAAC,kBAAkB,GAAG,CAAC;gBACjC,CAAC,CAAC,CAAC,UAAU,GAAG,YAAY,CAAC,kBAAkB,CAAC,GAAG,GAAG;gBACtD,CAAC,CAAC,CAAC,CAAC;YAER,OAAO;gBACL,KAAK;gBACL,UAAU;gBACV,WAAW,EAAE,YAAY,CAAC,kBAAkB;gBAC5C,kBAAkB,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAClD,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;gBAChC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC;gBAC5C,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC;gBAClC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;gBAChC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;gBAC9B,eAAe,EAAE,MAAM,CAAC,eAAe,CAAC;aACzC,CAAC;QACJ,CAAC;QAED,KAAK,EAAE,KAAK,EAAE,KAAa,EAAE,KAAqB,EAAE,SAA0B,EAAE,EAAE,EAAE;YAClF,MAAM,UAAU,GAA4B,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;YAC1E,IAAI,KAAK,EAAE,IAAI;gBAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACzE,IAAI,KAAK,EAAE,EAAE;gBAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YACrE,IAAI,MAAM,CAAC,OAAO;gBAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAE5E,MAAM,UAAU,GAAG,GAAG,CAAQ,6BAA6B,UAAU,CAAC,UAAU,qCAAqC,CAAC;YACtH,MAAM,aAAa,GAAG,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YACzD,MAAM,eAAe,GAAG,wBAAwB,EAAE,CAAC;YACnD,MAAM,qBAAqB,GAAG,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;YACzE,MAAM,gBAAgB,GAAG,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YAC/D,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;YAE7C,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,MAAM,aAAa,GAAG,GAAG,CAAQ,GAAG,MAAM,CAAC,EAAE,QAAQ,CAAC;gBACtD,MAAM,eAAe,GAAG,EAAE;qBACvB,gBAAgB,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE;oBACvD,KAAK,EAAE,WAAW,CAAC,KAAK;oBACxB,SAAS,EAAE,MAAM,CAAC,SAAS;iBAC5B,CAAC;qBACD,IAAI,CAAC,WAAW,CAAC;qBACjB,SAAS,CACR,MAAM,EACN,GAAG,CACD,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,EACnC,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,aAAa,CAAC,CACxC,CACF;qBACA,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,EAC5B,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EACvB,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,EAC5B,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAC5B,CACF;qBACA,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;qBACzE,EAAE,CAAC,mBAAmB,CAAC,CAAC;gBAC3B,MAAM,kBAAkB,GAAG,GAAG,CAAe,YAAY,UAAU,CAAC,SAAS,KAAK,eAAe,CAAC,SAAS,GAAG,CAAC;gBAC/G,UAAU,CAAC,IAAI,CAAC,GAAG,CAAA,GAAG,kBAAkB,MAAM,MAAM,CAAC,SAAS,EAA2B,CAAC,CAAC;gBAE3F,OAAO,EAAE;qBACN,MAAM,CAAC;oBACN,IAAI,EAAE,UAAU;oBAChB,SAAS,EAAE,aAAa;oBACxB,WAAW,EAAE,eAAe;oBAC5B,iBAAiB,EAAE,qBAAqB;oBACxC,YAAY,EAAE,gBAAgB;oBAC9B,WAAW,EAAE,eAAe;oBAC5B,UAAU,EAAE,GAAG,CAAQ,eAAe;iBACvC,CAAC;qBACD,IAAI,CAAC,UAAU,CAAC;qBAChB,QAAQ,CAAC,eAAe,EAAE,EAAE,CAAC,UAAU,CAAC,cAAc,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;qBAC/E,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;qBACzB,OAAO,CAAC,UAAU,CAAC;qBACnB,OAAO,CAAC,UAAU,CAAC,CAAC;YACzB,CAAC;YAED,OAAO,EAAE;iBACN,MAAM,CAAC;gBACN,IAAI,EAAE,UAAU;gBAChB,SAAS,EAAE,aAAa;gBACxB,WAAW,EAAE,eAAe;gBAC5B,iBAAiB,EAAE,qBAAqB;gBACxC,YAAY,EAAE,gBAAgB;gBAC9B,WAAW,EAAE,eAAe;gBAC5B,UAAU,EAAE,GAAG,CAAQ,eAAe;aACvC,CAAC;iBACD,IAAI,CAAC,UAAU,CAAC;iBAChB,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;iBACzB,OAAO,CAAC,UAAU,CAAC;iBACnB,OAAO,CAAC,UAAU,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,KAAa,EAAE,KAAqB,EAAE,EAAE;YACtD,MAAM,UAAU,GAA4B,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;YAC1E,IAAI,KAAK,EAAE,IAAI;gBAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACzE,IAAI,KAAK,EAAE,EAAE;gBAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAErE,OAAO,EAAE;iBACN,MAAM,CAAC;gBACN,OAAO,EAAE,UAAU,CAAC,OAAO;gBAC3B,SAAS,EAAE,MAAM,CAAC,IAAI;gBACtB,SAAS,EAAE,MAAM,CAAC,IAAI;gBACtB,SAAS,EAAE,MAAM,CAAC,IAAI;gBACtB,WAAW,EAAE,MAAM,CAAC,MAAM;gBAC1B,SAAS,EAAE,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC;gBAC7C,WAAW,EAAE,wBAAwB,EAAE;gBACvC,iBAAiB,EAAE,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC;gBAC7D,YAAY,EAAE,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC;gBACnD,yBAAyB,EAAE,GAAG,CAAqB,qBAAqB;gBACxE,WAAW,EACT,GAAG,CAAQ,4BAA4B,UAAU,CAAC,WAAW,MAAM,oBAAoB,SAAS,UAAU,CAAC,cAAc,YAAY;gBACvI,oBAAoB,EAClB,GAAG,CAAQ,4BAA4B,UAAU,CAAC,WAAW,QAAQ,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAA,GAAG,KAAK,EAAE,CAAC,EAAE,GAAG,CAAA,IAAI,CAAC,UAAU,UAAU,CAAC,cAAc,YAAY;gBACjM,6BAA6B,EAAE,YAAY,CAAC,GAAG,CAAA,aAAa,UAAU,CAAC,WAAW,QAAQ,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAA,GAAG,KAAK,EAAE,CAAC,EAAE,GAAG,CAAA,IAAI,CAAC,UAAU,UAAU,CAAC,iBAAiB,aAAa,CAAC;gBACzN,uBAAuB,EAAE,oCAAoC,EAAE;gBAC/D,wBAAwB,EAAE,YAAY,CAAC,GAAG,CAAA,aAAa,UAAU,CAAC,WAAW,QAAQ,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAA,GAAG,KAAK,EAAE,CAAC,EAAE,GAAG,CAAA,IAAI,CAAC,UAAU,UAAU,CAAC,YAAY,aAAa,CAAC;aAChN,CAAC;iBACD,IAAI,CAAC,UAAU,CAAC;iBAChB,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;iBACnD,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;iBACzB,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;iBACjF,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACvD,CAAC;QAED,UAAU,EAAE,KAAK,EAAE,KAAa,EAAE,KAAqB,EAAE,EAAE;YACzD,MAAM,UAAU,GAA4B,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;YAC1E,IAAI,KAAK,EAAE,IAAI;gBAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACzE,IAAI,KAAK,EAAE,EAAE;gBAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAErE,OAAO,EAAE;iBACN,MAAM,CAAC;gBACN,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,WAAW,EAAE,UAAU,CAAC,WAAW;gBACnC,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,SAAS,EAAE,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC;gBAC7C,WAAW,EAAE,wBAAwB,EAAE;gBACvC,iBAAiB,EAAE,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC;gBAC7D,YAAY,EAAE,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC;gBACnD,yBAAyB,EAAE,GAAG,CAAqB,qBAAqB;gBACxE,WAAW,EACT,GAAG,CAAQ,4BAA4B,UAAU,CAAC,WAAW,MAAM,oBAAoB,SAAS,UAAU,CAAC,cAAc,YAAY;gBACvI,oBAAoB,EAClB,GAAG,CAAQ,4BAA4B,UAAU,CAAC,WAAW,QAAQ,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAA,GAAG,KAAK,EAAE,CAAC,EAAE,GAAG,CAAA,IAAI,CAAC,UAAU,UAAU,CAAC,cAAc,YAAY;gBACjM,6BAA6B,EAAE,YAAY,CAAC,GAAG,CAAA,aAAa,UAAU,CAAC,WAAW,QAAQ,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAA,GAAG,KAAK,EAAE,CAAC,EAAE,GAAG,CAAA,IAAI,CAAC,UAAU,UAAU,CAAC,iBAAiB,aAAa,CAAC;gBACzN,uBAAuB,EAAE,oCAAoC,EAAE;gBAC/D,wBAAwB,EAAE,YAAY,CAAC,GAAG,CAAA,aAAa,UAAU,CAAC,WAAW,QAAQ,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAA,GAAG,KAAK,EAAE,CAAC,EAAE,GAAG,CAAA,IAAI,CAAC,UAAU,UAAU,CAAC,YAAY,aAAa,CAAC;aAChN,CAAC;iBACD,IAAI,CAAC,UAAU,CAAC;iBAChB,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;iBACzB,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC;iBACzF,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACvD,CAAC;QAED,QAAQ,EAAE,KAAK,EAAE,KAAa,EAAE,KAAqB,EAAE,EAAE;YACvD,MAAM,UAAU,GAA4B,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;YAC1E,IAAI,KAAK,EAAE,IAAI;gBAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACzE,IAAI,KAAK,EAAE,EAAE;gBAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAErE,OAAO,EAAE;iBACN,MAAM,CAAC;gBACN,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,SAAS,EAAE,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC;gBAC7C,WAAW,EAAE,wBAAwB,EAAE;gBACvC,iBAAiB,EAAE,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC;gBAC7D,YAAY,EAAE,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC;gBACnD,WAAW,EACT,GAAG,CAAQ,4BAA4B,UAAU,CAAC,WAAW,MAAM,oBAAoB,SAAS,UAAU,CAAC,cAAc,YAAY;gBACvI,oBAAoB,EAClB,GAAG,CAAQ,4BAA4B,UAAU,CAAC,WAAW,QAAQ,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAA,GAAG,KAAK,EAAE,CAAC,EAAE,GAAG,CAAA,IAAI,CAAC,UAAU,UAAU,CAAC,cAAc,YAAY;gBACjM,6BAA6B,EAAE,YAAY,CAAC,GAAG,CAAA,aAAa,UAAU,CAAC,WAAW,QAAQ,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAA,GAAG,KAAK,EAAE,CAAC,EAAE,GAAG,CAAA,IAAI,CAAC,UAAU,UAAU,CAAC,iBAAiB,aAAa,CAAC;gBACzN,uBAAuB,EAAE,oCAAoC,EAAE;gBAC/D,wBAAwB,EAAE,YAAY,CAAC,GAAG,CAAA,aAAa,UAAU,CAAC,WAAW,QAAQ,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAA,GAAG,KAAK,EAAE,CAAC,EAAE,GAAG,CAAA,IAAI,CAAC,UAAU,UAAU,CAAC,YAAY,aAAa,CAAC;gBAC/M,aAAa,EAAE,GAAG,CAAQ,kBAAkB,UAAU,CAAC,QAAQ,QAAQ;gBACvE,UAAU,EAAE,GAAG,CAAQ,kBAAkB,UAAU,CAAC,KAAK,QAAQ;aAClE,CAAC;iBACD,IAAI,CAAC,UAAU,CAAC;iBAChB,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;iBACzB,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;iBAC1B,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACvD,CAAC;QAED;;;;WAIG;QACH,WAAW,EAAE,KAAK,EAAE,KAAa,EAAE,EAAE;YACnC,MAAM,OAAO,GAAG;gBACd,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE;gBACzB,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC3B,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE;aACnB,CAAC;YAEX,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;gBACrC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;gBAC5D,MAAM,IAAI,GAAG,MAAM,EAAE;qBAClB,MAAM,CAAC;oBACN,QAAQ,EAAE,UAAU,CAAC,QAAQ;oBAC7B,MAAM,EAAE,GAAG,CAAQ,4BAA4B,UAAU,CAAC,MAAM,kBAAkB,UAAU,CAAC,MAAM,oBAAoB;oBACvH,SAAS,EAAE,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC;oBAC7C,WAAW,EAAE,wBAAwB,EAAE;oBACvC,iBAAiB,EAAE,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC;oBAC7D,YAAY,EAAE,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC;oBACnD,yBAAyB,EAAE,GAAG,CAAqB,qBAAqB;iBACzE,CAAC;qBACD,IAAI,CAAC,UAAU,CAAC;qBAChB,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,EAC3B,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAClC,CACF;qBACA,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;qBAC5B,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAErD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,MAAM,EAAE,KAAe;oBACvB,WAAW,EAAE,KAAK;oBAClB,SAAS,EAAE,GAAG,CAAC,SAAS;oBACxB,WAAW,EAAE,GAAG,CAAC,WAAW;oBAC5B,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;oBACxC,YAAY,EAAE,GAAG,CAAC,YAAY;oBAC9B,yBAAyB,EAAE,GAAG,CAAC,yBAAyB;iBACzD,CAAC,CAAC,CAAC;YACN,CAAC,CAAC,CACH,CAAC;YAEF,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;QACxB,CAAC;QAED,YAAY,EAAE,KAAK,EAAE,KAAa,EAAE,KAAqB,EAAE,EAAE;YAC3D,MAAM,UAAU,GAA4B,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;YAC1E,IAAI,KAAK,EAAE,IAAI;gBAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACzE,IAAI,KAAK,EAAE,EAAE;gBAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAErE,mDAAmD;YACnD,qEAAqE;YACrE,yEAAyE;YACzE,mEAAmE;YACnE,OAAO,EAAE;iBACN,MAAM,CAAC;gBACN,OAAO,EAAE,UAAU,CAAC,OAAO;gBAC3B,SAAS,EAAE,MAAM,CAAC,IAAI;gBACtB,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,WAAW,EAAE,UAAU,CAAC,WAAW;gBACnC,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,SAAS,EAAE,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC;gBAC7C,WAAW,EAAE,wBAAwB,EAAE;gBACvC,iBAAiB,EAAE,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC;gBAC7D,YAAY,EAAE,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC;gBACnD,yBAAyB,EAAE,GAAG,CAAqB,qBAAqB;aACzE,CAAC;iBACD,IAAI,CAAC,UAAU,CAAC;iBAChB,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;iBACnD,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;iBACzB,OAAO,CACN,UAAU,CAAC,OAAO,EAClB,MAAM,CAAC,IAAI,EACX,UAAU,CAAC,QAAQ,EACnB,UAAU,CAAC,MAAM,EACjB,UAAU,CAAC,WAAW,EACtB,UAAU,CAAC,KAAK,CACjB;iBACA,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QAC/F,CAAC;QAED,SAAS,EAAE,KAAK,EAAE,KAAa,EAAE,KAAqB,EAAE,EAAE;YACxD,MAAM,aAAa,GAAG,GAAG,CAAQ,GAAG,MAAM,CAAC,EAAE,QAAQ,CAAC;YACtD,MAAM,eAAe,GAAG,EAAE;iBACvB,gBAAgB,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE;gBACvD,KAAK,EAAE,WAAW,CAAC,KAAK;gBACxB,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B,CAAC;iBACD,IAAI,CAAC,WAAW,CAAC;iBACjB,SAAS,CACR,MAAM,EACN,GAAG,CACD,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,EACnC,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,aAAa,CAAC,CACxC,CACF;iBACA,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,EAC5B,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EACvB,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,EAC5B,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAC5B,CACF;iBACA,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;iBACzE,EAAE,CAAC,mBAAmB,CAAC,CAAC;YAE3B,MAAM,kBAAkB,GAAG,GAAG,CAAe,YAAY,UAAU,CAAC,SAAS,KAAK,eAAe,CAAC,SAAS,GAAG,CAAC;YAC/G,MAAM,UAAU,GAA4B,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;YAC1E,IAAI,KAAK,EAAE,IAAI;gBAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACzE,IAAI,KAAK,EAAE,EAAE;gBAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAErE,MAAM,aAAa,GAAG,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAEzD,OAAO,EAAE;iBACN,MAAM,CAAC;gBACN,SAAS,EAAE,kBAAkB;gBAC7B,WAAW,EAAE,QAAQ,CAAC,IAAI;gBAC1B,SAAS,EAAE,aAAa;gBACxB,WAAW,EAAE,wBAAwB,EAAE;gBACvC,iBAAiB,EAAE,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC;gBAC7D,YAAY,EAAE,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC;aACpD,CAAC;iBACD,IAAI,CAAC,UAAU,CAAC;iBAChB,QAAQ,CAAC,eAAe,EAAE,EAAE,CAAC,UAAU,CAAC,cAAc,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;iBAC/E,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAA,GAAG,QAAQ,CAAC,EAAE,MAAM,kBAAkB,EAAE,CAAC;iBAChE,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,CAAA,GAAG,kBAAkB,cAAc,CAAC,CAAC;iBACjE,OAAO,CAAC,kBAAkB,EAAE,QAAQ,CAAC,IAAI,CAAC;iBAC1C,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;QAClC,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { Db } from "@rudderhq/db";
2
- import { type MessengerApprovalThreadItem, type MessengerBudgetThreadItem, type MessengerHeartbeatRunThreadItem, type MessengerIssueThreadItem, type MessengerJoinRequestThreadItem, type MessengerSystemThreadKind, type MessengerThreadSummary } from "@rudderhq/shared";
2
+ import { type MessengerApprovalThreadItem, type MessengerBudgetThreadItem, type MessengerHeartbeatRunThreadItem, type MessengerIssueThreadItem, type MessengerJoinRequestThreadItem, type MessengerSystemThreadKind, type MessengerThreadDetail, type MessengerThreadSummary } from "@rudderhq/shared";
3
3
  import { chatService } from "./chats.js";
4
4
  type ThreadReadState = {
5
5
  lastReadAt: Date;
@@ -14,21 +14,7 @@ export declare function messengerService(db: Db): {
14
14
  } | null>;
15
15
  getIssuesThread: (orgId: string, userId: string) => Promise<{
16
16
  summary: MessengerThreadSummary;
17
- detail: {
18
- threadKey: string;
19
- kind: "issues";
20
- title: string;
21
- subtitle: string;
22
- preview: string | null;
23
- latestActivityAt: Date | null;
24
- lastReadAt: Date | null;
25
- unreadCount: number;
26
- needsAttention: boolean;
27
- isPinned: false;
28
- href: string;
29
- description: string;
30
- items: MessengerIssueThreadItem[];
31
- };
17
+ detail: MessengerThreadDetail<MessengerIssueThreadItem>;
32
18
  }>;
33
19
  getApprovalsThread: (orgId: string, userId: string) => Promise<{
34
20
  summary: MessengerThreadSummary;
@@ -1 +1 @@
1
- {"version":3,"file":"messenger.d.ts","sourceRoot":"","sources":["../../src/services/messenger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAcvC,OAAO,EASL,KAAK,2BAA2B,EAChC,KAAK,yBAAyB,EAE9B,KAAK,+BAA+B,EACpC,KAAK,wBAAwB,EAC7B,KAAK,8BAA8B,EACnC,KAAK,yBAAyB,EAG9B,KAAK,sBAAsB,EAC5B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AA8BzC,KAAK,eAAe,GAAG;IACrB,UAAU,EAAE,IAAI,CAAC;CAClB,CAAC;AAuHF,KAAK,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/F,KAAK,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AA0hBlG,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,EAAE;iCAmcK,MAAM,UAAU,MAAM;oCAmDnB,MAAM,UAAU,MAAM;sBAKjC,mBAAmB;kBAC3B,cAAc,EAAE;;6BA3BJ,MAAM,UAAU,MAAM;;;;;;;;;;;;;;;;;;gCAInB,MAAM,UAAU,MAAM;;;;;;;;;;;;;;;;;;6BAIzB,MAAM,UAAU,MAAM,cAAc,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAuB9D,MAAM,UAAU,MAAM,aAAa,MAAM;;;;;;;;;4BAQzC,MAAM,UAAU,MAAM,aAAa,MAAM;2BAAzC,MAAM,UAAU,MAAM,aAAa,MAAM;EA+C/E"}
1
+ {"version":3,"file":"messenger.d.ts","sourceRoot":"","sources":["../../src/services/messenger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAcvC,OAAO,EASL,KAAK,2BAA2B,EAChC,KAAK,yBAAyB,EAE9B,KAAK,+BAA+B,EACpC,KAAK,wBAAwB,EAC7B,KAAK,8BAA8B,EACnC,KAAK,yBAAyB,EAE9B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC5B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AA8BzC,KAAK,eAAe,GAAG;IACrB,UAAU,EAAE,IAAI,CAAC;CAClB,CAAC;AAgIF,KAAK,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAK/F,KAAK,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAqiBlG,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,EAAE;iCA2rBK,MAAM,UAAU,MAAM;oCA0DnB,MAAM,UAAU,MAAM;sBAKjC,mBAAmB;kBAC3B,cAAc,EAAE;;6BA3BJ,MAAM,UAAU,MAAM;;;;gCAInB,MAAM,UAAU,MAAM;;;;;;;;;;;;;;;;;;6BAIzB,MAAM,UAAU,MAAM,cAAc,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAuB9D,MAAM,UAAU,MAAM,aAAa,MAAM;;;;;;;;;4BAQzC,MAAM,UAAU,MAAM,aAAa,MAAM;2BAAzC,MAAM,UAAU,MAAM,aAAa,MAAM;EA+C/E"}