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":"custom_table_manager.js","sourceRoot":"","sources":["../../src/components/custom_table_manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { Handler } from './handler.js';
|
|
2
|
-
import type { ComponentConfiguration, DataResponse } from './types.js';
|
|
3
|
-
import type { AssetsManager } from './assets_manager.js';
|
|
4
|
-
/**
|
|
5
|
-
* Global assets handler that provides access to ALL assets across ALL asset managers.
|
|
6
|
-
*
|
|
7
|
-
* This handler aggregates assets from all registered AssetsManager instances
|
|
8
|
-
* without duplicating their logic or hardcoding component names.
|
|
9
|
-
*
|
|
10
|
-
* @class GlobalAssetsHandler
|
|
11
|
-
* @extends {Handler}
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* ```typescript
|
|
15
|
-
* const globalHandler = new GlobalAssetsHandler()
|
|
16
|
-
* globalHandler.setAssetsManagers([gltfManager, pointcloudManager])
|
|
17
|
-
*
|
|
18
|
-
* // Usage:
|
|
19
|
-
* // GET /assets/all - Returns all assets from all managers
|
|
20
|
-
* ```
|
|
21
|
-
*/
|
|
22
|
-
export declare class GlobalAssetsHandler extends Handler {
|
|
23
|
-
private assetsManagers;
|
|
24
|
-
/**
|
|
25
|
-
* Inject AssetsManager dependencies (called by engine)
|
|
26
|
-
*/
|
|
27
|
-
setAssetsManagers(assetsManagers: AssetsManager[]): void;
|
|
28
|
-
/**
|
|
29
|
-
* Component configuration for the global assets handler
|
|
30
|
-
*/
|
|
31
|
-
getConfiguration(): ComponentConfiguration;
|
|
32
|
-
/**
|
|
33
|
-
* Get all assets from all registered asset managers.
|
|
34
|
-
*
|
|
35
|
-
* This method delegates to each AssetsManager's getAllAssets() method
|
|
36
|
-
* and aggregates the results with proper endpoint URLs.
|
|
37
|
-
*
|
|
38
|
-
* @returns {Promise<DataResponse>} JSON response with all assets
|
|
39
|
-
*
|
|
40
|
-
* @example
|
|
41
|
-
* ```typescript
|
|
42
|
-
* // GET /assets/all
|
|
43
|
-
* // Returns: {
|
|
44
|
-
* // total: 5,
|
|
45
|
-
* // assets: [
|
|
46
|
-
* // { id: 1, component: "gltf", url: "/gltf/1", ... },
|
|
47
|
-
* // { id: 2, component: "pointcloud", url: "/pointcloud/2", ... }
|
|
48
|
-
* // ]
|
|
49
|
-
* // }
|
|
50
|
-
* ```
|
|
51
|
-
*/
|
|
52
|
-
getAllAssets(): Promise<DataResponse>;
|
|
53
|
-
/**
|
|
54
|
-
* HTTP endpoints for global assets
|
|
55
|
-
*/
|
|
56
|
-
getEndpoints(): Array<{
|
|
57
|
-
method: any;
|
|
58
|
-
path: string;
|
|
59
|
-
handler: (...args: any[]) => any;
|
|
60
|
-
responseType?: string;
|
|
61
|
-
}>;
|
|
62
|
-
}
|
|
63
|
-
//# sourceMappingURL=global_assets_handler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"global_assets_handler.d.ts","sourceRoot":"","sources":["../../src/components/global_assets_handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAExD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,mBAAoB,SAAQ,OAAO;IAC5C,OAAO,CAAC,cAAc,CAAsB;IAE5C;;OAEG;IACH,iBAAiB,CAAC,cAAc,EAAE,aAAa,EAAE,GAAG,IAAI;IAIxD;;OAEG;IACH,gBAAgB,IAAI,sBAAsB;IAS1C;;;;;;;;;;;;;;;;;;;OAmBG;IACG,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC;IAuD3C;;OAEG;IACH,YAAY,IAAI,KAAK,CAAC;QAClB,MAAM,EAAE,GAAG,CAAA;QACX,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;QAChC,YAAY,CAAC,EAAE,MAAM,CAAA;KACxB,CAAC;CAUL"}
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
import { Handler } from './handler.js';
|
|
2
|
-
/**
|
|
3
|
-
* Global assets handler that provides access to ALL assets across ALL asset managers.
|
|
4
|
-
*
|
|
5
|
-
* This handler aggregates assets from all registered AssetsManager instances
|
|
6
|
-
* without duplicating their logic or hardcoding component names.
|
|
7
|
-
*
|
|
8
|
-
* @class GlobalAssetsHandler
|
|
9
|
-
* @extends {Handler}
|
|
10
|
-
*
|
|
11
|
-
* @example
|
|
12
|
-
* ```typescript
|
|
13
|
-
* const globalHandler = new GlobalAssetsHandler()
|
|
14
|
-
* globalHandler.setAssetsManagers([gltfManager, pointcloudManager])
|
|
15
|
-
*
|
|
16
|
-
* // Usage:
|
|
17
|
-
* // GET /assets/all - Returns all assets from all managers
|
|
18
|
-
* ```
|
|
19
|
-
*/
|
|
20
|
-
export class GlobalAssetsHandler extends Handler {
|
|
21
|
-
constructor() {
|
|
22
|
-
super(...arguments);
|
|
23
|
-
this.assetsManagers = [];
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Inject AssetsManager dependencies (called by engine)
|
|
27
|
-
*/
|
|
28
|
-
setAssetsManagers(assetsManagers) {
|
|
29
|
-
this.assetsManagers = assetsManagers;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Component configuration for the global assets handler
|
|
33
|
-
*/
|
|
34
|
-
getConfiguration() {
|
|
35
|
-
return {
|
|
36
|
-
name: 'global_assets',
|
|
37
|
-
description: 'Global handler for all assets across all managers',
|
|
38
|
-
contentType: 'application/json',
|
|
39
|
-
tags: ['assets', 'global', 'all']
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Get all assets from all registered asset managers.
|
|
44
|
-
*
|
|
45
|
-
* This method delegates to each AssetsManager's getAllAssets() method
|
|
46
|
-
* and aggregates the results with proper endpoint URLs.
|
|
47
|
-
*
|
|
48
|
-
* @returns {Promise<DataResponse>} JSON response with all assets
|
|
49
|
-
*
|
|
50
|
-
* @example
|
|
51
|
-
* ```typescript
|
|
52
|
-
* // GET /assets/all
|
|
53
|
-
* // Returns: {
|
|
54
|
-
* // total: 5,
|
|
55
|
-
* // assets: [
|
|
56
|
-
* // { id: 1, component: "gltf", url: "/gltf/1", ... },
|
|
57
|
-
* // { id: 2, component: "pointcloud", url: "/pointcloud/2", ... }
|
|
58
|
-
* // ]
|
|
59
|
-
* // }
|
|
60
|
-
* ```
|
|
61
|
-
*/
|
|
62
|
-
async getAllAssets() {
|
|
63
|
-
try {
|
|
64
|
-
const allAssets = [];
|
|
65
|
-
// Iterate through all registered AssetsManager instances
|
|
66
|
-
for (const manager of this.assetsManagers) {
|
|
67
|
-
try {
|
|
68
|
-
const assets = await manager.getAllAssets();
|
|
69
|
-
const config = manager.getConfiguration();
|
|
70
|
-
// Transform assets to include component info and URLs
|
|
71
|
-
const transformedAssets = assets.map(asset => ({
|
|
72
|
-
id: asset.id,
|
|
73
|
-
component: config.name,
|
|
74
|
-
date: asset.date,
|
|
75
|
-
contentType: asset.contentType,
|
|
76
|
-
description: asset.description,
|
|
77
|
-
source: asset.source,
|
|
78
|
-
owner_id: asset.owner_id,
|
|
79
|
-
filename: asset.filename,
|
|
80
|
-
// Generate URLs using the manager's configuration
|
|
81
|
-
url: `/${config.endpoint}/${asset.id}`,
|
|
82
|
-
download_url: `/${config.endpoint}/${asset.id}/download`
|
|
83
|
-
}));
|
|
84
|
-
allAssets.push(...transformedAssets);
|
|
85
|
-
}
|
|
86
|
-
catch (error) {
|
|
87
|
-
// Skip this manager if it fails, don't break the whole operation
|
|
88
|
-
console.warn(`Failed to get assets from manager ${manager.getConfiguration().name}:`, error);
|
|
89
|
-
continue;
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
// Sort by date (newest first)
|
|
93
|
-
allAssets.sort((a, b) => new Date(b.date).getTime() - new Date(a.date).getTime());
|
|
94
|
-
return {
|
|
95
|
-
status: 200,
|
|
96
|
-
content: JSON.stringify({
|
|
97
|
-
total: allAssets.length,
|
|
98
|
-
assets: allAssets
|
|
99
|
-
}),
|
|
100
|
-
headers: { 'Content-Type': 'application/json' }
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
catch (error) {
|
|
104
|
-
return {
|
|
105
|
-
status: 500,
|
|
106
|
-
content: JSON.stringify({
|
|
107
|
-
error: error instanceof Error ? error.message : 'Unknown error'
|
|
108
|
-
}),
|
|
109
|
-
headers: { 'Content-Type': 'application/json' }
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* HTTP endpoints for global assets
|
|
115
|
-
*/
|
|
116
|
-
getEndpoints() {
|
|
117
|
-
return [
|
|
118
|
-
{
|
|
119
|
-
method: 'get',
|
|
120
|
-
path: '/assets/all',
|
|
121
|
-
handler: this.getAllAssets.bind(this),
|
|
122
|
-
responseType: 'application/json'
|
|
123
|
-
}
|
|
124
|
-
];
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
//# sourceMappingURL=global_assets_handler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"global_assets_handler.js","sourceRoot":"","sources":["../../src/components/global_assets_handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Handler component base class for HTTP endpoint providers
|
|
3
|
-
*
|
|
4
|
-
* Handlers are lightweight, stateless components that expose HTTP endpoints
|
|
5
|
-
* for on-demand data access, computation, or utility services within the digital twin.
|
|
6
|
-
*/
|
|
7
|
-
import type { Component, Servable } from './interfaces.js';
|
|
8
|
-
import type { ComponentConfiguration } from './types.js';
|
|
9
|
-
import type { DataResponse } from './types.js';
|
|
10
|
-
import type { HttpMethod } from '../engine/endpoints.js';
|
|
11
|
-
import type { OpenAPIDocumentable, OpenAPIComponentSpec } from '../openapi/types.js';
|
|
12
|
-
/**
|
|
13
|
-
* Runtime descriptor for an HTTP endpoint handler.
|
|
14
|
-
*
|
|
15
|
-
* Represents a fully resolved endpoint with its bound handler function,
|
|
16
|
-
* ready for registration with the Express router.
|
|
17
|
-
*/
|
|
18
|
-
type EndpointDescriptor = {
|
|
19
|
-
/** HTTP method for the endpoint */
|
|
20
|
-
method: HttpMethod;
|
|
21
|
-
/** URL path pattern */
|
|
22
|
-
path: string;
|
|
23
|
-
/** Response content type */
|
|
24
|
-
responseType?: string;
|
|
25
|
-
/** Bound handler function */
|
|
26
|
-
handler: (...args: any[]) => Promise<DataResponse>;
|
|
27
|
-
};
|
|
28
|
-
/**
|
|
29
|
-
* Abstract base class for Handler components.
|
|
30
|
-
*
|
|
31
|
-
* Handlers are lightweight, stateless components that expose HTTP endpoints
|
|
32
|
-
* for on-demand data access, computation, or utility services. Unlike Collectors
|
|
33
|
-
* and Harvesters, they don't run on schedules but respond to HTTP requests.
|
|
34
|
-
*
|
|
35
|
-
* Key features:
|
|
36
|
-
* - Expose HTTP endpoints using the @servableEndpoint decorator
|
|
37
|
-
* - Stateless operation (no database or storage dependencies by default)
|
|
38
|
-
* - Suitable for real-time computations, data queries, or API proxies
|
|
39
|
-
*
|
|
40
|
-
* @example
|
|
41
|
-
* ```typescript
|
|
42
|
-
* class CalculatorHandler extends Handler {
|
|
43
|
-
* getConfiguration() {
|
|
44
|
-
* return {
|
|
45
|
-
* name: 'calculator-handler',
|
|
46
|
-
* type: 'handler',
|
|
47
|
-
* contentType: 'application/json'
|
|
48
|
-
* };
|
|
49
|
-
* }
|
|
50
|
-
*
|
|
51
|
-
* @servableEndpoint({ path: '/api/calculate/sum', method: 'post' })
|
|
52
|
-
* async calculateSum(req: Request) {
|
|
53
|
-
* const { a, b } = req.body;
|
|
54
|
-
* return {
|
|
55
|
-
* status: 200,
|
|
56
|
-
* content: { result: a + b }
|
|
57
|
-
* };
|
|
58
|
-
* }
|
|
59
|
-
* }
|
|
60
|
-
* ```
|
|
61
|
-
*/
|
|
62
|
-
export declare abstract class Handler implements Component, Servable, OpenAPIDocumentable {
|
|
63
|
-
/**
|
|
64
|
-
* Returns the handler's configuration.
|
|
65
|
-
*
|
|
66
|
-
* Implementations must provide basic component information including
|
|
67
|
-
* name, type, and default content type for responses.
|
|
68
|
-
*
|
|
69
|
-
* @returns Component configuration object
|
|
70
|
-
*
|
|
71
|
-
* @example
|
|
72
|
-
* ```typescript
|
|
73
|
-
* getConfiguration() {
|
|
74
|
-
* return {
|
|
75
|
-
* name: 'my-handler',
|
|
76
|
-
* type: 'handler',
|
|
77
|
-
* contentType: 'application/json'
|
|
78
|
-
* };
|
|
79
|
-
* }
|
|
80
|
-
* ```
|
|
81
|
-
*/
|
|
82
|
-
abstract getConfiguration(): ComponentConfiguration;
|
|
83
|
-
/**
|
|
84
|
-
* Resolves and returns HTTP endpoints defined on this handler.
|
|
85
|
-
*
|
|
86
|
-
* Automatically discovers endpoints declared with the @servableEndpoint
|
|
87
|
-
* decorator and creates bound handler functions for registration with
|
|
88
|
-
* the Express router.
|
|
89
|
-
*
|
|
90
|
-
* @returns Array of endpoint descriptors with bound handler functions
|
|
91
|
-
*/
|
|
92
|
-
getEndpoints(): EndpointDescriptor[];
|
|
93
|
-
/**
|
|
94
|
-
* Returns the OpenAPI specification for this handler's endpoints.
|
|
95
|
-
*
|
|
96
|
-
* Generates documentation for all endpoints declared with @servableEndpoint.
|
|
97
|
-
* Can be overridden by subclasses for more detailed specifications.
|
|
98
|
-
*
|
|
99
|
-
* @returns {OpenAPIComponentSpec} OpenAPI paths, tags, and schemas for this handler
|
|
100
|
-
*/
|
|
101
|
-
getOpenAPISpec(): OpenAPIComponentSpec;
|
|
102
|
-
}
|
|
103
|
-
export {};
|
|
104
|
-
//# sourceMappingURL=handler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/components/handler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAmB,MAAM,qBAAqB,CAAA;AAsBrG;;;;;GAKG;AACH,KAAK,kBAAkB,GAAG;IACtB,mCAAmC;IACnC,MAAM,EAAE,UAAU,CAAA;IAElB,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAA;IAEZ,4BAA4B;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB,6BAA6B;IAC7B,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,YAAY,CAAC,CAAA;CACrD,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,8BAAsB,OAAQ,YAAW,SAAS,EAAE,QAAQ,EAAE,mBAAmB;IAC7E;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,CAAC,gBAAgB,IAAI,sBAAsB;IAEnD;;;;;;;;OAQG;IACH,YAAY,IAAI,kBAAkB,EAAE;IAgBpC;;;;;;;OAOG;IACH,cAAc,IAAI,oBAAoB;CAwCzC"}
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Handler component base class for HTTP endpoint providers
|
|
3
|
-
*
|
|
4
|
-
* Handlers are lightweight, stateless components that expose HTTP endpoints
|
|
5
|
-
* for on-demand data access, computation, or utility services within the digital twin.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Abstract base class for Handler components.
|
|
9
|
-
*
|
|
10
|
-
* Handlers are lightweight, stateless components that expose HTTP endpoints
|
|
11
|
-
* for on-demand data access, computation, or utility services. Unlike Collectors
|
|
12
|
-
* and Harvesters, they don't run on schedules but respond to HTTP requests.
|
|
13
|
-
*
|
|
14
|
-
* Key features:
|
|
15
|
-
* - Expose HTTP endpoints using the @servableEndpoint decorator
|
|
16
|
-
* - Stateless operation (no database or storage dependencies by default)
|
|
17
|
-
* - Suitable for real-time computations, data queries, or API proxies
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* ```typescript
|
|
21
|
-
* class CalculatorHandler extends Handler {
|
|
22
|
-
* getConfiguration() {
|
|
23
|
-
* return {
|
|
24
|
-
* name: 'calculator-handler',
|
|
25
|
-
* type: 'handler',
|
|
26
|
-
* contentType: 'application/json'
|
|
27
|
-
* };
|
|
28
|
-
* }
|
|
29
|
-
*
|
|
30
|
-
* @servableEndpoint({ path: '/api/calculate/sum', method: 'post' })
|
|
31
|
-
* async calculateSum(req: Request) {
|
|
32
|
-
* const { a, b } = req.body;
|
|
33
|
-
* return {
|
|
34
|
-
* status: 200,
|
|
35
|
-
* content: { result: a + b }
|
|
36
|
-
* };
|
|
37
|
-
* }
|
|
38
|
-
* }
|
|
39
|
-
* ```
|
|
40
|
-
*/
|
|
41
|
-
export class Handler {
|
|
42
|
-
/**
|
|
43
|
-
* Resolves and returns HTTP endpoints defined on this handler.
|
|
44
|
-
*
|
|
45
|
-
* Automatically discovers endpoints declared with the @servableEndpoint
|
|
46
|
-
* decorator and creates bound handler functions for registration with
|
|
47
|
-
* the Express router.
|
|
48
|
-
*
|
|
49
|
-
* @returns Array of endpoint descriptors with bound handler functions
|
|
50
|
-
*/
|
|
51
|
-
getEndpoints() {
|
|
52
|
-
const config = this.getConfiguration();
|
|
53
|
-
const ctor = this.constructor;
|
|
54
|
-
const endpoints = ctor.__endpoints || [];
|
|
55
|
-
return endpoints.map(ep => {
|
|
56
|
-
const handlerFn = this[ep.handlerName].bind(this);
|
|
57
|
-
return {
|
|
58
|
-
method: ep.method,
|
|
59
|
-
path: ep.path,
|
|
60
|
-
responseType: ep.responseType || config.contentType,
|
|
61
|
-
handler: handlerFn
|
|
62
|
-
};
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Returns the OpenAPI specification for this handler's endpoints.
|
|
67
|
-
*
|
|
68
|
-
* Generates documentation for all endpoints declared with @servableEndpoint.
|
|
69
|
-
* Can be overridden by subclasses for more detailed specifications.
|
|
70
|
-
*
|
|
71
|
-
* @returns {OpenAPIComponentSpec} OpenAPI paths, tags, and schemas for this handler
|
|
72
|
-
*/
|
|
73
|
-
getOpenAPISpec() {
|
|
74
|
-
const config = this.getConfiguration();
|
|
75
|
-
const endpoints = this.getEndpoints();
|
|
76
|
-
const tagName = config.tags?.[0] || config.name;
|
|
77
|
-
const paths = {};
|
|
78
|
-
for (const endpoint of endpoints) {
|
|
79
|
-
const method = endpoint.method.toLowerCase();
|
|
80
|
-
if (!paths[endpoint.path]) {
|
|
81
|
-
paths[endpoint.path] = {};
|
|
82
|
-
}
|
|
83
|
-
paths[endpoint.path][method] = {
|
|
84
|
-
summary: `${method.toUpperCase()} ${endpoint.path}`,
|
|
85
|
-
description: config.description,
|
|
86
|
-
tags: [tagName],
|
|
87
|
-
responses: {
|
|
88
|
-
'200': {
|
|
89
|
-
description: 'Successful response',
|
|
90
|
-
content: {
|
|
91
|
-
[endpoint.responseType || config.contentType]: {
|
|
92
|
-
schema: { type: 'object' }
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
|
-
return {
|
|
100
|
-
paths,
|
|
101
|
-
tags: [
|
|
102
|
-
{
|
|
103
|
-
name: tagName,
|
|
104
|
-
description: config.description
|
|
105
|
-
}
|
|
106
|
-
]
|
|
107
|
-
};
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
//# sourceMappingURL=handler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/components/handler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgDH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,OAAgB,OAAO;IAsBzB;;;;;;;;OAQG;IACH,YAAY;QACR,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,WAA+C,CAAA;QACjE,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAA;QAExC,OAAO,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YACtB,MAAM,SAAS,GAAI,IAA4B,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAkC,CAAA;YAC3G,OAAO;gBACH,MAAM,EAAE,EAAE,CAAC,MAAM;gBACjB,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,YAAY,EAAE,EAAE,CAAC,YAAY,IAAI,MAAM,CAAC,WAAW;gBACnD,OAAO,EAAE,SAAS;aACrB,CAAA;QACL,CAAC,CAAC,CAAA;IACN,CAAC;IAED;;;;;;;OAOG;IACH,cAAc;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;QACrC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAA;QAC/C,MAAM,KAAK,GAAoC,EAAE,CAAA;QAEjD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,EAA2B,CAAA;YAErE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;YAC7B,CAAC;YAED,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG;gBAC3B,OAAO,EAAE,GAAG,MAAM,CAAC,WAAW,EAAE,IAAI,QAAQ,CAAC,IAAI,EAAE;gBACnD,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,IAAI,EAAE,CAAC,OAAO,CAAC;gBACf,SAAS,EAAE;oBACP,KAAK,EAAE;wBACH,WAAW,EAAE,qBAAqB;wBAClC,OAAO,EAAE;4BACL,CAAC,QAAQ,CAAC,YAAY,IAAI,MAAM,CAAC,WAAW,CAAC,EAAE;gCAC3C,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;6BAC7B;yBACJ;qBACJ;iBACJ;aACJ,CAAA;QACL,CAAC;QAED,OAAO;YACH,KAAK;YACL,IAAI,EAAE;gBACF;oBACI,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,MAAM,CAAC,WAAW;iBAClC;aACJ;SACJ,CAAA;IACL,CAAC;CACJ"}
|
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
import type { Component, ScheduleRunnable, Servable } from './interfaces.js';
|
|
2
|
-
import type { DataResponse, HarvesterConfiguration } from './types.js';
|
|
3
|
-
import type { DataRecord } from '../types/data_record.js';
|
|
4
|
-
import type { DatabaseAdapter } from '../database/database_adapter.js';
|
|
5
|
-
import type { StorageService } from '../storage/storage_service.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 harvesting components.
|
|
10
|
-
*
|
|
11
|
-
* Harvesters process and analyze data that has been collected by Collectors,
|
|
12
|
-
* applying transformations, aggregations, or other data processing operations.
|
|
13
|
-
* They can be triggered by new source data or run on a schedule.
|
|
14
|
-
*
|
|
15
|
-
* Key features:
|
|
16
|
-
* - Process existing collected data with configurable ranges
|
|
17
|
-
* - Support both time-based and count-based data retrieval
|
|
18
|
-
* - Can be triggered by source data changes or scheduled execution
|
|
19
|
-
* - Provide HTTP endpoints for accessing processed results
|
|
20
|
-
*
|
|
21
|
-
* @example
|
|
22
|
-
* ```typescript
|
|
23
|
-
* class TrafficAnalysisHarvester extends Harvester {
|
|
24
|
-
* getUserConfiguration() {
|
|
25
|
-
* return {
|
|
26
|
-
* name: 'traffic-analysis',
|
|
27
|
-
* type: 'harvester',
|
|
28
|
-
* source: 'traffic-collector',
|
|
29
|
-
* source_range: '1h', // Process last hour of data
|
|
30
|
-
* schedule: '0 *\/15 * * * *' // Run every 15 minutes
|
|
31
|
-
* };
|
|
32
|
-
* }
|
|
33
|
-
*
|
|
34
|
-
* async harvest(data: DataRecord[]): Promise<DataRecord[]> {
|
|
35
|
-
* // Process traffic data and return analysis results
|
|
36
|
-
* return this.analyzeTrafficPatterns(data);
|
|
37
|
-
* }
|
|
38
|
-
* }
|
|
39
|
-
* ```
|
|
40
|
-
*/
|
|
41
|
-
export declare abstract class Harvester implements Component<HarvesterConfiguration>, ScheduleRunnable, Servable, OpenAPIDocumentable {
|
|
42
|
-
protected db: DatabaseAdapter;
|
|
43
|
-
protected storage: StorageService;
|
|
44
|
-
private _configCache?;
|
|
45
|
-
/**
|
|
46
|
-
* Injects database and storage dependencies into the harvester.
|
|
47
|
-
*
|
|
48
|
-
* Called during component initialization to provide access to
|
|
49
|
-
* data storage and file operations.
|
|
50
|
-
*
|
|
51
|
-
* @param db - Database adapter for reading source data
|
|
52
|
-
* @param storage - Storage service for file operations
|
|
53
|
-
*/
|
|
54
|
-
setDependencies(db: DatabaseAdapter, storage: StorageService): void;
|
|
55
|
-
/**
|
|
56
|
-
* Provides the basic harvester configuration.
|
|
57
|
-
*
|
|
58
|
-
* Implementations must return configuration specifying the harvester's
|
|
59
|
-
* name, data source, processing range, and scheduling information.
|
|
60
|
-
*
|
|
61
|
-
* @returns Basic harvester configuration without defaults applied
|
|
62
|
-
*
|
|
63
|
-
* @example
|
|
64
|
-
* ```typescript
|
|
65
|
-
* getUserConfiguration() {
|
|
66
|
-
* return {
|
|
67
|
-
* name: 'weather-analysis',
|
|
68
|
-
* type: 'harvester',
|
|
69
|
-
* source: 'weather-collector',
|
|
70
|
-
* source_range: '24h',
|
|
71
|
-
* schedule: '0 0 * * * *' // Daily at midnight
|
|
72
|
-
* };
|
|
73
|
-
* }
|
|
74
|
-
* ```
|
|
75
|
-
*/
|
|
76
|
-
abstract getUserConfiguration(): HarvesterConfiguration;
|
|
77
|
-
/**
|
|
78
|
-
* Returns the complete harvester configuration with defaults applied.
|
|
79
|
-
*
|
|
80
|
-
* Merges user configuration with sensible defaults for optional settings.
|
|
81
|
-
* This final configuration is used by the engine and scheduler.
|
|
82
|
-
*
|
|
83
|
-
* @returns Complete configuration with all defaults applied
|
|
84
|
-
*/
|
|
85
|
-
getConfiguration(): HarvesterConfiguration;
|
|
86
|
-
/**
|
|
87
|
-
* Returns the cron schedule for this harvester.
|
|
88
|
-
*
|
|
89
|
-
* For 'on-source' trigger mode, returns empty string (no schedule).
|
|
90
|
-
* For 'scheduled' mode, uses the provided schedule or defaults to every minute.
|
|
91
|
-
*
|
|
92
|
-
* @returns Cron expression string or empty string for source-triggered mode
|
|
93
|
-
*/
|
|
94
|
-
getSchedule(): string;
|
|
95
|
-
/**
|
|
96
|
-
* Allows subclasses to define a custom schedule.
|
|
97
|
-
*
|
|
98
|
-
* Override this method to provide a custom cron expression
|
|
99
|
-
* that differs from the default every-minute schedule.
|
|
100
|
-
*
|
|
101
|
-
* @returns Custom cron expression string
|
|
102
|
-
*
|
|
103
|
-
* @example
|
|
104
|
-
* ```typescript
|
|
105
|
-
* getCustomSchedule() {
|
|
106
|
-
* return '0 0 *\/6 * * *'; // Every 6 hours
|
|
107
|
-
* }
|
|
108
|
-
* ```
|
|
109
|
-
*/
|
|
110
|
-
getCustomSchedule?(): string;
|
|
111
|
-
/**
|
|
112
|
-
* Processes source data and returns harvested results.
|
|
113
|
-
*
|
|
114
|
-
* This is the main data processing method that implementations must provide.
|
|
115
|
-
* It receives source data (from the configured source component) and any
|
|
116
|
-
* dependency data, then performs analysis, transformation, or aggregation.
|
|
117
|
-
*
|
|
118
|
-
* @param sourceData - Data from the source component (single record or array)
|
|
119
|
-
* @param dependenciesData - Data from dependency components, keyed by component name
|
|
120
|
-
* @returns Processed data as Buffer(s) to be stored
|
|
121
|
-
*
|
|
122
|
-
* @example
|
|
123
|
-
* ```typescript
|
|
124
|
-
* async harvest(sourceData: DataRecord[], dependenciesData: Record<string, DataRecord[]>) {
|
|
125
|
-
* const trafficData = sourceData.map(r => JSON.parse(r.data.toString()));
|
|
126
|
-
* const analysis = this.performTrafficAnalysis(trafficData);
|
|
127
|
-
* return Buffer.from(JSON.stringify(analysis));
|
|
128
|
-
* }
|
|
129
|
-
* ```
|
|
130
|
-
*/
|
|
131
|
-
abstract harvest(sourceData: DataRecord | DataRecord[], dependenciesData: Record<string, DataRecord | DataRecord[] | null>): Promise<Buffer | Buffer[]>;
|
|
132
|
-
/**
|
|
133
|
-
* Main execution method for the harvester.
|
|
134
|
-
*
|
|
135
|
-
* Orchestrates the harvesting process by:
|
|
136
|
-
* 1. Determining the date range for data retrieval
|
|
137
|
-
* 2. Fetching source and dependency data
|
|
138
|
-
* 3. Calling the harvest method with the data
|
|
139
|
-
* 4. Storing the results in the database
|
|
140
|
-
*
|
|
141
|
-
* @returns True if harvesting was successful, false if no data to process
|
|
142
|
-
*
|
|
143
|
-
* @throws {Error} When source component is not specified
|
|
144
|
-
* @throws {Error} When data processing fails
|
|
145
|
-
*/
|
|
146
|
-
run(): Promise<boolean>;
|
|
147
|
-
/**
|
|
148
|
-
* HTTP endpoints
|
|
149
|
-
*/
|
|
150
|
-
getEndpoints(): Array<{
|
|
151
|
-
method: HttpMethod;
|
|
152
|
-
path: string;
|
|
153
|
-
handler: (...args: any[]) => any;
|
|
154
|
-
responseType?: string;
|
|
155
|
-
}>;
|
|
156
|
-
/**
|
|
157
|
-
* Retrieve latest harvested data
|
|
158
|
-
*/
|
|
159
|
-
retrieve(): Promise<DataResponse>;
|
|
160
|
-
/**
|
|
161
|
-
* Get source data within the specified range
|
|
162
|
-
*/
|
|
163
|
-
private getSourceData;
|
|
164
|
-
/**
|
|
165
|
-
* Get data from dependent components
|
|
166
|
-
*/
|
|
167
|
-
private getDependenciesData;
|
|
168
|
-
/**
|
|
169
|
-
* Store harvesting results
|
|
170
|
-
*/
|
|
171
|
-
private storeResults;
|
|
172
|
-
/**
|
|
173
|
-
* Returns the OpenAPI specification for this harvester's endpoints.
|
|
174
|
-
*
|
|
175
|
-
* Generates documentation for the GET endpoint that retrieves harvested data.
|
|
176
|
-
* Can be overridden by subclasses for more detailed specifications.
|
|
177
|
-
*
|
|
178
|
-
* @returns {OpenAPIComponentSpec} OpenAPI paths, tags, and schemas for this harvester
|
|
179
|
-
*/
|
|
180
|
-
getOpenAPISpec(): OpenAPIComponentSpec;
|
|
181
|
-
}
|
|
182
|
-
//# sourceMappingURL=harvester.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"harvester.d.ts","sourceRoot":"","sources":["../../src/components/harvester.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AA2HpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,8BAAsB,SAClB,YAAW,SAAS,CAAC,sBAAsB,CAAC,EAAE,gBAAgB,EAAE,QAAQ,EAAE,mBAAmB;IAE7F,SAAS,CAAC,EAAE,EAAG,eAAe,CAAA;IAC9B,SAAS,CAAC,OAAO,EAAG,cAAc,CAAA;IAClC,OAAO,CAAC,YAAY,CAAC,CAAwB;IAE7C;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc;IAK5D;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,QAAQ,CAAC,oBAAoB,IAAI,sBAAsB;IAEvD;;;;;;;OAOG;IACH,gBAAgB,IAAI,sBAAsB;IA0B1C;;;;;;;OAOG;IACH,WAAW,IAAI,MAAM;IASrB;;;;;;;;;;;;;;OAcG;IACH,iBAAiB,CAAC,IAAI,MAAM;IAE5B;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAAC,OAAO,CACZ,UAAU,EAAE,UAAU,GAAG,UAAU,EAAE,EACrC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,EAAE,GAAG,IAAI,CAAC,GACnE,OAAO,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC;IAE7B;;;;;;;;;;;;;OAaG;IACG,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;IA4D7B;;OAEG;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;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC;IAoBvC;;OAEG;YACW,aAAa;IAsB3B;;OAEG;YACW,mBAAmB;IAyBjC;;OAEG;YACW,YAAY;IAkC1B;;;;;;;OAOG;IACH,cAAc,IAAI,oBAAoB;CAoCzC"}
|