@talkpilot/core-db 1.0.19 → 1.0.21

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  # @talkpilot/core-db
2
2
 
3
- [![NPM Version](https://img.shields.io/npm/v/@talkpilot/core-db)](https://www.npmjs.com/package/@talkpilot/core-db)
3
+ [NPM Version](https://www.npmjs.com/package/@talkpilot/core-db)
4
4
 
5
5
  A TypeScript-based core database management package designed to provide centralized database connections, ORM integrations, and client utilities for other projects. This package manages connections to both **TalkPilot** and **Municipal** MongoDB databases.
6
6
 
@@ -67,12 +67,16 @@ async function getSummary() {
67
67
  The package exports two main sets of tools:
68
68
 
69
69
  ### TalkPilot Domain
70
+
70
71
  Includes access to:
72
+
71
73
  - `agents`, `calls`, `clients`, `flows`, `leads`, `phone_numbers`, `plans`, `results`, `sessions`, `subscriptions`, etc.
72
74
  - Exported as root level functions or via `mongodbClient`.
73
75
 
74
76
  ### Municipal Domain
77
+
75
78
  Includes access to:
79
+
76
80
  - `cities`, `streets`, `departmentsSubjects`, `tickets`.
77
81
  - Functions are prefixed where necessary or accessible via `getMunicipalDataDb`.
78
82
 
@@ -88,16 +92,15 @@ The clients will automatically attempt to use the following environment variable
88
92
  ### Setup
89
93
 
90
94
  1. Clone the repository and install dependencies:
91
- ```bash
95
+ ```bash
92
96
  git clone https://github.com/talkpilot/core-db.git
93
97
  cd core-db
94
98
  npm install
95
- ```
96
-
99
+ ```
97
100
  2. Build the project:
98
- ```bash
101
+ ```bash
99
102
  npm run build
100
- ```
103
+ ```
101
104
 
102
105
  This will generate the `dist/` directory with the compiled JavaScript and type definitions.
103
106
 
@@ -106,30 +109,24 @@ This will generate the `dist/` directory with the compiled JavaScript and type d
106
109
  To publish a new version of the package:
107
110
 
108
111
  1. **Test your changes**:
109
- ```bash
112
+ ```bash
110
113
  npm test
111
- ```
112
-
114
+ ```
113
115
  2. **Update the version**:
114
- ```bash
116
+ ```bash
115
117
  # Bumps patch version (0.1.0 -> 0.1.1)
116
118
  npm version patch
117
119
  # Or for minor changes (0.1.0 -> 0.2.0)
118
120
  # npm version minor
119
121
  # Or for major changes (0.1.0 -> 1.0.0)
120
122
  # npm version major
121
- ```
122
-
123
+ ```
123
124
  3. **Publish to npm**:
124
- Ensure you have the shared team token in your `~/.npmrc` (see [Development Guide](./DEVELOPMENT.md#team-access--authentication)).
125
- ```bash
126
- npm publish
127
- ```
128
-
125
+ Ensure you have the shared team token in your `~/.npmrc` (see [Development Guide](./DEVELOPMENT.md#team-access--authentication)).
129
126
  4. **Update in other repos**:
130
- ```bash
127
+ ```bash
131
128
  npm update @talkpilot/core-db
132
- ```
129
+ ```
133
130
 
134
131
  ## License
135
132
 
@@ -142,5 +139,13 @@ MIT
142
139
  ## Release Notes
143
140
 
144
141
  ### 1.0.16
142
+
145
143
  - Fixed critical issues present in version 1.0.15.
146
- - **Warning**: Version 1.0.15 is bugged and should not be used. Please use at least version 1.0.16.
144
+ - **Warning**: Version 1.0.15 is bugged and should not be used. Please use at least version 1.0.16.
145
+
146
+ ### 1.0.20
147
+
148
+ - Added to Moked106Config this param: withNeedAttentionCalls
149
+ - withNeedAttentionCalls?: boolean
150
+
151
+
@@ -21,6 +21,9 @@ export type Ticket = {
21
21
  image1?: string;
22
22
  image2?: string;
23
23
  image3?: string;
24
+ file1?: string;
25
+ file2?: string;
26
+ file3?: string;
24
27
  };
25
28
  guestJwt?: string;
26
29
  };
@@ -1 +1 @@
1
- {"version":3,"file":"tickets.types.d.ts","sourceRoot":"","sources":["../../../src/municipal/tickets/tickets.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAE3C,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AAExC,MAAM,MAAM,MAAM,GAAG;IACnB,GAAG,EAAE,QAAQ,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,kBAAkB,EAAE;QAElB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAEtC,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAEvC,0CAA0C;AAC1C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC"}
1
+ {"version":3,"file":"tickets.types.d.ts","sourceRoot":"","sources":["../../../src/municipal/tickets/tickets.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAE3C,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AAExC,MAAM,MAAM,MAAM,GAAG;IACnB,GAAG,EAAE,QAAQ,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,kBAAkB,EAAE;QAElB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAEtC,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAEvC,0CAA0C;AAC1C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC"}
@@ -18,6 +18,7 @@ export type Moked106Config = {
18
18
  initiate_call_for_short_sla?: InitiateCallForShortSlaConfig;
19
19
  avoidSaveTickets?: boolean;
20
20
  withUploadImagesSms?: boolean;
21
+ withNeedAttentionCalls?: boolean;
21
22
  };
22
23
  /**
23
24
  * Municipal products structure
@@ -1 +1 @@
1
- {"version":3,"file":"clientsConfig.types.d.ts","sourceRoot":"","sources":["../../../src/talkpilot/clientsConfig/clientsConfig.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG;IAC1C,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACnD,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC7B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,2BAA2B,CAAC,EAAE,6BAA6B,CAAC;IAC5D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,IAAI;IACxD,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,CAAC,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"clientsConfig.types.d.ts","sourceRoot":"","sources":["../../../src/talkpilot/clientsConfig/clientsConfig.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG;IAC1C,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACnD,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC7B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,2BAA2B,CAAC,EAAE,6BAA6B,CAAC;IAC5D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,IAAI;IACxD,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,CAAC,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -23,17 +23,47 @@ export declare const flowMongoSchema: {
23
23
  readonly conversationSettings: {
24
24
  readonly bsonType: readonly ["object", "null"];
25
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";
26
+ readonly interruptions: {
27
+ readonly bsonType: readonly ["object", "null"];
28
+ readonly properties: {
29
+ readonly enableInterruptionDetection: {
30
+ readonly bsonType: "bool";
31
+ };
32
+ readonly interruptionWindowSeconds: {
33
+ readonly bsonType: "number";
34
+ };
35
+ readonly interruptionThresholdSeconds: {
36
+ readonly bsonType: "number";
37
+ };
38
+ readonly interruptionInstruction: {
39
+ readonly bsonType: "string";
40
+ };
41
+ };
42
+ readonly additionalProperties: false;
34
43
  };
35
- readonly interruptionThresholdSeconds: {
36
- readonly bsonType: "number";
44
+ readonly silence: {
45
+ readonly bsonType: readonly ["object", "null"];
46
+ readonly properties: {
47
+ readonly enableSilenceDetection: {
48
+ readonly bsonType: "bool";
49
+ };
50
+ readonly firstWarningSilenceSeconds: {
51
+ readonly bsonType: "number";
52
+ };
53
+ readonly firstWarningInstruction: {
54
+ readonly bsonType: "string";
55
+ };
56
+ readonly secondWarningSilenceSeconds: {
57
+ readonly bsonType: "number";
58
+ };
59
+ readonly secondWarningInstruction: {
60
+ readonly bsonType: "string";
61
+ };
62
+ readonly disconnectSilenceSeconds: {
63
+ readonly bsonType: "number";
64
+ };
65
+ };
66
+ readonly additionalProperties: false;
37
67
  };
38
68
  };
39
69
  readonly additionalProperties: false;
@@ -1 +1 @@
1
- {"version":3,"file":"flows.schema.d.ts","sourceRoot":"","sources":["../../../src/talkpilot/flows/flows.schema.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmGlB,CAAC"}
1
+ {"version":3,"file":"flows.schema.d.ts","sourceRoot":"","sources":["../../../src/talkpilot/flows/flows.schema.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqHlB,CAAC"}
@@ -14,10 +14,28 @@ exports.flowMongoSchema = {
14
14
  conversationSettings: {
15
15
  bsonType: ['object', 'null'],
16
16
  properties: {
17
- silenceTimeoutSeconds: { bsonType: 'number' },
18
- enableInterruptionDetection: { bsonType: 'bool' },
19
- interruptionWindowMs: { bsonType: 'number' },
20
- interruptionThresholdSeconds: { bsonType: 'number' },
17
+ interruptions: {
18
+ bsonType: ['object', 'null'],
19
+ properties: {
20
+ enableInterruptionDetection: { bsonType: 'bool' },
21
+ interruptionWindowSeconds: { bsonType: 'number' },
22
+ interruptionThresholdSeconds: { bsonType: 'number' },
23
+ interruptionInstruction: { bsonType: 'string' },
24
+ },
25
+ additionalProperties: false,
26
+ },
27
+ silence: {
28
+ bsonType: ['object', 'null'],
29
+ properties: {
30
+ enableSilenceDetection: { bsonType: 'bool' },
31
+ firstWarningSilenceSeconds: { bsonType: 'number' },
32
+ firstWarningInstruction: { bsonType: 'string' },
33
+ secondWarningSilenceSeconds: { bsonType: 'number' },
34
+ secondWarningInstruction: { bsonType: 'string' },
35
+ disconnectSilenceSeconds: { bsonType: 'number' },
36
+ },
37
+ additionalProperties: false,
38
+ },
21
39
  },
22
40
  additionalProperties: false,
23
41
  },
@@ -1 +1 @@
1
- {"version":3,"file":"flows.schema.js","sourceRoot":"","sources":["../../../src/talkpilot/flows/flows.schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flows.schema.js","sourceRoot":"","sources":["../../../src/talkpilot/flows/flows.schema.ts"],"names":[],"mappings":"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"}
@@ -96,11 +96,24 @@ export type UserProperty = {
96
96
  name: string;
97
97
  description: string;
98
98
  };
99
- export type ConversationSettings = {
100
- silenceTimeoutSeconds?: number;
99
+ export type InterruptionSettings = {
101
100
  enableInterruptionDetection?: boolean;
102
- interruptionWindowMs?: number;
101
+ interruptionWindowSeconds?: number;
103
102
  interruptionThresholdSeconds?: number;
103
+ interruptionInstruction?: string;
104
+ };
105
+ export type SilenceEscalationSettings = {
106
+ enableSilenceDetection?: boolean;
107
+ firstWarningSilenceSeconds?: number;
108
+ firstWarningInstruction?: string;
109
+ secondWarningSilenceSeconds?: number;
110
+ secondWarningInstruction?: string;
111
+ disconnectSilenceSeconds?: number;
112
+ silenceTimeoutSeconds?: number;
113
+ };
114
+ export type ConversationSettings = {
115
+ interruptions?: InterruptionSettings;
116
+ silence?: SilenceEscalationSettings;
104
117
  };
105
118
  export type Flow = {
106
119
  freeTextContent?: string;
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tickets.d.ts","sourceRoot":"","sources":["../../../../src/test-utils/factories/municipal/tickets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAC;AAKvE,eAAO,MAAM,aAAa,2EAcvB,CAAC;AAEJ,wBAAgB,YAAY,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAEhE"}
1
+ {"version":3,"file":"tickets.d.ts","sourceRoot":"","sources":["../../../../src/test-utils/factories/municipal/tickets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAC;AAKvE,eAAO,MAAM,aAAa,2EAoBvB,CAAC;AAEJ,wBAAgB,YAAY,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAEhE"}
@@ -19,6 +19,12 @@ exports.ticketFactory = fishery_1.Factory.define(() => ({
19
19
  house_number: faker_1.faker.location.buildingNumber(),
20
20
  event_subject_id: faker_1.faker.string.numeric(4),
21
21
  event_sub_subject_id: faker_1.faker.string.numeric(4),
22
+ image1: faker_1.faker.image.url(),
23
+ image2: faker_1.faker.image.url(),
24
+ image3: faker_1.faker.image.url(),
25
+ file1: faker_1.faker.system.filePath(),
26
+ file2: faker_1.faker.system.filePath(),
27
+ file3: faker_1.faker.system.filePath(),
22
28
  },
23
29
  }));
24
30
  function createTicket(overrides) {
@@ -1 +1 @@
1
- {"version":3,"file":"tickets.js","sourceRoot":"","sources":["../../../../src/test-utils/factories/municipal/tickets.ts"],"names":[],"mappings":";;;AAwBA,oCAEC;AA1BD,qCAAkC;AAClC,qCAAmC;AACnC,2CAAwC;AAIxC,MAAM,YAAY,GAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;AAEzE,QAAA,aAAa,GAAG,iBAAO,CAAC,MAAM,CAAS,GAAG,EAAE,CAAC,CAAC;IACzD,GAAG,EAAE,IAAI,kBAAQ,EAAE;IACnB,SAAS,EAAE,IAAI,IAAI,EAAE;IACrB,SAAS,EAAE,IAAI,IAAI,EAAE;IACrB,QAAQ,EAAE,aAAK,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC;IAClD,kBAAkB,EAAE;QAClB,UAAU,EAAE,aAAK,CAAC,MAAM,CAAC,SAAS,EAAE;QACpC,SAAS,EAAE,aAAK,CAAC,MAAM,CAAC,QAAQ,EAAE;QAClC,iBAAiB,EAAE,aAAK,CAAC,KAAK,CAAC,QAAQ,EAAE;QACzC,MAAM,EAAE,aAAK,CAAC,QAAQ,CAAC,MAAM,EAAE;QAC/B,YAAY,EAAE,aAAK,CAAC,QAAQ,CAAC,cAAc,EAAE;QAC7C,gBAAgB,EAAE,aAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QACzC,oBAAoB,EAAE,aAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;KAC9C;CACF,CAAC,CAAC,CAAC;AAEJ,SAAgB,YAAY,CAAC,SAA2B;IACtD,OAAO,qBAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"tickets.js","sourceRoot":"","sources":["../../../../src/test-utils/factories/municipal/tickets.ts"],"names":[],"mappings":";;;AA8BA,oCAEC;AAhCD,qCAAkC;AAClC,qCAAmC;AACnC,2CAAwC;AAIxC,MAAM,YAAY,GAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;AAEzE,QAAA,aAAa,GAAG,iBAAO,CAAC,MAAM,CAAS,GAAG,EAAE,CAAC,CAAC;IACzD,GAAG,EAAE,IAAI,kBAAQ,EAAE;IACnB,SAAS,EAAE,IAAI,IAAI,EAAE;IACrB,SAAS,EAAE,IAAI,IAAI,EAAE;IACrB,QAAQ,EAAE,aAAK,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC;IAClD,kBAAkB,EAAE;QAClB,UAAU,EAAE,aAAK,CAAC,MAAM,CAAC,SAAS,EAAE;QACpC,SAAS,EAAE,aAAK,CAAC,MAAM,CAAC,QAAQ,EAAE;QAClC,iBAAiB,EAAE,aAAK,CAAC,KAAK,CAAC,QAAQ,EAAE;QACzC,MAAM,EAAE,aAAK,CAAC,QAAQ,CAAC,MAAM,EAAE;QAC/B,YAAY,EAAE,aAAK,CAAC,QAAQ,CAAC,cAAc,EAAE;QAC7C,gBAAgB,EAAE,aAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QACzC,oBAAoB,EAAE,aAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7C,MAAM,EAAE,aAAK,CAAC,KAAK,CAAC,GAAG,EAAE;QACzB,MAAM,EAAE,aAAK,CAAC,KAAK,CAAC,GAAG,EAAE;QACzB,MAAM,EAAE,aAAK,CAAC,KAAK,CAAC,GAAG,EAAE;QACzB,KAAK,EAAE,aAAK,CAAC,MAAM,CAAC,QAAQ,EAAE;QAC9B,KAAK,EAAE,aAAK,CAAC,MAAM,CAAC,QAAQ,EAAE;QAC9B,KAAK,EAAE,aAAK,CAAC,MAAM,CAAC,QAAQ,EAAE;KAC/B;CACF,CAAC,CAAC,CAAC;AAEJ,SAAgB,YAAY,CAAC,SAA2B;IACtD,OAAO,qBAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AACxC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@talkpilot/core-db",
3
- "version": "1.0.19",
3
+ "version": "1.0.21",
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",
@@ -25,6 +25,9 @@ export type Ticket = {
25
25
  image1?: string;
26
26
  image2?: string;
27
27
  image3?: string;
28
+ file1?: string;
29
+ file2?: string;
30
+ file3?: string;
28
31
  };
29
32
  guestJwt?: string;
30
33
  };
@@ -17,6 +17,7 @@ export type Moked106Config = {
17
17
  initiate_call_for_short_sla?: InitiateCallForShortSlaConfig;
18
18
  avoidSaveTickets?: boolean;
19
19
  withUploadImagesSms?: boolean;
20
+ withNeedAttentionCalls?: boolean;
20
21
  };
21
22
 
22
23
  /**
@@ -14,17 +14,25 @@ describe('flowMongoSchema', () => {
14
14
  const schema: any = flowMongoSchema;
15
15
  const convSettings = schema.properties.conversationSettings.properties;
16
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');
17
+ expect(convSettings).toHaveProperty('interruptions');
18
+ expect(convSettings.interruptions.bsonType).toEqual(['object', 'null']);
19
+
20
+ const interruptions = convSettings.interruptions.properties;
21
+ expect(interruptions.enableInterruptionDetection.bsonType).toEqual('bool');
22
+ expect(interruptions.interruptionWindowSeconds.bsonType).toEqual('number');
23
+ expect(interruptions.interruptionThresholdSeconds.bsonType).toEqual('number');
24
+ expect(interruptions.interruptionInstruction.bsonType).toEqual('string');
25
+
26
+ expect(convSettings).toHaveProperty('silence');
27
+ expect(convSettings.silence.bsonType).toEqual(['object', 'null']);
28
+
29
+ const silence = convSettings.silence.properties;
30
+ expect(silence.enableSilenceDetection.bsonType).toEqual('bool');
31
+ expect(silence.firstWarningSilenceSeconds.bsonType).toEqual('number');
32
+ expect(silence.firstWarningInstruction.bsonType).toEqual('string');
33
+ expect(silence.secondWarningSilenceSeconds.bsonType).toEqual('number');
34
+ expect(silence.secondWarningInstruction.bsonType).toEqual('string');
35
+ expect(silence.disconnectSilenceSeconds.bsonType).toEqual('number');
28
36
  });
29
37
  });
30
38
 
@@ -11,10 +11,28 @@ export const flowMongoSchema = {
11
11
  conversationSettings: {
12
12
  bsonType: ['object', 'null'],
13
13
  properties: {
14
- silenceTimeoutSeconds: { bsonType: 'number' },
15
- enableInterruptionDetection: { bsonType: 'bool' },
16
- interruptionWindowMs: { bsonType: 'number' },
17
- interruptionThresholdSeconds: { bsonType: 'number' },
14
+ interruptions: {
15
+ bsonType: ['object', 'null'],
16
+ properties: {
17
+ enableInterruptionDetection: { bsonType: 'bool' },
18
+ interruptionWindowSeconds: { bsonType: 'number' },
19
+ interruptionThresholdSeconds: { bsonType: 'number' },
20
+ interruptionInstruction: { bsonType: 'string' },
21
+ },
22
+ additionalProperties: false,
23
+ },
24
+ silence: {
25
+ bsonType: ['object', 'null'],
26
+ properties: {
27
+ enableSilenceDetection: { bsonType: 'bool' },
28
+ firstWarningSilenceSeconds: { bsonType: 'number' },
29
+ firstWarningInstruction: { bsonType: 'string' },
30
+ secondWarningSilenceSeconds: { bsonType: 'number' },
31
+ secondWarningInstruction: { bsonType: 'string' },
32
+ disconnectSilenceSeconds: { bsonType: 'number' },
33
+ },
34
+ additionalProperties: false,
35
+ },
18
36
  },
19
37
  additionalProperties: false,
20
38
  },
@@ -124,11 +124,26 @@ export type UserProperty = {
124
124
  description: string;
125
125
  };
126
126
 
127
- export type ConversationSettings = {
128
- silenceTimeoutSeconds?: number;
127
+ export type InterruptionSettings = {
129
128
  enableInterruptionDetection?: boolean;
130
- interruptionWindowMs?: number;
129
+ interruptionWindowSeconds?: number;
131
130
  interruptionThresholdSeconds?: number;
131
+ interruptionInstruction?: string;
132
+ };
133
+
134
+ export type SilenceEscalationSettings = {
135
+ enableSilenceDetection?: boolean;
136
+ firstWarningSilenceSeconds?: number;
137
+ firstWarningInstruction?: string;
138
+ secondWarningSilenceSeconds?: number;
139
+ secondWarningInstruction?: string;
140
+ disconnectSilenceSeconds?: number;
141
+ silenceTimeoutSeconds?: number;
142
+ };
143
+
144
+ export type ConversationSettings = {
145
+ interruptions?: InterruptionSettings;
146
+ silence?: SilenceEscalationSettings;
132
147
  };
133
148
 
134
149
  /* ---------- The Flow object ---------- */
@@ -12,7 +12,25 @@ 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', conversationSettings: { silenceTimeoutSeconds: 60 } });
15
+ const flow = createFlow({
16
+ clientId: 'test-client-id',
17
+ conversationSettings: {
18
+ interruptions: {
19
+ enableInterruptionDetection: true,
20
+ interruptionWindowSeconds: 60,
21
+ interruptionThresholdSeconds: 10,
22
+ interruptionInstruction: 'I am hearing background noise that makes it hard for me to focus on what you are saying. Please try to move to a quieter place or reduce the noise so I can better assist you.',
23
+ },
24
+ silence: {
25
+ enableSilenceDetection: true,
26
+ firstWarningSilenceSeconds: 5,
27
+ firstWarningInstruction: 'I have not heard you for a few seconds. If you are still on the line, please say something so we can continue.',
28
+ secondWarningSilenceSeconds: 10,
29
+ secondWarningInstruction: 'I still have not heard anything from you. If you do not respond in the next few seconds, I will have to end this call.',
30
+ disconnectSilenceSeconds: 30,
31
+ },
32
+ },
33
+ });
16
34
  const phoneData = createPhoneNumber({ flow_id: flow._id, client_id: 'test-client-id' });
17
35
 
18
36
  await getFlowsCollection().insertOne(flow);
@@ -28,7 +46,7 @@ describe('db.phoneNumbers', () => {
28
46
  });
29
47
  // Specifically check if the flow was joined correctly
30
48
  expect(result?.flow.flowName).toBe(flow.flowName);
31
- expect(result?.flow.conversationSettings?.silenceTimeoutSeconds).toBe(60);
49
+ expect(result?.flow.conversationSettings?.silence?.firstWarningSilenceSeconds).toBe(5);
32
50
  });
33
51
  });
34
52
 
@@ -10,7 +10,24 @@ 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({ conversationSettings: { silenceTimeoutSeconds: 60 } });
13
+ const flow = createFlow({
14
+ conversationSettings: {
15
+ interruptions: {
16
+ enableInterruptionDetection: true,
17
+ interruptionWindowSeconds: 60,
18
+ interruptionThresholdSeconds: 10,
19
+ interruptionInstruction: 'I am hearing background noise that makes it hard for me to focus on what you are saying. Please try to move to a quieter place or reduce the noise so I can better assist you.',
20
+ },
21
+ silence: {
22
+ enableSilenceDetection: true,
23
+ firstWarningSilenceSeconds: 5,
24
+ firstWarningInstruction: 'I have not heard you for a few seconds. If you are still on the line, please say something so we can continue.',
25
+ secondWarningSilenceSeconds: 10,
26
+ secondWarningInstruction: 'I still have not heard anything from you. If you do not respond in the next few seconds, I will have to end this call.',
27
+ disconnectSilenceSeconds: 30,
28
+ },
29
+ },
30
+ });
14
31
  const phoneNumberData = createPhoneNumber({ phone_number: to, flow_id: flow._id });
15
32
  const json = { [faker.lorem.word()]: faker.lorem.sentence() };
16
33
 
@@ -19,6 +19,12 @@ export const ticketFactory = Factory.define<Ticket>(() => ({
19
19
  house_number: faker.location.buildingNumber(),
20
20
  event_subject_id: faker.string.numeric(4),
21
21
  event_sub_subject_id: faker.string.numeric(4),
22
+ image1: faker.image.url(),
23
+ image2: faker.image.url(),
24
+ image3: faker.image.url(),
25
+ file1: faker.system.filePath(),
26
+ file2: faker.system.filePath(),
27
+ file3: faker.system.filePath(),
22
28
  },
23
29
  }));
24
30