@talkpilot/core-db 1.0.17 → 1.0.18
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/dist/talkpilot/flows/flows.schema.d.ts +17 -2
- package/dist/talkpilot/flows/flows.schema.d.ts.map +1 -1
- package/dist/talkpilot/flows/flows.schema.js +10 -1
- package/dist/talkpilot/flows/flows.schema.js.map +1 -1
- package/dist/talkpilot/flows/flows.types.d.ts +7 -1
- package/dist/talkpilot/flows/flows.types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/talkpilot/flows/__tests__/flows.schema.spec.ts +21 -4
- package/src/talkpilot/flows/flows.schema.ts +10 -1
- package/src/talkpilot/flows/flows.types.ts +8 -1
- package/src/talkpilot/phone_numbers/__tests__/phone_numbers.spec.ts +2 -2
- package/src/talkpilot/sessions/__tests__/sessions.spec.ts +1 -1
|
@@ -20,8 +20,23 @@ export declare const flowMongoSchema: {
|
|
|
20
20
|
readonly voice: {
|
|
21
21
|
readonly bsonType: readonly ["string", "null"];
|
|
22
22
|
};
|
|
23
|
-
readonly
|
|
24
|
-
readonly bsonType: readonly ["
|
|
23
|
+
readonly conversationSettings: {
|
|
24
|
+
readonly bsonType: readonly ["object", "null"];
|
|
25
|
+
readonly properties: {
|
|
26
|
+
readonly silenceTimeoutSeconds: {
|
|
27
|
+
readonly bsonType: "number";
|
|
28
|
+
};
|
|
29
|
+
readonly enableInterruptionDetection: {
|
|
30
|
+
readonly bsonType: "bool";
|
|
31
|
+
};
|
|
32
|
+
readonly interruptionWindowMs: {
|
|
33
|
+
readonly bsonType: "number";
|
|
34
|
+
};
|
|
35
|
+
readonly interruptionThresholdSeconds: {
|
|
36
|
+
readonly bsonType: "number";
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
readonly additionalProperties: false;
|
|
25
40
|
};
|
|
26
41
|
readonly interactions: {
|
|
27
42
|
readonly bsonType: "array";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flows.schema.d.ts","sourceRoot":"","sources":["../../../src/talkpilot/flows/flows.schema.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"flows.schema.d.ts","sourceRoot":"","sources":["../../../src/talkpilot/flows/flows.schema.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmGlB,CAAC"}
|
|
@@ -11,7 +11,16 @@ exports.flowMongoSchema = {
|
|
|
11
11
|
systemInstructions: { bsonType: 'string' },
|
|
12
12
|
initialSentence: { bsonType: 'string' },
|
|
13
13
|
voice: { bsonType: ['string', 'null'] },
|
|
14
|
-
|
|
14
|
+
conversationSettings: {
|
|
15
|
+
bsonType: ['object', 'null'],
|
|
16
|
+
properties: {
|
|
17
|
+
silenceTimeoutSeconds: { bsonType: 'number' },
|
|
18
|
+
enableInterruptionDetection: { bsonType: 'bool' },
|
|
19
|
+
interruptionWindowMs: { bsonType: 'number' },
|
|
20
|
+
interruptionThresholdSeconds: { bsonType: 'number' },
|
|
21
|
+
},
|
|
22
|
+
additionalProperties: false,
|
|
23
|
+
},
|
|
15
24
|
interactions: {
|
|
16
25
|
bsonType: 'array',
|
|
17
26
|
items: {
|
|
@@ -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,CAAC,UAAU,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,cAAc,CAAC;IAC/E,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,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;QACvC,
|
|
1
|
+
{"version":3,"file":"flows.schema.js","sourceRoot":"","sources":["../../../src/talkpilot/flows/flows.schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -96,6 +96,12 @@ export type UserProperty = {
|
|
|
96
96
|
name: string;
|
|
97
97
|
description: string;
|
|
98
98
|
};
|
|
99
|
+
export type ConversationSettings = {
|
|
100
|
+
silenceTimeoutSeconds?: number;
|
|
101
|
+
enableInterruptionDetection?: boolean;
|
|
102
|
+
interruptionWindowMs?: number;
|
|
103
|
+
interruptionThresholdSeconds?: number;
|
|
104
|
+
};
|
|
99
105
|
export type Flow = {
|
|
100
106
|
freeTextContent?: string;
|
|
101
107
|
isFreeText?: boolean;
|
|
@@ -106,7 +112,7 @@ export type Flow = {
|
|
|
106
112
|
initialSentence: string;
|
|
107
113
|
voice?: string;
|
|
108
114
|
insights: string[];
|
|
109
|
-
|
|
115
|
+
conversationSettings?: ConversationSettings;
|
|
110
116
|
interactions: Interaction[];
|
|
111
117
|
edges?: Edge[] | null;
|
|
112
118
|
metaKeys?: MetaKey[] | null;
|
|
@@ -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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"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,30 @@
|
|
|
1
1
|
import { flowMongoSchema } from '../flows.schema';
|
|
2
2
|
|
|
3
3
|
describe('flowMongoSchema', () => {
|
|
4
|
-
it('defines
|
|
4
|
+
it('defines conversationSettings as optional object or null', () => {
|
|
5
5
|
const schema: any = flowMongoSchema;
|
|
6
6
|
|
|
7
|
-
expect(schema.properties).toHaveProperty('
|
|
8
|
-
expect(schema.properties.
|
|
9
|
-
expect(schema.required).not.toContain('
|
|
7
|
+
expect(schema.properties).toHaveProperty('conversationSettings');
|
|
8
|
+
expect(schema.properties.conversationSettings.bsonType).toEqual(['object', 'null']);
|
|
9
|
+
expect(schema.required).not.toContain('conversationSettings');
|
|
10
10
|
expect(schema.additionalProperties).toBe(false);
|
|
11
11
|
});
|
|
12
|
+
|
|
13
|
+
it('defines conversationSettings with expected nested properties', () => {
|
|
14
|
+
const schema: any = flowMongoSchema;
|
|
15
|
+
const convSettings = schema.properties.conversationSettings.properties;
|
|
16
|
+
|
|
17
|
+
expect(convSettings).toHaveProperty('silenceTimeoutSeconds');
|
|
18
|
+
expect(convSettings.silenceTimeoutSeconds.bsonType).toEqual('number');
|
|
19
|
+
|
|
20
|
+
expect(convSettings).toHaveProperty('enableInterruptionDetection');
|
|
21
|
+
expect(convSettings.enableInterruptionDetection.bsonType).toEqual('bool');
|
|
22
|
+
|
|
23
|
+
expect(convSettings).toHaveProperty('interruptionWindowMs');
|
|
24
|
+
expect(convSettings.interruptionWindowMs.bsonType).toEqual('number');
|
|
25
|
+
|
|
26
|
+
expect(convSettings).toHaveProperty('interruptionThresholdSeconds');
|
|
27
|
+
expect(convSettings.interruptionThresholdSeconds.bsonType).toEqual('number');
|
|
28
|
+
});
|
|
12
29
|
});
|
|
13
30
|
|
|
@@ -8,7 +8,16 @@ export const flowMongoSchema = {
|
|
|
8
8
|
systemInstructions: { bsonType: 'string' },
|
|
9
9
|
initialSentence: { bsonType: 'string' },
|
|
10
10
|
voice: { bsonType: ['string', 'null'] },
|
|
11
|
-
|
|
11
|
+
conversationSettings: {
|
|
12
|
+
bsonType: ['object', 'null'],
|
|
13
|
+
properties: {
|
|
14
|
+
silenceTimeoutSeconds: { bsonType: 'number' },
|
|
15
|
+
enableInterruptionDetection: { bsonType: 'bool' },
|
|
16
|
+
interruptionWindowMs: { bsonType: 'number' },
|
|
17
|
+
interruptionThresholdSeconds: { bsonType: 'number' },
|
|
18
|
+
},
|
|
19
|
+
additionalProperties: false,
|
|
20
|
+
},
|
|
12
21
|
interactions: {
|
|
13
22
|
bsonType: 'array',
|
|
14
23
|
items: {
|
|
@@ -124,6 +124,13 @@ export type UserProperty = {
|
|
|
124
124
|
description: string;
|
|
125
125
|
};
|
|
126
126
|
|
|
127
|
+
export type ConversationSettings = {
|
|
128
|
+
silenceTimeoutSeconds?: number;
|
|
129
|
+
enableInterruptionDetection?: boolean;
|
|
130
|
+
interruptionWindowMs?: number;
|
|
131
|
+
interruptionThresholdSeconds?: number;
|
|
132
|
+
};
|
|
133
|
+
|
|
127
134
|
/* ---------- The Flow object ---------- */
|
|
128
135
|
|
|
129
136
|
export type Flow = {
|
|
@@ -139,7 +146,7 @@ export type Flow = {
|
|
|
139
146
|
voice?: string;
|
|
140
147
|
|
|
141
148
|
insights: string[];
|
|
142
|
-
|
|
149
|
+
conversationSettings?: ConversationSettings;
|
|
143
150
|
|
|
144
151
|
interactions: Interaction[];
|
|
145
152
|
|
|
@@ -12,7 +12,7 @@ import { ObjectId } from 'mongodb';
|
|
|
12
12
|
describe('db.phoneNumbers', () => {
|
|
13
13
|
describe('getPhoneDataByPhoneNumber', () => {
|
|
14
14
|
it('return phone number data with flow', async () => {
|
|
15
|
-
const flow = createFlow({ clientId: 'test-client-id', silenceTimeoutSeconds: 60 });
|
|
15
|
+
const flow = createFlow({ clientId: 'test-client-id', conversationSettings: { silenceTimeoutSeconds: 60 } });
|
|
16
16
|
const phoneData = createPhoneNumber({ flow_id: flow._id, client_id: 'test-client-id' });
|
|
17
17
|
|
|
18
18
|
await getFlowsCollection().insertOne(flow);
|
|
@@ -28,7 +28,7 @@ describe('db.phoneNumbers', () => {
|
|
|
28
28
|
});
|
|
29
29
|
// Specifically check if the flow was joined correctly
|
|
30
30
|
expect(result?.flow.flowName).toBe(flow.flowName);
|
|
31
|
-
expect(result?.flow.silenceTimeoutSeconds).toBe(60);
|
|
31
|
+
expect(result?.flow.conversationSettings?.silenceTimeoutSeconds).toBe(60);
|
|
32
32
|
});
|
|
33
33
|
});
|
|
34
34
|
|
|
@@ -10,7 +10,7 @@ describe('sessions', () => {
|
|
|
10
10
|
it('returns session by incoming phone number', async () => {
|
|
11
11
|
const to = '+972500000000';
|
|
12
12
|
const from = '+972540000000';
|
|
13
|
-
const flow = createFlow({ silenceTimeoutSeconds: 60 });
|
|
13
|
+
const flow = createFlow({ conversationSettings: { silenceTimeoutSeconds: 60 } });
|
|
14
14
|
const phoneNumberData = createPhoneNumber({ phone_number: to, flow_id: flow._id });
|
|
15
15
|
const json = { [faker.lorem.word()]: faker.lorem.sentence() };
|
|
16
16
|
|