@yartsun/chat-widget-types 1.0.2 → 1.0.5

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.
Files changed (47) hide show
  1. package/README.md +214 -115
  2. package/dist/config.types.d.ts +111 -44
  3. package/dist/config.types.d.ts.map +1 -1
  4. package/dist/config.types.js +2 -67
  5. package/dist/config.types.js.map +1 -1
  6. package/dist/index.d.ts +6 -0
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +5 -0
  9. package/dist/index.js.map +1 -1
  10. package/dist/migration/commands.d.ts +59 -0
  11. package/dist/migration/commands.d.ts.map +1 -0
  12. package/dist/migration/commands.js +286 -0
  13. package/dist/migration/commands.js.map +1 -0
  14. package/dist/migration/examples.d.ts +198 -0
  15. package/dist/migration/examples.d.ts.map +1 -0
  16. package/dist/migration/examples.js +439 -0
  17. package/dist/migration/examples.js.map +1 -0
  18. package/dist/migration/facade.d.ts +85 -0
  19. package/dist/migration/facade.d.ts.map +1 -0
  20. package/dist/migration/facade.js +168 -0
  21. package/dist/migration/facade.js.map +1 -0
  22. package/dist/migration/migrator.d.ts +49 -0
  23. package/dist/migration/migrator.d.ts.map +1 -0
  24. package/dist/migration/migrator.js +245 -0
  25. package/dist/migration/migrator.js.map +1 -0
  26. package/dist/migration/strategies.d.ts +85 -0
  27. package/dist/migration/strategies.d.ts.map +1 -0
  28. package/dist/migration/strategies.js +217 -0
  29. package/dist/migration/strategies.js.map +1 -0
  30. package/dist/migration/types.d.ts +196 -0
  31. package/dist/migration/types.d.ts.map +1 -0
  32. package/dist/migration/types.js +5 -0
  33. package/dist/migration/types.js.map +1 -0
  34. package/dist/utils.d.ts +1 -11
  35. package/dist/utils.d.ts.map +1 -1
  36. package/dist/utils.js +3 -127
  37. package/dist/utils.js.map +1 -1
  38. package/package.json +13 -4
  39. package/src/config.types.ts +132 -118
  40. package/src/index.ts +26 -0
  41. package/src/migration/commands.ts +314 -0
  42. package/src/migration/examples.ts +471 -0
  43. package/src/migration/facade.ts +196 -0
  44. package/src/migration/migrator.ts +361 -0
  45. package/src/migration/strategies.ts +249 -0
  46. package/src/migration/types.ts +182 -0
  47. package/src/utils.ts +3 -143
