pixivflow 2.0.38 → 2.0.40

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 (213) hide show
  1. package/dist/cli/ArgumentParser.d.ts +2 -20
  2. package/dist/cli/ArgumentParser.d.ts.map +1 -1
  3. package/dist/cli/ArgumentParser.js +16 -29
  4. package/dist/cli/ArgumentParser.js.map +1 -1
  5. package/dist/commands/BackupCommand.d.ts +6 -0
  6. package/dist/commands/BackupCommand.d.ts.map +1 -1
  7. package/dist/commands/BackupCommand.js +6 -0
  8. package/dist/commands/BackupCommand.js.map +1 -1
  9. package/dist/commands/Command.d.ts +16 -0
  10. package/dist/commands/Command.d.ts.map +1 -1
  11. package/dist/commands/Command.js +9 -0
  12. package/dist/commands/Command.js.map +1 -1
  13. package/dist/commands/CommandRegistry.d.ts +24 -0
  14. package/dist/commands/CommandRegistry.d.ts.map +1 -1
  15. package/dist/commands/CommandRegistry.js +48 -0
  16. package/dist/commands/CommandRegistry.js.map +1 -1
  17. package/dist/commands/ConfigCommand.d.ts +6 -0
  18. package/dist/commands/ConfigCommand.d.ts.map +1 -1
  19. package/dist/commands/ConfigCommand.js +6 -0
  20. package/dist/commands/ConfigCommand.js.map +1 -1
  21. package/dist/commands/DirsCommand.d.ts +6 -0
  22. package/dist/commands/DirsCommand.d.ts.map +1 -1
  23. package/dist/commands/DirsCommand.js +6 -0
  24. package/dist/commands/DirsCommand.js.map +1 -1
  25. package/dist/commands/DownloadCommand.d.ts +6 -0
  26. package/dist/commands/DownloadCommand.d.ts.map +1 -1
  27. package/dist/commands/DownloadCommand.js +57 -3
  28. package/dist/commands/DownloadCommand.js.map +1 -1
  29. package/dist/commands/HealthCommand.d.ts +7 -0
  30. package/dist/commands/HealthCommand.d.ts.map +1 -1
  31. package/dist/commands/HealthCommand.js +7 -0
  32. package/dist/commands/HealthCommand.js.map +1 -1
  33. package/dist/commands/HelpCommand.d.ts +7 -0
  34. package/dist/commands/HelpCommand.d.ts.map +1 -1
  35. package/dist/commands/HelpCommand.js +22 -29
  36. package/dist/commands/HelpCommand.js.map +1 -1
  37. package/dist/commands/LoginCommand.d.ts +7 -0
  38. package/dist/commands/LoginCommand.d.ts.map +1 -1
  39. package/dist/commands/LoginCommand.js +7 -0
  40. package/dist/commands/LoginCommand.js.map +1 -1
  41. package/dist/commands/LoginHeadlessCommand.d.ts +7 -0
  42. package/dist/commands/LoginHeadlessCommand.d.ts.map +1 -1
  43. package/dist/commands/LoginHeadlessCommand.js +7 -0
  44. package/dist/commands/LoginHeadlessCommand.js.map +1 -1
  45. package/dist/commands/LogsCommand.d.ts +6 -0
  46. package/dist/commands/LogsCommand.d.ts.map +1 -1
  47. package/dist/commands/LogsCommand.js +6 -0
  48. package/dist/commands/LogsCommand.js.map +1 -1
  49. package/dist/commands/MaintainCommand.d.ts +6 -0
  50. package/dist/commands/MaintainCommand.d.ts.map +1 -1
  51. package/dist/commands/MaintainCommand.js +6 -0
  52. package/dist/commands/MaintainCommand.js.map +1 -1
  53. package/dist/commands/MigrateConfigCommand.d.ts +6 -0
  54. package/dist/commands/MigrateConfigCommand.d.ts.map +1 -1
  55. package/dist/commands/MigrateConfigCommand.js +6 -0
  56. package/dist/commands/MigrateConfigCommand.js.map +1 -1
  57. package/dist/commands/MonitorCommand.d.ts +6 -0
  58. package/dist/commands/MonitorCommand.d.ts.map +1 -1
  59. package/dist/commands/MonitorCommand.js +6 -0
  60. package/dist/commands/MonitorCommand.js.map +1 -1
  61. package/dist/commands/NormalizeCommand.d.ts +6 -0
  62. package/dist/commands/NormalizeCommand.d.ts.map +1 -1
  63. package/dist/commands/NormalizeCommand.js +6 -0
  64. package/dist/commands/NormalizeCommand.js.map +1 -1
  65. package/dist/commands/RandomDownloadCommand.d.ts +7 -1
  66. package/dist/commands/RandomDownloadCommand.d.ts.map +1 -1
  67. package/dist/commands/RandomDownloadCommand.js +7 -1
  68. package/dist/commands/RandomDownloadCommand.js.map +1 -1
  69. package/dist/commands/RefreshCommand.d.ts +12 -0
  70. package/dist/commands/RefreshCommand.d.ts.map +1 -1
  71. package/dist/commands/RefreshCommand.js +82 -0
  72. package/dist/commands/RefreshCommand.js.map +1 -1
  73. package/dist/commands/SchedulerCommand.d.ts +6 -0
  74. package/dist/commands/SchedulerCommand.d.ts.map +1 -1
  75. package/dist/commands/SchedulerCommand.js +7 -1
  76. package/dist/commands/SchedulerCommand.js.map +1 -1
  77. package/dist/commands/SetupCommand.d.ts +6 -0
  78. package/dist/commands/SetupCommand.d.ts.map +1 -1
  79. package/dist/commands/SetupCommand.js +6 -0
  80. package/dist/commands/SetupCommand.js.map +1 -1
  81. package/dist/commands/StatusCommand.d.ts +6 -0
  82. package/dist/commands/StatusCommand.d.ts.map +1 -1
  83. package/dist/commands/StatusCommand.js +6 -0
  84. package/dist/commands/StatusCommand.js.map +1 -1
  85. package/dist/commands/VersionCommand.d.ts +21 -0
  86. package/dist/commands/VersionCommand.d.ts.map +1 -0
  87. package/dist/commands/VersionCommand.js +81 -0
  88. package/dist/commands/VersionCommand.js.map +1 -0
  89. package/dist/commands/WebUICommand.d.ts +6 -0
  90. package/dist/commands/WebUICommand.d.ts.map +1 -1
  91. package/dist/commands/WebUICommand.js +6 -0
  92. package/dist/commands/WebUICommand.js.map +1 -1
  93. package/dist/commands/index.d.ts +2 -1
  94. package/dist/commands/index.d.ts.map +1 -1
  95. package/dist/commands/index.js +4 -1
  96. package/dist/commands/index.js.map +1 -1
  97. package/dist/commands/metadata.d.ts +38 -0
  98. package/dist/commands/metadata.d.ts.map +1 -0
  99. package/dist/commands/metadata.js +42 -0
  100. package/dist/commands/metadata.js.map +1 -0
  101. package/dist/commands/suggestions.d.ts +22 -0
  102. package/dist/commands/suggestions.d.ts.map +1 -0
  103. package/dist/commands/suggestions.js +85 -0
  104. package/dist/commands/suggestions.js.map +1 -0
  105. package/dist/config/validation.d.ts.map +1 -1
  106. package/dist/config/validation.js +11 -3
  107. package/dist/config/validation.js.map +1 -1
  108. package/dist/index.js +126 -320
  109. package/dist/index.js.map +1 -1
  110. package/dist/package.json +1 -1
  111. package/dist/pixiv/AuthClient.d.ts.map +1 -1
  112. package/dist/pixiv/AuthClient.js +56 -7
  113. package/dist/pixiv/AuthClient.js.map +1 -1
  114. package/dist/storage/Database.d.ts +22 -0
  115. package/dist/storage/Database.d.ts.map +1 -1
  116. package/dist/storage/Database.js +19 -0
  117. package/dist/storage/Database.js.map +1 -1
  118. package/dist/storage/DatabaseMigration.d.ts.map +1 -1
  119. package/dist/storage/DatabaseMigration.js +29 -0
  120. package/dist/storage/DatabaseMigration.js.map +1 -1
  121. package/dist/storage/repositories/TaskHistoryRepository.d.ts +61 -0
  122. package/dist/storage/repositories/TaskHistoryRepository.d.ts.map +1 -0
  123. package/dist/storage/repositories/TaskHistoryRepository.js +171 -0
  124. package/dist/storage/repositories/TaskHistoryRepository.js.map +1 -0
  125. package/dist/utils/errors.d.ts +14 -0
  126. package/dist/utils/errors.d.ts.map +1 -1
  127. package/dist/utils/errors.js +35 -12
  128. package/dist/utils/errors.js.map +1 -1
  129. package/dist/utils/pixiv-url-parser.d.ts +7 -1
  130. package/dist/utils/pixiv-url-parser.d.ts.map +1 -1
  131. package/dist/utils/pixiv-url-parser.js +75 -8
  132. package/dist/utils/pixiv-url-parser.js.map +1 -1
  133. package/dist/utils/token-manager.d.ts.map +1 -1
  134. package/dist/utils/token-manager.js +73 -5
  135. package/dist/utils/token-manager.js.map +1 -1
  136. package/dist/webui/package.json +1 -1
  137. package/dist/webui/routes/download.d.ts.map +1 -1
  138. package/dist/webui/routes/download.js +2 -0
  139. package/dist/webui/routes/download.js.map +1 -1
  140. package/dist/webui/routes/handlers/download-basic-handlers.d.ts +11 -0
  141. package/dist/webui/routes/handlers/download-basic-handlers.d.ts.map +1 -1
  142. package/dist/webui/routes/handlers/download-basic-handlers.js +199 -8
  143. package/dist/webui/routes/handlers/download-basic-handlers.js.map +1 -1
  144. package/dist/webui/services/DownloadTaskManager.d.ts.map +1 -1
  145. package/dist/webui/services/DownloadTaskManager.js +75 -3
  146. package/dist/webui/services/DownloadTaskManager.js.map +1 -1
  147. package/package.json +1 -1
  148. package/dist/webui/assets/ActionButton-DWq-fh3_.js +0 -2
  149. package/dist/webui/assets/ActionButton-DWq-fh3_.js.map +0 -1
  150. package/dist/webui/assets/CheckCircleOutlined-Can0-7ew.js +0 -2
  151. package/dist/webui/assets/CheckCircleOutlined-Can0-7ew.js.map +0 -1
  152. package/dist/webui/assets/CloseCircleOutlined-DfRmL2eG.js +0 -2
  153. package/dist/webui/assets/CloseCircleOutlined-DfRmL2eG.js.map +0 -1
  154. package/dist/webui/assets/Config-D9TWUGQR.js +0 -16
  155. package/dist/webui/assets/Config-D9TWUGQR.js.map +0 -1
  156. package/dist/webui/assets/Dashboard-CaGAH0y2.js +0 -2
  157. package/dist/webui/assets/Dashboard-CaGAH0y2.js.map +0 -1
  158. package/dist/webui/assets/DeleteOutlined-u-P2SpoK.js +0 -2
  159. package/dist/webui/assets/DeleteOutlined-u-P2SpoK.js.map +0 -1
  160. package/dist/webui/assets/Download-D9E4xrnM.js +0 -2
  161. package/dist/webui/assets/Download-D9E4xrnM.js.map +0 -1
  162. package/dist/webui/assets/Files-CKyc_PdW.js +0 -5
  163. package/dist/webui/assets/Files-CKyc_PdW.js.map +0 -1
  164. package/dist/webui/assets/PictureOutlined-C8Lbucj1.js +0 -2
  165. package/dist/webui/assets/PictureOutlined-C8Lbucj1.js.map +0 -1
  166. package/dist/webui/assets/SortDescendingOutlined-CR-hdhyW.js +0 -2
  167. package/dist/webui/assets/SortDescendingOutlined-CR-hdhyW.js.map +0 -1
  168. package/dist/webui/assets/ThunderboltOutlined-CiiB2de5.js +0 -2
  169. package/dist/webui/assets/ThunderboltOutlined-CiiB2de5.js.map +0 -1
  170. package/dist/webui/assets/UrlDownload-ClkUOXN_.js +0 -3
  171. package/dist/webui/assets/UrlDownload-ClkUOXN_.js.map +0 -1
  172. package/dist/webui/assets/dateUtils-CBk8bEa_.js +0 -2
  173. package/dist/webui/assets/dateUtils-CBk8bEa_.js.map +0 -1
  174. package/dist/webui/assets/errorCodeTranslator-DWsWq6B3.js +0 -3
  175. package/dist/webui/assets/errorCodeTranslator-DWsWq6B3.js.map +0 -1
  176. package/dist/webui/assets/index-BFgUdwJv.js +0 -214
  177. package/dist/webui/assets/index-BFgUdwJv.js.map +0 -1
  178. package/dist/webui/assets/index-CN3FylAF.js +0 -2
  179. package/dist/webui/assets/index-CN3FylAF.js.map +0 -1
  180. package/dist/webui/assets/index-CSoUPZat.js +0 -2
  181. package/dist/webui/assets/index-CSoUPZat.js.map +0 -1
  182. package/dist/webui/assets/index-CiHwNwrk.js +0 -19
  183. package/dist/webui/assets/index-CiHwNwrk.js.map +0 -1
  184. package/dist/webui/assets/index-DHwJxrFi.css +0 -1
  185. package/dist/webui/assets/index-DTU-FGA4.js +0 -2
  186. package/dist/webui/assets/index-DTU-FGA4.js.map +0 -1
  187. package/dist/webui/assets/index-DjpD0HQ5.js +0 -2
  188. package/dist/webui/assets/index-DjpD0HQ5.js.map +0 -1
  189. package/dist/webui/assets/index-Dycn6xoz.js +0 -2
  190. package/dist/webui/assets/index-Dycn6xoz.js.map +0 -1
  191. package/dist/webui/assets/index-G0EJCamt.js +0 -22
  192. package/dist/webui/assets/index-G0EJCamt.js.map +0 -1
  193. package/dist/webui/assets/index-WaraZQH0.js +0 -2
  194. package/dist/webui/assets/index-WaraZQH0.js.map +0 -1
  195. package/dist/webui/assets/index-k2rGFxEM.js +0 -8
  196. package/dist/webui/assets/index-k2rGFxEM.js.map +0 -1
  197. package/dist/webui/assets/index-lwTtspUb.js +0 -14
  198. package/dist/webui/assets/index-lwTtspUb.js.map +0 -1
  199. package/dist/webui/assets/index-pT0W4KjK.js +0 -47
  200. package/dist/webui/assets/index-pT0W4KjK.js.map +0 -1
  201. package/dist/webui/assets/index-wvielV9A.js +0 -2
  202. package/dist/webui/assets/index-wvielV9A.js.map +0 -1
  203. package/dist/webui/assets/row-FRqVdQDX.js +0 -20
  204. package/dist/webui/assets/row-FRqVdQDX.js.map +0 -1
  205. package/dist/webui/assets/useAuth-BMt6dHSB.js +0 -9
  206. package/dist/webui/assets/useAuth-BMt6dHSB.js.map +0 -1
  207. package/dist/webui/assets/useConfig-29Ugtjk4.js +0 -9
  208. package/dist/webui/assets/useConfig-29Ugtjk4.js.map +0 -1
  209. package/dist/webui/assets/useDownload-Dt6lsP8S.js +0 -2
  210. package/dist/webui/assets/useDownload-Dt6lsP8S.js.map +0 -1
  211. package/dist/webui/assets/useErrorHandler-DWHs3RlU.js +0 -84
  212. package/dist/webui/assets/useErrorHandler-DWHs3RlU.js.map +0 -1
  213. package/dist/webui/index.html +0 -15
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ /**
3
+ * Command suggestion system using Levenshtein distance
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.levenshteinDistance = levenshteinDistance;
7
+ exports.findSimilarCommands = findSimilarCommands;
8
+ exports.formatSuggestions = formatSuggestions;
9
+ /**
10
+ * Calculate Levenshtein distance between two strings
11
+ * Used for finding similar command names
12
+ */
13
+ function levenshteinDistance(str1, str2) {
14
+ const len1 = str1.length;
15
+ const len2 = str2.length;
16
+ const matrix = [];
17
+ // Initialize matrix
18
+ for (let i = 0; i <= len1; i++) {
19
+ matrix[i] = [i];
20
+ }
21
+ for (let j = 0; j <= len2; j++) {
22
+ matrix[0][j] = j;
23
+ }
24
+ // Fill matrix
25
+ for (let i = 1; i <= len1; i++) {
26
+ for (let j = 1; j <= len2; j++) {
27
+ const cost = str1[i - 1] === str2[j - 1] ? 0 : 1;
28
+ matrix[i][j] = Math.min(matrix[i - 1][j] + 1, // deletion
29
+ matrix[i][j - 1] + 1, // insertion
30
+ matrix[i - 1][j - 1] + cost // substitution
31
+ );
32
+ }
33
+ }
34
+ return matrix[len1][len2];
35
+ }
36
+ /**
37
+ * Find similar command names
38
+ * @param input User input
39
+ * @param commandNames Available command names
40
+ * @param maxSuggestions Maximum number of suggestions to return
41
+ * @param threshold Maximum distance threshold
42
+ * @returns Array of suggested command names
43
+ */
44
+ function findSimilarCommands(input, commandNames, maxSuggestions = 3, threshold = 3) {
45
+ if (!input || commandNames.length === 0) {
46
+ return [];
47
+ }
48
+ const inputLower = input.toLowerCase();
49
+ const suggestions = [];
50
+ for (const name of commandNames) {
51
+ const nameLower = name.toLowerCase();
52
+ // Exact match - no suggestions needed
53
+ if (nameLower === inputLower) {
54
+ return [];
55
+ }
56
+ // Check if it starts with the input
57
+ if (nameLower.startsWith(inputLower)) {
58
+ suggestions.push({ name, distance: 0 });
59
+ continue;
60
+ }
61
+ // Calculate Levenshtein distance
62
+ const distance = levenshteinDistance(inputLower, nameLower);
63
+ if (distance <= threshold) {
64
+ suggestions.push({ name, distance });
65
+ }
66
+ }
67
+ // Sort by distance (ascending) and return top matches
68
+ return suggestions
69
+ .sort((a, b) => a.distance - b.distance)
70
+ .slice(0, maxSuggestions)
71
+ .map((s) => s.name);
72
+ }
73
+ /**
74
+ * Format command suggestions for display
75
+ */
76
+ function formatSuggestions(suggestions) {
77
+ if (suggestions.length === 0) {
78
+ return '';
79
+ }
80
+ if (suggestions.length === 1) {
81
+ return `\nšŸ’” Did you mean: ${suggestions[0]}?`;
82
+ }
83
+ return `\nšŸ’” Did you mean one of these?\n${suggestions.map((s) => ` • ${s}`).join('\n')}`;
84
+ }
85
+ //# sourceMappingURL=suggestions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suggestions.js","sourceRoot":"","sources":["../../src/commands/suggestions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/config/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAG3C;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;aAG5B,MAAM,EAAE,MAAM,EAAE;aAChB,QAAQ,EAAE,MAAM,EAAE;gBAFlC,OAAO,EAAE,MAAM,EACC,MAAM,EAAE,MAAM,EAAE,EAChB,QAAQ,GAAE,MAAM,EAAO;CAK1C;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAwJ/G;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAkB/G"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/config/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAG3C;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;aAG5B,MAAM,EAAE,MAAM,EAAE;aAChB,QAAQ,EAAE,MAAM,EAAE;gBAFlC,OAAO,EAAE,MAAM,EACC,MAAM,EAAE,MAAM,EAAE,EAChB,QAAQ,GAAE,MAAM,EAAO;CAK1C;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAmK/G;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAkB/G"}
@@ -64,12 +64,12 @@ function validateConfig(config, location, databasePath) {
64
64
  }
