@talkpilot/core-db 1.3.7 → 1.3.8

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 (119) hide show
  1. package/README.md +55 -2
  2. package/dist/municipal/tickets/tickets.statistics.getters.d.ts +4 -0
  3. package/dist/municipal/tickets/tickets.statistics.getters.d.ts.map +1 -1
  4. package/dist/municipal/tickets/tickets.statistics.getters.js +30 -3
  5. package/dist/municipal/tickets/tickets.statistics.getters.js.map +1 -1
  6. package/dist/talkpilot/calls/calls.dashboard.d.ts +3 -0
  7. package/dist/talkpilot/calls/calls.dashboard.d.ts.map +1 -0
  8. package/dist/talkpilot/calls/calls.dashboard.js +191 -0
  9. package/dist/talkpilot/calls/calls.dashboard.js.map +1 -0
  10. package/dist/talkpilot/calls/calls.statistics.getters.js +12 -15
  11. package/dist/talkpilot/calls/calls.statistics.getters.js.map +1 -1
  12. package/dist/talkpilot/calls/calls.statistics.types.d.ts +4 -1
  13. package/dist/talkpilot/calls/calls.statistics.types.d.ts.map +1 -1
  14. package/package.json +1 -1
  15. package/src/__tests__/setup.ts +20 -20
  16. package/src/municipal/__tests__/validation.spec.ts +62 -62
  17. package/src/municipal/cities/cities.getters.ts +50 -50
  18. package/src/municipal/cities/cities.types.ts +11 -11
  19. package/src/municipal/cities/index.ts +2 -2
  20. package/src/municipal/departmentsSubjects/departmentsSubjects.getters.ts +282 -282
  21. package/src/municipal/departmentsSubjects/departmentsSubjects.types.ts +72 -72
  22. package/src/municipal/departmentsSubjects/index.ts +9 -9
  23. package/src/municipal/mongodb-client.ts +61 -61
  24. package/src/municipal/streets/index.ts +2 -2
  25. package/src/municipal/streets/streets.getters.ts +125 -125
  26. package/src/municipal/streets/streets.types.ts +18 -18
  27. package/src/municipal/systemInstructions/__tests__/getters.spec.ts +113 -113
  28. package/src/municipal/systemInstructions/__tests__/setters.spec.ts +274 -274
  29. package/src/municipal/systemInstructions/index.ts +7 -7
  30. package/src/municipal/systemInstructions/instructions.getters.ts +57 -57
  31. package/src/municipal/systemInstructions/instructions.setters.ts +119 -119
  32. package/src/municipal/systemInstructions/instructions.types.ts +30 -30
  33. package/src/municipal/tickets/__tests__/tickets.statistics.spec.ts +21 -4
  34. package/src/municipal/tickets/tickets.statistics.getters.ts +40 -2
  35. package/src/municipal/utils/types.ts +11 -11
  36. package/src/talkpilot/__tests__/db.spec.ts +38 -38
  37. package/src/talkpilot/__tests__/mongodb-client.spec.ts +18 -18
  38. package/src/talkpilot/__tests__/validation.spec.ts +68 -68
  39. package/src/talkpilot/agents/__tests__/agents.getters.spec.ts +29 -29
  40. package/src/talkpilot/agents/agents.getters.ts +34 -34
  41. package/src/talkpilot/agents/agents.types.ts +14 -14
  42. package/src/talkpilot/agents/index.ts +2 -2
  43. package/src/talkpilot/backgroundToolResults/__tests__/backgroundToolResults.getters.spec.ts +147 -147
  44. package/src/talkpilot/backgroundToolResults/backgroundToolResults.getters.ts +65 -65
  45. package/src/talkpilot/backgroundToolResults/backgroundToolResults.types.ts +23 -23
  46. package/src/talkpilot/backgroundToolResults/index.ts +2 -2
  47. package/src/talkpilot/calls/__tests__/callStats.utils.spec.ts +128 -128
  48. package/src/talkpilot/calls/__tests__/calls.spec.ts +270 -270
  49. package/src/talkpilot/calls/__tests__/calls.statistics.spec.ts +25 -18
  50. package/src/talkpilot/calls/calls.getters.ts +248 -248
  51. package/src/talkpilot/calls/calls.statistics.getters.ts +25 -25
  52. package/src/talkpilot/calls/calls.statistics.types.ts +4 -1
  53. package/src/talkpilot/clientAudioBuffers/__tests__/clientAudioBuffer.getters.spec.ts +160 -160
  54. package/src/talkpilot/clientAudioBuffers/clientAudioBuffer.getters.ts +117 -117
  55. package/src/talkpilot/clientAudioBuffers/clientsAudioBuffers.types.ts +25 -25
  56. package/src/talkpilot/clientAudioBuffers/index.ts +2 -2
  57. package/src/talkpilot/clients/clients.getters.ts +16 -16
  58. package/src/talkpilot/clients/clients.types.ts +14 -14
  59. package/src/talkpilot/clients/index.ts +2 -2
  60. package/src/talkpilot/clientsConfig/__tests__/clientsConfig.getters.spec.ts +53 -53
  61. package/src/talkpilot/clientsConfig/clientsConfig.getters.ts +55 -55
  62. package/src/talkpilot/clientsConfig/clientsConfig.types.ts +127 -127
  63. package/src/talkpilot/clientsConfig/index.ts +2 -2
  64. package/src/talkpilot/flows/flows.getter.ts +14 -14
  65. package/src/talkpilot/flows/index.ts +2 -2
  66. package/src/talkpilot/groups/__tests__/groups.spec.ts +90 -90
  67. package/src/talkpilot/groups/__tests__/phone.utils.spec.ts +32 -32
  68. package/src/talkpilot/groups/groups.getters.ts +30 -30
  69. package/src/talkpilot/groups/groups.types.ts +29 -29
  70. package/src/talkpilot/groups/index.ts +3 -3
  71. package/src/talkpilot/groups/phone.utils.ts +46 -46
  72. package/src/talkpilot/leads/index.ts +2 -2
  73. package/src/talkpilot/leads/leads.getter.ts +6 -6
  74. package/src/talkpilot/leads/leads.schema.ts +33 -33
  75. package/src/talkpilot/leads/leads.types.ts +20 -20
  76. package/src/talkpilot/mongodb-client.ts +78 -78
  77. package/src/talkpilot/phone_numbers/__tests__/phone_numbers.spec.ts +252 -252
  78. package/src/talkpilot/phone_numbers/index.ts +2 -2
  79. package/src/talkpilot/phone_numbers/phone_numbers.getter.ts +158 -158
  80. package/src/talkpilot/phone_numbers/phone_numbers.schema.ts +17 -17
  81. package/src/talkpilot/phone_numbers/phone_numbers.types.ts +30 -30
  82. package/src/talkpilot/plans/__tests__/plans.spec.ts +70 -70
  83. package/src/talkpilot/plans/index.ts +2 -2
  84. package/src/talkpilot/plans/plans.getters.ts +132 -132
  85. package/src/talkpilot/plans/plans.types.ts +89 -89
  86. package/src/talkpilot/results/index.ts +7 -7
  87. package/src/talkpilot/results/results.getter.ts +39 -39
  88. package/src/talkpilot/results/results.schema.ts +25 -25
  89. package/src/talkpilot/results/results.types.ts +34 -34
  90. package/src/talkpilot/retry_analyze/__tests__/retryAnalyze.getters.spec.ts +156 -156
  91. package/src/talkpilot/retry_analyze/index.ts +2 -2
  92. package/src/talkpilot/retry_analyze/retryAnalyze.getters.ts +84 -84
  93. package/src/talkpilot/retry_analyze/retryAnalyze.types.ts +13 -13
  94. package/src/talkpilot/sessions/__tests__/sessions.spec.ts +147 -147
  95. package/src/talkpilot/sessions/index.ts +2 -2
  96. package/src/talkpilot/sessions/sessions.getter.ts +92 -92
  97. package/src/talkpilot/sessions/sessions.schema.ts +34 -34
  98. package/src/talkpilot/sessions/sessions.types.ts +30 -30
  99. package/src/talkpilot/subscriptions/__tests__/subscriptions.getters.utils.spec.ts +45 -45
  100. package/src/talkpilot/subscriptions/index.ts +3 -3
  101. package/src/talkpilot/subscriptions/subscriptions.getters.ts +146 -146
  102. package/src/talkpilot/subscriptions/subscriptions.getters.utils.ts +33 -33
  103. package/src/talkpilot/subscriptions/subscriptions.types.ts +66 -66
  104. package/src/talkpilot/utils/__tests__/query.utils.spec.ts +49 -49
  105. package/src/talkpilot/utils/query.utils.ts +21 -21
  106. package/src/test-utils/factories/municipal/cities.ts +16 -16
  107. package/src/test-utils/factories/municipal/departmentsSubjects.ts +37 -37
  108. package/src/test-utils/factories/municipal/streets.ts +22 -22
  109. package/src/test-utils/factories/municipal/tickets.ts +39 -39
  110. package/src/test-utils/factories/talkpilot/agents.ts +19 -19
  111. package/src/test-utils/factories/talkpilot/calls.ts +37 -37
  112. package/src/test-utils/factories/talkpilot/clientAudioBuffers.ts +20 -20
  113. package/src/test-utils/factories/talkpilot/clientsConfig.ts +18 -18
  114. package/src/test-utils/factories/talkpilot/flows.ts +33 -33
  115. package/src/test-utils/factories/talkpilot/groups.ts +33 -33
  116. package/src/test-utils/factories/talkpilot/phone_numbers.ts +22 -22
  117. package/src/test-utils/factories/talkpilot/sessions.ts +35 -35
  118. package/src/utils/shared.types.ts +4 -4
  119. package/src/utils/validation.ts +23 -23
