cadenlane-cli-2 1.0.0

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 (206) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/LICENSE +21 -0
  3. package/README.md +333 -0
  4. package/bin.js +2 -0
  5. package/dist/application/config/config.manager.d.ts +62 -0
  6. package/dist/application/config/config.manager.d.ts.map +1 -0
  7. package/dist/application/config/config.manager.js +146 -0
  8. package/dist/application/config/config.manager.js.map +1 -0
  9. package/dist/application/services/application.service.d.ts +35 -0
  10. package/dist/application/services/application.service.d.ts.map +1 -0
  11. package/dist/application/services/application.service.js +174 -0
  12. package/dist/application/services/application.service.js.map +1 -0
  13. package/dist/application/services/download.service.d.ts +27 -0
  14. package/dist/application/services/download.service.d.ts.map +1 -0
  15. package/dist/application/services/download.service.js +197 -0
  16. package/dist/application/services/download.service.js.map +1 -0
  17. package/dist/application/services/file-naming.service.d.ts +34 -0
  18. package/dist/application/services/file-naming.service.d.ts.map +1 -0
  19. package/dist/application/services/file-naming.service.js +142 -0
  20. package/dist/application/services/file-naming.service.js.map +1 -0
  21. package/dist/application/services/queue.service.d.ts +53 -0
  22. package/dist/application/services/queue.service.d.ts.map +1 -0
  23. package/dist/application/services/queue.service.js +82 -0
  24. package/dist/application/services/queue.service.js.map +1 -0
  25. package/dist/cli/commands/start.command.d.ts +39 -0
  26. package/dist/cli/commands/start.command.d.ts.map +1 -0
  27. package/dist/cli/commands/start.command.js +196 -0
  28. package/dist/cli/commands/start.command.js.map +1 -0
  29. package/dist/cli/index.d.ts +3 -0
  30. package/dist/cli/index.d.ts.map +1 -0
  31. package/dist/cli/index.js +86 -0
  32. package/dist/cli/index.js.map +1 -0
  33. package/dist/domain/constants/config.constants.d.ts +54 -0
  34. package/dist/domain/constants/config.constants.d.ts.map +1 -0
  35. package/dist/domain/constants/config.constants.js +142 -0
  36. package/dist/domain/constants/config.constants.js.map +1 -0
  37. package/dist/domain/dtos/index.d.ts +4 -0
  38. package/dist/domain/dtos/index.d.ts.map +1 -0
  39. package/dist/domain/dtos/index.js +10 -0
  40. package/dist/domain/dtos/index.js.map +1 -0
  41. package/dist/domain/dtos/log-entry.dto.d.ts +15 -0
  42. package/dist/domain/dtos/log-entry.dto.d.ts.map +1 -0
  43. package/dist/domain/dtos/log-entry.dto.js +64 -0
  44. package/dist/domain/dtos/log-entry.dto.js.map +1 -0
  45. package/dist/domain/dtos/message.dto.d.ts +27 -0
  46. package/dist/domain/dtos/message.dto.d.ts.map +1 -0
  47. package/dist/domain/dtos/message.dto.js +140 -0
  48. package/dist/domain/dtos/message.dto.js.map +1 -0
  49. package/dist/domain/dtos/queue-message.dto.d.ts +10 -0
  50. package/dist/domain/dtos/queue-message.dto.d.ts.map +1 -0
  51. package/dist/domain/dtos/queue-message.dto.js +39 -0
  52. package/dist/domain/dtos/queue-message.dto.js.map +1 -0
  53. package/dist/domain/entities/cli-instance.entity.d.ts +55 -0
  54. package/dist/domain/entities/cli-instance.entity.d.ts.map +1 -0
  55. package/dist/domain/entities/cli-instance.entity.js +132 -0
  56. package/dist/domain/entities/cli-instance.entity.js.map +1 -0
  57. package/dist/domain/entities/index.d.ts +3 -0
  58. package/dist/domain/entities/index.d.ts.map +1 -0
  59. package/dist/domain/entities/index.js +8 -0
  60. package/dist/domain/entities/index.js.map +1 -0
  61. package/dist/domain/entities/log-entry.entity.d.ts +60 -0
  62. package/dist/domain/entities/log-entry.entity.d.ts.map +1 -0
  63. package/dist/domain/entities/log-entry.entity.js +101 -0
  64. package/dist/domain/entities/log-entry.entity.js.map +1 -0
  65. package/dist/domain/entities/message.entity.d.ts +64 -0
  66. package/dist/domain/entities/message.entity.d.ts.map +1 -0
  67. package/dist/domain/entities/message.entity.js +110 -0
  68. package/dist/domain/entities/message.entity.js.map +1 -0
  69. package/dist/domain/enums/error-category.enum.d.ts +11 -0
  70. package/dist/domain/enums/error-category.enum.d.ts.map +1 -0
  71. package/dist/domain/enums/error-category.enum.js +15 -0
  72. package/dist/domain/enums/error-category.enum.js.map +1 -0
  73. package/dist/domain/enums/index.d.ts +4 -0
  74. package/dist/domain/enums/index.d.ts.map +1 -0
  75. package/dist/domain/enums/index.js +10 -0
  76. package/dist/domain/enums/index.js.map +1 -0
  77. package/dist/domain/enums/log-level.enum.d.ts +11 -0
  78. package/dist/domain/enums/log-level.enum.d.ts.map +1 -0
  79. package/dist/domain/enums/log-level.enum.js +15 -0
  80. package/dist/domain/enums/log-level.enum.js.map +1 -0
  81. package/dist/domain/enums/message-status.enum.d.ts +11 -0
  82. package/dist/domain/enums/message-status.enum.d.ts.map +1 -0
  83. package/dist/domain/enums/message-status.enum.js +15 -0
  84. package/dist/domain/enums/message-status.enum.js.map +1 -0
  85. package/dist/domain/interfaces/adapters/ifilesystem.adapter.d.ts +34 -0
  86. package/dist/domain/interfaces/adapters/ifilesystem.adapter.d.ts.map +1 -0
  87. package/dist/domain/interfaces/adapters/ifilesystem.adapter.js +3 -0
  88. package/dist/domain/interfaces/adapters/ifilesystem.adapter.js.map +1 -0
  89. package/dist/domain/interfaces/adapters/ihttp.adapter.d.ts +22 -0
  90. package/dist/domain/interfaces/adapters/ihttp.adapter.d.ts.map +1 -0
  91. package/dist/domain/interfaces/adapters/ihttp.adapter.js +3 -0
  92. package/dist/domain/interfaces/adapters/ihttp.adapter.js.map +1 -0
  93. package/dist/domain/interfaces/adapters/index.d.ts +4 -0
  94. package/dist/domain/interfaces/adapters/index.d.ts.map +1 -0
  95. package/dist/domain/interfaces/adapters/index.js +3 -0
  96. package/dist/domain/interfaces/adapters/index.js.map +1 -0
  97. package/dist/domain/interfaces/adapters/isupabase.adapter.d.ts +27 -0
  98. package/dist/domain/interfaces/adapters/isupabase.adapter.d.ts.map +1 -0
  99. package/dist/domain/interfaces/adapters/isupabase.adapter.js +3 -0
  100. package/dist/domain/interfaces/adapters/isupabase.adapter.js.map +1 -0
  101. package/dist/domain/interfaces/repositories/ilog.repository.d.ts +32 -0
  102. package/dist/domain/interfaces/repositories/ilog.repository.d.ts.map +1 -0
  103. package/dist/domain/interfaces/repositories/ilog.repository.js +3 -0
  104. package/dist/domain/interfaces/repositories/ilog.repository.js.map +1 -0
  105. package/dist/domain/interfaces/repositories/imessage.repository.d.ts +39 -0
  106. package/dist/domain/interfaces/repositories/imessage.repository.d.ts.map +1 -0
  107. package/dist/domain/interfaces/repositories/imessage.repository.js +3 -0
  108. package/dist/domain/interfaces/repositories/imessage.repository.js.map +1 -0
  109. package/dist/domain/interfaces/repositories/index.d.ts +4 -0
  110. package/dist/domain/interfaces/repositories/index.d.ts.map +1 -0
  111. package/dist/domain/interfaces/repositories/index.js +3 -0
  112. package/dist/domain/interfaces/repositories/index.js.map +1 -0
  113. package/dist/domain/interfaces/repositories/iqueue.repository.d.ts +75 -0
  114. package/dist/domain/interfaces/repositories/iqueue.repository.d.ts.map +1 -0
  115. package/dist/domain/interfaces/repositories/iqueue.repository.js +3 -0
  116. package/dist/domain/interfaces/repositories/iqueue.repository.js.map +1 -0
  117. package/dist/domain/interfaces/services/idownload.service.d.ts +28 -0
  118. package/dist/domain/interfaces/services/idownload.service.d.ts.map +1 -0
  119. package/dist/domain/interfaces/services/idownload.service.js +3 -0
  120. package/dist/domain/interfaces/services/idownload.service.js.map +1 -0
  121. package/dist/domain/interfaces/services/iqueue.service.d.ts +35 -0
  122. package/dist/domain/interfaces/services/iqueue.service.d.ts.map +1 -0
  123. package/dist/domain/interfaces/services/iqueue.service.js +3 -0
  124. package/dist/domain/interfaces/services/iqueue.service.js.map +1 -0
  125. package/dist/domain/services/path-resolver.service.d.ts +94 -0
  126. package/dist/domain/services/path-resolver.service.d.ts.map +1 -0
  127. package/dist/domain/services/path-resolver.service.js +332 -0
  128. package/dist/domain/services/path-resolver.service.js.map +1 -0
  129. package/dist/domain/validators/index.d.ts +4 -0
  130. package/dist/domain/validators/index.d.ts.map +1 -0
  131. package/dist/domain/validators/index.js +10 -0
  132. package/dist/domain/validators/index.js.map +1 -0
  133. package/dist/domain/validators/message.validator.d.ts +20 -0
  134. package/dist/domain/validators/message.validator.d.ts.map +1 -0
  135. package/dist/domain/validators/message.validator.js +31 -0
  136. package/dist/domain/validators/message.validator.js.map +1 -0
  137. package/dist/domain/validators/path.validator.d.ts +44 -0
  138. package/dist/domain/validators/path.validator.d.ts.map +1 -0
  139. package/dist/domain/validators/path.validator.js +156 -0
  140. package/dist/domain/validators/path.validator.js.map +1 -0
  141. package/dist/domain/validators/url.validator.d.ts +19 -0
  142. package/dist/domain/validators/url.validator.d.ts.map +1 -0
  143. package/dist/domain/validators/url.validator.js +46 -0
  144. package/dist/domain/validators/url.validator.js.map +1 -0
  145. package/dist/index.d.ts +11 -0
  146. package/dist/index.d.ts.map +1 -0
  147. package/dist/index.js +27 -0
  148. package/dist/index.js.map +1 -0
  149. package/dist/infrastructure/adapters/filesystem.adapter.d.ts +35 -0
  150. package/dist/infrastructure/adapters/filesystem.adapter.d.ts.map +1 -0
  151. package/dist/infrastructure/adapters/filesystem.adapter.js +103 -0
  152. package/dist/infrastructure/adapters/filesystem.adapter.js.map +1 -0
  153. package/dist/infrastructure/adapters/http.adapter.d.ts +15 -0
  154. package/dist/infrastructure/adapters/http.adapter.d.ts.map +1 -0
  155. package/dist/infrastructure/adapters/http.adapter.js +80 -0
  156. package/dist/infrastructure/adapters/http.adapter.js.map +1 -0
  157. package/dist/infrastructure/adapters/index.d.ts +4 -0
  158. package/dist/infrastructure/adapters/index.d.ts.map +1 -0
  159. package/dist/infrastructure/adapters/index.js +10 -0
  160. package/dist/infrastructure/adapters/index.js.map +1 -0
  161. package/dist/infrastructure/adapters/pgmq.adapter.d.ts +29 -0
  162. package/dist/infrastructure/adapters/pgmq.adapter.d.ts.map +1 -0
  163. package/dist/infrastructure/adapters/pgmq.adapter.js +84 -0
  164. package/dist/infrastructure/adapters/pgmq.adapter.js.map +1 -0
  165. package/dist/infrastructure/adapters/supabase.adapter.d.ts +79 -0
  166. package/dist/infrastructure/adapters/supabase.adapter.d.ts.map +1 -0
  167. package/dist/infrastructure/adapters/supabase.adapter.js +97 -0
  168. package/dist/infrastructure/adapters/supabase.adapter.js.map +1 -0
  169. package/dist/infrastructure/database/supabase.client.d.ts +20 -0
  170. package/dist/infrastructure/database/supabase.client.d.ts.map +1 -0
  171. package/dist/infrastructure/database/supabase.client.js +36 -0
  172. package/dist/infrastructure/database/supabase.client.js.map +1 -0
  173. package/dist/infrastructure/di/container.d.ts +18 -0
  174. package/dist/infrastructure/di/container.d.ts.map +1 -0
  175. package/dist/infrastructure/di/container.js +103 -0
  176. package/dist/infrastructure/di/container.js.map +1 -0
  177. package/dist/infrastructure/repositories/cli-instance.repository.d.ts +64 -0
  178. package/dist/infrastructure/repositories/cli-instance.repository.d.ts.map +1 -0
  179. package/dist/infrastructure/repositories/cli-instance.repository.js +154 -0
  180. package/dist/infrastructure/repositories/cli-instance.repository.js.map +1 -0
  181. package/dist/infrastructure/repositories/config.repository.d.ts +52 -0
  182. package/dist/infrastructure/repositories/config.repository.d.ts.map +1 -0
  183. package/dist/infrastructure/repositories/config.repository.js +130 -0
  184. package/dist/infrastructure/repositories/config.repository.js.map +1 -0
  185. package/dist/infrastructure/repositories/index.d.ts +4 -0
  186. package/dist/infrastructure/repositories/index.d.ts.map +1 -0
  187. package/dist/infrastructure/repositories/index.js +10 -0
  188. package/dist/infrastructure/repositories/index.js.map +1 -0
  189. package/dist/infrastructure/repositories/log.repository.d.ts +44 -0
  190. package/dist/infrastructure/repositories/log.repository.d.ts.map +1 -0
  191. package/dist/infrastructure/repositories/log.repository.js +108 -0
  192. package/dist/infrastructure/repositories/log.repository.js.map +1 -0
  193. package/dist/infrastructure/repositories/message.repository.d.ts +51 -0
  194. package/dist/infrastructure/repositories/message.repository.d.ts.map +1 -0
  195. package/dist/infrastructure/repositories/message.repository.js +161 -0
  196. package/dist/infrastructure/repositories/message.repository.js.map +1 -0
  197. package/dist/infrastructure/repositories/queue.repository.d.ts +69 -0
  198. package/dist/infrastructure/repositories/queue.repository.d.ts.map +1 -0
  199. package/dist/infrastructure/repositories/queue.repository.js +130 -0
  200. package/dist/infrastructure/repositories/queue.repository.js.map +1 -0
  201. package/dist/infrastructure/utils/connection-health.util.d.ts +23 -0
  202. package/dist/infrastructure/utils/connection-health.util.d.ts.map +1 -0
  203. package/dist/infrastructure/utils/connection-health.util.js +64 -0
  204. package/dist/infrastructure/utils/connection-health.util.js.map +1 -0
  205. package/package.json +105 -0
  206. package/pm2.config.js +104 -0
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.REQUIRED_ENV_VARS = exports.CONFIG_KEYS = exports.PLATFORM_DEFAULTS = exports.CONFIG_CONSTANTS = void 0;
37
+ const os = __importStar(require("os"));
38
+ const path = __importStar(require("path"));
39
+ /**
40
+ * Default configuration constants
41
+ * These values are used when environment variables are not set
42
+ */
43
+ exports.CONFIG_CONSTANTS = {
44
+ DEFAULT_VISIBILITY_TIMEOUT_SECONDS: 30,
45
+ DEFAULT_POLL_INTERVAL_MS: 1000,
46
+ DEFAULT_DOWNLOAD_TIMEOUT_MS: 30000,
47
+ DEFAULT_MAX_RETRIES: 3,
48
+ MAX_FILE_SIZE_MB: 50,
49
+ LOG_LEVEL: 'INFO',
50
+ };
51
+ /**
52
+ * Platform-specific default paths
53
+ * These are used when no custom path is configured in the database
54
+ */
55
+ exports.PLATFORM_DEFAULTS = {
56
+ /**
57
+ * Get default download path for current platform
58
+ */
59
+ getDefaultDownloadPath() {
60
+ const homeDir = os.homedir();
61
+ const platform = process.platform;
62
+ if (platform === 'win32') {
63
+ // Windows: C:\Users\{username}\Downloads
64
+ return path.join(homeDir, 'Downloads');
65
+ }
66
+ else if (platform === 'darwin') {
67
+ // macOS: /Users/{username}/Downloads
68
+ return path.join(homeDir, 'Downloads');
69
+ }
70
+ else {
71
+ // Linux: /home/{username}/Downloads
72
+ return path.join(homeDir, 'Downloads');
73
+ }
74
+ },
75
+ /**
76
+ * Get platform-specific path examples for documentation/UI
77
+ */
78
+ getPathExamples() {
79
+ const platform = process.platform;
80
+ if (platform === 'win32') {
81
+ return {
82
+ downloads: 'C:\\Users\\YourName\\Downloads',
83
+ documents: 'C:\\Users\\YourName\\Documents',
84
+ desktop: 'C:\\Users\\YourName\\Desktop',
85
+ custom: 'C:\\MyFolder\\Images',
86
+ homeExpansion: '%USERPROFILE%\\Downloads',
87
+ };
88
+ }
89
+ else if (platform === 'darwin') {
90
+ return {
91
+ downloads: '/Users/YourName/Downloads',
92
+ documents: '/Users/YourName/Documents',
93
+ desktop: '/Users/YourName/Desktop',
94
+ custom: '/Users/YourName/MyFolder/Images',
95
+ homeExpansion: '~/Downloads',
96
+ };
97
+ }
98
+ else {
99
+ return {
100
+ downloads: '/home/username/Downloads',
101
+ documents: '/home/username/Documents',
102
+ desktop: '/home/username/Desktop',
103
+ custom: '/home/username/myfolder/images',
104
+ homeExpansion: '~/Downloads',
105
+ };
106
+ }
107
+ },
108
+ /**
109
+ * Get current platform information
110
+ */
111
+ getPlatformInfo() {
112
+ const platform = process.platform;
113
+ return {
114
+ platform,
115
+ isWindows: platform === 'win32',
116
+ isMac: platform === 'darwin',
117
+ isLinux: platform === 'linux',
118
+ separator: path.sep,
119
+ };
120
+ },
121
+ };
122
+ /**
123
+ * Database configuration keys for platform-specific settings
124
+ */
125
+ exports.CONFIG_KEYS = {
126
+ // Download paths
127
+ DOWNLOAD_DEFAULT_PATH: 'download.default_path',
128
+ DOWNLOAD_FALLBACK_PATH: 'download.fallback_path',
129
+ // Queue settings
130
+ QUEUE_NAME: 'queue.name',
131
+ QUEUE_VISIBILITY_TIMEOUT: 'queue.visibility_timeout_seconds',
132
+ QUEUE_POLL_INTERVAL: 'queue.poll_interval_ms',
133
+ // Download settings
134
+ DOWNLOAD_TIMEOUT: 'download.timeout_ms',
135
+ DOWNLOAD_MAX_RETRIES: 'download.max_retries',
136
+ DOWNLOAD_MAX_FILE_SIZE: 'download.max_file_size_mb',
137
+ };
138
+ /**
139
+ * Required environment variables
140
+ */
141
+ exports.REQUIRED_ENV_VARS = ['SUPABASE_URL', 'SUPABASE_SERVICE_ROLE_KEY'];
142
+ //# sourceMappingURL=config.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.constants.js","sourceRoot":"","sources":["../../../src/domain/constants/config.constants.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAE7B;;;GAGG;AACU,QAAA,gBAAgB,GAAG;IAC9B,kCAAkC,EAAE,EAAE;IACtC,wBAAwB,EAAE,IAAI;IAC9B,2BAA2B,EAAE,KAAK;IAClC,mBAAmB,EAAE,CAAC;IACtB,gBAAgB,EAAE,EAAE;IACpB,SAAS,EAAE,MAAM;CACT,CAAC;AAEX;;;GAGG;AACU,QAAA,iBAAiB,GAAG;IAC/B;;OAEG;IACH,sBAAsB;QACpB,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAElC,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,yCAAyC;YACzC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,qCAAqC;YACrC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,oCAAoC;YACpC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,eAAe;QACb,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAElC,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,OAAO;gBACL,SAAS,EAAE,gCAAgC;gBAC3C,SAAS,EAAE,gCAAgC;gBAC3C,OAAO,EAAE,8BAA8B;gBACvC,MAAM,EAAE,sBAAsB;gBAC9B,aAAa,EAAE,0BAA0B;aAC1C,CAAC;QACJ,CAAC;aAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO;gBACL,SAAS,EAAE,2BAA2B;gBACtC,SAAS,EAAE,2BAA2B;gBACtC,OAAO,EAAE,yBAAyB;gBAClC,MAAM,EAAE,iCAAiC;gBACzC,aAAa,EAAE,aAAa;aAC7B,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,SAAS,EAAE,0BAA0B;gBACrC,SAAS,EAAE,0BAA0B;gBACrC,OAAO,EAAE,wBAAwB;gBACjC,MAAM,EAAE,gCAAgC;gBACxC,aAAa,EAAE,aAAa;aAC7B,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,eAAe;QAOb,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAClC,OAAO;YACL,QAAQ;YACR,SAAS,EAAE,QAAQ,KAAK,OAAO;YAC/B,KAAK,EAAE,QAAQ,KAAK,QAAQ;YAC5B,OAAO,EAAE,QAAQ,KAAK,OAAO;YAC7B,SAAS,EAAE,IAAI,CAAC,GAAG;SACpB,CAAC;IACJ,CAAC;CACO,CAAC;AAEX;;GAEG;AACU,QAAA,WAAW,GAAG;IACzB,iBAAiB;IACjB,qBAAqB,EAAE,uBAAuB;IAC9C,sBAAsB,EAAE,wBAAwB;IAEhD,iBAAiB;IACjB,UAAU,EAAE,YAAY;IACxB,wBAAwB,EAAE,kCAAkC;IAC5D,mBAAmB,EAAE,wBAAwB;IAE7C,oBAAoB;IACpB,gBAAgB,EAAE,qBAAqB;IACvC,oBAAoB,EAAE,sBAAsB;IAC5C,sBAAsB,EAAE,2BAA2B;CAC3C,CAAC;AAEX;;GAEG;AACU,QAAA,iBAAiB,GAAG,CAAC,cAAc,EAAE,2BAA2B,CAAU,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { QueueMessageDto } from './queue-message.dto';
2
+ export { MessageDto } from './message.dto';
3
+ export { LogEntryDto } from './log-entry.dto';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/domain/dtos/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LogEntryDto = exports.MessageDto = exports.QueueMessageDto = void 0;
4
+ var queue_message_dto_1 = require("./queue-message.dto");
5
+ Object.defineProperty(exports, "QueueMessageDto", { enumerable: true, get: function () { return queue_message_dto_1.QueueMessageDto; } });
6
+ var message_dto_1 = require("./message.dto");
7
+ Object.defineProperty(exports, "MessageDto", { enumerable: true, get: function () { return message_dto_1.MessageDto; } });
8
+ var log_entry_dto_1 = require("./log-entry.dto");
9
+ Object.defineProperty(exports, "LogEntryDto", { enumerable: true, get: function () { return log_entry_dto_1.LogEntryDto; } });
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain/dtos/index.ts"],"names":[],"mappings":";;;AAAA,yDAAsD;AAA7C,oHAAA,eAAe,OAAA;AACxB,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AACnB,iDAA8C;AAArC,4GAAA,WAAW,OAAA"}
@@ -0,0 +1,15 @@
1
+ import { LogLevel } from '../enums';
2
+ /**
3
+ * Log Entry DTO
4
+ * Represents a log entry for message processing
5
+ */
6
+ export declare class LogEntryDto {
7
+ id: string;
8
+ message_id: string;
9
+ log_level: LogLevel;
10
+ log_message: string;
11
+ log_data?: Record<string, any>;
12
+ stack_trace?: string;
13
+ created_at: Date;
14
+ }
15
+ //# sourceMappingURL=log-entry.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-entry.dto.d.ts","sourceRoot":"","sources":["../../../src/domain/dtos/log-entry.dto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC;;;GAGG;AACH,qBAAa,WAAW;IAGtB,EAAE,EAAG,MAAM,CAAC;IAIZ,UAAU,EAAG,MAAM,CAAC;IAIpB,SAAS,EAAG,QAAQ,CAAC;IAIrB,WAAW,EAAG,MAAM,CAAC;IAIrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAI/B,WAAW,CAAC,EAAE,MAAM,CAAC;IAIrB,UAAU,EAAG,IAAI,CAAC;CACnB"}
@@ -0,0 +1,64 @@
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.LogEntryDto = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ const enums_1 = require("../enums");
15
+ /**
16
+ * Log Entry DTO
17
+ * Represents a log entry for message processing
18
+ */
19
+ class LogEntryDto {
20
+ id;
21
+ message_id;
22
+ log_level;
23
+ log_message;
24
+ log_data;
25
+ stack_trace;
26
+ created_at;
27
+ }
28
+ exports.LogEntryDto = LogEntryDto;
29
+ __decorate([
30
+ (0, class_validator_1.IsNotEmpty)(),
31
+ (0, class_validator_1.IsUUID)('4'),
32
+ __metadata("design:type", String)
33
+ ], LogEntryDto.prototype, "id", void 0);
34
+ __decorate([
35
+ (0, class_validator_1.IsNotEmpty)(),
36
+ (0, class_validator_1.IsUUID)('4'),
37
+ __metadata("design:type", String)
38
+ ], LogEntryDto.prototype, "message_id", void 0);
39
+ __decorate([
40
+ (0, class_validator_1.IsNotEmpty)(),
41
+ (0, class_validator_1.IsEnum)(enums_1.LogLevel),
42
+ __metadata("design:type", String)
43
+ ], LogEntryDto.prototype, "log_level", void 0);
44
+ __decorate([
45
+ (0, class_validator_1.IsNotEmpty)(),
46
+ (0, class_validator_1.IsString)(),
47
+ __metadata("design:type", String)
48
+ ], LogEntryDto.prototype, "log_message", void 0);
49
+ __decorate([
50
+ (0, class_validator_1.IsOptional)(),
51
+ (0, class_validator_1.IsObject)(),
52
+ __metadata("design:type", Object)
53
+ ], LogEntryDto.prototype, "log_data", void 0);
54
+ __decorate([
55
+ (0, class_validator_1.IsOptional)(),
56
+ (0, class_validator_1.IsString)(),
57
+ __metadata("design:type", String)
58
+ ], LogEntryDto.prototype, "stack_trace", void 0);
59
+ __decorate([
60
+ (0, class_validator_1.IsNotEmpty)(),
61
+ (0, class_validator_1.IsDate)(),
62
+ __metadata("design:type", Date)
63
+ ], LogEntryDto.prototype, "created_at", void 0);
64
+ //# sourceMappingURL=log-entry.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-entry.dto.js","sourceRoot":"","sources":["../../../src/domain/dtos/log-entry.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAqG;AACrG,oCAAoC;AAEpC;;;GAGG;AACH,MAAa,WAAW;IAGtB,EAAE,CAAU;IAIZ,UAAU,CAAU;IAIpB,SAAS,CAAY;IAIrB,WAAW,CAAU;IAIrB,QAAQ,CAAuB;IAI/B,WAAW,CAAU;IAIrB,UAAU,CAAQ;CACnB;AA5BD,kCA4BC;AAzBC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,EAAC,GAAG,CAAC;;uCACA;AAIZ;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,EAAC,GAAG,CAAC;;+CACQ;AAIpB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,EAAC,gBAAQ,CAAC;;8CACI;AAIrB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;gDACU;AAIrB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;6CACoB;AAI/B;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;gDACU;AAIrB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,GAAE;8BACI,IAAI;+CAAC"}
@@ -0,0 +1,27 @@
1
+ import { MessageStatus } from '../enums';
2
+ /**
3
+ * Message DTO
4
+ * Represents a message entity with all its properties
5
+ */
6
+ export declare class MessageDto {
7
+ id: string;
8
+ pgmq_message_id: number;
9
+ file_url: string;
10
+ target_folder: string;
11
+ status: MessageStatus;
12
+ received_at: Date;
13
+ processing_started_at?: Date;
14
+ processing_completed_at?: Date;
15
+ file_name?: string;
16
+ file_path?: string;
17
+ file_size_bytes?: number;
18
+ download_duration_ms?: number;
19
+ total_duration_ms?: number;
20
+ error_message?: string;
21
+ error_category?: string;
22
+ retry_count?: number;
23
+ created_at?: Date;
24
+ updated_at?: Date;
25
+ deleted_from_queue_at?: Date;
26
+ }
27
+ //# sourceMappingURL=message.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.dto.d.ts","sourceRoot":"","sources":["../../../src/domain/dtos/message.dto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC;;;GAGG;AACH,qBAAa,UAAU;IAGrB,EAAE,EAAG,MAAM,CAAC;IAIZ,eAAe,EAAG,MAAM,CAAC;IAIzB,QAAQ,EAAG,MAAM,CAAC;IAIlB,aAAa,EAAG,MAAM,CAAC;IAIvB,MAAM,EAAG,aAAa,CAAC;IAKvB,WAAW,EAAG,IAAI,CAAC;IAInB,qBAAqB,CAAC,EAAE,IAAI,CAAC;IAI7B,uBAAuB,CAAC,EAAE,IAAI,CAAC;IAK/B,SAAS,CAAC,EAAE,MAAM,CAAC;IAInB,SAAS,CAAC,EAAE,MAAM,CAAC;IAInB,eAAe,CAAC,EAAE,MAAM,CAAC;IAIzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAI9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAK3B,aAAa,CAAC,EAAE,MAAM,CAAC;IAIvB,cAAc,CAAC,EAAE,MAAM,CAAC;IAIxB,WAAW,CAAC,EAAE,MAAM,CAAC;IAKrB,UAAU,CAAC,EAAE,IAAI,CAAC;IAIlB,UAAU,CAAC,EAAE,IAAI,CAAC;IAIlB,qBAAqB,CAAC,EAAE,IAAI,CAAC;CAC9B"}
@@ -0,0 +1,140 @@
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.MessageDto = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ const enums_1 = require("../enums");
15
+ /**
16
+ * Message DTO
17
+ * Represents a message entity with all its properties
18
+ */
19
+ class MessageDto {
20
+ id;
21
+ pgmq_message_id;
22
+ file_url;
23
+ target_folder;
24
+ status;
25
+ // Timing information
26
+ received_at;
27
+ processing_started_at;
28
+ processing_completed_at;
29
+ // Processing metadata
30
+ file_name;
31
+ file_path;
32
+ file_size_bytes;
33
+ download_duration_ms;
34
+ total_duration_ms;
35
+ // Error tracking
36
+ error_message;
37
+ error_category;
38
+ retry_count;
39
+ // Audit trail
40
+ created_at;
41
+ updated_at;
42
+ deleted_from_queue_at;
43
+ }
44
+ exports.MessageDto = MessageDto;
45
+ __decorate([
46
+ (0, class_validator_1.IsNotEmpty)(),
47
+ (0, class_validator_1.IsUUID)('4'),
48
+ __metadata("design:type", String)
49
+ ], MessageDto.prototype, "id", void 0);
50
+ __decorate([
51
+ (0, class_validator_1.IsNotEmpty)(),
52
+ (0, class_validator_1.IsNumber)(),
53
+ __metadata("design:type", Number)
54
+ ], MessageDto.prototype, "pgmq_message_id", void 0);
55
+ __decorate([
56
+ (0, class_validator_1.IsNotEmpty)(),
57
+ (0, class_validator_1.IsUrl)({ protocols: ['http', 'https'] }),
58
+ __metadata("design:type", String)
59
+ ], MessageDto.prototype, "file_url", void 0);
60
+ __decorate([
61
+ (0, class_validator_1.IsNotEmpty)(),
62
+ (0, class_validator_1.IsString)(),
63
+ __metadata("design:type", String)
64
+ ], MessageDto.prototype, "target_folder", void 0);
65
+ __decorate([
66
+ (0, class_validator_1.IsNotEmpty)(),
67
+ (0, class_validator_1.IsEnum)(enums_1.MessageStatus),
68
+ __metadata("design:type", String)
69
+ ], MessageDto.prototype, "status", void 0);
70
+ __decorate([
71
+ (0, class_validator_1.IsNotEmpty)(),
72
+ (0, class_validator_1.IsDate)(),
73
+ __metadata("design:type", Date)
74
+ ], MessageDto.prototype, "received_at", void 0);
75
+ __decorate([
76
+ (0, class_validator_1.IsOptional)(),
77
+ (0, class_validator_1.IsDate)(),
78
+ __metadata("design:type", Date)
79
+ ], MessageDto.prototype, "processing_started_at", void 0);
80
+ __decorate([
81
+ (0, class_validator_1.IsOptional)(),
82
+ (0, class_validator_1.IsDate)(),
83
+ __metadata("design:type", Date)
84
+ ], MessageDto.prototype, "processing_completed_at", void 0);
85
+ __decorate([
86
+ (0, class_validator_1.IsOptional)(),
87
+ (0, class_validator_1.IsString)(),
88
+ __metadata("design:type", String)
89
+ ], MessageDto.prototype, "file_name", void 0);
90
+ __decorate([
91
+ (0, class_validator_1.IsOptional)(),
92
+ (0, class_validator_1.IsString)(),
93
+ __metadata("design:type", String)
94
+ ], MessageDto.prototype, "file_path", void 0);
95
+ __decorate([
96
+ (0, class_validator_1.IsOptional)(),
97
+ (0, class_validator_1.IsNumber)(),
98
+ __metadata("design:type", Number)
99
+ ], MessageDto.prototype, "file_size_bytes", void 0);
100
+ __decorate([
101
+ (0, class_validator_1.IsOptional)(),
102
+ (0, class_validator_1.IsNumber)(),
103
+ __metadata("design:type", Number)
104
+ ], MessageDto.prototype, "download_duration_ms", void 0);
105
+ __decorate([
106
+ (0, class_validator_1.IsOptional)(),
107
+ (0, class_validator_1.IsNumber)(),
108
+ __metadata("design:type", Number)
109
+ ], MessageDto.prototype, "total_duration_ms", void 0);
110
+ __decorate([
111
+ (0, class_validator_1.IsOptional)(),
112
+ (0, class_validator_1.IsString)(),
113
+ __metadata("design:type", String)
114
+ ], MessageDto.prototype, "error_message", void 0);
115
+ __decorate([
116
+ (0, class_validator_1.IsOptional)(),
117
+ (0, class_validator_1.IsString)(),
118
+ __metadata("design:type", String)
119
+ ], MessageDto.prototype, "error_category", void 0);
120
+ __decorate([
121
+ (0, class_validator_1.IsOptional)(),
122
+ (0, class_validator_1.IsNumber)(),
123
+ __metadata("design:type", Number)
124
+ ], MessageDto.prototype, "retry_count", void 0);
125
+ __decorate([
126
+ (0, class_validator_1.IsOptional)(),
127
+ (0, class_validator_1.IsDate)(),
128
+ __metadata("design:type", Date)
129
+ ], MessageDto.prototype, "created_at", void 0);
130
+ __decorate([
131
+ (0, class_validator_1.IsOptional)(),
132
+ (0, class_validator_1.IsDate)(),
133
+ __metadata("design:type", Date)
134
+ ], MessageDto.prototype, "updated_at", void 0);
135
+ __decorate([
136
+ (0, class_validator_1.IsOptional)(),
137
+ (0, class_validator_1.IsDate)(),
138
+ __metadata("design:type", Date)
139
+ ], MessageDto.prototype, "deleted_from_queue_at", void 0);
140
+ //# sourceMappingURL=message.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.dto.js","sourceRoot":"","sources":["../../../src/domain/dtos/message.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA4G;AAC5G,oCAAyC;AAEzC;;;GAGG;AACH,MAAa,UAAU;IAGrB,EAAE,CAAU;IAIZ,eAAe,CAAU;IAIzB,QAAQ,CAAU;IAIlB,aAAa,CAAU;IAIvB,MAAM,CAAiB;IAEvB,qBAAqB;IAGrB,WAAW,CAAQ;IAInB,qBAAqB,CAAQ;IAI7B,uBAAuB,CAAQ;IAE/B,sBAAsB;IAGtB,SAAS,CAAU;IAInB,SAAS,CAAU;IAInB,eAAe,CAAU;IAIzB,oBAAoB,CAAU;IAI9B,iBAAiB,CAAU;IAE3B,iBAAiB;IAGjB,aAAa,CAAU;IAIvB,cAAc,CAAU;IAIxB,WAAW,CAAU;IAErB,cAAc;IAGd,UAAU,CAAQ;IAIlB,UAAU,CAAQ;IAIlB,qBAAqB,CAAQ;CAC9B;AAhFD,gCAgFC;AA7EC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,EAAC,GAAG,CAAC;;sCACA;AAIZ;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;mDACc;AAIzB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,uBAAK,EAAC,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;;4CACtB;AAIlB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;iDACY;AAIvB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,EAAC,qBAAa,CAAC;;0CACC;AAKvB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,GAAE;8BACK,IAAI;+CAAC;AAInB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,GAAE;8BACe,IAAI;yDAAC;AAI7B;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,GAAE;8BACiB,IAAI;2DAAC;AAK/B;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;6CACQ;AAInB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;6CACQ;AAInB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;mDACc;AAIzB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;wDACmB;AAI9B;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;qDACgB;AAK3B;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;iDACY;AAIvB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;kDACa;AAIxB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;+CACU;AAKrB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,GAAE;8BACI,IAAI;8CAAC;AAIlB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,GAAE;8BACI,IAAI;8CAAC;AAIlB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,GAAE;8BACe,IAAI;yDAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Queue Message DTO
3
+ * Represents the structure of messages received from PGMQ queue
4
+ */
5
+ export declare class QueueMessageDto {
6
+ file_url: string;
7
+ target_folder: string;
8
+ target_cli_instance?: string;
9
+ }
10
+ //# sourceMappingURL=queue-message.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queue-message.dto.d.ts","sourceRoot":"","sources":["../../../src/domain/dtos/queue-message.dto.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,qBAAa,eAAe;IAG1B,QAAQ,EAAG,MAAM,CAAC;IAIlB,aAAa,EAAG,MAAM,CAAC;IAIvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B"}
@@ -0,0 +1,39 @@
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.QueueMessageDto = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ /**
15
+ * Queue Message DTO
16
+ * Represents the structure of messages received from PGMQ queue
17
+ */
18
+ class QueueMessageDto {
19
+ file_url;
20
+ target_folder;
21
+ target_cli_instance;
22
+ }
23
+ exports.QueueMessageDto = QueueMessageDto;
24
+ __decorate([
25
+ (0, class_validator_1.IsNotEmpty)({ message: 'file_url is required' }),
26
+ (0, class_validator_1.IsUrl)({ protocols: ['http', 'https'] }, { message: 'file_url must be a valid URL' }),
27
+ __metadata("design:type", String)
28
+ ], QueueMessageDto.prototype, "file_url", void 0);
29
+ __decorate([
30
+ (0, class_validator_1.IsNotEmpty)({ message: 'target_folder is required' }),
31
+ (0, class_validator_1.IsString)({ message: 'target_folder must be a string' }),
32
+ __metadata("design:type", String)
33
+ ], QueueMessageDto.prototype, "target_folder", void 0);
34
+ __decorate([
35
+ (0, class_validator_1.IsOptional)(),
36
+ (0, class_validator_1.IsString)({ message: 'target_cli_instance must be a string' }),
37
+ __metadata("design:type", String)
38
+ ], QueueMessageDto.prototype, "target_cli_instance", void 0);
39
+ //# sourceMappingURL=queue-message.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queue-message.dto.js","sourceRoot":"","sources":["../../../src/domain/dtos/queue-message.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA0E;AAE1E;;;GAGG;AACH,MAAa,eAAe;IAG1B,QAAQ,CAAU;IAIlB,aAAa,CAAU;IAIvB,mBAAmB,CAAU;CAC9B;AAZD,0CAYC;AATC;IAFC,IAAA,4BAAU,EAAC,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAC/C,IAAA,uBAAK,EAAC,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC;;iDACnE;AAIlB;IAFC,IAAA,4BAAU,EAAC,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC;IACpD,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,gCAAgC,EAAE,CAAC;;sDACjC;AAIvB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC;;4DACjC"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * CLI Instance Entity
3
+ * Represents a single CLI installation on a specific computer
4
+ */
5
+ export declare class CliInstanceEntity {
6
+ readonly id: string;
7
+ readonly instanceName: string;
8
+ readonly hostname: string;
9
+ readonly platform: 'win32' | 'darwin' | 'linux';
10
+ readonly platformVersion: string;
11
+ readonly nodeVersion: string;
12
+ readonly appVersion: string;
13
+ readonly downloadDefaultPath: string;
14
+ readonly downloadFallbackPath: string | null;
15
+ readonly status: 'active' | 'inactive' | 'maintenance';
16
+ readonly lastHeartbeatAt: Date | null;
17
+ readonly lastJobAt: Date | null;
18
+ readonly totalJobsProcessed: number;
19
+ readonly totalJobsFailed: number;
20
+ readonly totalBytesDownloaded: number;
21
+ readonly createdAt: Date;
22
+ readonly updatedAt: Date;
23
+ constructor(id: string, instanceName: string, hostname: string, platform: 'win32' | 'darwin' | 'linux', platformVersion: string, nodeVersion: string, appVersion: string, downloadDefaultPath: string, downloadFallbackPath: string | null, status: 'active' | 'inactive' | 'maintenance', lastHeartbeatAt: Date | null, lastJobAt: Date | null, totalJobsProcessed: number, totalJobsFailed: number, totalBytesDownloaded: number, createdAt: Date, updatedAt: Date);
24
+ /**
25
+ * Create instance info from current system
26
+ */
27
+ static createFromSystem(instanceName: string, downloadDefaultPath: string, downloadFallbackPath?: string | null, appVersion?: string): {
28
+ instanceName: string;
29
+ hostname: string;
30
+ platform: 'win32' | 'darwin' | 'linux';
31
+ platformVersion: string;
32
+ nodeVersion: string;
33
+ appVersion: string;
34
+ downloadDefaultPath: string;
35
+ downloadFallbackPath: string | null;
36
+ status: 'active' | 'inactive' | 'maintenance';
37
+ };
38
+ /**
39
+ * Check if instance is healthy (heartbeat within last 5 minutes)
40
+ */
41
+ isHealthy(): boolean;
42
+ /**
43
+ * Get failure rate percentage
44
+ */
45
+ getFailureRate(): number;
46
+ /**
47
+ * Get success rate percentage
48
+ */
49
+ getSuccessRate(): number;
50
+ /**
51
+ * Get formatted download size
52
+ */
53
+ getFormattedDownloadSize(): string;
54
+ }
55
+ //# sourceMappingURL=cli-instance.entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-instance.entity.d.ts","sourceRoot":"","sources":["../../../src/domain/entities/cli-instance.entity.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,qBAAa,iBAAiB;aAEV,EAAE,EAAE,MAAM;aACV,YAAY,EAAE,MAAM;aACpB,QAAQ,EAAE,MAAM;aAChB,QAAQ,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO;aACtC,eAAe,EAAE,MAAM;aACvB,WAAW,EAAE,MAAM;aACnB,UAAU,EAAE,MAAM;aAClB,mBAAmB,EAAE,MAAM;aAC3B,oBAAoB,EAAE,MAAM,GAAG,IAAI;aACnC,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,aAAa;aAC7C,eAAe,EAAE,IAAI,GAAG,IAAI;aAC5B,SAAS,EAAE,IAAI,GAAG,IAAI;aACtB,kBAAkB,EAAE,MAAM;aAC1B,eAAe,EAAE,MAAM;aACvB,oBAAoB,EAAE,MAAM;aAC5B,SAAS,EAAE,IAAI;aACf,SAAS,EAAE,IAAI;gBAhBf,EAAE,EAAE,MAAM,EACV,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,EACtC,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,mBAAmB,EAAE,MAAM,EAC3B,oBAAoB,EAAE,MAAM,GAAG,IAAI,EACnC,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,aAAa,EAC7C,eAAe,EAAE,IAAI,GAAG,IAAI,EAC5B,SAAS,EAAE,IAAI,GAAG,IAAI,EACtB,kBAAkB,EAAE,MAAM,EAC1B,eAAe,EAAE,MAAM,EACvB,oBAAoB,EAAE,MAAM,EAC5B,SAAS,EAAE,IAAI,EACf,SAAS,EAAE,IAAI;IAGjC;;OAEG;IACH,MAAM,CAAC,gBAAgB,CACrB,YAAY,EAAE,MAAM,EACpB,mBAAmB,EAAE,MAAM,EAC3B,oBAAoB,GAAE,MAAM,GAAG,IAAW,EAC1C,UAAU,GAAE,MAAgB,GAC3B;QACD,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;QACvC,eAAe,EAAE,MAAM,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;QACpC,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,aAAa,CAAC;KAC/C;IAcD;;OAEG;IACH,SAAS,IAAI,OAAO;IAMpB;;OAEG;IACH,cAAc,IAAI,MAAM;IAKxB;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,wBAAwB,IAAI,MAAM;CAQnC"}