@bsv/dpp-profiles 0.3.0-beta.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/LICENSE +58 -0
- package/README.md +64 -0
- package/dist/applicability.d.ts +96 -0
- package/dist/applicability.d.ts.map +1 -0
- package/dist/applicability.js +181 -0
- package/dist/applicability.js.map +1 -0
- package/dist/combinations.d.ts +30 -0
- package/dist/combinations.d.ts.map +1 -0
- package/dist/combinations.js +103 -0
- package/dist/combinations.js.map +1 -0
- package/dist/evidence-shapes.d.ts +198 -0
- package/dist/evidence-shapes.d.ts.map +1 -0
- package/dist/evidence-shapes.js +123 -0
- package/dist/evidence-shapes.js.map +1 -0
- package/dist/gs1-epc-binary.d.ts +81 -0
- package/dist/gs1-epc-binary.d.ts.map +1 -0
- package/dist/gs1-epc-binary.js +252 -0
- package/dist/gs1-epc-binary.js.map +1 -0
- package/dist/gs1-resolution.d.ts +392 -0
- package/dist/gs1-resolution.d.ts.map +1 -0
- package/dist/gs1-resolution.js +696 -0
- package/dist/gs1-resolution.js.map +1 -0
- package/dist/identifiers.d.ts +57 -0
- package/dist/identifiers.d.ts.map +1 -0
- package/dist/identifiers.js +117 -0
- package/dist/identifiers.js.map +1 -0
- package/dist/index.d.ts +235 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +124 -0
- package/dist/index.js.map +1 -0
- package/dist/manifest-v2.d.ts +87 -0
- package/dist/manifest-v2.d.ts.map +1 -0
- package/dist/manifest-v2.js +31 -0
- package/dist/manifest-v2.js.map +1 -0
- package/dist/mapping.d.ts +84 -0
- package/dist/mapping.d.ts.map +1 -0
- package/dist/mapping.js +88 -0
- package/dist/mapping.js.map +1 -0
- package/dist/projections.d.ts +233 -0
- package/dist/projections.d.ts.map +1 -0
- package/dist/projections.js +466 -0
- package/dist/projections.js.map +1 -0
- package/frozen.json +42 -0
- package/generated/consumer/battery-v2.json +2248 -0
- package/generated/consumer/battery-v3.json +4354 -0
- package/generated/consumer/general-v1.json +9 -0
- package/generated/consumer/general-v2.json +714 -0
- package/generated/consumer/textile-v1.json +101 -0
- package/generated/consumer/textile-v2.json +1033 -0
- package/generated/consumer/textile-v3.json +2011 -0
- package/generated/index.json +86 -0
- package/generated/mapping/battery@2.md +116 -0
- package/generated/mapping/battery@3.md +130 -0
- package/generated/mapping/general@2.md +50 -0
- package/generated/mapping/textile@2.md +61 -0
- package/generated/mapping/textile@3.md +73 -0
- package/generated/payload-schema/battery@2.public.schema.json +609 -0
- package/generated/payload-schema/battery@2.restricted.schema.json +377 -0
- package/generated/payload-schema/battery@3.public.schema.json +1364 -0
- package/generated/payload-schema/battery@3.restricted.schema.json +1097 -0
- package/generated/payload-schema/general@1.public.schema.json +37 -0
- package/generated/payload-schema/general@1.restricted.schema.json +9 -0
- package/generated/payload-schema/general@2.public.schema.json +352 -0
- package/generated/payload-schema/general@2.restricted.schema.json +52 -0
- package/generated/payload-schema/textile@1.public.schema.json +82 -0
- package/generated/payload-schema/textile@1.restricted.schema.json +22 -0
- package/generated/payload-schema/textile@2.public.schema.json +464 -0
- package/generated/payload-schema/textile@2.restricted.schema.json +78 -0
- package/generated/payload-schema/textile@3.public.schema.json +1299 -0
- package/generated/payload-schema/textile@3.restricted.schema.json +78 -0
- package/manifests/battery@2.json +4047 -0
- package/manifests/battery@3.json +6164 -0
- package/manifests/exchange/untp-0.7.0-jose@1.json +191 -0
- package/manifests/exchange/vc-di-ecdsa-rdfc-2019@1.json +74 -0
- package/manifests/exchange/vsc-draft-compat@0.1.0.json +64 -0
- package/manifests/general@1.json +148 -0
- package/manifests/general@2.json +1266 -0
- package/manifests/interoperability/epcis-json@1.json +69 -0
- package/manifests/interoperability/epcis-vsc@1.json +64 -0
- package/manifests/interoperability/gs1-digital-link@1.json +71 -0
- package/manifests/operator/federated-operators@1.json +54 -0
- package/manifests/operator/single-operator@1.json +52 -0
- package/manifests/textile@1.json +383 -0
- package/manifests/textile@2.json +1682 -0
- package/manifests/textile@3.json +2763 -0
- package/package.json +59 -0
- package/schemas/exchange-profile.schema.json +134 -0
- package/schemas/gs1/NOTICE.md +11 -0
- package/schemas/gs1/resolver-description-file-schema-1.2.0.json +124 -0
- package/schemas/gs1/resolver-linkset-context-1.2.1.jsonld +39 -0
- package/schemas/gs1/resolver-linkset-schema-1.2.1.json +96 -0
- package/schemas/interoperability-profile.schema.json +347 -0
- package/schemas/operator-profile.schema.json +108 -0
- package/schemas/product-identity.schema.json +45 -0
- package/schemas/profile-manifest-v2.schema.json +1087 -0
- package/schemas/profile-manifest.schema.json +291 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "urn:bsv:dpp:profile:general@1:payload-public",
|
|
4
|
+
"title": "General passport, version 1 (superseded) (general@1), public payload",
|
|
5
|
+
"description": "general@1: the public payload carried on chain in field 10. JSON Schema validity is one check; obligation under a condition (needs-review), units, provenance and legal applicability are separate checks.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"properties": {
|
|
9
|
+
"notice": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"minLength": 1,
|
|
12
|
+
"description": "The sample marker a demonstration record carries first; never product data."
|
|
13
|
+
},
|
|
14
|
+
"profile": {
|
|
15
|
+
"const": "general",
|
|
16
|
+
"description": "The profile identifier the payload declares."
|
|
17
|
+
},
|
|
18
|
+
"profile_version": {
|
|
19
|
+
"const": 1,
|
|
20
|
+
"description": "The profile version the payload declares; a reader decodes under it and never under a newer one."
|
|
21
|
+
},
|
|
22
|
+
"object_did": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"minLength": 1,
|
|
25
|
+
"description": "An optional physical-object DID carried in the public payload; carrying it does not implement physical binding."
|
|
26
|
+
},
|
|
27
|
+
"dataCarrier": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"minLength": 1,
|
|
30
|
+
"description": "The data-carrier identifier (chip UID) the lookup service indexes beside the passport identifier."
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"required": [
|
|
34
|
+
"profile",
|
|
35
|
+
"profile_version"
|
|
36
|
+
]
|
|
37
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "urn:bsv:dpp:profile:general@1:payload-restricted",
|
|
4
|
+
"title": "General passport, version 1 (superseded) (general@1), restricted payload",
|
|
5
|
+
"description": "general@1: the restricted tiers held off chain, encrypted, and committed by field 11. JSON Schema validity is one check; obligation under a condition (needs-review), units, provenance and legal applicability are separate checks.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"properties": {}
|
|
9
|
+
}
|
|
@@ -0,0 +1,352 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "urn:bsv:dpp:profile:general@2:payload-public",
|
|
4
|
+
"title": "General product passport (general@2), public payload",
|
|
5
|
+
"description": "general@2: the public payload carried on chain in field 10. JSON Schema validity is one check; obligation under a condition (needs-review), units, provenance and legal applicability are separate checks.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"properties": {
|
|
9
|
+
"notice": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"minLength": 1,
|
|
12
|
+
"description": "The sample marker a demonstration record carries first; never product data."
|
|
13
|
+
},
|
|
14
|
+
"profile": {
|
|
15
|
+
"const": "general",
|
|
16
|
+
"description": "The profile identifier the payload declares."
|
|
17
|
+
},
|
|
18
|
+
"profile_version": {
|
|
19
|
+
"const": 2,
|
|
20
|
+
"description": "The profile version the payload declares; a reader decodes under it and never under a newer one."
|
|
21
|
+
},
|
|
22
|
+
"object_did": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"minLength": 1,
|
|
25
|
+
"description": "An optional physical-object DID carried in the public payload; carrying it does not implement physical binding."
|
|
26
|
+
},
|
|
27
|
+
"dataCarrier": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"minLength": 1,
|
|
30
|
+
"description": "The data-carrier identifier (chip UID) the lookup service indexes beside the passport identifier."
|
|
31
|
+
},
|
|
32
|
+
"name": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"minLength": 1,
|
|
35
|
+
"title": "Product name",
|
|
36
|
+
"description": "required; Nothing requires this. A record with no name is not a passport."
|
|
37
|
+
},
|
|
38
|
+
"category": {
|
|
39
|
+
"type": "string",
|
|
40
|
+
"minLength": 1,
|
|
41
|
+
"title": "Kind of object",
|
|
42
|
+
"description": "required; Nothing requires this. It decides which of the fields below make sense."
|
|
43
|
+
},
|
|
44
|
+
"manufacturer": {
|
|
45
|
+
"type": "string",
|
|
46
|
+
"minLength": 1,
|
|
47
|
+
"title": "Maker",
|
|
48
|
+
"description": "required; Nothing requires this. On a handbuilt object the maker is the claim."
|
|
49
|
+
},
|
|
50
|
+
"manufacturerContact": {
|
|
51
|
+
"type": "string",
|
|
52
|
+
"minLength": 1,
|
|
53
|
+
"title": "How to reach the maker",
|
|
54
|
+
"description": "required; Nothing requires this. A guarantee nobody can claim against is decoration."
|
|
55
|
+
},
|
|
56
|
+
"modelIdentifier": {
|
|
57
|
+
"type": "string",
|
|
58
|
+
"minLength": 1,
|
|
59
|
+
"maxLength": 64,
|
|
60
|
+
"title": "Model or reference",
|
|
61
|
+
"description": "recommended; Nothing requires this. It is how a maker finds the drawings again."
|
|
62
|
+
},
|
|
63
|
+
"serialNumber": {
|
|
64
|
+
"type": "string",
|
|
65
|
+
"minLength": 1,
|
|
66
|
+
"maxLength": 64,
|
|
67
|
+
"title": "Serial number",
|
|
68
|
+
"description": "recommended; Nothing requires this. It is the commonest way an object proves it is the one."
|
|
69
|
+
},
|
|
70
|
+
"manufacturingPlace": {
|
|
71
|
+
"type": "object",
|
|
72
|
+
"additionalProperties": false,
|
|
73
|
+
"properties": {
|
|
74
|
+
"city": {
|
|
75
|
+
"type": "string",
|
|
76
|
+
"minLength": 1
|
|
77
|
+
},
|
|
78
|
+
"country": {
|
|
79
|
+
"type": "string",
|
|
80
|
+
"pattern": "^[A-Z]{2}$"
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
"required": [
|
|
84
|
+
"city",
|
|
85
|
+
"country"
|
|
86
|
+
],
|
|
87
|
+
"title": "Where it was made",
|
|
88
|
+
"description": "recommended; Nothing requires this. Place is half of provenance."
|
|
89
|
+
},
|
|
90
|
+
"made": {
|
|
91
|
+
"type": "string",
|
|
92
|
+
"pattern": "^\\d{4}-(0[1-9]|1[0-2])$",
|
|
93
|
+
"title": "Made",
|
|
94
|
+
"description": "recommended; Nothing requires this. Age is what a durable object is judged on."
|
|
95
|
+
},
|
|
96
|
+
"dimensions": {
|
|
97
|
+
"type": "string",
|
|
98
|
+
"minLength": 1,
|
|
99
|
+
"maxLength": 120,
|
|
100
|
+
"title": "Dimensions",
|
|
101
|
+
"description": "recommended; Nothing requires this. It is what a second buyer asks first."
|
|
102
|
+
},
|
|
103
|
+
"weight": {
|
|
104
|
+
"type": "number",
|
|
105
|
+
"minimum": 1,
|
|
106
|
+
"maximum": 50000,
|
|
107
|
+
"multipleOf": 1,
|
|
108
|
+
"title": "Weight",
|
|
109
|
+
"description": "recommended; Nothing requires this."
|
|
110
|
+
},
|
|
111
|
+
"edition": {
|
|
112
|
+
"type": "string",
|
|
113
|
+
"minLength": 1,
|
|
114
|
+
"maxLength": 80,
|
|
115
|
+
"title": "Edition",
|
|
116
|
+
"description": "recommended; Nothing requires this. On a limited run it is most of the value."
|
|
117
|
+
},
|
|
118
|
+
"makerName": {
|
|
119
|
+
"type": "string",
|
|
120
|
+
"minLength": 1,
|
|
121
|
+
"maxLength": 120,
|
|
122
|
+
"title": "Made by",
|
|
123
|
+
"description": "recommended; Nothing requires this. It is the difference between made and manufactured."
|
|
124
|
+
},
|
|
125
|
+
"authentication": {
|
|
126
|
+
"type": "array",
|
|
127
|
+
"uniqueItems": true,
|
|
128
|
+
"items": {
|
|
129
|
+
"type": "string",
|
|
130
|
+
"minLength": 1
|
|
131
|
+
},
|
|
132
|
+
"title": "How to tell it is the real one",
|
|
133
|
+
"description": "recommended; Nothing requires this. It is the question a passport exists to answer."
|
|
134
|
+
},
|
|
135
|
+
"certificate": {
|
|
136
|
+
"oneOf": [
|
|
137
|
+
{
|
|
138
|
+
"type": "string",
|
|
139
|
+
"format": "uri"
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"type": "object"
|
|
143
|
+
}
|
|
144
|
+
],
|
|
145
|
+
"title": "Certificate",
|
|
146
|
+
"description": "recommended; Nothing requires this. The paper certificate, kept where it cannot be lost."
|
|
147
|
+
},
|
|
148
|
+
"commission": {
|
|
149
|
+
"type": "string",
|
|
150
|
+
"minLength": 1,
|
|
151
|
+
"maxLength": 200,
|
|
152
|
+
"title": "Made for",
|
|
153
|
+
"description": "optional; Nothing requires this. Published only where the first owner wanted it published."
|
|
154
|
+
},
|
|
155
|
+
"materials": {
|
|
156
|
+
"type": "array",
|
|
157
|
+
"items": {
|
|
158
|
+
"type": "object",
|
|
159
|
+
"additionalProperties": false,
|
|
160
|
+
"properties": {
|
|
161
|
+
"part": {
|
|
162
|
+
"type": "string",
|
|
163
|
+
"minLength": 1
|
|
164
|
+
},
|
|
165
|
+
"material": {
|
|
166
|
+
"type": "string",
|
|
167
|
+
"minLength": 1
|
|
168
|
+
},
|
|
169
|
+
"origin": {
|
|
170
|
+
"type": "string",
|
|
171
|
+
"pattern": "^[A-Z]{2}$"
|
|
172
|
+
}
|
|
173
|
+
},
|
|
174
|
+
"required": [
|
|
175
|
+
"part",
|
|
176
|
+
"material"
|
|
177
|
+
]
|
|
178
|
+
},
|
|
179
|
+
"title": "Materials",
|
|
180
|
+
"description": "required; Nothing requires this. It is the first thing a repairer needs and the last thing a recycler needs."
|
|
181
|
+
},
|
|
182
|
+
"method": {
|
|
183
|
+
"type": "string",
|
|
184
|
+
"minLength": 1,
|
|
185
|
+
"title": "How it was made",
|
|
186
|
+
"description": "recommended; Nothing requires this. It is most of what a buyer is paying for."
|
|
187
|
+
},
|
|
188
|
+
"finish": {
|
|
189
|
+
"type": "string",
|
|
190
|
+
"minLength": 1,
|
|
191
|
+
"maxLength": 200,
|
|
192
|
+
"title": "Finish",
|
|
193
|
+
"description": "recommended; Nothing requires this."
|
|
194
|
+
},
|
|
195
|
+
"notes": {
|
|
196
|
+
"type": "string",
|
|
197
|
+
"minLength": 1,
|
|
198
|
+
"maxLength": 1200,
|
|
199
|
+
"title": "Anything else worth recording",
|
|
200
|
+
"description": "optional; Nothing requires this. It is what keeps a declared profile usable for objects nobody has thought of."
|
|
201
|
+
},
|
|
202
|
+
"recycledContent": {
|
|
203
|
+
"type": "number",
|
|
204
|
+
"minimum": 0,
|
|
205
|
+
"maximum": 100,
|
|
206
|
+
"title": "Recycled content",
|
|
207
|
+
"description": "optional; Nothing requires this. Declared where a maker can substantiate it."
|
|
208
|
+
},
|
|
209
|
+
"substanceStatement": {
|
|
210
|
+
"type": "string",
|
|
211
|
+
"minLength": 1,
|
|
212
|
+
"maxLength": 400,
|
|
213
|
+
"title": "Substances to handle with care",
|
|
214
|
+
"description": "recommended; Nothing requires this here, though REACH Art. 33 may require it of the article itself."
|
|
215
|
+
},
|
|
216
|
+
"careNote": {
|
|
217
|
+
"type": "string",
|
|
218
|
+
"minLength": 1,
|
|
219
|
+
"maxLength": 600,
|
|
220
|
+
"title": "How to look after it",
|
|
221
|
+
"description": "required; Nothing requires this. It is the single field most likely to extend the object’s life."
|
|
222
|
+
},
|
|
223
|
+
"serviceInterval": {
|
|
224
|
+
"type": "string",
|
|
225
|
+
"minLength": 1,
|
|
226
|
+
"maxLength": 120,
|
|
227
|
+
"title": "Service interval",
|
|
228
|
+
"description": "recommended; Nothing requires this."
|
|
229
|
+
},
|
|
230
|
+
"expectedLifetime": {
|
|
231
|
+
"type": "integer",
|
|
232
|
+
"minimum": 1,
|
|
233
|
+
"maximum": 500,
|
|
234
|
+
"title": "Expected lifetime",
|
|
235
|
+
"description": "recommended; Nothing requires this. A claim made here is one the maker can be held to."
|
|
236
|
+
},
|
|
237
|
+
"guarantee": {
|
|
238
|
+
"type": "integer",
|
|
239
|
+
"minimum": 0,
|
|
240
|
+
"maximum": 1200,
|
|
241
|
+
"title": "Guarantee",
|
|
242
|
+
"description": "recommended; Nothing requires the figure, though a stated commercial guarantee binds the maker."
|
|
243
|
+
},
|
|
244
|
+
"guaranteeTerms": {
|
|
245
|
+
"oneOf": [
|
|
246
|
+
{
|
|
247
|
+
"type": "string",
|
|
248
|
+
"format": "uri"
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
"type": "object"
|
|
252
|
+
}
|
|
253
|
+
],
|
|
254
|
+
"title": "Guarantee terms",
|
|
255
|
+
"description": "recommended; Nothing requires this. A term with no conditions attached is not a guarantee."
|
|
256
|
+
},
|
|
257
|
+
"repairability": {
|
|
258
|
+
"type": "string",
|
|
259
|
+
"minLength": 1,
|
|
260
|
+
"maxLength": 400,
|
|
261
|
+
"title": "What can be repaired",
|
|
262
|
+
"description": "recommended; Nothing requires this."
|
|
263
|
+
},
|
|
264
|
+
"spareParts": {
|
|
265
|
+
"type": "string",
|
|
266
|
+
"minLength": 1,
|
|
267
|
+
"maxLength": 300,
|
|
268
|
+
"title": "Spare parts",
|
|
269
|
+
"description": "recommended; Nothing requires this. It is what decides whether the object outlives its owner."
|
|
270
|
+
},
|
|
271
|
+
"repairInstructions": {
|
|
272
|
+
"oneOf": [
|
|
273
|
+
{
|
|
274
|
+
"type": "string",
|
|
275
|
+
"format": "uri"
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
"type": "object"
|
|
279
|
+
}
|
|
280
|
+
],
|
|
281
|
+
"title": "Repair notes",
|
|
282
|
+
"description": "recommended; Nothing requires this."
|
|
283
|
+
},
|
|
284
|
+
"repairServices": {
|
|
285
|
+
"type": "string",
|
|
286
|
+
"format": "uri",
|
|
287
|
+
"title": "Where to get it repaired",
|
|
288
|
+
"description": "recommended; Nothing requires this."
|
|
289
|
+
},
|
|
290
|
+
"collection": {
|
|
291
|
+
"type": "string",
|
|
292
|
+
"minLength": 1,
|
|
293
|
+
"maxLength": 400,
|
|
294
|
+
"title": "Where to return it",
|
|
295
|
+
"description": "recommended; Nothing requires this. A maker who takes it back says so here."
|
|
296
|
+
},
|
|
297
|
+
"recyclability": {
|
|
298
|
+
"type": "string",
|
|
299
|
+
"minLength": 1,
|
|
300
|
+
"maxLength": 400,
|
|
301
|
+
"title": "What can be recovered",
|
|
302
|
+
"description": "recommended; Nothing requires this."
|
|
303
|
+
},
|
|
304
|
+
"supplyChain": {
|
|
305
|
+
"type": "array",
|
|
306
|
+
"items": {
|
|
307
|
+
"type": "object",
|
|
308
|
+
"additionalProperties": false,
|
|
309
|
+
"properties": {
|
|
310
|
+
"stage": {
|
|
311
|
+
"type": "string",
|
|
312
|
+
"minLength": 1
|
|
313
|
+
},
|
|
314
|
+
"country": {
|
|
315
|
+
"type": "string",
|
|
316
|
+
"pattern": "^[A-Z]{2}$"
|
|
317
|
+
},
|
|
318
|
+
"facility": {
|
|
319
|
+
"type": "string",
|
|
320
|
+
"minLength": 1
|
|
321
|
+
}
|
|
322
|
+
},
|
|
323
|
+
"required": [
|
|
324
|
+
"stage",
|
|
325
|
+
"country"
|
|
326
|
+
]
|
|
327
|
+
},
|
|
328
|
+
"title": "Supply chain",
|
|
329
|
+
"description": "optional; Nothing requires this. Declared by makers who treat their suppliers as a credential."
|
|
330
|
+
},
|
|
331
|
+
"certifications": {
|
|
332
|
+
"type": "array",
|
|
333
|
+
"uniqueItems": true,
|
|
334
|
+
"items": {
|
|
335
|
+
"type": "string",
|
|
336
|
+
"minLength": 1
|
|
337
|
+
},
|
|
338
|
+
"title": "Independent certification",
|
|
339
|
+
"description": "optional; Nothing requires this."
|
|
340
|
+
}
|
|
341
|
+
},
|
|
342
|
+
"required": [
|
|
343
|
+
"careNote",
|
|
344
|
+
"category",
|
|
345
|
+
"manufacturer",
|
|
346
|
+
"manufacturerContact",
|
|
347
|
+
"materials",
|
|
348
|
+
"name",
|
|
349
|
+
"profile",
|
|
350
|
+
"profile_version"
|
|
351
|
+
]
|
|
352
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "urn:bsv:dpp:profile:general@2:payload-restricted",
|
|
4
|
+
"title": "General product passport (general@2), restricted payload",
|
|
5
|
+
"description": "general@2: the restricted tiers held off chain, encrypted, and committed by field 11. JSON Schema validity is one check; obligation under a condition (needs-review), units, provenance and legal applicability are separate checks.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"properties": {
|
|
9
|
+
"serviceNotes": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"minLength": 1,
|
|
12
|
+
"maxLength": 600,
|
|
13
|
+
"title": "Workshop notes",
|
|
14
|
+
"description": "recommended; Nothing requires this. Restricted because it is useless to a consumer and valuable to a repairer."
|
|
15
|
+
},
|
|
16
|
+
"separability": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"minLength": 1,
|
|
19
|
+
"maxLength": 300,
|
|
20
|
+
"title": "What comes apart",
|
|
21
|
+
"description": "recommended; Nothing requires this."
|
|
22
|
+
},
|
|
23
|
+
"provenance": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"minLength": 1,
|
|
26
|
+
"maxLength": 600,
|
|
27
|
+
"title": "Provenance",
|
|
28
|
+
"description": "optional; Nothing requires this. It is the owner tier the selective-disclosure demo turns on."
|
|
29
|
+
},
|
|
30
|
+
"purchase": {
|
|
31
|
+
"type": "string",
|
|
32
|
+
"minLength": 1,
|
|
33
|
+
"maxLength": 200,
|
|
34
|
+
"title": "Purchased",
|
|
35
|
+
"description": "optional; Nothing requires this. It is what makes the record theirs."
|
|
36
|
+
},
|
|
37
|
+
"personalisation": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"minLength": 1,
|
|
40
|
+
"maxLength": 300,
|
|
41
|
+
"title": "Fitting and setup",
|
|
42
|
+
"description": "optional; Nothing requires this. A fitted object is a different object to its owner."
|
|
43
|
+
},
|
|
44
|
+
"valuation": {
|
|
45
|
+
"type": "string",
|
|
46
|
+
"minLength": 1,
|
|
47
|
+
"maxLength": 160,
|
|
48
|
+
"title": "Valuation reference",
|
|
49
|
+
"description": "optional; Nothing requires this. Owner tier only, and no figure ever reaches the public payload."
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "urn:bsv:dpp:profile:textile@1:payload-public",
|
|
4
|
+
"title": "Textile passport, version 1 (superseded) (textile@1), public payload",
|
|
5
|
+
"description": "textile@1: the public payload carried on chain in field 10. JSON Schema validity is one check; obligation under a condition (needs-review), units, provenance and legal applicability are separate checks.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"properties": {
|
|
9
|
+
"notice": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"minLength": 1,
|
|
12
|
+
"description": "The sample marker a demonstration record carries first; never product data."
|
|
13
|
+
},
|
|
14
|
+
"profile": {
|
|
15
|
+
"const": "textile",
|
|
16
|
+
"description": "The profile identifier the payload declares."
|
|
17
|
+
},
|
|
18
|
+
"profile_version": {
|
|
19
|
+
"const": 1,
|
|
20
|
+
"description": "The profile version the payload declares; a reader decodes under it and never under a newer one."
|
|
21
|
+
},
|
|
22
|
+
"object_did": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"minLength": 1,
|
|
25
|
+
"description": "An optional physical-object DID carried in the public payload; carrying it does not implement physical binding."
|
|
26
|
+
},
|
|
27
|
+
"dataCarrier": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"minLength": 1,
|
|
30
|
+
"description": "The data-carrier identifier (chip UID) the lookup service indexes beside the passport identifier."
|
|
31
|
+
},
|
|
32
|
+
"name": {
|
|
33
|
+
"title": "Product name",
|
|
34
|
+
"description": "required; Version 1 recorded no legal basis for this field."
|
|
35
|
+
},
|
|
36
|
+
"batch": {
|
|
37
|
+
"title": "Batch",
|
|
38
|
+
"description": "required; Version 1 recorded no legal basis for this field."
|
|
39
|
+
},
|
|
40
|
+
"fibres": {
|
|
41
|
+
"title": "Fibre composition",
|
|
42
|
+
"description": "required; Version 1 recorded no legal basis for this field."
|
|
43
|
+
},
|
|
44
|
+
"manufacturer": {
|
|
45
|
+
"title": "Brand name",
|
|
46
|
+
"description": "required; Version 1 recorded no legal basis for this field."
|
|
47
|
+
},
|
|
48
|
+
"manufacturerContact": {
|
|
49
|
+
"title": "Brand contact",
|
|
50
|
+
"description": "required; Version 1 recorded no legal basis for this field."
|
|
51
|
+
},
|
|
52
|
+
"recycled": {
|
|
53
|
+
"title": "Recycled content",
|
|
54
|
+
"description": "recommended; Version 1 recorded no legal basis for this field."
|
|
55
|
+
},
|
|
56
|
+
"origin": {
|
|
57
|
+
"title": "Country of origin",
|
|
58
|
+
"description": "recommended; Version 1 recorded no legal basis for this field."
|
|
59
|
+
},
|
|
60
|
+
"care": {
|
|
61
|
+
"title": "Care",
|
|
62
|
+
"description": "recommended; Version 1 recorded no legal basis for this field."
|
|
63
|
+
},
|
|
64
|
+
"substances": {
|
|
65
|
+
"title": "Substances of concern",
|
|
66
|
+
"description": "recommended; Version 1 recorded no legal basis for this field."
|
|
67
|
+
},
|
|
68
|
+
"endOfLife": {
|
|
69
|
+
"title": "End of life",
|
|
70
|
+
"description": "recommended; Version 1 recorded no legal basis for this field."
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
"required": [
|
|
74
|
+
"batch",
|
|
75
|
+
"fibres",
|
|
76
|
+
"manufacturer",
|
|
77
|
+
"manufacturerContact",
|
|
78
|
+
"name",
|
|
79
|
+
"profile",
|
|
80
|
+
"profile_version"
|
|
81
|
+
]
|
|
82
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "urn:bsv:dpp:profile:textile@1:payload-restricted",
|
|
4
|
+
"title": "Textile passport, version 1 (superseded) (textile@1), restricted payload",
|
|
5
|
+
"description": "textile@1: the restricted tiers held off chain, encrypted, and committed by field 11. JSON Schema validity is one check; obligation under a condition (needs-review), units, provenance and legal applicability are separate checks.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"properties": {
|
|
9
|
+
"provenance": {
|
|
10
|
+
"title": "Provenance",
|
|
11
|
+
"description": "optional; Version 1 recorded no legal basis for this field."
|
|
12
|
+
},
|
|
13
|
+
"warranty": {
|
|
14
|
+
"title": "Warranty",
|
|
15
|
+
"description": "optional; Version 1 recorded no legal basis for this field."
|
|
16
|
+
},
|
|
17
|
+
"personalisation": {
|
|
18
|
+
"title": "Personalisation",
|
|
19
|
+
"description": "optional; Version 1 recorded no legal basis for this field."
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|