@escapenavigator/types 2.0.19 → 2.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/dist/city-attraction/city-attraction.ro.d.ts +1 -1
- package/dist/city-person/city-person.ro.d.ts +1 -1
- package/dist/city-ready-route/city-ready-route-stop.ro.d.ts +3 -0
- package/dist/city-ready-route/generate-ready-route-stop-audio.dto.d.ts +13 -0
- package/dist/city-ready-route/generate-ready-route-stop-audio.dto.js +45 -0
- package/dist/city-ready-route/ready-route-stop-content.d.ts +8 -6
- package/dist/city-ready-route/upsert-city-ready-route-stop.dto.d.ts +3 -0
- package/dist/city-ready-route/upsert-city-ready-route-stop.dto.js +13 -0
- package/dist/openapi/city-player/city-explore.ro.d.ts +5 -0
- package/dist/openapi/city-player/city-ready-route.ro.d.ts +11 -0
- package/dist/shared/city-pipeline.d.ts +7 -0
- package/dist/shared/city-pipeline.js +6 -0
- package/dist/shared/editorial-research.d.ts +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { CountriesEnum } from '../shared/enum/countries.enum';
|
|
2
1
|
import { EditorialResearch } from '../shared/editorial-research';
|
|
2
|
+
import { CountriesEnum } from '../shared/enum/countries.enum';
|
|
3
3
|
import { ResponseObject } from '../shared/ro';
|
|
4
4
|
import { AttractionRouteMeta } from './attraction-route-meta';
|
|
5
5
|
import { CityAttractionArtifactRO } from './city-attraction-artifact.ro';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AttractionFameEnum } from '../city-attraction/enum/attraction-fame.enum';
|
|
2
|
-
import { CountriesEnum } from '../shared/enum/countries.enum';
|
|
3
2
|
import { EditorialResearch } from '../shared/editorial-research';
|
|
3
|
+
import { CountriesEnum } from '../shared/enum/countries.enum';
|
|
4
4
|
import { ResponseObject } from '../shared/ro';
|
|
5
5
|
import { CityPersonAttractionLinkRO } from './city-person-attraction-link.ro';
|
|
6
6
|
import { CityPersonLocaleRO } from './city-person-locale.ro';
|
|
@@ -7,6 +7,9 @@ export type CityReadyRouteStopLocaleRO = {
|
|
|
7
7
|
stopId: number;
|
|
8
8
|
language: Languages;
|
|
9
9
|
content: ReadyRouteStopContentOverride | null;
|
|
10
|
+
/** Озвучка guideTalk этого стопа (отдельная от аудио самой точки). */
|
|
11
|
+
guideAudioUrl: string | null;
|
|
12
|
+
guideAudioDurationSec: number | null;
|
|
10
13
|
};
|
|
11
14
|
export type CityReadyRouteStopRO = ResponseObject & {
|
|
12
15
|
routeId: number;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { RiddleTtsMoodEnum } from '../questroom-riddle/enum/riddle-tts-mood.enum';
|
|
2
|
+
import { RiddleTtsVoiceEnum } from '../questroom-riddle/enum/riddle-tts-voice.enum';
|
|
3
|
+
import { Languages } from '../shared/enum/languages.enum';
|
|
4
|
+
export declare class GenerateReadyRouteStopAudioDto {
|
|
5
|
+
language: Languages;
|
|
6
|
+
/** Текст для озвучки. Если не передан — берётся guideTalk стопа (override или база атракшена). */
|
|
7
|
+
text?: string;
|
|
8
|
+
voice?: RiddleTtsVoiceEnum;
|
|
9
|
+
mood?: RiddleTtsMoodEnum;
|
|
10
|
+
}
|
|
11
|
+
export type GenerateReadyRouteStopAudioRO = {
|
|
12
|
+
url: string;
|
|
13
|
+
};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.GenerateReadyRouteStopAudioDto = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
const riddle_tts_mood_enum_1 = require("../questroom-riddle/enum/riddle-tts-mood.enum");
|
|
16
|
+
const riddle_tts_voice_enum_1 = require("../questroom-riddle/enum/riddle-tts-voice.enum");
|
|
17
|
+
const languages_enum_1 = require("../shared/enum/languages.enum");
|
|
18
|
+
class GenerateReadyRouteStopAudioDto {
|
|
19
|
+
}
|
|
20
|
+
exports.GenerateReadyRouteStopAudioDto = GenerateReadyRouteStopAudioDto;
|
|
21
|
+
__decorate([
|
|
22
|
+
(0, class_validator_1.IsEnum)(languages_enum_1.Languages),
|
|
23
|
+
(0, class_transformer_1.Expose)(),
|
|
24
|
+
__metadata("design:type", String)
|
|
25
|
+
], GenerateReadyRouteStopAudioDto.prototype, "language", void 0);
|
|
26
|
+
__decorate([
|
|
27
|
+
(0, class_validator_1.IsOptional)(),
|
|
28
|
+
(0, class_validator_1.IsString)(),
|
|
29
|
+
(0, class_validator_1.MinLength)(1),
|
|
30
|
+
(0, class_validator_1.MaxLength)(12000),
|
|
31
|
+
(0, class_transformer_1.Expose)(),
|
|
32
|
+
__metadata("design:type", String)
|
|
33
|
+
], GenerateReadyRouteStopAudioDto.prototype, "text", void 0);
|
|
34
|
+
__decorate([
|
|
35
|
+
(0, class_validator_1.IsOptional)(),
|
|
36
|
+
(0, class_validator_1.IsEnum)(riddle_tts_voice_enum_1.RiddleTtsVoiceEnum),
|
|
37
|
+
(0, class_transformer_1.Expose)(),
|
|
38
|
+
__metadata("design:type", String)
|
|
39
|
+
], GenerateReadyRouteStopAudioDto.prototype, "voice", void 0);
|
|
40
|
+
__decorate([
|
|
41
|
+
(0, class_validator_1.IsOptional)(),
|
|
42
|
+
(0, class_validator_1.IsEnum)(riddle_tts_mood_enum_1.RiddleTtsMoodEnum),
|
|
43
|
+
(0, class_transformer_1.Expose)(),
|
|
44
|
+
__metadata("design:type", String)
|
|
45
|
+
], GenerateReadyRouteStopAudioDto.prototype, "mood", void 0);
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import { AttractionContentCard, AttractionFunFact } from '../city-attraction/attraction-content';
|
|
2
1
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* Route-flavoured override of attraction guide content for a stop.
|
|
3
|
+
*
|
|
4
|
+
* Only the narrative differs between the free-roam attraction and the route
|
|
5
|
+
* stop: hook and guideTalk (route dramaturgy, navigation, cliffhangers).
|
|
6
|
+
* The canonical fact set (cards, funFact, lookFor) always comes from the
|
|
7
|
+
* attraction locale via relation and cannot be overridden — see
|
|
8
|
+
* docs/content-playbook.md, section 2. Null/omitted fields inherit from
|
|
9
|
+
* the attraction locale too.
|
|
5
10
|
*/
|
|
6
11
|
export type ReadyRouteStopContentOverride = {
|
|
7
12
|
hook?: string | null;
|
|
8
|
-
cards?: AttractionContentCard[] | null;
|
|
9
13
|
guideTalk?: string | null;
|
|
10
|
-
funFact?: AttractionFunFact | null;
|
|
11
|
-
lookFor?: string[] | null;
|
|
12
14
|
};
|
|
@@ -4,6 +4,9 @@ import { ReadyRouteStopContentOverride } from './ready-route-stop-content';
|
|
|
4
4
|
export declare class UpsertCityReadyRouteStopLocaleDto {
|
|
5
5
|
language: Languages;
|
|
6
6
|
content?: ReadyRouteStopContentOverride | null;
|
|
7
|
+
/** Озвучка guideTalk этого стопа (отдельная от аудио самой точки). */
|
|
8
|
+
guideAudioUrl?: string | null;
|
|
9
|
+
guideAudioDurationSec?: number | null;
|
|
7
10
|
}
|
|
8
11
|
export declare class UpsertCityReadyRouteStopDto {
|
|
9
12
|
order: number;
|
|
@@ -27,6 +27,19 @@ __decorate([
|
|
|
27
27
|
(0, class_transformer_1.Expose)(),
|
|
28
28
|
__metadata("design:type", Object)
|
|
29
29
|
], UpsertCityReadyRouteStopLocaleDto.prototype, "content", void 0);
|
|
30
|
+
__decorate([
|
|
31
|
+
(0, class_validator_1.IsOptional)(),
|
|
32
|
+
(0, class_validator_1.IsString)(),
|
|
33
|
+
(0, class_transformer_1.Expose)(),
|
|
34
|
+
__metadata("design:type", String)
|
|
35
|
+
], UpsertCityReadyRouteStopLocaleDto.prototype, "guideAudioUrl", void 0);
|
|
36
|
+
__decorate([
|
|
37
|
+
(0, class_validator_1.IsOptional)(),
|
|
38
|
+
(0, class_transformer_1.Type)(() => Number),
|
|
39
|
+
(0, class_validator_1.IsNumber)(),
|
|
40
|
+
(0, class_transformer_1.Expose)(),
|
|
41
|
+
__metadata("design:type", Number)
|
|
42
|
+
], UpsertCityReadyRouteStopLocaleDto.prototype, "guideAudioDurationSec", void 0);
|
|
30
43
|
class UpsertCityReadyRouteStopDto {
|
|
31
44
|
}
|
|
32
45
|
exports.UpsertCityReadyRouteStopDto = UpsertCityReadyRouteStopDto;
|
|
@@ -89,6 +89,11 @@ export type CityPlayerAttractionMapItemRO = {
|
|
|
89
89
|
cards: CityPlayerAttractionCardRO[];
|
|
90
90
|
funFact: CityPlayerAttractionFunFactRO | null;
|
|
91
91
|
lookFor: string[];
|
|
92
|
+
/**
|
|
93
|
+
* Нормированная значимость места 0..1 (fame + mustSee + wow).
|
|
94
|
+
* Управляет размером маркера на карте: топ-вехи крупнее.
|
|
95
|
+
*/
|
|
96
|
+
importance: number;
|
|
92
97
|
/** Люди, связанные с этим местом (для маркеров рядом с точкой). */
|
|
93
98
|
people: CityPlayerAttractionPersonRO[];
|
|
94
99
|
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AttractionContent } from '../../city-attraction/attraction-content';
|
|
2
|
+
import { CityPlayerAttractionPersonRO } from './city-explore.ro';
|
|
2
3
|
export type CityPlayerReadyRouteListItemRO = {
|
|
3
4
|
routeId: number;
|
|
4
5
|
title: string;
|
|
@@ -29,6 +30,16 @@ export type CityPlayerReadyRouteStopRO = {
|
|
|
29
30
|
blurb: string | null;
|
|
30
31
|
/** Full guide content after unlock; null when locked or waypoint. */
|
|
31
32
|
content: AttractionContent | null;
|
|
33
|
+
/** Озвучка guideTalk стопа (маршрутная, не аудио самой точки). */
|
|
34
|
+
guideAudioUrl: string | null;
|
|
35
|
+
guideAudioDurationSec: number | null;
|
|
36
|
+
/**
|
|
37
|
+
* Нормированная значимость места 0..1 (fame + mustSee + wow).
|
|
38
|
+
* Управляет размером маркера на карте: топ-вехи крупнее.
|
|
39
|
+
*/
|
|
40
|
+
importance: number;
|
|
41
|
+
/** Личности, связанные с точкой стопа. */
|
|
42
|
+
people: CityPlayerAttractionPersonRO[];
|
|
32
43
|
};
|
|
33
44
|
export type CityPlayerReadyRouteDetailRO = {
|
|
34
45
|
routeId: number;
|
|
@@ -13,6 +13,13 @@ export declare class StartCityPipelineDto {
|
|
|
13
13
|
* (по умолчанию генерим RU + EN).
|
|
14
14
|
*/
|
|
15
15
|
withEnglish?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* false — режим «скелет»: только импорт → ресёрч → триаж → обогащение →
|
|
18
|
+
* автосвязи, без генерации текстов (content-ru/content-en). Используется,
|
|
19
|
+
* когда тексты пишет редактор/агент по плейбуку, а конвейер отвечает
|
|
20
|
+
* только за инвентаризацию города. По умолчанию true (старое поведение).
|
|
21
|
+
*/
|
|
22
|
+
withContent?: boolean;
|
|
16
23
|
/**
|
|
17
24
|
* @deprecated Use withEnglish. Kept for older admin clients:
|
|
18
25
|
* withRussian=false means skip non-base localization (EN).
|
|
@@ -40,6 +40,12 @@ __decorate([
|
|
|
40
40
|
(0, class_transformer_1.Expose)(),
|
|
41
41
|
__metadata("design:type", Boolean)
|
|
42
42
|
], StartCityPipelineDto.prototype, "withEnglish", void 0);
|
|
43
|
+
__decorate([
|
|
44
|
+
(0, class_validator_1.IsOptional)(),
|
|
45
|
+
(0, class_validator_1.IsBoolean)(),
|
|
46
|
+
(0, class_transformer_1.Expose)(),
|
|
47
|
+
__metadata("design:type", Boolean)
|
|
48
|
+
], StartCityPipelineDto.prototype, "withContent", void 0);
|
|
43
49
|
__decorate([
|
|
44
50
|
(0, class_validator_1.IsOptional)(),
|
|
45
51
|
(0, class_validator_1.IsBoolean)(),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { PersonAttractionRoleEnum } from '../city-person/enum/person-attraction-role.enum';
|
|
1
2
|
import { PersonDomainEnum } from '../city-person/enum/person-domain.enum';
|
|
2
3
|
import { PersonOccupationEnum } from '../city-person/enum/person-occupation.enum';
|
|
3
|
-
import { PersonAttractionRoleEnum } from '../city-person/enum/person-attraction-role.enum';
|
|
4
4
|
export declare const EDITORIAL_RESEARCH_PROMPT_VERSION = "editorial-research-v2";
|
|
5
5
|
export type EditorialSource = {
|
|
6
6
|
kind: 'wikipedia' | 'web' | 'wikidata' | 'manual' | 'other';
|