|
17 | 17 | "default": [ |
18 | 18 | { |
19 | 19 | "name": "c2pa-rs", |
20 | | - "version": "0.49.5" |
| 20 | + "version": "0.64.0" |
21 | 21 | } |
22 | 22 | ], |
23 | 23 | "type": "array", |
|
26 | 26 | } |
27 | 27 | }, |
28 | 28 | "claim_version": { |
29 | | - "description": "The version of the claim. Defaults to 1.", |
| 29 | + "description": "The version of the claim. Defaults to 2.", |
30 | 30 | "type": [ |
31 | 31 | "integer", |
32 | 32 | "null" |
|
49 | 49 | }, |
50 | 50 | "instance_id": { |
51 | 51 | "description": "Instance ID from `xmpMM:InstanceID` in XMP metadata.", |
52 | | - "default": "xmp:iid:dde3986c-d7b2-4256-b5dd-acc8ed9aada3", |
| 52 | + "default": "xmp:iid:f8f5adf0-f9ee-4168-8f62-520d718bf08f", |
53 | 53 | "type": "string" |
54 | 54 | }, |
55 | 55 | "label": { |
|
66 | 66 | "null" |
67 | 67 | ], |
68 | 68 | "items": { |
69 | | - "$ref": "#/definitions/Metadata" |
| 69 | + "$ref": "#/definitions/AssertionMetadata" |
70 | 70 | } |
71 | 71 | }, |
72 | 72 | "redactions": { |
|
146 | 146 | "data": { |
147 | 147 | "$ref": "#/definitions/AssertionData" |
148 | 148 | }, |
| 149 | + "kind": { |
| 150 | + "anyOf": [ |
| 151 | + { |
| 152 | + "$ref": "#/definitions/ManifestAssertionKind" |
| 153 | + }, |
| 154 | + { |
| 155 | + "type": "null" |
| 156 | + } |
| 157 | + ] |
| 158 | + }, |
149 | 159 | "label": { |
150 | 160 | "type": "string" |
151 | 161 | } |
152 | 162 | } |
153 | 163 | }, |
| 164 | + "AssertionMetadata": { |
| 165 | + "description": "The AssertionMetadata structure can be used as part of other assertions or on its own to reference others", |
| 166 | + "type": "object", |
| 167 | + "properties": { |
| 168 | + "dataSource": { |
| 169 | + "anyOf": [ |
| 170 | + { |
| 171 | + "$ref": "#/definitions/DataSource" |
| 172 | + }, |
| 173 | + { |
| 174 | + "type": "null" |
| 175 | + } |
| 176 | + ] |
| 177 | + }, |
| 178 | + "dateTime": { |
| 179 | + "anyOf": [ |
| 180 | + { |
| 181 | + "$ref": "#/definitions/DateT" |
| 182 | + }, |
| 183 | + { |
| 184 | + "type": "null" |
| 185 | + } |
| 186 | + ] |
| 187 | + }, |
| 188 | + "localizations": { |
| 189 | + "type": [ |
| 190 | + "array", |
| 191 | + "null" |
| 192 | + ], |
| 193 | + "items": { |
| 194 | + "type": "object", |
| 195 | + "additionalProperties": { |
| 196 | + "type": "object", |
| 197 | + "additionalProperties": { |
| 198 | + "type": "string" |
| 199 | + } |
| 200 | + } |
| 201 | + } |
| 202 | + }, |
| 203 | + "reference": { |
| 204 | + "anyOf": [ |
| 205 | + { |
| 206 | + "$ref": "#/definitions/HashedUri" |
| 207 | + }, |
| 208 | + { |
| 209 | + "type": "null" |
| 210 | + } |
| 211 | + ] |
| 212 | + }, |
| 213 | + "regionOfInterest": { |
| 214 | + "anyOf": [ |
| 215 | + { |
| 216 | + "$ref": "#/definitions/RegionOfInterest" |
| 217 | + }, |
| 218 | + { |
| 219 | + "type": "null" |
| 220 | + } |
| 221 | + ] |
| 222 | + }, |
| 223 | + "reviewRatings": { |
| 224 | + "type": [ |
| 225 | + "array", |
| 226 | + "null" |
| 227 | + ], |
| 228 | + "items": { |
| 229 | + "$ref": "#/definitions/ReviewRating" |
| 230 | + } |
| 231 | + } |
| 232 | + } |
| 233 | + }, |
154 | 234 | "AssetType": { |
155 | 235 | "type": "object", |
156 | 236 | "required": [ |
|
257 | 337 | } |
258 | 338 | } |
259 | 339 | }, |
| 340 | + "DateT": { |
| 341 | + "type": "string" |
| 342 | + }, |
260 | 343 | "Frame": { |
261 | 344 | "description": "A frame range representing starting and ending frames or pages.\n\nIf both `start` and `end` are missing, the frame will span the entire asset.", |
262 | 345 | "type": "object", |
|
405 | 488 | "description": "Any additional [`Metadata`] as defined in the C2PA spec.\n\n[`Metadata`]: crate::Metadata", |
406 | 489 | "anyOf": [ |
407 | 490 | { |
408 | | - "$ref": "#/definitions/Metadata" |
| 491 | + "$ref": "#/definitions/AssertionMetadata" |
409 | 492 | }, |
410 | 493 | { |
411 | 494 | "type": "null" |
412 | 495 | } |
413 | 496 | ] |
414 | 497 | }, |
| 498 | + "ocsp_responses": { |
| 499 | + "type": [ |
| 500 | + "array", |
| 501 | + "null" |
| 502 | + ], |
| 503 | + "items": { |
| 504 | + "$ref": "#/definitions/ResourceRef" |
| 505 | + } |
| 506 | + }, |
415 | 507 | "provenance": { |
416 | 508 | "description": "URI from `dcterms:provenance` in XMP metadata.", |
417 | 509 | "type": [ |
|
428 | 520 | } |
429 | 521 | ] |
430 | 522 | }, |
| 523 | + "resources": { |
| 524 | + "readOnly": true, |
| 525 | + "allOf": [ |
| 526 | + { |
| 527 | + "$ref": "#/definitions/ResourceStore" |
| 528 | + } |
| 529 | + ] |
| 530 | + }, |
431 | 531 | "thumbnail": { |
432 | 532 | "description": "A thumbnail image capturing the visual state at the time of import.\n\nA tuple of thumbnail MIME format (for example `image/jpeg`) and binary bits of the image.", |
433 | 533 | "anyOf": [ |
|
509 | 609 | } |
510 | 610 | } |
511 | 611 | }, |
512 | | - "Metadata": { |
513 | | - "description": "The Metadata structure can be used as part of other assertions or on its own to reference others", |
514 | | - "type": "object", |
515 | | - "properties": { |
516 | | - "dataSource": { |
517 | | - "anyOf": [ |
518 | | - { |
519 | | - "$ref": "#/definitions/DataSource" |
520 | | - }, |
521 | | - { |
522 | | - "type": "null" |
523 | | - } |
524 | | - ] |
525 | | - }, |
526 | | - "dateTime": { |
527 | | - "anyOf": [ |
528 | | - { |
529 | | - "type": "string" |
530 | | - }, |
531 | | - { |
532 | | - "type": "null" |
533 | | - } |
534 | | - ] |
535 | | - }, |
536 | | - "reference": { |
537 | | - "anyOf": [ |
538 | | - { |
539 | | - "$ref": "#/definitions/HashedUri" |
540 | | - }, |
541 | | - { |
542 | | - "type": "null" |
543 | | - } |
544 | | - ] |
545 | | - }, |
546 | | - "regionOfInterest": { |
547 | | - "anyOf": [ |
548 | | - { |
549 | | - "$ref": "#/definitions/RegionOfInterest" |
550 | | - }, |
551 | | - { |
552 | | - "type": "null" |
553 | | - } |
554 | | - ] |
555 | | - }, |
556 | | - "reviewRatings": { |
557 | | - "type": [ |
558 | | - "array", |
559 | | - "null" |
560 | | - ], |
561 | | - "items": { |
562 | | - "$ref": "#/definitions/ReviewRating" |
563 | | - } |
564 | | - } |
565 | | - }, |
566 | | - "additionalProperties": true |
| 612 | + "ManifestAssertionKind": { |
| 613 | + "description": "Assertions in C2PA can be stored in several formats", |
| 614 | + "type": "string", |
| 615 | + "enum": [ |
| 616 | + "Cbor", |
| 617 | + "Json", |
| 618 | + "Binary", |
| 619 | + "Uri" |
| 620 | + ] |
567 | 621 | }, |
568 | 622 | "Range": { |
569 | 623 | "description": "A spatial, temporal, frame, or textual range describing the region of interest.", |
|
678 | 732 | ] |
679 | 733 | }, |
680 | 734 | "RegionOfInterest": { |
681 | | - "description": "A region of interest within an asset describing the change.\n\nThis struct can be used from [`Action::changes`][crate::assertions::Action::changes] or [`Metadata::region_of_interest`][crate::assertions::Metadata::region_of_interest].", |
| 735 | + "description": "A region of interest within an asset describing the change.\n\nThis struct can be used from [`Action::changes`][crate::assertions::Action::changes], [`AssertionMetadata::region_of_interest`][crate::assertions::AssertionMetadata::region_of_interest], or [`SoftBindingScope::region`][crate::assertions::soft_binding::SoftBindingScope::region].", |
682 | 736 | "type": "object", |
683 | 737 | "required": [ |
684 | 738 | "region" |
|
702 | 756 | "description": "Additional information about the asset.", |
703 | 757 | "anyOf": [ |
704 | 758 | { |
705 | | - "$ref": "#/definitions/Metadata" |
| 759 | + "$ref": "#/definitions/AssertionMetadata" |
706 | 760 | }, |
707 | 761 | { |
708 | 762 | "type": "null" |
|
744 | 798 | } |
745 | 799 | }, |
746 | 800 | "Relationship": { |
747 | | - "type": "string", |
748 | | - "enum": [ |
749 | | - "parentOf", |
750 | | - "componentOf", |
751 | | - "inputTo" |
| 801 | + "description": "The relationship of the ingredient to the current asset.", |
| 802 | + "oneOf": [ |
| 803 | + { |
| 804 | + "description": "The current asset is derived from this ingredient.", |
| 805 | + "type": "string", |
| 806 | + "enum": [ |
| 807 | + "parentOf" |
| 808 | + ] |
| 809 | + }, |
| 810 | + { |
| 811 | + "description": "The current asset is a part of this ingredient.", |
| 812 | + "type": "string", |
| 813 | + "enum": [ |
| 814 | + "componentOf" |
| 815 | + ] |
| 816 | + }, |
| 817 | + { |
| 818 | + "description": "The ingredient was used as an input to a computational process to create or modify the asset.", |
| 819 | + "type": "string", |
| 820 | + "enum": [ |
| 821 | + "inputTo" |
| 822 | + ] |
| 823 | + } |
752 | 824 | ] |
753 | 825 | }, |
754 | 826 | "ResourceRef": { |
|
793 | 865 | } |
794 | 866 | } |
795 | 867 | }, |
| 868 | + "ResourceStore": { |
| 869 | + "description": "Resource store to contain binary objects referenced from JSON serializable structures", |
| 870 | + "type": "object", |
| 871 | + "required": [ |
| 872 | + "resources" |
| 873 | + ], |
| 874 | + "properties": { |
| 875 | + "base_path": { |
| 876 | + "type": [ |
| 877 | + "string", |
| 878 | + "null" |
| 879 | + ] |
| 880 | + }, |
| 881 | + "label": { |
| 882 | + "type": [ |
| 883 | + "string", |
| 884 | + "null" |
| 885 | + ] |
| 886 | + }, |
| 887 | + "resources": { |
| 888 | + "type": "object", |
| 889 | + "additionalProperties": { |
| 890 | + "type": "array", |
| 891 | + "items": { |
| 892 | + "type": "integer", |
| 893 | + "format": "uint8", |
| 894 | + "minimum": 0.0 |
| 895 | + } |
| 896 | + } |
| 897 | + } |
| 898 | + } |
| 899 | + }, |
796 | 900 | "ReviewRating": { |
797 | | - "description": "A rating on an Assertion.\n\nSee <https://c2pa.org/specifications/specifications/1.0/specs/C2PA_Specification.html#_claim_review>.", |
| 901 | + "description": "A rating on an Assertion.\n\nSee <https://c2pa.org/specifications/specifications/2.2/specs/C2PA_Specification.html#_review_ratings>.", |
798 | 902 | "type": "object", |
799 | 903 | "required": [ |
800 | 904 | "explanation", |
|
1177 | 1281 | } |
1178 | 1282 | }, |
1179 | 1283 | "ValidationStatus": { |
1180 | | - "description": "A `ValidationStatus` struct describes the validation status of a specific part of a manifest.\n\nSee <https://c2pa.org/specifications/specifications/1.0/specs/C2PA_Specification.html#_existing_manifests>.", |
| 1284 | + "description": "A `ValidationStatus` struct describes the validation status of a specific part of a manifest.\n\nSee <https://c2pa.org/specifications/specifications/2.2/specs/C2PA_Specification.html#_existing_manifests>.", |
1181 | 1285 | "type": "object", |
1182 | 1286 | "required": [ |
1183 | 1287 | "code" |
|
0 commit comments