@tiangong-lca/tidas-sdk 0.1.20 → 0.1.21

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 (255) hide show
  1. package/README.md +174 -451
  2. package/dist/core/base/TidasEntity.d.ts +190 -0
  3. package/dist/core/base/TidasEntity.d.ts.map +1 -0
  4. package/dist/core/base/TidasEntity.js +433 -0
  5. package/dist/core/base/TidasEntity.js.map +1 -0
  6. package/dist/core/config/GlobalConfig.d.ts +60 -0
  7. package/dist/core/config/GlobalConfig.d.ts.map +1 -0
  8. package/dist/core/config/GlobalConfig.js +110 -0
  9. package/dist/core/config/GlobalConfig.js.map +1 -0
  10. package/dist/core/config/ValidationConfig.d.ts +70 -0
  11. package/dist/core/config/ValidationConfig.d.ts.map +1 -0
  12. package/dist/core/config/ValidationConfig.js +157 -0
  13. package/dist/core/config/ValidationConfig.js.map +1 -0
  14. package/dist/core/copilot/ai.d.ts +150 -0
  15. package/dist/core/copilot/ai.d.ts.map +1 -0
  16. package/dist/core/copilot/ai.js +581 -0
  17. package/dist/core/copilot/ai.js.map +1 -0
  18. package/dist/core/copilot/base.d.ts +83 -0
  19. package/dist/core/copilot/base.d.ts.map +1 -0
  20. package/dist/core/copilot/base.js +193 -0
  21. package/dist/core/copilot/base.js.map +1 -0
  22. package/dist/core/copilot/index.d.ts +1 -0
  23. package/dist/core/copilot/index.d.ts.map +1 -0
  24. package/dist/core/copilot/index.js +2 -0
  25. package/dist/core/copilot/index.js.map +1 -0
  26. package/dist/core/entities/TidasContact.d.ts +14 -0
  27. package/dist/core/entities/TidasContact.d.ts.map +1 -0
  28. package/dist/core/entities/TidasContact.js +124 -0
  29. package/dist/core/entities/TidasContact.js.map +1 -0
  30. package/dist/core/entities/TidasFlow.d.ts +14 -0
  31. package/dist/core/entities/TidasFlow.d.ts.map +1 -0
  32. package/dist/core/entities/TidasFlow.js +143 -0
  33. package/dist/core/entities/TidasFlow.js.map +1 -0
  34. package/dist/core/entities/TidasFlowProperty.d.ts +14 -0
  35. package/dist/core/entities/TidasFlowProperty.d.ts.map +1 -0
  36. package/dist/core/entities/TidasFlowProperty.js +156 -0
  37. package/dist/core/entities/TidasFlowProperty.js.map +1 -0
  38. package/dist/core/entities/TidasLCIAMethod.d.ts +14 -0
  39. package/dist/core/entities/TidasLCIAMethod.d.ts.map +1 -0
  40. package/dist/core/entities/TidasLCIAMethod.js +177 -0
  41. package/dist/core/entities/TidasLCIAMethod.js.map +1 -0
  42. package/dist/core/entities/TidasLifeCycleModel.d.ts +14 -0
  43. package/dist/core/entities/TidasLifeCycleModel.d.ts.map +1 -0
  44. package/dist/core/entities/TidasLifeCycleModel.js +169 -0
  45. package/dist/core/entities/TidasLifeCycleModel.js.map +1 -0
  46. package/dist/core/entities/TidasProcess.d.ts +14 -0
  47. package/dist/core/entities/TidasProcess.d.ts.map +1 -0
  48. package/dist/core/entities/TidasProcess.js +191 -0
  49. package/dist/core/entities/TidasProcess.js.map +1 -0
  50. package/dist/core/entities/TidasSource.d.ts +14 -0
  51. package/dist/core/entities/TidasSource.d.ts.map +1 -0
  52. package/dist/core/entities/TidasSource.js +146 -0
  53. package/dist/core/entities/TidasSource.js.map +1 -0
  54. package/dist/core/entities/TidasUnitGroup.d.ts +14 -0
  55. package/dist/core/entities/TidasUnitGroup.d.ts.map +1 -0
  56. package/dist/core/entities/TidasUnitGroup.js +177 -0
  57. package/dist/core/entities/TidasUnitGroup.js.map +1 -0
  58. package/dist/core/factories/index.d.ts +46 -0
  59. package/dist/core/factories/index.d.ts.map +1 -0
  60. package/dist/core/factories/index.js +223 -0
  61. package/dist/core/factories/index.js.map +1 -0
  62. package/dist/core/index.d.ts +9 -0
  63. package/dist/core/index.d.ts.map +1 -0
  64. package/dist/core/index.js +56 -0
  65. package/dist/core/index.js.map +1 -0
  66. package/dist/core/zod-factories.d.ts +71 -0
  67. package/dist/core/zod-factories.d.ts.map +1 -0
  68. package/dist/core/zod-factories.js +169 -0
  69. package/dist/core/zod-factories.js.map +1 -0
  70. package/dist/core/zod-proxy.d.ts +108 -0
  71. package/dist/core/zod-proxy.d.ts.map +1 -0
  72. package/dist/core/zod-proxy.js +382 -0
  73. package/dist/core/zod-proxy.js.map +1 -0
  74. package/dist/data/bundled-methodologies.json +1259 -0
  75. package/dist/index.d.ts +33 -0
  76. package/dist/index.d.ts.map +1 -0
  77. package/dist/index.js +73 -0
  78. package/dist/index.js.map +1 -0
  79. package/dist/schemas/index.d.ts +48 -0
  80. package/dist/schemas/index.d.ts.map +1 -0
  81. package/dist/schemas/index.js +112 -0
  82. package/dist/schemas/index.js.map +1 -0
  83. package/dist/schemas/tidas_contacts.schema.d.ts +124 -0
  84. package/dist/schemas/tidas_contacts.schema.d.ts.map +1 -0
  85. package/dist/schemas/tidas_contacts.schema.js +75 -0
  86. package/dist/schemas/tidas_contacts.schema.js.map +1 -0
  87. package/dist/schemas/tidas_contacts_category.schema.d.ts +3 -0
  88. package/dist/schemas/tidas_contacts_category.schema.d.ts.map +1 -0
  89. package/dist/schemas/tidas_contacts_category.schema.js +53 -0
  90. package/dist/schemas/tidas_contacts_category.schema.js.map +1 -0
  91. package/dist/schemas/tidas_data_types.schema.d.ts +34 -0
  92. package/dist/schemas/tidas_data_types.schema.d.ts.map +1 -0
  93. package/dist/schemas/tidas_data_types.schema.js +60 -0
  94. package/dist/schemas/tidas_data_types.schema.js.map +1 -0
  95. package/dist/schemas/tidas_flowproperties.schema.d.ts +152 -0
  96. package/dist/schemas/tidas_flowproperties.schema.d.ts.map +1 -0
  97. package/dist/schemas/tidas_flowproperties.schema.js +88 -0
  98. package/dist/schemas/tidas_flowproperties.schema.js.map +1 -0
  99. package/dist/schemas/tidas_flowproperties_category.schema.d.ts +3 -0
  100. package/dist/schemas/tidas_flowproperties_category.schema.d.ts.map +1 -0
  101. package/dist/schemas/tidas_flowproperties_category.schema.js +28 -0
  102. package/dist/schemas/tidas_flowproperties_category.schema.js.map +1 -0
  103. package/dist/schemas/tidas_flows.schema.d.ts +215 -0
  104. package/dist/schemas/tidas_flows.schema.d.ts.map +1 -0
  105. package/dist/schemas/tidas_flows.schema.js +165 -0
  106. package/dist/schemas/tidas_flows.schema.js.map +1 -0
  107. package/dist/schemas/tidas_flows_elementary_category.schema.d.ts +3 -0
  108. package/dist/schemas/tidas_flows_elementary_category.schema.d.ts.map +1 -0
  109. package/dist/schemas/tidas_flows_elementary_category.schema.js +309 -0
  110. package/dist/schemas/tidas_flows_elementary_category.schema.js.map +1 -0
  111. package/dist/schemas/tidas_flows_product_category.schema.d.ts +3 -0
  112. package/dist/schemas/tidas_flows_product_category.schema.d.ts.map +1 -0
  113. package/dist/schemas/tidas_flows_product_category.schema.js +28508 -0
  114. package/dist/schemas/tidas_flows_product_category.schema.js.map +1 -0
  115. package/dist/schemas/tidas_lciamethods.schema.d.ts +546 -0
  116. package/dist/schemas/tidas_lciamethods.schema.d.ts.map +1 -0
  117. package/dist/schemas/tidas_lciamethods.schema.js +513 -0
  118. package/dist/schemas/tidas_lciamethods.schema.js.map +1 -0
  119. package/dist/schemas/tidas_lciamethods_category.schema.d.ts +3 -0
  120. package/dist/schemas/tidas_lciamethods_category.schema.d.ts.map +1 -0
  121. package/dist/schemas/tidas_lciamethods_category.schema.js +278 -0
  122. package/dist/schemas/tidas_lciamethods_category.schema.js.map +1 -0
  123. package/dist/schemas/tidas_lifecyclemodels.schema.d.ts +465 -0
  124. package/dist/schemas/tidas_lifecyclemodels.schema.d.ts.map +1 -0
  125. package/dist/schemas/tidas_lifecyclemodels.schema.js +420 -0
  126. package/dist/schemas/tidas_lifecyclemodels.schema.js.map +1 -0
  127. package/dist/schemas/tidas_locations_category.schema.d.ts +3 -0
  128. package/dist/schemas/tidas_locations_category.schema.d.ts.map +1 -0
  129. package/dist/schemas/tidas_locations_category.schema.js +655 -0
  130. package/dist/schemas/tidas_locations_category.schema.js.map +1 -0
  131. package/dist/schemas/tidas_processes.schema.d.ts +626 -0
  132. package/dist/schemas/tidas_processes.schema.d.ts.map +1 -0
  133. package/dist/schemas/tidas_processes.schema.js +659 -0
  134. package/dist/schemas/tidas_processes.schema.js.map +1 -0
  135. package/dist/schemas/tidas_processes_category.schema.d.ts +3 -0
  136. package/dist/schemas/tidas_processes_category.schema.d.ts.map +1 -0
  137. package/dist/schemas/tidas_processes_category.schema.js +4904 -0
  138. package/dist/schemas/tidas_processes_category.schema.js.map +1 -0
  139. package/dist/schemas/tidas_sources.schema.d.ts +113 -0
  140. package/dist/schemas/tidas_sources.schema.d.ts.map +1 -0
  141. package/dist/schemas/tidas_sources.schema.js +73 -0
  142. package/dist/schemas/tidas_sources.schema.js.map +1 -0
  143. package/dist/schemas/tidas_sources_category.schema.d.ts +3 -0
  144. package/dist/schemas/tidas_sources_category.schema.d.ts.map +1 -0
  145. package/dist/schemas/tidas_sources_category.schema.js +43 -0
  146. package/dist/schemas/tidas_sources_category.schema.js.map +1 -0
  147. package/dist/schemas/tidas_unitgroups.schema.d.ts +140 -0
  148. package/dist/schemas/tidas_unitgroups.schema.d.ts.map +1 -0
  149. package/dist/schemas/tidas_unitgroups.schema.js +103 -0
  150. package/dist/schemas/tidas_unitgroups.schema.js.map +1 -0
  151. package/dist/schemas/tidas_unitgroups_category.schema.d.ts +3 -0
  152. package/dist/schemas/tidas_unitgroups_category.schema.d.ts.map +1 -0
  153. package/dist/schemas/tidas_unitgroups_category.schema.js +28 -0
  154. package/dist/schemas/tidas_unitgroups_category.schema.js.map +1 -0
  155. package/dist/services/copilot-service.d.ts +147 -0
  156. package/dist/services/copilot-service.d.ts.map +1 -0
  157. package/dist/services/copilot-service.js +259 -0
  158. package/dist/services/copilot-service.js.map +1 -0
  159. package/dist/services/index.d.ts +9 -0
  160. package/dist/services/index.d.ts.map +1 -0
  161. package/dist/services/index.js +24 -0
  162. package/dist/services/index.js.map +1 -0
  163. package/dist/types/index.d.ts +22 -0
  164. package/dist/types/index.d.ts.map +1 -0
  165. package/dist/types/index.js +21 -0
  166. package/dist/types/index.js.map +1 -0
  167. package/dist/types/multi-lang-types.d.ts +23 -0
  168. package/dist/types/multi-lang-types.d.ts.map +1 -0
  169. package/dist/types/multi-lang-types.js +40 -0
  170. package/dist/types/multi-lang-types.js.map +1 -0
  171. package/dist/types/tidas_contacts.d.ts +72 -0
  172. package/dist/types/tidas_contacts.d.ts.map +1 -0
  173. package/dist/types/tidas_contacts.js +8 -0
  174. package/dist/types/tidas_contacts.js.map +1 -0
  175. package/dist/types/tidas_contacts_category.d.ts +43 -0
  176. package/dist/types/tidas_contacts_category.d.ts.map +1 -0
  177. package/dist/types/tidas_contacts_category.js +8 -0
  178. package/dist/types/tidas_contacts_category.js.map +1 -0
  179. package/dist/types/tidas_data_types.d.ts +116 -0
  180. package/dist/types/tidas_data_types.d.ts.map +1 -0
  181. package/dist/types/tidas_data_types.js +8 -0
  182. package/dist/types/tidas_data_types.js.map +1 -0
  183. package/dist/types/tidas_flowproperties.d.ts +73 -0
  184. package/dist/types/tidas_flowproperties.d.ts.map +1 -0
  185. package/dist/types/tidas_flowproperties.js +8 -0
  186. package/dist/types/tidas_flowproperties.js.map +1 -0
  187. package/dist/types/tidas_flowproperties_category.d.ts +23 -0
  188. package/dist/types/tidas_flowproperties_category.d.ts.map +1 -0
  189. package/dist/types/tidas_flowproperties_category.js +8 -0
  190. package/dist/types/tidas_flowproperties_category.js.map +1 -0
  191. package/dist/types/tidas_flows.d.ts +113 -0
  192. package/dist/types/tidas_flows.d.ts.map +1 -0
  193. package/dist/types/tidas_flows.js +8 -0
  194. package/dist/types/tidas_flows.js.map +1 -0
  195. package/dist/types/tidas_flows_elementary_category.d.ts +227 -0
  196. package/dist/types/tidas_flows_elementary_category.d.ts.map +1 -0
  197. package/dist/types/tidas_flows_elementary_category.js +8 -0
  198. package/dist/types/tidas_flows_elementary_category.js.map +1 -0
  199. package/dist/types/tidas_flows_product_category.d.ts +18391 -0
  200. package/dist/types/tidas_flows_product_category.d.ts.map +1 -0
  201. package/dist/types/tidas_flows_product_category.js +8 -0
  202. package/dist/types/tidas_flows_product_category.js.map +1 -0
  203. package/dist/types/tidas_lciamethods.d.ts +231 -0
  204. package/dist/types/tidas_lciamethods.d.ts.map +1 -0
  205. package/dist/types/tidas_lciamethods.js +8 -0
  206. package/dist/types/tidas_lciamethods.js.map +1 -0
  207. package/dist/types/tidas_lciamethods_category.d.ts +215 -0
  208. package/dist/types/tidas_lciamethods_category.d.ts.map +1 -0
  209. package/dist/types/tidas_lciamethods_category.js +8 -0
  210. package/dist/types/tidas_lciamethods_category.js.map +1 -0
  211. package/dist/types/tidas_lifecyclemodels.d.ts +259 -0
  212. package/dist/types/tidas_lifecyclemodels.d.ts.map +1 -0
  213. package/dist/types/tidas_lifecyclemodels.js +8 -0
  214. package/dist/types/tidas_lifecyclemodels.js.map +1 -0
  215. package/dist/types/tidas_locations_category.d.ts +7 -0
  216. package/dist/types/tidas_locations_category.d.ts.map +1 -0
  217. package/dist/types/tidas_locations_category.js +8 -0
  218. package/dist/types/tidas_locations_category.js.map +1 -0
  219. package/dist/types/tidas_processes.d.ts +301 -0
  220. package/dist/types/tidas_processes.d.ts.map +1 -0
  221. package/dist/types/tidas_processes.js +8 -0
  222. package/dist/types/tidas_processes.js.map +1 -0
  223. package/dist/types/tidas_processes_category.d.ts +3327 -0
  224. package/dist/types/tidas_processes_category.d.ts.map +1 -0
  225. package/dist/types/tidas_processes_category.js +8 -0
  226. package/dist/types/tidas_processes_category.js.map +1 -0
  227. package/dist/types/tidas_sources.d.ts +58 -0
  228. package/dist/types/tidas_sources.d.ts.map +1 -0
  229. package/dist/types/tidas_sources.js +8 -0
  230. package/dist/types/tidas_sources.js.map +1 -0
  231. package/dist/types/tidas_sources_category.d.ts +35 -0
  232. package/dist/types/tidas_sources_category.d.ts.map +1 -0
  233. package/dist/types/tidas_sources_category.js +8 -0
  234. package/dist/types/tidas_sources_category.js.map +1 -0
  235. package/dist/types/tidas_unitgroups.d.ts +85 -0
  236. package/dist/types/tidas_unitgroups.d.ts.map +1 -0
  237. package/dist/types/tidas_unitgroups.js +8 -0
  238. package/dist/types/tidas_unitgroups.js.map +1 -0
  239. package/dist/types/tidas_unitgroups_category.d.ts +23 -0
  240. package/dist/types/tidas_unitgroups_category.d.ts.map +1 -0
  241. package/dist/types/tidas_unitgroups_category.js +8 -0
  242. package/dist/types/tidas_unitgroups_category.js.map +1 -0
  243. package/dist/utils/diff.d.ts +47 -0
  244. package/dist/utils/diff.d.ts.map +1 -0
  245. package/dist/utils/diff.js +263 -0
  246. package/dist/utils/diff.js.map +1 -0
  247. package/dist/utils/index.d.ts +7 -0
  248. package/dist/utils/index.d.ts.map +1 -0
  249. package/dist/utils/index.js +31 -0
  250. package/dist/utils/index.js.map +1 -0
  251. package/dist/utils/object-utils.d.ts +47 -0
  252. package/dist/utils/object-utils.d.ts.map +1 -0
  253. package/dist/utils/object-utils.js +332 -0
  254. package/dist/utils/object-utils.js.map +1 -0
  255. package/package.json +4 -4
