@talkpilot/core-db 1.3.90 → 1.3.92
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -0
- package/dist/configuration/gptLive.seed.d.ts +2 -0
- package/dist/configuration/gptLive.seed.d.ts.map +1 -0
- package/dist/configuration/gptLive.seed.js +59 -0
- package/dist/configuration/gptLive.seed.js.map +1 -0
- package/dist/municipal/departmentsSubjects/departmentsSubjects.getters.d.ts +4 -0
- package/dist/municipal/departmentsSubjects/departmentsSubjects.getters.d.ts.map +1 -1
- package/dist/municipal/departmentsSubjects/departmentsSubjects.getters.js +13 -1
- package/dist/municipal/departmentsSubjects/departmentsSubjects.getters.js.map +1 -1
- package/dist/municipal/tickets/tickets.getters.d.ts +2 -0
- package/dist/municipal/tickets/tickets.getters.d.ts.map +1 -1
- package/dist/municipal/tickets/tickets.getters.js +10 -1
- package/dist/municipal/tickets/tickets.getters.js.map +1 -1
- package/dist/talkpilot/calls/calls.getters.d.ts +2 -0
- package/dist/talkpilot/calls/calls.getters.d.ts.map +1 -1
- package/dist/talkpilot/calls/calls.getters.js +6 -1
- package/dist/talkpilot/calls/calls.getters.js.map +1 -1
- package/dist/talkpilot/clients/clients.quota.constants.d.ts +2 -0
- package/dist/talkpilot/clients/clients.quota.constants.d.ts.map +1 -0
- package/dist/talkpilot/clients/clients.quota.constants.js +5 -0
- package/dist/talkpilot/clients/clients.quota.constants.js.map +1 -0
- package/dist/talkpilot/clients/clients.quota.utils.d.ts +8 -0
- package/dist/talkpilot/clients/clients.quota.utils.d.ts.map +1 -0
- package/dist/talkpilot/clients/clients.quota.utils.js +45 -0
- package/dist/talkpilot/clients/clients.quota.utils.js.map +1 -0
- package/dist/talkpilot/contextNotes/contextNotes.getters.d.ts +7 -1
- package/dist/talkpilot/contextNotes/contextNotes.getters.d.ts.map +1 -1
- package/dist/talkpilot/contextNotes/contextNotes.getters.js +37 -1
- package/dist/talkpilot/contextNotes/contextNotes.getters.js.map +1 -1
- package/dist/talkpilot/contextNotes/contextNotes.types.d.ts +6 -0
- package/dist/talkpilot/contextNotes/contextNotes.types.d.ts.map +1 -1
- package/dist/talkpilot/flows/flows.schema.d.ts +0 -9
- package/dist/talkpilot/flows/flows.schema.d.ts.map +1 -1
- package/dist/talkpilot/flows/flows.schema.js +0 -7
- package/dist/talkpilot/flows/flows.schema.js.map +1 -1
- package/dist/talkpilot/flows/flows.types.d.ts +0 -3
- package/dist/talkpilot/flows/flows.types.d.ts.map +1 -1
- package/dist/talkpilot/sessions/sessions.getter.d.ts +2 -0
- package/dist/talkpilot/sessions/sessions.getter.d.ts.map +1 -1
- package/dist/talkpilot/sessions/sessions.getter.js +11 -1
- package/dist/talkpilot/sessions/sessions.getter.js.map +1 -1
- package/package.json +1 -1
- package/src/municipal/departmentsSubjects/departmentsSubjects.getters.ts +14 -0
- package/src/municipal/tickets/__tests__/tickets.getters.spec.ts +14 -1
- package/src/municipal/tickets/tickets.getters.ts +10 -0
- package/src/talkpilot/calls/__tests__/calls.spec.ts +14 -0
- package/src/talkpilot/calls/calls.getters.ts +8 -0
- package/src/talkpilot/contextNotes/__tests__/contextNotes.getters.spec.ts +141 -0
- package/src/talkpilot/contextNotes/contextNotes.getters.ts +75 -1
- package/src/talkpilot/contextNotes/contextNotes.types.ts +7 -0
- package/src/talkpilot/flows/__tests__/flows.schema.spec.ts +0 -11
- package/src/talkpilot/flows/flows.schema.ts +0 -7
- package/src/talkpilot/flows/flows.types.ts +0 -1
- package/src/talkpilot/sessions/sessions.getter.ts +12 -0
- package/dist/talkpilot/subscriptions/subscriptions.utils.d.ts +0 -4
- package/dist/talkpilot/subscriptions/subscriptions.utils.d.ts.map +0 -1
- package/dist/talkpilot/subscriptions/subscriptions.utils.js +0 -20
- package/dist/talkpilot/subscriptions/subscriptions.utils.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flows.schema.js","sourceRoot":"","sources":["../../../src/talkpilot/flows/flows.schema.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG;IAC7B,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE;QACR,UAAU;QACV,oBAAoB;QACpB,iBAAiB;QACjB,cAAc;KACf;IACD,UAAU,EAAE;QACV,GAAG,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE;QAC7B,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE;QAChC,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE;QAChC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE;QAC1C,eAAe,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE;QACvC,oBAAoB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE;QAC1C,
|
|
1
|
+
{"version":3,"file":"flows.schema.js","sourceRoot":"","sources":["../../../src/talkpilot/flows/flows.schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flows.types.d.ts","sourceRoot":"","sources":["../../../src/talkpilot/flows/flows.types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"flows.types.d.ts","sourceRoot":"","sources":["../../../src/talkpilot/flows/flows.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,5 +3,7 @@ import type { Collection, WithId } from "mongodb";
|
|
|
3
3
|
import type { Session } from "./sessions.types";
|
|
4
4
|
export declare const getSessionsCollection: () => Collection<Session>;
|
|
5
5
|
export declare const findSessionById: (sessionId: ObjectId, clientId: string) => Promise<WithId<Session> | null>;
|
|
6
|
+
/** Sessions for a client, limited fields used for short-SLA linkedCallSid enrichment. */
|
|
7
|
+
export declare const findSessionsMetaByIdsForClient: (sessionIds: ObjectId[], clientId: string) => Promise<Array<Pick<WithId<Session>, "_id" | "metaKeys">>>;
|
|
6
8
|
export declare const findSessionOfIncomingCall: (from: string, to: string) => Promise<WithId<Session> | null>;
|
|
7
9
|
//# sourceMappingURL=sessions.getter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessions.getter.d.ts","sourceRoot":"","sources":["../../../src/talkpilot/sessions/sessions.getter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAElD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD,eAAO,MAAM,qBAAqB,QAAO,UAAU,CAAC,OAAO,CAClB,CAAC;AAgC1C,eAAO,MAAM,eAAe,GAC1B,WAAW,QAAQ,EACnB,UAAU,MAAM,KACf,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAKhC,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAU,MAAM,MAAM,EAAE,IAAI,MAAM,oCA2CvE,CAAC"}
|
|
1
|
+
{"version":3,"file":"sessions.getter.d.ts","sourceRoot":"","sources":["../../../src/talkpilot/sessions/sessions.getter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAElD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD,eAAO,MAAM,qBAAqB,QAAO,UAAU,CAAC,OAAO,CAClB,CAAC;AAgC1C,eAAO,MAAM,eAAe,GAC1B,WAAW,QAAQ,EACnB,UAAU,MAAM,KACf,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAKhC,CAAC;AAEF,yFAAyF;AACzF,eAAO,MAAM,8BAA8B,GACzC,YAAY,QAAQ,EAAE,EACtB,UAAU,MAAM,KACf,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,CAAC,CAM1D,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAU,MAAM,MAAM,EAAE,IAAI,MAAM,oCA2CvE,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.findSessionOfIncomingCall = exports.findSessionById = exports.getSessionsCollection = void 0;
|
|
3
|
+
exports.findSessionOfIncomingCall = exports.findSessionsMetaByIdsForClient = exports.findSessionById = exports.getSessionsCollection = void 0;
|
|
4
4
|
const mongodb_1 = require("mongodb");
|
|
5
5
|
const index_1 = require("../index");
|
|
6
6
|
const getSessionsCollection = () => (0, index_1.getDb)().collection("sessions");
|
|
@@ -36,6 +36,16 @@ const findSessionById = (sessionId, clientId) => {
|
|
|
36
36
|
});
|
|
37
37
|
};
|
|
38
38
|
exports.findSessionById = findSessionById;
|
|
39
|
+
/** Sessions for a client, limited fields used for short-SLA linkedCallSid enrichment. */
|
|
40
|
+
const findSessionsMetaByIdsForClient = async (sessionIds, clientId) => {
|
|
41
|
+
if (!sessionIds.length)
|
|
42
|
+
return [];
|
|
43
|
+
return (0, exports.getSessionsCollection)()
|
|
44
|
+
.find({ _id: { $in: sessionIds }, clientId })
|
|
45
|
+
.project({ _id: 1, metaKeys: 1 })
|
|
46
|
+
.toArray();
|
|
47
|
+
};
|
|
48
|
+
exports.findSessionsMetaByIdsForClient = findSessionsMetaByIdsForClient;
|
|
39
49
|
const findSessionOfIncomingCall = async (from, to) => {
|
|
40
50
|
const toCandidates = buildPhoneCandidates(to);
|
|
41
51
|
const fromCandidates = buildPhoneCandidates(from);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessions.getter.js","sourceRoot":"","sources":["../../../src/talkpilot/sessions/sessions.getter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sessions.getter.js","sourceRoot":"","sources":["../../../src/talkpilot/sessions/sessions.getter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -299,6 +299,20 @@ export const findDepartmentSubjectsByFilter = async (
|
|
|
299
299
|
return getDepartmentsSubjectsCollection().find(filter).toArray();
|
|
300
300
|
};
|
|
301
301
|
|
|
302
|
+
/**
|
|
303
|
+
* Subjects for a city limited to the given sub_subject_ids (call-log ticket enrichment).
|
|
304
|
+
*/
|
|
305
|
+
export const findDepartmentSubjectsByCityAndSubSubjectIds = async (
|
|
306
|
+
cityName: CityName,
|
|
307
|
+
subSubjectIds: string[],
|
|
308
|
+
): Promise<DepartmentSubject[]> => {
|
|
309
|
+
if (!subSubjectIds.length) return [];
|
|
310
|
+
return findDepartmentSubjectsByFilter({
|
|
311
|
+
cityName,
|
|
312
|
+
sub_subject_id: { $in: subSubjectIds },
|
|
313
|
+
});
|
|
314
|
+
};
|
|
315
|
+
|
|
302
316
|
/**
|
|
303
317
|
* Update the isActive flag for a subject
|
|
304
318
|
* @param id - _id of the document to update
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
findTicketsByCallSid,
|
|
3
|
+
findTicketsByCallSids,
|
|
4
|
+
} from "../tickets.getters";
|
|
2
5
|
import { setDb } from "../../index";
|
|
3
6
|
import { Db, Collection } from "mongodb";
|
|
4
7
|
import { createTicket } from "../../../test-utils/factories";
|
|
@@ -27,4 +30,14 @@ describe("tickets getters", () => {
|
|
|
27
30
|
expect(mockCollection.find).toHaveBeenCalledWith({ callSid: "123" });
|
|
28
31
|
expect(result[0].callSid).toBe("123");
|
|
29
32
|
});
|
|
33
|
+
|
|
34
|
+
it("findTicketsByCallSids should query $in and skip empty", async () => {
|
|
35
|
+
expect(await findTicketsByCallSids([])).toEqual([]);
|
|
36
|
+
expect(mockCollection.find).not.toHaveBeenCalled();
|
|
37
|
+
|
|
38
|
+
await findTicketsByCallSids(["123", "456"]);
|
|
39
|
+
expect(mockCollection.find).toHaveBeenCalledWith({
|
|
40
|
+
callSid: { $in: ["123", "456"] },
|
|
41
|
+
});
|
|
42
|
+
});
|
|
30
43
|
});
|
|
@@ -25,6 +25,16 @@ export const findTicketsByCallSid = async (
|
|
|
25
25
|
return await getTicketsCollection().find({ callSid }).toArray();
|
|
26
26
|
};
|
|
27
27
|
|
|
28
|
+
/** Tickets for many calls (e.g. one call-logs page). */
|
|
29
|
+
export const findTicketsByCallSids = async (
|
|
30
|
+
callSids: string[],
|
|
31
|
+
): Promise<Ticket[]> => {
|
|
32
|
+
if (!callSids.length) return [];
|
|
33
|
+
return getTicketsCollection()
|
|
34
|
+
.find({ callSid: { $in: callSids } })
|
|
35
|
+
.toArray();
|
|
36
|
+
};
|
|
37
|
+
|
|
28
38
|
export const getTicketById = async (
|
|
29
39
|
ticketId: string,
|
|
30
40
|
): Promise<Ticket | null> => {
|
|
@@ -4,6 +4,7 @@ import {
|
|
|
4
4
|
getCallsByClient,
|
|
5
5
|
getCallsByPhoneNumber,
|
|
6
6
|
getCallByCallSid,
|
|
7
|
+
findCallByClientAndCallSid,
|
|
7
8
|
findCallsByQuery,
|
|
8
9
|
countCalls,
|
|
9
10
|
getCallsByClientAndDateRange,
|
|
@@ -45,6 +46,19 @@ describe("db.calls", () => {
|
|
|
45
46
|
expect(result?.callSid).toBe(call.callSid);
|
|
46
47
|
});
|
|
47
48
|
|
|
49
|
+
it("should get call by clientId and callSid", async () => {
|
|
50
|
+
const call = createOutGoingCallDoc();
|
|
51
|
+
await createCallDoc(call);
|
|
52
|
+
|
|
53
|
+
const result = await findCallByClientAndCallSid(call.clientId, call.callSid);
|
|
54
|
+
|
|
55
|
+
expect(result).toBeDefined();
|
|
56
|
+
expect(result?.callSid).toBe(call.callSid);
|
|
57
|
+
expect(
|
|
58
|
+
await findCallByClientAndCallSid("other-client", call.callSid),
|
|
59
|
+
).toBeNull();
|
|
60
|
+
});
|
|
61
|
+
|
|
48
62
|
it("should get calls by client", async () => {
|
|
49
63
|
const call = createOutGoingCallDoc();
|
|
50
64
|
await createCallDoc(call);
|
|
@@ -29,6 +29,14 @@ export const getCallByCallSid = (callSid: string) => {
|
|
|
29
29
|
return getCallsCollection().findOne({ callSid });
|
|
30
30
|
};
|
|
31
31
|
|
|
32
|
+
/** Call owned by a specific client (scoped read for dashboard / MIS). */
|
|
33
|
+
export const findCallByClientAndCallSid = (
|
|
34
|
+
clientId: string,
|
|
35
|
+
callSid: string,
|
|
36
|
+
) => {
|
|
37
|
+
return getCallsCollection().findOne({ clientId, callSid });
|
|
38
|
+
};
|
|
39
|
+
|
|
32
40
|
export const getCallsByPhoneNumber = (phoneNumber: string) => {
|
|
33
41
|
return getCallsCollection()
|
|
34
42
|
.find({ customerPhoneNumber: phoneNumber })
|
|
@@ -6,6 +6,9 @@ import {
|
|
|
6
6
|
setContextNoteEntries,
|
|
7
7
|
setContextNoteConfig,
|
|
8
8
|
deleteContextNoteEntry,
|
|
9
|
+
appendContextNoteEntry,
|
|
10
|
+
updateContextNoteEntryFields,
|
|
11
|
+
pullContextNoteEntry,
|
|
9
12
|
} from "../contextNotes.getters";
|
|
10
13
|
import { ObjectId } from "../../index";
|
|
11
14
|
import {
|
|
@@ -203,6 +206,144 @@ describe("contextNotes getters", () => {
|
|
|
203
206
|
expect(saved?.notes[0]._id.toString()).toBe(noteToKeep._id.toString());
|
|
204
207
|
});
|
|
205
208
|
|
|
209
|
+
it("should append one note without replacing the others", async () => {
|
|
210
|
+
const kept = createContextNoteEntry({ title: "kept" });
|
|
211
|
+
const doc = buildContextNote({ notes: [kept] });
|
|
212
|
+
await createContextNote(doc);
|
|
213
|
+
const now = new Date("2026-10-18T12:00:00.000Z");
|
|
214
|
+
|
|
215
|
+
const added = await appendContextNoteEntry(
|
|
216
|
+
doc.clientId,
|
|
217
|
+
doc.product,
|
|
218
|
+
{
|
|
219
|
+
title: "added",
|
|
220
|
+
content: "new content",
|
|
221
|
+
activeFrom: now,
|
|
222
|
+
expiresAt: null,
|
|
223
|
+
},
|
|
224
|
+
now,
|
|
225
|
+
);
|
|
226
|
+
|
|
227
|
+
const saved = await getContextNotesCollection().findOne({
|
|
228
|
+
clientId: doc.clientId,
|
|
229
|
+
product: doc.product,
|
|
230
|
+
});
|
|
231
|
+
expect(saved?.notes).toHaveLength(2);
|
|
232
|
+
expect(saved?.notes[0].title).toBe("added");
|
|
233
|
+
expect(saved?.notes[1]._id.toString()).toBe(kept._id.toString());
|
|
234
|
+
expect(added._id.toString()).toBe(saved?.notes[0]._id.toString());
|
|
235
|
+
expect(added.createdAt).toEqual(now);
|
|
236
|
+
});
|
|
237
|
+
|
|
238
|
+
it("should create the document when appending the first note", async () => {
|
|
239
|
+
const clientId = new ObjectId().toString();
|
|
240
|
+
const now = new Date("2026-10-18T12:00:00.000Z");
|
|
241
|
+
|
|
242
|
+
const added = await appendContextNoteEntry(
|
|
243
|
+
clientId,
|
|
244
|
+
"Municipal",
|
|
245
|
+
{
|
|
246
|
+
title: "first",
|
|
247
|
+
content: "content",
|
|
248
|
+
activeFrom: now,
|
|
249
|
+
expiresAt: null,
|
|
250
|
+
},
|
|
251
|
+
now,
|
|
252
|
+
);
|
|
253
|
+
|
|
254
|
+
const saved = await getContextNotes(clientId, "Municipal");
|
|
255
|
+
expect(saved).toHaveLength(1);
|
|
256
|
+
expect(saved[0].notes).toHaveLength(1);
|
|
257
|
+
expect(saved[0].notes[0]._id.toString()).toBe(added._id.toString());
|
|
258
|
+
});
|
|
259
|
+
|
|
260
|
+
it("should update one note and leave the others unchanged", async () => {
|
|
261
|
+
const kept = createContextNoteEntry({ title: "kept" });
|
|
262
|
+
const target = createContextNoteEntry({ title: "before" });
|
|
263
|
+
const doc = buildContextNote({ notes: [kept, target] });
|
|
264
|
+
await createContextNote(doc);
|
|
265
|
+
const now = new Date("2026-10-18T13:00:00.000Z");
|
|
266
|
+
const activeFrom = new Date("2026-10-01T00:00:00.000Z");
|
|
267
|
+
|
|
268
|
+
const updated = await updateContextNoteEntryFields(
|
|
269
|
+
doc.clientId,
|
|
270
|
+
doc.product,
|
|
271
|
+
target._id,
|
|
272
|
+
{
|
|
273
|
+
title: "after",
|
|
274
|
+
content: "changed",
|
|
275
|
+
activeFrom,
|
|
276
|
+
expiresAt: null,
|
|
277
|
+
},
|
|
278
|
+
now,
|
|
279
|
+
);
|
|
280
|
+
|
|
281
|
+
const saved = await getContextNotesCollection().findOne({
|
|
282
|
+
clientId: doc.clientId,
|
|
283
|
+
product: doc.product,
|
|
284
|
+
});
|
|
285
|
+
expect(updated?.title).toBe("after");
|
|
286
|
+
expect(updated?.updatedAt).toEqual(now);
|
|
287
|
+
expect(saved?.notes).toHaveLength(2);
|
|
288
|
+
expect(saved?.notes[0].title).toBe("kept");
|
|
289
|
+
expect(saved?.notes[1].title).toBe("after");
|
|
290
|
+
expect(saved?.notes[1].content).toBe("changed");
|
|
291
|
+
expect(saved?.notes[1].createdAt).toEqual(target.createdAt);
|
|
292
|
+
});
|
|
293
|
+
|
|
294
|
+
it("should return null when updating a missing note", async () => {
|
|
295
|
+
const doc = buildContextNote({ notes: [createContextNoteEntry()] });
|
|
296
|
+
await createContextNote(doc);
|
|
297
|
+
|
|
298
|
+
const updated = await updateContextNoteEntryFields(
|
|
299
|
+
doc.clientId,
|
|
300
|
+
doc.product,
|
|
301
|
+
new ObjectId(),
|
|
302
|
+
{
|
|
303
|
+
title: "missing",
|
|
304
|
+
content: "missing",
|
|
305
|
+
activeFrom: new Date(),
|
|
306
|
+
expiresAt: null,
|
|
307
|
+
},
|
|
308
|
+
);
|
|
309
|
+
|
|
310
|
+
expect(updated).toBeNull();
|
|
311
|
+
});
|
|
312
|
+
|
|
313
|
+
it("should pull one note and leave the others", async () => {
|
|
314
|
+
const kept = createContextNoteEntry();
|
|
315
|
+
const removed = createContextNoteEntry();
|
|
316
|
+
const doc = buildContextNote({ notes: [kept, removed] });
|
|
317
|
+
await createContextNote(doc);
|
|
318
|
+
|
|
319
|
+
const pulled = await pullContextNoteEntry(
|
|
320
|
+
doc.clientId,
|
|
321
|
+
doc.product,
|
|
322
|
+
removed._id,
|
|
323
|
+
);
|
|
324
|
+
|
|
325
|
+
const saved = await getContextNotesCollection().findOne({
|
|
326
|
+
clientId: doc.clientId,
|
|
327
|
+
product: doc.product,
|
|
328
|
+
});
|
|
329
|
+
expect(pulled).toBe(true);
|
|
330
|
+
expect(saved?.notes).toHaveLength(1);
|
|
331
|
+
expect(saved?.notes[0]._id.toString()).toBe(kept._id.toString());
|
|
332
|
+
});
|
|
333
|
+
|
|
334
|
+
it("should return false when pulling a missing note", async () => {
|
|
335
|
+
const doc = buildContextNote({ notes: [createContextNoteEntry()] });
|
|
336
|
+
await createContextNote(doc);
|
|
337
|
+
|
|
338
|
+
const pulled = await pullContextNoteEntry(
|
|
339
|
+
doc.clientId,
|
|
340
|
+
doc.product,
|
|
341
|
+
new ObjectId(),
|
|
342
|
+
);
|
|
343
|
+
|
|
344
|
+
expect(pulled).toBe(false);
|
|
345
|
+
});
|
|
346
|
+
|
|
206
347
|
it("should return false when deleteContextNoteEntry targets a non-existent note", async () => {
|
|
207
348
|
const doc = buildContextNote({ notes: [] });
|
|
208
349
|
const id = await createContextNote(doc);
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { Collection, ObjectId, WithId } from "mongodb";
|
|
2
2
|
import { getDb } from "../index";
|
|
3
|
-
import type {
|
|
3
|
+
import type {
|
|
4
|
+
ContextNote,
|
|
5
|
+
ContextNoteEntry,
|
|
6
|
+
ContextNoteEntryWrite,
|
|
7
|
+
} from "./contextNotes.types";
|
|
4
8
|
|
|
5
9
|
export const getContextNotesCollection = (): Collection<ContextNote> => {
|
|
6
10
|
return getDb().collection<ContextNote>("contextNotes");
|
|
@@ -71,6 +75,76 @@ export const setContextNoteConfig = async (
|
|
|
71
75
|
return result.matchedCount > 0;
|
|
72
76
|
};
|
|
73
77
|
|
|
78
|
+
const findNoteEntryById = (
|
|
79
|
+
doc: WithId<ContextNote> | null,
|
|
80
|
+
noteId: ObjectId,
|
|
81
|
+
): ContextNoteEntry | null =>
|
|
82
|
+
doc?.notes.find((note) => note._id.equals(noteId)) ?? null;
|
|
83
|
+
|
|
84
|
+
/** Inserts one note at the start. Other notes on the document are left untouched. */
|
|
85
|
+
export const appendContextNoteEntry = async (
|
|
86
|
+
clientId: string,
|
|
87
|
+
product: string,
|
|
88
|
+
entry: ContextNoteEntryWrite,
|
|
89
|
+
now: Date = new Date(),
|
|
90
|
+
): Promise<ContextNoteEntry> => {
|
|
91
|
+
const note: ContextNoteEntry = {
|
|
92
|
+
_id: new ObjectId(),
|
|
93
|
+
title: entry.title,
|
|
94
|
+
content: entry.content,
|
|
95
|
+
activeFrom: entry.activeFrom,
|
|
96
|
+
expiresAt: entry.expiresAt,
|
|
97
|
+
createdAt: now,
|
|
98
|
+
updatedAt: now,
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
const saved = await getContextNotesCollection().findOneAndUpdate(
|
|
102
|
+
{ clientId, product },
|
|
103
|
+
{ $push: { notes: { $each: [note], $position: 0 } } },
|
|
104
|
+
{ upsert: true, returnDocument: "after" },
|
|
105
|
+
);
|
|
106
|
+
|
|
107
|
+
return findNoteEntryById(saved, note._id) ?? note;
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
/** Replaces one note's fields. Other notes on the document are left untouched. */
|
|
111
|
+
export const updateContextNoteEntryFields = async (
|
|
112
|
+
clientId: string,
|
|
113
|
+
product: string,
|
|
114
|
+
noteId: ObjectId,
|
|
115
|
+
entry: ContextNoteEntryWrite,
|
|
116
|
+
now: Date = new Date(),
|
|
117
|
+
): Promise<ContextNoteEntry | null> => {
|
|
118
|
+
const saved = await getContextNotesCollection().findOneAndUpdate(
|
|
119
|
+
{ clientId, product, "notes._id": noteId },
|
|
120
|
+
{
|
|
121
|
+
$set: {
|
|
122
|
+
"notes.$.title": entry.title,
|
|
123
|
+
"notes.$.content": entry.content,
|
|
124
|
+
"notes.$.activeFrom": entry.activeFrom,
|
|
125
|
+
"notes.$.expiresAt": entry.expiresAt,
|
|
126
|
+
"notes.$.updatedAt": now,
|
|
127
|
+
},
|
|
128
|
+
},
|
|
129
|
+
{ returnDocument: "after" },
|
|
130
|
+
);
|
|
131
|
+
|
|
132
|
+
return findNoteEntryById(saved, noteId);
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
/** Removes one note by id. Other notes on the document are left untouched. */
|
|
136
|
+
export const pullContextNoteEntry = async (
|
|
137
|
+
clientId: string,
|
|
138
|
+
product: string,
|
|
139
|
+
noteId: ObjectId,
|
|
140
|
+
): Promise<boolean> => {
|
|
141
|
+
const result = await getContextNotesCollection().updateOne(
|
|
142
|
+
{ clientId, product, "notes._id": noteId },
|
|
143
|
+
{ $pull: { notes: { _id: noteId } } },
|
|
144
|
+
);
|
|
145
|
+
return result.modifiedCount > 0;
|
|
146
|
+
};
|
|
147
|
+
|
|
74
148
|
/** Removes a single note entry from a document by its _id. */
|
|
75
149
|
export const deleteContextNoteEntry = async (
|
|
76
150
|
id: ObjectId,
|
|
@@ -10,6 +10,13 @@ export type ContextNoteEntry = {
|
|
|
10
10
|
updatedAt: Date;
|
|
11
11
|
};
|
|
12
12
|
|
|
13
|
+
export type ContextNoteEntryWrite = {
|
|
14
|
+
title: string;
|
|
15
|
+
content: string;
|
|
16
|
+
activeFrom: Date;
|
|
17
|
+
expiresAt: Date | null;
|
|
18
|
+
};
|
|
19
|
+
|
|
13
20
|
export type ContextNote = {
|
|
14
21
|
_id: ObjectId;
|
|
15
22
|
clientId: string;
|
|
@@ -3,17 +3,6 @@ import { getDb } from "../../index";
|
|
|
3
3
|
import { flowMongoSchema } from "../flows.schema";
|
|
4
4
|
|
|
5
5
|
describe("flowMongoSchema", () => {
|
|
6
|
-
it("defines keypadInput as an optional object", () => {
|
|
7
|
-
const schema: any = flowMongoSchema;
|
|
8
|
-
|
|
9
|
-
expect(schema.properties).toHaveProperty("keypadInput");
|
|
10
|
-
expect(schema.properties.keypadInput.bsonType).toEqual(["object", "null"]);
|
|
11
|
-
expect(schema.properties.keypadInput.properties.enabled.bsonType).toBe(
|
|
12
|
-
"bool",
|
|
13
|
-
);
|
|
14
|
-
expect(schema.required).not.toContain("keypadInput");
|
|
15
|
-
});
|
|
16
|
-
|
|
17
6
|
it("defines disableGenericPrompt as optional bool", () => {
|
|
18
7
|
const schema: any = flowMongoSchema;
|
|
19
8
|
|
|
@@ -13,13 +13,6 @@ export const flowMongoSchema = {
|
|
|
13
13
|
systemInstructions: { bsonType: "string" },
|
|
14
14
|
initialSentence: { bsonType: "string" },
|
|
15
15
|
disableGenericPrompt: { bsonType: "bool" },
|
|
16
|
-
keypadInput: {
|
|
17
|
-
bsonType: ["object", "null"],
|
|
18
|
-
properties: {
|
|
19
|
-
enabled: { bsonType: "bool" },
|
|
20
|
-
},
|
|
21
|
-
additionalProperties: false,
|
|
22
|
-
},
|
|
23
16
|
voice: { bsonType: ["string", "null"] },
|
|
24
17
|
conversationSettings: {
|
|
25
18
|
bsonType: ["object", "null"],
|
|
@@ -46,6 +46,18 @@ export const findSessionById = (
|
|
|
46
46
|
});
|
|
47
47
|
};
|
|
48
48
|
|
|
49
|
+
/** Sessions for a client, limited fields used for short-SLA linkedCallSid enrichment. */
|
|
50
|
+
export const findSessionsMetaByIdsForClient = async (
|
|
51
|
+
sessionIds: ObjectId[],
|
|
52
|
+
clientId: string,
|
|
53
|
+
): Promise<Array<Pick<WithId<Session>, "_id" | "metaKeys">>> => {
|
|
54
|
+
if (!sessionIds.length) return [];
|
|
55
|
+
return getSessionsCollection()
|
|
56
|
+
.find({ _id: { $in: sessionIds }, clientId })
|
|
57
|
+
.project<Pick<WithId<Session>, "_id" | "metaKeys">>({ _id: 1, metaKeys: 1 })
|
|
58
|
+
.toArray();
|
|
59
|
+
};
|
|
60
|
+
|
|
49
61
|
export const findSessionOfIncomingCall = async (from: string, to: string) => {
|
|
50
62
|
const toCandidates = buildPhoneCandidates(to);
|
|
51
63
|
const fromCandidates = buildPhoneCandidates(from);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"subscriptions.utils.d.ts","sourceRoot":"","sources":["../../../src/talkpilot/subscriptions/subscriptions.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,MAAM,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAA6B,MAAM,UAAU,CAAC;AAE7F,eAAO,MAAM,gBAAgB,GAAI,QAAQ,wBAAwB,KAAG,MAAM,CAAC,YAAY,CAetF,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.buildSimpleQuery = void 0;
|
|
4
|
-
const mongodb_1 = require("mongodb");
|
|
5
|
-
const index_1 = require("../index");
|
|
6
|
-
const buildSimpleQuery = (filter) => {
|
|
7
|
-
const query = {};
|
|
8
|
-
if (filter._id) {
|
|
9
|
-
query._id = new mongodb_1.ObjectId(filter._id);
|
|
10
|
-
}
|
|
11
|
-
index_1.simpleFields.forEach((field) => {
|
|
12
|
-
const val = filter[field];
|
|
13
|
-
if (val !== undefined) {
|
|
14
|
-
query[field] = val;
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
return query;
|
|
18
|
-
};
|
|
19
|
-
exports.buildSimpleQuery = buildSimpleQuery;
|
|
20
|
-
//# sourceMappingURL=subscriptions.utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"subscriptions.utils.js","sourceRoot":"","sources":["../../../src/talkpilot/subscriptions/subscriptions.utils.ts"],"names":[],"mappings":";;;AAAA,qCAA2C;AAC3C,oCAA6F;AAEtF,MAAM,gBAAgB,GAAG,CAAC,MAAgC,EAAwB,EAAE;IACzF,MAAM,KAAK,GAAyB,EAAE,CAAC;IAEvC,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;QACf,KAAK,CAAC,GAAG,GAAG,IAAI,kBAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IAED,oBAAY,CAAC,OAAO,CAAC,CAAC,KAAkB,EAAE,EAAE;QAC1C,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,KAAK,CAAC,KAAK,CAAC,GAAG,GAAU,CAAC;QAC5B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAfW,QAAA,gBAAgB,oBAe3B"}
|