digitaltwin-core 0.14.0 → 0.14.1
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.
- package/package.json +101 -106
- package/dist/auth/apisix_parser.d.ts +0 -146
- package/dist/auth/apisix_parser.d.ts.map +0 -1
- package/dist/auth/apisix_parser.js +0 -185
- package/dist/auth/apisix_parser.js.map +0 -1
- package/dist/auth/auth_config.d.ts +0 -126
- package/dist/auth/auth_config.d.ts.map +0 -1
- package/dist/auth/auth_config.js +0 -169
- package/dist/auth/auth_config.js.map +0 -1
- package/dist/auth/index.d.ts +0 -5
- package/dist/auth/index.d.ts.map +0 -1
- package/dist/auth/index.js +0 -4
- package/dist/auth/index.js.map +0 -1
- package/dist/auth/types.d.ts +0 -100
- package/dist/auth/types.d.ts.map +0 -1
- package/dist/auth/types.js +0 -2
- package/dist/auth/types.js.map +0 -1
- package/dist/auth/user_service.d.ts +0 -86
- package/dist/auth/user_service.d.ts.map +0 -1
- package/dist/auth/user_service.js +0 -237
- package/dist/auth/user_service.js.map +0 -1
- package/dist/components/assets_manager.d.ts +0 -662
- package/dist/components/assets_manager.d.ts.map +0 -1
- package/dist/components/assets_manager.js +0 -1529
- package/dist/components/assets_manager.js.map +0 -1
- package/dist/components/async_upload.d.ts +0 -20
- package/dist/components/async_upload.d.ts.map +0 -1
- package/dist/components/async_upload.js +0 -10
- package/dist/components/async_upload.js.map +0 -1
- package/dist/components/collector.d.ts +0 -203
- package/dist/components/collector.d.ts.map +0 -1
- package/dist/components/collector.js +0 -202
- package/dist/components/collector.js.map +0 -1
- package/dist/components/custom_table_manager.d.ts +0 -503
- package/dist/components/custom_table_manager.d.ts.map +0 -1
- package/dist/components/custom_table_manager.js +0 -1052
- package/dist/components/custom_table_manager.js.map +0 -1
- package/dist/components/global_assets_handler.d.ts +0 -63
- package/dist/components/global_assets_handler.d.ts.map +0 -1
- package/dist/components/global_assets_handler.js +0 -127
- package/dist/components/global_assets_handler.js.map +0 -1
- package/dist/components/handler.d.ts +0 -104
- package/dist/components/handler.d.ts.map +0 -1
- package/dist/components/handler.js +0 -110
- package/dist/components/handler.js.map +0 -1
- package/dist/components/harvester.d.ts +0 -182
- package/dist/components/harvester.d.ts.map +0 -1
- package/dist/components/harvester.js +0 -393
- package/dist/components/harvester.js.map +0 -1
- package/dist/components/index.d.ts +0 -11
- package/dist/components/index.d.ts.map +0 -1
- package/dist/components/index.js +0 -9
- package/dist/components/index.js.map +0 -1
- package/dist/components/interfaces.d.ts +0 -126
- package/dist/components/interfaces.d.ts.map +0 -1
- package/dist/components/interfaces.js +0 -8
- package/dist/components/interfaces.js.map +0 -1
- package/dist/components/map_manager.d.ts +0 -61
- package/dist/components/map_manager.d.ts.map +0 -1
- package/dist/components/map_manager.js +0 -242
- package/dist/components/map_manager.js.map +0 -1
- package/dist/components/tileset_manager.d.ts +0 -125
- package/dist/components/tileset_manager.d.ts.map +0 -1
- package/dist/components/tileset_manager.js +0 -618
- package/dist/components/tileset_manager.js.map +0 -1
- package/dist/components/types.d.ts +0 -226
- package/dist/components/types.d.ts.map +0 -1
- package/dist/components/types.js +0 -8
- package/dist/components/types.js.map +0 -1
- package/dist/database/adapters/knex_database_adapter.d.ts +0 -92
- package/dist/database/adapters/knex_database_adapter.d.ts.map +0 -1
- package/dist/database/adapters/knex_database_adapter.js +0 -647
- package/dist/database/adapters/knex_database_adapter.js.map +0 -1
- package/dist/database/database_adapter.d.ts +0 -251
- package/dist/database/database_adapter.d.ts.map +0 -1
- package/dist/database/database_adapter.js +0 -46
- package/dist/database/database_adapter.js.map +0 -1
- package/dist/engine/digital_twin_engine.d.ts +0 -253
- package/dist/engine/digital_twin_engine.d.ts.map +0 -1
- package/dist/engine/digital_twin_engine.js +0 -790
- package/dist/engine/digital_twin_engine.js.map +0 -1
- package/dist/engine/endpoints.d.ts +0 -47
- package/dist/engine/endpoints.d.ts.map +0 -1
- package/dist/engine/endpoints.js +0 -56
- package/dist/engine/endpoints.js.map +0 -1
- package/dist/engine/events.d.ts +0 -93
- package/dist/engine/events.d.ts.map +0 -1
- package/dist/engine/events.js +0 -71
- package/dist/engine/events.js.map +0 -1
- package/dist/engine/initializer.d.ts +0 -62
- package/dist/engine/initializer.d.ts.map +0 -1
- package/dist/engine/initializer.js +0 -108
- package/dist/engine/initializer.js.map +0 -1
- package/dist/engine/queue_manager.d.ts +0 -87
- package/dist/engine/queue_manager.d.ts.map +0 -1
- package/dist/engine/queue_manager.js +0 -196
- package/dist/engine/queue_manager.js.map +0 -1
- package/dist/engine/scheduler.d.ts +0 -30
- package/dist/engine/scheduler.d.ts.map +0 -1
- package/dist/engine/scheduler.js +0 -370
- package/dist/engine/scheduler.js.map +0 -1
- package/dist/engine/upload_processor.d.ts +0 -36
- package/dist/engine/upload_processor.d.ts.map +0 -1
- package/dist/engine/upload_processor.js +0 -101
- package/dist/engine/upload_processor.js.map +0 -1
- package/dist/env/env.d.ts +0 -134
- package/dist/env/env.d.ts.map +0 -1
- package/dist/env/env.js +0 -177
- package/dist/env/env.js.map +0 -1
- package/dist/index.d.ts +0 -49
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -57
- package/dist/index.js.map +0 -1
- package/dist/openapi/generator.d.ts +0 -93
- package/dist/openapi/generator.d.ts.map +0 -1
- package/dist/openapi/generator.js +0 -293
- package/dist/openapi/generator.js.map +0 -1
- package/dist/openapi/index.d.ts +0 -9
- package/dist/openapi/index.d.ts.map +0 -1
- package/dist/openapi/index.js +0 -9
- package/dist/openapi/index.js.map +0 -1
- package/dist/openapi/types.d.ts +0 -182
- package/dist/openapi/types.d.ts.map +0 -1
- package/dist/openapi/types.js +0 -16
- package/dist/openapi/types.js.map +0 -1
- package/dist/storage/adapters/local_storage_service.d.ts +0 -51
- package/dist/storage/adapters/local_storage_service.d.ts.map +0 -1
- package/dist/storage/adapters/local_storage_service.js +0 -110
- package/dist/storage/adapters/local_storage_service.js.map +0 -1
- package/dist/storage/adapters/ovh_storage_service.d.ts +0 -72
- package/dist/storage/adapters/ovh_storage_service.d.ts.map +0 -1
- package/dist/storage/adapters/ovh_storage_service.js +0 -206
- package/dist/storage/adapters/ovh_storage_service.js.map +0 -1
- package/dist/storage/storage_factory.d.ts +0 -14
- package/dist/storage/storage_factory.d.ts.map +0 -1
- package/dist/storage/storage_factory.js +0 -40
- package/dist/storage/storage_factory.js.map +0 -1
- package/dist/storage/storage_service.d.ts +0 -163
- package/dist/storage/storage_service.d.ts.map +0 -1
- package/dist/storage/storage_service.js +0 -54
- package/dist/storage/storage_service.js.map +0 -1
- package/dist/types/data_record.d.ts +0 -123
- package/dist/types/data_record.d.ts.map +0 -1
- package/dist/types/data_record.js +0 -8
- package/dist/types/data_record.js.map +0 -1
- package/dist/utils/http_responses.d.ts +0 -155
- package/dist/utils/http_responses.d.ts.map +0 -1
- package/dist/utils/http_responses.js +0 -190
- package/dist/utils/http_responses.js.map +0 -1
- package/dist/utils/index.d.ts +0 -8
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -6
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/logger.d.ts +0 -74
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.js +0 -92
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/map_to_data_record.d.ts +0 -10
- package/dist/utils/map_to_data_record.d.ts.map +0 -1
- package/dist/utils/map_to_data_record.js +0 -36
- package/dist/utils/map_to_data_record.js.map +0 -1
- package/dist/utils/servable_endpoint.d.ts +0 -63
- package/dist/utils/servable_endpoint.d.ts.map +0 -1
- package/dist/utils/servable_endpoint.js +0 -67
- package/dist/utils/servable_endpoint.js.map +0 -1
- package/dist/utils/zip_utils.d.ts +0 -66
- package/dist/utils/zip_utils.d.ts.map +0 -1
- package/dist/utils/zip_utils.js +0 -169
- package/dist/utils/zip_utils.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"knex_database_adapter.js","sourceRoot":"","sources":["../../../src/database/adapters/knex_database_adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,251 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Database abstraction layer for digital twin data persistence
|
|
3
|
-
*
|
|
4
|
-
* This module defines the abstract DatabaseAdapter interface that provides
|
|
5
|
-
* unified database operations across different database backends (SQLite, PostgreSQL).
|
|
6
|
-
* Implementations handle component data storage, metadata management, and querying.
|
|
7
|
-
*/
|
|
8
|
-
import type { DataRecord } from '../types/data_record.js';
|
|
9
|
-
/**
|
|
10
|
-
* Structure used to store metadata about a data blob in the database.
|
|
11
|
-
*
|
|
12
|
-
* MetadataRow represents a single row in a component's database table,
|
|
13
|
-
* linking stored binary data (via URL) with its metadata. Extended to
|
|
14
|
-
* support asset-specific fields for AssetsManager components.
|
|
15
|
-
*
|
|
16
|
-
* @interface MetadataRow
|
|
17
|
-
*
|
|
18
|
-
* @example
|
|
19
|
-
* ```typescript
|
|
20
|
-
* // Basic collector metadata
|
|
21
|
-
* const metadata: MetadataRow = {
|
|
22
|
-
* name: 'weather-collector',
|
|
23
|
-
* type: 'application/json',
|
|
24
|
-
* url: '/storage/weather/2024-01-15.json',
|
|
25
|
-
* date: new Date()
|
|
26
|
-
* }
|
|
27
|
-
*
|
|
28
|
-
* // Asset metadata with ownership
|
|
29
|
-
* const assetMetadata: MetadataRow = {
|
|
30
|
-
* name: 'gltf-assets',
|
|
31
|
-
* type: 'model/gltf-binary',
|
|
32
|
-
* url: '/storage/assets/building.glb',
|
|
33
|
-
* date: new Date(),
|
|
34
|
-
* description: '3D building model',
|
|
35
|
-
* source: 'https://data-source.com/buildings',
|
|
36
|
-
* owner_id: 123,
|
|
37
|
-
* filename: 'building.glb',
|
|
38
|
-
* is_public: true
|
|
39
|
-
* }
|
|
40
|
-
* ```
|
|
41
|
-
*/
|
|
42
|
-
export interface MetadataRow {
|
|
43
|
-
/** Unique identifier of the data row (auto-generated on insert) */
|
|
44
|
-
id?: number;
|
|
45
|
-
/** Logical name of the data source (component name, used as table identifier) */
|
|
46
|
-
name: string;
|
|
47
|
-
/** MIME type of the associated blob (e.g. 'application/json', 'model/gltf-binary') */
|
|
48
|
-
type: string;
|
|
49
|
-
/** Path or URL where the blob is stored (resolved by the StorageService) */
|
|
50
|
-
url: string;
|
|
51
|
-
/** Timestamp indicating when the data was collected or uploaded */
|
|
52
|
-
date: Date;
|
|
53
|
-
/** Human-readable description of the asset (AssetsManager only) */
|
|
54
|
-
description?: string;
|
|
55
|
-
/** Source URL for data provenance (AssetsManager only) */
|
|
56
|
-
source?: string;
|
|
57
|
-
/** ID of the user who owns this asset (AssetsManager only) */
|
|
58
|
-
owner_id?: number | null;
|
|
59
|
-
/** Original filename provided by the user (AssetsManager only) */
|
|
60
|
-
filename?: string;
|
|
61
|
-
/** Whether the asset is publicly accessible (AssetsManager only) */
|
|
62
|
-
is_public?: boolean;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Abstract database adapter providing unified data operations for all components.
|
|
66
|
-
*
|
|
67
|
-
* DatabaseAdapter defines the contract for database operations used throughout the
|
|
68
|
-
* digital twin system. Implementations provide concrete database access using specific
|
|
69
|
-
* backends (SQLite, PostgreSQL) while maintaining a consistent API.
|
|
70
|
-
*
|
|
71
|
-
* The adapter handles:
|
|
72
|
-
* - Table creation and schema migration for components
|
|
73
|
-
* - CRUD operations for collected data and assets
|
|
74
|
-
* - Time-based and count-based queries for harvesters
|
|
75
|
-
* - Custom table operations for CustomTableManager components
|
|
76
|
-
*
|
|
77
|
-
* @abstract
|
|
78
|
-
* @class DatabaseAdapter
|
|
79
|
-
*
|
|
80
|
-
* @example
|
|
81
|
-
* ```typescript
|
|
82
|
-
* // Using KnexDatabaseAdapter (concrete implementation)
|
|
83
|
-
* const database = KnexDatabaseAdapter.forSQLite({
|
|
84
|
-
* filename: './data/digitaltwin.db'
|
|
85
|
-
* }, storage)
|
|
86
|
-
*
|
|
87
|
-
* // Save collector data
|
|
88
|
-
* await database.save({
|
|
89
|
-
* name: 'weather-collector',
|
|
90
|
-
* type: 'application/json',
|
|
91
|
-
* url: await storage.save(buffer, 'weather-collector'),
|
|
92
|
-
* date: new Date()
|
|
93
|
-
* })
|
|
94
|
-
*
|
|
95
|
-
* // Query latest data
|
|
96
|
-
* const latest = await database.getLatestByName('weather-collector')
|
|
97
|
-
* const data = await latest?.data()
|
|
98
|
-
* ```
|
|
99
|
-
*/
|
|
100
|
-
export declare abstract class DatabaseAdapter {
|
|
101
|
-
/**
|
|
102
|
-
* Saves metadata and returns the created DataRecord.
|
|
103
|
-
* @param meta - Metadata to save
|
|
104
|
-
* @returns The created DataRecord with data() function for lazy loading
|
|
105
|
-
*/
|
|
106
|
-
abstract save(meta: MetadataRow): Promise<DataRecord>;
|
|
107
|
-
/**
|
|
108
|
-
* Deletes a record by ID from a specific component's table.
|
|
109
|
-
* @param id - Record ID to delete
|
|
110
|
-
* @param name - Component/table name
|
|
111
|
-
*/
|
|
112
|
-
abstract delete(id: string, name: string): Promise<void>;
|
|
113
|
-
/**
|
|
114
|
-
* Retrieves a specific record by ID from a component's table.
|
|
115
|
-
* @param id - Record ID to retrieve
|
|
116
|
-
* @param name - Component/table name
|
|
117
|
-
* @returns The DataRecord or undefined if not found
|
|
118
|
-
*/
|
|
119
|
-
abstract getById(id: string, name: string): Promise<DataRecord | undefined>;
|
|
120
|
-
/**
|
|
121
|
-
* Gets the most recent record for a component.
|
|
122
|
-
* @param name - Component/table name
|
|
123
|
-
* @returns The latest DataRecord or undefined if table is empty
|
|
124
|
-
*/
|
|
125
|
-
abstract getLatestByName(name: string): Promise<DataRecord | undefined>;
|
|
126
|
-
/**
|
|
127
|
-
* Checks if a table exists in the database.
|
|
128
|
-
* @param name - Table name to check
|
|
129
|
-
* @returns true if table exists, false otherwise
|
|
130
|
-
*/
|
|
131
|
-
abstract doesTableExists(name: string): Promise<boolean>;
|
|
132
|
-
/**
|
|
133
|
-
* Creates a standard component table with default columns.
|
|
134
|
-
* @param name - Table name to create
|
|
135
|
-
*/
|
|
136
|
-
abstract createTable(name: string): Promise<void>;
|
|
137
|
-
/**
|
|
138
|
-
* Create a table with custom columns for CustomTableManager components
|
|
139
|
-
* @param name - Table name
|
|
140
|
-
* @param columns - Column definitions (name -> SQL type)
|
|
141
|
-
*/
|
|
142
|
-
abstract createTableWithColumns(name: string, columns: Record<string, string>): Promise<void>;
|
|
143
|
-
/**
|
|
144
|
-
* Migrate existing table schema to add missing columns and indexes.
|
|
145
|
-
*
|
|
146
|
-
* Only performs safe operations like adding columns with defaults or nullable.
|
|
147
|
-
* Returns an array of migration messages describing what was done.
|
|
148
|
-
*
|
|
149
|
-
* @param name - Table name to migrate
|
|
150
|
-
* @returns Array of migration messages
|
|
151
|
-
*/
|
|
152
|
-
abstract migrateTableSchema(name: string): Promise<string[]>;
|
|
153
|
-
/**
|
|
154
|
-
* Get the first (oldest) record for a given component name.
|
|
155
|
-
* @param name - The component name
|
|
156
|
-
* @returns The oldest DataRecord or undefined if none found
|
|
157
|
-
*/
|
|
158
|
-
abstract getFirstByName(name: string): Promise<DataRecord | undefined>;
|
|
159
|
-
/**
|
|
160
|
-
* Get records between two dates for a given component.
|
|
161
|
-
* @param name - The component name
|
|
162
|
-
* @param startDate - Start date (inclusive)
|
|
163
|
-
* @param endDate - End date (exclusive), optional
|
|
164
|
-
* @param limit - Maximum number of records to return, optional
|
|
165
|
-
* @returns Array of DataRecords matching the criteria
|
|
166
|
-
*/
|
|
167
|
-
abstract getByDateRange(name: string, startDate: Date, endDate?: Date, limit?: number): Promise<DataRecord[]>;
|
|
168
|
-
/**
|
|
169
|
-
* Get records after a specific date for a given component.
|
|
170
|
-
* @param name - The component name
|
|
171
|
-
* @param afterDate - Date to search after (exclusive)
|
|
172
|
-
* @param limit - Maximum number of records to return
|
|
173
|
-
* @returns Array of DataRecords after the specified date
|
|
174
|
-
*/
|
|
175
|
-
abstract getAfterDate(name: string, afterDate: Date, limit?: number): Promise<DataRecord[]>;
|
|
176
|
-
/**
|
|
177
|
-
* Get the latest record before a specific date for a given component.
|
|
178
|
-
* @param name - The component name
|
|
179
|
-
* @param beforeDate - Date to search before (exclusive)
|
|
180
|
-
* @returns The latest DataRecord before the date, or undefined if none found
|
|
181
|
-
*/
|
|
182
|
-
abstract getLatestBefore(name: string, beforeDate: Date): Promise<DataRecord | undefined>;
|
|
183
|
-
/**
|
|
184
|
-
* Get the latest N records before a specific date for a given component.
|
|
185
|
-
* @param name - The component name
|
|
186
|
-
* @param beforeDate - Date to search before (exclusive)
|
|
187
|
-
* @param limit - Number of records to return
|
|
188
|
-
* @returns Array of the latest DataRecords before the date
|
|
189
|
-
*/
|
|
190
|
-
abstract getLatestRecordsBefore(name: string, beforeDate: Date, limit: number): Promise<DataRecord[]>;
|
|
191
|
-
/**
|
|
192
|
-
* Check if any records exist after a specific date for a given component.
|
|
193
|
-
* @param name - The component name
|
|
194
|
-
* @param afterDate - Date to check after (exclusive)
|
|
195
|
-
* @returns True if records exist after the date, false otherwise
|
|
196
|
-
*/
|
|
197
|
-
abstract hasRecordsAfterDate(name: string, afterDate: Date): Promise<boolean>;
|
|
198
|
-
/**
|
|
199
|
-
* Count records for a given component within a date range.
|
|
200
|
-
* @param name - The component name
|
|
201
|
-
* @param startDate - Start date (inclusive)
|
|
202
|
-
* @param endDate - End date (exclusive), optional
|
|
203
|
-
* @returns Number of records in the range
|
|
204
|
-
*/
|
|
205
|
-
abstract countByDateRange(name: string, startDate: Date, endDate?: Date): Promise<number>;
|
|
206
|
-
/**
|
|
207
|
-
* Find records by column conditions for CustomTableManager components.
|
|
208
|
-
* @param tableName - Table name to query
|
|
209
|
-
* @param conditions - Key-value pairs to match
|
|
210
|
-
* @returns Array of matching records
|
|
211
|
-
*/
|
|
212
|
-
abstract findByConditions(tableName: string, conditions: Record<string, any>): Promise<DataRecord[]>;
|
|
213
|
-
/**
|
|
214
|
-
* Update a record by ID for CustomTableManager components.
|
|
215
|
-
* @param tableName - Table name to update
|
|
216
|
-
* @param id - Record ID to update
|
|
217
|
-
* @param data - Data to update (excluding id, created_at, updated_at)
|
|
218
|
-
* @returns Promise that resolves when update is complete
|
|
219
|
-
*/
|
|
220
|
-
abstract updateById(tableName: string, id: number, data: Record<string, any>): Promise<void>;
|
|
221
|
-
/**
|
|
222
|
-
* Find records for custom tables (returns raw database rows, not DataRecords)
|
|
223
|
-
* This bypasses mapToDataRecord() which assumes standard table structure
|
|
224
|
-
* @param tableName - Table name to query
|
|
225
|
-
* @param conditions - Key-value pairs to match (empty for all records)
|
|
226
|
-
* @returns Array of raw database rows
|
|
227
|
-
*/
|
|
228
|
-
abstract findCustomTableRecords(tableName: string, conditions?: Record<string, any>): Promise<any[]>;
|
|
229
|
-
/**
|
|
230
|
-
* Get a single custom table record by ID (returns raw database row, not DataRecord)
|
|
231
|
-
* @param tableName - Table name to query
|
|
232
|
-
* @param id - Record ID
|
|
233
|
-
* @returns Raw database row or null if not found
|
|
234
|
-
*/
|
|
235
|
-
abstract getCustomTableRecordById(tableName: string, id: number): Promise<any | null>;
|
|
236
|
-
/**
|
|
237
|
-
* Insert a record into a custom table (returns the new record ID)
|
|
238
|
-
* @param tableName - Table name to insert into
|
|
239
|
-
* @param data - Data to insert (created_at/updated_at will be added automatically)
|
|
240
|
-
* @returns The ID of the new record
|
|
241
|
-
*/
|
|
242
|
-
abstract insertCustomTableRecord(tableName: string, data: Record<string, any>): Promise<number>;
|
|
243
|
-
/**
|
|
244
|
-
* Closes all database connections gracefully.
|
|
245
|
-
* This method should be called when shutting down the application
|
|
246
|
-
* to ensure proper cleanup of connection pools.
|
|
247
|
-
* @returns Promise that resolves when all connections are closed
|
|
248
|
-
*/
|
|
249
|
-
abstract close(): Promise<void>;
|
|
250
|
-
}
|
|
251
|
-
//# sourceMappingURL=database_adapter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"database_adapter.d.ts","sourceRoot":"","sources":["../../src/database/database_adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Database abstraction layer for digital twin data persistence
|
|
3
|
-
*
|
|
4
|
-
* This module defines the abstract DatabaseAdapter interface that provides
|
|
5
|
-
* unified database operations across different database backends (SQLite, PostgreSQL).
|
|
6
|
-
* Implementations handle component data storage, metadata management, and querying.
|
|
7
|
-
*/
|
|
8
|
-
/**
|
|
9
|
-
* Abstract database adapter providing unified data operations for all components.
|
|
10
|
-
*
|
|
11
|
-
* DatabaseAdapter defines the contract for database operations used throughout the
|
|
12
|
-
* digital twin system. Implementations provide concrete database access using specific
|
|
13
|
-
* backends (SQLite, PostgreSQL) while maintaining a consistent API.
|
|
14
|
-
*
|
|
15
|
-
* The adapter handles:
|
|
16
|
-
* - Table creation and schema migration for components
|
|
17
|
-
* - CRUD operations for collected data and assets
|
|
18
|
-
* - Time-based and count-based queries for harvesters
|
|
19
|
-
* - Custom table operations for CustomTableManager components
|
|
20
|
-
*
|
|
21
|
-
* @abstract
|
|
22
|
-
* @class DatabaseAdapter
|
|
23
|
-
*
|
|
24
|
-
* @example
|
|
25
|
-
* ```typescript
|
|
26
|
-
* // Using KnexDatabaseAdapter (concrete implementation)
|
|
27
|
-
* const database = KnexDatabaseAdapter.forSQLite({
|
|
28
|
-
* filename: './data/digitaltwin.db'
|
|
29
|
-
* }, storage)
|
|
30
|
-
*
|
|
31
|
-
* // Save collector data
|
|
32
|
-
* await database.save({
|
|
33
|
-
* name: 'weather-collector',
|
|
34
|
-
* type: 'application/json',
|
|
35
|
-
* url: await storage.save(buffer, 'weather-collector'),
|
|
36
|
-
* date: new Date()
|
|
37
|
-
* })
|
|
38
|
-
*
|
|
39
|
-
* // Query latest data
|
|
40
|
-
* const latest = await database.getLatestByName('weather-collector')
|
|
41
|
-
* const data = await latest?.data()
|
|
42
|
-
* ```
|
|
43
|
-
*/
|
|
44
|
-
export class DatabaseAdapter {
|
|
45
|
-
}
|
|
46
|
-
//# sourceMappingURL=database_adapter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"database_adapter.js","sourceRoot":"","sources":["../../src/database/database_adapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA8DH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,OAAgB,eAAe;CAgLpC"}
|
|
@@ -1,253 +0,0 @@
|
|
|
1
|
-
import type { Collector } from '../components/collector.js';
|
|
2
|
-
import type { Harvester } from '../components/harvester.js';
|
|
3
|
-
import type { Handler } from '../components/handler.js';
|
|
4
|
-
import type { AssetsManager } from '../components/assets_manager.js';
|
|
5
|
-
import type { CustomTableManager } from '../components/custom_table_manager.js';
|
|
6
|
-
import type { StorageService } from '../storage/storage_service.js';
|
|
7
|
-
import type { DatabaseAdapter } from '../database/database_adapter.js';
|
|
8
|
-
import type { ConnectionOptions } from 'bullmq';
|
|
9
|
-
import { LogLevel } from '../utils/logger.js';
|
|
10
|
-
import type { QueueConfig } from './queue_manager.js';
|
|
11
|
-
/**
|
|
12
|
-
* Result of component validation
|
|
13
|
-
*/
|
|
14
|
-
export interface ComponentValidationResult {
|
|
15
|
-
/** Component name */
|
|
16
|
-
name: string;
|
|
17
|
-
/** Component type */
|
|
18
|
-
type: 'collector' | 'harvester' | 'handler' | 'assets_manager' | 'custom_table_manager';
|
|
19
|
-
/** Validation status */
|
|
20
|
-
valid: boolean;
|
|
21
|
-
/** Validation errors if any */
|
|
22
|
-
errors: string[];
|
|
23
|
-
/** Validation warnings if any */
|
|
24
|
-
warnings: string[];
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Overall validation result
|
|
28
|
-
*/
|
|
29
|
-
export interface ValidationResult {
|
|
30
|
-
/** Overall validation status */
|
|
31
|
-
valid: boolean;
|
|
32
|
-
/** Individual component results */
|
|
33
|
-
components: ComponentValidationResult[];
|
|
34
|
-
/** Engine-level errors */
|
|
35
|
-
engineErrors: string[];
|
|
36
|
-
/** Summary statistics */
|
|
37
|
-
summary: {
|
|
38
|
-
total: number;
|
|
39
|
-
valid: number;
|
|
40
|
-
invalid: number;
|
|
41
|
-
warnings: number;
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Configuration options for the Digital Twin Engine
|
|
46
|
-
*
|
|
47
|
-
* @interface EngineOptions
|
|
48
|
-
* @example
|
|
49
|
-
* ```typescript
|
|
50
|
-
* const options: EngineOptions = {
|
|
51
|
-
* storage: storageService,
|
|
52
|
-
* database: databaseAdapter,
|
|
53
|
-
* collectors: [myCollector],
|
|
54
|
-
* harvesters: [myHarvester],
|
|
55
|
-
* handlers: [myHandler],
|
|
56
|
-
* server: { port: 3000, host: 'localhost' },
|
|
57
|
-
* queues: {
|
|
58
|
-
* multiQueue: true,
|
|
59
|
-
* workers: { collectors: 2, harvesters: 1 }
|
|
60
|
-
* }
|
|
61
|
-
* }
|
|
62
|
-
* ```
|
|
63
|
-
*/
|
|
64
|
-
export interface EngineOptions {
|
|
65
|
-
/** Array of data collectors to register with the engine */
|
|
66
|
-
collectors?: Collector[];
|
|
67
|
-
/** Array of data harvesters to register with the engine */
|
|
68
|
-
harvesters?: Harvester[];
|
|
69
|
-
/** Array of request handlers to register with the engine */
|
|
70
|
-
handlers?: Handler[];
|
|
71
|
-
/** Array of assets managers to register with the engine */
|
|
72
|
-
assetsManagers?: AssetsManager[];
|
|
73
|
-
/** Array of custom table managers to register with the engine */
|
|
74
|
-
customTableManagers?: CustomTableManager[];
|
|
75
|
-
/** Storage service instance for persisting data (required) */
|
|
76
|
-
storage: StorageService;
|
|
77
|
-
/** Database adapter instance for data operations (required) */
|
|
78
|
-
database: DatabaseAdapter;
|
|
79
|
-
/** Redis connection options for queue management */
|
|
80
|
-
redis?: ConnectionOptions;
|
|
81
|
-
/** Queue configuration options */
|
|
82
|
-
queues?: {
|
|
83
|
-
/** Enable multi-queue mode (default: true) */
|
|
84
|
-
multiQueue?: boolean;
|
|
85
|
-
/** Worker configuration for different component types */
|
|
86
|
-
workers?: {
|
|
87
|
-
/** Number of collector workers (default: 1) */
|
|
88
|
-
collectors?: number;
|
|
89
|
-
/** Number of harvester workers (default: 1) */
|
|
90
|
-
harvesters?: number;
|
|
91
|
-
};
|
|
92
|
-
/** Additional queue configuration options */
|
|
93
|
-
options?: QueueConfig['queueOptions'];
|
|
94
|
-
};
|
|
95
|
-
/** HTTP server configuration */
|
|
96
|
-
server?: {
|
|
97
|
-
/** Server port (default: 3000) */
|
|
98
|
-
port: number;
|
|
99
|
-
/** Server host (default: '0.0.0.0') */
|
|
100
|
-
host?: string;
|
|
101
|
-
};
|
|
102
|
-
/** Logging configuration */
|
|
103
|
-
logging?: {
|
|
104
|
-
/** Log level (default: LogLevel.INFO) */
|
|
105
|
-
level: LogLevel;
|
|
106
|
-
/** Log format (default: 'text') */
|
|
107
|
-
format?: 'json' | 'text';
|
|
108
|
-
};
|
|
109
|
-
/** Dry run mode - validate configuration without persisting data (default: false) */
|
|
110
|
-
dryRun?: boolean;
|
|
111
|
-
/**
|
|
112
|
-
* Enable automatic schema migration for existing tables (default: true)
|
|
113
|
-
*
|
|
114
|
-
* When enabled, the engine will automatically add missing columns with safe defaults
|
|
115
|
-
* to existing tables at startup. Only safe operations are performed:
|
|
116
|
-
* - Adding columns with DEFAULT values
|
|
117
|
-
* - Adding nullable columns
|
|
118
|
-
* - Adding indexes
|
|
119
|
-
*
|
|
120
|
-
* Set to false to require manual migrations via SQL scripts.
|
|
121
|
-
*/
|
|
122
|
-
autoMigration?: boolean;
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Digital Twin Engine - Core orchestrator for collectors, harvesters, and handlers
|
|
126
|
-
*
|
|
127
|
-
* The engine manages the lifecycle of all components, sets up queues for processing,
|
|
128
|
-
* exposes HTTP endpoints, and handles the overall coordination of the digital twin system.
|
|
129
|
-
*
|
|
130
|
-
* @class DigitalTwinEngine
|
|
131
|
-
* @example
|
|
132
|
-
* ```TypeScript
|
|
133
|
-
* import { DigitalTwinEngine } from './digital_twin_engine.js'
|
|
134
|
-
* import { StorageServiceFactory } from '../storage/storage_factory.js'
|
|
135
|
-
* import { KnexDatabaseAdapter } from '../database/adapters/knex_database_adapter.js'
|
|
136
|
-
*
|
|
137
|
-
* const storage = StorageServiceFactory.create()
|
|
138
|
-
* const database = new KnexDatabaseAdapter({ client: 'sqlite3', connection: ':memory:' }, storage)
|
|
139
|
-
*
|
|
140
|
-
* const engine = new DigitalTwinEngine({
|
|
141
|
-
* storage,
|
|
142
|
-
* database,
|
|
143
|
-
* collectors: [myCollector],
|
|
144
|
-
* server: { port: 3000 }
|
|
145
|
-
* })
|
|
146
|
-
*
|
|
147
|
-
* await engine.start()
|
|
148
|
-
* ```
|
|
149
|
-
*/
|
|
150
|
-
export declare class DigitalTwinEngine {
|
|
151
|
-
#private;
|
|
152
|
-
/**
|
|
153
|
-
* Creates a new Digital Twin Engine instance
|
|
154
|
-
*
|
|
155
|
-
* @param {EngineOptions} options - Configuration options for the engine
|
|
156
|
-
* @throws {Error} If required options (storage, database) are missing
|
|
157
|
-
*
|
|
158
|
-
* @example
|
|
159
|
-
* ```TypeScript
|
|
160
|
-
* const engine = new DigitalTwinEngine({
|
|
161
|
-
* storage: myStorageService,
|
|
162
|
-
* database: myDatabaseAdapter,
|
|
163
|
-
* collectors: [collector1, collector2],
|
|
164
|
-
* server: { port: 4000, host: 'localhost' }
|
|
165
|
-
* })
|
|
166
|
-
* ```
|
|
167
|
-
*/
|
|
168
|
-
constructor(options: EngineOptions);
|
|
169
|
-
/**
|
|
170
|
-
* Starts the Digital Twin Engine
|
|
171
|
-
*
|
|
172
|
-
* This method:
|
|
173
|
-
* 1. Initializes all registered components (collectors, harvesters, handlers)
|
|
174
|
-
* 2. Set up HTTP endpoints for component access
|
|
175
|
-
* 3. Configures and starts background job queues
|
|
176
|
-
* 4. Starts the HTTP server
|
|
177
|
-
* 5. Exposes queue monitoring endpoints
|
|
178
|
-
*
|
|
179
|
-
* @async
|
|
180
|
-
* @returns {Promise<void>}
|
|
181
|
-
*
|
|
182
|
-
* @example
|
|
183
|
-
* ```TypeScript
|
|
184
|
-
* await engine.start()
|
|
185
|
-
* console.log('Engine is running!')
|
|
186
|
-
* ```
|
|
187
|
-
*/
|
|
188
|
-
start(): Promise<void>;
|
|
189
|
-
/**
|
|
190
|
-
* Get the server port
|
|
191
|
-
*
|
|
192
|
-
* @returns {number | undefined} The server port or undefined if not started
|
|
193
|
-
*
|
|
194
|
-
* @example
|
|
195
|
-
* ```TypeScript
|
|
196
|
-
* const port = engine.getPort()
|
|
197
|
-
* console.log(`Server running on port ${port}`)
|
|
198
|
-
* ```
|
|
199
|
-
*/
|
|
200
|
-
getPort(): number | undefined;
|
|
201
|
-
/**
|
|
202
|
-
* Stops the Digital Twin Engine gracefully
|
|
203
|
-
*
|
|
204
|
-
* This method:
|
|
205
|
-
* 1. Closes HTTP server
|
|
206
|
-
* 2. Stops background workers
|
|
207
|
-
* 3. Closes all queue connections
|
|
208
|
-
* 4. Closes database connections
|
|
209
|
-
* 5. Clean up resources
|
|
210
|
-
*
|
|
211
|
-
* @async
|
|
212
|
-
* @returns {Promise<void>}
|
|
213
|
-
*
|
|
214
|
-
* @example
|
|
215
|
-
* ```TypeScript
|
|
216
|
-
* await engine.stop()
|
|
217
|
-
* console.log('Engine stopped gracefully')
|
|
218
|
-
* ```
|
|
219
|
-
*/
|
|
220
|
-
stop(): Promise<void>;
|
|
221
|
-
/**
|
|
222
|
-
* Validate the engine configuration and all components
|
|
223
|
-
*
|
|
224
|
-
* This method checks that all components are properly configured and can be initialized
|
|
225
|
-
* without actually creating tables or starting the server.
|
|
226
|
-
*
|
|
227
|
-
* @returns {Promise<ValidationResult>} Comprehensive validation results
|
|
228
|
-
*
|
|
229
|
-
* @example
|
|
230
|
-
* ```typescript
|
|
231
|
-
* const result = await engine.validateConfiguration()
|
|
232
|
-
* if (!result.valid) {
|
|
233
|
-
* console.error('Validation errors:', result.engineErrors)
|
|
234
|
-
* }
|
|
235
|
-
* ```
|
|
236
|
-
*/
|
|
237
|
-
validateConfiguration(): Promise<ValidationResult>;
|
|
238
|
-
/**
|
|
239
|
-
* Test all components by running their core methods without persistence
|
|
240
|
-
*
|
|
241
|
-
* @returns {Promise<ComponentValidationResult[]>} Test results for each component
|
|
242
|
-
*
|
|
243
|
-
* @example
|
|
244
|
-
* ```typescript
|
|
245
|
-
* const results = await engine.testComponents()
|
|
246
|
-
* results.forEach(result => {
|
|
247
|
-
* console.log(`${result.name}: ${result.valid ? '✅' : '❌'}`)
|
|
248
|
-
* })
|
|
249
|
-
* ```
|
|
250
|
-
*/
|
|
251
|
-
testComponents(): Promise<ComponentValidationResult[]>;
|
|
252
|
-
}
|
|
253
|
-
//# sourceMappingURL=digital_twin_engine.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"digital_twin_engine.d.ts","sourceRoot":"","sources":["../../src/engine/digital_twin_engine.ts"],"names":[],"mappings":"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"}
|