@@ -0,0 +1,259 @@
1
+ "use strict";
2
+ /**
3
+ * Suggestion Service
4
+ *
5
+ * Provides a simple API for external modules to suggest improvements for TIDAS/ILCD data
6
+ * using AI-powered methodology rules.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.suggestData = suggestData;
10
+ exports.suggestRawData = suggestRawData;
11
+ exports.batchSuggest = batchSuggest;
12
+ exports.validateApiKey = validateApiKey;
13
+ exports.getAvailableDataTypes = getAvailableDataTypes;
14
+ const factories_1 = require("../core/factories");
15
+ const ai_1 = require("../core/copilot/ai");
16
+ const diff_1 = require("../utils/diff");
17
+ /**
18
+ * Factory map for creating entities based on data type
19
+ */
20
+ const entityFactories = {
21
+ process: factories_1.createProcess,
22
+ processes: factories_1.createProcess,
23
+ flow: factories_1.createFlow,
24
+ flows: factories_1.createFlow,
25
+ contact: factories_1.createContact,
26
+ contacts: factories_1.createContact,
27
+ source: factories_1.createSource,
28
+ sources: factories_1.createSource,
29
+ flowproperty: factories_1.createFlowProperty,
30
+ flowproperties: factories_1.createFlowProperty,
31
+ unitgroup: factories_1.createUnitGroup,
32
+ unitgroups: factories_1.createUnitGroup,
33
+ lciamethod: factories_1.createLCIAMethod,
34
+ lciamethods: factories_1.createLCIAMethod,
35
+ lifecyclemodel: factories_1.createLifeCycleModel,
36
+ lifecyclemodels: factories_1.createLifeCycleModel,
37
+ };
38
+ /**
39
+ * Methodology type mapping for suggestions
40
+ */
41
+ const methodologyTypeMap = {
42
+ process: 'processes',
43
+ processes: 'processes',
44
+ flow: 'flows',
45
+ flows: 'flows',
46
+ contact: 'contacts',
47
+ contacts: 'contacts',
48
+ source: 'sources',
49
+ sources: 'sources',
50
+ flowproperty: 'flowproperties',
51
+ flowproperties: 'flowproperties',
52
+ unitgroup: 'unitgroups',
53
+ unitgroups: 'unitgroups',
54
+ lciamethod: 'lciamethods',
55
+ lciamethods: 'lciamethods',
56
+ lifecyclemodel: 'lifecyclemodels',
57
+ lifecyclemodels: 'lifecyclemodels',
58
+ };
59
+ /**
60
+ * Suggest improvements for TIDAS/ILCD data using AI-powered methodology rules
61
+ *
62
+ * This function can work in three modes:
63
+ * 1. Entity instance: If a TIDAS entity is passed, uses its suggest method directly
64
+ * 2. Entity mode (default): Creates proper TIDAS entities for validation and structure
65
+ * 3. Raw mode: Directly processes data without entity creation (use `raw: true` option)
66
+ *
67
+ * @param data - The data to improve (can be TIDAS entity, JSON string, or object)
68
+ * @param dataType - The type of data (e.g., 'process', 'flow', etc.) or methodology name for raw mode
69
+ * @param options - Optional configuration for suggestions
70
+ * @returns Promise<SuggestResult> - The suggestion result
71
+ *
72
+ * @example
73
+ * ```typescript
74
+ * // With TIDAS entity
75
+ * const process = createProcess({ processDataSet: { ... } });
76
+ * const result = await suggestData(process, 'process');
77
+ *
78
+ * // Entity mode - with proper validation and structure
79
+ * const result = await suggestData(
80
+ * { processDataSet: { ... } },
81
+ * 'process'
82
+ * );
83
+ *
84
+ * // Raw mode - direct processing without entity creation
85
+ * const result = await suggestData(
86
+ * { name: 'test', description: 'sample' },
87
+ * 'processes',
88
+ * { raw: true }
89
+ * );
90
+ *
91
+ * // With JSON string and diff outputs
92
+ * const result = await suggestData(
93
+ * '{"processDataSet": {...}}',
94
+ * 'process',
95
+ * {
96
+ * outputDiffHTML: true,
97
+ * outputDiffSummary: true
98
+ * }
99
+ * );
100
+ *
101
+ * // Access results
102
+ * console.log(result.data); // Improved data
103
+ * console.log(result.diffHTML); // HTML diff viewer
104
+ * console.log(result.diffSummary); // Text diff summary
105
+ * ```
106
+ */
107
+ async function suggestData(data, dataType, options) {
108
+ try {
109
+ // Check if data is a TIDAS entity (has suggest method)
110
+ if (data && typeof data.suggest === 'function') {
111
+ // It's a TIDAS entity, use its suggest method directly
112
+ const result = await data.suggest({
113
+ skipPaths: options?.skipPaths,
114
+ maxRetries: options?.maxRetries,
115
+ modelConfig: options?.modelConfig,
116
+ outputDiffSummary: options?.outputDiffSummary,
117
+ outputDiffHTML: options?.outputDiffHTML,
118
+ diffPaths: options?.diffPaths,
119
+ });
120
+ // Extract the improved data
121
+ const improvedData = result.data.toJSON();
122
+ return {
123
+ success: true,
124
+ data: improvedData,
125
+ diffSummary: result.diffSummary,
126
+ diffHTML: result.diffHTML,
127
+ };
128
+ }
129
+ // Parse JSON if string is provided
130
+ const parsedData = typeof data === 'string' ? JSON.parse(data) : data;
131
+ // Check if raw mode is requested
132
+ if (options?.raw) {
133
+ // Raw mode: directly process without entity creation
134
+ const methodologyType = methodologyTypeMap[dataType] || dataType;
135
+ // Store original data for diff if needed
136
+ const originalData = options?.outputDiffSummary || options?.outputDiffHTML
137
+ ? JSON.parse(JSON.stringify(parsedData))
138
+ : null;
139
+ // Apply suggestion directly
140
+ const improvedData = await (0, ai_1.suggestEntireObject)(parsedData, methodologyType, {
141
+ skipPaths: options?.skipPaths,
142
+ maxRetries: options?.maxRetries,
143
+ });
144
+ // Generate diffs if requested
145
+ let diffSummary;
146
+ let diffHTML;
147
+ if (originalData) {
148
+ if (options?.outputDiffSummary) {
149
+ diffSummary = (0, diff_1.generateDiffSummary)(originalData, improvedData, options.diffPaths);
150
+ }
151
+ if (options?.outputDiffHTML) {
152
+ diffHTML = (0, diff_1.generateDiffHTML)(originalData, improvedData);
153
+ }
154
+ }
155
+ return {
156
+ success: true,
157
+ data: improvedData,
158
+ diffSummary,
159
+ diffHTML,
160
+ };
161
+ }
162
+ // Entity mode: use proper entity creation and validation
163
+ if (!entityFactories[dataType]) {
164
+ return {
165
+ success: false,
166
+ data: parsedData,
167
+ error: `Unsupported data type: ${dataType}. Supported types: ${Object.keys(entityFactories).join(', ')}`,
168
+ };
169
+ }
170
+ // Create entity from data
171
+ const factory = entityFactories[dataType];
172
+ const entity = factory(parsedData);
173
+ // Use entity's suggest method for improvement
174
+ const result = await entity.suggest({
175
+ skipPaths: options?.skipPaths,
176
+ maxRetries: options?.maxRetries,
177
+ modelConfig: options?.modelConfig,
178
+ outputDiffSummary: options?.outputDiffSummary,
179
+ outputDiffHTML: options?.outputDiffHTML,
180
+ diffPaths: options?.diffPaths,
181
+ });
182
+ // Extract the improved data
183
+ const improvedData = result.data.toJSON();
184
+ return {
185
+ success: true,
186
+ data: improvedData,
187
+ diffSummary: result.diffSummary,
188
+ diffHTML: result.diffHTML,
189
+ };
190
+ }
191
+ catch (error) {
192
+ console.error('Suggestion failed:', error);
193
+ return {
194
+ success: false,
195
+ data: data,
196
+ error: error.message,
197
+ };
198
+ }
199
+ }
200
+ /**
201
+ * @deprecated Use suggestData with { raw: true } option instead
202
+ *
203
+ * This function is kept for backward compatibility but will be removed in future versions.
204
+ * Please use suggestData with the raw option:
205
+ *
206
+ * @example
207
+ * ```typescript
208
+ * // Instead of:
209
+ * const result = await suggestRawData(data, 'processes');
210
+ *
211
+ * // Use:
212
+ * const result = await suggestData(data, 'processes', { raw: true });
213
+ * ```
214
+ */
215
+ async function suggestRawData(data, dataType, options) {
216
+ console.warn('suggestRawData is deprecated. Use suggestData with { raw: true } option instead.');
217
+ return suggestData(data, dataType, { ...options, raw: true });
218
+ }
219
+ /**
220
+ * Batch suggest improvements for multiple data items
221
+ *
222
+ * @param items - Array of items to improve
223
+ * @param options - Optional configuration
224
+ * @returns Promise<SuggestResult[]> - Array of suggestion results
225
+ *
226
+ * @example
227
+ * ```typescript
228
+ * const results = await batchSuggest([
229
+ * { data: processData1, type: 'process' },
230
+ * { data: flowData, type: 'flow' },
231
+ * { data: contactData, type: 'contact' }
232
+ * ]);
233
+ * ```
234
+ */
235
+ async function batchSuggest(items, options) {
236
+ const results = await Promise.all(items.map((item) => suggestData(item.data, item.type, options)));
237
+ return results;
238
+ }
239
+ /**
240
+ * Validate if the provided API key is configured
241
+ */
242
+ function validateApiKey() {
243
+ return !!process.env.OPENAI_API_KEY;
244
+ }
245
+ /**
246
+ * Get available data types for optimization
247
+ */
248
+ function getAvailableDataTypes() {
249
+ return Object.keys(entityFactories);
250
+ }
251
+ // Default export for convenience
252
+ exports.default = {
253
+ suggestData,
254
+ suggestRawData, // Deprecated, kept for backward compatibility
255
+ batchSuggest,
256
+ validateApiKey,
257
+ getAvailableDataTypes,
258
+ };
259
+ //# sourceMappingURL=copilot-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copilot-service.js","sourceRoot":"","sources":["../../src/services/copilot-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Services module index
3
+ *
4
+ * Exports the suggestion service for external use
5
+ */
6
+ export { suggestData, batchSuggest, validateApiKey, getAvailableDataTypes, type DataType, type SuggestOptions, type SuggestResult, suggestRawData, } from './copilot-service';
7
+ import suggestionService from './copilot-service';
8
+ export default suggestionService;
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEL,WAAW,EACX,YAAY,EAGZ,cAAc,EACd,qBAAqB,EAGrB,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,aAAa,EAGlB,cAAc,GACf,MAAM,mBAAmB,CAAC;AAG3B,OAAO,iBAAiB,MAAM,mBAAmB,CAAC;AAClD,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ /**
3
+ * Services module index
4
+ *
5
+ * Exports the suggestion service for external use
6
+ */
7
+ var __importDefault = (this && this.__importDefault) || function (mod) {
8
+ return (mod && mod.__esModule) ? mod : { "default": mod };
9
+ };
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.suggestRawData = exports.getAvailableDataTypes = exports.validateApiKey = exports.batchSuggest = exports.suggestData = void 0;
12
+ var copilot_service_1 = require("./copilot-service");
13
+ // Main functions
14
+ Object.defineProperty(exports, "suggestData", { enumerable: true, get: function () { return copilot_service_1.suggestData; } });
15
+ Object.defineProperty(exports, "batchSuggest", { enumerable: true, get: function () { return copilot_service_1.batchSuggest; } });
16
+ // Utility functions
17
+ Object.defineProperty(exports, "validateApiKey", { enumerable: true, get: function () { return copilot_service_1.validateApiKey; } });
18
+ Object.defineProperty(exports, "getAvailableDataTypes", { enumerable: true, get: function () { return copilot_service_1.getAvailableDataTypes; } });
19
+ // Deprecated (for backward compatibility)
20
+ Object.defineProperty(exports, "suggestRawData", { enumerable: true, get: function () { return copilot_service_1.suggestRawData; } });
21
+ // Default export
22
+ const copilot_service_2 = __importDefault(require("./copilot-service"));
23
+ exports.default = copilot_service_2.default;
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;AAEH,qDAgB2B;AAfzB,iBAAiB;AACjB,8GAAA,WAAW,OAAA;AACX,+GAAA,YAAY,OAAA;AAEZ,oBAAoB;AACpB,iHAAA,cAAc,OAAA;AACd,wHAAA,qBAAqB,OAAA;AAOrB,0CAA0C;AAC1C,iHAAA,cAAc,OAAA;AAGhB,iBAAiB;AACjB,wEAAkD;AAClD,kBAAe,yBAAiB,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Automatically generated index file for all Tidas types
3
+ */
4
+ export { Contacts as Contact } from './tidas_contacts';
5
+ export { Flows as Flow } from './tidas_flows';
6
+ export { Processes as Process } from './tidas_processes';
7
+ export { Sources as Source } from './tidas_sources';
8
+ export { Flowproperties as FlowProperty } from './tidas_flowproperties';
9
+ export { Unitgroups as UnitGroup } from './tidas_unitgroups';
10
+ export { Lciamethods as LCIAMethod } from './tidas_lciamethods';
11
+ export { Lifecyclemodels as LifeCycleModel } from './tidas_lifecyclemodels';
12
+ export * from './tidas_data_types';
13
+ import type { Contacts as Contact } from './tidas_contacts';
14
+ import type { Flows as Flow } from './tidas_flows';
15
+ import type { Processes as Process } from './tidas_processes';
16
+ import type { Sources as Source } from './tidas_sources';
17
+ import type { Flowproperties as FlowProperty } from './tidas_flowproperties';
18
+ import type { Unitgroups as UnitGroup } from './tidas_unitgroups';
19
+ import type { Lciamethods as LCIAMethod } from './tidas_lciamethods';
20
+ import type { Lifecyclemodels as LifeCycleModel } from './tidas_lifecyclemodels';
21
+ export type DataSet = Contact | Flow | Process | Source | FlowProperty | UnitGroup | LCIAMethod | LifeCycleModel;
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,QAAQ,IAAI,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,KAAK,IAAI,IAAI,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,SAAS,IAAI,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,cAAc,IAAI,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,UAAU,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,WAAW,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,eAAe,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC5E,cAAe,oBAAoB,CAAC;AAGpC,OAAO,KAAK,EAAE,QAAQ,IAAI,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,KAAK,IAAI,IAAI,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,IAAI,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,IAAI,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,KAAK,EAAE,UAAU,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAGjF,MAAM,MAAM,OAAO,GACf,OAAO,GACP,IAAI,GACJ,OAAO,GACP,MAAM,GACN,YAAY,GACZ,SAAS,GACT,UAAU,GACV,cAAc,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ /**
3
+ * Automatically generated index file for all Tidas types
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ __exportStar(require("./tidas_data_types"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;AAYH,qDAAoC"}
@@ -0,0 +1,23 @@
1
+ export interface MultiLangArrayLike extends Array<{
2
+ '@xml:lang': string;
3
+ '#text': string;
4
+ }> {
5
+ setText?(value: string, lang?: string): void;
6
+ getText?(lang?: string): string | undefined;
7
+ }
8
+ export declare class MultiLangArray extends Array<{
9
+ '@xml:lang': string;
10
+ '#text': string;
11
+ }> implements MultiLangArrayLike {
12
+ setText(value: string, lang?: string): void;
13
+ getText(lang?: string): string | undefined;
14
+ }
15
+ export declare class MultiLangItemClass {
16
+ '@xml:lang': string;
17
+ '#text': string;
18
+ constructor(lang: string, text: string);
19
+ setText(value: string, lang?: string): void;
20
+ getText(lang?: string): string | undefined;
21
+ }
22
+ export type MultiLangItem = MultiLangItemClass;
23
+ //# sourceMappingURL=multi-lang-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi-lang-types.d.ts","sourceRoot":"","sources":["../../src/types/multi-lang-types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAmB,SAAQ,KAAK,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;IACzF,OAAO,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAC7C;AAED,qBAAa,cAAe,SAAQ,KAAK,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAE,YAAW,kBAAkB;IAC/G,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,MAAa;IAQ1C,OAAO,CAAC,IAAI,GAAE,MAAa,GAAG,MAAM,GAAG,SAAS;CAOjD;AAED,qBAAa,kBAAkB;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;gBACJ,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAItC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,MAAa;IAI1C,OAAO,CAAC,IAAI,GAAE,MAAa,GAAG,MAAM,GAAG,SAAS;CAMjD;AAED,MAAM,MAAM,aAAa,GAAG,kBAAkB,CAAC"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MultiLangItemClass = exports.MultiLangArray = void 0;
4
+ class MultiLangArray extends Array {
5
+ setText(value, lang = 'en') {
6
+ const existing = this.find(item => item['@xml:lang'] === lang);
7
+ if (existing) {
8
+ existing['#text'] = value;
9
+ }
10
+ else {
11
+ this.push({ '@xml:lang': lang, '#text': value });
12
+ }
13
+ }
14
+ getText(lang = 'en') {
15
+ if (lang) {
16
+ const found = this.find(item => item['@xml:lang'] === lang);
17
+ return found ? found['#text'] : undefined;
18
+ }
19
+ return this.length > 0 ? this[0]['#text'] : undefined;
20
+ }
21
+ }
22
+ exports.MultiLangArray = MultiLangArray;
23
+ class MultiLangItemClass {
24
+ constructor(lang, text) {
25
+ this['@xml:lang'] = lang;
26
+ this['#text'] = text;
27
+ }
28
+ setText(value, lang = 'en') {
29
+ this['@xml:lang'] = lang;
30
+ this['#text'] = value;
31
+ }
32
+ getText(lang = 'en') {
33
+ if (!lang || this['@xml:lang'] === lang) {
34
+ return this['#text'];
35
+ }
36
+ return undefined;
37
+ }
38
+ }
39
+ exports.MultiLangItemClass = MultiLangItemClass;
40
+ //# sourceMappingURL=multi-lang-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi-lang-types.js","sourceRoot":"","sources":["../../src/types/multi-lang-types.ts"],"names":[],"mappings":";;;AAKA,MAAa,cAAe,SAAQ,KAA+C;IACjF,OAAO,CAAC,KAAa,EAAE,OAAe,IAAI;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,CAAC;QAC/D,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IACD,OAAO,CAAC,OAAe,IAAI;QACzB,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,CAAC;YAC5D,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5C,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxD,CAAC;CACF;AAhBD,wCAgBC;AAED,MAAa,kBAAkB;IAG7B,YAAY,IAAY,EAAE,IAAY;QACpC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IACvB,CAAC;IACD,OAAO,CAAC,KAAa,EAAE,OAAe,IAAI;QACxC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,OAAO,CAAC,OAAe,IAAI;QACzB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,gDAiBC"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * This file was automatically generated from tidas_contacts
3
+ * DO NOT MODIFY IT BY HAND. Instead, modify the source JSON Schema file,
4
+ * and run the generation script to regenerate this file.
5
+ */
6
+ import type { GlobalReferenceType, LevelType, ST, STMultiLang, String, StringMultiLang, UUID, dateTime } from './tidas_data_types';
7
+ export interface Contacts {
8
+ contactDataSet: {
9
+ '@xmlns': 'http://lca.jrc.it/ILCD/Contact';
10
+ '@xmlns:common': 'http://lca.jrc.it/ILCD/Common';
11
+ '@xmlns:xsi': 'http://www.w3.org/2001/XMLSchema-instance';
12
+ '@version': '1.1';
13
+ '@xsi:schemaLocation': 'http://lca.jrc.it/ILCD/Contact ../../schemas/ILCD_ContactDataSet.xsd';
14
+ contactInformation: {
15
+ dataSetInformation: {
16
+ 'common:UUID': UUID;
17
+ 'common:shortName': StringMultiLang;
18
+ 'common:name': StringMultiLang;
19
+ classificationInformation: {
20
+ 'common:classification': {
21
+ 'common:class': [
22
+ {
23
+ '@level': LevelType;
24
+ '@classId': string;
25
+ '#text': string;
26
+ },
27
+ {
28
+ '@level': LevelType;
29
+ '@classId': string;
30
+ '#text': string;
31
+ }
32
+ ] | {
33
+ '@level': LevelType;
34
+ '@classId': string;
35
+ '#text': string;
36
+ };
37
+ };
38
+ 'common:other'?: string;
39
+ };
40
+ contactAddress?: STMultiLang;
41
+ email?: String;
42
+ telephone?: String;
43
+ telefax?: String;
44
+ WWWAddress?: ST;
45
+ centralContactPoint?: STMultiLang;
46
+ contactDescriptionOrComment?: STMultiLang;
47
+ referenceToContact?: GlobalReferenceType;
48
+ referenceToLogo?: GlobalReferenceType;
49
+ 'common:other'?: string;
50
+ };
51
+ 'common:other'?: string;
52
+ };
53
+ administrativeInformation: {
54
+ dataEntryBy: {
55
+ 'common:timeStamp': dateTime;
56
+ 'common:referenceToDataSetFormat': GlobalReferenceType;
57
+ 'common:other'?: string;
58
+ };
59
+ publicationAndOwnership: {
60
+ 'common:dataSetVersion': string;
61
+ 'common:referenceToPrecedingDataSetVersion'?: GlobalReferenceType;
62
+ 'common:permanentDataSetURI'?: string;
63
+ 'common:referenceToOwnershipOfDataSet': GlobalReferenceType;
64
+ 'common:other'?: string;
65
+ };
66
+ 'common:other'?: string;
67
+ };
68
+ 'common:other'?: string;
69
+ };
70
+ 'common:other'?: string;
71
+ }
72
+ //# sourceMappingURL=tidas_contacts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tidas_contacts.d.ts","sourceRoot":"","sources":["../../src/types/tidas_contacts.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,SAAS,EACT,EAAE,EACF,WAAW,EACX,MAAM,EACN,eAAe,EACf,IAAI,EACJ,QAAQ,EACT,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,QAAQ;IACvB,cAAc,EAAE;QACd,QAAQ,EAAE,gCAAgC,CAAC;QAC3C,eAAe,EAAE,+BAA+B,CAAC;QACjD,YAAY,EAAE,2CAA2C,CAAC;QAC1D,UAAU,EAAE,KAAK,CAAC;QAClB,qBAAqB,EAAE,sEAAsE,CAAC;QAC9F,kBAAkB,EAAE;YAClB,kBAAkB,EAAE;gBAClB,aAAa,EAAE,IAAI,CAAC;gBACpB,kBAAkB,EAAE,eAAe,CAAC;gBACpC,aAAa,EAAE,eAAe,CAAC;gBAC/B,yBAAyB,EAAE;oBACzB,uBAAuB,EAAE;wBACvB,cAAc,EACV;4BACE;gCAAE,QAAQ,EAAE,SAAS,CAAC;gCAAC,UAAU,EAAE,MAAM,CAAC;gCAAC,OAAO,EAAE,MAAM,CAAA;6BAAE;4BAC5D;gCAAE,QAAQ,EAAE,SAAS,CAAC;gCAAC,UAAU,EAAE,MAAM,CAAC;gCAAC,OAAO,EAAE,MAAM,CAAA;6BAAE;yBAC7D,GACD;4BAAE,QAAQ,EAAE,SAAS,CAAC;4BAAC,UAAU,EAAE,MAAM,CAAC;4BAAC,OAAO,EAAE,MAAM,CAAA;yBAAE,CAAC;qBAClE,CAAC;oBACF,cAAc,CAAC,EAAE,MAAM,CAAC;iBACzB,CAAC;gBACF,cAAc,CAAC,EAAE,WAAW,CAAC;gBAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;gBACf,SAAS,CAAC,EAAE,MAAM,CAAC;gBACnB,OAAO,CAAC,EAAE,MAAM,CAAC;gBACjB,UAAU,CAAC,EAAE,EAAE,CAAC;gBAChB,mBAAmB,CAAC,EAAE,WAAW,CAAC;gBAClC,2BAA2B,CAAC,EAAE,WAAW,CAAC;gBAC1C,kBAAkB,CAAC,EAAE,mBAAmB,CAAC;gBACzC,eAAe,CAAC,EAAE,mBAAmB,CAAC;gBACtC,cAAc,CAAC,EAAE,MAAM,CAAC;aACzB,CAAC;YACF,cAAc,CAAC,EAAE,MAAM,CAAC;SACzB,CAAC;QACF,yBAAyB,EAAE;YACzB,WAAW,EAAE;gBACX,kBAAkB,EAAE,QAAQ,CAAC;gBAC7B,iCAAiC,EAAE,mBAAmB,CAAC;gBACvD,cAAc,CAAC,EAAE,MAAM,CAAC;aACzB,CAAC;YACF,uBAAuB,EAAE;gBACvB,uBAAuB,EAAE,MAAM,CAAC;gBAChC,2CAA2C,CAAC,EAAE,mBAAmB,CAAC;gBAClE,4BAA4B,CAAC,EAAE,MAAM,CAAC;gBACtC,sCAAsC,EAAE,mBAAmB,CAAC;gBAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;aACzB,CAAC;YACF,cAAc,CAAC,EAAE,MAAM,CAAC;SACzB,CAAC;QACF,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ /**
3
+ * This file was automatically generated from tidas_contacts
4
+ * DO NOT MODIFY IT BY HAND. Instead, modify the source JSON Schema file,
5
+ * and run the generation script to regenerate this file.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ //# sourceMappingURL=tidas_contacts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tidas_contacts.js","sourceRoot":"","sources":["../../src/types/tidas_contacts.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * This file was automatically generated from tidas_contacts_category
3
+ * DO NOT MODIFY IT BY HAND. Instead, modify the source JSON Schema file,
4
+ * and run the generation script to regenerate this file.
5
+ */
6
+ export type Contact = {
7
+ '@level'?: '0';
8
+ '@classId'?: '1';
9
+ '#text'?: 'Group of organisations, project';
10
+ } | {
11
+ '@level'?: '0';
12
+ '@classId'?: '2';
13
+ '#text'?: 'Organisations';
14
+ } | {
15
+ '@level'?: '1';
16
+ '@classId'?: '2.1';
17
+ '#text'?: 'Private companies';
18
+ } | {
19
+ '@level'?: '1';
20
+ '@classId'?: '2.2';
21
+ '#text'?: 'Governmental organisations';
22
+ } | {
23
+ '@level'?: '1';
24
+ '@classId'?: '2.3';
25
+ '#text'?: 'Non-governmental organisations';
26
+ } | {
27
+ '@level'?: '1';
28
+ '@classId'?: '2.4';
29
+ '#text'?: 'Other organisations';
30
+ } | {
31
+ '@level'?: '0';
32
+ '@classId'?: '3';
33
+ '#text'?: 'Working groups within organisation';
34
+ } | {
35
+ '@level'?: '0';
36
+ '@classId'?: '4';
37
+ '#text'?: 'Persons';
38
+ } | {
39
+ '@level'?: '0';
40
+ '@classId'?: '5';
41
+ '#text'?: 'Other';
42
+ };
43
+ //# sourceMappingURL=tidas_contacts_category.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tidas_contacts_category.d.ts","sourceRoot":"","sources":["../../src/types/tidas_contacts_category.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,OAAO,GACf;IACE,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,OAAO,CAAC,EAAE,iCAAiC,CAAC;CAC7C,GACD;IAAE,QAAQ,CAAC,EAAE,GAAG,CAAC;IAAC,UAAU,CAAC,EAAE,GAAG,CAAC;IAAC,OAAO,CAAC,EAAE,eAAe,CAAA;CAAE,GAC/D;IAAE,QAAQ,CAAC,EAAE,GAAG,CAAC;IAAC,UAAU,CAAC,EAAE,KAAK,CAAC;IAAC,OAAO,CAAC,EAAE,mBAAmB,CAAA;CAAE,GACrE;IACE,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,OAAO,CAAC,EAAE,4BAA4B,CAAC;CACxC,GACD;IACE,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,OAAO,CAAC,EAAE,gCAAgC,CAAC;CAC5C,GACD;IAAE,QAAQ,CAAC,EAAE,GAAG,CAAC;IAAC,UAAU,CAAC,EAAE,KAAK,CAAC;IAAC,OAAO,CAAC,EAAE,qBAAqB,CAAA;CAAE,GACvE;IACE,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,OAAO,CAAC,EAAE,oCAAoC,CAAC;CAChD,GACD;IAAE,QAAQ,CAAC,EAAE,GAAG,CAAC;IAAC,UAAU,CAAC,EAAE,GAAG,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,CAAA;CAAE,GACzD;IAAE,QAAQ,CAAC,EAAE,GAAG,CAAC;IAAC,UAAU,CAAC,EAAE,GAAG,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ /**
3
+ * This file was automatically generated from tidas_contacts_category
4
+ * DO NOT MODIFY IT BY HAND. Instead, modify the source JSON Schema file,
5
+ * and run the generation script to regenerate this file.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ //# sourceMappingURL=tidas_contacts_category.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tidas_contacts_category.js","sourceRoot":"","sources":["../../src/types/tidas_contacts_category.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}