digitaltwin-core 0.14.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 (227) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +494 -359
  3. package/dist/auth/apisix_parser.d.ts +141 -0
  4. package/dist/auth/apisix_parser.d.ts.map +1 -0
  5. package/dist/auth/apisix_parser.js +161 -0
  6. package/dist/auth/apisix_parser.js.map +1 -0
  7. package/dist/auth/auth_config.d.ts +126 -0
  8. package/dist/auth/auth_config.d.ts.map +1 -0
  9. package/dist/auth/auth_config.js +169 -0
  10. package/dist/auth/auth_config.js.map +1 -0
  11. package/dist/auth/auth_provider.d.ts +118 -0
  12. package/dist/auth/auth_provider.d.ts.map +1 -0
  13. package/dist/auth/auth_provider.js +8 -0
  14. package/dist/auth/auth_provider.js.map +1 -0
  15. package/dist/auth/auth_provider_factory.d.ts +91 -0
  16. package/dist/auth/auth_provider_factory.d.ts.map +1 -0
  17. package/dist/auth/auth_provider_factory.js +146 -0
  18. package/dist/auth/auth_provider_factory.js.map +1 -0
  19. package/dist/auth/index.d.ts +8 -0
  20. package/dist/auth/index.d.ts.map +1 -0
  21. package/dist/auth/index.js +7 -0
  22. package/dist/auth/index.js.map +1 -0
  23. package/dist/auth/providers/gateway_auth_provider.d.ts +78 -0
  24. package/dist/auth/providers/gateway_auth_provider.d.ts.map +1 -0
  25. package/dist/auth/providers/gateway_auth_provider.js +109 -0
  26. package/dist/auth/providers/gateway_auth_provider.js.map +1 -0
  27. package/dist/auth/providers/index.d.ts +4 -0
  28. package/dist/auth/providers/index.d.ts.map +1 -0
  29. package/dist/auth/providers/index.js +4 -0
  30. package/dist/auth/providers/index.js.map +1 -0
  31. package/dist/auth/providers/jwt_auth_provider.d.ts +91 -0
  32. package/dist/auth/providers/jwt_auth_provider.d.ts.map +1 -0
  33. package/dist/auth/providers/jwt_auth_provider.js +204 -0
  34. package/dist/auth/providers/jwt_auth_provider.js.map +1 -0
  35. package/dist/auth/providers/no_auth_provider.d.ts +61 -0
  36. package/dist/auth/providers/no_auth_provider.d.ts.map +1 -0
  37. package/dist/auth/providers/no_auth_provider.js +76 -0
  38. package/dist/auth/providers/no_auth_provider.js.map +1 -0
  39. package/dist/auth/types.d.ts +100 -0
  40. package/dist/auth/types.d.ts.map +1 -0
  41. package/dist/auth/types.js +2 -0
  42. package/dist/auth/types.js.map +1 -0
  43. package/dist/auth/user_service.d.ts +86 -0
  44. package/dist/auth/user_service.d.ts.map +1 -0
  45. package/dist/auth/user_service.js +237 -0
  46. package/dist/auth/user_service.js.map +1 -0
  47. package/dist/components/assets_manager.d.ts +662 -0
  48. package/dist/components/assets_manager.d.ts.map +1 -0
  49. package/dist/components/assets_manager.js +1537 -0
  50. package/dist/components/assets_manager.js.map +1 -0
  51. package/dist/components/async_upload.d.ts +20 -0
  52. package/dist/components/async_upload.d.ts.map +1 -0
  53. package/dist/components/async_upload.js +10 -0
  54. package/dist/components/async_upload.js.map +1 -0
  55. package/dist/components/collector.d.ts +203 -0
  56. package/dist/components/collector.d.ts.map +1 -0
  57. package/dist/components/collector.js +214 -0
  58. package/dist/components/collector.js.map +1 -0
  59. package/dist/components/custom_table_manager.d.ts +503 -0
  60. package/dist/components/custom_table_manager.d.ts.map +1 -0
  61. package/dist/components/custom_table_manager.js +1023 -0
  62. package/dist/components/custom_table_manager.js.map +1 -0
  63. package/dist/components/global_assets_handler.d.ts +63 -0
  64. package/dist/components/global_assets_handler.d.ts.map +1 -0
  65. package/dist/components/global_assets_handler.js +127 -0
  66. package/dist/components/global_assets_handler.js.map +1 -0
  67. package/dist/components/handler.d.ts +104 -0
  68. package/dist/components/handler.d.ts.map +1 -0
  69. package/dist/components/handler.js +110 -0
  70. package/dist/components/handler.js.map +1 -0
  71. package/dist/components/harvester.d.ts +182 -0
  72. package/dist/components/harvester.d.ts.map +1 -0
  73. package/dist/components/harvester.js +406 -0
  74. package/dist/components/harvester.js.map +1 -0
  75. package/dist/components/index.d.ts +11 -0
  76. package/dist/components/index.d.ts.map +1 -0
  77. package/dist/components/index.js +9 -0
  78. package/dist/components/index.js.map +1 -0
  79. package/dist/components/interfaces.d.ts +126 -0
  80. package/dist/components/interfaces.d.ts.map +1 -0
  81. package/dist/components/interfaces.js +8 -0
  82. package/dist/components/interfaces.js.map +1 -0
  83. package/dist/components/map_manager.d.ts +61 -0
  84. package/dist/components/map_manager.d.ts.map +1 -0
  85. package/dist/components/map_manager.js +242 -0
  86. package/dist/components/map_manager.js.map +1 -0
  87. package/dist/components/tileset_manager.d.ts +125 -0
  88. package/dist/components/tileset_manager.d.ts.map +1 -0
  89. package/dist/components/tileset_manager.js +623 -0
  90. package/dist/components/tileset_manager.js.map +1 -0
  91. package/dist/components/types.d.ts +226 -0
  92. package/dist/components/types.d.ts.map +1 -0
  93. package/dist/components/types.js +8 -0
  94. package/dist/components/types.js.map +1 -0
  95. package/dist/database/adapters/knex_database_adapter.d.ts +97 -0
  96. package/dist/database/adapters/knex_database_adapter.d.ts.map +1 -0
  97. package/dist/database/adapters/knex_database_adapter.js +729 -0
  98. package/dist/database/adapters/knex_database_adapter.js.map +1 -0
  99. package/dist/database/database_adapter.d.ts +262 -0
  100. package/dist/database/database_adapter.d.ts.map +1 -0
  101. package/dist/database/database_adapter.js +46 -0
  102. package/dist/database/database_adapter.js.map +1 -0
  103. package/dist/engine/digital_twin_engine.d.ts +295 -0
  104. package/dist/engine/digital_twin_engine.d.ts.map +1 -0
  105. package/dist/engine/digital_twin_engine.js +907 -0
  106. package/dist/engine/digital_twin_engine.js.map +1 -0
  107. package/dist/engine/endpoints.d.ts +47 -0
  108. package/dist/engine/endpoints.d.ts.map +1 -0
  109. package/dist/engine/endpoints.js +88 -0
  110. package/dist/engine/endpoints.js.map +1 -0
  111. package/dist/engine/error_handler.d.ts +20 -0
  112. package/dist/engine/error_handler.d.ts.map +1 -0
  113. package/dist/engine/error_handler.js +69 -0
  114. package/dist/engine/error_handler.js.map +1 -0
  115. package/dist/engine/events.d.ts +93 -0
  116. package/dist/engine/events.d.ts.map +1 -0
  117. package/dist/engine/events.js +71 -0
  118. package/dist/engine/events.js.map +1 -0
  119. package/dist/engine/health.d.ts +112 -0
  120. package/dist/engine/health.d.ts.map +1 -0
  121. package/dist/engine/health.js +190 -0
  122. package/dist/engine/health.js.map +1 -0
  123. package/dist/engine/initializer.d.ts +62 -0
  124. package/dist/engine/initializer.d.ts.map +1 -0
  125. package/dist/engine/initializer.js +108 -0
  126. package/dist/engine/initializer.js.map +1 -0
  127. package/dist/engine/queue_manager.d.ts +87 -0
  128. package/dist/engine/queue_manager.d.ts.map +1 -0
  129. package/dist/engine/queue_manager.js +196 -0
  130. package/dist/engine/queue_manager.js.map +1 -0
  131. package/dist/engine/scheduler.d.ts +30 -0
  132. package/dist/engine/scheduler.d.ts.map +1 -0
  133. package/dist/engine/scheduler.js +378 -0
  134. package/dist/engine/scheduler.js.map +1 -0
  135. package/dist/engine/upload_processor.d.ts +36 -0
  136. package/dist/engine/upload_processor.d.ts.map +1 -0
  137. package/dist/engine/upload_processor.js +113 -0
  138. package/dist/engine/upload_processor.js.map +1 -0
  139. package/dist/env/env.d.ts +134 -0
  140. package/dist/env/env.d.ts.map +1 -0
  141. package/dist/env/env.js +177 -0
  142. package/dist/env/env.js.map +1 -0
  143. package/dist/errors/index.d.ts +94 -0
  144. package/dist/errors/index.d.ts.map +1 -0
  145. package/dist/errors/index.js +149 -0
  146. package/dist/errors/index.js.map +1 -0
  147. package/dist/index.d.ts +55 -0
  148. package/dist/index.d.ts.map +1 -0
  149. package/dist/index.js +65 -0
  150. package/dist/index.js.map +1 -0
  151. package/dist/openapi/generator.d.ts +93 -0
  152. package/dist/openapi/generator.d.ts.map +1 -0
  153. package/dist/openapi/generator.js +293 -0
  154. package/dist/openapi/generator.js.map +1 -0
  155. package/dist/openapi/index.d.ts +9 -0
  156. package/dist/openapi/index.d.ts.map +1 -0
  157. package/dist/openapi/index.js +9 -0
  158. package/dist/openapi/index.js.map +1 -0
  159. package/dist/openapi/types.d.ts +182 -0
  160. package/dist/openapi/types.d.ts.map +1 -0
  161. package/dist/openapi/types.js +16 -0
  162. package/dist/openapi/types.js.map +1 -0
  163. package/dist/storage/adapters/local_storage_service.d.ts +57 -0
  164. package/dist/storage/adapters/local_storage_service.d.ts.map +1 -0
  165. package/dist/storage/adapters/local_storage_service.js +132 -0
  166. package/dist/storage/adapters/local_storage_service.js.map +1 -0
  167. package/dist/storage/adapters/ovh_storage_service.d.ts +72 -0
  168. package/dist/storage/adapters/ovh_storage_service.d.ts.map +1 -0
  169. package/dist/storage/adapters/ovh_storage_service.js +205 -0
  170. package/dist/storage/adapters/ovh_storage_service.js.map +1 -0
  171. package/dist/storage/storage_factory.d.ts +14 -0
  172. package/dist/storage/storage_factory.d.ts.map +1 -0
  173. package/dist/storage/storage_factory.js +43 -0
  174. package/dist/storage/storage_factory.js.map +1 -0
  175. package/dist/storage/storage_service.d.ts +163 -0
  176. package/dist/storage/storage_service.d.ts.map +1 -0
  177. package/dist/storage/storage_service.js +58 -0
  178. package/dist/storage/storage_service.js.map +1 -0
  179. package/dist/types/data_record.d.ts +123 -0
  180. package/dist/types/data_record.d.ts.map +1 -0
  181. package/dist/types/data_record.js +8 -0
  182. package/dist/types/data_record.js.map +1 -0
  183. package/dist/utils/graceful_shutdown.d.ts +44 -0
  184. package/dist/utils/graceful_shutdown.d.ts.map +1 -0
  185. package/dist/utils/graceful_shutdown.js +79 -0
  186. package/dist/utils/graceful_shutdown.js.map +1 -0
  187. package/dist/utils/http_responses.d.ts +175 -0
  188. package/dist/utils/http_responses.d.ts.map +1 -0
  189. package/dist/utils/http_responses.js +216 -0
  190. package/dist/utils/http_responses.js.map +1 -0
  191. package/dist/utils/index.d.ts +8 -0
  192. package/dist/utils/index.d.ts.map +1 -0
  193. package/dist/utils/index.js +6 -0
  194. package/dist/utils/index.js.map +1 -0
  195. package/dist/utils/logger.d.ts +74 -0
  196. package/dist/utils/logger.d.ts.map +1 -0
  197. package/dist/utils/logger.js +92 -0
  198. package/dist/utils/logger.js.map +1 -0
  199. package/dist/utils/map_to_data_record.d.ts +10 -0
  200. package/dist/utils/map_to_data_record.d.ts.map +1 -0
  201. package/dist/utils/map_to_data_record.js +36 -0
  202. package/dist/utils/map_to_data_record.js.map +1 -0
  203. package/dist/utils/safe_async.d.ts +50 -0
  204. package/dist/utils/safe_async.d.ts.map +1 -0
  205. package/dist/utils/safe_async.js +90 -0
  206. package/dist/utils/safe_async.js.map +1 -0
  207. package/dist/utils/servable_endpoint.d.ts +63 -0
  208. package/dist/utils/servable_endpoint.d.ts.map +1 -0
  209. package/dist/utils/servable_endpoint.js +67 -0
  210. package/dist/utils/servable_endpoint.js.map +1 -0
  211. package/dist/utils/zip_utils.d.ts +66 -0
  212. package/dist/utils/zip_utils.d.ts.map +1 -0
  213. package/dist/utils/zip_utils.js +169 -0
  214. package/dist/utils/zip_utils.js.map +1 -0
  215. package/dist/validation/index.d.ts +3 -0
  216. package/dist/validation/index.d.ts.map +1 -0
  217. package/dist/validation/index.js +7 -0
  218. package/dist/validation/index.js.map +1 -0
  219. package/dist/validation/schemas.d.ts +273 -0
  220. package/dist/validation/schemas.d.ts.map +1 -0
  221. package/dist/validation/schemas.js +82 -0
  222. package/dist/validation/schemas.js.map +1 -0
  223. package/dist/validation/validate.d.ts +49 -0
  224. package/dist/validation/validate.d.ts.map +1 -0
  225. package/dist/validation/validate.js +110 -0
  226. package/dist/validation/validate.js.map +1 -0
  227. package/package.json +23 -13
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assets_manager.js","sourceRoot":"","sources":["../../src/components/assets_manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { Queue } from 'bullmq';
2
+ /**
3
+ * Interface for components that support async upload processing.
4
+ *
5
+ * Components implementing this interface will have the upload queue
6
+ * automatically injected by the DigitalTwinEngine, allowing them to
7
+ * queue long-running upload jobs instead of processing synchronously.
8
+ */
9
+ export interface AsyncUploadable {
10
+ /**
11
+ * Set the upload queue for async job processing
12
+ * @param queue - BullMQ queue for uploads
13
+ */
14
+ setUploadQueue(queue: Queue): void;
15
+ }
16
+ /**
17
+ * Type guard to check if a component supports async uploads
18
+ */
19
+ export declare function isAsyncUploadable(component: unknown): component is AsyncUploadable;
20
+ //# sourceMappingURL=async_upload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async_upload.d.ts","sourceRoot":"","sources":["../../src/components/async_upload.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAEnC;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC5B;;;OAGG;IACH,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CACrC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS,IAAI,eAAe,CAOlF"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Type guard to check if a component supports async uploads
3
+ */
4
+ export function isAsyncUploadable(component) {
5
+ return (typeof component === 'object' &&
6
+ component !== null &&
7
+ 'setUploadQueue' in component &&
8
+ typeof component.setUploadQueue === 'function');
9
+ }
10
+ //# sourceMappingURL=async_upload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async_upload.js","sourceRoot":"","sources":["../../src/components/async_upload.ts"],"names":[],"mappings":"AAkBA;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAAkB;IAChD,OAAO,CACH,OAAO,SAAS,KAAK,QAAQ;QAC7B,SAAS,KAAK,IAAI;QAClB,gBAAgB,IAAI,SAAS;QAC7B,OAAQ,SAAiB,CAAC,cAAc,KAAK,UAAU,CAC1D,CAAA;AACL,CAAC"}
@@ -0,0 +1,203 @@
1
+ import type { Component, ScheduleRunnable, Servable } from './interfaces.js';
2
+ import type { CollectorConfiguration } from './types.js';
3
+ import type { DatabaseAdapter } from '../database/database_adapter.js';
4
+ import type { StorageService } from '../storage/storage_service.js';
5
+ import type { DataResponse } from './types.js';
6
+ import type { HttpMethod } from '../engine/endpoints.js';
7
+ import type { OpenAPIDocumentable, OpenAPIComponentSpec } from '../openapi/types.js';
8
+ /**
9
+ * Abstract base class for data collection components in the Digital Twin framework.
10
+ *
11
+ * A Collector is responsible for:
12
+ * - Fetching raw data from external sources on a scheduled basis
13
+ * - Persisting data through the StorageService
14
+ * - Indexing metadata via the DatabaseAdapter
15
+ * - Exposing HTTP endpoints for data retrieval
16
+ *
17
+ * @abstract
18
+ * @class Collector
19
+ * @implements {Component<CollectorConfiguration>}
20
+ * @implements {ScheduleRunnable}
21
+ * @implements {Servable}
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * class WeatherCollector extends Collector {
26
+ * getConfiguration(): CollectorConfiguration {
27
+ * return {
28
+ * name: 'weather-data',
29
+ * description: 'Collects weather information from API',
30
+ * contentType: 'application/json',
31
+ * endpoint: 'weather'
32
+ * }
33
+ * }
34
+ *
35
+ * getSchedule(): string {
36
+ * return '0 *\/15 * * * *' // Every 15 minutes
37
+ * }
38
+ *
39
+ * async collect(): Promise<Buffer> {
40
+ * const response = await fetch('https://api.weather.com/data')
41
+ * return Buffer.from(await response.text())
42
+ * }
43
+ * }
44
+ * ```
45
+ */
46
+ export declare abstract class Collector implements Component<CollectorConfiguration>, ScheduleRunnable, Servable, OpenAPIDocumentable {
47
+ /** Database adapter for persisting collection metadata */
48
+ protected db: DatabaseAdapter;
49
+ /** Storage service for persisting collected data blobs */
50
+ protected storage: StorageService;
51
+ /**
52
+ * Injects required dependencies into the collector instance.
53
+ *
54
+ * Called by the Digital Twin Engine during component initialization.
55
+ *
56
+ * @param {DatabaseAdapter} db - Database adapter for metadata operations
57
+ * @param {StorageService} storage - Storage service for data persistence
58
+ *
59
+ * @example
60
+ * ```typescript
61
+ * const collector = new MyCollector()
62
+ * collector.setDependencies(databaseAdapter, storageService)
63
+ * ```
64
+ */
65
+ setDependencies(db: DatabaseAdapter, storage: StorageService): void;
66
+ /**
67
+ * Returns the static configuration defining this collector's behavior.
68
+ *
69
+ * The configuration includes the collector name, description, content type,
70
+ * and HTTP endpoint path for data retrieval.
71
+ *
72
+ * @abstract
73
+ * @returns {CollectorConfiguration} The collector configuration
74
+ *
75
+ * @example
76
+ * ```typescript
77
+ * getConfiguration(): CollectorConfiguration {
78
+ * return {
79
+ * name: 'sensor-data',
80
+ * description: 'IoT sensor data collector',
81
+ * contentType: 'application/json',
82
+ * endpoint: 'sensors'
83
+ * }
84
+ * }
85
+ * ```
86
+ */
87
+ abstract getConfiguration(): CollectorConfiguration;
88
+ /**
89
+ * Returns a cron expression defining when this collector should execute.
90
+ *
91
+ * Uses standard cron syntax: `second minute hour day month weekday`
92
+ *
93
+ * @abstract
94
+ * @returns {string} Cron expression for scheduling
95
+ *
96
+ * @example
97
+ * ```typescript
98
+ * getSchedule(): string {
99
+ * return '0 *\/5 * * * *' // Every 5 minutes
100
+ * }
101
+ *
102
+ * // Common patterns:
103
+ * // '0 0 * * * *' - Every hour
104
+ * // '0 *\/30 * * * *' - Every 30 minutes
105
+ * // '0 0 9 * * *' - Every day at 9 AM
106
+ * ```
107
+ */
108
+ abstract getSchedule(): string;
109
+ /**
110
+ * Implements the core data collection logic.
111
+ *
112
+ * This method contains the specific logic for fetching data from your source
113
+ * (APIs, files, databases, sensors, etc.). The returned Buffer will be
114
+ * persisted by the framework.
115
+ *
116
+ * @abstract
117
+ * @returns {Promise<Buffer>} Raw collected data as Buffer
118
+ * @throws {Error} When collection fails
119
+ *
120
+ * @example
121
+ * ```typescript
122
+ * async collect(): Promise<Buffer> {
123
+ * try {
124
+ * const response = await fetch('https://api.example.com/data')
125
+ * const data = await response.json()
126
+ * return Buffer.from(JSON.stringify(data))
127
+ * } catch (error) {
128
+ * throw new Error(`Failed to collect data: ${error.message}`)
129
+ * }
130
+ * }
131
+ * ```
132
+ */
133
+ abstract collect(): Promise<Buffer>;
134
+ /**
135
+ * Executes the complete collection workflow.
136
+ *
137
+ * This method orchestrates the collection process:
138
+ * 1. Calls the collect() method to fetch data
139
+ * 2. Persists data through StorageService
140
+ * 3. Saves metadata to DatabaseAdapter
141
+ * 4. Emits completion events
142
+ *
143
+ * Called automatically by the scheduler based on getSchedule().
144
+ *
145
+ * @returns {Promise<Buffer | void>} The collected data buffer, or void if no data
146
+ * @throws {Error} When storage or database operations fail
147
+ *
148
+ * @example
149
+ * ```typescript
150
+ * // Called automatically by the framework:
151
+ * const result = await collector.run()
152
+ * if (result) {
153
+ * console.log(`Collected ${result.length} bytes`)
154
+ * }
155
+ * ```
156
+ */
157
+ run(): Promise<Buffer | void>;
158
+ /**
159
+ * Defines HTTP endpoints exposed by this collector.
160
+ *
161
+ * By default, exposes a GET endpoint at the configured path that returns
162
+ * the most recently collected data.
163
+ *
164
+ * @returns {Array} Array of endpoint descriptors
165
+ *
166
+ * @example
167
+ * ```typescript
168
+ * // For a collector with endpoint: 'weather'
169
+ * // Exposes: GET /weather
170
+ * ```
171
+ */
172
+ getEndpoints(): Array<{
173
+ method: HttpMethod;
174
+ path: string;
175
+ handler: (...args: any[]) => any;
176
+ responseType?: string;
177
+ }>;
178
+ /**
179
+ * HTTP handler for retrieving the most recently collected data.
180
+ *
181
+ * Returns the latest data collected by this collector with appropriate
182
+ * content headers. Used by the framework to serve HTTP requests.
183
+ *
184
+ * @returns {Promise<DataResponse>} HTTP response with data or error status
185
+ *
186
+ * @example
187
+ * ```typescript
188
+ * // GET /weather -> Returns latest weather data
189
+ * // Response: { status: 200, content: Buffer, headers: {...} }
190
+ * ```
191
+ */
192
+ retrieve(): Promise<DataResponse>;
193
+ /**
194
+ * Returns the OpenAPI specification for this collector's endpoints.
195
+ *
196
+ * Generates documentation for the GET endpoint that retrieves collected data.
197
+ * Can be overridden by subclasses for more detailed specifications.
198
+ *
199
+ * @returns {OpenAPIComponentSpec} OpenAPI paths, tags, and schemas for this collector
200
+ */
201
+ getOpenAPISpec(): OpenAPIComponentSpec;
202
+ }
203
+ //# sourceMappingURL=collector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collector.d.ts","sourceRoot":"","sources":["../../src/components/collector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC5E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAKpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,8BAAsB,SAClB,YAAW,SAAS,CAAC,sBAAsB,CAAC,EAAE,gBAAgB,EAAE,QAAQ,EAAE,mBAAmB;IAE7F,0DAA0D;IAC1D,SAAS,CAAC,EAAE,EAAG,eAAe,CAAA;IAE9B,0DAA0D;IAC1D,SAAS,CAAC,OAAO,EAAG,cAAc,CAAA;IAElC;;;;;;;;;;;;;OAaG;IACH,eAAe,CAAC,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc;IAK5D;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,QAAQ,CAAC,gBAAgB,IAAI,sBAAsB;IAEnD;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAAC,WAAW,IAAI,MAAM;IAE9B;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAEnC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,GAAG,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAyCnC;;;;;;;;;;;;;OAaG;IACH,YAAY,IAAI,KAAK,CAAC;QAClB,MAAM,EAAE,UAAU,CAAA;QAClB,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;QAChC,YAAY,CAAC,EAAE,MAAM,CAAA;KACxB,CAAC;IAWF;;;;;;;;;;;;;OAaG;IACG,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC;IAoBvC;;;;;;;OAOG;IACH,cAAc,IAAI,oBAAoB;CAoCzC"}
@@ -0,0 +1,214 @@
1
+ import { engineEventBus } from '../engine/events.js';
2
+ import { StorageError } from '../errors/index.js';
3
+ import { Logger } from '../utils/logger.js';
4
+ /**
5
+ * Abstract base class for data collection components in the Digital Twin framework.
6
+ *
7
+ * A Collector is responsible for:
8
+ * - Fetching raw data from external sources on a scheduled basis
9
+ * - Persisting data through the StorageService
10
+ * - Indexing metadata via the DatabaseAdapter
11
+ * - Exposing HTTP endpoints for data retrieval
12
+ *
13
+ * @abstract
14
+ * @class Collector
15
+ * @implements {Component<CollectorConfiguration>}
16
+ * @implements {ScheduleRunnable}
17
+ * @implements {Servable}
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * class WeatherCollector extends Collector {
22
+ * getConfiguration(): CollectorConfiguration {
23
+ * return {
24
+ * name: 'weather-data',
25
+ * description: 'Collects weather information from API',
26
+ * contentType: 'application/json',
27
+ * endpoint: 'weather'
28
+ * }
29
+ * }
30
+ *
31
+ * getSchedule(): string {
32
+ * return '0 *\/15 * * * *' // Every 15 minutes
33
+ * }
34
+ *
35
+ * async collect(): Promise<Buffer> {
36
+ * const response = await fetch('https://api.weather.com/data')
37
+ * return Buffer.from(await response.text())
38
+ * }
39
+ * }
40
+ * ```
41
+ */
42
+ export class Collector {
43
+ /**
44
+ * Injects required dependencies into the collector instance.
45
+ *
46
+ * Called by the Digital Twin Engine during component initialization.
47
+ *
48
+ * @param {DatabaseAdapter} db - Database adapter for metadata operations
49
+ * @param {StorageService} storage - Storage service for data persistence
50
+ *
51
+ * @example
52
+ * ```typescript
53
+ * const collector = new MyCollector()
54
+ * collector.setDependencies(databaseAdapter, storageService)
55
+ * ```
56
+ */
57
+ setDependencies(db, storage) {
58
+ this.db = db;
59
+ this.storage = storage;
60
+ }
61
+ /**
62
+ * Executes the complete collection workflow.
63
+ *
64
+ * This method orchestrates the collection process:
65
+ * 1. Calls the collect() method to fetch data
66
+ * 2. Persists data through StorageService
67
+ * 3. Saves metadata to DatabaseAdapter
68
+ * 4. Emits completion events
69
+ *
70
+ * Called automatically by the scheduler based on getSchedule().
71
+ *
72
+ * @returns {Promise<Buffer | void>} The collected data buffer, or void if no data
73
+ * @throws {Error} When storage or database operations fail
74
+ *
75
+ * @example
76
+ * ```typescript
77
+ * // Called automatically by the framework:
78
+ * const result = await collector.run()
79
+ * if (result) {
80
+ * console.log(`Collected ${result.length} bytes`)
81
+ * }
82
+ * ```
83
+ */
84
+ async run() {
85
+ const config = this.getConfiguration();
86
+ const logger = new Logger(`Collector:${config.name}`);
87
+ try {
88
+ const result = await this.collect();
89
+ if (result) {
90
+ const now = new Date();
91
+ const url = await this.storage.save(result, config.name);
92
+ await this.db.save({
93
+ name: config.name,
94
+ type: config.contentType,
95
+ url,
96
+ date: now
97
+ });
98
+ // Emit completion event for monitoring and integration
99
+ engineEventBus.emit('component:event', {
100
+ type: 'collector:completed',
101
+ componentName: config.name,
102
+ timestamp: now,
103
+ data: { bytesCollected: result.length }
104
+ });
105
+ }
106
+ return result;
107
+ }
108
+ catch (error) {
109
+ logger.error(`Collector execution failed: ${error instanceof Error ? error.message : String(error)}`, {
110
+ collectorName: config.name,
111
+ stack: error instanceof Error ? error.stack : undefined
112
+ });
113
+ throw new StorageError(`Collector ${config.name} execution failed: ${error instanceof Error ? error.message : String(error)}`, { collectorName: config.name });
114
+ }
115
+ }
116
+ /**
117
+ * Defines HTTP endpoints exposed by this collector.
118
+ *
119
+ * By default, exposes a GET endpoint at the configured path that returns
120
+ * the most recently collected data.
121
+ *
122
+ * @returns {Array} Array of endpoint descriptors
123
+ *
124
+ * @example
125
+ * ```typescript
126
+ * // For a collector with endpoint: 'weather'
127
+ * // Exposes: GET /weather
128
+ * ```
129
+ */
130
+ getEndpoints() {
131
+ return [
132
+ {
133
+ method: 'get',
134
+ path: `/${this.getConfiguration().endpoint}`,
135
+ handler: this.retrieve.bind(this),
136
+ responseType: this.getConfiguration().contentType
137
+ }
138
+ ];
139
+ }
140
+ /**
141
+ * HTTP handler for retrieving the most recently collected data.
142
+ *
143
+ * Returns the latest data collected by this collector with appropriate
144
+ * content headers. Used by the framework to serve HTTP requests.
145
+ *
146
+ * @returns {Promise<DataResponse>} HTTP response with data or error status
147
+ *
148
+ * @example
149
+ * ```typescript
150
+ * // GET /weather -> Returns latest weather data
151
+ * // Response: { status: 200, content: Buffer, headers: {...} }
152
+ * ```
153
+ */
154
+ async retrieve() {
155
+ const config = this.getConfiguration();
156
+ const record = await this.db.getLatestByName(config.name);
157
+ if (!record) {
158
+ return {
159
+ status: 404,
160
+ content: 'No data available'
161
+ };
162
+ }
163
+ const blob = await record.data();
164
+ return {
165
+ status: 200,
166
+ content: blob,
167
+ headers: { 'Content-Type': record.contentType }
168
+ };
169
+ }
170
+ /**
171
+ * Returns the OpenAPI specification for this collector's endpoints.
172
+ *
173
+ * Generates documentation for the GET endpoint that retrieves collected data.
174
+ * Can be overridden by subclasses for more detailed specifications.
175
+ *
176
+ * @returns {OpenAPIComponentSpec} OpenAPI paths, tags, and schemas for this collector
177
+ */
178
+ getOpenAPISpec() {
179
+ const config = this.getConfiguration();
180
+ const path = `/${config.endpoint}`;
181
+ const tagName = config.tags?.[0] || config.name;
182
+ return {
183
+ paths: {
184
+ [path]: {
185
+ get: {
186
+ summary: `Get ${config.name} data`,
187
+ description: config.description,
188
+ tags: [tagName],
189
+ responses: {
190
+ '200': {
191
+ description: 'Latest collected data',
192
+ content: {
193
+ [config.contentType]: {
194
+ schema: { type: 'object' }
195
+ }
196
+ }
197
+ },
198
+ '404': {
199
+ description: 'No data available'
200
+ }
201
+ }
202
+ }
203
+ }
204
+ },
205
+ tags: [
206
+ {
207
+ name: tagName,
208
+ description: config.description
209
+ }
210
+ ]
211
+ };
212
+ }
213
+ }
214
+ //# sourceMappingURL=collector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collector.js","sourceRoot":"","sources":["../../src/components/collector.ts"],"names":[],"mappings":"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"}