digitaltwin-core 0.14.0 → 0.14.2

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 (170) hide show
  1. package/README.md +2 -2
  2. package/package.json +102 -106
  3. package/dist/auth/apisix_parser.d.ts +0 -146
  4. package/dist/auth/apisix_parser.d.ts.map +0 -1
  5. package/dist/auth/apisix_parser.js +0 -185
  6. package/dist/auth/apisix_parser.js.map +0 -1
  7. package/dist/auth/auth_config.d.ts +0 -126
  8. package/dist/auth/auth_config.d.ts.map +0 -1
  9. package/dist/auth/auth_config.js +0 -169
  10. package/dist/auth/auth_config.js.map +0 -1
  11. package/dist/auth/index.d.ts +0 -5
  12. package/dist/auth/index.d.ts.map +0 -1
  13. package/dist/auth/index.js +0 -4
  14. package/dist/auth/index.js.map +0 -1
  15. package/dist/auth/types.d.ts +0 -100
  16. package/dist/auth/types.d.ts.map +0 -1
  17. package/dist/auth/types.js +0 -2
  18. package/dist/auth/types.js.map +0 -1
  19. package/dist/auth/user_service.d.ts +0 -86
  20. package/dist/auth/user_service.d.ts.map +0 -1
  21. package/dist/auth/user_service.js +0 -237
  22. package/dist/auth/user_service.js.map +0 -1
  23. package/dist/components/assets_manager.d.ts +0 -662
  24. package/dist/components/assets_manager.d.ts.map +0 -1
  25. package/dist/components/assets_manager.js +0 -1529
  26. package/dist/components/assets_manager.js.map +0 -1
  27. package/dist/components/async_upload.d.ts +0 -20
  28. package/dist/components/async_upload.d.ts.map +0 -1
  29. package/dist/components/async_upload.js +0 -10
  30. package/dist/components/async_upload.js.map +0 -1
  31. package/dist/components/collector.d.ts +0 -203
  32. package/dist/components/collector.d.ts.map +0 -1
  33. package/dist/components/collector.js +0 -202
  34. package/dist/components/collector.js.map +0 -1
  35. package/dist/components/custom_table_manager.d.ts +0 -503
  36. package/dist/components/custom_table_manager.d.ts.map +0 -1
  37. package/dist/components/custom_table_manager.js +0 -1052
  38. package/dist/components/custom_table_manager.js.map +0 -1
  39. package/dist/components/global_assets_handler.d.ts +0 -63
  40. package/dist/components/global_assets_handler.d.ts.map +0 -1
  41. package/dist/components/global_assets_handler.js +0 -127
  42. package/dist/components/global_assets_handler.js.map +0 -1
  43. package/dist/components/handler.d.ts +0 -104
  44. package/dist/components/handler.d.ts.map +0 -1
  45. package/dist/components/handler.js +0 -110
  46. package/dist/components/handler.js.map +0 -1
  47. package/dist/components/harvester.d.ts +0 -182
  48. package/dist/components/harvester.d.ts.map +0 -1
  49. package/dist/components/harvester.js +0 -393
  50. package/dist/components/harvester.js.map +0 -1
  51. package/dist/components/index.d.ts +0 -11
  52. package/dist/components/index.d.ts.map +0 -1
  53. package/dist/components/index.js +0 -9
  54. package/dist/components/index.js.map +0 -1
  55. package/dist/components/interfaces.d.ts +0 -126
  56. package/dist/components/interfaces.d.ts.map +0 -1
  57. package/dist/components/interfaces.js +0 -8
  58. package/dist/components/interfaces.js.map +0 -1
  59. package/dist/components/map_manager.d.ts +0 -61
  60. package/dist/components/map_manager.d.ts.map +0 -1
  61. package/dist/components/map_manager.js +0 -242
  62. package/dist/components/map_manager.js.map +0 -1
  63. package/dist/components/tileset_manager.d.ts +0 -125
  64. package/dist/components/tileset_manager.d.ts.map +0 -1
  65. package/dist/components/tileset_manager.js +0 -618
  66. package/dist/components/tileset_manager.js.map +0 -1
  67. package/dist/components/types.d.ts +0 -226
  68. package/dist/components/types.d.ts.map +0 -1
  69. package/dist/components/types.js +0 -8
  70. package/dist/components/types.js.map +0 -1
  71. package/dist/database/adapters/knex_database_adapter.d.ts +0 -92
  72. package/dist/database/adapters/knex_database_adapter.d.ts.map +0 -1
  73. package/dist/database/adapters/knex_database_adapter.js +0 -647
  74. package/dist/database/adapters/knex_database_adapter.js.map +0 -1
  75. package/dist/database/database_adapter.d.ts +0 -251
  76. package/dist/database/database_adapter.d.ts.map +0 -1
  77. package/dist/database/database_adapter.js +0 -46
  78. package/dist/database/database_adapter.js.map +0 -1
  79. package/dist/engine/digital_twin_engine.d.ts +0 -253
  80. package/dist/engine/digital_twin_engine.d.ts.map +0 -1
  81. package/dist/engine/digital_twin_engine.js +0 -790
  82. package/dist/engine/digital_twin_engine.js.map +0 -1
  83. package/dist/engine/endpoints.d.ts +0 -47
  84. package/dist/engine/endpoints.d.ts.map +0 -1
  85. package/dist/engine/endpoints.js +0 -56
  86. package/dist/engine/endpoints.js.map +0 -1
  87. package/dist/engine/events.d.ts +0 -93
  88. package/dist/engine/events.d.ts.map +0 -1
  89. package/dist/engine/events.js +0 -71
  90. package/dist/engine/events.js.map +0 -1
  91. package/dist/engine/initializer.d.ts +0 -62
  92. package/dist/engine/initializer.d.ts.map +0 -1
  93. package/dist/engine/initializer.js +0 -108
  94. package/dist/engine/initializer.js.map +0 -1
  95. package/dist/engine/queue_manager.d.ts +0 -87
  96. package/dist/engine/queue_manager.d.ts.map +0 -1
  97. package/dist/engine/queue_manager.js +0 -196
  98. package/dist/engine/queue_manager.js.map +0 -1
  99. package/dist/engine/scheduler.d.ts +0 -30
  100. package/dist/engine/scheduler.d.ts.map +0 -1
  101. package/dist/engine/scheduler.js +0 -370
  102. package/dist/engine/scheduler.js.map +0 -1
  103. package/dist/engine/upload_processor.d.ts +0 -36
  104. package/dist/engine/upload_processor.d.ts.map +0 -1
  105. package/dist/engine/upload_processor.js +0 -101
  106. package/dist/engine/upload_processor.js.map +0 -1
  107. package/dist/env/env.d.ts +0 -134
  108. package/dist/env/env.d.ts.map +0 -1
  109. package/dist/env/env.js +0 -177
  110. package/dist/env/env.js.map +0 -1
  111. package/dist/index.d.ts +0 -49
  112. package/dist/index.d.ts.map +0 -1
  113. package/dist/index.js +0 -57
  114. package/dist/index.js.map +0 -1
  115. package/dist/openapi/generator.d.ts +0 -93
  116. package/dist/openapi/generator.d.ts.map +0 -1
  117. package/dist/openapi/generator.js +0 -293
  118. package/dist/openapi/generator.js.map +0 -1
  119. package/dist/openapi/index.d.ts +0 -9
  120. package/dist/openapi/index.d.ts.map +0 -1
  121. package/dist/openapi/index.js +0 -9
  122. package/dist/openapi/index.js.map +0 -1
  123. package/dist/openapi/types.d.ts +0 -182
  124. package/dist/openapi/types.d.ts.map +0 -1
  125. package/dist/openapi/types.js +0 -16
  126. package/dist/openapi/types.js.map +0 -1
  127. package/dist/storage/adapters/local_storage_service.d.ts +0 -51
  128. package/dist/storage/adapters/local_storage_service.d.ts.map +0 -1
  129. package/dist/storage/adapters/local_storage_service.js +0 -110
  130. package/dist/storage/adapters/local_storage_service.js.map +0 -1
  131. package/dist/storage/adapters/ovh_storage_service.d.ts +0 -72
  132. package/dist/storage/adapters/ovh_storage_service.d.ts.map +0 -1
  133. package/dist/storage/adapters/ovh_storage_service.js +0 -206
  134. package/dist/storage/adapters/ovh_storage_service.js.map +0 -1
  135. package/dist/storage/storage_factory.d.ts +0 -14
  136. package/dist/storage/storage_factory.d.ts.map +0 -1
  137. package/dist/storage/storage_factory.js +0 -40
  138. package/dist/storage/storage_factory.js.map +0 -1
  139. package/dist/storage/storage_service.d.ts +0 -163
  140. package/dist/storage/storage_service.d.ts.map +0 -1
  141. package/dist/storage/storage_service.js +0 -54
  142. package/dist/storage/storage_service.js.map +0 -1
  143. package/dist/types/data_record.d.ts +0 -123
  144. package/dist/types/data_record.d.ts.map +0 -1
  145. package/dist/types/data_record.js +0 -8
  146. package/dist/types/data_record.js.map +0 -1
  147. package/dist/utils/http_responses.d.ts +0 -155
  148. package/dist/utils/http_responses.d.ts.map +0 -1
  149. package/dist/utils/http_responses.js +0 -190
  150. package/dist/utils/http_responses.js.map +0 -1
  151. package/dist/utils/index.d.ts +0 -8
  152. package/dist/utils/index.d.ts.map +0 -1
  153. package/dist/utils/index.js +0 -6
  154. package/dist/utils/index.js.map +0 -1
  155. package/dist/utils/logger.d.ts +0 -74
  156. package/dist/utils/logger.d.ts.map +0 -1
  157. package/dist/utils/logger.js +0 -92
  158. package/dist/utils/logger.js.map +0 -1
  159. package/dist/utils/map_to_data_record.d.ts +0 -10
  160. package/dist/utils/map_to_data_record.d.ts.map +0 -1
  161. package/dist/utils/map_to_data_record.js +0 -36
  162. package/dist/utils/map_to_data_record.js.map +0 -1
  163. package/dist/utils/servable_endpoint.d.ts +0 -63
  164. package/dist/utils/servable_endpoint.d.ts.map +0 -1
  165. package/dist/utils/servable_endpoint.js +0 -67
  166. package/dist/utils/servable_endpoint.js.map +0 -1
  167. package/dist/utils/zip_utils.d.ts +0 -66
  168. package/dist/utils/zip_utils.d.ts.map +0 -1
  169. package/dist/utils/zip_utils.js +0 -169
  170. package/dist/utils/zip_utils.js.map +0 -1
