@uncefact/untp-utils 0.2.0 → 0.4.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 (262) hide show
  1. package/README.md +40 -12
  2. package/artefacts/context/untp/0.6.0/dcc.json +1241 -0
  3. package/artefacts/context/untp/0.6.0/dfr.json +619 -0
  4. package/artefacts/context/untp/0.6.0/dia.json +162 -0
  5. package/artefacts/context/untp/0.6.0/dpp.json +1078 -0
  6. package/artefacts/context/untp/0.6.0/dte.json +1285 -0
  7. package/artefacts/context/untp/0.6.1/dcc.json +1388 -0
  8. package/artefacts/context/untp/0.6.1/dfr.json +690 -0
  9. package/artefacts/context/untp/0.6.1/dia.json +196 -0
  10. package/artefacts/context/untp/0.6.1/dpp.json +1164 -0
  11. package/artefacts/context/untp/0.6.1/dte.json +1340 -0
  12. package/artefacts/context/untp/0.7.0/untp.json +3493 -0
  13. package/artefacts/context/vcdm/2/credentials.json +301 -0
  14. package/artefacts/manifest.json +214 -0
  15. package/artefacts/schema/untp/0.6.0/dcc.json +1131 -0
  16. package/artefacts/schema/untp/0.6.0/dfr.json +1028 -0
  17. package/artefacts/schema/untp/0.6.0/dia.json +236 -0
  18. package/artefacts/schema/untp/0.6.0/dpp.json +1219 -0
  19. package/artefacts/schema/untp/0.6.0/dte.json +845 -0
  20. package/artefacts/schema/untp/0.6.1/dcc.json +1196 -0
  21. package/artefacts/schema/untp/0.6.1/dfr.json +1037 -0
  22. package/artefacts/schema/untp/0.6.1/dia.json +236 -0
  23. package/artefacts/schema/untp/0.6.1/dpp.json +1229 -0
  24. package/artefacts/schema/untp/0.6.1/dte.json +845 -0
  25. package/artefacts/schema/untp/0.7.0/cvc.json +701 -0
  26. package/artefacts/schema/untp/0.7.0/dcc.json +1133 -0
  27. package/artefacts/schema/untp/0.7.0/dfr.json +1245 -0
  28. package/artefacts/schema/untp/0.7.0/dia.json +443 -0
  29. package/artefacts/schema/untp/0.7.0/dpp.json +1300 -0
  30. package/artefacts/schema/untp/0.7.0/dte.json +1226 -0
  31. package/artefacts/schema/untp/0.7.0/linkset.json +119 -0
  32. package/artefacts/schema/vcdm/2/verifiable-credential.json +318 -0
  33. package/build/artefacts/detect-version-from-context.d.ts +7 -2
  34. package/build/artefacts/detect-version-from-context.js +17 -6
  35. package/build/artefacts/detect-version-from-context.js.map +1 -1
  36. package/build/artefacts/detect-version-from-context.test.js +59 -0
  37. package/build/artefacts/detect-version-from-context.test.js.map +1 -1
  38. package/build/artefacts/urls.d.ts +8 -1
  39. package/build/artefacts/urls.js +17 -5
  40. package/build/artefacts/urls.js.map +1 -1
  41. package/build/artefacts/urls.test.js +63 -1
  42. package/build/artefacts/urls.test.js.map +1 -1
  43. package/build/bundle/artefacts/context/untp/0.6.0/dcc.d.ts +2 -0
  44. package/build/bundle/artefacts/context/untp/0.6.0/dcc.js +1244 -0
  45. package/build/bundle/artefacts/context/untp/0.6.0/dcc.js.map +1 -0
  46. package/build/bundle/artefacts/context/untp/0.6.0/dfr.d.ts +2 -0
  47. package/build/bundle/artefacts/context/untp/0.6.0/dfr.js +622 -0
  48. package/build/bundle/artefacts/context/untp/0.6.0/dfr.js.map +1 -0
  49. package/build/bundle/artefacts/context/untp/0.6.0/dia.d.ts +2 -0
  50. package/build/bundle/artefacts/context/untp/0.6.0/dia.js +165 -0
  51. package/build/bundle/artefacts/context/untp/0.6.0/dia.js.map +1 -0
  52. package/build/bundle/artefacts/context/untp/0.6.0/dpp.d.ts +2 -0
  53. package/build/bundle/artefacts/context/untp/0.6.0/dpp.js +1081 -0
  54. package/build/bundle/artefacts/context/untp/0.6.0/dpp.js.map +1 -0
  55. package/build/bundle/artefacts/context/untp/0.6.0/dte.d.ts +2 -0
  56. package/build/bundle/artefacts/context/untp/0.6.0/dte.js +1288 -0
  57. package/build/bundle/artefacts/context/untp/0.6.0/dte.js.map +1 -0
  58. package/build/bundle/artefacts/context/untp/0.6.1/dcc.d.ts +2 -0
  59. package/build/bundle/artefacts/context/untp/0.6.1/dcc.js +1391 -0
  60. package/build/bundle/artefacts/context/untp/0.6.1/dcc.js.map +1 -0
  61. package/build/bundle/artefacts/context/untp/0.6.1/dfr.d.ts +2 -0
  62. package/build/bundle/artefacts/context/untp/0.6.1/dfr.js +693 -0
  63. package/build/bundle/artefacts/context/untp/0.6.1/dfr.js.map +1 -0
  64. package/build/bundle/artefacts/context/untp/0.6.1/dia.d.ts +2 -0
  65. package/build/bundle/artefacts/context/untp/0.6.1/dia.js +199 -0
  66. package/build/bundle/artefacts/context/untp/0.6.1/dia.js.map +1 -0
  67. package/build/bundle/artefacts/context/untp/0.6.1/dpp.d.ts +2 -0
  68. package/build/bundle/artefacts/context/untp/0.6.1/dpp.js +1167 -0
  69. package/build/bundle/artefacts/context/untp/0.6.1/dpp.js.map +1 -0
  70. package/build/bundle/artefacts/context/untp/0.6.1/dte.d.ts +2 -0
  71. package/build/bundle/artefacts/context/untp/0.6.1/dte.js +1343 -0
  72. package/build/bundle/artefacts/context/untp/0.6.1/dte.js.map +1 -0
  73. package/build/bundle/artefacts/context/untp/0.7.0/untp.d.ts +2 -0
  74. package/build/bundle/artefacts/context/untp/0.7.0/untp.js +3496 -0
  75. package/build/bundle/artefacts/context/untp/0.7.0/untp.js.map +1 -0
  76. package/build/bundle/artefacts/context/vcdm/2/credentials.d.ts +2 -0
  77. package/build/bundle/artefacts/context/vcdm/2/credentials.js +304 -0
  78. package/build/bundle/artefacts/context/vcdm/2/credentials.js.map +1 -0
  79. package/build/bundle/artefacts/schema/untp/0.6.0/dcc.d.ts +2 -0
  80. package/build/bundle/artefacts/schema/untp/0.6.0/dcc.js +1134 -0
  81. package/build/bundle/artefacts/schema/untp/0.6.0/dcc.js.map +1 -0
  82. package/build/bundle/artefacts/schema/untp/0.6.0/dfr.d.ts +2 -0
  83. package/build/bundle/artefacts/schema/untp/0.6.0/dfr.js +1031 -0
  84. package/build/bundle/artefacts/schema/untp/0.6.0/dfr.js.map +1 -0
  85. package/build/bundle/artefacts/schema/untp/0.6.0/dia.d.ts +2 -0
  86. package/build/bundle/artefacts/schema/untp/0.6.0/dia.js +239 -0
  87. package/build/bundle/artefacts/schema/untp/0.6.0/dia.js.map +1 -0
  88. package/build/bundle/artefacts/schema/untp/0.6.0/dpp.d.ts +2 -0
  89. package/build/bundle/artefacts/schema/untp/0.6.0/dpp.js +1222 -0
  90. package/build/bundle/artefacts/schema/untp/0.6.0/dpp.js.map +1 -0
  91. package/build/bundle/artefacts/schema/untp/0.6.0/dte.d.ts +2 -0
  92. package/build/bundle/artefacts/schema/untp/0.6.0/dte.js +848 -0
  93. package/build/bundle/artefacts/schema/untp/0.6.0/dte.js.map +1 -0
  94. package/build/bundle/artefacts/schema/untp/0.6.1/dcc.d.ts +2 -0
  95. package/build/bundle/artefacts/schema/untp/0.6.1/dcc.js +1199 -0
  96. package/build/bundle/artefacts/schema/untp/0.6.1/dcc.js.map +1 -0
  97. package/build/bundle/artefacts/schema/untp/0.6.1/dfr.d.ts +2 -0
  98. package/build/bundle/artefacts/schema/untp/0.6.1/dfr.js +1040 -0
  99. package/build/bundle/artefacts/schema/untp/0.6.1/dfr.js.map +1 -0
  100. package/build/bundle/artefacts/schema/untp/0.6.1/dia.d.ts +2 -0
  101. package/build/bundle/artefacts/schema/untp/0.6.1/dia.js +239 -0
  102. package/build/bundle/artefacts/schema/untp/0.6.1/dia.js.map +1 -0
  103. package/build/bundle/artefacts/schema/untp/0.6.1/dpp.d.ts +2 -0
  104. package/build/bundle/artefacts/schema/untp/0.6.1/dpp.js +1232 -0
  105. package/build/bundle/artefacts/schema/untp/0.6.1/dpp.js.map +1 -0
  106. package/build/bundle/artefacts/schema/untp/0.6.1/dte.d.ts +2 -0
  107. package/build/bundle/artefacts/schema/untp/0.6.1/dte.js +848 -0
  108. package/build/bundle/artefacts/schema/untp/0.6.1/dte.js.map +1 -0
  109. package/build/bundle/artefacts/schema/untp/0.7.0/cvc.d.ts +2 -0
  110. package/build/bundle/artefacts/schema/untp/0.7.0/cvc.js +704 -0
  111. package/build/bundle/artefacts/schema/untp/0.7.0/cvc.js.map +1 -0
  112. package/build/bundle/artefacts/schema/untp/0.7.0/dcc.d.ts +2 -0
  113. package/build/bundle/artefacts/schema/untp/0.7.0/dcc.js +1136 -0
  114. package/build/bundle/artefacts/schema/untp/0.7.0/dcc.js.map +1 -0
  115. package/build/bundle/artefacts/schema/untp/0.7.0/dfr.d.ts +2 -0
  116. package/build/bundle/artefacts/schema/untp/0.7.0/dfr.js +1248 -0
  117. package/build/bundle/artefacts/schema/untp/0.7.0/dfr.js.map +1 -0
  118. package/build/bundle/artefacts/schema/untp/0.7.0/dia.d.ts +2 -0
  119. package/build/bundle/artefacts/schema/untp/0.7.0/dia.js +446 -0
  120. package/build/bundle/artefacts/schema/untp/0.7.0/dia.js.map +1 -0
  121. package/build/bundle/artefacts/schema/untp/0.7.0/dpp.d.ts +2 -0
  122. package/build/bundle/artefacts/schema/untp/0.7.0/dpp.js +1303 -0
  123. package/build/bundle/artefacts/schema/untp/0.7.0/dpp.js.map +1 -0
  124. package/build/bundle/artefacts/schema/untp/0.7.0/dte.d.ts +2 -0
  125. package/build/bundle/artefacts/schema/untp/0.7.0/dte.js +1229 -0
  126. package/build/bundle/artefacts/schema/untp/0.7.0/dte.js.map +1 -0
  127. package/build/bundle/artefacts/schema/untp/0.7.0/linkset.d.ts +2 -0
  128. package/build/bundle/artefacts/schema/untp/0.7.0/linkset.js +122 -0
  129. package/build/bundle/artefacts/schema/untp/0.7.0/linkset.js.map +1 -0
  130. package/build/bundle/artefacts/schema/vcdm/2/verifiable-credential.d.ts +2 -0
  131. package/build/bundle/artefacts/schema/vcdm/2/verifiable-credential.js +321 -0
  132. package/build/bundle/artefacts/schema/vcdm/2/verifiable-credential.js.map +1 -0
  133. package/build/bundle/fallback.d.ts +41 -0
  134. package/build/bundle/fallback.js +62 -0
  135. package/build/bundle/fallback.js.map +1 -0
  136. package/build/bundle/fallback.test.d.ts +1 -0
  137. package/build/bundle/fallback.test.js +124 -0
  138. package/build/bundle/fallback.test.js.map +1 -0
  139. package/build/bundle/index.d.ts +4 -0
  140. package/build/bundle/index.js +77 -0
  141. package/build/bundle/index.js.map +1 -0
  142. package/build/bundle/lookup.d.ts +14 -0
  143. package/build/bundle/lookup.js +40 -0
  144. package/build/bundle/lookup.js.map +1 -0
  145. package/build/bundle/lookup.test.d.ts +1 -0
  146. package/build/bundle/lookup.test.js +70 -0
  147. package/build/bundle/lookup.test.js.map +1 -0
  148. package/build/bundle/public.d.ts +29 -0
  149. package/build/bundle/public.js +60 -0
  150. package/build/bundle/public.js.map +1 -0
  151. package/build/bundle/public.test.d.ts +1 -0
  152. package/build/bundle/public.test.js +41 -0
  153. package/build/bundle/public.test.js.map +1 -0
  154. package/build/bundle/refresh-classify.test.d.ts +1 -0
  155. package/build/bundle/refresh-classify.test.js +20 -0
  156. package/build/bundle/refresh-classify.test.js.map +1 -0
  157. package/build/bundle/refresh-main.test.d.ts +1 -0
  158. package/build/bundle/refresh-main.test.js +98 -0
  159. package/build/bundle/refresh-main.test.js.map +1 -0
  160. package/build/common/as-date-time.d.ts +13 -0
  161. package/build/common/as-date-time.js +44 -0
  162. package/build/common/as-date-time.js.map +1 -0
  163. package/build/common/as-date-time.test.d.ts +1 -0
  164. package/build/common/as-date-time.test.js +42 -0
  165. package/build/common/as-date-time.test.js.map +1 -0
  166. package/build/common/as-non-empty-string.d.ts +11 -4
  167. package/build/common/as-non-empty-string.js +15 -5
  168. package/build/common/as-non-empty-string.js.map +1 -1
  169. package/build/common/as-non-empty-string.test.js +7 -2
  170. package/build/common/as-non-empty-string.test.js.map +1 -1
  171. package/build/common/canonical-json.d.ts +10 -0
  172. package/build/common/canonical-json.js +29 -0
  173. package/build/common/canonical-json.js.map +1 -0
  174. package/build/common/canonical-json.test.d.ts +1 -0
  175. package/build/common/canonical-json.test.js +20 -0
  176. package/build/common/canonical-json.test.js.map +1 -0
  177. package/build/common/index.d.ts +5 -0
  178. package/build/common/index.js +6 -0
  179. package/build/common/index.js.map +1 -0
  180. package/build/common/validity-window.d.ts +45 -0
  181. package/build/common/validity-window.js +68 -0
  182. package/build/common/validity-window.js.map +1 -0
  183. package/build/common/validity-window.test.d.ts +1 -0
  184. package/build/common/validity-window.test.js +67 -0
  185. package/build/common/validity-window.test.js.map +1 -0
  186. package/build/conformity-vocabulary/codes.d.ts +4 -0
  187. package/build/conformity-vocabulary/codes.js +4 -0
  188. package/build/conformity-vocabulary/codes.js.map +1 -1
  189. package/build/conformity-vocabulary/parse-conformity-scheme.test.js +150 -0
  190. package/build/conformity-vocabulary/parse-conformity-scheme.test.js.map +1 -1
  191. package/build/conformity-vocabulary/parsers/v0-7-0.parser.js +225 -0
  192. package/build/conformity-vocabulary/parsers/v0-7-0.parser.js.map +1 -1
  193. package/build/conformity-vocabulary/types.d.ts +69 -15
  194. package/build/conformity-vocabulary/validate-conformity-claim.d.ts +17 -11
  195. package/build/conformity-vocabulary/validate-conformity-claim.js +118 -13
  196. package/build/conformity-vocabulary/validate-conformity-claim.js.map +1 -1
  197. package/build/conformity-vocabulary/validate-conformity-claim.test.js +265 -0
  198. package/build/conformity-vocabulary/validate-conformity-claim.test.js.map +1 -1
  199. package/build/loaders/index.d.ts +2 -0
  200. package/build/loaders/index.js +1 -0
  201. package/build/loaders/index.js.map +1 -1
  202. package/build/loaders/jsonld-document-loader.d.ts +7 -5
  203. package/build/loaders/jsonld-document-loader.js +11 -2
  204. package/build/loaders/jsonld-document-loader.js.map +1 -1
  205. package/build/loaders/jsonld-document-loader.test.js +41 -1
  206. package/build/loaders/jsonld-document-loader.test.js.map +1 -1
  207. package/build/loaders/schema-loader.d.ts +13 -3
  208. package/build/loaders/schema-loader.js +24 -8
  209. package/build/loaders/schema-loader.js.map +1 -1
  210. package/build/loaders/schema-loader.test.js +56 -1
  211. package/build/loaders/schema-loader.test.js.map +1 -1
  212. package/build/node/errors.d.ts +9 -3
  213. package/build/node/errors.js +9 -3
  214. package/build/node/errors.js.map +1 -1
  215. package/build/node/index.d.ts +1 -1
  216. package/build/node/index.js +1 -1
  217. package/build/node/index.js.map +1 -1
  218. package/build/node/is-private-ip.d.ts +8 -4
  219. package/build/node/is-private-ip.fail-closed.test.d.ts +1 -0
  220. package/build/node/is-private-ip.fail-closed.test.js +36 -0
  221. package/build/node/is-private-ip.fail-closed.test.js.map +1 -0
  222. package/build/node/is-private-ip.js +77 -12
  223. package/build/node/is-private-ip.js.map +1 -1
  224. package/build/node/is-private-ip.test.js +28 -0
  225. package/build/node/is-private-ip.test.js.map +1 -1
  226. package/build/node/validate-public-url.d.ts +43 -11
  227. package/build/node/validate-public-url.js +68 -34
  228. package/build/node/validate-public-url.js.map +1 -1
  229. package/build/node/validate-public-url.test.js +161 -14
  230. package/build/node/validate-public-url.test.js.map +1 -1
  231. package/build/resolvers/errors.d.ts +36 -6
  232. package/build/resolvers/errors.js +41 -7
  233. package/build/resolvers/errors.js.map +1 -1
  234. package/build/resolvers/resolve-document-if-changed.test.js +7 -0
  235. package/build/resolvers/resolve-document-if-changed.test.js.map +1 -1
  236. package/build/resolvers/resolve-document.d.ts +29 -9
  237. package/build/resolvers/resolve-document.integration.test.d.ts +1 -0
  238. package/build/resolvers/resolve-document.integration.test.js +108 -0
  239. package/build/resolvers/resolve-document.integration.test.js.map +1 -0
  240. package/build/resolvers/resolve-document.js +129 -49
  241. package/build/resolvers/resolve-document.js.map +1 -1
  242. package/build/resolvers/resolve-document.test.js +462 -12
  243. package/build/resolvers/resolve-document.test.js.map +1 -1
  244. package/build/resolvers/resolve-json-document.d.ts +11 -8
  245. package/build/resolvers/resolve-json-document.js +7 -6
  246. package/build/resolvers/resolve-json-document.js.map +1 -1
  247. package/build/resolvers/resolve-json-document.test.js +21 -4
  248. package/build/resolvers/resolve-json-document.test.js.map +1 -1
  249. package/build/validation/describe-jsonld-failure.d.ts +48 -8
  250. package/build/validation/describe-jsonld-failure.js +94 -27
  251. package/build/validation/describe-jsonld-failure.js.map +1 -1
  252. package/build/validation/describe-jsonld-failure.test.js +98 -13
  253. package/build/validation/describe-jsonld-failure.test.js.map +1 -1
  254. package/build/validation/index.d.ts +3 -2
  255. package/build/validation/index.js +2 -2
  256. package/build/validation/index.js.map +1 -1
  257. package/build/validation/validate-jsonld.d.ts +29 -3
  258. package/build/validation/validate-jsonld.js +49 -22
  259. package/build/validation/validate-jsonld.js.map +1 -1
  260. package/build/validation/validate-jsonld.test.js +62 -5
  261. package/build/validation/validate-jsonld.test.js.map +1 -1
  262. package/package.json +23 -3