package/README.md CHANGED
@@ -136,7 +136,9 @@ Refer to `DEVELOPMENT.md` for the full walkthrough, token instructions, and fact
136
136
  | 1.1.9 | Maintenance release (build, test, format). |
137
137
  | 1.3.4 | Added new statistics getters for call & ticket dashboards (CP-149): summary, trend, hourly, and routing for calls, plus open/draft/subject ticket stats. **Removed** the legacy getters `getTicketsCountByCityAndDateRange` and `getTicketsSubjectStats`. |
138
138
  | 1.3.5 | Added the `muniIssues` collection & module (CP-1115): the `MuniIssue` document type, `createMuniIssue` (accepts a caller-supplied `_id` for a two-way Jira link), `generateMuniIssueId`, `getMuniIssueById` / `getMuniIssueByJiraKey`, a `$jsonSchema` validator with indexes (unique `jira.key`), and `ensureMuniIssuesCollection` to provision it at boot. |
139
-
139
+ | 1.3.6 | Added `contextNotes` and `products` modules under `src/talkpilot/`. |
140
+ | 1.3.7 | Added `disableGenericPrompt` optional boolean field to the `Flow` type and schema (CP-704). |
141
+ | 1.3.8 | Ticket-count Map getters (CP-1200): deprecated `string[]` ticket getters and `CallsStatsFilter` fields, added `Map<string, number>` replacements; fixed ticket counting in `aggregateCallsSummary`. |
140
142
 
141
143
  ### 1.1.9
142
144
 
@@ -152,7 +154,7 @@ New call statistics getters for dashboards (summary, trend, hourly, routing) and
152
154
 
153
155
  | Removed | Replacement |
154
156
  | --- | --- |
155
- | `getTicketsCountByCityAndDateRange` | `aggregateCallsSummary` + `findCallSidsWithTicketsByCity` |
157
+ | `getTicketsCountByCityAndDateRange` | `aggregateCallsSummary` + `findCallSidTicketCountsByCity` — note: returns `Map<string, number>`, not `string[]` |
156
158
  | `getTicketsSubjectStats` | `findSubjectsByCityAndDateRange` |
157
159
  | `SubjectStatsItem` | `SubjectItem` |
158
160
 
@@ -178,6 +180,57 @@ New `muniIssues` module under `src/municipal/` for issues reported from the call
178
180
 
179
181
  No — purely additive. New consumers (MIS) import these from `@talkpilot/core-db`.
180
182
 
