digitaltwin-core 0.9.2 → 0.10.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 (54) hide show
  1. package/dist/auth/user_service.d.ts.map +1 -1
  2. package/dist/auth/user_service.js +0 -5
  3. package/dist/auth/user_service.js.map +1 -1
  4. package/dist/components/assets_manager.d.ts +11 -1
  5. package/dist/components/assets_manager.d.ts.map +1 -1
  6. package/dist/components/assets_manager.js +355 -9
  7. package/dist/components/assets_manager.js.map +1 -1
  8. package/dist/components/collector.d.ts +11 -1
  9. package/dist/components/collector.d.ts.map +1 -1
  10. package/dist/components/collector.js +43 -0
  11. package/dist/components/collector.js.map +1 -1
  12. package/dist/components/custom_table_manager.d.ts +19 -1
  13. package/dist/components/custom_table_manager.d.ts.map +1 -1
  14. package/dist/components/custom_table_manager.js +225 -0
  15. package/dist/components/custom_table_manager.js.map +1 -1
  16. package/dist/components/handler.d.ts +11 -1
  17. package/dist/components/handler.d.ts.map +1 -1
  18. package/dist/components/handler.js +44 -0
  19. package/dist/components/handler.js.map +1 -1
  20. package/dist/components/harvester.d.ts +11 -1
  21. package/dist/components/harvester.d.ts.map +1 -1
  22. package/dist/components/harvester.js +43 -0
  23. package/dist/components/harvester.js.map +1 -1
  24. package/dist/components/tileset_manager.d.ts +10 -0
  25. package/dist/components/tileset_manager.d.ts.map +1 -1
  26. package/dist/components/tileset_manager.js +65 -0
  27. package/dist/components/tileset_manager.js.map +1 -1
  28. package/dist/components/types.d.ts +2 -0
  29. package/dist/components/types.d.ts.map +1 -1
  30. package/dist/engine/digital_twin_engine.d.ts.map +1 -1
  31. package/dist/engine/digital_twin_engine.js +20 -14
  32. package/dist/engine/digital_twin_engine.js.map +1 -1
  33. package/dist/engine/initializer.js +5 -11
  34. package/dist/engine/initializer.js.map +1 -1
  35. package/dist/engine/scheduler.d.ts.map +1 -1
  36. package/dist/engine/scheduler.js +10 -14
  37. package/dist/engine/scheduler.js.map +1 -1
  38. package/dist/index.d.ts +1 -0
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +2 -0
  41. package/dist/index.js.map +1 -1
  42. package/dist/openapi/generator.d.ts +93 -0
  43. package/dist/openapi/generator.d.ts.map +1 -0
  44. package/dist/openapi/generator.js +293 -0
  45. package/dist/openapi/generator.js.map +1 -0
  46. package/dist/openapi/index.d.ts +9 -0
  47. package/dist/openapi/index.d.ts.map +1 -0
  48. package/dist/openapi/index.js +9 -0
  49. package/dist/openapi/index.js.map +1 -0
  50. package/dist/openapi/types.d.ts +182 -0
  51. package/dist/openapi/types.d.ts.map +1 -0
  52. package/dist/openapi/types.js +16 -0
  53. package/dist/openapi/types.js.map +1 -0
  54. package/package.json +2 -2
@@ -0,0 +1,182 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/openapi/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
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
@@ -0,0 +1 @@
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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "digitaltwin-core",
3
- "version": "0.9.2",
3
+ "version": "0.10.2",
4
4
  "description": "Minimalist framework to collect and handle data in a Digital Twin project",
5
5
  "license": "MIT",
6
6
  "author": "Axel Hoffmann",
@@ -22,7 +22,7 @@
22
22
  "build": "tsc",
23
23
  "dev": "tsc --watch",
24
24
  "clean": "rimraf dist",
25
- "test": "node --import ts-node-maintained/register/esm --enable-source-maps bin/test.ts",
25
+ "test": "node -r ./bin/set-test-env.cjs --import ts-node-maintained/register/esm --enable-source-maps bin/test.ts",
26
26
  "lint": "eslint src/**/*.ts",
27
27
  "lint:fix": "eslint src/**/*.ts --fix",
28
28
  "format": "prettier --write \"src/**/*.ts\"",