65
65
  else {
66
66
  // No token anywhere - this is an error
67
- errors.push('pixiv.refreshToken: Please replace "YOUR_REFRESH_TOKEN" with your actual refresh token or login');
67
+ errors.push('pixiv.refreshToken: No valid refresh token found. Please login to authenticate.');
68
68
  }
69
69
  }
70
70
  else if (!hasValidConfigToken) {
71
71
  // No database path and config has placeholder - error
72
- errors.push('pixiv.refreshToken: Please replace "YOUR_REFRESH_TOKEN" with your actual refresh token');
72
+ errors.push('pixiv.refreshToken: No valid refresh token found. Please login to authenticate.');
73
73
  }
74
74
  // If hasValidConfigToken is true, token is valid - no error
75
75
  if (!config.pixiv.userAgent || config.pixiv.userAgent.trim() === '') {
@@ -176,7 +176,15 @@ function validateConfig(config, location, databasePath) {
176
176
  }
177
177
  // Throw error if there are critical issues
178
178
  if (errors.length > 0) {
179
- const errorMessage = `Configuration validation failed in ${location}:\n${errors.map(e => ` - ${e}`).join('\n')}`;
179
+ // Check if error is token-related
180
+ const hasTokenError = errors.some(e => e.includes('refreshToken'));
181
+ let errorMessage = `Configuration validation failed in ${location}:\n${errors.map(e => ` - ${e}`).join('\n')}`;
182
+ if (hasTokenError) {
183
+ errorMessage += `\n\nšŸ’” You need to login first. Run one of the following commands:\n`;
184
+ errorMessage += ` • Interactive login: pixivflow login\n`;
185
+ errorMessage += ` • Headless login: pixivflow login-headless\n`;
186
+ errorMessage += `\n These commands will automatically save your refresh token.`;
187
+ }
180
188
  const configError = new ConfigValidationError(errorMessage, errors, warnings);
181
189
  throw new errors_1.ConfigError(errorMessage, configError);
182
190
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/config/validation.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;AA6BH,wCAwJC;AAKD,gDAkBC;AA1MD,0DAA6B;AAC7B,sCAAmC;AACnC,4CAA8C;AAC9C,0DAAmF;AAEnF,qCAAsC;AAEtC;;GAEG;AACH,MAAa,qBAAsB,SAAQ,KAAK;IAG5B;IACA;IAHlB,YACE,OAAe,EACC,MAAgB,EAChB,WAAqB,EAAE;QAEvC,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,WAAM,GAAN,MAAM,CAAU;QAChB,aAAQ,GAAR,QAAQ,CAAe;QAGvC,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AATD,sDASC;AAED;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,MAAiC,EAAE,QAAgB,EAAE,YAAqB;IACvG,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,6BAA6B;IAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAClE,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC1E,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACxE,MAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;QACvE,CAAC;QAED,uEAAuE;QACvE,wFAAwF;QACxF,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC;QAC9C,MAAM,mBAAmB,GAAG,CAAC,IAAA,kCAAkB,EAAC,WAAW,CAAC,CAAC;QAE7D,IAAI,CAAC,mBAAmB,IAAI,YAAY,EAAE,CAAC;YACzC,sDAAsD;YACtD,MAAM,YAAY,GAAG,IAAA,qCAAqB,EAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YACtE,IAAI,YAAY,EAAE,CAAC;gBACjB,wEAAwE;gBACxE,eAAM,CAAC,KAAK,CAAC,4FAA4F,CAAC,CAAC;YAC7G,CAAC;iBAAM,CAAC;gBACN,uCAAuC;gBACvC,MAAM,CAAC,IAAI,CAAC,iGAAiG,CAAC,CAAC;YACjH,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAChC,sDAAsD;YACtD,MAAM,CAAC,IAAI,CAAC,wFAAwF,CAAC,CAAC;QACxG,CAAC;QACD,4DAA4D;QAE5D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACpE,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAC3C,CAAC;SAAM,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,yDAAyD;QACzD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACvC,iHAAiH;YACjH,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;gBACxJ,MAAM,CAAC,IAAI,CAAC,WAAW,KAAK,8IAA8I,CAAC,CAAC;YAC9K,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpE,MAAM,CAAC,IAAI,CAAC,WAAW,KAAK,2CAA2C,CAAC,CAAC;YAC3E,CAAC;YACD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC/B,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;oBACrB,MAAM,CAAC,IAAI,CAAC,WAAW,KAAK,wCAAwC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;gBACvF,CAAC;qBAAM,IAAI,MAAM,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC;oBAC/B,QAAQ,CAAC,IAAI,CAAC,WAAW,KAAK,8CAA8C,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;gBAC/F,CAAC;YACH,CAAC;YACD,IAAI,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,wBAAwB,EAAE,sBAAsB,EAAE,mBAAmB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;gBAClI,MAAM,CAAC,IAAI,CAAC,WAAW,KAAK,gHAAgH,CAAC,CAAC;YAChJ,CAAC;YACD,IAAI,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;gBACtE,MAAM,CAAC,IAAI,CAAC,WAAW,KAAK,qDAAqD,CAAC,CAAC;YACrF,CAAC;YACD,IAAI,MAAM,CAAC,WAAW,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;gBAChH,MAAM,CAAC,IAAI,CAAC,WAAW,KAAK,kEAAkE,CAAC,CAAC;YAClG,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0BAA0B;IAC1B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC;YACrH,QAAQ,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAC;QACnG,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC;YACxG,QAAQ,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBAC1E,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;YACpE,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,EAAE,CAAC;gBACrG,MAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;YAC3E,CAAC;YACD,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpH,MAAM,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;YACrF,CAAC;QACH,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACvD,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,mBAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACnE,MAAM,CAAC,IAAI,CAAC,4CAA4C,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QACnF,CAAC;QACD,IAAI,MAAM,CAAC,SAAS,CAAC,aAAa,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;YACvF,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,MAAM,CAAC,SAAS,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;YACnF,MAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC;YAC9E,QAAQ,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,MAAM,CAAC,SAAS,CAAC,sBAAsB,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,sBAAsB,GAAG,CAAC,EAAE,CAAC;YACzG,MAAM,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED,2BAA2B;IAC3B,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,GAAG,EAAE,CAAC,EAAE,CAAC;YACvH,QAAQ,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;YACnF,QAAQ,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,KAAK,SAAS;YACzF,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACzG,QAAQ,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;QACtF,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,GAAG,EAAE,CAAC,EAAE,CAAC;YACpH,QAAQ,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrF,MAAM,CAAC,IAAI,CAAC,4DAA4D,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;IAC/F,CAAC;IAED,kBAAkB;IAClB,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,eAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,2CAA2C;IAC3C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,YAAY,GAAG,sCAAsC,QAAQ,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAClH,MAAM,WAAW,GAAG,IAAI,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC9E,MAAM,IAAI,oBAAW,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,UAAkB;IACnD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,UAAU,CAAC,CAAC;QACtC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACnD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,qBAAqB,EAAE,CAAC;YAC3C,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACzB,CAAC;QACJ,CAAC;QACD,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAChE,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/config/validation.ts"],"names":[],"mappings":"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"}