@escapenavigator/types 1.10.157 → 1.10.159
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/balance/balance-item-type.enum.d.ts +2 -1
- package/dist/balance/balance-item-type.enum.js +1 -0
- package/dist/location/create-location.dto.d.ts +1 -0
- package/dist/location/create-location.dto.js +6 -0
- package/dist/location/location-light.ro.d.ts +1 -0
- package/dist/location/location-light.ro.js +4 -0
- package/dist/openapi/orders/openapi-create-preorder.dto.d.ts +7 -0
- package/dist/openapi/orders/openapi-create-preorder.dto.js +6 -0
- package/dist/profile/company-ai-context.d.ts +58 -0
- package/dist/profile/company-ai-context.js +2 -0
- package/dist/questroom/create-questroom.dto.d.ts +2 -0
- package/dist/questroom/create-questroom.dto.js +15 -0
- package/dist/questroom/questroom-ai-context.d.ts +94 -0
- package/dist/questroom/questroom-ai-context.js +2 -0
- package/dist/questroom/questroom.ro.d.ts +2 -0
- package/dist/questroom/questroom.ro.js +8 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/widget-chat/enum/widget-chat-conversation-status.enum.d.ts +5 -0
- package/dist/widget-chat/enum/widget-chat-conversation-status.enum.js +12 -0
- package/dist/widget-chat/enum/widget-chat-outcome.enum.d.ts +10 -0
- package/dist/widget-chat/enum/widget-chat-outcome.enum.js +25 -0
- package/dist/widget-chat/enum/widget-chat-resolution-reason.enum.d.ts +8 -0
- package/dist/widget-chat/enum/widget-chat-resolution-reason.enum.js +20 -0
- package/dist/widget-chat/enum/widget-chat-resolved-by.enum.d.ts +6 -0
- package/dist/widget-chat/enum/widget-chat-resolved-by.enum.js +11 -0
- package/dist/widget-chat/enum/widget-chat-satisfaction.enum.d.ts +4 -0
- package/dist/widget-chat/enum/widget-chat-satisfaction.enum.js +9 -0
- package/dist/widget-chat/widget-chat-ai-settings-update.dto.d.ts +12 -0
- package/dist/widget-chat/widget-chat-ai-settings-update.dto.js +73 -0
- package/dist/widget-chat/widget-chat-booking-info.ro.d.ts +9 -0
- package/dist/widget-chat/widget-chat-booking-info.ro.js +2 -0
- package/dist/widget-chat/widget-chat-conversation.ro.d.ts +17 -0
- package/dist/widget-chat/widget-chat-conversations-query.dto.d.ts +2 -0
- package/dist/widget-chat/widget-chat-conversations-query.dto.js +26 -0
- package/dist/widget-chat/widget-chat-conversations.ro.d.ts +10 -0
- package/dist/widget-chat/widget-chat-conversations.ro.js +2 -0
- package/dist/widget-chat/widget-chat-feedback.dto.d.ts +5 -0
- package/dist/widget-chat/widget-chat-feedback.dto.js +33 -0
- package/dist/widget-chat/widget-chat-identify.dto.d.ts +5 -0
- package/dist/widget-chat/widget-chat-identify.dto.js +33 -0
- package/dist/widget-chat/widget-chat-knowledge-save.dto.d.ts +10 -0
- package/dist/widget-chat/widget-chat-knowledge-save.dto.js +54 -0
- package/dist/widget-chat/widget-chat-message.ro.d.ts +11 -0
- package/dist/widget-chat/widget-chat-outcome.util.d.ts +11 -0
- package/dist/widget-chat/widget-chat-outcome.util.js +35 -0
- package/dist/widget-chat/widget-chat-resolution.dto.d.ts +5 -0
- package/dist/widget-chat/widget-chat-resolution.dto.js +33 -0
- package/dist/widget-chat/widget-chat-satisfaction.dto.d.ts +6 -0
- package/dist/widget-chat/widget-chat-satisfaction.dto.js +34 -0
- package/package.json +2 -2
|
@@ -8,4 +8,5 @@ var BalanceItemTypeEnum;
|
|
|
8
8
|
BalanceItemTypeEnum["PAYMENT"] = "payment";
|
|
9
9
|
BalanceItemTypeEnum["CHARGE"] = "charge";
|
|
10
10
|
BalanceItemTypeEnum["AGGREGATOR"] = "aggregator";
|
|
11
|
+
BalanceItemTypeEnum["AI_USAGE"] = "ai_usage";
|
|
11
12
|
})(BalanceItemTypeEnum || (exports.BalanceItemTypeEnum = BalanceItemTypeEnum = {}));
|
|
@@ -107,6 +107,12 @@ __decorate([
|
|
|
107
107
|
(0, class_transformer_1.Expose)(),
|
|
108
108
|
__metadata("design:type", String)
|
|
109
109
|
], CreateLocationDto.prototype, "site", void 0);
|
|
110
|
+
__decorate([
|
|
111
|
+
(0, class_validator_1.IsBoolean)(),
|
|
112
|
+
(0, class_transformer_1.Transform)(({ value }) => value || false),
|
|
113
|
+
(0, class_transformer_1.Expose)(),
|
|
114
|
+
__metadata("design:type", Boolean)
|
|
115
|
+
], CreateLocationDto.prototype, "hideFromChat", void 0);
|
|
110
116
|
__decorate([
|
|
111
117
|
(0, class_validator_1.ValidateIf)((o) => o.waitingArea),
|
|
112
118
|
(0, class_validator_1.IsPositive)(),
|
|
@@ -98,6 +98,10 @@ __decorate([
|
|
|
98
98
|
(0, class_transformer_1.Expose)(),
|
|
99
99
|
__metadata("design:type", String)
|
|
100
100
|
], LocationLightRO.prototype, "site", void 0);
|
|
101
|
+
__decorate([
|
|
102
|
+
(0, class_transformer_1.Expose)(),
|
|
103
|
+
__metadata("design:type", Boolean)
|
|
104
|
+
], LocationLightRO.prototype, "hideFromChat", void 0);
|
|
101
105
|
__decorate([
|
|
102
106
|
(0, class_transformer_1.Expose)(),
|
|
103
107
|
__metadata("design:type", String)
|
|
@@ -47,4 +47,11 @@ export declare class OpenapiCreatePreorderDto extends ClientFormDto {
|
|
|
47
47
|
* — фронт может обработать `errorCodes` отдельным сообщением.
|
|
48
48
|
*/
|
|
49
49
|
promocodeId?: number;
|
|
50
|
+
/**
|
|
51
|
+
* Если бронь оформляется из чат-виджета (клик по слоту, который предложил
|
|
52
|
+
* ИИ), сюда прокидывается id беседы — бэкенд свяжет заказ с диалогом и
|
|
53
|
+
* пометит «начал бронь», а после подтверждения — закроет диалог как
|
|
54
|
+
* решённый через бронирование.
|
|
55
|
+
*/
|
|
56
|
+
conversationId?: number;
|
|
50
57
|
}
|
|
@@ -163,3 +163,9 @@ __decorate([
|
|
|
163
163
|
(0, class_transformer_1.Expose)(),
|
|
164
164
|
__metadata("design:type", Number)
|
|
165
165
|
], OpenapiCreatePreorderDto.prototype, "promocodeId", void 0);
|
|
166
|
+
__decorate([
|
|
167
|
+
(0, class_validator_1.IsOptional)(),
|
|
168
|
+
(0, class_validator_1.IsNumber)(),
|
|
169
|
+
(0, class_transformer_1.Expose)(),
|
|
170
|
+
__metadata("design:type", Number)
|
|
171
|
+
], OpenapiCreatePreorderDto.prototype, "conversationId", void 0);
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { QuestroomCancelationTypeEnum } from '../questroom/enum/questroom-cancelation-type.enum';
|
|
2
|
+
import { Languages } from '../shared/enum/languages.enum';
|
|
3
|
+
import { PrepaymentTypeEnum } from '../slot/enum/prepayment-type.enum';
|
|
4
|
+
/**
|
|
5
|
+
* Живой контекст КОМПАНИИ для ИИ-ассистента чата (всё, что не про конкретный
|
|
6
|
+
* квест): контакты, языки, локации, правила бронирования и часы работы.
|
|
7
|
+
*
|
|
8
|
+
* Собирается на лету (`CompanyAiContextService`) из профиля, локаций,
|
|
9
|
+
* default-правила слотов и расписания — в БД не хранится, всегда актуально.
|
|
10
|
+
* Свободный FAQ (что нельзя вывести из структуры) ведётся вручную в
|
|
11
|
+
* `widget_chat_knowledge` и ищется через searchKnowledge.
|
|
12
|
+
*/
|
|
13
|
+
export type CompanyAiWorkingDay = {
|
|
14
|
+
open: string;
|
|
15
|
+
close: string;
|
|
16
|
+
};
|
|
17
|
+
export type CompanyAiContext = {
|
|
18
|
+
title: string;
|
|
19
|
+
country?: string;
|
|
20
|
+
timeZone?: string;
|
|
21
|
+
languages: Languages[];
|
|
22
|
+
contacts: {
|
|
23
|
+
phone?: string;
|
|
24
|
+
site?: string;
|
|
25
|
+
instagram?: string;
|
|
26
|
+
agreementLink?: string;
|
|
27
|
+
};
|
|
28
|
+
locations: Array<{
|
|
29
|
+
id?: number;
|
|
30
|
+
displayName?: string;
|
|
31
|
+
title?: string;
|
|
32
|
+
address: string;
|
|
33
|
+
city?: string;
|
|
34
|
+
subwayStation?: string | null;
|
|
35
|
+
phone?: string;
|
|
36
|
+
howToFind?: string;
|
|
37
|
+
prepareText?: string;
|
|
38
|
+
timeZone?: string;
|
|
39
|
+
amenities: {
|
|
40
|
+
wifi: boolean;
|
|
41
|
+
wardrobe: boolean;
|
|
42
|
+
freeParking: boolean;
|
|
43
|
+
parking: boolean;
|
|
44
|
+
waitingArea: boolean;
|
|
45
|
+
waitingAreaSize?: number;
|
|
46
|
+
};
|
|
47
|
+
}>;
|
|
48
|
+
booking?: {
|
|
49
|
+
prepaymentType: PrepaymentTypeEnum;
|
|
50
|
+
prepayment: number;
|
|
51
|
+
currency?: string;
|
|
52
|
+
freeCancelHours?: number;
|
|
53
|
+
minBookingHours?: number;
|
|
54
|
+
cancelationRule: QuestroomCancelationTypeEnum;
|
|
55
|
+
clientCanCancel: boolean;
|
|
56
|
+
};
|
|
57
|
+
workingHours?: Partial<Record<'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat' | 'sun', CompanyAiWorkingDay>>;
|
|
58
|
+
};
|
|
@@ -34,6 +34,7 @@ export declare class CreateQuestroomDto {
|
|
|
34
34
|
paypalCashbox: number;
|
|
35
35
|
awailableForWidgets: boolean;
|
|
36
36
|
awailableForNavigator: boolean;
|
|
37
|
+
hideFromChat: boolean;
|
|
37
38
|
time: number;
|
|
38
39
|
ticketSystem: boolean;
|
|
39
40
|
resourceUnitsTotal: number;
|
|
@@ -54,5 +55,6 @@ export declare class CreateQuestroomDto {
|
|
|
54
55
|
flexPlayersSelect?: boolean;
|
|
55
56
|
slotStepMinutes?: number;
|
|
56
57
|
questOpeningDate?: string;
|
|
58
|
+
aiNote?: string;
|
|
57
59
|
}
|
|
58
60
|
export {};
|
|
@@ -176,6 +176,13 @@ __decorate([
|
|
|
176
176
|
(0, class_transformer_1.Expose)(),
|
|
177
177
|
__metadata("design:type", Boolean)
|
|
178
178
|
], CreateQuestroomDto.prototype, "awailableForNavigator", void 0);
|
|
179
|
+
__decorate([
|
|
180
|
+
(0, class_validator_1.IsOptional)(),
|
|
181
|
+
(0, class_validator_1.IsBoolean)(),
|
|
182
|
+
(0, class_transformer_1.Transform)(({ value }) => (value !== undefined ? value : false)),
|
|
183
|
+
(0, class_transformer_1.Expose)(),
|
|
184
|
+
__metadata("design:type", Boolean)
|
|
185
|
+
], CreateQuestroomDto.prototype, "hideFromChat", void 0);
|
|
179
186
|
__decorate([
|
|
180
187
|
(0, class_validator_1.ValidateIf)(lounge_questroom_1.isClassicQuestroomFieldsRequired),
|
|
181
188
|
(0, class_validator_1.IsPositive)(),
|
|
@@ -306,3 +313,11 @@ __decorate([
|
|
|
306
313
|
(0, class_transformer_1.Expose)(),
|
|
307
314
|
__metadata("design:type", String)
|
|
308
315
|
], CreateQuestroomDto.prototype, "questOpeningDate", void 0);
|
|
316
|
+
__decorate([
|
|
317
|
+
(0, class_validator_1.IsOptional)(),
|
|
318
|
+
(0, class_validator_1.IsString)(),
|
|
319
|
+
(0, class_transformer_1.Transform)(({ value }) => value || null),
|
|
320
|
+
(0, class_transformer_1.Expose)(),
|
|
321
|
+
(0, class_validator_1.MaxLength)(2000),
|
|
322
|
+
__metadata("design:type", String)
|
|
323
|
+
], CreateQuestroomDto.prototype, "aiNote", void 0);
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { Languages } from '../shared/enum/languages.enum';
|
|
2
|
+
import { TagsEnum } from '../shared/enum/tags.enum';
|
|
3
|
+
import { QuestroomActorsEnum } from './enum/questroom-actors.enum';
|
|
4
|
+
import { QuestroomTypeEnum } from './enum/questroom-type.enum';
|
|
5
|
+
/**
|
|
6
|
+
* Структурированный контекст квеста для ИИ-ассистента виджет-чата.
|
|
7
|
+
*
|
|
8
|
+
* Собирается «на лету» из `QuestroomEntity` (+ профиль/локация) билдером
|
|
9
|
+
* `buildQuestroomAiContext` — в БД НЕ хранится, поэтому всегда актуален при
|
|
10
|
+
* любом изменении квеста. Единственное, что владелец правит руками, — это
|
|
11
|
+
* `aiNote` («Что учесть перед ответом»), оно живёт на самом квесте.
|
|
12
|
+
*
|
|
13
|
+
* Шкалы (`difficulty`/`fear`) отдаются вместе с максимумом (`X из max`),
|
|
14
|
+
* чтобы модель понимала диапазон, а не абсолютное число. Значения enum'ов
|
|
15
|
+
* расшифровываются глоссарием в системном промпте ассистента.
|
|
16
|
+
*/
|
|
17
|
+
export type QuestroomAiScale = {
|
|
18
|
+
value: number;
|
|
19
|
+
max: number;
|
|
20
|
+
};
|
|
21
|
+
export type QuestroomAiContext = {
|
|
22
|
+
id: number;
|
|
23
|
+
title: string;
|
|
24
|
+
location?: {
|
|
25
|
+
phone?: string;
|
|
26
|
+
address: string;
|
|
27
|
+
city?: string;
|
|
28
|
+
subwayStation?: string | null;
|
|
29
|
+
howToFind?: string;
|
|
30
|
+
prepareText?: string;
|
|
31
|
+
amenities?: {
|
|
32
|
+
wifi: boolean;
|
|
33
|
+
wardrobe: boolean;
|
|
34
|
+
freeParking: boolean;
|
|
35
|
+
parking: boolean;
|
|
36
|
+
waitingArea: boolean;
|
|
37
|
+
waitingAreaSize?: number;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
description?: {
|
|
41
|
+
teaser?: string;
|
|
42
|
+
legend?: string;
|
|
43
|
+
importantInfo?: string;
|
|
44
|
+
};
|
|
45
|
+
gameplay: {
|
|
46
|
+
type: QuestroomTypeEnum;
|
|
47
|
+
tags: TagsEnum[];
|
|
48
|
+
actors: QuestroomActorsEnum;
|
|
49
|
+
difficulty: QuestroomAiScale;
|
|
50
|
+
fear: QuestroomAiScale;
|
|
51
|
+
minAge: number;
|
|
52
|
+
durationMinutes: number;
|
|
53
|
+
playersMin: number;
|
|
54
|
+
playersMax: number;
|
|
55
|
+
};
|
|
56
|
+
price?: {
|
|
57
|
+
min?: number;
|
|
58
|
+
max?: number;
|
|
59
|
+
currency?: string;
|
|
60
|
+
};
|
|
61
|
+
languages?: Languages[];
|
|
62
|
+
booking: {
|
|
63
|
+
isClosed: boolean;
|
|
64
|
+
openingDate?: string;
|
|
65
|
+
};
|
|
66
|
+
media?: {
|
|
67
|
+
mainPhoto?: string;
|
|
68
|
+
photos?: string[];
|
|
69
|
+
video?: string;
|
|
70
|
+
};
|
|
71
|
+
aiNote?: string;
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Компактная карточка квеста для «индекса» — одна строка на квест. Кладётся
|
|
75
|
+
* в системный контекст целиком (все квесты профиля), чтобы модель видела весь
|
|
76
|
+
* ассортимент и ничего не «пропадало» при большом числе квестов. Полный
|
|
77
|
+
* `QuestroomAiContext` модель догружает по id через tool getQuestroomDetails.
|
|
78
|
+
*/
|
|
79
|
+
export type QuestroomAiIndexItem = {
|
|
80
|
+
id: number;
|
|
81
|
+
title: string;
|
|
82
|
+
type: QuestroomTypeEnum;
|
|
83
|
+
playersMin: number;
|
|
84
|
+
playersMax: number;
|
|
85
|
+
minAge: number;
|
|
86
|
+
durationMinutes: number;
|
|
87
|
+
priceMin?: number;
|
|
88
|
+
priceMax?: number;
|
|
89
|
+
currency?: string;
|
|
90
|
+
tags: TagsEnum[];
|
|
91
|
+
languages: Languages[];
|
|
92
|
+
isClosed: boolean;
|
|
93
|
+
locationId?: number;
|
|
94
|
+
};
|
|
@@ -90,3 +90,11 @@ __decorate([
|
|
|
90
90
|
(0, class_transformer_1.Expose)(),
|
|
91
91
|
__metadata("design:type", String)
|
|
92
92
|
], QuestroomRO.prototype, "photoFrame", void 0);
|
|
93
|
+
__decorate([
|
|
94
|
+
(0, class_transformer_1.Expose)(),
|
|
95
|
+
__metadata("design:type", String)
|
|
96
|
+
], QuestroomRO.prototype, "aiNote", void 0);
|
|
97
|
+
__decorate([
|
|
98
|
+
(0, class_transformer_1.Expose)(),
|
|
99
|
+
__metadata("design:type", Boolean)
|
|
100
|
+
], QuestroomRO.prototype, "hideFromChat", void 0);
|