@@ -1,68 +1,3 @@
1
- /**
2
- * Типы для конфигурации виджета чата
3
- */
4
- // Экспорт дефолтной конфигурации (для типизации)
5
- export const DEFAULT_CONFIG = {
6
- settings: {
7
- widgetTitle: 'HyperShadow',
8
- welcomeMessage: '🖖 Hi there — I’m your assistant for finding documents, tracking access, and making sense of your files. \n\nHow can I help?',
9
- bgChat: 'rgba(47, 47, 49, 0.90)',
10
- gapMessageLine: 12,
11
- paddingChat: 8,
12
- fontFamily: 'MacPaw Fixel',
13
- borderRadius: 'lg',
14
- launchView: 'closed',
15
- letterSpacing: 0,
16
- logo: '',
17
- },
18
- sections: {
19
- top: {
20
- params: {
21
- size: 'md',
22
- },
23
- chipWidgetTitle: {
24
- color: '#BEB6E9',
25
- bgColor: '#5E4AC6',
26
- },
27
- btnClose: {
28
- color: '#BBBBBD',
29
- bgColor: '#2F2F31',
30
- },
31
- },
32
- inside: {
33
- params: {
34
- size: 'md',
35
- },
36
- messageUser: {
37
- color: '#F9F8F8',
38
- bgColor: '#F8F8F933',
39
- },
40
- messageBot: {
41
- color: '#fff',
42
- bgColor: '#5E4AC6',
43
- },
44
- welcomeMessage: {
45
- color: '#fff',
46
- },
47
- },
48
- bottom: {
49
- params: {
50
- size: 'sm',
51
- },
52
- inputSend: {
53
- color: '#EEECEC',
54
- bgColor: '#1E1E1E',
55
- },
56
- btnSend: {
57
- color: '#1E1E1E',
58
- bgColor: 'rgba(255, 255, 255, 0.50)',
59
- type: 'both',
60
- },
61
- activeBtn: {
62
- color: '#fff',
63
- bgColor: '#F8F8F933',
64
- },
65
- },
66
- },
67
- };
1
+ import config from '../examples/configV2.json';
2
+ export const DEFAULT_CONFIG = config;
68
3
  //# sourceMappingURL=config.types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.types.js","sourceRoot":"","sources":["../src/config.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAiHH,iDAAiD;AACjD,MAAM,CAAC,MAAM,cAAc,GAAiB;IAC1C,QAAQ,EAAE;QACR,WAAW,EAAE,aAAa;QAC1B,cAAc,EACZ,8HAA8H;QAChI,MAAM,EAAE,wBAAwB;QAChC,cAAc,EAAE,EAAE;QAClB,WAAW,EAAE,CAAC;QACd,UAAU,EAAE,cAAc;QAC1B,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,QAAQ;QACpB,aAAa,EAAE,CAAC;QAChB,IAAI,EAAE,EAAE;KACT;IACD,QAAQ,EAAE;QACR,GAAG,EAAE;YACH,MAAM,EAAE;gBACN,IAAI,EAAE,IAAI;aACX;YACD,eAAe,EAAE;gBACf,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,SAAS;aACnB;YACD,QAAQ,EAAE;gBACR,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,SAAS;aACnB;SACF;QACD,MAAM,EAAE;YACN,MAAM,EAAE;gBACN,IAAI,EAAE,IAAI;aACX;YACD,WAAW,EAAE;gBACX,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,WAAW;aACrB;YACD,UAAU,EAAE;gBACV,KAAK,EAAE,MAAM;gBACb,OAAO,EAAE,SAAS;aACnB;YACD,cAAc,EAAE;gBACd,KAAK,EAAE,MAAM;aACd;SACF;QACD,MAAM,EAAE;YACN,MAAM,EAAE;gBACN,IAAI,EAAE,IAAI;aACX;YACD,SAAS,EAAE;gBACT,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,SAAS;aACnB;YACD,OAAO,EAAE;gBACP,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,2BAA2B;gBACpC,IAAI,EAAE,MAAM;aACb;YACD,SAAS,EAAE;gBACT,KAAK,EAAE,MAAM;gBACb,OAAO,EAAE,WAAW;aACrB;SACF;KACF;CACF,CAAA"}
