@tracepass/dpp-schemas 0.3.0 → 0.3.1

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.
package/README.md CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  [![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](./LICENSE)
12
12
  [![npm](https://img.shields.io/npm/v/@tracepass/dpp-schemas.svg)](https://www.npmjs.com/package/@tracepass/dpp-schemas)
13
- [![Fields](https://img.shields.io/badge/fields-935-informational)](#whats-in-here)
13
+ [![Fields](https://img.shields.io/badge/fields-937-informational)](#whats-in-here)
14
14
  [![Categories](https://img.shields.io/badge/categories-12-informational)](#whats-in-here)
15
15
  [![Dependencies](https://img.shields.io/badge/dependencies-none-success)](#no-build-step)
16
16
  [![Schema](https://img.shields.io/badge/JSON%20Schema-2020--12-orange)](./schema.json)
@@ -39,12 +39,12 @@ this repository contains.
39
39
 
40
40
  ## What's in here
41
41
 
42
- Twelve JSON files, one per product category. **935 fields in total. 307 are required by an instrument in force;
42
+ Twelve JSON files, one per product category. **937 fields in total. 302 are required by an instrument in force;
43
43
  198 are anticipated under a rule that has not yet been adopted.**
44
44
 
45
45
  | Category | Fields | Required | Instrument |
46
46
  |---|---:|---:|---|
47
- | `battery` | 117 | 59 | Regulation (EU) 2023/1542 |
47
+ | `battery` | 119 | 54 | Regulation (EU) 2023/1542 |
48
48
  | `chemicals` | 96 | 28 | ESPR (EU) 2024/1781 |
49
49
  | `construction` | 49 | 43 | CPR (EU) 2024/3110 |
50
50
  | `electronics` | 167 | 20 | ESPR (EU) 2024/1781 |
package/index.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "totals": {
9
9
  "categories": 12,
10
10
  "fields": 937,
11
- "requiredFields": 306,
11
+ "requiredFields": 302,
12
12
  "anticipatedFields": 198
13
13
  },
14
14
  "categories": [
@@ -18,7 +18,7 @@
18
18
  "file": "templates/battery.json",
19
19
  "version": 4,
20
20
  "fieldCount": 119,
21
- "requiredFieldCount": 58,
21
+ "requiredFieldCount": 54,
22
22
  "anticipatedFieldCount": 11,
23
23
  "regulation": {
24
24
  "name": "EU Battery Regulation",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tracepass/dpp-schemas",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "Machine-readable field specifications for EU Digital Product Passports (ESPR) \u2014 12 product categories, 937 fields, each traced to the article of EU law that mandates it. Pure JSON, no dependencies.",
5
5
  "keywords": [
6
6
  "digital-product-passport",
@@ -5768,7 +5768,7 @@
5768
5768
  "el": "Πληροφορίες ανταλλακτικών"
5769
5769
  },
5770
5770
  "description": {
5771
- "en": "Spare parts catalog with supplier contact information",
5771
+ "en": "Spare parts catalogue plus the contact details of sources for replacement spares — postal address and e-mail, not only a web link",
5772
5772
  "hr": "Katalog dijelova za zamjenu s kontaktnom informacijom dobavljača",
5773
5773
  "cs": "Katalog náhradních dílů s kontaktními informacemi dodavatele",
5774
5774
  "da": "Katalog over reservedele med leverandørens kontaktoplysninger",
@@ -5845,9 +5845,11 @@
5845
5845
  "spare parts",
5846
5846
  "replacement parts",
5847
5847
  "parts catalog",
5848
- "spare parts catalog"
5848
+ "spare parts catalog",
5849
+ "spare parts contact",
5850
+ "sources for replacement spares"
5849
5851
  ],
5850
- "expectedFormat": "Object with fields: catalogUrl, supplierName, supplierContact",
5852
+ "expectedFormat": "Object with fields: catalogUrl (URL), supplierName (string), supplierPostalAddress (string — full postal address), supplierEmail (string — email), supplierPhone (string, optional). Legacy `supplierContact` free text is accepted but should be split into the typed fields above. Annex XIII 2(b) asks for contact DETAILS, so a bare URL is not sufficient on its own.",
5851
5853
  "extractionPriority": 4
5852
5854
  }
5853
5855
  },
@@ -7677,7 +7679,7 @@
7677
7679
  "defaultValue": null,
7678
7680
  "enumOptions": null,
7679
7681
  "validation": {
7680
- "required": true,
7682
+ "required": false,
7681
7683
  "min": 0,
7682
7684
  "max": null,
7683
7685
  "minLength": null,
@@ -7714,11 +7716,12 @@
7714
7716
  "sortOrder": 63,
7715
7717
  "defaultAccessLevel": "public",
7716
7718
  "regulationRef": {
7717
- "article": "Art. 77",
7718
- "annex": "Annex VI",
7719
- "instrument": "32023R1542",
7720
- "provision": "Art. 77",
7721
- "kind": "legislation"
7719
+ "annex": null,
7720
+ "instrument": null,
7721
+ "provision": null,
7722
+ "kind": "specification",
7723
+ "article": null,
7724
+ "description": "Not a Commission Annex XIII/VI data point — the DG GROW list (v1.0, 28 Jul 2026) enumerates 13 Annex VI Part A points and none covers this. Kept as a widely-supplied datasheet attribute; not compelled by the Regulation."
7722
7725
  },
7723
7726
  "aiHints": {
7724
7727
  "alternateNames": [
@@ -7790,7 +7793,7 @@
7790
7793
  "defaultValue": null,
7791
7794
  "enumOptions": null,
7792
7795
  "validation": {
7793
- "required": true,
7796
+ "required": false,
7794
7797
  "min": 0,
7795
7798
  "max": null,
7796
7799
  "minLength": null,
@@ -7827,11 +7830,12 @@
7827
7830
  "sortOrder": 64,
7828
7831
  "defaultAccessLevel": "public",
7829
7832
  "regulationRef": {
7830
- "article": "Art. 77",
7831
- "annex": "Annex VI",
7832
- "instrument": "32023R1542",
7833
- "provision": "Art. 77",
7834
- "kind": "legislation"
7833
+ "annex": null,
7834
+ "instrument": null,
7835
+ "provision": null,
7836
+ "kind": "specification",
7837
+ "article": null,
7838
+ "description": "Not a Commission Annex XIII/VI data point — the DG GROW list (v1.0, 28 Jul 2026) enumerates 13 Annex VI Part A points and none covers this. Kept as a widely-supplied datasheet attribute; not compelled by the Regulation."
7835
7839
  },
7836
7840
  "aiHints": {
7837
7841
  "alternateNames": [
@@ -8821,7 +8825,7 @@
8821
8825
  "defaultValue": null,
8822
8826
  "enumOptions": null,
8823
8827
  "validation": {
8824
- "required": true,
8828
+ "required": false,
8825
8829
  "min": 1,
8826
8830
  "max": null,
8827
8831
  "minLength": null,
@@ -8858,11 +8862,12 @@
8858
8862
  "sortOrder": 73,
8859
8863
  "defaultAccessLevel": "public",
8860
8864
  "regulationRef": {
8861
- "article": "Art. 77",
8862
- "annex": "Annex VI",
8863
- "instrument": "32023R1542",
8864
- "provision": "Art. 77",
8865
- "kind": "legislation"
8865
+ "annex": null,
8866
+ "instrument": null,
8867
+ "provision": null,
8868
+ "kind": "specification",
8869
+ "article": null,
8870
+ "description": "Not a Commission Annex XIII/VI data point — the DG GROW list (v1.0, 28 Jul 2026) enumerates 13 Annex VI Part A points and none covers this. Kept as a widely-supplied datasheet attribute; not compelled by the Regulation."
8866
8871
  },
8867
8872
  "aiHints": {
8868
8873
  "alternateNames": [
@@ -9050,7 +9055,7 @@
9050
9055
  }
9051
9056
  ],
9052
9057
  "validation": {
9053
- "required": true,
9058
+ "required": false,
9054
9059
  "min": null,
9055
9060
  "max": null,
9056
9061
  "minLength": null,
@@ -9087,11 +9092,12 @@
9087
9092
  "sortOrder": 74,
9088
9093
  "defaultAccessLevel": "public",
9089
9094
  "regulationRef": {
9090
- "article": "Art. 77",
9091
- "annex": "Annex VI",
9092
- "instrument": "32023R1542",
9093
- "provision": "Art. 77",
9094
- "kind": "legislation"
9095
+ "annex": null,
9096
+ "instrument": null,
9097
+ "provision": null,
9098
+ "kind": "specification",
9099
+ "article": null,
9100
+ "description": "Not a Commission Annex XIII/VI data point — the DG GROW list (v1.0, 28 Jul 2026) enumerates 13 Annex VI Part A points and none covers this. Kept as a widely-supplied datasheet attribute; not compelled by the Regulation."
9095
9101
  },
9096
9102
  "aiHints": {
9097
9103
  "alternateNames": [
@@ -13962,8 +13968,8 @@
13962
13968
  }
13963
13969
  }
13964
13970
  ],
13965
- "fieldCount": 117,
13966
- "requiredFieldCount": 59,
13971
+ "fieldCount": 119,
13972
+ "requiredFieldCount": 54,
13967
13973
  "_note": "The source markdown lists ~93 fields; CRM sub-fields (name/weight%/country) and hazardous-substance sub-fields (name/CAS/concentration/classification/location) are modeled as array items within criticalRawMaterials and hazardousSubstances respectively.",
13968
13974
  "categories": [
13969
13975
  "general_info",