183
+ ### 1.3.6 — Context Notes & Products
184
+
185
+ **Context Notes** — new `contextNotes` collection under `src/talkpilot/` for per-client, per-product notes injected into AI calls at runtime. Each document holds a `systemPrompt` and a list of time-bounded entries (`activeFrom`, `expiresAt`). Two setters with split ownership: `setContextNoteEntries` for the notes list and `setContextNoteConfig` for `systemPrompt` and `product`.
186
+
187
+ **Products** — new `products` collection under `src/talkpilot/` cataloguing TalkPilot products. Each document has a stable `name` and an optional `displayName` locale map (`Record<string, string>`) for UI display.
188
+
189
+ **Added**
190
+
191
+ | Export | Purpose |
192
+ | --- | --- |
193
+ | `getContextNotes(clientId, product)` | Fetch context note documents for a client/product pair. |
194
+ | `createContextNote(input)` | Insert a new context note document. |
195
+ | `setContextNoteEntries(id, clientId, notes)` | Replace the notes list on an existing document. |
196
+ | `setContextNoteConfig(id, clientId, config)` | Update `systemPrompt` and/or `product` on an existing document. |
197
+ | `getAllProducts()` | Fetch the full product catalogue. |
198
+
199
+ **Do I need to update my app?**
200
+
201
+ No — purely additive.
202
+
203
+ ### 1.3.7 — Generic prompt control (CP-704)
204
+
205
+ Added an optional boolean field to the `Flow` type and MongoDB schema.
206
+
207
+ **Added**
208
+
209
+ | Export | Purpose |
210
+ | --- | --- |
211
+ | `Flow.disableGenericPrompt` | Optional `boolean`. When `true`, disables the generic prompt for the flow. Existing flows without this field continue to work unchanged. |
212
+
213
+ **Do I need to update my app?**
214
+
215
+ No — the field is optional and fully backwards-compatible.
216
+
217
+ ### 1.3.8 — Ticket-count Map getters (CP-1200)
218
+
219
+ Adds `Map<string, number>` ticket getters that return per-call ticket counts. The old `string[]` getters and filter fields are kept and marked `@deprecated`.
220
+
221
+ **Deprecated → Replacement**
222
+
223
+ | Deprecated | Replacement |
224
+ | --- | --- |
225
+ | `findCallSidsWithTicketsByCity` | `findCallSidTicketCountsByCity` → `Map<string, number>` |
226
+ | `findCallSidsWithDraftTicketsByCity` | `findCallSidDraftTicketCountsByCity` → `Map<string, number>` |
227
+ | `CallsStatsFilter.callSidsWithTickets` | `CallsStatsFilter.callSidTicketCounts` |
228
+ | `CallsStatsFilter.callSidsWithDraftTickets` | `CallsStatsFilter.callSidDraftTicketCounts` |
229
+
230
+ **Do I need to update my app?**
231
+
232
+ No — the old fields still compile. Migrate when convenient.
233
+
181
234
  ## 🛠 CI/CD & deployment
182
235
 
183
236
  - This package is consumed by Cloud Build-based services (TalkPilot Server, MIS, CIS) as a dependency when Docker images are built. Keep `dist/` in sync with your builds because the compiled artifact is what downstream services install.
@@ -2,7 +2,11 @@ import { CityName } from "../utils/types";
2
2
  import type { TicketStatsDateRange, TicketStatsDateScope, TicketSubjectRow } from "./tickets.types";
3
3
  export declare const resolveTicketStatsDateRange: (dateScope?: TicketStatsDateScope) => TicketStatsDateRange;
4
4
  export declare const ticketStatsDateScopeFromYmd: (startStr: string, endStr: string, timezone: string) => TicketStatsDateScope;
5
+ /** @deprecated Use findCallSidTicketCountsByCity instead. */
5
6
  export declare const findCallSidsWithTicketsByCity: (cityName: CityName, dateScope?: TicketStatsDateScope) => Promise<string[]>;
7
+ export declare const findCallSidTicketCountsByCity: (cityName: CityName, dateScope?: TicketStatsDateScope) => Promise<Map<string, number>>;
8
+ /** @deprecated Use findCallSidDraftTicketCountsByCity instead. */
6
9
  export declare const findCallSidsWithDraftTicketsByCity: (cityName: CityName, dateScope?: TicketStatsDateScope) => Promise<string[]>;
10
+ export declare const findCallSidDraftTicketCountsByCity: (cityName: CityName, dateScope?: TicketStatsDateScope) => Promise<Map<string, number>>;
7
11
  export declare const findTicketSubjectRows: (cityName: CityName, dateScope?: TicketStatsDateScope) => Promise<TicketSubjectRow[]>;
8
12
  //# sourceMappingURL=tickets.statistics.getters.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tickets.statistics.getters.d.ts","sourceRoot":"","sources":["../../../src/municipal/tickets/tickets.statistics.getters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAa1C,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,iBAAiB,CAAC;AAEzB,eAAO,MAAM,2BAA2B,GACtC,YAAY,oBAAoB,KAC/B,oBAKF,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,UAAU,MAAM,EAChB,QAAQ,MAAM,EACd,UAAU,MAAM,KACf,oBAGD,CAAC;AAEH,eAAO,MAAM,6BAA6B,GACxC,UAAU,QAAQ,EAClB,YAAY,oBAAoB,KAC/B,OAAO,CAAC,MAAM,EAAE,CAMlB,CAAC;AAEF,eAAO,MAAM,kCAAkC,GAC7C,UAAU,QAAQ,EAClB,YAAY,oBAAoB,KAC/B,OAAO,CAAC,MAAM,EAAE,CAOlB,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAChC,UAAU,QAAQ,EAClB,YAAY,oBAAoB,KAC/B,OAAO,CAAC,gBAAgB,EAAE,CAO5B,CAAC"}