@@ -0,0 +1,1040 @@
1
+ // Generated by scripts/refresh-artefacts.mjs from schema/untp/0.6.1/dfr.json. Do not edit by hand.
2
+ const artefact = {
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "type": "object",
5
+ "additionalProperties": true,
6
+ "properties": {
7
+ "type": {
8
+ "type": "array",
9
+ "readOnly": true,
10
+ "default": ["DigitalFacilityRecord", "VerifiableCredential"],
11
+ "items": {
12
+ "type": "string"
13
+ },
14
+ "allOf": [
15
+ {
16
+ "contains": {
17
+ "const": "DigitalFacilityRecord",
18
+ "minContains": 1
19
+ }
20
+ },
21
+ {
22
+ "contains": {
23
+ "const": "VerifiableCredential",
24
+ "minContains": 1
25
+ }
26
+ }
27
+ ]
28
+ },
29
+ "@context": {
30
+ "example": ["https://www.w3.org/ns/credentials/v2", "https://test.uncefact.org/vocabulary/untp/dfr/0.6.1/"],
31
+ "type": "array",
32
+ "items": {
33
+ "type": "string"
34
+ },
35
+ "description": "A list of JSON-LD context URIs that define the semantic meaning of properties within the credential. ",
36
+ "readOnly": true,
37
+ "prefixItems": [
38
+ {
39
+ "const": "https://www.w3.org/ns/credentials/v2",
40
+ "type": "string"
41
+ },
42
+ {
43
+ "const": "https://test.uncefact.org/vocabulary/untp/dfr/0.6.1/",
44
+ "type": "string"
45
+ }
46
+ ],
47
+ "default": ["https://www.w3.org/ns/credentials/v2", "https://test.uncefact.org/vocabulary/untp/dfr/0.6.1/"],
48
+ "minItems": 2,
49
+ "uniqueItems": true
50
+ },
51
+ "id": {
52
+ "example": "https://example-company.com/credentials/2a423366-a0d6-4855-ba65-2e0c926d09b0",
53
+ "type": "string",
54
+ "format": "uri",
55
+ "description": "A unique identifier (URI) assigned to the product passport. May be a UUID"
56
+ },
57
+ "issuer": {
58
+ "$ref": "#/$defs/CredentialIssuer",
59
+ "description": "The organisation that is the issuer of this VC. Note that the \"id\" property MUST be a W3C DID. Other identifiers such as tax registration numbers can be listed in the \"otherIdentifiers\" property."
60
+ },
61
+ "validFrom": {
62
+ "pattern": "^-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))$",
63
+ "example": "2024-03-15T12:00:00Z",
64
+ "type": "string",
65
+ "format": "date-time",
66
+ "description": "The date and time from which the credential is valid."
67
+ },
68
+ "validUntil": {
69
+ "pattern": "^-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))$",
70
+ "example": "2034-03-15T12:00:00Z",
71
+ "type": "string",
72
+ "format": "date-time",
73
+ "description": "The expiry date (if applicable) of this verifiable credential."
74
+ },
75
+ "credentialSubject": {
76
+ "$ref": "#/$defs/FacilityRecord",
77
+ "description": "The subject of a UNTP Digital Facility Record (DFR) is a Facility "
78
+ }
79
+ },
80
+ "description": "A digital verifiable credential holding facility performance information.",
81
+ "required": ["@context", "id", "issuer"],
82
+ "$defs": {
83
+ "CredentialIssuer": {
84
+ "type": "object",
85
+ "additionalProperties": false,
86
+ "properties": {
87
+ "type": {
88
+ "type": "array",
89
+ "readOnly": true,
90
+ "default": ["CredentialIssuer"],
91
+ "items": {
92
+ "type": "string"
93
+ },
94
+ "allOf": [
95
+ {
96
+ "contains": {
97
+ "const": "CredentialIssuer",
98
+ "minContains": 1
99
+ }
100
+ }
101
+ ]
102
+ },
103
+ "id": {
104
+ "example": "did:web:identifiers.example-company.com:12345",
105
+ "type": "string",
106
+ "format": "uri",
107
+ "description": "The W3C DID of the issuer - should be a did:web or did:webvh"
108
+ },
109
+ "name": {
110
+ "example": "Example Company Pty Ltd",
111
+ "type": "string",
112
+ "description": "The name of the issuer person or organisation"
113
+ },
114
+ "issuerAlsoKnownAs": {
115
+ "type": "array",
116
+ "items": {
117
+ "type": "object",
118
+ "properties": {
119
+ "id": {
120
+ "example": "https://abr.business.gov.au/ABN/View?abn=90664869327",
121
+ "type": "string",
122
+ "format": "uri",
123
+ "description": "The globally unique ID of the party as a URI, ideally as a resolvable ID. "
124
+ },
125
+ "name": {
126
+ "example": "Sample Company Pty Ltd.",
127
+ "type": "string",
128
+ "description": "The registered name of the party within the identifier scheme."
129
+ },
130
+ "registeredId": {
131
+ "example": 90664869327,
132
+ "type": "string",
133
+ "description": "The registration number (alphanumeric) of the Party within the register. Unique within the register."
134
+ }
135
+ },
136
+ "required": ["id", "name"]
137
+ },
138
+ "description": "An optional list of other registered identifiers for this credential issuer "
139
+ }
140
+ },
141
+ "description": "The issuer party (person or organisation) of a verifiable credential.",
142
+ "required": ["id", "name"]
143
+ },
144
+ "FacilityRecord": {
145
+ "type": "object",
146
+ "additionalProperties": true,
147
+ "properties": {
148
+ "type": {
149
+ "type": "array",
150
+ "readOnly": true,
151
+ "default": ["FacilityRecord"],
152
+ "items": {
153
+ "type": "string"
154
+ },
155
+ "allOf": [
156
+ {
157
+ "contains": {
158
+ "const": "FacilityRecord",
159
+ "minContains": 1
160
+ }
161
+ }
162
+ ]
163
+ },
164
+ "id": {
165
+ "type": "string",
166
+ "format": "uri",
167
+ "description": "An id is not required in the data but jargon requires for blue class which won't redefine credentialSubject"
168
+ },
169
+ "facility": {
170
+ "$ref": "#/$defs/Facility",
171
+ "description": "The physical site (eg farm or factory) where the product or materials was produced."
172
+ },
173
+ "conformityClaim": {
174
+ "type": "array",
175
+ "items": {
176
+ "$ref": "#/$defs/Claim"
177
+ },
178
+ "description": "A list of conformity declarations against specific criteria from recognised standards or regulations. "
179
+ }
180
+ },
181
+ "description": "The physical site (eg farm or factory) where the product or materials was produced. Including the facility sustainability performance record."
182
+ },
183
+ "Facility": {
184
+ "type": "object",
185
+ "additionalProperties": true,
186
+ "properties": {
187
+ "type": {
188
+ "type": "array",
189
+ "readOnly": true,
190
+ "default": ["Facility"],
191
+ "items": {
192
+ "type": "string"
193
+ },
194
+ "allOf": [
195
+ {
196
+ "contains": {
197
+ "const": "Facility",
198
+ "minContains": 1
199
+ }
200
+ }
201
+ ]
202
+ },
203
+ "id": {
204
+ "example": "https://sample-facility-register.com/1234567",
205
+ "type": "string",
206
+ "format": "uri",
207
+ "description": "The globally unique ID of the facility as URI, ideally as a resolvable URL."
208
+ },
209
+ "name": {
210
+ "example": "Greenacres battery factory",
211
+ "type": "string",
212
+ "description": "The registered name of the facility within the identifier scheme. "
213
+ },
214
+ "registeredId": {
215
+ "example": 1234567,
216
+ "type": "string",
217
+ "description": "The registration number (alphanumeric) of the facility within the identifier scheme. Unique within the register."
218
+ },
219
+ "idScheme": {
220
+ "$ref": "#/$defs/IdentifierScheme",
221
+ "description": "The ID scheme of the facility. eg a GS1 GLN or a National land registry scheme. If self issued then use the party ID of the facility owner. "
222
+ },
223
+ "description": {
224
+ "example": "Manufacturing site for advanced electric vehicle batteries.",
225
+ "type": "string",
226
+ "description": "An optional short description of the facility"
227
+ },
228
+ "countryOfOperation": {
229
+ "type": "string",
230
+ "x-external-enumeration": "https://vocabulary.uncefact.org/CountryId#",
231
+ "description": "The country in which this facility is operating.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://vocabulary.uncefact.org/CountryId#\n "
232
+ },
233
+ "processCategory": {
234
+ "type": "array",
235
+ "items": {
236
+ "$ref": "#/$defs/Classification"
237
+ },
238
+ "description": "The industrial or production processes performed by this facility. Example unstats.un.org/isic/1030."
239
+ },
240
+ "operatedByParty": {
241
+ "type": "object",
242
+ "properties": {
243
+ "id": {
244
+ "example": "https://abr.business.gov.au/ABN/View?abn=90664869327",
245
+ "type": "string",
246
+ "format": "uri",
247
+ "description": "The globally unique ID of the party as a URI, ideally as a resolvable ID. "
248
+ },
249
+ "name": {
250
+ "example": "Sample Company Pty Ltd.",
251
+ "type": "string",
252
+ "description": "The registered name of the party within the identifier scheme."
253
+ },
254
+ "registeredId": {
255
+ "example": 90664869327,
256
+ "type": "string",
257
+ "description": "The registration number (alphanumeric) of the Party within the register. Unique within the register."
258
+ }
259
+ },
260
+ "required": ["id", "name"],
261
+ "description": "The Party entity responsible for operating the facility.An object structure that uniquely identifies the party within a known party identification scheme. "
262
+ },
263
+ "facilityAlsoKnownAs": {
264
+ "type": "array",
265
+ "items": {
266
+ "type": "object",
267
+ "properties": {
268
+ "id": {
269
+ "example": "https://sample-facility-register.com/1234567",
270
+ "type": "string",
271
+ "format": "uri",
272
+ "description": "The globally unique ID of the facility as URI, ideally as a resolvable URL."
273
+ },
274
+ "name": {
275
+ "example": "Greenacres battery factory",
276
+ "type": "string",
277
+ "description": "The registered name of the facility within the identifier scheme. "
278
+ },
279
+ "registeredId": {
280
+ "example": 1234567,
281
+ "type": "string",
282
+ "description": "The registration number (alphanumeric) of the facility within the identifier scheme. Unique within the register."
283
+ }
284
+ },
285
+ "required": ["id", "name"]
286
+ },
287
+ "description": "An optional list of other registered identifiers for this facility - eg GLNs or other schemes."
288
+ },
289
+ "locationInformation": {
290
+ "$ref": "#/$defs/Location",
291
+ "description": "Geo-location information for this facility as a resolvable geographic area (a Plus Code), and/or a geo-located point (latitude / longitude), and/or a defined boundary (GeoJSON Polygon)."
292
+ },
293
+ "address": {
294
+ "$ref": "#/$defs/Address",
295
+ "description": "The Postal address of the location."
296
+ }
297
+ },
298
+ "description": "The physical site (eg farm or factory) where the product or materials was produced.",
299
+ "required": ["id", "name"]
300
+ },
301
+ "IdentifierScheme": {
302
+ "type": "object",
303
+ "additionalProperties": false,
304
+ "properties": {
305
+ "type": {
306
+ "type": "array",
307
+ "readOnly": true,
308
+ "default": ["IdentifierScheme"],
309
+ "items": {
310
+ "type": "string"
311
+ },
312
+ "allOf": [
313
+ {
314
+ "contains": {
315
+ "const": "IdentifierScheme",
316
+ "minContains": 1
317
+ }
318
+ }
319
+ ]
320
+ },
321
+ "id": {
322
+ "example": "https://id.gs1.org/01/",
323
+ "type": "string",
324
+ "format": "uri",
325
+ "description": "The globally unique identifier of the registration scheme. The scheme should be registered and discoverable from vocabulary.uncefact.org/identifierSchemes"
326
+ },
327
+ "name": {
328
+ "example": "Global Trade Identification Number (GTIN)",
329
+ "type": "string",
330
+ "description": "The name of the identifier scheme. "
331
+ }
332
+ },
333
+ "description": "An identifier registration scheme for products, facilities, or organisations. Typically operated by a state, national or global authority."
334
+ },
335
+ "Classification": {
336
+ "type": "object",
337
+ "additionalProperties": false,
338
+ "properties": {
339
+ "type": {
340
+ "type": "array",
341
+ "readOnly": true,
342
+ "default": ["Classification"],
343
+ "items": {
344
+ "type": "string"
345
+ },
346
+ "allOf": [
347
+ {
348
+ "contains": {
349
+ "const": "Classification",
350
+ "minContains": 1
351
+ }
352
+ }
353
+ ]
354
+ },
355
+ "id": {
356
+ "example": "https://unstats.un.org/unsd/classifications/Econ/cpc/46410",
357
+ "type": "string",
358
+ "format": "uri",
359
+ "description": "The globally unique URI representing the specific classifier value"
360
+ },
361
+ "code": {
362
+ "example": 46410,
363
+ "type": "string",
364
+ "description": "classification code within the scheme"
365
+ },
366
+ "name": {
367
+ "example": "Primary cells and primary batteries",
368
+ "type": "string",
369
+ "description": "Name of the classification represented by the code"
370
+ },
371
+ "schemeID": {
372
+ "example": "https://unstats.un.org/unsd/classifications/Econ/cpc/",
373
+ "type": "string",
374
+ "format": "uri",
375
+ "description": "Classification scheme ID"
376
+ },
377
+ "schemeName": {
378
+ "example": "UN Central Product Classification (CPC)",
379
+ "type": "string",
380
+ "description": "The name of the classification scheme"
381
+ }
382
+ },
383
+ "description": "A classification scheme and code / name representing a category value for a product, entity, or facility.",
384
+ "required": ["id", "name"]
385
+ },
386
+ "Location": {
387
+ "type": "object",
388
+ "additionalProperties": true,
389
+ "properties": {
390
+ "type": {
391
+ "type": "array",
392
+ "readOnly": true,
393
+ "default": ["Location"],
394
+ "items": {
395
+ "type": "string"
396
+ },
397
+ "allOf": [
398
+ {
399
+ "contains": {
400
+ "const": "Location",
401
+ "minContains": 1
402
+ }
403
+ }
404
+ ]
405
+ },
406
+ "plusCode": {
407
+ "example": "https://plus.codes/8CGRC78W+MM",
408
+ "type": "string",
409
+ "format": "uri",
410
+ "description": "An open location code (https://maps.google.com/pluscodes/) representing this geographic location or region. Open location codes can represent any sized area from a point to a large region and are easily resolved to a visual map location. "
411
+ },
412
+ "geoLocation": {
413
+ "$ref": "#/$defs/Point",
414
+ "description": "The latitude and longitude coordinates that best represent the specified location. Using GeoJSON Point notation."
415
+ },
416
+ "geoBoundary": {
417
+ "$ref": "#/$defs/Polygon",
418
+ "description": "The list of ordered coordinates that define a closed area polygon as a location boundary using GeoJSON polygon notation."
419
+ }
420
+ },
421
+ "description": "Location information including address and geo-location of points, areas, and boundaries"
422
+ },
423
+ "Point": {
424
+ "type": "object",
425
+ "additionalProperties": false,
426
+ "properties": {
427
+ "type": {
428
+ "type": "string",
429
+ "enum": ["Point"],
430
+ "example": "Point",
431
+ "description": ""
432
+ },
433
+ "coordinates": {
434
+ "$ref": "#/$defs/Point3D",
435
+ "description": "Coordinates property of type Point3D"
436
+ }
437
+ },
438
+ "description": "Represents a Point geometry",
439
+ "required": ["type"]
440
+ },
441
+ "Point3D": {
442
+ "description": "Point in 3d space",
443
+ "oneOf": [
444
+ {
445
+ "type": "array",
446
+ "readOnly": true,
447
+ "default": ["Point3D"],
448
+ "items": {
449
+ "type": "string"
450
+ },
451
+ "allOf": [
452
+ {
453
+ "contains": {
454
+ "const": "Point3D",
455
+ "minContains": 1
456
+ }
457
+ }
458
+ ]
459
+ },
460
+ {
461
+ "type": "array",
462
+ "items": {
463
+ "type": "number",
464
+ "format": "float"
465
+ },
466
+ "description": "Array of decimal values"
467
+ }
468
+ ]
469
+ },
470
+ "Polygon": {
471
+ "type": "object",
472
+ "additionalProperties": false,
473
+ "properties": {
474
+ "type": {
475
+ "type": "string",
476
+ "enum": ["Polygon"],
477
+ "example": "Polygon",
478
+ "description": ""
479
+ },
480
+ "coordinates": {
481
+ "type": "array",
482
+ "items": {
483
+ "$ref": "#/$defs/Point3DWrapper"
484
+ },
485
+ "description": "Array of PolygonCoordinates"
486
+ }
487
+ },
488
+ "description": "Represents a Polygon geometry",
489
+ "required": ["type"]
490
+ },
491
+ "Point3DWrapper": {
492
+ "description": "",
493
+ "oneOf": [
494
+ {
495
+ "type": "array",
496
+ "readOnly": true,
497
+ "default": ["Point3DWrapper"],
498
+ "items": {
499
+ "type": "string"
500
+ },
501
+ "allOf": [
502
+ {
503
+ "contains": {
504
+ "const": "Point3DWrapper",
505
+ "minContains": 1
506
+ }
507
+ }
508
+ ]
509
+ },
510
+ {
511
+ "type": "array",
512
+ "items": {
513
+ "$ref": "#/$defs/Point3D"
514
+ },
515
+ "description": ""
516
+ }
517
+ ]
518
+ },
519
+ "Address": {
520
+ "type": "object",
521
+ "additionalProperties": false,
522
+ "properties": {
523
+ "type": {
524
+ "type": "array",
525
+ "readOnly": true,
526
+ "default": ["Address"],
527
+ "items": {
528
+ "type": "string"
529
+ },
530
+ "allOf": [
531
+ {
532
+ "contains": {
533
+ "const": "Address",
534
+ "minContains": 1
535
+ }
536
+ }
537
+ ]
538
+ },
539
+ "streetAddress": {
540
+ "example": "level 11, 15 London Circuit",
541
+ "type": "string",
542
+ "description": "the street address as an unstructured string."
543
+ },
544
+ "postalCode": {
545
+ "example": 2601,
546
+ "type": "string",
547
+ "description": "The postal code or zip code for this address."
548
+ },
549
+ "addressLocality": {
550
+ "example": "Acton",
551
+ "type": "string",
552
+ "description": "The city, suburb or township name."
553
+ },
554
+ "addressRegion": {
555
+ "example": "ACT",
556
+ "type": "string",
557
+ "description": "The state or territory or province"
558
+ },
559
+ "addressCountry": {
560
+ "type": "string",
561
+ "x-external-enumeration": "https://vocabulary.uncefact.org/CountryId#",
562
+ "description": "The address country as an ISO-3166 two letter country code.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://vocabulary.uncefact.org/CountryId#\n "
563
+ }
564
+ },
565
+ "description": "A postal address."
566
+ },
567
+ "Claim": {
568
+ "type": "object",
569
+ "additionalProperties": true,
570
+ "properties": {
571
+ "type": {
572
+ "type": "array",
573
+ "readOnly": true,
574
+ "default": ["Claim", "Declaration"],
575
+ "items": {
576
+ "type": "string"
577
+ },
578
+ "allOf": [
579
+ {
580
+ "contains": {
581
+ "const": "Claim",
582
+ "minContains": 1
583
+ }
584
+ },
585
+ {
586
+ "contains": {
587
+ "const": "Declaration",
588
+ "minContains": 1
589
+ }
590
+ }
591
+ ]
592
+ },
593
+ "id": {
594
+ "example": "https://products.example-company.com/09520123456788/declarations/12345",
595
+ "type": "string",
596
+ "format": "uri",
597
+ "description": "A unique identifier for the declaration. Often this will be an extension of the product.id or attestation.id. But could be a UUID."
598
+ },
599
+ "description": {
600
+ "example": "A standardised disclosure of the battery's greenhouse gas emissions intensity, calculated in accordance with the Global Battery Alliance Battery Passport Greenhouse Gas Rulebook V.2.0.",
601
+ "type": "string",
602
+ "description": "A textual description of the declaration being made."
603
+ },
604
+ "referenceStandard": {
605
+ "$ref": "#/$defs/Standard",
606
+ "description": "The reference to the standard that defines the specification / criteria"
607
+ },
608
+ "referenceRegulation": {
609
+ "$ref": "#/$defs/Regulation",
610
+ "description": "The reference to the regulation that defines the assessment criteria"
611
+ },
612
+ "assessmentCriteria": {
613
+ "type": "array",
614
+ "items": {
615
+ "$ref": "#/$defs/Criterion"
616
+ },
617
+ "description": "The specification against which the assessment is made."
618
+ },
619
+ "assessmentDate": {
620
+ "example": "2024-03-15",
621
+ "type": "string",
622
+ "format": "date",
623
+ "description": "The date on which this assessment was made. "
624
+ },
625
+ "declaredValue": {
626
+ "type": "array",
627
+ "items": {
628
+ "$ref": "#/$defs/Metric"
629
+ },
630
+ "description": "The list of specific values measured as part of this assessment (eg tensile strength)"
631
+ },
632
+ "conformance": {
633
+ "example": true,
634
+ "type": "boolean",
635
+ "description": "An indicator of whether or not the claim or assesment conforms to the regulatory or standard criteria."
636
+ },
637
+ "conformityTopic": {
638
+ "type": "string",
639
+ "enum": [
640
+ "environment.energy",
641
+ "environment.emissions",
642
+ "environment.water",
643
+ "environment.waste",
644
+ "environment.deforestation",
645
+ "environment.biodiversity",
646
+ "circularity.content",
647
+ "circularity.design",
648
+ "social.labour",
649
+ "social.rights",
650
+ "social.community",
651
+ "social.safety",
652
+ "governance.ethics",
653
+ "governance.compliance",
654
+ "governance.transparency"
655
+ ],
656
+ "example": "environment.energy",
657
+ "description": "The conformity topic category for this assessment (eg vocabulary.uncefact.org/sustainability/emissions)"
658
+ },
659
+ "conformityEvidence": {
660
+ "$ref": "#/$defs/SecureLink",
661
+ "description": "A URI pointing to the evidence supporting the claim. SHOULD be a URL to a UNTP Digital Conformity Credential (DCC)"
662
+ }
663
+ },
664
+ "description": "A declaration of conformance with one or more criteria from a specific standard or regulation. ",
665
+ "required": ["id", "conformance", "conformityTopic"]
666
+ },
667
+ "Standard": {
668
+ "type": "object",
669
+ "additionalProperties": false,
670
+ "properties": {
671
+ "type": {
672
+ "type": "array",
673
+ "readOnly": true,
674
+ "default": ["Standard"],
675
+ "items": {
676
+ "type": "string"
677
+ },
678
+ "allOf": [
679
+ {
680
+ "contains": {
681
+ "const": "Standard",
682
+ "minContains": 1
683
+ }
684
+ }
685
+ ]
686
+ },
687
+ "id": {
688
+ "example": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf",
689
+ "type": "string",
690
+ "format": "uri",
691
+ "description": "A unique identifier for the standard (eg https://www.iso.org/standard/60857.html)."
692
+ },
693
+ "name": {
694
+ "example": "GBA Battery Passport Greenhouse Gas Rulebook - V.2.0",
695
+ "type": "string",
696
+ "description": "The name of the standard"
697
+ },
698
+ "issuingParty": {
699
+ "type": "object",
700
+ "properties": {
701
+ "id": {
702
+ "example": "https://abr.business.gov.au/ABN/View?abn=90664869327",
703
+ "type": "string",
704
+ "format": "uri",
705
+ "description": "The globally unique ID of the party as a URI, ideally as a resolvable ID. "
706
+ },
707
+ "name": {
708
+ "example": "Sample Company Pty Ltd.",
709
+ "type": "string",
710
+ "description": "The registered name of the party within the identifier scheme."
711
+ },
712
+ "registeredId": {
713
+ "example": 90664869327,
714
+ "type": "string",
715
+ "description": "The registration number (alphanumeric) of the Party within the register. Unique within the register."
716
+ }
717
+ },
718
+ "required": ["id", "name"],
719
+ "description": "The party that issued the standard "
720
+ },
721
+ "issueDate": {
722
+ "example": "2023-12-05",
723
+ "type": "string",
724
+ "format": "date",
725
+ "description": "The date when the standard was issued."
726
+ }
727
+ },
728
+ "description": "A standard (eg ISO 14000) that specifies the criteria for conformance.",
729
+ "required": ["issuingParty"]
730
+ },
731
+ "Regulation": {
732
+ "type": "object",
733
+ "additionalProperties": false,
734
+ "properties": {
735
+ "type": {
736
+ "type": "array",
737
+ "readOnly": true,
738
+ "default": ["Regulation"],
739
+ "items": {
740
+ "type": "string"
741
+ },
742
+ "allOf": [
743
+ {
744
+ "contains": {
745
+ "const": "Regulation",
746
+ "minContains": 1
747
+ }
748
+ }
749
+ ]
750
+ },
751
+ "id": {
752
+ "example": "https://www.legislation.gov.au/F2008L02309/latest/versions",
753
+ "type": "string",
754
+ "format": "uri",
755
+ "description": "The globally unique identifier of this regulation. "
756
+ },
757
+ "name": {
758
+ "example": "NNational Greenhouse and Energy Reporting (Measurement) Determination",
759
+ "type": "string",
760
+ "description": "The name of the regulation or act."
761
+ },
762
+ "jurisdictionCountry": {
763
+ "type": "string",
764
+ "x-external-enumeration": "https://vocabulary.uncefact.org/CountryId#",
765
+ "description": "The legal jurisdiction (country) under which the regulation is issued.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://vocabulary.uncefact.org/CountryId#\n "
766
+ },
767
+ "administeredBy": {
768
+ "type": "object",
769
+ "properties": {
770
+ "id": {
771
+ "example": "https://abr.business.gov.au/ABN/View?abn=90664869327",
772
+ "type": "string",
773
+ "format": "uri",
774
+ "description": "The globally unique ID of the party as a URI, ideally as a resolvable ID. "
775
+ },
776
+ "name": {
777
+ "example": "Sample Company Pty Ltd.",
778
+ "type": "string",
779
+ "description": "The registered name of the party within the identifier scheme."
780
+ },
781
+ "registeredId": {
782
+ "example": 90664869327,
783
+ "type": "string",
784
+ "description": "The registration number (alphanumeric) of the Party within the register. Unique within the register."
785
+ }
786
+ },
787
+ "required": ["id", "name"],
788
+ "description": "the issuing body of the regulation. For example Australian Government Department of Climate Change, Energy, the Environment and Water"
789
+ },
790
+ "effectiveDate": {
791
+ "example": "2024-03-20",
792
+ "type": "string",
793
+ "format": "date",
794
+ "description": "the date at which the regulation came into effect."
795
+ }
796
+ },
797
+ "description": "A regulation (eg EU deforestation regulation) that defines the criteria for assessment.",
798
+ "required": ["administeredBy"]
799
+ },
800
+ "Criterion": {
801
+ "type": "object",
802
+ "additionalProperties": false,
803
+ "properties": {
804
+ "type": {
805
+ "type": "array",
806
+ "readOnly": true,
807
+ "default": ["Criterion"],
808
+ "items": {
809
+ "type": "string"
810
+ },
811
+ "allOf": [
812
+ {
813
+ "contains": {
814
+ "const": "Criterion",
815
+ "minContains": 1
816
+ }
817
+ }
818
+ ]
819
+ },
820
+ "id": {
821
+ "example": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly",
822
+ "type": "string",
823
+ "format": "uri",
824
+ "description": "A unique identifier for the criterion within the scheme, standard or regulation. For example CO2 emissions calculations for liquid fuel combustion."
825
+ },
826
+ "name": {
827
+ "example": "GBA Battery rule book v2.0 battery assembly guidelines.",
828
+ "type": "string",
829
+ "description": "A name that describes this criteria."
830
+ },
831
+ "description": {
832
+ "example": "Battery is designed for easy disassembly and recycling at end-of-life.",
833
+ "type": "string",
834
+ "description": "A full text description of the criterion that clearly specifies how compliance is achieved and measured. "
835
+ },
836
+ "conformityTopic": {
837
+ "type": "string",
838
+ "enum": [
839
+ "environment.energy",
840
+ "environment.emissions",
841
+ "environment.water",
842
+ "environment.waste",
843
+ "environment.deforestation",
844
+ "environment.biodiversity",
845
+ "circularity.content",
846
+ "circularity.design",
847
+ "social.labour",
848
+ "social.rights",
849
+ "social.community",
850
+ "social.safety",
851
+ "governance.ethics",
852
+ "governance.compliance",
853
+ "governance.transparency"
854
+ ],
855
+ "example": "environment.energy",
856
+ "description": "A gloabl UN/CEFACT standard sustainability toipic code. "
857
+ },
858
+ "status": {
859
+ "type": "string",
860
+ "enum": ["proposed", "active", "deprecated"],
861
+ "example": "proposed",
862
+ "description": "The lifecycle status of this criterion. "
863
+ },
864
+ "subCriterion": {
865
+ "type": "array",
866
+ "items": {
867
+ "$ref": "#/$defs/Criterion"
868
+ },
869
+ "description": "List of criterion that are subordinate to this criterion in the hierarchy."
870
+ },
871
+ "thresholdValue": {
872
+ "$ref": "#/$defs/Metric",
873
+ "description": "A threshold value that defines the minimum compliance level. "
874
+ },
875
+ "performanceLevel": {
876
+ "example": "\"Category 3 recyclable with 73% recyclability\"",
877
+ "type": "string",
878
+ "description": "A performance category code to group criterion in a given hierarchyLevel according to pareformance"
879
+ },
880
+ "category": {
881
+ "type": "array",
882
+ "items": {
883
+ "$ref": "#/$defs/Classification"
884
+ },
885
+ "description": "A set of classification codes that may be used to categorize the applicability of this criteria - for example industry sector, jurisdiction or commodity type - based on a formal vocabulary."
886
+ },
887
+ "tag": {
888
+ "type": "array",
889
+ "items": {
890
+ "type": "string"
891
+ },
892
+ "description": "A set of tags that can be used by the scheme owner to be able to filter or group criterion in a large vocabulary for specific use cases."
893
+ }
894
+ },
895
+ "description": "A specific rule or criterion within a standard or regulation. eg a carbon intensity calculation rule within an emissions standard.",
896
+ "required": ["id", "name", "description", "conformityTopic", "status"]
897
+ },
898
+ "Metric": {
899
+ "type": "object",
900
+ "additionalProperties": false,
901
+ "properties": {
902
+ "type": {
903
+ "type": "array",
904
+ "readOnly": true,
905
+ "default": ["Metric"],
906
+ "items": {
907
+ "type": "string"
908
+ },
909
+ "allOf": [
910
+ {
911
+ "contains": {
912
+ "const": "Metric",
913
+ "minContains": 1
914
+ }
915
+ }
916
+ ]
917
+ },
918
+ "metricName": {
919
+ "example": "GHG emissions intensity",
920
+ "type": "string",
921
+ "description": "A human readable name for this metric (for example \"Tensile strength\")"
922
+ },
923
+ "metricValue": {
924
+ "$ref": "#/$defs/Measure",
925
+ "description": "A numeric value and unit of measure for this metric. Could be a measured value or a specified threshold. Eg {\"value\":400, \"unit\":\"MPA\"} as tensile strength of structural steel"
926
+ },
927
+ "score": {
928
+ "example": "BB",
929
+ "type": "string",
930
+ "description": "A score or rank associated with this measured metric."
931
+ },
932
+ "accuracy": {
933
+ "example": 0.05,
934
+ "type": "number",
935
+ "description": "A percentage represented as a numeric between 0 and 1 indicating the rage of accuracy of the claimed value (eg 0.05 means that the actual value is within 5% of the claimed value.)"
936
+ }
937
+ },
938
+ "description": "A specific measure of performance against the criteria that governs the claim. Expressed as an array of metric (ie unit of measure) / value (ie the actual numeric value) pairs. ",
939
+ "required": ["metricName", "metricValue"]
940
+ },
941
+ "Measure": {
942
+ "type": "object",
943
+ "additionalProperties": false,
944
+ "properties": {
945
+ "type": {
946
+ "type": "array",
947
+ "readOnly": true,
948
+ "default": ["Measure"],
949
+ "items": {
950
+ "type": "string"
951
+ },
952
+ "allOf": [
953
+ {
954
+ "contains": {
955
+ "const": "Measure",
956
+ "minContains": 1
957
+ }
958
+ }
959
+ ]
960
+ },
961
+ "value": {
962
+ "example": 10,
963
+ "type": "number",
964
+ "description": "The numeric value of the measure"
965
+ },
966
+ "unit": {
967
+ "type": "string",
968
+ "x-external-enumeration": "https://vocabulary.uncefact.org/UnitMeasureCode#",
969
+ "description": "Unit of measure drawn from the UNECE Rec20 measure code list.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://vocabulary.uncefact.org/UnitMeasureCode#\n "
970
+ }
971
+ },
972
+ "description": "The measure class defines a numeric measured value (eg 10) and a coded unit of measure (eg KG).",
973
+ "required": ["value", "unit"]
974
+ },
975
+ "SecureLink": {
976
+ "type": "object",
977
+ "additionalProperties": false,
978
+ "properties": {
979
+ "type": {
980
+ "type": "array",
981
+ "readOnly": true,
982
+ "default": ["SecureLink", "Link"],
983
+ "items": {
984
+ "type": "string"
985
+ },
986
+ "allOf": [
987
+ {
988
+ "contains": {
989
+ "const": "SecureLink",
990
+ "minContains": 1
991
+ }
992
+ },
993
+ {
994
+ "contains": {
995
+ "const": "Link",
996
+ "minContains": 1
997
+ }
998
+ }
999
+ ]
1000
+ },
1001
+ "linkURL": {
1002
+ "example": "https://files.example-certifier.com/1234567.json",
1003
+ "type": "string",
1004
+ "format": "uri",
1005
+ "description": "The URL of the target resource. "
1006
+ },
1007
+ "linkName": {
1008
+ "example": "GBA rule book conformity certificate",
1009
+ "type": "string",
1010
+ "description": "A display name for the target resource "
1011
+ },
1012
+ "linkType": {
1013
+ "example": "https://test.uncefact.org/vocabulary/linkTypes/dcc",
1014
+ "type": "string",
1015
+ "description": "The type of the target resource - drawn from a controlled vocabulary "
1016
+ },
1017
+ "hashDigest": {
1018
+ "example": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2",
1019
+ "type": "string",
1020
+ "description": "The hash of the file."
1021
+ },
1022
+ "hashMethod": {
1023
+ "type": "string",
1024
+ "enum": ["SHA-256", "SHA-1"],
1025
+ "example": "SHA-256",
1026
+ "description": "The hashing algorithm used to create the target hash. SHA-265 is the recommended standard"
1027
+ },
1028
+ "encryptionMethod": {
1029
+ "type": "string",
1030
+ "enum": ["none", "AES"],
1031
+ "example": "none",
1032
+ "description": "The symmetric encryption algorithm used to encrypt the link target. AES is the recommended standard. Decryption keys are expected to be passed out of bounds."
1033
+ }
1034
+ },
1035
+ "description": "A binary file that is hashed ()for tamper evidence) and optionally encrypted (for confidentiality)."
1036
+ }
1037
+ }
1038
+ };
1039
+ export default artefact;
1040
+ //# sourceMappingURL=dfr.js.map