@@ -1,293 +0,0 @@
1
- /**
2
- * @fileoverview OpenAPI specification generator for Digital Twin components
3
- *
4
- * This module provides utilities to automatically generate OpenAPI 3.0
5
- * documentation from Digital Twin components that implement OpenAPIDocumentable.
6
- */
7
- import { isOpenAPIDocumentable } from './types.js';
8
- /**
9
- * Generates OpenAPI 3.0 specifications from Digital Twin components.
10
- *
11
- * The generator aggregates OpenAPI specs from all components that implement
12
- * the OpenAPIDocumentable interface and produces a complete OpenAPI document.
13
- *
14
- * @example
15
- * ```typescript
16
- * import { OpenAPIGenerator } from 'digitaltwin-core'
17
- * import * as components from './src/components'
18
- *
19
- * const spec = OpenAPIGenerator.generate({
20
- * info: {
21
- * title: 'My Digital Twin API',
22
- * version: '1.0.0',
23
- * description: 'API documentation'
24
- * },
25
- * components: Object.values(components),
26
- * servers: [{ url: 'http://localhost:3000' }]
27
- * })
28
- *
29
- * // Write to file
30
- * OpenAPIGenerator.writeYAML(spec, './openapi.yaml')
31
- * ```
32
- */
33
- export class OpenAPIGenerator {
34
- /**
35
- * Generates an OpenAPI document from the provided components.
36
- *
37
- * @param options - Generation options including components and metadata
38
- * @returns Complete OpenAPI document
39
- */
40
- static generate(options) {
41
- const { info, servers, components, additionalSchemas, additionalTags, includeAuth = true } = options;
42
- // Filter components that implement OpenAPIDocumentable
43
- const documentableComponents = components.filter(isOpenAPIDocumentable);
44
- // Aggregate paths, tags, and schemas from all components
45
- const allPaths = {};
46
- const allTags = additionalTags ? [...additionalTags] : [];
47
- const allSchemas = additionalSchemas ? { ...additionalSchemas } : {};
48
- const tagNames = new Set(additionalTags?.map(t => t.name) || []);
49
- for (const component of documentableComponents) {
50
- try {
51
- const spec = component.getOpenAPISpec();
52
- // Merge paths
53
- for (const [path, pathItem] of Object.entries(spec.paths)) {
54
- if (allPaths[path]) {
55
- // Merge operations into existing path
56
- allPaths[path] = { ...allPaths[path], ...pathItem };
57
- }
58
- else {
59
- allPaths[path] = pathItem;
60
- }
61
- }
62
- // Merge tags (avoid duplicates)
63
- if (spec.tags) {
64
- for (const tag of spec.tags) {
65
- if (!tagNames.has(tag.name)) {
66
- allTags.push(tag);
67
- tagNames.add(tag.name);
68
- }
69
- }
70
- }
71
- // Merge schemas
72
- if (spec.schemas) {
73
- Object.assign(allSchemas, spec.schemas);
74
- }
75
- }
76
- catch (error) {
77
- const componentName = 'getConfiguration' in component
78
- ? component.getConfiguration().name
79
- : 'unknown';
80
- console.warn(`Warning: Failed to get OpenAPI spec from component "${componentName}":`, error);
81
- }
82
- }
83
- // Sort tags alphabetically
84
- allTags.sort((a, b) => a.name.localeCompare(b.name));
85
- // Build components section
86
- const componentsSection = {};
87
- if (Object.keys(allSchemas).length > 0) {
88
- componentsSection.schemas = allSchemas;
89
- }
90
- if (includeAuth) {
91
- componentsSection.securitySchemes = this.getDefaultSecuritySchemes();
92
- }
93
- // Build final document
94
- const document = {
95
- openapi: '3.0.3',
96
- info,
97
- paths: allPaths
98
- };
99
- if (servers && servers.length > 0) {
100
- document.servers = servers;
101
- }
102
- if (allTags.length > 0) {
103
- document.tags = allTags;
104
- }
105
- if (Object.keys(componentsSection).length > 0) {
106
- document.components = componentsSection;
107
- }
108
- return document;
109
- }
110
- /**
111
- * Returns default security schemes for APISIX/Keycloak authentication.
112
- */
113
- static getDefaultSecuritySchemes() {
114
- return {
115
- ApiKeyAuth: {
116
- type: 'apiKey',
117
- in: 'header',
118
- name: 'x-user-id',
119
- description: 'Keycloak user ID (forwarded by APISIX)'
120
- }
121
- };
122
- }
123
- /**
124
- * Converts an OpenAPI document to YAML string.
125
- *
126
- * @param document - OpenAPI document to convert
127
- * @returns YAML string representation
128
- */
129
- static toYAML(document) {
130
- return this.objectToYAML(document, 0);
131
- }
132
- /**
133
- * Converts an OpenAPI document to JSON string.
134
- *
135
- * @param document - OpenAPI document to convert
136
- * @param pretty - Whether to format with indentation (default: true)
137
- * @returns JSON string representation
138
- */
139
- static toJSON(document, pretty = true) {
140
- return JSON.stringify(document, null, pretty ? 2 : undefined);
141
- }
142
- /**
143
- * Recursively converts an object to YAML format.
144
- * Simple implementation without external dependencies.
145
- */
146
- static objectToYAML(obj, indent) {
147
- const spaces = ' '.repeat(indent);
148
- if (obj === null || obj === undefined) {
149
- return 'null';
150
- }
151
- if (typeof obj === 'string') {
152
- // Check if string needs quoting
153
- if (obj === '' ||
154
- obj.includes(':') ||
155
- obj.includes('#') ||
156
- obj.includes('\n') ||
157
- obj.includes('"') ||
158
- obj.includes("'") ||
159
- obj.startsWith(' ') ||
160
- obj.endsWith(' ') ||
161
- obj === 'true' ||
162
- obj === 'false' ||
163
- obj === 'null' ||
164
- /^[\d.]+$/.test(obj)) {
165
- // Use double quotes and escape
166
- return `"${obj.replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\n/g, '\\n')}"`;
167
- }
168
- return obj;
169
- }
170
- if (typeof obj === 'number' || typeof obj === 'boolean') {
171
- return String(obj);
172
- }
173
- if (Array.isArray(obj)) {
174
- if (obj.length === 0) {
175
- return '[]';
176
- }
177
- const items = obj.map(item => {
178
- const value = this.objectToYAML(item, indent + 1);
179
- if (typeof item === 'object' && item !== null && !Array.isArray(item)) {
180
- // Object in array - put first property on same line as dash
181
- const lines = value.split('\n');
182
- if (lines.length > 0) {
183
- return `${spaces}- ${lines[0].trimStart()}\n${lines.slice(1).join('\n')}`;
184
- }
185
- }
186
- return `${spaces}- ${value}`;
187
- });
188
- return items.join('\n').replace(/\n+$/, '');
189
- }
190
- if (typeof obj === 'object') {
191
- const entries = Object.entries(obj);
192
- if (entries.length === 0) {
193
- return '{}';
194
- }
195
- const lines = entries.map(([key, value]) => {
196
- // Handle special keys that need quoting
197
- const quotedKey = /[:\s#[\]{}]/.test(key) ? `"${key}"` : key;
198
- if (value === null || value === undefined) {
199
- return `${spaces}${quotedKey}: null`;
200
- }
201
- if (typeof value === 'object' && !Array.isArray(value) && Object.keys(value).length > 0) {
202
- return `${spaces}${quotedKey}:\n${this.objectToYAML(value, indent + 1)}`;
203
- }
204
- if (Array.isArray(value) && value.length > 0) {
205
- return `${spaces}${quotedKey}:\n${this.objectToYAML(value, indent + 1)}`;
206
- }
207
- return `${spaces}${quotedKey}: ${this.objectToYAML(value, indent + 1)}`;
208
- });
209
- return lines.join('\n');
210
- }
211
- return String(obj);
212
- }
213
- /**
214
- * Helper to create a simple schema reference.
215
- */
216
- static schemaRef(name) {
217
- return { $ref: `#/components/schemas/${name}` };
218
- }
219
- /**
220
- * Helper to create a common response for 200 OK with content.
221
- */
222
- static successResponse(contentType, schema, description = 'Successful response') {
223
- return {
224
- '200': {
225
- description,
226
- content: {
227
- [contentType]: { schema }
228
- }
229
- }
230
- };
231
- }
232
- /**
233
- * Helper to create common error responses.
234
- */
235
- static errorResponses(codes = [400, 401, 404, 500]) {
236
- const responses = {};
237
- const descriptions = {
238
- 400: 'Bad request',
239
- 401: 'Unauthorized',
240
- 403: 'Forbidden',
241
- 404: 'Not found',
242
- 500: 'Internal server error'
243
- };
244
- for (const code of codes) {
245
- responses[String(code)] = { description: descriptions[code] };
246
- }
247
- return responses;
248
- }
249
- /**
250
- * Common schemas used across components.
251
- */
252
- static { this.commonSchemas = {
253
- Error: {
254
- type: 'object',
255
- properties: {
256
- error: { type: 'string' },
257
- message: { type: 'string' }
258
- }
259
- },
260
- Point: {
261
- type: 'object',
262
- required: ['type', 'coordinates'],
263
- properties: {
264
- type: { type: 'string', enum: ['Point'] },
265
- coordinates: {
266
- type: 'array',
267
- items: { type: 'number' }
268
- }
269
- }
270
- },
271
- Feature: {
272
- type: 'object',
273
- required: ['type', 'geometry', 'properties'],
274
- properties: {
275
- type: { type: 'string', enum: ['Feature'] },
276
- geometry: { type: 'object' },
277
- properties: { type: 'object' }
278
- }
279
- },
280
- FeatureCollection: {
281
- type: 'object',
282
- required: ['type', 'features'],
283
- properties: {
284
- type: { type: 'string', enum: ['FeatureCollection'] },
285
- features: {
286
- type: 'array',
287
- items: { $ref: '#/components/schemas/Feature' }
288
- }
289
- }
290
- }
291
- }; }
292
- }
293
- //# sourceMappingURL=generator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/openapi/generator.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- /**
2
- * @fileoverview OpenAPI documentation generation module
3
- *
4
- * This module exports utilities for generating OpenAPI 3.0 specifications
5
- * from Digital Twin components.
6
- */
7
- export * from './types.js';
8
- export * from './generator.js';
9
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/openapi/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA"}
@@ -1,9 +0,0 @@
1
- /**
2
- * @fileoverview OpenAPI documentation generation module
3
- *
4
- * This module exports utilities for generating OpenAPI 3.0 specifications
5
- * from Digital Twin components.
6
- */
7
- export * from './types.js';
8
- export * from './generator.js';
9
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/openapi/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA"}
@@ -1,182 +0,0 @@
1
- /**
2
- * @fileoverview OpenAPI 3.0 type definitions for automatic documentation generation
3
- *
4
- * These types provide a structured way to define OpenAPI specifications
5
- * for digital twin components.
6
- */
7
- /**
8
- * OpenAPI Info object
9
- */
10
- export interface OpenAPIInfo {
11
- title: string;
12
- description?: string;
13
- version: string;
14
- }
15
- /**
16
- * OpenAPI Server object
17
- */
18
- export interface OpenAPIServer {
19
- url: string;
20
- description?: string;
21
- }
22
- /**
23
- * OpenAPI Tag object
24
- */
25
- export interface OpenAPITag {
26
- name: string;
27
- description?: string;
28
- }
29
- /**
30
- * OpenAPI Parameter object
31
- */
32
- export interface OpenAPIParameter {
33
- name: string;
34
- in: 'path' | 'query' | 'header' | 'cookie';
35
- description?: string;
36
- required?: boolean;
37
- schema: OpenAPISchema;
38
- }
39
- /**
40
- * OpenAPI Schema object (simplified)
41
- */
42
- export interface OpenAPISchema {
43
- type?: 'string' | 'number' | 'integer' | 'boolean' | 'array' | 'object';
44
- format?: string;
45
- items?: OpenAPISchema;
46
- properties?: Record<string, OpenAPISchema>;
47
- required?: string[];
48
- $ref?: string;
49
- description?: string;
50
- nullable?: boolean;
51
- enum?: string[];
52
- default?: unknown;
53
- additionalProperties?: boolean | OpenAPISchema;
54
- }
55
- /**
56
- * OpenAPI Media Type object
57
- */
58
- export interface OpenAPIMediaType {
59
- schema: OpenAPISchema;
60
- }
61
- /**
62
- * OpenAPI Request Body object
63
- */
64
- export interface OpenAPIRequestBody {
65
- description?: string;
66
- required?: boolean;
67
- content: Record<string, OpenAPIMediaType>;
68
- }
69
- /**
70
- * OpenAPI Response object
71
- */
72
- export interface OpenAPIResponse {
73
- description: string;
74
- content?: Record<string, OpenAPIMediaType>;
75
- headers?: Record<string, {
76
- description?: string;
77
- schema: OpenAPISchema;
78
- }>;
79
- }
80
- /**
81
- * OpenAPI Security Requirement object
82
- */
83
- export interface OpenAPISecurityRequirement {
84
- [name: string]: string[];
85
- }
86
- /**
87
- * OpenAPI Operation object
88
- */
89
- export interface OpenAPIOperation {
90
- summary?: string;
91
- description?: string;
92
- operationId?: string;
93
- tags?: string[];
94
- parameters?: OpenAPIParameter[];
95
- requestBody?: OpenAPIRequestBody;
96
- responses: Record<string, OpenAPIResponse>;
97
- security?: OpenAPISecurityRequirement[];
98
- deprecated?: boolean;
99
- }
100
- /**
101
- * OpenAPI Path Item object
102
- */
103
- export interface OpenAPIPathItem {
104
- get?: OpenAPIOperation;
105
- post?: OpenAPIOperation;
106
- put?: OpenAPIOperation;
107
- delete?: OpenAPIOperation;
108
- patch?: OpenAPIOperation;
109
- options?: OpenAPIOperation;
110
- head?: OpenAPIOperation;
111
- }
112
- /**
113
- * OpenAPI Security Scheme object
114
- */
115
- export interface OpenAPISecurityScheme {
116
- type: 'apiKey' | 'http' | 'oauth2' | 'openIdConnect';
117
- description?: string;
118
- name?: string;
119
- in?: 'query' | 'header' | 'cookie';
120
- scheme?: string;
121
- bearerFormat?: string;
122
- }
123
- /**
124
- * OpenAPI Components object
125
- */
126
- export interface OpenAPIComponents {
127
- schemas?: Record<string, OpenAPISchema>;
128
- securitySchemes?: Record<string, OpenAPISecurityScheme>;
129
- }
130
- /**
131
- * Complete OpenAPI Document
132
- */
133
- export interface OpenAPIDocument {
134
- openapi: string;
135
- info: OpenAPIInfo;
136
- servers?: OpenAPIServer[];
137
- tags?: OpenAPITag[];
138
- paths: Record<string, OpenAPIPathItem>;
139
- components?: OpenAPIComponents;
140
- }
141
- /**
142
- * Specification returned by a component's getOpenAPISpec() method
143
- */
144
- export interface OpenAPIComponentSpec {
145
- /** Paths contributed by this component */
146
- paths: Record<string, OpenAPIPathItem>;
147
- /** Tags used by this component */
148
- tags?: OpenAPITag[];
149
- /** Schemas contributed by this component */
150
- schemas?: Record<string, OpenAPISchema>;
151
- }
152
- /**
153
- * Options for OpenAPI generation
154
- */
155
- export interface OpenAPIGeneratorOptions {
156
- /** API information */
157
- info: OpenAPIInfo;
158
- /** Server URLs */
159
- servers?: OpenAPIServer[];
160
- /** Components to document */
161
- components: OpenAPIDocumentable[];
162
- /** Additional schemas to merge (e.g., from external file) */
163
- additionalSchemas?: Record<string, OpenAPISchema>;
164
- /** Additional tags to include */
165
- additionalTags?: OpenAPITag[];
166
- /** Include security scheme for authentication */
167
- includeAuth?: boolean;
168
- }
169
- /**
170
- * Interface for components that can provide OpenAPI documentation
171
- */
172
- export interface OpenAPIDocumentable {
173
- /**
174
- * Returns the OpenAPI specification for this component's endpoints
175
- */
176
- getOpenAPISpec(): OpenAPIComponentSpec;
177
- }
178
- /**
179
- * Type guard to check if an object implements OpenAPIDocumentable
180
- */
181
- export declare function isOpenAPIDocumentable(obj: unknown): obj is OpenAPIDocumentable;
182
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/openapi/types.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- /**
2
- * @fileoverview OpenAPI 3.0 type definitions for automatic documentation generation
3
- *
4
- * These types provide a structured way to define OpenAPI specifications
5
- * for digital twin components.
6
- */
7
- /**
8
- * Type guard to check if an object implements OpenAPIDocumentable
9
- */
10
- export function isOpenAPIDocumentable(obj) {
11
- return (typeof obj === 'object' &&
12
- obj !== null &&
13
- 'getOpenAPISpec' in obj &&
14
- typeof obj.getOpenAPISpec === 'function');
15
- }
16
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/openapi/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA2LH;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAY;IAC9C,OAAO,CACH,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,KAAK,IAAI;QACZ,gBAAgB,IAAI,GAAG;QACvB,OAAQ,GAA2B,CAAC,cAAc,KAAK,UAAU,CACpE,CAAA;AACL,CAAC"}
@@ -1,51 +0,0 @@
1
- import { StorageService } from '../storage_service.js';
2
- /**
3
- * Local filesystem-based implementation of the StorageService.
4
- * Saves files in a configured folder using a timestamp as filename.
5
- */
6
- export declare class LocalStorageService extends StorageService {
7
- private baseDir;
8
- constructor(baseDir?: string);
9
- /**
10
- * Saves the given buffer to disk under a unique filename.
11
- * @param buffer - Content to save
12
- * @param collectorName - Name of the collector (used for folder)
13
- * @param extension - Optional file extension (e.g. 'json', 'txt')
14
- * @returns Relative path to the saved file
15
- */
16
- save(buffer: Buffer, collectorName: string, extension?: string): Promise<string>;
17
- /**
18
- * Retrieves a file as buffer using its relative path.
19
- * @param relativePath - Filename previously returned by `save`
20
- * @returns File content as Buffer
21
- */
22
- retrieve(relativePath: string): Promise<Buffer>;
23
- /**
24
- * Deletes a stored file.
25
- * @param relativePath - Filename previously returned by `save`
26
- */
27
- delete(relativePath: string): Promise<void>;
28
- /**
29
- * Saves the given buffer to disk at a specific path (preserves filename).
30
- * Unlike save(), this method does not auto-generate a timestamp filename.
31
- * @param buffer - Content to save
32
- * @param relativePath - Full relative path including filename (e.g., 'tilesets/123/tileset.json')
33
- * @returns The same relative path that was provided
34
- */
35
- saveWithPath(buffer: Buffer, relativePath: string): Promise<string>;
36
- /**
37
- * Returns a local file path for the stored file.
38
- * Note: For local storage, this returns a relative file path, not an HTTP URL.
39
- * In production, use a cloud storage service (OVH, S3) for public URLs.
40
- * @param relativePath - The storage path of the file
41
- * @returns The file path (relative to baseDir)
42
- */
43
- getPublicUrl(relativePath: string): string;
44
- /**
45
- * Deletes all files under a given prefix (folder).
46
- * @param prefix - The folder/prefix to delete (e.g., 'tilesets/123')
47
- * @returns Number of files deleted
48
- */
49
- deleteByPrefix(prefix: string): Promise<number>;
50
- }
51
- //# sourceMappingURL=local_storage_service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"local_storage_service.d.ts","sourceRoot":"","sources":["../../../src/storage/adapters/local_storage_service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAItD;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,cAAc;IACvC,OAAO,CAAC,OAAO;gBAAP,OAAO,GAAE,MAAe;IAI5C;;;;;;OAMG;IACG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAetF;;;;OAIG;IACG,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKrD;;;OAGG;IACG,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjD;;;;;;OAMG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUzE;;;;;;OAMG;IACH,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAM1C;;;;OAIG;IACG,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAgCxD"}