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,132 @@
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.CliInstanceEntity = void 0;
37
+ const os = __importStar(require("os"));
38
+ /**
39
+ * CLI Instance Entity
40
+ * Represents a single CLI installation on a specific computer
41
+ */
42
+ class CliInstanceEntity {
43
+ id;
44
+ instanceName;
45
+ hostname;
46
+ platform;
47
+ platformVersion;
48
+ nodeVersion;
49
+ appVersion;
50
+ downloadDefaultPath;
51
+ downloadFallbackPath;
52
+ status;
53
+ lastHeartbeatAt;
54
+ lastJobAt;
55
+ totalJobsProcessed;
56
+ totalJobsFailed;
57
+ totalBytesDownloaded;
58
+ createdAt;
59
+ updatedAt;
60
+ constructor(id, instanceName, hostname, platform, platformVersion, nodeVersion, appVersion, downloadDefaultPath, downloadFallbackPath, status, lastHeartbeatAt, lastJobAt, totalJobsProcessed, totalJobsFailed, totalBytesDownloaded, createdAt, updatedAt) {
61
+ this.id = id;
62
+ this.instanceName = instanceName;
63
+ this.hostname = hostname;
64
+ this.platform = platform;
65
+ this.platformVersion = platformVersion;
66
+ this.nodeVersion = nodeVersion;
67
+ this.appVersion = appVersion;
68
+ this.downloadDefaultPath = downloadDefaultPath;
69
+ this.downloadFallbackPath = downloadFallbackPath;
70
+ this.status = status;
71
+ this.lastHeartbeatAt = lastHeartbeatAt;
72
+ this.lastJobAt = lastJobAt;
73
+ this.totalJobsProcessed = totalJobsProcessed;
74
+ this.totalJobsFailed = totalJobsFailed;
75
+ this.totalBytesDownloaded = totalBytesDownloaded;
76
+ this.createdAt = createdAt;
77
+ this.updatedAt = updatedAt;
78
+ }
79
+ /**
80
+ * Create instance info from current system
81
+ */
82
+ static createFromSystem(instanceName, downloadDefaultPath, downloadFallbackPath = null, appVersion = '1.0.0') {
83
+ return {
84
+ instanceName,
85
+ hostname: os.hostname(),
86
+ platform: process.platform,
87
+ platformVersion: os.release(),
88
+ nodeVersion: process.version,
89
+ appVersion,
90
+ downloadDefaultPath,
91
+ downloadFallbackPath,
92
+ status: 'active',
93
+ };
94
+ }
95
+ /**
96
+ * Check if instance is healthy (heartbeat within last 5 minutes)
97
+ */
98
+ isHealthy() {
99
+ if (!this.lastHeartbeatAt)
100
+ return false;
101
+ const fiveMinutesAgo = new Date(Date.now() - 5 * 60 * 1000);
102
+ return this.lastHeartbeatAt > fiveMinutesAgo;
103
+ }
104
+ /**
105
+ * Get failure rate percentage
106
+ */
107
+ getFailureRate() {
108
+ if (this.totalJobsProcessed === 0)
109
+ return 0;
110
+ return (this.totalJobsFailed / this.totalJobsProcessed) * 100;
111
+ }
112
+ /**
113
+ * Get success rate percentage
114
+ */
115
+ getSuccessRate() {
116
+ return 100 - this.getFailureRate();
117
+ }
118
+ /**
119
+ * Get formatted download size
120
+ */
121
+ getFormattedDownloadSize() {
122
+ const bytes = this.totalBytesDownloaded;
123
+ if (bytes === 0)
124
+ return '0 B';
125
+ const k = 1024;
126
+ const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];
127
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
128
+ return `${(bytes / Math.pow(k, i)).toFixed(2)} ${sizes[i]}`;
129
+ }
130
+ }
131
+ exports.CliInstanceEntity = CliInstanceEntity;
132
+ //# sourceMappingURL=cli-instance.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-instance.entity.js","sourceRoot":"","sources":["../../../src/domain/entities/cli-instance.entity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { MessageEntity } from './message.entity';
2
+ export { LogEntryEntity } from './log-entry.entity';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/domain/entities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LogEntryEntity = exports.MessageEntity = void 0;
4
+ var message_entity_1 = require("./message.entity");
5
+ Object.defineProperty(exports, "MessageEntity", { enumerable: true, get: function () { return message_entity_1.MessageEntity; } });
6
+ var log_entry_entity_1 = require("./log-entry.entity");
7
+ Object.defineProperty(exports, "LogEntryEntity", { enumerable: true, get: function () { return log_entry_entity_1.LogEntryEntity; } });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain/entities/index.ts"],"names":[],"mappings":";;;AAAA,mDAAiD;AAAxC,+GAAA,aAAa,OAAA;AACtB,uDAAoD;AAA3C,kHAAA,cAAc,OAAA"}
@@ -0,0 +1,60 @@
1
+ import { LogLevel } from '../enums';
2
+ /**
3
+ * Log Entry Entity
4
+ * Represents a log entry in the domain with business logic
5
+ */
6
+ export declare class LogEntryEntity {
7
+ id: string;
8
+ message_id: string;
9
+ log_level: LogLevel;
10
+ log_message: string;
11
+ created_at: Date;
12
+ log_data?: Record<string, any>;
13
+ stack_trace?: string;
14
+ constructor(id: string, message_id: string, log_level: LogLevel, log_message: string, created_at: Date);
15
+ /**
16
+ * Creates an INFO level log entry
17
+ * @param messageId - ID of the message this log belongs to
18
+ * @param message - Log message
19
+ * @param data - Optional structured data
20
+ * @returns LogEntryEntity
21
+ */
22
+ static createInfo(messageId: string, message: string, data?: Record<string, any>): LogEntryEntity;
23
+ /**
24
+ * Creates an ERROR level log entry
25
+ * @param messageId - ID of the message this log belongs to
26
+ * @param message - Log message
27
+ * @param error - Error object
28
+ * @param data - Optional structured data
29
+ * @returns LogEntryEntity
30
+ */
31
+ static createError(messageId: string, message: string, error: Error, data?: Record<string, any>): LogEntryEntity;
32
+ /**
33
+ * Creates a WARN level log entry
34
+ * @param messageId - ID of the message this log belongs to
35
+ * @param message - Log message
36
+ * @param data - Optional structured data
37
+ * @returns LogEntryEntity
38
+ */
39
+ static createWarn(messageId: string, message: string, data?: Record<string, any>): LogEntryEntity;
40
+ /**
41
+ * Creates a DEBUG level log entry
42
+ * @param messageId - ID of the message this log belongs to
43
+ * @param message - Log message
44
+ * @param data - Optional structured data
45
+ * @returns LogEntryEntity
46
+ */
47
+ static createDebug(messageId: string, message: string, data?: Record<string, any>): LogEntryEntity;
48
+ /**
49
+ * Checks if this is an error log
50
+ * @returns true if ERROR level, false otherwise
51
+ */
52
+ isError(): boolean;
53
+ /**
54
+ * Adds structured data to the log entry
55
+ * @param data - Data to add
56
+ * @returns this for method chaining
57
+ */
58
+ withData(data: Record<string, any>): this;
59
+ }
60
+ //# sourceMappingURL=log-entry.entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-entry.entity.d.ts","sourceRoot":"","sources":["../../../src/domain/entities/log-entry.entity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC;;;GAGG;AACH,qBAAa,cAAc;IAKhB,EAAE,EAAE,MAAM;IACV,UAAU,EAAE,MAAM;IAClB,SAAS,EAAE,QAAQ;IACnB,WAAW,EAAE,MAAM;IACnB,UAAU,EAAE,IAAI;IARzB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;gBAGZ,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,QAAQ,EACnB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,IAAI;IAGzB;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,cAAc;IAQjG;;;;;;;OAOG;IACH,MAAM,CAAC,WAAW,CAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,KAAK,EACZ,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACzB,cAAc;IASjB;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,cAAc;IAQjG;;;;;;OAMG;IACH,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,cAAc;IAQlG;;;OAGG;IACH,OAAO,IAAI,OAAO;IAIlB;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;CAI1C"}
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LogEntryEntity = void 0;
4
+ const crypto_1 = require("crypto");
5
+ const enums_1 = require("../enums");
6
+ /**
7
+ * Log Entry Entity
8
+ * Represents a log entry in the domain with business logic
9
+ */
10
+ class LogEntryEntity {
11
+ id;
12
+ message_id;
13
+ log_level;
14
+ log_message;
15
+ created_at;
16
+ log_data;
17
+ stack_trace;
18
+ constructor(id, message_id, log_level, log_message, created_at) {
19
+ this.id = id;
20
+ this.message_id = message_id;
21
+ this.log_level = log_level;
22
+ this.log_message = log_message;
23
+ this.created_at = created_at;
24
+ }
25
+ /**
26
+ * Creates an INFO level log entry
27
+ * @param messageId - ID of the message this log belongs to
28
+ * @param message - Log message
29
+ * @param data - Optional structured data
30
+ * @returns LogEntryEntity
31
+ */
32
+ static createInfo(messageId, message, data) {
33
+ const entity = new LogEntryEntity((0, crypto_1.randomUUID)(), messageId, enums_1.LogLevel.INFO, message, new Date());
34
+ if (data) {
35
+ entity.log_data = data;
36
+ }
37
+ return entity;
38
+ }
39
+ /**
40
+ * Creates an ERROR level log entry
41
+ * @param messageId - ID of the message this log belongs to
42
+ * @param message - Log message
43
+ * @param error - Error object
44
+ * @param data - Optional structured data
45
+ * @returns LogEntryEntity
46
+ */
47
+ static createError(messageId, message, error, data) {
48
+ const entity = new LogEntryEntity((0, crypto_1.randomUUID)(), messageId, enums_1.LogLevel.ERROR, message, new Date());
49
+ entity.stack_trace = error.stack;
50
+ if (data) {
51
+ entity.log_data = data;
52
+ }
53
+ return entity;
54
+ }
55
+ /**
56
+ * Creates a WARN level log entry
57
+ * @param messageId - ID of the message this log belongs to
58
+ * @param message - Log message
59
+ * @param data - Optional structured data
60
+ * @returns LogEntryEntity
61
+ */
62
+ static createWarn(messageId, message, data) {
63
+ const entity = new LogEntryEntity((0, crypto_1.randomUUID)(), messageId, enums_1.LogLevel.WARN, message, new Date());
64
+ if (data) {
65
+ entity.log_data = data;
66
+ }
67
+ return entity;
68
+ }
69
+ /**
70
+ * Creates a DEBUG level log entry
71
+ * @param messageId - ID of the message this log belongs to
72
+ * @param message - Log message
73
+ * @param data - Optional structured data
74
+ * @returns LogEntryEntity
75
+ */
76
+ static createDebug(messageId, message, data) {
77
+ const entity = new LogEntryEntity((0, crypto_1.randomUUID)(), messageId, enums_1.LogLevel.DEBUG, message, new Date());
78
+ if (data) {
79
+ entity.log_data = data;
80
+ }
81
+ return entity;
82
+ }
83
+ /**
84
+ * Checks if this is an error log
85
+ * @returns true if ERROR level, false otherwise
86
+ */
87
+ isError() {
88
+ return this.log_level === enums_1.LogLevel.ERROR;
89
+ }
90
+ /**
91
+ * Adds structured data to the log entry
92
+ * @param data - Data to add
93
+ * @returns this for method chaining
94
+ */
95
+ withData(data) {
96
+ this.log_data = data;
97
+ return this;
98
+ }
99
+ }
100
+ exports.LogEntryEntity = LogEntryEntity;
101
+ //# sourceMappingURL=log-entry.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-entry.entity.js","sourceRoot":"","sources":["../../../src/domain/entities/log-entry.entity.ts"],"names":[],"mappings":";;;AAAA,mCAAoC;AACpC,oCAAoC;AAEpC;;;GAGG;AACH,MAAa,cAAc;IAKhB;IACA;IACA;IACA;IACA;IART,QAAQ,CAAuB;IAC/B,WAAW,CAAU;IAErB,YACS,EAAU,EACV,UAAkB,EAClB,SAAmB,EACnB,WAAmB,EACnB,UAAgB;QAJhB,OAAE,GAAF,EAAE,CAAQ;QACV,eAAU,GAAV,UAAU,CAAQ;QAClB,cAAS,GAAT,SAAS,CAAU;QACnB,gBAAW,GAAX,WAAW,CAAQ;QACnB,eAAU,GAAV,UAAU,CAAM;IACtB,CAAC;IAEJ;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAC,SAAiB,EAAE,OAAe,EAAE,IAA0B;QAC9E,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,IAAA,mBAAU,GAAE,EAAE,SAAS,EAAE,gBAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QAC/F,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QACzB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,WAAW,CAChB,SAAiB,EACjB,OAAe,EACf,KAAY,EACZ,IAA0B;QAE1B,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,IAAA,mBAAU,GAAE,EAAE,SAAS,EAAE,gBAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QAChG,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC;QACjC,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QACzB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAC,SAAiB,EAAE,OAAe,EAAE,IAA0B;QAC9E,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,IAAA,mBAAU,GAAE,EAAE,SAAS,EAAE,gBAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QAC/F,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QACzB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,WAAW,CAAC,SAAiB,EAAE,OAAe,EAAE,IAA0B;QAC/E,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,IAAA,mBAAU,GAAE,EAAE,SAAS,EAAE,gBAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QAChG,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QACzB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,SAAS,KAAK,gBAAQ,CAAC,KAAK,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,IAAyB;QAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAhGD,wCAgGC"}
@@ -0,0 +1,64 @@
1
+ import { MessageStatus, ErrorCategory } from '../enums';
2
+ /**
3
+ * Message Entity
4
+ * Represents a message in the domain with business logic
5
+ */
6
+ export declare class MessageEntity {
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?: ErrorCategory;
22
+ retry_count?: number;
23
+ created_at?: Date;
24
+ updated_at?: Date;
25
+ deleted_from_queue_at?: Date;
26
+ processed_by_instance_id?: string;
27
+ processed_by_instance_name?: string;
28
+ processed_by_hostname?: string;
29
+ processed_by_platform?: string;
30
+ constructor(id: string, pgmq_message_id: number, file_url: string, target_folder: string, status: MessageStatus, received_at: Date, instanceId?: string, instanceName?: string, hostname?: string, platform?: string);
31
+ /**
32
+ * Marks the message as processing
33
+ */
34
+ markAsProcessing(): void;
35
+ /**
36
+ * Marks the message as completed with file metadata
37
+ * @param fileName - Name of the downloaded file
38
+ * @param filePath - Complete path where the file was saved
39
+ * @param fileSizeBytes - Size of the file in bytes
40
+ * @param downloadDurationMs - Time taken to download in milliseconds
41
+ */
42
+ markAsCompleted(fileName: string, filePath: string, fileSizeBytes: number, downloadDurationMs: number): void;
43
+ /**
44
+ * Marks the message as failed with error details
45
+ * @param errorMessage - Error message
46
+ * @param errorCategory - Category of the error
47
+ */
48
+ markAsFailed(errorMessage: string, errorCategory: ErrorCategory): void;
49
+ /**
50
+ * Marks the message as deleted from the queue
51
+ */
52
+ markAsDeletedFromQueue(): void;
53
+ /**
54
+ * Checks if the message is completed
55
+ * @returns true if completed, false otherwise
56
+ */
57
+ isCompleted(): boolean;
58
+ /**
59
+ * Checks if the message failed
60
+ * @returns true if failed, false otherwise
61
+ */
62
+ isFailed(): boolean;
63
+ }
64
+ //# sourceMappingURL=message.entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.entity.d.ts","sourceRoot":"","sources":["../../../src/domain/entities/message.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAExD;;;GAGG;AACH,qBAAa,aAAa;IAuBf,EAAE,EAAE,MAAM;IACV,eAAe,EAAE,MAAM;IACvB,QAAQ,EAAE,MAAM;IAChB,aAAa,EAAE,MAAM;IACrB,MAAM,EAAE,aAAa;IACrB,WAAW,EAAE,IAAI;IA1B1B,qBAAqB,CAAC,EAAE,IAAI,CAAC;IAC7B,uBAAuB,CAAC,EAAE,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,qBAAqB,CAAC,EAAE,IAAI,CAAC;IAG7B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,qBAAqB,CAAC,EAAE,MAAM,CAAC;gBAGtB,EAAE,EAAE,MAAM,EACV,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,IAAI,EACxB,UAAU,CAAC,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,MAAM,EACrB,QAAQ,CAAC,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM;IAQnB;;OAEG;IACH,gBAAgB,IAAI,IAAI;IAKxB;;;;;;OAMG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,IAAI;IAc5G;;;;OAIG;IACH,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,GAAG,IAAI;IAYtE;;OAEG;IACH,sBAAsB,IAAI,IAAI;IAI9B;;;OAGG;IACH,WAAW,IAAI,OAAO;IAItB;;;OAGG;IACH,QAAQ,IAAI,OAAO;CAGpB"}
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MessageEntity = void 0;
4
+ const enums_1 = require("../enums");
5
+ /**
6
+ * Message Entity
7
+ * Represents a message in the domain with business logic
8
+ */
9
+ class MessageEntity {
10
+ id;
11
+ pgmq_message_id;
12
+ file_url;
13
+ target_folder;
14
+ status;
15
+ received_at;
16
+ // Optional fields
17
+ processing_started_at;
18
+ processing_completed_at;
19
+ file_name;
20
+ file_path;
21
+ file_size_bytes;
22
+ download_duration_ms;
23
+ total_duration_ms;
24
+ error_message;
25
+ error_category;
26
+ retry_count;
27
+ created_at;
28
+ updated_at;
29
+ deleted_from_queue_at;
30
+ // Instance tracking fields
31
+ processed_by_instance_id;
32
+ processed_by_instance_name;
33
+ processed_by_hostname;
34
+ processed_by_platform;
35
+ constructor(id, pgmq_message_id, file_url, target_folder, status, received_at, instanceId, instanceName, hostname, platform) {
36
+ this.id = id;
37
+ this.pgmq_message_id = pgmq_message_id;
38
+ this.file_url = file_url;
39
+ this.target_folder = target_folder;
40
+ this.status = status;
41
+ this.received_at = received_at;
42
+ this.processed_by_instance_id = instanceId;
43
+ this.processed_by_instance_name = instanceName;
44
+ this.processed_by_hostname = hostname;
45
+ this.processed_by_platform = platform;
46
+ }
47
+ /**
48
+ * Marks the message as processing
49
+ */
50
+ markAsProcessing() {
51
+ this.status = enums_1.MessageStatus.PROCESSING;
52
+ this.processing_started_at = new Date();
53
+ }
54
+ /**
55
+ * Marks the message as completed with file metadata
56
+ * @param fileName - Name of the downloaded file
57
+ * @param filePath - Complete path where the file was saved
58
+ * @param fileSizeBytes - Size of the file in bytes
59
+ * @param downloadDurationMs - Time taken to download in milliseconds
60
+ */
61
+ markAsCompleted(fileName, filePath, fileSizeBytes, downloadDurationMs) {
62
+ this.status = enums_1.MessageStatus.COMPLETED;
63
+ this.file_name = fileName;
64
+ this.file_path = filePath;
65
+ this.file_size_bytes = fileSizeBytes;
66
+ this.download_duration_ms = downloadDurationMs;
67
+ this.processing_completed_at = new Date();
68
+ // Calculate total duration if processing started
69
+ if (this.processing_started_at) {
70
+ this.total_duration_ms = this.processing_completed_at.getTime() - this.processing_started_at.getTime();
71
+ }
72
+ }
73
+ /**
74
+ * Marks the message as failed with error details
75
+ * @param errorMessage - Error message
76
+ * @param errorCategory - Category of the error
77
+ */
78
+ markAsFailed(errorMessage, errorCategory) {
79
+ this.status = enums_1.MessageStatus.FAILED;
80
+ this.error_message = errorMessage;
81
+ this.error_category = errorCategory;
82
+ this.processing_completed_at = new Date();
83
+ // Calculate total duration if processing started
84
+ if (this.processing_started_at) {
85
+ this.total_duration_ms = this.processing_completed_at.getTime() - this.processing_started_at.getTime();
86
+ }
87
+ }
88
+ /**
89
+ * Marks the message as deleted from the queue
90
+ */
91
+ markAsDeletedFromQueue() {
92
+ this.deleted_from_queue_at = new Date();
93
+ }
94
+ /**
95
+ * Checks if the message is completed
96
+ * @returns true if completed, false otherwise
97
+ */
98
+ isCompleted() {
99
+ return this.status === enums_1.MessageStatus.COMPLETED;
100
+ }
101
+ /**
102
+ * Checks if the message failed
103
+ * @returns true if failed, false otherwise
104
+ */
105
+ isFailed() {
106
+ return this.status === enums_1.MessageStatus.FAILED;
107
+ }
108
+ }
109
+ exports.MessageEntity = MessageEntity;
110
+ //# sourceMappingURL=message.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.entity.js","sourceRoot":"","sources":["../../../src/domain/entities/message.entity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Error category enum
3
+ * Categorizes errors for easier diagnosis and monitoring
4
+ */
5
+ export declare enum ErrorCategory {
6
+ NETWORK = "network",
7
+ FILESYSTEM = "filesystem",
8
+ VALIDATION = "validation",
9
+ UNKNOWN = "unknown"
10
+ }
11
+ //# sourceMappingURL=error-category.enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-category.enum.d.ts","sourceRoot":"","sources":["../../../src/domain/enums/error-category.enum.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,aAAa;IACvB,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,OAAO,YAAY;CACpB"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ErrorCategory = void 0;
4
+ /**
5
+ * Error category enum
6
+ * Categorizes errors for easier diagnosis and monitoring
7
+ */
8
+ var ErrorCategory;
9
+ (function (ErrorCategory) {
10
+ ErrorCategory["NETWORK"] = "network";
11
+ ErrorCategory["FILESYSTEM"] = "filesystem";
12
+ ErrorCategory["VALIDATION"] = "validation";
13
+ ErrorCategory["UNKNOWN"] = "unknown";
14
+ })(ErrorCategory || (exports.ErrorCategory = ErrorCategory = {}));
15
+ //# sourceMappingURL=error-category.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-category.enum.js","sourceRoot":"","sources":["../../../src/domain/enums/error-category.enum.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,oCAAmB,CAAA;IACnB,0CAAyB,CAAA;IACzB,0CAAyB,CAAA;IACzB,oCAAmB,CAAA;AACrB,CAAC,EALW,aAAa,6BAAb,aAAa,QAKxB"}
@@ -0,0 +1,4 @@
1
+ export { MessageStatus } from './message-status.enum';
2
+ export { ErrorCategory } from './error-category.enum';
3
+ export { LogLevel } from './log-level.enum';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/domain/enums/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LogLevel = exports.ErrorCategory = exports.MessageStatus = void 0;
4
+ var message_status_enum_1 = require("./message-status.enum");
5
+ Object.defineProperty(exports, "MessageStatus", { enumerable: true, get: function () { return message_status_enum_1.MessageStatus; } });
6
+ var error_category_enum_1 = require("./error-category.enum");
7
+ Object.defineProperty(exports, "ErrorCategory", { enumerable: true, get: function () { return error_category_enum_1.ErrorCategory; } });
8
+ var log_level_enum_1 = require("./log-level.enum");
9
+ Object.defineProperty(exports, "LogLevel", { enumerable: true, get: function () { return log_level_enum_1.LogLevel; } });
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain/enums/index.ts"],"names":[],"mappings":";;;AAAA,6DAAsD;AAA7C,oHAAA,aAAa,OAAA;AACtB,6DAAsD;AAA7C,oHAAA,aAAa,OAAA;AACtB,mDAA4C;AAAnC,0GAAA,QAAQ,OAAA"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Log level enum
3
+ * Defines the severity levels for logging
4
+ */
5
+ export declare enum LogLevel {
6
+ INFO = "INFO",
7
+ WARN = "WARN",
8
+ ERROR = "ERROR",
9
+ DEBUG = "DEBUG"
10
+ }
11
+ //# sourceMappingURL=log-level.enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-level.enum.d.ts","sourceRoot":"","sources":["../../../src/domain/enums/log-level.enum.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,QAAQ;IAClB,IAAI,SAAS;IACb,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;CAChB"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LogLevel = void 0;
4
+ /**
5
+ * Log level enum
6
+ * Defines the severity levels for logging
7
+ */
8
+ var LogLevel;
9
+ (function (LogLevel) {
10
+ LogLevel["INFO"] = "INFO";
11
+ LogLevel["WARN"] = "WARN";
12
+ LogLevel["ERROR"] = "ERROR";
13
+ LogLevel["DEBUG"] = "DEBUG";
14
+ })(LogLevel || (exports.LogLevel = LogLevel = {}));
15
+ //# sourceMappingURL=log-level.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-level.enum.js","sourceRoot":"","sources":["../../../src/domain/enums/log-level.enum.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,yBAAa,CAAA;IACb,yBAAa,CAAA;IACb,2BAAe,CAAA;IACf,2BAAe,CAAA;AACjB,CAAC,EALW,QAAQ,wBAAR,QAAQ,QAKnB"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Message processing status enum
3
+ * Represents the lifecycle of a message from receipt to completion
4
+ */
5
+ export declare enum MessageStatus {
6
+ RECEIVED = "received",
7
+ PROCESSING = "processing",
8
+ COMPLETED = "completed",
9
+ FAILED = "failed"
10
+ }
11
+ //# sourceMappingURL=message-status.enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-status.enum.d.ts","sourceRoot":"","sources":["../../../src/domain/enums/message-status.enum.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,aAAa;IACvB,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,MAAM,WAAW;CAClB"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MessageStatus = void 0;
4
+ /**
5
+ * Message processing status enum
6
+ * Represents the lifecycle of a message from receipt to completion
7
+ */
8
+ var MessageStatus;
9
+ (function (MessageStatus) {
10
+ MessageStatus["RECEIVED"] = "received";
11
+ MessageStatus["PROCESSING"] = "processing";
12
+ MessageStatus["COMPLETED"] = "completed";
13
+ MessageStatus["FAILED"] = "failed";
14
+ })(MessageStatus || (exports.MessageStatus = MessageStatus = {}));
15
+ //# sourceMappingURL=message-status.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-status.enum.js","sourceRoot":"","sources":["../../../src/domain/enums/message-status.enum.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,sCAAqB,CAAA;IACrB,0CAAyB,CAAA;IACzB,wCAAuB,CAAA;IACvB,kCAAiB,CAAA;AACnB,CAAC,EALW,aAAa,6BAAb,aAAa,QAKxB"}