@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,60 @@
1
+ import { ValidationConfig, ValidationMode } from './ValidationConfig';
2
+ /**
3
+ * Global configuration for TIDAS SDK
4
+ */
5
+ declare class TidasGlobalConfig {
6
+ private _defaultValidationConfig;
7
+ /**
8
+ * Get the current default validation configuration
9
+ */
10
+ getDefaultValidationConfig(): ValidationConfig;
11
+ /**
12
+ * Set the default validation mode globally
13
+ */
14
+ setDefaultValidationMode(mode: ValidationMode): void;
15
+ /**
16
+ * Set the complete default validation configuration
17
+ */
18
+ setDefaultValidationConfig(config: Partial<ValidationConfig>): void;
19
+ /**
20
+ * Reset to default configuration
21
+ */
22
+ resetToDefaults(): void;
23
+ /**
24
+ * Load configuration from environment variables
25
+ */
26
+ loadFromEnvironment(): void;
27
+ }
28
+ /**
29
+ * Global configuration instance
30
+ */
31
+ export declare const globalConfig: TidasGlobalConfig;
32
+ /**
33
+ * Convenience functions for global configuration
34
+ */
35
+ /**
36
+ * Set global validation mode
37
+ */
38
+ export declare function setGlobalValidationMode(mode: ValidationMode): void;
39
+ /**
40
+ * Get current global validation mode
41
+ */
42
+ export declare function getGlobalValidationMode(): ValidationMode;
43
+ /**
44
+ * Set global validation configuration
45
+ */
46
+ export declare function setGlobalValidationConfig(config: Partial<ValidationConfig>): void;
47
+ /**
48
+ * Get current global validation configuration
49
+ */
50
+ export declare function getGlobalValidationConfig(): ValidationConfig;
51
+ /**
52
+ * Reset global configuration to defaults
53
+ */
54
+ export declare function resetGlobalConfig(): void;
55
+ /**
56
+ * Load configuration from environment variables
57
+ */
58
+ export declare function loadConfigFromEnvironment(): void;
59
+ export {};
60
+ //# sourceMappingURL=GlobalConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GlobalConfig.d.ts","sourceRoot":"","sources":["../../../src/core/config/GlobalConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAA6B,MAAM,oBAAoB,CAAC;AAEjG;;GAEG;AACH,cAAM,iBAAiB;IACrB,OAAO,CAAC,wBAAwB,CAAsD;IAEtF;;OAEG;IACH,0BAA0B,IAAI,gBAAgB;IAI9C;;OAEG;IACH,wBAAwB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAIpD;;OAEG;IACH,0BAA0B,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAOnE;;OAEG;IACH,eAAe,IAAI,IAAI;IAIvB;;OAEG;IACH,mBAAmB,IAAI,IAAI;CAgB5B;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,mBAA0B,CAAC;AAEpD;;GAEG;AAEH;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAElE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,cAAc,CAExD;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAEjF;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,gBAAgB,CAE5D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD"}
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.globalConfig = void 0;
4
+ exports.setGlobalValidationMode = setGlobalValidationMode;
5
+ exports.getGlobalValidationMode = getGlobalValidationMode;
6
+ exports.setGlobalValidationConfig = setGlobalValidationConfig;
7
+ exports.getGlobalValidationConfig = getGlobalValidationConfig;
8
+ exports.resetGlobalConfig = resetGlobalConfig;
9
+ exports.loadConfigFromEnvironment = loadConfigFromEnvironment;
10
+ const ValidationConfig_1 = require("./ValidationConfig");
11
+ /**
12
+ * Global configuration for TIDAS SDK
13
+ */
14
+ class TidasGlobalConfig {
15
+ constructor() {
16
+ this._defaultValidationConfig = { ...ValidationConfig_1.DEFAULT_VALIDATION_CONFIG };
17
+ }
18
+ /**
19
+ * Get the current default validation configuration
20
+ */
21
+ getDefaultValidationConfig() {
22
+ return { ...this._defaultValidationConfig };
23
+ }
24
+ /**
25
+ * Set the default validation mode globally
26
+ */
27
+ setDefaultValidationMode(mode) {
28
+ this._defaultValidationConfig.mode = mode;
29
+ }
30
+ /**
31
+ * Set the complete default validation configuration
32
+ */
33
+ setDefaultValidationConfig(config) {
34
+ this._defaultValidationConfig = {
35
+ ...this._defaultValidationConfig,
36
+ ...config
37
+ };
38
+ }
39
+ /**
40
+ * Reset to default configuration
41
+ */
42
+ resetToDefaults() {
43
+ this._defaultValidationConfig = { ...ValidationConfig_1.DEFAULT_VALIDATION_CONFIG };
44
+ }
45
+ /**
46
+ * Load configuration from environment variables
47
+ */
48
+ loadFromEnvironment() {
49
+ const envMode = process.env.TIDAS_VALIDATION_MODE;
50
+ if (envMode && ['strict', 'weak', 'ignore'].includes(envMode)) {
51
+ this._defaultValidationConfig.mode = envMode;
52
+ }
53
+ const envThrowOnError = process.env.TIDAS_THROW_ON_ERROR;
54
+ if (envThrowOnError !== undefined) {
55
+ this._defaultValidationConfig.throwOnError = envThrowOnError === 'true';
56
+ }
57
+ const envIncludeWarnings = process.env.TIDAS_INCLUDE_WARNINGS;
58
+ if (envIncludeWarnings !== undefined) {
59
+ this._defaultValidationConfig.includeWarnings = envIncludeWarnings === 'true';
60
+ }
61
+ }
62
+ }
63
+ /**
64
+ * Global configuration instance
65
+ */
66
+ exports.globalConfig = new TidasGlobalConfig();
67
+ /**
68
+ * Convenience functions for global configuration
69
+ */
70
+ /**
71
+ * Set global validation mode
72
+ */
73
+ function setGlobalValidationMode(mode) {
74
+ exports.globalConfig.setDefaultValidationMode(mode);
75
+ }
76
+ /**
77
+ * Get current global validation mode
78
+ */
79
+ function getGlobalValidationMode() {
80
+ return exports.globalConfig.getDefaultValidationConfig().mode;
81
+ }
82
+ /**
83
+ * Set global validation configuration
84
+ */
85
+ function setGlobalValidationConfig(config) {
86
+ exports.globalConfig.setDefaultValidationConfig(config);
87
+ }
88
+ /**
89
+ * Get current global validation configuration
90
+ */
91
+ function getGlobalValidationConfig() {
92
+ return exports.globalConfig.getDefaultValidationConfig();
93
+ }
94
+ /**
95
+ * Reset global configuration to defaults
96
+ */
97
+ function resetGlobalConfig() {
98
+ exports.globalConfig.resetToDefaults();
99
+ }
100
+ /**
101
+ * Load configuration from environment variables
102
+ */
103
+ function loadConfigFromEnvironment() {
104
+ exports.globalConfig.loadFromEnvironment();
105
+ }
106
+ // Auto-load from environment on module initialization
107
+ if (typeof process !== 'undefined' && process.env) {
108
+ loadConfigFromEnvironment();
109
+ }
110
+ //# sourceMappingURL=GlobalConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GlobalConfig.js","sourceRoot":"","sources":["../../../src/core/config/GlobalConfig.ts"],"names":[],"mappings":";;;AAwEA,0DAEC;AAKD,0DAEC;AAKD,8DAEC;AAKD,8DAEC;AAKD,8CAEC;AAKD,8DAEC;AA7GD,yDAAiG;AAEjG;;GAEG;AACH,MAAM,iBAAiB;IAAvB;QACU,6BAAwB,GAAqB,EAAE,GAAG,4CAAyB,EAAE,CAAC;IAoDxF,CAAC;IAlDC;;OAEG;IACH,0BAA0B;QACxB,OAAO,EAAE,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,wBAAwB,CAAC,IAAoB;QAC3C,IAAI,CAAC,wBAAwB,CAAC,IAAI,GAAG,IAAI,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,0BAA0B,CAAC,MAAiC;QAC1D,IAAI,CAAC,wBAAwB,GAAG;YAC9B,GAAG,IAAI,CAAC,wBAAwB;YAChC,GAAG,MAAM;SACV,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,eAAe;QACb,IAAI,CAAC,wBAAwB,GAAG,EAAE,GAAG,4CAAyB,EAAE,CAAC;IACnE,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAuC,CAAC;QACpE,IAAI,OAAO,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,wBAAwB,CAAC,IAAI,GAAG,OAAO,CAAC;QAC/C,CAAC;QAED,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;QACzD,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,wBAAwB,CAAC,YAAY,GAAG,eAAe,KAAK,MAAM,CAAC;QAC1E,CAAC;QAED,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;QAC9D,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACrC,IAAI,CAAC,wBAAwB,CAAC,eAAe,GAAG,kBAAkB,KAAK,MAAM,CAAC;QAChF,CAAC;IACH,CAAC;CACF;AAED;;GAEG;AACU,QAAA,YAAY,GAAG,IAAI,iBAAiB,EAAE,CAAC;AAEpD;;GAEG;AAEH;;GAEG;AACH,SAAgB,uBAAuB,CAAC,IAAoB;IAC1D,oBAAY,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,SAAgB,uBAAuB;IACrC,OAAO,oBAAY,CAAC,0BAA0B,EAAE,CAAC,IAAI,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,SAAgB,yBAAyB,CAAC,MAAiC;IACzE,oBAAY,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,SAAgB,yBAAyB;IACvC,OAAO,oBAAY,CAAC,0BAA0B,EAAE,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB;IAC/B,oBAAY,CAAC,eAAe,EAAE,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,SAAgB,yBAAyB;IACvC,oBAAY,CAAC,mBAAmB,EAAE,CAAC;AACrC,CAAC;AAED,sDAAsD;AACtD,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAClD,yBAAyB,EAAE,CAAC;AAC9B,CAAC"}
@@ -0,0 +1,70 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Validation mode types
4
+ */
5
+ export type ValidationMode = 'strict' | 'weak' | 'ignore';
6
+ /**
7
+ * Validation configuration interface
8
+ */
9
+ export interface ValidationConfig {
10
+ mode: ValidationMode;
11
+ throwOnError?: boolean;
12
+ includeWarnings?: boolean;
13
+ }
14
+ /**
15
+ * Validation warning interface
16
+ */
17
+ export interface ValidationWarning {
18
+ path: string[];
19
+ message: string;
20
+ code: string;
21
+ severity: 'low' | 'medium' | 'high';
22
+ }
23
+ /**
24
+ * Enhanced validation result type
25
+ */
26
+ export type EnhancedValidationResult<T> = {
27
+ success: true;
28
+ data: T;
29
+ warnings?: ValidationWarning[];
30
+ mode: ValidationMode;
31
+ } | {
32
+ success: false;
33
+ error: z.ZodError;
34
+ warnings?: ValidationWarning[];
35
+ mode: ValidationMode;
36
+ };
37
+ /**
38
+ * Error severity classification
39
+ */
40
+ export declare enum ErrorSeverity {
41
+ CRITICAL = "critical",
42
+ WARNING = "warning",
43
+ INFO = "info"
44
+ }
45
+ /**
46
+ * Validation utilities class
47
+ */
48
+ export declare class ValidationUtils {
49
+ /**
50
+ * Categorize Zod error by severity
51
+ */
52
+ static categorizeError(error: z.ZodIssue): ErrorSeverity;
53
+ /**
54
+ * Convert Zod issue to validation warning
55
+ */
56
+ static issueToWarning(issue: z.ZodIssue): ValidationWarning;
57
+ /**
58
+ * Perform weak validation that returns warnings instead of errors
59
+ */
60
+ static performWeakValidation<T>(schema: z.ZodSchema<T>, data: any, config: ValidationConfig): EnhancedValidationResult<T>;
61
+ /**
62
+ * Perform validation based on mode
63
+ */
64
+ static performValidation<T>(schema: z.ZodSchema<T>, data: any, config: ValidationConfig): EnhancedValidationResult<T>;
65
+ }
66
+ /**
67
+ * Default validation configuration
68
+ */
69
+ export declare const DEFAULT_VALIDATION_CONFIG: ValidationConfig;
70
+ //# sourceMappingURL=ValidationConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValidationConfig.d.ts","sourceRoot":"","sources":["../../../src/core/config/ValidationConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,cAAc,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,MAAM,wBAAwB,CAAC,CAAC,IAAI;IACxC,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,CAAC,CAAC;IACR,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC/B,IAAI,EAAE,cAAc,CAAC;CACtB,GAAG;IACF,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC;IAClB,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC/B,IAAI,EAAE,cAAc,CAAC;CACtB,CAAC;AAEF;;GAEG;AACH,oBAAY,aAAa;IACvB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,IAAI,SAAS;CACd;AAaD;;GAEG;AACH,qBAAa,eAAe;IAC1B;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,GAAG,aAAa;IAkCxD;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,GAAG,iBAAiB;IAY3D;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAAC,CAAC,EAC5B,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EACtB,IAAI,EAAE,GAAG,EACT,MAAM,EAAE,gBAAgB,GACvB,wBAAwB,CAAC,CAAC,CAAC;IA6C9B;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,CAAC,EACxB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EACtB,IAAI,EAAE,GAAG,EACT,MAAM,EAAE,gBAAgB,GACvB,wBAAwB,CAAC,CAAC,CAAC;CAiC/B;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,gBAIvC,CAAC"}
@@ -0,0 +1,157 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_VALIDATION_CONFIG = exports.ValidationUtils = exports.ErrorSeverity = void 0;
4
+ const zod_1 = require("zod");
5
+ /**
6
+ * Error severity classification
7
+ */
8
+ var ErrorSeverity;
9
+ (function (ErrorSeverity) {
10
+ ErrorSeverity["CRITICAL"] = "critical";
11
+ ErrorSeverity["WARNING"] = "warning";
12
+ ErrorSeverity["INFO"] = "info";
13
+ })(ErrorSeverity || (exports.ErrorSeverity = ErrorSeverity = {}));
14
+ /**
15
+ * Critical error patterns that should always cause validation failure
16
+ */
17
+ const CRITICAL_ERROR_PATTERNS = [
18
+ 'Required',
19
+ 'Expected string, received undefined',
20
+ 'Expected number, received undefined',
21
+ 'Expected object, received undefined',
22
+ 'Expected array, received undefined',
23
+ ];
24
+ /**
25
+ * Validation utilities class
26
+ */
27
+ class ValidationUtils {
28
+ /**
29
+ * Categorize Zod error by severity
30
+ */
31
+ static categorizeError(error) {
32
+ const message = error.message;
33
+ // Check for critical patterns
34
+ for (const pattern of CRITICAL_ERROR_PATTERNS) {
35
+ if (message.includes(pattern)) {
36
+ return ErrorSeverity.CRITICAL;
37
+ }
38
+ }
39
+ // Type-specific categorization
40
+ switch (error.code) {
41
+ case 'invalid_type':
42
+ // If input is undefined for required field, it's critical
43
+ if (error.input === undefined) {
44
+ return ErrorSeverity.CRITICAL;
45
+ }
46
+ return ErrorSeverity.WARNING;
47
+ case 'too_small':
48
+ case 'too_big':
49
+ return ErrorSeverity.WARNING;
50
+ case 'invalid_value':
51
+ return ErrorSeverity.WARNING;
52
+ case 'unrecognized_keys':
53
+ return ErrorSeverity.INFO;
54
+ default:
55
+ return ErrorSeverity.WARNING;
56
+ }
57
+ }
58
+ /**
59
+ * Convert Zod issue to validation warning
60
+ */
61
+ static issueToWarning(issue) {
62
+ const severity = this.categorizeError(issue);
63
+ return {
64
+ path: issue.path.map(p => String(p)),
65
+ message: issue.message,
66
+ code: issue.code,
67
+ severity: severity === ErrorSeverity.CRITICAL ? 'high' :
68
+ severity === ErrorSeverity.WARNING ? 'medium' : 'low'
69
+ };
70
+ }
71
+ /**
72
+ * Perform weak validation that returns warnings instead of errors
73
+ */
74
+ static performWeakValidation(schema, data, config) {
75
+ const result = schema.safeParse(data);
76
+ if (result.success) {
77
+ return {
78
+ success: true,
79
+ data: result.data,
80
+ mode: config.mode
81
+ };
82
+ }
83
+ // Categorize errors
84
+ const criticalErrors = [];
85
+ const warnings = [];
86
+ for (const issue of result.error.issues) {
87
+ const severity = this.categorizeError(issue);
88
+ if (severity === ErrorSeverity.CRITICAL) {
89
+ criticalErrors.push(issue);
90
+ }
91
+ else {
92
+ warnings.push(this.issueToWarning(issue));
93
+ }
94
+ }
95
+ // If there are critical errors, validation fails
96
+ if (criticalErrors.length > 0) {
97
+ const criticalError = new zod_1.z.ZodError(criticalErrors);
98
+ return {
99
+ success: false,
100
+ error: criticalError,
101
+ warnings: config.includeWarnings ? warnings : undefined,
102
+ mode: config.mode
103
+ };
104
+ }
105
+ // No critical errors - weak validation passes with warnings
106
+ return {
107
+ success: true,
108
+ data: data, // Accept data as-is for weak validation
109
+ warnings: config.includeWarnings ? warnings : undefined,
110
+ mode: config.mode
111
+ };
112
+ }
113
+ /**
114
+ * Perform validation based on mode
115
+ */
116
+ static performValidation(schema, data, config) {
117
+ switch (config.mode) {
118
+ case 'strict': {
119
+ const strictResult = schema.safeParse(data);
120
+ if (strictResult.success) {
121
+ return {
122
+ success: true,
123
+ data: strictResult.data,
124
+ mode: config.mode
125
+ };
126
+ }
127
+ else {
128
+ return {
129
+ success: false,
130
+ error: strictResult.error,
131
+ mode: config.mode
132
+ };
133
+ }
134
+ }
135
+ case 'weak':
136
+ return this.performWeakValidation(schema, data, config);
137
+ case 'ignore':
138
+ return {
139
+ success: true,
140
+ data: data,
141
+ mode: config.mode
142
+ };
143
+ default:
144
+ throw new Error(`Unknown validation mode: ${config.mode}`);
145
+ }
146
+ }
147
+ }
148
+ exports.ValidationUtils = ValidationUtils;
149
+ /**
150
+ * Default validation configuration
151
+ */
152
+ exports.DEFAULT_VALIDATION_CONFIG = {
153
+ mode: 'strict',
154
+ throwOnError: false,
155
+ includeWarnings: true
156
+ };
157
+ //# sourceMappingURL=ValidationConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValidationConfig.js","sourceRoot":"","sources":["../../../src/core/config/ValidationConfig.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,150 @@
1
+ import { ChatOpenAI } from '@langchain/openai';
2
+ import { Schema } from '../../utils/object-utils';
3
+ /**
4
+ * Model configuration object
5
+ * @param model - The model to use
6
+ * @param apiKey - The API key to use
7
+ * @param baseURL - The base URL to use
8
+ */
9
+ export type ModelConfig = {
10
+ model?: string;
11
+ apiKey?: string;
12
+ baseURL?: string;
13
+ };
14
+ declare function getModel(modelConfig: ModelConfig): Promise<ChatOpenAI<import("@langchain/openai").ChatOpenAICallOptions>>;
15
+ /**
16
+ * Custom extractor
17
+ *
18
+ * Extracts JSON content from a string where
19
+ * JSON is embedded between ```json and ``` tags.
20
+ */
21
+ declare const extractJson: (output: any, schema: Schema, returnSingle?: boolean) => any;
22
+ declare function fixJsonDataWithAI(data: any, originalData: any, modelConfig?: ModelConfig): Promise<any>;
23
+ /**
24
+ * Extracts valid JSON data from AI response with retry mechanism
25
+ * Combines extractJson and fixJsonDataWithAI functions to ensure the extracted data
26
+ * matches the original data structure
27
+ *
28
+ * @param data - The AI response or data containing JSON
29
+ * @param originalData - The original data structure to match
30
+ * @param schema - The schema to validate against
31
+ * @param maxRetries - Maximum number of retry attempts (default: 3)
32
+ * @returns The extracted and validated JSON data
33
+ */
34
+ export declare function extractValidJsonWithRetry(data: any, originalData: any, schema?: Schema, maxRetries?: number): Promise<any>;
35
+ /**
36
+ * Suggests improvements to data based on TIDAS methodology rules.
37
+ *
38
+ * This function uses AI to analyze the provided data against TIDAS methodology rules
39
+ * and suggests optimized content that better complies with the methodology requirements.
40
+ * The function ensures that the data structure remains unchanged while improving the content.
41
+ *
42
+ * @param data - The original data object to be improved. Can be any JSON-serializable object
43
+ * such as process names, descriptions, or other TIDAS/ILCD data elements.
44
+ * @param methodology - The methodology rules to apply. Can be:
45
+ * - A complete methodology object loaded from YAML
46
+ * - A specific rule object extracted using getRuleFromMethodologyByPath
47
+ * - A custom rule object with description and rules properties
48
+ * @param modelConfig - The configuration for the AI model. Can be:
49
+ * - A complete model configuration object
50
+ * - A custom model configuration object with model, apiKey, and baseURL properties
51
+ * @returns Promise<any> - The improved data with the same structure as the input but with
52
+ * optimized content that better complies with the methodology.
53
+ * The returned data is guaranteed to match the original schema.
54
+ *
55
+ * @example
56
+ * ```typescript
57
+ * // Example 1: Improve a process name using specific rules
58
+ * const nameData = [{ '@xml:lang': 'en', '#text': 'Process 1' }];
59
+ * const rule = getRuleFromMethodologyByPath(methodology, 'processDataSet.processInformation.dataSetInformation.name.baseName');
60
+ * const improvedName = await suggest(nameData, rule);
61
+ * // Returns: [{ '@xml:lang': 'en', '#text': 'Production of Product A using Technology X' }]
62
+ *
63
+ * // Example 2: Improve data using full methodology
64
+ * const processData = { name: 'test', description: 'simple desc' };
65
+ * const improvedData = await suggest(processData, fullMethodology);
66
+ * // Returns data with improved names and descriptions
67
+ * ```
68
+ *
69
+ * @throws {Error} If the AI model fails to generate valid JSON
70
+ * @throws {Error} If the OpenAI API is not configured properly
71
+ */
72
+ declare function suggest(data: any, methodology: any, modelConfig?: ModelConfig): Promise<any>;
73
+ /**
74
+ * Reviews data against TIDAS methodology rules and provides structured feedback.
75
+ *
76
+ * This function uses AI to analyze the provided data against TIDAS methodology rules
77
+ * and provides a review with comments and a compliance score. Unlike the suggest function
78
+ * which modifies data, this function only provides assessment and feedback.
79
+ *
80
+ * @param data - The data object to be reviewed. Can be any JSON-serializable object
81
+ * such as process names, descriptions, or other TIDAS/ILCD data elements.
82
+ * @param methodology - The methodology rules to evaluate against. Can be:
83
+ * - A complete methodology object loaded from YAML
84
+ * - A specific rule object extracted using getRuleFromMethodologyByPath
85
+ * - A custom rule object with description and rules properties
86
+ * @param modelConfig - The configuration for the AI model. Can be:
87
+ * - A complete model configuration object
88
+ * - A custom model configuration object with model, apiKey, and baseURL properties
89
+ * @returns Promise<{review_comment: string, review_score: number}> - A structured review containing:
90
+ * - review_comment: Detailed feedback on compliance and suggestions for improvement
91
+ * - review_score: A numerical score from 0-100 indicating compliance level
92
+ *
93
+ * @example
94
+ * ```typescript
95
+ * // Example 1: Review a process name against specific rules
96
+ * const nameData = [{ '@xml:lang': 'en', '#text': 'Process 1' }];
97
+ * const rule = getRuleFromMethodologyByPath(methodology, 'processDataSet.processInformation.dataSetInformation.name.baseName');
98
+ * const review = await reviewData(nameData, rule);
99
+ * // Returns: {
100
+ * // review_comment: "The process name 'Process 1' is too generic. It should include specific information about...",
101
+ * // review_score: 45
102
+ * // }
103
+ *
104
+ * // Example 2: Review complete process data
105
+ * const processData = { name: 'test', description: 'simple desc' };
106
+ * const review = await reviewData(processData, fullMethodology);
107
+ * // Returns comprehensive review with score
108
+ * ```
109
+ *
110
+ * @throws {Error} If the AI model fails to generate valid structured output
111
+ * @throws {Error} If the OpenAI API is not configured properly
112
+ */
113
+ declare function reviewData(data: any, methodology: any, modelConfig?: ModelConfig): Promise<{
114
+ review_comment: string;
115
+ review_score: number;
116
+ }>;
117
+ /**
118
+ * Suggests improvements for an entire object based on all applicable methodology rules.
119
+ *
120
+ * This function analyzes a complete data object against all relevant methodology rules,
121
+ * applies AI suggestions to each applicable field, and returns a new object with improvements.
122
+ *
123
+ * @param data - The complete data object to improve (TidasEntity or plain object)
124
+ * @param methodologyType - The type of methodology to use:
125
+ * - A string key for available methodologies (e.g., 'processes', 'flows')
126
+ * - A methodology object already loaded
127
+ * @param options - Optional configuration:
128
+ * - parallelRequests: Number of parallel AI requests (default: 1)
129
+ * - skipPaths: Array of paths to skip
130
+ * - maxRetries: Maximum retries per rule (default: 1)
131
+ * @returns Promise<any> - Improved data object with the same structure as input
132
+ *
133
+ * @example
134
+ * ```typescript
135
+ * // Example: Improve an entire Process object
136
+ * const process = createProcess();
137
+ * process.processDataSet.processInformation.dataSetInformation['common:UUID'] = 'test-123';
138
+ * const improvedData = await suggestEntireObject(process, 'processes');
139
+ *
140
+ * // Create a new Process with improved data
141
+ * const improvedProcess = createProcess();
142
+ * Object.assign(improvedProcess, improvedData);
143
+ * ```
144
+ */
145
+ export declare function suggestEntireObject(data: any, methodologyType: string | Record<string, any>, options?: {
146
+ skipPaths?: string[];
147
+ maxRetries?: number;
148
+ }): Promise<any>;
149
+ export { extractJson, fixJsonDataWithAI, suggest, reviewData, getModel };
150
+ //# sourceMappingURL=ai.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../../src/core/copilot/ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/C,OAAO,EAGL,MAAM,EACP,MAAM,0BAA0B,CAAC;AASlC;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,iBAAe,QAAQ,CAAC,WAAW,EAAE,WAAW,0EAS/C;AAED;;;;;GAKG;AACH,QAAA,MAAM,WAAW,GAAI,QAAQ,GAAG,EAAE,QAAQ,MAAM,EAAE,sBAAmB,KAAG,GA4CvE,CAAC;AAEF,iBAAe,iBAAiB,CAC9B,IAAI,EAAE,GAAG,EACT,YAAY,EAAE,GAAG,EACjB,WAAW,CAAC,EAAE,WAAW,gBA+B1B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,GAAG,EACT,YAAY,EAAE,GAAG,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,UAAU,GAAE,MAAU,GACrB,OAAO,CAAC,GAAG,CAAC,CAwEd;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,iBAAe,OAAO,CACpB,IAAI,EAAE,GAAG,EACT,WAAW,EAAE,GAAG,EAChB,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,GAAG,CAAC,CAsDd;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,iBAAe,UAAU,CACvB,IAAI,EAAE,GAAG,EACT,WAAW,EAAE,GAAG,EAChB,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAqI3D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,GAAG,EACT,eAAe,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7C,OAAO,CAAC,EAAE;IACR,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GACA,OAAO,CAAC,GAAG,CAAC,CA8Jd;AAGD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC"}