1
+ {"version":3,"file":"tickets.statistics.getters.d.ts","sourceRoot":"","sources":["../../../src/municipal/tickets/tickets.statistics.getters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAa1C,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,iBAAiB,CAAC;AAEzB,eAAO,MAAM,2BAA2B,GACtC,YAAY,oBAAoB,KAC/B,oBAKF,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,UAAU,MAAM,EAChB,QAAQ,MAAM,EACd,UAAU,MAAM,KACf,oBAGD,CAAC;AAEH,6DAA6D;AAC7D,eAAO,MAAM,6BAA6B,GACxC,UAAU,QAAQ,EAClB,YAAY,oBAAoB,KAC/B,OAAO,CAAC,MAAM,EAAE,CAQlB,CAAC;AAEF,eAAO,MAAM,6BAA6B,GACxC,UAAU,QAAQ,EAClB,YAAY,oBAAoB,KAC/B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAU7B,CAAC;AAGF,kEAAkE;AAClE,eAAO,MAAM,kCAAkC,GAC7C,UAAU,QAAQ,EAClB,YAAY,oBAAoB,KAC/B,OAAO,CAAC,MAAM,EAAE,CASlB,CAAC;AAEF,eAAO,MAAM,kCAAkC,GAC7C,UAAU,QAAQ,EAClB,YAAY,oBAAoB,KAC/B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAW7B,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAChC,UAAU,QAAQ,EAClB,YAAY,oBAAoB,KAC/B,OAAO,CAAC,gBAAgB,EAAE,CAO5B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.findTicketSubjectRows = exports.findCallSidsWithDraftTicketsByCity = exports.findCallSidsWithTicketsByCity = exports.ticketStatsDateScopeFromYmd = exports.resolveTicketStatsDateRange = void 0;
3
+ exports.findTicketSubjectRows = exports.findCallSidDraftTicketCountsByCity = exports.findCallSidsWithDraftTicketsByCity = exports.findCallSidTicketCountsByCity = exports.findCallSidsWithTicketsByCity = exports.ticketStatsDateScopeFromYmd = exports.resolveTicketStatsDateRange = void 0;
4
4
  const date_utils_1 = require("../../utils/date.utils");
5
5
  const tickets_constants_1 = require("./tickets.constants");
6
6
  const tickets_statistics_aggregation_1 = require("./tickets.statistics.aggregation");
@@ -15,23 +15,50 @@ const ticketStatsDateScopeFromYmd = (startStr, endStr, timezone) => ({
15
15
  to: (0, date_utils_1.endOfCalendarDayInTz)(endStr, timezone),
16
16
  });
17
17
  exports.ticketStatsDateScopeFromYmd = ticketStatsDateScopeFromYmd;
18
+ /** @deprecated Use findCallSidTicketCountsByCity instead. */
18
19
  const findCallSidsWithTicketsByCity = async (cityName, dateScope) => {
19
20
  const rows = await (0, tickets_statistics_aggregation_1.runTicketStatsAggregate)([
20
21
  { $match: (0, tickets_statistics_aggregation_1.ticketsWithCallSidMatch)(cityName, (0, exports.resolveTicketStatsDateRange)(dateScope)) },
21
22
  { $group: { _id: "$callSid" } },
22
23
  ]);
23
- return rows.map((r) => String(r._id)).filter(Boolean);
24
+ return rows
25
+ .filter((r) => r._id != null && r._id !== "")
26
+ .map((r) => String(r._id));
24
27
  };
25
28
  exports.findCallSidsWithTicketsByCity = findCallSidsWithTicketsByCity;
29
+ const findCallSidTicketCountsByCity = async (cityName, dateScope) => {
30
+ const rows = await (0, tickets_statistics_aggregation_1.runTicketStatsAggregate)([
31
+ { $match: (0, tickets_statistics_aggregation_1.ticketsWithCallSidMatch)(cityName, (0, exports.resolveTicketStatsDateRange)(dateScope)) },
32
+ { $group: { _id: "$callSid", ticketCount: { $sum: 1 } } },
33
+ ]);
34
+ return new Map(rows
35
+ .filter((r) => r._id != null && r._id !== "")
36
+ .map((r) => [String(r._id), r.ticketCount]));
37
+ };
38
+ exports.findCallSidTicketCountsByCity = findCallSidTicketCountsByCity;
39
+ /** @deprecated Use findCallSidDraftTicketCountsByCity instead. */
26
40
  const findCallSidsWithDraftTicketsByCity = async (cityName, dateScope) => {
27
41
  const rows = await (0, tickets_statistics_aggregation_1.runTicketStatsAggregate)([
28
42
  { $match: (0, tickets_statistics_aggregation_1.ticketsWithCallSidMatch)(cityName, (0, exports.resolveTicketStatsDateRange)(dateScope)) },
29
43
  { $match: { $expr: tickets_statistics_aggregation_1.isDraftSubjectIdExpr } },
30
44
  { $group: { _id: "$callSid" } },
31
45
  ]);
32
- return rows.map((r) => String(r._id)).filter(Boolean);
46
+ return rows
47
+ .filter((r) => r._id != null && r._id !== "")
48
+ .map((r) => String(r._id));
33
49
  };
34
50
  exports.findCallSidsWithDraftTicketsByCity = findCallSidsWithDraftTicketsByCity;
51
+ const findCallSidDraftTicketCountsByCity = async (cityName, dateScope) => {
52
+ const rows = await (0, tickets_statistics_aggregation_1.runTicketStatsAggregate)([
53
+ { $match: (0, tickets_statistics_aggregation_1.ticketsWithCallSidMatch)(cityName, (0, exports.resolveTicketStatsDateRange)(dateScope)) },
54
+ { $match: { $expr: tickets_statistics_aggregation_1.isDraftSubjectIdExpr } },
55
+ { $group: { _id: "$callSid", ticketCount: { $sum: 1 } } },
56
+ ]);
57
+ return new Map(rows
58
+ .filter((r) => r._id != null && r._id !== "")
59
+ .map((r) => [String(r._id), r.ticketCount]));
60
+ };
61
+ exports.findCallSidDraftTicketCountsByCity = findCallSidDraftTicketCountsByCity;
35
62
  const findTicketSubjectRows = async (cityName, dateScope) => {
36
63
  const rows = await (0, tickets_statistics_aggregation_1.runTicketStatsAggregate)([
37
64
  { $match: (0, tickets_statistics_aggregation_1.ticketsWithCallSidMatch)(cityName, (0, exports.resolveTicketStatsDateRange)(dateScope)) },
@@ -1 +1 @@
1
- {"version":3,"file":"tickets.statistics.getters.js","sourceRoot":"","sources":["../../../src/municipal/tickets/tickets.statistics.getters.ts"],"names":[],"mappings":";;;AACA,uDAIgC;AAChC,2DAA4D;AAC5D,qFAK0C;AAOnC,MAAM,2BAA2B,GAAG,CACzC,SAAgC,EACV,EAAE;IACxB,MAAM,EAAE,GAAG,SAAS,EAAE,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;IACvC,MAAM,IAAI,GACR,SAAS,EAAE,IAAI,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,yCAAqB,GAAG,mBAAM,CAAC,CAAC;IAC7E,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AACtB,CAAC,CAAC;AAPW,QAAA,2BAA2B,+BAOtC;AAEK,MAAM,2BAA2B,GAAG,CACzC,QAAgB,EAChB,MAAc,EACd,QAAgB,EACM,EAAE,CAAC,CAAC;IAC1B,IAAI,EAAE,IAAA,mCAAsB,EAAC,QAAQ,EAAE,QAAQ,CAAC;IAChD,EAAE,EAAE,IAAA,iCAAoB,EAAC,MAAM,EAAE,QAAQ,CAAC;CAC3C,CAAC,CAAC;AAPU,QAAA,2BAA2B,+BAOrC;AAEI,MAAM,6BAA6B,GAAG,KAAK,EAChD,QAAkB,EAClB,SAAgC,EACb,EAAE;IACrB,MAAM,IAAI,GAAG,MAAM,IAAA,wDAAuB,EAAmB;QAC3D,EAAE,MAAM,EAAE,IAAA,wDAAuB,EAAC,QAAQ,EAAE,IAAA,mCAA2B,EAAC,SAAS,CAAC,CAAC,EAAE;QACrF,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE;KAChC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACxD,CAAC,CAAC;AATW,QAAA,6BAA6B,iCASxC;AAEK,MAAM,kCAAkC,GAAG,KAAK,EACrD,QAAkB,EAClB,SAAgC,EACb,EAAE;IACrB,MAAM,IAAI,GAAG,MAAM,IAAA,wDAAuB,EAAmB;QAC3D,EAAE,MAAM,EAAE,IAAA,wDAAuB,EAAC,QAAQ,EAAE,IAAA,mCAA2B,EAAC,SAAS,CAAC,CAAC,EAAE;QACrF,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,qDAAoB,EAAE,EAAE;QAC3C,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE;KAChC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACxD,CAAC,CAAC;AAVW,QAAA,kCAAkC,sCAU7C;AAEK,MAAM,qBAAqB,GAAG,KAAK,EACxC,QAAkB,EAClB,SAAgC,EACH,EAAE;IAC/B,MAAM,IAAI,GAAG,MAAM,IAAA,wDAAuB,EAAyC;QACjF,EAAE,MAAM,EAAE,IAAA,wDAAuB,EAAC,QAAQ,EAAE,IAAA,mCAA2B,EAAC,SAAS,CAAC,CAAC,EAAE;QACrF,GAAG,IAAA,wDAAuB,EAAC,QAAQ,CAAC;QACpC,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;KACjD,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AACvF,CAAC,CAAC;AAVW,QAAA,qBAAqB,yBAUhC"}
1
+ {"version":3,"file":"tickets.statistics.getters.js","sourceRoot":"","sources":["../../../src/municipal/tickets/tickets.statistics.getters.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { DashboardStatsParams, DashboardStatsResult } from "./calls.types";
2
+ export declare function getDashboardStats(params: DashboardStatsParams): Promise<DashboardStatsResult>;
3
+ //# sourceMappingURL=calls.dashboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calls.dashboard.d.ts","sourceRoot":"","sources":["../../../src/talkpilot/calls/calls.dashboard.ts"],"names":[],"mappings":"AAEA,OAAO,EAA8B,oBAAoB,EAAE,oBAAoB,EAAiD,MAAM,eAAe,CAAC;AAmGtJ,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CAuG/B"}
@@ -0,0 +1,191 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getDashboardStats = getDashboardStats;
7
+ const dayjs_1 = __importDefault(require("dayjs"));
8
+ const calls_getters_1 = require("./calls.getters");
9
+ const clientsConfig_1 = require("../clientsConfig");
10
+ const utc_1 = __importDefault(require("dayjs/plugin/utc"));
11
+ const timezone_1 = __importDefault(require("dayjs/plugin/timezone"));
12
+ dayjs_1.default.extend(utc_1.default);
13
+ dayjs_1.default.extend(timezone_1.default);
14
+ function buildKpisPipeline() {
15
+ return [
16
+ {
17
+ $group: {
18
+ _id: null,
19
+ totalCalls: { $sum: 1 },
20
+ totalDuration: { $sum: "$callLength" },
21
+ completedCount: {
22
+ $sum: { $cond: [{ $eq: ["$status", "completed"] }, 1, 0] },
23
+ },
24
+ failedCount: {
25
+ $sum: { $cond: [{ $eq: ["$status", "failed"] }, 1, 0] },
26
+ },
27
+ noAnswerCount: {
28
+ $sum: { $cond: [{ $eq: ["$status", "no-answer"] }, 1, 0] },
29
+ },
30
+ busyCount: {
31
+ $sum: { $cond: [{ $eq: ["$status", "busy"] }, 1, 0] },
32
+ },
33
+ },
34
+ },
35
+ ];
36
+ }
37
+ function buildDailyDataPipeline(timezone) {
38
+ return [
39
+ {
40
+ $group: {
41
+ _id: {
42
+ $dateToString: {
43
+ format: "%Y-%m-%d",
44
+ date: "$createdAt",
45
+ timezone: timezone,
46
+ },
47
+ },
48
+ count: { $sum: 1 },
49
+ completed: {
50
+ $sum: { $cond: [{ $eq: ["$status", "completed"] }, 1, 0] },
51
+ },
52
+ },
53
+ },
54
+ { $sort: { _id: 1 } },
55
+ ];
56
+ }
57
+ function buildHourlyDataPipeline(timezone) {
58
+ return [
59
+ {
60
+ $group: {
61
+ _id: {
62
+ day: {
63
+ $dateToString: {
64
+ format: "%Y-%m-%d",
65
+ date: "$createdAt",
66
+ timezone: timezone,
67
+ },
68
+ },
69
+ hour: { $hour: { date: "$createdAt", timezone: timezone } },
70
+ },
71
+ count: { $sum: 1 },
72
+ },
73
+ },
74
+ ];
75
+ }
76
+ function buildCallLengthBucketsPipeline() {
77
+ return [
78
+ {
79
+ $group: {
80
+ _id: null,
81
+ short: { $sum: { $cond: [{ $lt: ["$callLength", 60] }, 1, 0] } },
82
+ medium: {
83
+ $sum: {
84
+ $cond: [
85
+ {
86
+ $and: [
87
+ { $gte: ["$callLength", 60] },
88
+ { $lte: ["$callLength", 180] },
89
+ ],
90
+ },
91
+ 1,
92
+ 0,
93
+ ],
94
+ },
95
+ },
96
+ long: { $sum: { $cond: [{ $gt: ["$callLength", 180] }, 1, 0] } },
97
+ },
98
+ },
99
+ ];
100
+ }
101
+ async function getDashboardStats(params) {
102
+ const { clientId, startDate, endDate } = params;
103
+ const clientConfig = await (0, clientsConfig_1.getClientConfig)(clientId);
104
+ const timezone = clientConfig?.timezone ?? "UTC";
105
+ const startDateObj = dayjs_1.default.tz(startDate, timezone).startOf("day").toDate();
106
+ const endDateObj = dayjs_1.default.tz(endDate, timezone).endOf("day").toDate();
107
+ const pipeline = [
108
+ {
109
+ $match: {
110
+ clientId,
111
+ createdAt: { $gte: startDateObj, $lte: endDateObj },
112
+ },
113
+ },
114
+ {
115
+ $facet: {
116
+ kpis: buildKpisPipeline(),
117
+ dailyData: buildDailyDataPipeline(timezone),
118
+ hourlyData: buildHourlyDataPipeline(timezone),
119
+ callLengthBuckets: buildCallLengthBucketsPipeline(),
120
+ },
121
+ },
122
+ ];
123
+ const callsCollection = (0, calls_getters_1.getCallsCollection)();
124
+ const [aggregatedResult] = await callsCollection
125
+ .aggregate(pipeline)
126
+ .toArray();
127
+ const kpiData = aggregatedResult?.kpis?.[0] ?? {
128
+ totalCalls: 0,
129
+ totalDuration: 0,
130
+ completedCount: 0,
131
+ failedCount: 0,
132
+ noAnswerCount: 0,
133
+ busyCount: 0,
134
+ };
135
+ const dailyDataRaw = aggregatedResult?.dailyData ?? [];
136
+ const hourlyDataRaw = aggregatedResult?.hourlyData ?? [];
137
+ const callLengthRaw = aggregatedResult?.callLengthBuckets?.[0] ?? {
138
+ short: 0,
139
+ medium: 0,
140
+ long: 0,
141
+ };
142
+ const count = kpiData.totalCalls;
143
+ const totalLen = kpiData.totalDuration;
144
+ const completed = kpiData.completedCount;
145
+ const kpis = {
146
+ totalCalls: count,
147
+ avgDurationSeconds: count > 0 ? Math.round(totalLen / count) : 0,
148
+ timeSavedMinutes: Math.round(totalLen / 60),
149
+ successRate: count > 0 ? Math.round((completed / count) * 1000) / 10 : 0,
150
+ completedCount: completed,
151
+ failedCount: kpiData.failedCount,
152
+ noAnswerCount: kpiData.noAnswerCount,
153
+ busyCount: kpiData.busyCount,
154
+ };
155
+ const volumeData = dailyDataRaw.map((d) => ({
156
+ date: d._id,
157
+ count: d.count,
158
+ completed: d.completed,
159
+ }));
160
+ const heatmapMap = new Map();
161
+ for (const bucket of hourlyDataRaw) {
162
+ const dayKey = bucket._id.day;
163
+ const hour = bucket._id.hour;
164
+ if (!heatmapMap.has(dayKey))
165
+ heatmapMap.set(dayKey, new Map());
166
+ heatmapMap.get(dayKey).set(hour, bucket.count);
167
+ }
168
+ const toSortedBuckets = (map) => Array.from(map.entries())
169
+ .sort(([a], [b]) => a - b)
170
+ .map(([h, c]) => ({
171
+ hour: `${String(h).padStart(2, "0")}:00`,
172
+ calls: c,
173
+ }));
174
+ const heatmap = {};
175
+ for (const [day, hourMap] of Array.from(heatmapMap.entries()).sort()) {
176
+ heatmap[day] = toSortedBuckets(hourMap);
177
+ }
178
+ return {
179
+ kpis,
180
+ charts: {
181
+ volumeData,
182
+ heatmap,
183
+ callLengthBuckets: {
184
+ short: callLengthRaw.short,
185
+ medium: callLengthRaw.medium,
186
+ long: callLengthRaw.long,
187
+ },
188
+ },
189
+ };
190
+ }
191
+ //# sourceMappingURL=calls.dashboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calls.dashboard.js","sourceRoot":"","sources":["../../../src/talkpilot/calls/calls.dashboard.ts"],"names":[],"mappings":";;;;;AAqGA,8CAyGC;AA9MD,kDAA0B;AAC1B,mDAAqD;AAErD,oDAAmD;AACnD,2DAAmC;AACnC,qEAAmD;AAEnD,eAAK,CAAC,MAAM,CAAC,aAAG,CAAC,CAAC;AAClB,eAAK,CAAC,MAAM,CAAC,kBAAc,CAAC,CAAC;AAC7B,SAAS,iBAAiB;IACxB,OAAO;QACL;YACE,MAAM,EAAE;gBACN,GAAG,EAAE,IAAI;gBACT,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;gBACvB,aAAa,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;gBACtC,cAAc,EAAE;oBACd,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;iBAC3D;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;iBACxD;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;iBAC3D;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;iBACtD;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAgB;IAC9C,OAAO;QACL;YACE,MAAM,EAAE;gBACN,GAAG,EAAE;oBACH,aAAa,EAAE;wBACb,MAAM,EAAE,UAAU;wBAClB,IAAI,EAAE,YAAY;wBAClB,QAAQ,EAAE,QAAQ;qBACnB;iBACF;gBACD,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;gBAClB,SAAS,EAAE;oBACT,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;iBAC3D;aACF;SACF;QACD,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;KACtB,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,QAAgB;IAC/C,OAAO;QACL;YACE,MAAM,EAAE;gBACN,GAAG,EAAE;oBACH,GAAG,EAAE;wBACH,aAAa,EAAE;4BACb,MAAM,EAAE,UAAU;4BAClB,IAAI,EAAE,YAAY;4BAClB,QAAQ,EAAE,QAAQ;yBACnB;qBACF;oBACD,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;iBAC5D;gBACD,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;aACnB;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,8BAA8B;IACrC,OAAO;QACL;YACE,MAAM,EAAE;gBACN,GAAG,EAAE,IAAI;gBACT,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;gBAChE,MAAM,EAAE;oBACN,IAAI,EAAE;wBACJ,KAAK,EAAE;4BACL;gCACE,IAAI,EAAE;oCACJ,EAAE,IAAI,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,EAAE;oCAC7B,EAAE,IAAI,EAAE,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE;iCAC/B;6BACF;4BACD,CAAC;4BACD,CAAC;yBACF;qBACF;iBACF;gBACD,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;aACjE;SACF;KACF,CAAC;AACJ,CAAC;AAGM,KAAK,UAAU,iBAAiB,CACrC,MAA4B;IAE5B,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAEhD,MAAM,YAAY,GAAG,MAAM,IAAA,+BAAe,EAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,YAAY,EAAE,QAAQ,IAAI,KAAK,CAAC;IAEjD,MAAM,YAAY,GAAG,eAAK,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;IAC3E,MAAM,UAAU,GAAG,eAAK,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;IAErE,MAAM,QAAQ,GAAG;QACf;YACE,MAAM,EAAE;gBACN,QAAQ;gBACR,SAAS,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE;aACpD;SACF;QACD;YACE,MAAM,EAAE;gBACN,IAAI,EAAE,iBAAiB,EAAE;gBACzB,SAAS,EAAE,sBAAsB,CAAC,QAAQ,CAAC;gBAC3C,UAAU,EAAE,uBAAuB,CAAC,QAAQ,CAAC;gBAC7C,iBAAiB,EAAE,8BAA8B,EAAE;aACpD;SACF;KACF,CAAC;IAEF,MAAM,eAAe,GAAG,IAAA,kCAAkB,GAAE,CAAC;IAC7C,MAAM,CAAC,gBAAgB,CAAC,GAAG,MAAM,eAAe;SAC7C,SAAS,CAAC,QAAQ,CAAC;SACnB,OAAO,EAAE,CAAC;IAEb,MAAM,OAAO,GAAG,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI;QAC7C,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,CAAC;QAChB,cAAc,EAAE,CAAC;QACjB,WAAW,EAAE,CAAC;QACd,aAAa,EAAE,CAAC;QAChB,SAAS,EAAE,CAAC;KACb,CAAC;IACF,MAAM,YAAY,GAAG,gBAAgB,EAAE,SAAS,IAAI,EAAE,CAAC;IACvD,MAAM,aAAa,GAAG,gBAAgB,EAAE,UAAU,IAAI,EAAE,CAAC;IACzD,MAAM,aAAa,GAAG,gBAAgB,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,IAAI;QAChE,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,CAAC;KACR,CAAC;IAEF,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC;IACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC;IACvC,MAAM,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC;IAEzC,MAAM,IAAI,GAAkB;QAC1B,UAAU,EAAE,KAAK;QACjB,kBAAkB,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;QAC3C,WAAW,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QACxE,cAAc,EAAE,SAAS;QACzB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC;IAEF,MAAM,UAAU,GAAmB,YAAiC,CAAC,GAAG,CACtE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,GAAG;QACX,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,SAAS,EAAE,CAAC,CAAC,SAAS;KACvB,CAAC,CACH,CAAC;IAEF,MAAM,UAAU,GAAG,IAAI,GAAG,EAA+B,CAAC;IAC1D,KAAK,MAAM,MAAM,IAAI,aAAkC,EAAE,CAAC;QACxD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAC/D,UAAU,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,eAAe,GAAG,CAAC,GAAwB,EAAkB,EAAE,CACnE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;SACtB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;SACzB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChB,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK;QACxC,KAAK,EAAE,CAAC;KACT,CAAC,CAAC,CAAC;IAER,MAAM,OAAO,GAAmC,EAAE,CAAC;IACnD,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO;QACL,IAAI;QACJ,MAAM,EAAE;YACN,UAAU;YACV,OAAO;YACP,iBAAiB,EAAE;gBACjB,KAAK,EAAE,aAAa,CAAC,KAAK;gBAC1B,MAAM,EAAE,aAAa,CAAC,MAAM;gBAC5B,IAAI,EAAE,aAAa,CAAC,IAAI;aACzB;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -56,7 +56,7 @@ const routingMatch = (routing) => {
56
56
  const ticketStatusMatch = (filter) => {
57
57
  if (!needsTicketStatusFilter(filter.ticketStatusFilters))
58
58
  return null;
59
- const sids = filter.callSidsWithTickets ?? [];
59
+ const sids = [...(filter.callSidTicketCounts?.keys() ?? [])];
60
60
  const openedOnly = filter.ticketStatusFilters?.includes("opened");
61
61
  return { callSid: openedOnly ? { $in: sids } : { $nin: sids } };
62
62
  };
@@ -275,7 +275,7 @@ const toHourlyDistribution = (rows, hourRange, daysInRange) => {
275
275
  return buckets;
276
276
  };
277
277
  const aggregateCallsSummary = async (filter) => {
278
- const hasTickets = Boolean(filter.callSidsWithTickets?.length || filter.callSidsWithDraftTickets?.length);
278
+ const hasTickets = Boolean(filter.callSidTicketCounts?.size || filter.callSidDraftTicketCounts?.size);
279
279
  const hasStatusFilter = needsTicketStatusFilter(filter.ticketStatusFilters);
280
280
  if (!hasTickets && !hasStatusFilter) {
281
281
  const result = await aggregateCalls(filter, {
@@ -293,8 +293,8 @@ const aggregateCallsSummary = async (filter) => {
293
293
  // Single pass: project per-call data, handle ticket status filter and counting in JS.
294
294
  // Avoids embedding callSidsWithTickets inside any MongoDB pipeline stage.
295
295
  const rows = await aggregateCalls({ ...filter, ticketStatusFilters: undefined }, { $project: { _id: 0, callSid: 1, callLength: 1 } }).toArray();
296
- const ticketSet = new Set(filter.callSidsWithTickets ?? []);
297
- const draftSet = new Set(filter.callSidsWithDraftTickets ?? []);
296
+ const ticketMap = filter.callSidTicketCounts ?? new Map();
297
+ const draftMap = filter.callSidDraftTicketCounts ?? new Map();
298
298
  const openedOnly = hasStatusFilter && filter.ticketStatusFilters.includes("opened");
299
299
  const notOpenedOnly = hasStatusFilter && filter.ticketStatusFilters.includes("not_opened");
300
300
  let totalCalls = 0;
@@ -303,17 +303,15 @@ const aggregateCallsSummary = async (filter) => {
303
303
  let draftTickets = 0;
304
304
  for (const row of rows) {
305
305
  const sid = row.callSid;
306
- const hasTicket = ticketSet.has(sid);
306
+ const hasTicket = ticketMap.has(sid);
307
307
  if (openedOnly && !hasTicket)
308
308
  continue;
309
309
  if (notOpenedOnly && hasTicket)
310
310
  continue;
311
311
  totalCalls += 1;
312
312
  totalDuration += row.callLength ?? 0;
313
- if (hasTicket)
314
- openTickets += 1;
315
- if (draftSet.has(sid))
316
- draftTickets += 1;
313
+ openTickets += ticketMap.get(sid) ?? 0;
314
+ draftTickets += draftMap.get(sid) ?? 0;
317
315
  }
318
316
  if (!totalCalls)
319
317
  return emptySummary();
@@ -326,17 +324,17 @@ const aggregateCallsSummary = async (filter) => {
326
324
  };
327
325
  exports.aggregateCallsSummary = aggregateCallsSummary;
328
326
  const aggregateCallsTrend = async (filter, bucket) => {
329
- const ticketSet = filter.callSidsWithTickets?.length
330
- ? new Set(filter.callSidsWithTickets)
327
+ const ticketMap = filter.callSidTicketCounts?.size
328
+ ? filter.callSidTicketCounts
331
329
  : null;
332
- if (ticketSet) {
330
+ if (ticketMap) {
333
331
  const rows = await aggregateCalls({ ...filter, ticketStatusFilters: undefined }, { $addFields: trendBucketExpr(bucket, filter.timezone) }, { $project: { _id: 0, bucket: 1, callSid: 1 } }).toArray();
334
332
  const openedOnly = needsTicketStatusFilter(filter.ticketStatusFilters) && filter.ticketStatusFilters.includes("opened");
335
333
  const notOpenedOnly = needsTicketStatusFilter(filter.ticketStatusFilters) && filter.ticketStatusFilters.includes("not_opened");
336
334
  const byBucket = new Map();
337
335
  for (const row of rows) {
338
336
  const sid = row.callSid;
339
- const hasTicket = ticketSet.has(sid);
337
+ const hasTicket = ticketMap.has(sid);
340
338
  if (openedOnly && !hasTicket)
341
339
  continue;
342
340
  if (notOpenedOnly && hasTicket)
@@ -346,8 +344,7 @@ const aggregateCallsTrend = async (filter, bucket) => {
346
344
  : String(row.bucket);
347
345
  const cur = byBucket.get(label) ?? { totalCalls: 0, openTickets: 0 };
348
346
  cur.totalCalls += 1;
349
- if (hasTicket)
350
- cur.openTickets += 1;
347
+ cur.openTickets += ticketMap.get(sid) ?? 0;
351
348
  byBucket.set(label, cur);
352
349
  }
353
350
  const mappedRows = [...byBucket.entries()]
@@ -1 +1 @@
1
- {"version":3,"file":"calls.statistics.getters.js","sourceRoot":"","sources":["../../../src/talkpilot/calls/calls.statistics.getters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"calls.statistics.getters.js","sourceRoot":"","sources":["../../../src/talkpilot/calls/calls.statistics.getters.ts"],"names":[],"mappings":"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"}
@@ -9,9 +9,12 @@ export type CallsStatsFilter = {
9
9
  hourFrom?: string;
10
10
  hourTo?: string;
11
11
  callRouting?: CallRoutingFilter[];
12
+ /** @deprecated Use callSidTicketCounts instead. */
12
13
  callSidsWithTickets?: string[];
13
- /** Call SIDs whose municipal ticket matches the draft-ticket definition (see tickets statistics getters). */
14
+ callSidTicketCounts?: Map<string, number>;
15
+ /** @deprecated Use callSidDraftTicketCounts instead. */
14
16
  callSidsWithDraftTickets?: string[];
17
+ callSidDraftTicketCounts?: Map<string, number>;
15
18
  ticketStatusFilters?: TicketStatusFilter[];
16
19
  };
17
20
  export type CallsSummaryAggregation = {
@@ -1 +1 @@
1
- {"version":3,"file":"calls.statistics.types.d.ts","sourceRoot":"","sources":["../../../src/talkpilot/calls/calls.statistics.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;AAE1D,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,YAAY,CAAC;AACzD,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,aAAa,GAAG,UAAU,CAAC;AAEvE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAClC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,6GAA6G;IAC7G,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;IACpC,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,qGAAqG;IACrG,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC"}
1
+ {"version":3,"file":"calls.statistics.types.d.ts","sourceRoot":"","sources":["../../../src/talkpilot/calls/calls.statistics.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;AAE1D,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,YAAY,CAAC;AACzD,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,aAAa,GAAG,UAAU,CAAC;AAEvE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAClC,mDAAmD;IACnD,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,wDAAwD;IACxD,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;IACpC,wBAAwB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,qGAAqG;IACrG,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@talkpilot/core-db",
3
- "version": "1.3.7",
3
+ "version": "1.3.8",
4
4
  "description": "Core database package for centralized connections and ORM integration.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,20 +1,20 @@
1
- import { initTestDb, closeTestDb } from "../test-utils/db-utils";
2
-
3
- declare global {
4
- // eslint-disable-next-line no-var
5
- var db: import("mongodb").Db;
6
- }
7
-
8
- // Set up global mocks if needed
9
- // global.fetch = jest.fn();
10
-
11
- beforeEach(async () => {
12
- global.db = await initTestDb();
13
- }, 30_000);
14
-
15
- afterEach(async () => {
16
- await closeTestDb();
17
- jest.resetAllMocks();
18
- });
19
-
20
- process.env.NODE_ENV = "test";
1
+ import { initTestDb, closeTestDb } from "../test-utils/db-utils";
2
+
3
+ declare global {
4
+ // eslint-disable-next-line no-var
5
+ var db: import("mongodb").Db;
6
+ }
7
+
8
+ // Set up global mocks if needed
9
+ // global.fetch = jest.fn();
10
+
11
+ beforeEach(async () => {
12
+ global.db = await initTestDb();
13
+ }, 30_000);
14
+
15
+ afterEach(async () => {
16
+ await closeTestDb();
17
+ jest.resetAllMocks();
18
+ });
19
+
20
+ process.env.NODE_ENV = "test";