@tiangong-lca/tidas-sdk 0.1.45 → 0.2.0

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 (182) hide show
  1. package/README.md +120 -236
  2. package/dist/contracts/tidas-contract.js.map +1 -1
  3. package/dist/core/base/TidasEntity.d.ts +2 -2
  4. package/dist/core/base/TidasEntity.d.ts.map +1 -1
  5. package/dist/core/base/TidasEntity.js +4 -1
  6. package/dist/core/base/TidasEntity.js.map +1 -1
  7. package/dist/core/config/GlobalConfig.d.ts.map +1 -1
  8. package/dist/core/config/GlobalConfig.js +1 -3
  9. package/dist/core/config/GlobalConfig.js.map +1 -1
  10. package/dist/core/config/ValidationConfig.d.ts +7 -7
  11. package/dist/core/config/ValidationConfig.d.ts.map +1 -1
  12. package/dist/core/config/ValidationConfig.js +4 -2
  13. package/dist/core/config/ValidationConfig.js.map +1 -1
  14. package/dist/core/copilot/ai.d.ts.map +1 -1
  15. package/dist/core/copilot/ai.js +13 -5
  16. package/dist/core/copilot/ai.js.map +1 -1
  17. package/dist/core/copilot/base.js.map +1 -1
  18. package/dist/core/copilot/index.d.ts +1 -0
  19. package/dist/core/copilot/index.js +1 -0
  20. package/dist/core/entities/TidasContact.d.ts.map +1 -1
  21. package/dist/core/entities/TidasContact.js.map +1 -1
  22. package/dist/core/entities/TidasFlow.d.ts.map +1 -1
  23. package/dist/core/entities/TidasFlow.js +1 -1
  24. package/dist/core/entities/TidasFlow.js.map +1 -1
  25. package/dist/core/entities/TidasFlowProperty.d.ts.map +1 -1
  26. package/dist/core/entities/TidasFlowProperty.js.map +1 -1
  27. package/dist/core/entities/TidasLCIAMethod.d.ts.map +1 -1
  28. package/dist/core/entities/TidasLCIAMethod.js.map +1 -1
  29. package/dist/core/entities/TidasLifeCycleModel.d.ts.map +1 -1
  30. package/dist/core/entities/TidasLifeCycleModel.js.map +1 -1
  31. package/dist/core/entities/TidasProcess.d.ts.map +1 -1
  32. package/dist/core/entities/TidasProcess.js +1 -1
  33. package/dist/core/entities/TidasProcess.js.map +1 -1
  34. package/dist/core/entities/TidasSource.d.ts.map +1 -1
  35. package/dist/core/entities/TidasSource.js.map +1 -1
  36. package/dist/core/entities/TidasUnitGroup.d.ts.map +1 -1
  37. package/dist/core/entities/TidasUnitGroup.js.map +1 -1
  38. package/dist/core/factories/index.d.ts.map +1 -1
  39. package/dist/core/factories/index.js +4 -2
  40. package/dist/core/factories/index.js.map +1 -1
  41. package/dist/core/validation/cas-number.d.ts.map +1 -1
  42. package/dist/core/validation/cas-number.js +2 -1
  43. package/dist/core/validation/cas-number.js.map +1 -1
  44. package/dist/core/validation/json-schema.d.ts +25 -0
  45. package/dist/core/validation/json-schema.d.ts.map +1 -0
  46. package/dist/core/validation/json-schema.js +170 -0
  47. package/dist/core/validation/json-schema.js.map +1 -0
  48. package/dist/core/validation/tidas-languages.d.ts +1 -1
  49. package/dist/core/validation/tidas-languages.d.ts.map +1 -1
  50. package/dist/core/validation/tidas-languages.js.map +1 -1
  51. package/dist/core/zod-factories.d.ts +1 -1
  52. package/dist/core/zod-factories.d.ts.map +1 -1
  53. package/dist/core/zod-factories.js.map +1 -1
  54. package/dist/core/zod-proxy.d.ts +2 -2
  55. package/dist/core/zod-proxy.d.ts.map +1 -1
  56. package/dist/core/zod-proxy.js +5 -3
  57. package/dist/core/zod-proxy.js.map +1 -1
  58. package/dist/data/bundled-methodologies.json +3 -3
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +1 -0
  61. package/dist/index.js.map +1 -1
  62. package/dist/parity/constants.d.ts +1 -1
  63. package/dist/parity/constants.d.ts.map +1 -1
  64. package/dist/parity/report.js.map +1 -1
  65. package/dist/parity/validate.js.map +1 -1
  66. package/dist/parity/validation-rules.d.ts.map +1 -1
  67. package/dist/parity/validation-rules.js +9 -6
  68. package/dist/parity/validation-rules.js.map +1 -1
  69. package/dist/runtime-assets/asset-lock.v1.json +490 -0
  70. package/dist/runtime-assets/eilcd/schemas/ILCD_Common_DataTypes.xsd +3 -3
  71. package/dist/runtime-assets/eilcd/schemas/ILCD_Common_Groups.xsd +2 -2
  72. package/dist/runtime-assets/tidas/methodologies/elementary_flow_taxonomy_extension.v1.json +102 -0
  73. package/dist/runtime-assets/tidas/methodologies/tidas_flows.yaml +2 -2
  74. package/dist/runtime-assets/tidas/schema.lock.json +28 -28
  75. package/dist/runtime-assets/tidas/schemas/tidas_flows.json +61 -3
  76. package/dist/runtime-assets/tidas/schemas/tidas_flows_elementary_category.json +71 -1
  77. package/dist/runtime-assets/tidas/schemas/tidas_sources.json +2 -4
  78. package/dist/runtime-assets/tidas/schemas_zh/tidas_flows.json +61 -3
  79. package/dist/runtime-assets/tidas/schemas_zh/tidas_flows_elementary_category.json +70 -0
  80. package/dist/runtime-assets/tidas/schemas_zh/tidas_sources.json +2 -4
  81. package/dist/schemas/index.d.ts +6 -6
  82. package/dist/schemas/index.d.ts.map +1 -1
  83. package/dist/schemas/index.js +1 -1
  84. package/dist/schemas/index.js.map +1 -1
  85. package/dist/schemas/tidas_contacts.schema.d.ts +140 -148
  86. package/dist/schemas/tidas_contacts.schema.d.ts.map +1 -1
  87. package/dist/schemas/tidas_contacts.schema.js +21 -19
  88. package/dist/schemas/tidas_contacts.schema.js.map +1 -1
  89. package/dist/schemas/tidas_contacts_category.schema.d.ts.map +1 -1
  90. package/dist/schemas/tidas_contacts_category.schema.js +7 -3
  91. package/dist/schemas/tidas_contacts_category.schema.js.map +1 -1
  92. package/dist/schemas/tidas_data_types.schema.d.ts +100 -100
  93. package/dist/schemas/tidas_data_types.schema.d.ts.map +1 -1
  94. package/dist/schemas/tidas_data_types.schema.js +31 -26
  95. package/dist/schemas/tidas_data_types.schema.js.map +1 -1
  96. package/dist/schemas/tidas_flowproperties.schema.d.ts +159 -159
  97. package/dist/schemas/tidas_flowproperties.schema.d.ts.map +1 -1
  98. package/dist/schemas/tidas_flowproperties.schema.js +20 -16
  99. package/dist/schemas/tidas_flowproperties.schema.js.map +1 -1
  100. package/dist/schemas/tidas_flowproperties_category.schema.d.ts.map +1 -1
  101. package/dist/schemas/tidas_flowproperties_category.schema.js +4 -3
  102. package/dist/schemas/tidas_flowproperties_category.schema.js.map +1 -1
  103. package/dist/schemas/tidas_flows.schema.d.ts +291 -255
  104. package/dist/schemas/tidas_flows.schema.d.ts.map +1 -1
  105. package/dist/schemas/tidas_flows.schema.js +182 -29
  106. package/dist/schemas/tidas_flows.schema.js.map +1 -1
  107. package/dist/schemas/tidas_flows_elementary_category.schema.d.ts.map +1 -1
  108. package/dist/schemas/tidas_flows_elementary_category.schema.js +157 -13
  109. package/dist/schemas/tidas_flows_elementary_category.schema.js.map +1 -1
  110. package/dist/schemas/tidas_flows_product_category.schema.d.ts.map +1 -1
  111. package/dist/schemas/tidas_flows_product_category.schema.js +4920 -115
  112. package/dist/schemas/tidas_flows_product_category.schema.js.map +1 -1
  113. package/dist/schemas/tidas_lciamethods.schema.d.ts +689 -701
  114. package/dist/schemas/tidas_lciamethods.schema.d.ts.map +1 -1
  115. package/dist/schemas/tidas_lciamethods.schema.js +100 -90
  116. package/dist/schemas/tidas_lciamethods.schema.js.map +1 -1
  117. package/dist/schemas/tidas_lciamethods_category.schema.d.ts.map +1 -1
  118. package/dist/schemas/tidas_lciamethods_category.schema.js +66 -5
  119. package/dist/schemas/tidas_lciamethods_category.schema.js.map +1 -1
  120. package/dist/schemas/tidas_lifecyclemodels.schema.d.ts +464 -480
  121. package/dist/schemas/tidas_lifecyclemodels.schema.d.ts.map +1 -1
  122. package/dist/schemas/tidas_lifecyclemodels.schema.js +139 -98
  123. package/dist/schemas/tidas_lifecyclemodels.schema.js.map +1 -1
  124. package/dist/schemas/tidas_locations_category.schema.d.ts.map +1 -1
  125. package/dist/schemas/tidas_locations_category.schema.js +655 -3
  126. package/dist/schemas/tidas_locations_category.schema.js.map +1 -1
  127. package/dist/schemas/tidas_processes.schema.d.ts +1481 -3495
  128. package/dist/schemas/tidas_processes.schema.d.ts.map +1 -1
  129. package/dist/schemas/tidas_processes.schema.js +131 -116
  130. package/dist/schemas/tidas_processes.schema.js.map +1 -1
  131. package/dist/schemas/tidas_processes_category.schema.d.ts.map +1 -1
  132. package/dist/schemas/tidas_processes_category.schema.js +954 -43
  133. package/dist/schemas/tidas_processes_category.schema.js.map +1 -1
  134. package/dist/schemas/tidas_sources.schema.d.ts +115 -115
  135. package/dist/schemas/tidas_sources.schema.d.ts.map +1 -1
  136. package/dist/schemas/tidas_sources.schema.js +16 -18
  137. package/dist/schemas/tidas_sources.schema.js.map +1 -1
  138. package/dist/schemas/tidas_sources_category.schema.d.ts.map +1 -1
  139. package/dist/schemas/tidas_sources_category.schema.js +4 -3
  140. package/dist/schemas/tidas_sources_category.schema.js.map +1 -1
  141. package/dist/schemas/tidas_unitgroups.schema.d.ts +132 -132
  142. package/dist/schemas/tidas_unitgroups.schema.d.ts.map +1 -1
  143. package/dist/schemas/tidas_unitgroups.schema.js +20 -16
  144. package/dist/schemas/tidas_unitgroups.schema.js.map +1 -1
  145. package/dist/schemas/tidas_unitgroups_category.schema.d.ts.map +1 -1
  146. package/dist/schemas/tidas_unitgroups_category.schema.js +4 -3
  147. package/dist/schemas/tidas_unitgroups_category.schema.js.map +1 -1
  148. package/dist/services/copilot-service.d.ts.map +1 -1
  149. package/dist/services/copilot-service.js +1 -0
  150. package/dist/services/copilot-service.js.map +1 -1
  151. package/dist/services/index.d.ts.map +1 -1
  152. package/dist/services/index.js +1 -0
  153. package/dist/services/index.js.map +1 -1
  154. package/dist/tools/convert-directory.d.ts +4 -2
  155. package/dist/tools/convert-directory.d.ts.map +1 -1
  156. package/dist/tools/convert-directory.js +4 -4
  157. package/dist/tools/convert-directory.js.map +1 -1
  158. package/dist/tools/methodology-schema-parity.js.map +1 -1
  159. package/dist/tools/runtime-assets.js.map +1 -1
  160. package/dist/types/multi-lang-types.d.ts.map +1 -1
  161. package/dist/types/multi-lang-types.js +2 -0
  162. package/dist/types/multi-lang-types.js.map +1 -1
  163. package/dist/types/tidas_flowproperties.d.ts.map +1 -1
  164. package/dist/types/tidas_flows.d.ts +2 -2
  165. package/dist/types/tidas_flows.d.ts.map +1 -1
  166. package/dist/types/tidas_flows_elementary_category.d.ts +40 -0
  167. package/dist/types/tidas_flows_elementary_category.d.ts.map +1 -1
  168. package/dist/types/tidas_lciamethods.d.ts.map +1 -1
  169. package/dist/types/tidas_lifecyclemodels.d.ts.map +1 -1
  170. package/dist/types/tidas_processes.d.ts.map +1 -1
  171. package/dist/types/tidas_unitgroups.d.ts.map +1 -1
  172. package/dist/utils/diff.d.ts.map +1 -1
  173. package/dist/utils/diff.js +13 -13
  174. package/dist/utils/diff.js.map +1 -1
  175. package/dist/utils/markdown.js.map +1 -1
  176. package/dist/utils/object-utils.js.map +1 -1
  177. package/dist/utils/uuid.js.map +1 -1
  178. package/dist/xml/index.d.ts +3 -2
  179. package/dist/xml/index.d.ts.map +1 -1
  180. package/dist/xml/index.js +1 -1
  181. package/dist/xml/index.js.map +1 -1
  182. package/package.json +38 -45