1
+ {"version":3,"file":"config.types.js","sourceRoot":"","sources":["../src/config.types.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,2BAA2B,CAAA;AAsM9C,MAAM,CAAC,MAAM,cAAc,GAAiB,MAAsB,CAAA"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,9 @@
1
1
  export * from './config.types';
2
2
  export * from './utils';
3
+ export { ConfigVersion, MigrationResult, MigrationContext, MigrationOptions, MigrationStrategy, MigrationStepResult, MigrationCommand, VersionDetector, ConfigValidator, ConfigSchema as MigrationConfigSchema, MigrationReport, MigrationLogger, ConfigV1, ConfigV2, ConfigByVersion, ConfigFactory, } from './migration/types';
4
+ export * from './migration/strategies';
5
+ export * from './migration/commands';
6
+ export * from './migration/migrator';
7
+ export * from './migration/facade';
8
+ export * from './migration/examples';
3
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,SAAS,CAAA;AAIvB,OAAO,EACL,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,YAAY,IAAI,qBAAqB,EACrC,eAAe,EACf,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,aAAa,GACd,MAAM,mBAAmB,CAAA;AAC1B,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA"}
package/dist/index.js CHANGED
@@ -1,3 +1,8 @@
1
1
  export * from './config.types';
2
2
  export * from './utils';
3
+ export * from './migration/strategies';
4
+ export * from './migration/commands';
5
+ export * from './migration/migrator';
6
+ export * from './migration/facade';
7
+ export * from './migration/examples';
3
8
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,SAAS,CAAA;AAsBvB,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Команды для системы миграции конфигураций
3
+ */
4
+ import { MigrationCommand, MigrationStepResult, ConfigVersion, VersionDetector, ConfigValidator } from './types';
5
+ /** Команда детекции версии конфигурации */
6
+ export declare class DetectVersionCommand implements MigrationCommand {
7
+ name: string;
8
+ description: string;
9
+ execute(config: any): MigrationStepResult;
10
+ }
11
+ /** Команда валидации конфигурации */
12
+ export declare class ValidateConfigCommand implements MigrationCommand {
13
+ name: string;
14
+ description: string;
15
+ execute(config: any, options: {
16
+ version: ConfigVersion;
17
+ }): MigrationStepResult;
18
+ }
19
+ /** Команда очистки конфигурации от неизвестных полей */
20
+ export declare class CleanConfigCommand implements MigrationCommand {
21
+ name: string;
22
+ description: string;
23
+ execute(config: any, options: {
24
+ version: ConfigVersion;
25
+ preserveUnknown?: boolean;
26
+ }): MigrationStepResult;
27
+ private cleanConfigForVersion;
28
+ }
29
+ /** Команда создания резервной копии */
30
+ export declare class BackupConfigCommand implements MigrationCommand {
31
+ name: string;
32
+ description: string;
33
+ execute(config: any, options?: {
34
+ timestamp?: boolean;
35
+ }): MigrationStepResult;
36
+ }
37
+ /** Дефолтный детектор версий */
38
+ export declare class DefaultVersionDetector implements VersionDetector {
39
+ detect(config: any): ConfigVersion | null;
40
+ }
41
+ /** Дефолтный валидатор конфигураций */
42
+ export declare class DefaultConfigValidator implements ConfigValidator {
43
+ validate(config: any, version: ConfigVersion): {
44
+ isValid: boolean;
45
+ errors: string[];
46
+ warnings: string[];
47
+ };
48
+ private validateV1;
49
+ private validateV2;
50
+ private getNestedValue;
51
+ }
52
+ /** Фабрика команд */
53
+ export declare class CommandFactory {
54
+ private static commands;
55
+ static createCommand(name: string): MigrationCommand | null;
56
+ static getAllCommands(): string[];
57
+ static registerCommand(name: string, factory: () => MigrationCommand): void;
58
+ }
59
+ //# sourceMappingURL=commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/migration/commands.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,eAAe,EAChB,MAAM,SAAS,CAAA;AAGhB,2CAA2C;AAC3C,qBAAa,oBAAqB,YAAW,gBAAgB;IAC3D,IAAI,SAAkB;IACtB,WAAW,SAAmC;IAE9C,OAAO,CAAC,MAAM,EAAE,GAAG,GAAG,mBAAmB;CA8B1C;AAED,qCAAqC;AACrC,qBAAa,qBAAsB,YAAW,gBAAgB;IAC5D,IAAI,SAAmB;IACvB,WAAW,SAAiD;IAE5D,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE;QAAE,OAAO,EAAE,aAAa,CAAA;KAAE,GAAG,mBAAmB;CAqB/E;AAED,wDAAwD;AACxD,qBAAa,kBAAmB,YAAW,gBAAgB;IACzD,IAAI,SAAgB;IACpB,WAAW,SAAmE;IAE9E,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE;QAAE,OAAO,EAAE,aAAa,CAAC;QAAC,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,mBAAmB;IAgCzG,OAAO,CAAC,qBAAqB;CAK9B;AAED,uCAAuC;AACvC,qBAAa,mBAAoB,YAAW,gBAAgB;IAC1D,IAAI,SAAiB;IACrB,WAAW,SAAyC;IAEpD,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,mBAAmB;CAyB7E;AAED,gCAAgC;AAChC,qBAAa,sBAAuB,YAAW,eAAe;IAC5D,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,aAAa,GAAG,IAAI;CA6C1C;AAED,uCAAuC;AACvC,qBAAa,sBAAuB,YAAW,eAAe;IAC5D,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE;IAgDzG,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,UAAU;IAmBlB,OAAO,CAAC,cAAc;CAGvB;AAED,qBAAqB;AACrB,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAKrB;IAEF,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IAK3D,MAAM,CAAC,cAAc,IAAI,MAAM,EAAE;IAIjC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,gBAAgB,GAAG,IAAI;CAG5E"}
@@ -0,0 +1,286 @@
1
+ /**
2
+ * Команды для системы миграции конфигураций
3
+ */
4
+ // Команды для системы миграции конфигураций
5
+ /** Команда детекции версии конфигурации */
6
+ export class DetectVersionCommand {
7
+ constructor() {
8
+ this.name = 'DetectVersion';
9
+ this.description = 'Определяет версию конфигурации';
10
+ }
11
+ execute(config) {
12
+ try {
13
+ const detector = new DefaultVersionDetector();
14
+ const version = detector.detect(config);
15
+ if (!version) {
16
+ return {
17
+ success: false,
18
+ errors: ['Не удалось определить версию конфигурации'],
19
+ warnings: [],
20
+ modified: false
21
+ };
22
+ }
23
+ return {
24
+ success: true,
25
+ data: { version, config },
26
+ errors: [],
27
+ warnings: [],
28
+ modified: false
29
+ };
30
+ }
31
+ catch (error) {
32
+ return {
33
+ success: false,
34
+ errors: [`Ошибка при детекции версии: ${error}`],
35
+ warnings: [],
36
+ modified: false
37
+ };
38
+ }
39
+ }
40
+ }
41
+ /** Команда валидации конфигурации */
42
+ export class ValidateConfigCommand {
43
+ constructor() {
44
+ this.name = 'ValidateConfig';
45
+ this.description = 'Валидирует конфигурацию для указанной версии';
46
+ }
47
+ execute(config, options) {
48
+ try {
49
+ const validator = new DefaultConfigValidator();
50
+ const result = validator.validate(config, options.version);
51
+ return {
52
+ success: result.isValid,
53
+ data: { validationResult: result, config },
54
+ errors: result.errors,
55
+ warnings: result.warnings,
56
+ modified: false
57
+ };
58
+ }
59
+ catch (error) {
60
+ return {
61
+ success: false,
62
+ errors: [`Ошибка при валидации: ${error}`],
63
+ warnings: [],
64
+ modified: false
65
+ };
66
+ }
67
+ }
68
+ }
69
+ /** Команда очистки конфигурации от неизвестных полей */
70
+ export class CleanConfigCommand {
71
+ constructor() {
72
+ this.name = 'CleanConfig';
73
+ this.description = 'Очищает конфигурацию от неизвестных полей для указанной версии';
74
+ }
75
+ execute(config, options) {
76
+ try {
77
+ if (options.preserveUnknown) {
78
+ return {
79
+ success: true,
80
+ data: config,
81
+ errors: [],
82
+ warnings: ['Очистка пропущена - preserveUnknown: true'],
83
+ modified: false
84
+ };
85
+ }
86
+ // Здесь можно реализовать логику очистки на основе схем
87
+ const cleanedConfig = this.cleanConfigForVersion(config, options.version);
88
+ return {
89
+ success: true,
90
+ data: cleanedConfig,
91
+ errors: [],
92
+ warnings: ['Конфигурация очищена от неизвестных полей'],
93
+ modified: true
94
+ };
95
+ }
96
+ catch (error) {
97
+ return {
98
+ success: false,
99
+ errors: [`Ошибка при очистке конфигурации: ${error}`],
100
+ warnings: [],
101
+ modified: false
102
+ };
103
+ }
104
+ }
105
+ cleanConfigForVersion(config, _version) {
106
+ // Базовая реализация - возвращаем как есть
107
+ // В реальном проекте здесь была бы логика очистки на основе схем
108
+ return { ...config };
109
+ }
110
+ }
111
+ /** Команда создания резервной копии */
112
+ export class BackupConfigCommand {
113
+ constructor() {
114
+ this.name = 'BackupConfig';
115
+ this.description = 'Создает резервную копию конфигурации';
116
+ }
117
+ execute(config, options) {
118
+ try {
119
+ const timestamp = options?.timestamp ? Date.now() : undefined;
120
+ const backup = {
121
+ original: JSON.parse(JSON.stringify(config)),
122
+ timestamp: timestamp || Date.now(),
123
+ version: new DefaultVersionDetector().detect(config)
124
+ };
125
+ return {
126
+ success: true,
127
+ data: { backup, config },
128
+ errors: [],
129
+ warnings: [],
130
+ modified: false
131
+ };
132
+ }
133
+ catch (error) {
134
+ return {
135
+ success: false,
136
+ errors: [`Ошибка при создании резервной копии: ${error}`],
137
+ warnings: [],
138
+ modified: false
139
+ };
140
+ }
141
+ }
142
+ }
143
+ /** Дефолтный детектор версий */
144
+ export class DefaultVersionDetector {
145
+ detect(config) {
146
+ try {
147
+ // Проверяем структуру для определения версии
148
+ if (!config || !config.settings || !config.sections) {
149
+ return null;
150
+ }
151
+ // V2 признаки: наличие новых полей
152
+ const hasV2Features = [
153
+ config.settings.loader !== undefined,
154
+ config.settings.buttonStyle !== undefined,
155
+ config.settings.buttonType !== undefined,
156
+ config.sections.top.params?.chipStyle !== undefined,
157
+ config.sections.inside.messageUser?.bgType !== undefined,
158
+ config.sections.inside.aprooveButton !== undefined,
159
+ config.sections.bottom.inputSend?.borderStyle !== undefined,
160
+ config.sections.bottom.warningAlert !== undefined,
161
+ config.sections.bottom.disclaimer !== undefined
162
+ ];
163
+ // Если есть хотя бы 3 признака V2, считаем это V2
164
+ const v2FeaturesCount = hasV2Features.filter(Boolean).length;
165
+ if (v2FeaturesCount >= 3) {
166
+ return '2.0';
167
+ }
168
+ // Базовая проверка на V1
169
+ const hasV1Structure = [
170
+ config.settings.widgetTitle !== undefined,
171
+ config.settings.bgChat !== undefined,
172
+ config.sections.top !== undefined,
173
+ config.sections.inside !== undefined,
174
+ config.sections.bottom !== undefined
175
+ ].every(Boolean);
176
+ if (hasV1Structure) {
177
+ return '1.0';
178
+ }
179
+ return null;
180
+ }
181
+ catch (error) {
182
+ console.error('Ошибка при детекции версии:', error);
183
+ return null;
184
+ }
185
+ }
186
+ }
187
+ /** Дефолтный валидатор конфигураций */
188
+ export class DefaultConfigValidator {
189
+ validate(config, version) {
190
+ const errors = [];
191
+ const warnings = [];
192
+ try {
193
+ if (!config) {
194
+ errors.push('Конфигурация не может быть пустой');
195
+ return { isValid: false, errors, warnings };
196
+ }
197
+ // Базовая валидация структуры
198
+ if (!config.settings) {
199
+ errors.push('Отсутствует секция settings');
200
+ }
201
+ if (!config.sections) {
202
+ errors.push('Отсутствует секция sections');
203
+ }
204
+ if (config.sections) {
205
+ if (!config.sections.top)
206
+ errors.push('Отсутствует секция sections.top');
207
+ if (!config.sections.inside)
208
+ errors.push('Отсутствует секция sections.inside');
209
+ if (!config.sections.bottom)
210
+ errors.push('Отсутствует секция sections.bottom');
211
+ }
212
+ // Версионная валидация
213
+ switch (version) {
214
+ case '1.0':
215
+ this.validateV1(config, errors, warnings);
216
+ break;
217
+ case '2.0':
218
+ this.validateV2(config, errors, warnings);
219
+ break;
220
+ default:
221
+ warnings.push(`Валидация для версии ${version} не реализована`);
222
+ }
223
+ return {
224
+ isValid: errors.length === 0,
225
+ errors,
226
+ warnings
227
+ };
228
+ }
229
+ catch (error) {
230
+ errors.push(`Ошибка при валидации: ${error}`);
231
+ return { isValid: false, errors, warnings };
232
+ }
233
+ }
234
+ validateV1(config, errors, _warnings) {
235
+ // Проверяем обязательные поля V1
236
+ const requiredV1Fields = [
237
+ 'settings.widgetTitle',
238
+ 'settings.welcomeMessage',
239
+ 'settings.bgChat'
240
+ ];
241
+ for (const field of requiredV1Fields) {
242
+ if (!this.getNestedValue(config, field)) {
243
+ errors.push(`Отсутствует обязательное поле: ${field}`);
244
+ }
245
+ }
246
+ }
247
+ validateV2(config, errors, warnings) {
248
+ // Сначала валидируем как V1
249
+ this.validateV1(config, errors, warnings);
250
+ // Дополнительные проверки для V2
251
+ const expectedV2Fields = [
252
+ 'settings.loader',
253
+ 'settings.buttonStyle',
254
+ 'sections.inside.aprooveButton',
255
+ 'sections.bottom.warningAlert'
256
+ ];
257
+ for (const field of expectedV2Fields) {
258
+ if (!this.getNestedValue(config, field)) {
259
+ warnings.push(`Рекомендуется добавить поле V2: ${field}`);
260
+ }
261
+ }
262
+ }
263
+ getNestedValue(obj, path) {
264
+ return path.split('.').reduce((current, key) => current?.[key], obj);
265
+ }
266
+ }
267
+ /** Фабрика команд */
268
+ export class CommandFactory {
269
+ static createCommand(name) {
270
+ const factory = this.commands.get(name);
271
+ return factory ? factory() : null;
272
+ }
273
+ static getAllCommands() {
274
+ return Array.from(this.commands.keys());
275
+ }
276
+ static registerCommand(name, factory) {
277
+ this.commands.set(name, factory);
278
+ }
279
+ }
280
+ CommandFactory.commands = new Map([
281
+ ['DetectVersion', () => new DetectVersionCommand()],
282
+ ['ValidateConfig', () => new ValidateConfigCommand()],
283
+ ['CleanConfig', () => new CleanConfigCommand()],
284
+ ['BackupConfig', () => new BackupConfigCommand()]
285
+ ]);
286
+ //# sourceMappingURL=commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/migration/commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,198 @@
1
+ /**
2
+ * Примеры использования системы миграции конфигураций
3
+ */
4
+ import { ConfigV1, ConfigV2 } from './types';
5
+ /** Пример простой миграции V1 -> V2 */
6
+ export declare function exampleSimpleMigration(): Promise<ConfigV2 | null>;
7
+ /** Пример детальной миграции с отчетами */
8
+ export declare function exampleDetailedMigration(): Promise<ConfigV2 | null | undefined>;
9
+ /** Пример пакетной миграции нескольких конфигураций */
10
+ export declare function exampleBatchMigration(): Promise<({
11
+ id: string;
12
+ originalVersion: "1.0";
13
+ migrated: boolean;
14
+ result: ConfigV2 | null;
15
+ } | {
16
+ id: string;
17
+ originalVersion: "2.0";
18
+ migrated: boolean;
19
+ result: {
20
+ settings: {
21
+ widgetTitle: string;
22
+ welcomeMessage: string;
23
+ bgChat: string;
24
+ gapMessageLine: number;
25
+ paddingChat: number;
26
+ fontFamily: string;
27
+ borderRadius: string;
28
+ launchView: string;
29
+ letterSpacing: number;
30
+ logo: string;
31
+ fontWeight: number;
32
+ loader?: undefined;
33
+ buttonStyle?: undefined;
34
+ buttonType?: undefined;
35
+ };
36
+ sections: {
37
+ top: {
38
+ params: {
39
+ size: string;
40
+ chipStyle?: undefined;
41
+ };
42
+ chipWidgetTitle: {
43
+ color: string;
44
+ bgColor: string;
45
+ };
46
+ btnClose: {
47
+ color: string;
48
+ bgColor: string;
49
+ };
50
+ };
51
+ inside: {
52
+ params: {
53
+ size: string;
54
+ };
55
+ messageUser: {
56
+ color: string;
57
+ bgColor: string;
58
+ bgType?: undefined;
59
+ };
60
+ messageBot: {
61
+ color: string;
62
+ bgColor: string;
63
+ bgType?: undefined;
64
+ };
65
+ welcomeMessage: {
66
+ color: string;
67
+ };
68
+ aprooveButton?: undefined;
69
+ rejectButton?: undefined;
70
+ };
71
+ bottom: {
72
+ params: {
73
+ size: string;
74
+ };
75
+ inputSend: {
76
+ color: string;
77
+ bgColor: string;
78
+ borderStyle?: undefined;
79
+ inputStyle?: undefined;
80
+ bgType?: undefined;
81
+ };
82
+ btnSend: {
83
+ color: string;
84
+ bgColor: string;
85
+ type: string;
86
+ };
87
+ activeBtn: {
88
+ color: string;
89
+ bgColor: string;
90
+ };
91
+ warningAlert?: undefined;
92
+ disclaimer?: undefined;
93
+ };
94
+ };
95
+ } | {
96
+ settings: {
97
+ widgetTitle: string;
98
+ welcomeMessage: string;
99
+ bgChat: string;
100
+ gapMessageLine: number;
101
+ paddingChat: number;
102
+ fontFamily: string;
103
+ borderRadius: string;
104
+ launchView: string;
105
+ letterSpacing: number;
106
+ logo: string;
107
+ fontWeight: number;
108
+ loader: string;
109
+ buttonStyle: string;
110
+ buttonType: string;
111
+ };
112
+ sections: {
113
+ top: {
114
+ params: {
115
+ size: string;
116
+ chipStyle: string;
117
+ };
118
+ chipWidgetTitle: {
119
+ color: string;
120
+ bgColor: string;
121
+ };
122
+ btnClose: {
123
+ color: string;
124
+ bgColor: string;
125
+ };
126
+ };
127
+ inside: {
128
+ params: {
129
+ size: string;
130
+ };
131
+ messageUser: {
132
+ color: string;
133
+ bgColor: string;
134
+ bgType: string;
135
+ };
136
+ messageBot: {
137
+ color: string;
138
+ bgColor: string;
139
+ bgType: string;
140
+ };
141
+ welcomeMessage: {
142
+ color: string;
143
+ };
144
+ aprooveButton: {
145
+ color: string;
146
+ bgColor: string;
147
+ };
148
+ rejectButton: {
149
+ color: string;
150
+ bgColor: string;
151
+ };
152
+ };
153
+ bottom: {
154
+ params: {
155
+ size: string;
156
+ };
157
+ inputSend: {
158
+ color: string;
159
+ bgColor: string;
160
+ borderStyle: {
161
+ borderColor: string;
162
+ borderWidth: number;
163
+ };
164
+ inputStyle: string;
165
+ bgType: string;
166
+ };
167
+ btnSend: {
168
+ color: string;
169
+ bgColor: string;
170
+ type: string;
171
+ };
172
+ activeBtn: {
173
+ color: string;
174
+ bgColor: string;
175
+ };
176
+ warningAlert: {
177
+ color: string;
178
+ bgColor: string;
179
+ };
180
+ disclaimer: string;
181
+ };
182
+ };
183
+ };
184
+ } | {
185
+ id: string;
186
+ originalVersion: "3.0" | null;
187
+ migrated: boolean;
188
+ result: null;
189
+ })[]>;
190
+ /** Пример с обработкой ошибок */
191
+ export declare function exampleErrorHandling(): Promise<void>;
192
+ /** Демонстрация всех примеров */
193
+ export declare function runAllExamples(): Promise<void>;
194
+ export declare const SAMPLE_CONFIGS: {
195
+ V1_BASIC: ConfigV1;
196
+ V2_COMPLETE: ConfigV2;
197
+ };
198
+ //# sourceMappingURL=examples.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"examples.d.ts","sourceRoot":"","sources":["../../src/migration/examples.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAE5C,uCAAuC;AACvC,wBAAsB,sBAAsB,6BAuD3C;AAED,2CAA2C;AAC3C,wBAAsB,wBAAwB,yCAsE7C;AAED,uDAAuD;AACvD,wBAAsB,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA0I1C;AAED,iCAAiC;AACjC,wBAAsB,oBAAoB,kBAsCzC;AAED,iCAAiC;AACjC,wBAAsB,cAAc,kBAanC;AAGD,eAAO,MAAM,cAAc;cAkCpB,QAAQ;iBA6FR,QAAQ;CACd,CAAA"}