@@ -1,17 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ProcessesSchema = void 0;
4
- // Generated by ts-to-zod
4
+ // Generated directly from TIDAS JSON Schema: tidas_processes.json
5
5
  const zod_1 = require("zod");
6
+ const json_schema_1 = require("./../core/validation/json-schema");
6
7
  const tidas_data_types_schema_1 = require("./tidas_data_types.schema");
7
8
  const tidas_locations_category_schema_1 = require("./tidas_locations_category.schema");
9
+ const tidas_processes_category_schema_1 = require("./tidas_processes_category.schema");
8
10
  exports.ProcessesSchema = zod_1.z.object({
9
11
  processDataSet: zod_1.z.object({
10
- '@xmlns:common': zod_1.z.literal('http://lca.jrc.it/ILCD/Common'),
11
- '@xmlns': zod_1.z.literal('http://lca.jrc.it/ILCD/Process'),
12
- '@xmlns:xsi': zod_1.z.literal('http://www.w3.org/2001/XMLSchema-instance'),
13
- '@version': zod_1.z.literal('1.1'),
14
- '@locations': zod_1.z.literal('../ILCDLocations.xml'),
12
+ '@xmlns:common': zod_1.z.intersection(zod_1.z.literal('http://lca.jrc.it/ILCD/Common'), zod_1.z.string()),
13
+ '@xmlns': zod_1.z.intersection(zod_1.z.literal('http://lca.jrc.it/ILCD/Process'), zod_1.z.string()),
14
+ '@xmlns:xsi': zod_1.z.intersection(zod_1.z.literal('http://www.w3.org/2001/XMLSchema-instance'), zod_1.z.string()),
15
+ '@version': zod_1.z.intersection(zod_1.z.literal('1.1'), zod_1.z.string()),
16
+ '@locations': zod_1.z.intersection(zod_1.z.literal('../ILCDLocations.xml'), zod_1.z.string()),
15
17
  '@xsi:schemaLocation': zod_1.z.string(),
16
18
  processInformation: zod_1.z.object({
17
19
  dataSetInformation: zod_1.z.object({
@@ -33,42 +35,46 @@ exports.ProcessesSchema = zod_1.z.object({
33
35
  classificationInformation: zod_1.z.object({
34
36
  'common:classification': zod_1.z.union([
35
37
  zod_1.z.object({
36
- 'common:class': zod_1.z.tuple([
37
- zod_1.z.object({
38
- '@level': tidas_data_types_schema_1.LevelTypeSchema,
38
+ 'common:class': (0, json_schema_1.jsonSchemaTuple)([
39
+ (0, json_schema_1.withJsonSchemaDependencies)(zod_1.z.object({
40
+ '@level': zod_1.z.intersection(zod_1.z.literal('0'), tidas_data_types_schema_1.LevelTypeSchema),
39
41
  '@classId': zod_1.z.string(),
40
42
  '#text': zod_1.z.string(),
41
- }),
42
- zod_1.z.object({
43
- '@level': tidas_data_types_schema_1.LevelTypeSchema,
43
+ }), [{ property: '@level', schema: tidas_processes_category_schema_1.ProcessesCategorySchema }]),
44
+ (0, json_schema_1.withJsonSchemaDependencies)(zod_1.z.object({
45
+ '@level': zod_1.z.intersection(zod_1.z.literal('1'), tidas_data_types_schema_1.LevelTypeSchema),
44
46
  '@classId': zod_1.z.string(),
45
47
  '#text': zod_1.z.string(),
46
- }),
47
- zod_1.z.object({
48
- '@level': tidas_data_types_schema_1.LevelTypeSchema,
48
+ }), [{ property: '@level', schema: tidas_processes_category_schema_1.ProcessesCategorySchema }]),
49
+ (0, json_schema_1.withJsonSchemaDependencies)(zod_1.z.object({
50
+ '@level': zod_1.z.intersection(zod_1.z.literal('2'), tidas_data_types_schema_1.LevelTypeSchema),
49
51
  '@classId': zod_1.z.string(),
50
52
  '#text': zod_1.z.string(),
51
- }),
52
- zod_1.z.object({
53
- '@level': tidas_data_types_schema_1.LevelTypeSchema,
53
+ }), [{ property: '@level', schema: tidas_processes_category_schema_1.ProcessesCategorySchema }]),
54
+ (0, json_schema_1.withJsonSchemaDependencies)(zod_1.z.object({
55
+ '@level': zod_1.z.intersection(zod_1.z.literal('3'), tidas_data_types_schema_1.LevelTypeSchema),
54
56
  '@classId': zod_1.z.string(),
55
57
  '#text': zod_1.z.string(),
56
- }),
57
- ]),
58
+ }), [{ property: '@level', schema: tidas_processes_category_schema_1.ProcessesCategorySchema }]),
59
+ ], { additionalItems: false, maxItems: 4, uniqueItems: true }),
58
60
  'common:other': tidas_data_types_schema_1.CommonOtherSchema.optional(),
59
61
  '@name': zod_1.z.string().optional(),
60
62
  '@classes': zod_1.z.string().optional(),
61
63
  }),
62
- zod_1.z.array(zod_1.z.object({
64
+ zod_1.z
65
+ .array(zod_1.z.object({
63
66
  '@name': zod_1.z.string(),
64
67
  '@classes': zod_1.z.string().optional(),
65
- 'common:class': zod_1.z.array(zod_1.z.object({
68
+ 'common:class': zod_1.z
69
+ .array(zod_1.z.object({
66
70
  '@level': tidas_data_types_schema_1.LevelTypeSchema,
67
71
  '@classId': zod_1.z.string(),
68
72
  '#text': zod_1.z.string(),
69
- })),
73
+ }))
74
+ .min(1),
70
75
  'common:other': tidas_data_types_schema_1.CommonOtherSchema.optional(),
71
- })),
76
+ }))
77
+ .min(1),
72
78
  ]),
73
79
  }),
74
80
  'common:generalComment': tidas_data_types_schema_1.FTMultiLangSchema,
@@ -76,12 +82,12 @@ exports.ProcessesSchema = zod_1.z.object({
76
82
  'common:other': tidas_data_types_schema_1.CommonOtherSchema.optional(),
77
83
  }),
78
84
  quantitativeReference: zod_1.z.object({
79
- '@type': zod_1.z.union([
85
+ '@type': zod_1.z.intersection(zod_1.z.union([
80
86
  zod_1.z.literal('Reference flow(s)'),
81
87
  zod_1.z.literal('Functional unit'),
82
88
  zod_1.z.literal('Other parameter'),
83
89
  zod_1.z.literal('Production period'),
84
- ]),
90
+ ]), zod_1.z.string()),
85
91
  referenceToReferenceFlow: tidas_data_types_schema_1.Int6Schema,
86
92
  functionalUnitOrOther: tidas_data_types_schema_1.StringMultiLangSchema.optional(),
87
93
  'common:other': tidas_data_types_schema_1.CommonOtherSchema.optional(),
@@ -130,13 +136,13 @@ exports.ProcessesSchema = zod_1.z.object({
130
136
  minimumValue: tidas_data_types_schema_1.RealSchema.optional(),
131
137
  maximumValue: tidas_data_types_schema_1.RealSchema.optional(),
132
138
  uncertaintyDistributionType: zod_1.z
133
- .union([
139
+ .intersection(zod_1.z.union([
134
140
  zod_1.z.literal('undefined'),
135
141
  zod_1.z.literal('log-normal'),
136
142
  zod_1.z.literal('normal'),
137
143
  zod_1.z.literal('triangular'),
138
144
  zod_1.z.literal('uniform'),
139
- ])
145
+ ]), zod_1.z.string())
140
146
  .optional(),
141
147
  relativeStandardDeviation95In: tidas_data_types_schema_1.PercSchema.optional(),
142
148
  comment: tidas_data_types_schema_1.StringMultiLangSchema.optional(),
@@ -150,25 +156,25 @@ exports.ProcessesSchema = zod_1.z.object({
150
156
  }),
151
157
  modellingAndValidation: zod_1.z.object({
152
158
  LCIMethodAndAllocation: zod_1.z.object({
153
- typeOfDataSet: zod_1.z.union([
159
+ typeOfDataSet: zod_1.z.intersection(zod_1.z.union([
154
160
  zod_1.z.literal('Unit process, single operation'),
155
161
  zod_1.z.literal('Unit process, black box'),
156
162
  zod_1.z.literal('LCI result'),
157
163
  zod_1.z.literal('Partly terminated system'),
158
164
  zod_1.z.literal('Avoided product system'),
159
- ]),
165
+ ]), zod_1.z.string()),
160
166
  LCIMethodPrinciple: zod_1.z
161
- .union([
167
+ .intersection(zod_1.z.union([
162
168
  zod_1.z.literal('Attributional'),
163
169
  zod_1.z.literal('Consequential'),
164
170
  zod_1.z.literal('Consequential with attributional components'),
165
171
  zod_1.z.literal('Not applicable'),
166
172
  zod_1.z.literal('Other'),
167
- ])
173
+ ]), zod_1.z.string())
168
174
  .optional(),
169
175
  deviationsFromLCIMethodPrinciple: tidas_data_types_schema_1.FTMultiLangSchema.optional(),
170
176
  LCIMethodApproaches: zod_1.z
171
- .union([
177
+ .intersection(zod_1.z.union([
172
178
  zod_1.z.literal('Allocation - market value'),
173
179
  zod_1.z.literal('Allocation - gross calorific value'),
174
180
  zod_1.z.literal('Allocation - net calorific value'),
@@ -192,7 +198,7 @@ exports.ProcessesSchema = zod_1.z.object({
192
198
  zod_1.z.literal('Consequential effects - other'),
193
199
  zod_1.z.literal('Not applicable'),
194
200
  zod_1.z.literal('Other'),
195
- ])
201
+ ]), zod_1.z.string())
196
202
  .optional(),
197
203
  deviationsFromLCIMethodApproaches: tidas_data_types_schema_1.FTMultiLangSchema.optional(),
198
204
  modellingConstants: tidas_data_types_schema_1.FTMultiLangSchema.optional(),
@@ -222,18 +228,18 @@ exports.ProcessesSchema = zod_1.z.object({
222
228
  completeness: zod_1.z
223
229
  .object({
224
230
  completenessProductModel: zod_1.z
225
- .union([
231
+ .intersection(zod_1.z.union([
226
232
  zod_1.z.literal('All relevant flows quantified'),
227
233
  zod_1.z.literal('Relevant flows missing'),
228
234
  zod_1.z.literal('Topic not relevant'),
229
235
  zod_1.z.literal('No statement'),
230
- ])
236
+ ]), zod_1.z.string())
231
237
  .optional(),
232
238
  referenceToSupportedImpactAssessmentMethods: tidas_data_types_schema_1.GlobalReferenceTypeSchema.optional(),
233
239
  completenessElementaryFlows: zod_1.z
234
240
  .object({
235
241
  '@type': zod_1.z
236
- .union([
242
+ .intersection(zod_1.z.union([
237
243
  zod_1.z.literal('Climate change'),
238
244
  zod_1.z.literal('Ozone depletion'),
239
245
  zod_1.z.literal('Summer smog'),
@@ -252,15 +258,15 @@ exports.ProcessesSchema = zod_1.z.object({
252
258
  zod_1.z.literal('Particulate matter/respiratory inorganics'),
253
259
  zod_1.z.literal('Species depletion'),
254
260
  zod_1.z.literal('Noise'),
255
- ])
261
+ ]), zod_1.z.string())
256
262
  .optional(),
257
263
  '@value': zod_1.z
258
- .union([
264
+ .intersection(zod_1.z.union([
259
265
  zod_1.z.literal('All relevant flows quantified'),
260
266
  zod_1.z.literal('Relevant flows missing'),
261
267
  zod_1.z.literal('Topic not relevant'),
262
268
  zod_1.z.literal('No statement'),
263
- ])
269
+ ]), zod_1.z.string())
264
270
  .optional(),
265
271
  })
266
272
  .optional(),
@@ -269,19 +275,19 @@ exports.ProcessesSchema = zod_1.z.object({
269
275
  })
270
276
  .optional(),
271
277
  validation: zod_1.z.object({
272
- review: zod_1.z.object({
273
- '@type': zod_1.z.union([
278
+ review: (0, json_schema_1.withJsonSchemaConditional)(zod_1.z.object({
279
+ '@type': zod_1.z.intersection(zod_1.z.union([
274
280
  zod_1.z.literal('Dependent internal review'),
275
281
  zod_1.z.literal('Independent internal review'),
276
282
  zod_1.z.literal('Independent external review'),
277
283
  zod_1.z.literal('Accredited third party review'),
278
284
  zod_1.z.literal('Independent review panel'),
279
285
  zod_1.z.literal('Not reviewed'),
280
- ]),
286
+ ]), zod_1.z.string()),
281
287
  'common:scope': zod_1.z
282
288
  .union([
283
289
  zod_1.z.object({
284
- '@name': zod_1.z.union([
290
+ '@name': zod_1.z.intersection(zod_1.z.union([
285
291
  zod_1.z.literal('Raw data'),
286
292
  zod_1.z.literal('Unit process(es), single operation'),
287
293
  zod_1.z.literal('Unit process(es), black box'),
@@ -291,10 +297,10 @@ exports.ProcessesSchema = zod_1.z.object({
291
297
  zod_1.z.literal('Life cycle inventory methods'),
292
298
  zod_1.z.literal('LCIA results calculation'),
293
299
  zod_1.z.literal('Goal and scope definition'),
294
- ]),
300
+ ]), zod_1.z.string()),
295
301
  'common:method': zod_1.z.union([
296
302
  zod_1.z.object({
297
- '@name': zod_1.z.union([
303
+ '@name': zod_1.z.intersection(zod_1.z.union([
298
304
  zod_1.z.literal('Validation of data sources'),
299
305
  zod_1.z.literal('Sample tests on calculations'),
300
306
  zod_1.z.literal('Energy balance'),
@@ -307,10 +313,10 @@ exports.ProcessesSchema = zod_1.z.object({
307
313
  zod_1.z.literal('Compliance with ISO 14040 to 14044'),
308
314
  zod_1.z.literal('Documentation'),
309
315
  zod_1.z.literal('Evidence collection by means of plant visits and/or interviews'),
310
- ]),
316
+ ]), zod_1.z.string()),
311
317
  }),
312
318
  zod_1.z.array(zod_1.z.object({
313
- '@name': zod_1.z.union([
319
+ '@name': zod_1.z.intersection(zod_1.z.union([
314
320
  zod_1.z.literal('Validation of data sources'),
315
321
  zod_1.z.literal('Sample tests on calculations'),
316
322
  zod_1.z.literal('Energy balance'),
@@ -323,12 +329,12 @@ exports.ProcessesSchema = zod_1.z.object({
323
329
  zod_1.z.literal('Compliance with ISO 14040 to 14044'),
324
330
  zod_1.z.literal('Documentation'),
325
331
  zod_1.z.literal('Evidence collection by means of plant visits and/or interviews'),
326
- ]),
332
+ ]), zod_1.z.string()),
327
333
  })),
328
334
  ]),
329
335
  }),
330
336
  zod_1.z.array(zod_1.z.object({
331
- '@name': zod_1.z.union([
337
+ '@name': zod_1.z.intersection(zod_1.z.union([
332
338
  zod_1.z.literal('Raw data'),
333
339
  zod_1.z.literal('Unit process(es), single operation'),
334
340
  zod_1.z.literal('Unit process(es), black box'),
@@ -338,10 +344,10 @@ exports.ProcessesSchema = zod_1.z.object({
338
344
  zod_1.z.literal('Life cycle inventory methods'),
339
345
  zod_1.z.literal('LCIA results calculation'),
340
346
  zod_1.z.literal('Goal and scope definition'),
341
- ]),
347
+ ]), zod_1.z.string()),
342
348
  'common:method': zod_1.z.union([
343
349
  zod_1.z.object({
344
- '@name': zod_1.z.union([
350
+ '@name': zod_1.z.intersection(zod_1.z.union([
345
351
  zod_1.z.literal('Validation of data sources'),
346
352
  zod_1.z.literal('Sample tests on calculations'),
347
353
  zod_1.z.literal('Energy balance'),
@@ -354,10 +360,10 @@ exports.ProcessesSchema = zod_1.z.object({
354
360
  zod_1.z.literal('Compliance with ISO 14040 to 14044'),
355
361
  zod_1.z.literal('Documentation'),
356
362
  zod_1.z.literal('Evidence collection by means of plant visits and/or interviews'),
357
- ]),
363
+ ]), zod_1.z.string()),
358
364
  }),
359
365
  zod_1.z.array(zod_1.z.object({
360
- '@name': zod_1.z.union([
366
+ '@name': zod_1.z.intersection(zod_1.z.union([
361
367
  zod_1.z.literal('Validation of data sources'),
362
368
  zod_1.z.literal('Sample tests on calculations'),
363
369
  zod_1.z.literal('Energy balance'),
@@ -370,7 +376,7 @@ exports.ProcessesSchema = zod_1.z.object({
370
376
  zod_1.z.literal('Compliance with ISO 14040 to 14044'),
371
377
  zod_1.z.literal('Documentation'),
372
378
  zod_1.z.literal('Evidence collection by means of plant visits and/or interviews'),
373
- ]),
379
+ ]), zod_1.z.string()),
374
380
  })),
375
381
  ]),
376
382
  })),
@@ -380,7 +386,7 @@ exports.ProcessesSchema = zod_1.z.object({
380
386
  .object({
381
387
  'common:dataQualityIndicator': zod_1.z.union([
382
388
  zod_1.z.object({
383
- '@name': zod_1.z.union([
389
+ '@name': zod_1.z.intersection(zod_1.z.union([
384
390
  zod_1.z.literal('Technological representativeness'),
385
391
  zod_1.z.literal('Time representativeness'),
386
392
  zod_1.z.literal('Geographical representativeness'),
@@ -388,8 +394,8 @@ exports.ProcessesSchema = zod_1.z.object({
388
394
  zod_1.z.literal('Precision'),
389
395
  zod_1.z.literal('Methodological appropriateness and consistency'),
390
396
  zod_1.z.literal('Overall quality'),
391
- ]),
392
- '@value': zod_1.z.union([
397
+ ]), zod_1.z.string()),
398
+ '@value': zod_1.z.intersection(zod_1.z.union([
393
399
  zod_1.z.literal('Very good'),
394
400
  zod_1.z.literal('Good'),
395
401
  zod_1.z.literal('Fair'),
@@ -397,10 +403,10 @@ exports.ProcessesSchema = zod_1.z.object({
397
403
  zod_1.z.literal('Very poor'),
398
404
  zod_1.z.literal('Not evaluated / unknown'),
399
405
  zod_1.z.literal('Not applicable'),
400
- ]),
406
+ ]), zod_1.z.string()),
401
407
  }),
402
408
  zod_1.z.array(zod_1.z.object({
403
- '@name': zod_1.z.union([
409
+ '@name': zod_1.z.intersection(zod_1.z.union([
404
410
  zod_1.z.literal('Technological representativeness'),
405
411
  zod_1.z.literal('Time representativeness'),
406
412
  zod_1.z.literal('Geographical representativeness'),
@@ -408,8 +414,8 @@ exports.ProcessesSchema = zod_1.z.object({
408
414
  zod_1.z.literal('Precision'),
409
415
  zod_1.z.literal('Methodological appropriateness and consistency'),
410
416
  zod_1.z.literal('Overall quality'),
411
- ]),
412
- '@value': zod_1.z.union([
417
+ ]), zod_1.z.string()),
418
+ '@value': zod_1.z.intersection(zod_1.z.union([
413
419
  zod_1.z.literal('Very good'),
414
420
  zod_1.z.literal('Good'),
415
421
  zod_1.z.literal('Fair'),
@@ -417,7 +423,7 @@ exports.ProcessesSchema = zod_1.z.object({
417
423
  zod_1.z.literal('Very poor'),
418
424
  zod_1.z.literal('Not evaluated / unknown'),
419
425
  zod_1.z.literal('Not applicable'),
420
- ]),
426
+ ]), zod_1.z.string()),
421
427
  })),
422
428
  ]),
423
429
  })
@@ -427,79 +433,86 @@ exports.ProcessesSchema = zod_1.z.object({
427
433
  'common:otherReviewDetails': tidas_data_types_schema_1.FTMultiLangSchema.optional(),
428
434
  'common:referenceToCompleteReviewReport': tidas_data_types_schema_1.GlobalReferenceTypeSchema.optional(),
429
435
  'common:other': tidas_data_types_schema_1.CommonOtherSchema.optional(),
430
- }),
436
+ }), zod_1.z.object({ '@type': zod_1.z.literal('Not reviewed').optional() }), zod_1.z.unknown(), zod_1.z.object({
437
+ 'common:scope': zod_1.z.unknown(),
438
+ 'common:reviewDetails': zod_1.z.unknown(),
439
+ 'common:referenceToNameOfReviewerAndInstitution': zod_1.z.unknown(),
440
+ 'common:referenceToCompleteReviewReport': zod_1.z.unknown(),
441
+ })),
431
442
  'common:other': tidas_data_types_schema_1.CommonOtherSchema.optional(),
432
443
  }),
433
444
  complianceDeclarations: zod_1.z.object({
434
445
  compliance: zod_1.z.union([
435
446
  zod_1.z.object({
436
447
  'common:referenceToComplianceSystem': tidas_data_types_schema_1.GlobalReferenceTypeSchema,
437
- 'common:approvalOfOverallCompliance': zod_1.z.union([
448
+ 'common:approvalOfOverallCompliance': zod_1.z.intersection(zod_1.z.union([
438
449
  zod_1.z.literal('Fully compliant'),
439
450
  zod_1.z.literal('Not compliant'),
440
451
  zod_1.z.literal('Not defined'),
441
- ]),
442
- 'common:nomenclatureCompliance': zod_1.z.union([
452
+ ]), zod_1.z.string()),
453
+ 'common:nomenclatureCompliance': zod_1.z.intersection(zod_1.z.union([
443
454
  zod_1.z.literal('Fully compliant'),
444
455
  zod_1.z.literal('Not compliant'),
445
456
  zod_1.z.literal('Not defined'),
446
- ]),
447
- 'common:methodologicalCompliance': zod_1.z.union([
457
+ ]), zod_1.z.string()),
458
+ 'common:methodologicalCompliance': zod_1.z.intersection(zod_1.z.union([
448
459
  zod_1.z.literal('Fully compliant'),
449
460
  zod_1.z.literal('Not compliant'),
450
461
  zod_1.z.literal('Not defined'),
451
- ]),
452
- 'common:reviewCompliance': zod_1.z.union([
462
+ ]), zod_1.z.string()),
463
+ 'common:reviewCompliance': zod_1.z.intersection(zod_1.z.union([
453
464
  zod_1.z.literal('Fully compliant'),
454
465
  zod_1.z.literal('Not compliant'),
455
466
  zod_1.z.literal('Not defined'),
456
- ]),
457
- 'common:documentationCompliance': zod_1.z.union([
467
+ ]), zod_1.z.string()),
468
+ 'common:documentationCompliance': zod_1.z.intersection(zod_1.z.union([
458
469
  zod_1.z.literal('Fully compliant'),
459
470
  zod_1.z.literal('Not compliant'),
460
471
  zod_1.z.literal('Not defined'),
461
- ]),
462
- 'common:qualityCompliance': zod_1.z.union([
472
+ ]), zod_1.z.string()),
473
+ 'common:qualityCompliance': zod_1.z.intersection(zod_1.z.union([
463
474
  zod_1.z.literal('Fully compliant'),
464
475
  zod_1.z.literal('Not compliant'),
465
476
  zod_1.z.literal('Not defined'),
466
- ]),
477
+ ]), zod_1.z.string()),
467
478
  'common:other': tidas_data_types_schema_1.CommonOtherSchema.optional(),
468
479
  }),
469
- zod_1.z.array(zod_1.z.object({
480
+ zod_1.z
481
+ .array(zod_1.z.object({
470
482
  'common:referenceToComplianceSystem': tidas_data_types_schema_1.GlobalReferenceTypeSchema,
471
- 'common:approvalOfOverallCompliance': zod_1.z.union([
483
+ 'common:approvalOfOverallCompliance': zod_1.z.intersection(zod_1.z.union([
472
484
  zod_1.z.literal('Fully compliant'),
473
485
  zod_1.z.literal('Not compliant'),
474
486
  zod_1.z.literal('Not defined'),
475
- ]),
476
- 'common:nomenclatureCompliance': zod_1.z.union([
487
+ ]), zod_1.z.string()),
488
+ 'common:nomenclatureCompliance': zod_1.z.intersection(zod_1.z.union([
477
489
  zod_1.z.literal('Fully compliant'),
478
490
  zod_1.z.literal('Not compliant'),
479
491
  zod_1.z.literal('Not defined'),
480
- ]),
481
- 'common:methodologicalCompliance': zod_1.z.union([
492
+ ]), zod_1.z.string()),
493
+ 'common:methodologicalCompliance': zod_1.z.intersection(zod_1.z.union([
482
494
  zod_1.z.literal('Fully compliant'),
483
495
  zod_1.z.literal('Not compliant'),
484
496
  zod_1.z.literal('Not defined'),
485
- ]),
486
- 'common:reviewCompliance': zod_1.z.union([
497
+ ]), zod_1.z.string()),
498
+ 'common:reviewCompliance': zod_1.z.intersection(zod_1.z.union([
487
499
  zod_1.z.literal('Fully compliant'),
488
500
  zod_1.z.literal('Not compliant'),
489
501
  zod_1.z.literal('Not defined'),
490
- ]),
491
- 'common:documentationCompliance': zod_1.z.union([
502
+ ]), zod_1.z.string()),
503
+ 'common:documentationCompliance': zod_1.z.intersection(zod_1.z.union([
492
504
  zod_1.z.literal('Fully compliant'),
493
505
  zod_1.z.literal('Not compliant'),
494
506
  zod_1.z.literal('Not defined'),
495
- ]),
496
- 'common:qualityCompliance': zod_1.z.union([
507
+ ]), zod_1.z.string()),
508
+ 'common:qualityCompliance': zod_1.z.intersection(zod_1.z.union([
497
509
  zod_1.z.literal('Fully compliant'),
498
510
  zod_1.z.literal('Not compliant'),
499
511
  zod_1.z.literal('Not defined'),
500
- ]),
512
+ ]), zod_1.z.string()),
501
513
  'common:other': tidas_data_types_schema_1.CommonOtherSchema.optional(),
502
- })),
514
+ }))
515
+ .min(1),
503
516
  ]),
504
517
  'common:other': tidas_data_types_schema_1.CommonOtherSchema.optional(),
505
518
  }),
@@ -527,12 +540,14 @@ exports.ProcessesSchema = zod_1.z.object({
527
540
  'common:other': tidas_data_types_schema_1.CommonOtherSchema.optional(),
528
541
  }),
529
542
  publicationAndOwnership: zod_1.z.object({
530
- 'common:dateOfLastRevision': zod_1.z.string().optional(),
543
+ 'common:dateOfLastRevision': zod_1.z.iso
544
+ .datetime({ offset: true })
545
+ .optional(),
531
546
  'common:dataSetVersion': tidas_data_types_schema_1.VersionSchema,
532
547
  'common:referenceToPrecedingDataSetVersion': tidas_data_types_schema_1.GlobalReferenceTypeSchema.optional(),
533
- 'common:permanentDataSetURI': zod_1.z.string(),
548
+ 'common:permanentDataSetURI': zod_1.z.url(),
534
549
  'common:workflowAndPublicationStatus': zod_1.z
535
- .union([
550
+ .intersection(zod_1.z.union([
536
551
  zod_1.z.literal('Working draft'),
537
552
  zod_1.z.literal('Final draft for internal review'),
538
553
  zod_1.z.literal('Final draft for external review'),
@@ -541,21 +556,21 @@ exports.ProcessesSchema = zod_1.z.object({
541
556
  zod_1.z.literal('Withdrawn'),
542
557
  zod_1.z.literal('Data set finalised; subsystems published'),
543
558
  zod_1.z.literal('Data set finalised; entirely published'),
544
- ])
559
+ ]), zod_1.z.string())
545
560
  .optional(),
546
561
  'common:referenceToUnchangedRepublication': tidas_data_types_schema_1.GlobalReferenceTypeSchema.optional(),
547
562
  'common:referenceToRegistrationAuthority': tidas_data_types_schema_1.GlobalReferenceTypeSchema.optional(),
548
563
  'common:registrationNumber': tidas_data_types_schema_1.StringSchema.optional(),
549
564
  'common:referenceToOwnershipOfDataSet': tidas_data_types_schema_1.GlobalReferenceTypeSchema,
550
- 'common:copyright': zod_1.z.union([zod_1.z.literal('true'), zod_1.z.literal('false')]),
565
+ 'common:copyright': zod_1.z.intersection(zod_1.z.union([zod_1.z.literal('true'), zod_1.z.literal('false')]), zod_1.z.string()),
551
566
  'common:referenceToEntitiesWithExclusiveAccess': tidas_data_types_schema_1.GlobalReferenceTypeSchema.optional(),
552
- 'common:licenseType': zod_1.z.union([
567
+ 'common:licenseType': zod_1.z.intersection(zod_1.z.union([
553
568
  zod_1.z.literal('Free of charge for all users and uses'),
554
569
  zod_1.z.literal('Free of charge for some user types or use types'),
555
570
  zod_1.z.literal('Free of charge for members only'),
556
571
  zod_1.z.literal('License fee'),
557
572
  zod_1.z.literal('Other'),
558
- ]),
573
+ ]), zod_1.z.string()),
559
574
  'common:accessRestrictions': tidas_data_types_schema_1.FTMultiLangSchema.optional(),
560
575
  'common:other': tidas_data_types_schema_1.CommonOtherSchema.optional(),
561
576
  }),
@@ -567,26 +582,26 @@ exports.ProcessesSchema = zod_1.z.object({
567
582
  referenceToFlowDataSet: tidas_data_types_schema_1.GlobalReferenceTypeSchema,
568
583
  location: zod_1.z.union([tidas_locations_category_schema_1.LocationsCategorySchema, tidas_data_types_schema_1.StringSchema]).optional(),
569
584
  functionType: zod_1.z
570
- .union([
585
+ .intersection(zod_1.z.union([
571
586
  zod_1.z.literal('General reminder flow'),
572
587
  zod_1.z.literal('Allocation reminder flow'),
573
588
  zod_1.z.literal('System expansion reminder flow'),
574
- ])
589
+ ]), zod_1.z.string())
575
590
  .optional(),
576
- exchangeDirection: zod_1.z.union([zod_1.z.literal('Input'), zod_1.z.literal('Output')]),
591
+ exchangeDirection: zod_1.z.intersection(zod_1.z.union([zod_1.z.literal('Input'), zod_1.z.literal('Output')]), zod_1.z.string()),
577
592
  referenceToVariable: tidas_data_types_schema_1.StringSchema.optional(),
578
593
  meanAmount: tidas_data_types_schema_1.RealSchema,
579
594
  resultingAmount: tidas_data_types_schema_1.RealSchema,
580
595
  minimumAmount: tidas_data_types_schema_1.RealSchema.optional(),
581
596
  maximumAmount: tidas_data_types_schema_1.RealSchema.optional(),
582
597
  uncertaintyDistributionType: zod_1.z
583
- .union([
598
+ .intersection(zod_1.z.union([
584
599
  zod_1.z.literal('undefined'),
585
600
  zod_1.z.literal('log-normal'),
586
601
  zod_1.z.literal('normal'),
587
602
  zod_1.z.literal('triangular'),
588
603
  zod_1.z.literal('uniform'),
589
- ])
604
+ ]), zod_1.z.string())
590
605
  .optional(),
591
606
  relativeStandardDeviation95In: tidas_data_types_schema_1.PercSchema.optional(),
592
607
  allocations: zod_1.z
@@ -606,21 +621,21 @@ exports.ProcessesSchema = zod_1.z.object({
606
621
  })
607
622
  .optional(),
608
623
  dataSourceType: zod_1.z
609
- .union([
624
+ .intersection(zod_1.z.union([
610
625
  zod_1.z.literal('Primary'),
611
626
  zod_1.z.literal('> 90% primary'),
612
627
  zod_1.z.literal('Mixed primary / secondary'),
613
628
  zod_1.z.literal('Secondary'),
614
- ])
629
+ ]), zod_1.z.string())
615
630
  .optional(),
616
- dataDerivationTypeStatus: zod_1.z.union([
631
+ dataDerivationTypeStatus: zod_1.z.intersection(zod_1.z.union([
617
632
  zod_1.z.literal('Measured'),
618
633
  zod_1.z.literal('Calculated'),
619
634
  zod_1.z.literal('Estimated'),
620
635
  zod_1.z.literal('Unknown derivation'),
621
636
  zod_1.z.literal('Missing important'),
622
637
  zod_1.z.literal('Missing unimportant'),
623
- ]),
638
+ ]), zod_1.z.string()),
624
639
  referencesToDataSource: zod_1.z
625
640
  .object({
626
641
  referenceToDataSource: tidas_data_types_schema_1.GlobalReferenceTypeSchema.optional(),
@@ -634,42 +649,42 @@ exports.ProcessesSchema = zod_1.z.object({
634
649
  }),
635
650
  LCIAResults: zod_1.z
636
651
  .object({
637
- LCIAResult: zod_1.z
638
- .union([
652
+ LCIAResult: (0, json_schema_1.jsonSchemaOneOf)([
639
653
  zod_1.z.object({
640
654
  referenceToLCIAMethodDataSet: tidas_data_types_schema_1.GlobalReferenceTypeSchema.optional(),
641
655
  meanAmount: tidas_data_types_schema_1.RealSchema,
642
656
  uncertaintyDistributionType: zod_1.z
643
- .union([
657
+ .intersection(zod_1.z.union([
644
658
  zod_1.z.literal('undefined'),
645
659
  zod_1.z.literal('log-normal'),
646
660
  zod_1.z.literal('normal'),
647
661
  zod_1.z.literal('triangular'),
648
662
  zod_1.z.literal('uniform'),
649
- ])
663
+ ]), zod_1.z.string())
650
664
  .optional(),
651
665
  relativeStandardDeviation95In: tidas_data_types_schema_1.PercSchema.optional(),
652
666
  generalComment: tidas_data_types_schema_1.StringMultiLangSchema.optional(),
653
667
  'common:other': tidas_data_types_schema_1.CommonOtherSchema.optional(),
654
668
  }),
655
- zod_1.z.array(zod_1.z.object({
669
+ zod_1.z
670
+ .array(zod_1.z.object({
656
671
  referenceToLCIAMethodDataSet: tidas_data_types_schema_1.GlobalReferenceTypeSchema.optional(),
657
672
  meanAmount: tidas_data_types_schema_1.RealSchema,
658
673
  uncertaintyDistributionType: zod_1.z
659
- .union([
674
+ .intersection(zod_1.z.union([
660
675
  zod_1.z.literal('undefined'),
661
676
  zod_1.z.literal('log-normal'),
662
677
  zod_1.z.literal('normal'),
663
678
  zod_1.z.literal('triangular'),
664
679
  zod_1.z.literal('uniform'),
665
- ])
680
+ ]), zod_1.z.string())
666
681
  .optional(),
667
682
  relativeStandardDeviation95In: tidas_data_types_schema_1.PercSchema.optional(),
668
683
  generalComment: tidas_data_types_schema_1.StringMultiLangSchema.optional(),
669
684
  'common:other': tidas_data_types_schema_1.CommonOtherSchema.optional(),
670
- })),
671
- ])
672
- .optional(),
685
+ }))
686
+ .min(1),
687
+ ]).optional(),
673
688
  'common:other': tidas_data_types_schema_1.CommonOtherSchema.optional(),
674
689
  })
675
690
  .optional(),