@trylimbo/sdk-verifier 0.2.12-canary.26 → 0.2.12-canary.29
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/gen/ffi/index.d.ts +860 -828
- package/gen/ffi/index.js +1288 -1181
- package/package.json +6 -3
package/gen/ffi/index.d.ts
CHANGED
|
@@ -181,7 +181,7 @@ declare const pointerLiteralSymbol: unique symbol;
|
|
|
181
181
|
*/
|
|
182
182
|
declare const uniffiTypeNameSymbol: unique symbol;
|
|
183
183
|
declare namespace trylimbo_verifier_d_exports {
|
|
184
|
-
export { Actor, AssertionMetadata, AssetType, AssetVerification, AssetVerifier, AssetVerifierInterface, AssetVerifierLike, AssetVerifierOptions, Binder,
|
|
184
|
+
export { Actor, AssertionMetadata, AssetFormat, AssetFormat_Tags, AssetType, AssetVerification, AssetVerifier, AssetVerifierInterface, AssetVerifierLike, AssetVerifierOptions, Binder, BinderImpl, ByContent, ByReference, ClaimGeneratorInfo, Code, ContentBindingClass, ContentTrigger, Coordinate, Credential, CredentialOrigin, CredentialOrigin_Tags, DataSource, DeriveOptions, EndInclusivity, FieldViolation, FileSource, FileSourceInterface, FileSourceLike, FingerprintCheck, FingerprintCheck_Tags, Frame, GoldenComparison, GoldenComparison_Tags, HardBinding, HashedUri, HeldBinder, HeldBinderInterface, HeldBinderLike, Ingredient, IngredientDeltaValidationResult, InitValidation, IsccBinder, IsccBinderInterface, IsccBinderLike, Item, JsonValue, Lineage, Manifest, ManifestAssertion, ManifestAssertionKind, ManifestStore, MediaValidation, MemorySource, MemorySourceInterface, MemorySourceLike, PluginReader, Range, RangeSource, RangeSourceImpl, RangeType, Recovery, RecoveryDiscovery, RecoveryDiscovery_Tags, RecoveryIssue, RecoveryIssue_Tags, RecoveryStatus, RecoverySummary, RecoveryTrigger, Region, RegionOfInterest, Relationship, Repository, Repository_Tags, ResourceRef, ReviewRating, Role, SdkError, SdkError_Tags, SegmentTiming, SegmentValidation, SegmentValidation_Tags, SessionKeySummary, Shape, ShapeType, SignatureInfo, SigningAlgSchema, SimilarityScore, SoftBinding, StatusCodes, StreamSession, StreamSessionInterface, StreamSessionLike, StreamVerifier, StreamVerifierInterface, StreamVerifierLike, StreamVerifierOptions, Text, TextSelector, TextSelectorRange, Time, TimeType, UnitType, UriOrResource, UriOrResource_Tags, ValidationCode, ValidationCodeKind, ValidationResults, ValidationState, ValidationStatus, Verdict, VerdictRule, Verdict_Tags, c2paTrustList, c2paTsaTrustList, _default$1 as default, devCa, parse, resource, thumbnails };
|
|
185
185
|
}
|
|
186
186
|
/**
|
|
187
187
|
* Official C2PA Conformance Program signing-CA trust anchors (a compile-time
|
|
@@ -198,7 +198,7 @@ export declare function c2paTsaTrustList(): string;
|
|
|
198
198
|
*/
|
|
199
199
|
export declare function devCa(): string;
|
|
200
200
|
/**
|
|
201
|
-
* Parse a detached C2PA manifest store: a `.c2pa` sidecar, or the bytes a
|
|
201
|
+
* Parse a detached C2PA manifest store: a `.c2pa` sidecar, or the bytes a repository serves for a
|
|
202
202
|
* manifest id.
|
|
203
203
|
*
|
|
204
204
|
* Contents, not a verdict. A hard binding is a hash of the asset, so a store read without one
|
|
@@ -322,7 +322,7 @@ export declare const DataSource: Readonly<{
|
|
|
322
322
|
* Typealias from the type name used in the UDL file to the builtin type. This
|
|
323
323
|
* is needed because the UDL type name is used in function/method signatures.
|
|
324
324
|
*/
|
|
325
|
-
export type
|
|
325
|
+
export type JsonValue = string;
|
|
326
326
|
/**
|
|
327
327
|
* A frame range representing starting and ending frames or pages.
|
|
328
328
|
*
|
|
@@ -711,7 +711,7 @@ export type RegionOfInterest = {
|
|
|
711
711
|
/**
|
|
712
712
|
* Nested metadata, as JSON: the reader's one recursive edge.
|
|
713
713
|
*/
|
|
714
|
-
metadata?:
|
|
714
|
+
metadata?: JsonValue;
|
|
715
715
|
/**
|
|
716
716
|
* A free-text string representing a human-readable name for the region which might be used in a user interface.
|
|
717
717
|
*/
|
|
@@ -806,7 +806,7 @@ export declare const SoftBinding: Readonly<{
|
|
|
806
806
|
defaults: () => Partial<SoftBinding>;
|
|
807
807
|
}>;
|
|
808
808
|
/**
|
|
809
|
-
* The class of binding a
|
|
809
|
+
* The class of binding a repository derived from an uploaded asset.
|
|
810
810
|
*
|
|
811
811
|
* Unlike [`SoftBinding`], this carries no value: the C2PA `byContent` response does not return
|
|
812
812
|
* one. The algorithm and class are still evidence because every request selects exactly one
|
|
@@ -833,8 +833,9 @@ export declare const RecoveryDiscovery: Readonly<{
|
|
|
833
833
|
binderIndex: number;
|
|
834
834
|
binding: SoftBinding;
|
|
835
835
|
class: ContentBindingClass;
|
|
836
|
-
|
|
837
|
-
|
|
836
|
+
repositoryScore?: SimilarityScore;
|
|
837
|
+
repository: string;
|
|
838
|
+
fetchedFrom: string;
|
|
838
839
|
}): {
|
|
839
840
|
/**
|
|
840
841
|
* @private
|
|
@@ -846,16 +847,18 @@ export declare const RecoveryDiscovery: Readonly<{
|
|
|
846
847
|
binderIndex: number;
|
|
847
848
|
binding: SoftBinding;
|
|
848
849
|
class: ContentBindingClass;
|
|
849
|
-
|
|
850
|
-
|
|
850
|
+
repositoryScore?: SimilarityScore;
|
|
851
|
+
repository: string;
|
|
852
|
+
fetchedFrom: string;
|
|
851
853
|
}>;
|
|
852
854
|
};
|
|
853
855
|
"new"(inner: {
|
|
854
856
|
binderIndex: number;
|
|
855
857
|
binding: SoftBinding;
|
|
856
858
|
class: ContentBindingClass;
|
|
857
|
-
|
|
858
|
-
|
|
859
|
+
repositoryScore?: SimilarityScore;
|
|
860
|
+
repository: string;
|
|
861
|
+
fetchedFrom: string;
|
|
859
862
|
}): {
|
|
860
863
|
/**
|
|
861
864
|
* @private
|
|
@@ -867,8 +870,9 @@ export declare const RecoveryDiscovery: Readonly<{
|
|
|
867
870
|
binderIndex: number;
|
|
868
871
|
binding: SoftBinding;
|
|
869
872
|
class: ContentBindingClass;
|
|
870
|
-
|
|
871
|
-
|
|
873
|
+
repositoryScore?: SimilarityScore;
|
|
874
|
+
repository: string;
|
|
875
|
+
fetchedFrom: string;
|
|
872
876
|
}>;
|
|
873
877
|
};
|
|
874
878
|
instanceOf(obj: any): obj is {
|
|
@@ -882,8 +886,9 @@ export declare const RecoveryDiscovery: Readonly<{
|
|
|
882
886
|
binderIndex: number;
|
|
883
887
|
binding: SoftBinding;
|
|
884
888
|
class: ContentBindingClass;
|
|
885
|
-
|
|
886
|
-
|
|
889
|
+
repositoryScore?: SimilarityScore;
|
|
890
|
+
repository: string;
|
|
891
|
+
fetchedFrom: string;
|
|
887
892
|
}>;
|
|
888
893
|
};
|
|
889
894
|
};
|
|
@@ -892,8 +897,9 @@ export declare const RecoveryDiscovery: Readonly<{
|
|
|
892
897
|
algorithm: string;
|
|
893
898
|
class: ContentBindingClass;
|
|
894
899
|
hint?: SoftBinding;
|
|
895
|
-
|
|
896
|
-
|
|
900
|
+
repositoryScore?: SimilarityScore;
|
|
901
|
+
repository: string;
|
|
902
|
+
fetchedFrom: string;
|
|
897
903
|
}): {
|
|
898
904
|
/**
|
|
899
905
|
* @private
|
|
@@ -905,16 +911,18 @@ export declare const RecoveryDiscovery: Readonly<{
|
|
|
905
911
|
algorithm: string;
|
|
906
912
|
class: ContentBindingClass;
|
|
907
913
|
hint?: SoftBinding;
|
|
908
|
-
|
|
909
|
-
|
|
914
|
+
repositoryScore?: SimilarityScore;
|
|
915
|
+
repository: string;
|
|
916
|
+
fetchedFrom: string;
|
|
910
917
|
}>;
|
|
911
918
|
};
|
|
912
919
|
"new"(inner: {
|
|
913
920
|
algorithm: string;
|
|
914
921
|
class: ContentBindingClass;
|
|
915
922
|
hint?: SoftBinding;
|
|
916
|
-
|
|
917
|
-
|
|
923
|
+
repositoryScore?: SimilarityScore;
|
|
924
|
+
repository: string;
|
|
925
|
+
fetchedFrom: string;
|
|
918
926
|
}): {
|
|
919
927
|
/**
|
|
920
928
|
* @private
|
|
@@ -926,8 +934,9 @@ export declare const RecoveryDiscovery: Readonly<{
|
|
|
926
934
|
algorithm: string;
|
|
927
935
|
class: ContentBindingClass;
|
|
928
936
|
hint?: SoftBinding;
|
|
929
|
-
|
|
930
|
-
|
|
937
|
+
repositoryScore?: SimilarityScore;
|
|
938
|
+
repository: string;
|
|
939
|
+
fetchedFrom: string;
|
|
931
940
|
}>;
|
|
932
941
|
};
|
|
933
942
|
instanceOf(obj: any): obj is {
|
|
@@ -941,8 +950,9 @@ export declare const RecoveryDiscovery: Readonly<{
|
|
|
941
950
|
algorithm: string;
|
|
942
951
|
class: ContentBindingClass;
|
|
943
952
|
hint?: SoftBinding;
|
|
944
|
-
|
|
945
|
-
|
|
953
|
+
repositoryScore?: SimilarityScore;
|
|
954
|
+
repository: string;
|
|
955
|
+
fetchedFrom: string;
|
|
946
956
|
}>;
|
|
947
957
|
};
|
|
948
958
|
};
|
|
@@ -951,8 +961,9 @@ export declare const RecoveryDiscovery: Readonly<{
|
|
|
951
961
|
algorithm: string;
|
|
952
962
|
class: ContentBindingClass;
|
|
953
963
|
hint?: SoftBinding;
|
|
954
|
-
|
|
955
|
-
|
|
964
|
+
repositoryScore?: SimilarityScore;
|
|
965
|
+
repository: string;
|
|
966
|
+
fetchedFrom: string;
|
|
956
967
|
}): {
|
|
957
968
|
/**
|
|
958
969
|
* @private
|
|
@@ -964,16 +975,18 @@ export declare const RecoveryDiscovery: Readonly<{
|
|
|
964
975
|
algorithm: string;
|
|
965
976
|
class: ContentBindingClass;
|
|
966
977
|
hint?: SoftBinding;
|
|
967
|
-
|
|
968
|
-
|
|
978
|
+
repositoryScore?: SimilarityScore;
|
|
979
|
+
repository: string;
|
|
980
|
+
fetchedFrom: string;
|
|
969
981
|
}>;
|
|
970
982
|
};
|
|
971
983
|
"new"(inner: {
|
|
972
984
|
algorithm: string;
|
|
973
985
|
class: ContentBindingClass;
|
|
974
986
|
hint?: SoftBinding;
|
|
975
|
-
|
|
976
|
-
|
|
987
|
+
repositoryScore?: SimilarityScore;
|
|
988
|
+
repository: string;
|
|
989
|
+
fetchedFrom: string;
|
|
977
990
|
}): {
|
|
978
991
|
/**
|
|
979
992
|
* @private
|
|
@@ -985,8 +998,9 @@ export declare const RecoveryDiscovery: Readonly<{
|
|
|
985
998
|
algorithm: string;
|
|
986
999
|
class: ContentBindingClass;
|
|
987
1000
|
hint?: SoftBinding;
|
|
988
|
-
|
|
989
|
-
|
|
1001
|
+
repositoryScore?: SimilarityScore;
|
|
1002
|
+
repository: string;
|
|
1003
|
+
fetchedFrom: string;
|
|
990
1004
|
}>;
|
|
991
1005
|
};
|
|
992
1006
|
instanceOf(obj: any): obj is {
|
|
@@ -1000,13 +1014,203 @@ export declare const RecoveryDiscovery: Readonly<{
|
|
|
1000
1014
|
algorithm: string;
|
|
1001
1015
|
class: ContentBindingClass;
|
|
1002
1016
|
hint?: SoftBinding;
|
|
1003
|
-
|
|
1004
|
-
|
|
1017
|
+
repositoryScore?: SimilarityScore;
|
|
1018
|
+
repository: string;
|
|
1019
|
+
fetchedFrom: string;
|
|
1005
1020
|
}>;
|
|
1006
1021
|
};
|
|
1007
1022
|
};
|
|
1008
1023
|
}>;
|
|
1009
1024
|
export type RecoveryDiscovery = InstanceType<typeof RecoveryDiscovery['ByBinding' | 'ByContent' | 'ByReference']>;
|
|
1025
|
+
export declare enum FingerprintCheck_Tags {
|
|
1026
|
+
NotNeeded = "NotNeeded",
|
|
1027
|
+
NothingToCompare = "NothingToCompare",
|
|
1028
|
+
Unsupported = "Unsupported",
|
|
1029
|
+
Indeterminate = "Indeterminate",
|
|
1030
|
+
Compared = "Compared"
|
|
1031
|
+
}
|
|
1032
|
+
/**
|
|
1033
|
+
* Whether the asset's own fingerprint backs up a manifest that a watermark led to.
|
|
1034
|
+
*
|
|
1035
|
+
* C2PA 2.4 1.2.2.3: a watermark can be lifted from one asset onto another, so a mark alone does
|
|
1036
|
+
* not establish that the manifest it resolves to describes THIS asset. The mitigation the spec
|
|
1037
|
+
* gives is to compare a fingerprint computed from the asset against the one the recovered
|
|
1038
|
+
* manifest records, and `watermark-and-fingerprint` ends on exactly that comparison.
|
|
1039
|
+
*
|
|
1040
|
+
* Reported rather than enforced: a transcode legitimately shifts a fingerprint, so where the line
|
|
1041
|
+
* falls is the relying party's policy, not this SDK's. What the SDK owes them is the measurement.
|
|
1042
|
+
*/
|
|
1043
|
+
export declare const FingerprintCheck: Readonly<{
|
|
1044
|
+
instanceOf: (obj: any) => obj is FingerprintCheck;
|
|
1045
|
+
NotNeeded: {
|
|
1046
|
+
new (): {
|
|
1047
|
+
/**
|
|
1048
|
+
* @private
|
|
1049
|
+
* This field is private and should not be used, use `tag` instead.
|
|
1050
|
+
*/
|
|
1051
|
+
readonly [uniffiTypeNameSymbol]: "FingerprintCheck";
|
|
1052
|
+
readonly tag: FingerprintCheck_Tags.NotNeeded;
|
|
1053
|
+
};
|
|
1054
|
+
"new"(): {
|
|
1055
|
+
/**
|
|
1056
|
+
* @private
|
|
1057
|
+
* This field is private and should not be used, use `tag` instead.
|
|
1058
|
+
*/
|
|
1059
|
+
readonly [uniffiTypeNameSymbol]: "FingerprintCheck";
|
|
1060
|
+
readonly tag: FingerprintCheck_Tags.NotNeeded;
|
|
1061
|
+
};
|
|
1062
|
+
instanceOf(obj: any): obj is {
|
|
1063
|
+
/**
|
|
1064
|
+
* @private
|
|
1065
|
+
* This field is private and should not be used, use `tag` instead.
|
|
1066
|
+
*/
|
|
1067
|
+
readonly [uniffiTypeNameSymbol]: "FingerprintCheck";
|
|
1068
|
+
readonly tag: FingerprintCheck_Tags.NotNeeded;
|
|
1069
|
+
};
|
|
1070
|
+
};
|
|
1071
|
+
NothingToCompare: {
|
|
1072
|
+
new (): {
|
|
1073
|
+
/**
|
|
1074
|
+
* @private
|
|
1075
|
+
* This field is private and should not be used, use `tag` instead.
|
|
1076
|
+
*/
|
|
1077
|
+
readonly [uniffiTypeNameSymbol]: "FingerprintCheck";
|
|
1078
|
+
readonly tag: FingerprintCheck_Tags.NothingToCompare;
|
|
1079
|
+
};
|
|
1080
|
+
"new"(): {
|
|
1081
|
+
/**
|
|
1082
|
+
* @private
|
|
1083
|
+
* This field is private and should not be used, use `tag` instead.
|
|
1084
|
+
*/
|
|
1085
|
+
readonly [uniffiTypeNameSymbol]: "FingerprintCheck";
|
|
1086
|
+
readonly tag: FingerprintCheck_Tags.NothingToCompare;
|
|
1087
|
+
};
|
|
1088
|
+
instanceOf(obj: any): obj is {
|
|
1089
|
+
/**
|
|
1090
|
+
* @private
|
|
1091
|
+
* This field is private and should not be used, use `tag` instead.
|
|
1092
|
+
*/
|
|
1093
|
+
readonly [uniffiTypeNameSymbol]: "FingerprintCheck";
|
|
1094
|
+
readonly tag: FingerprintCheck_Tags.NothingToCompare;
|
|
1095
|
+
};
|
|
1096
|
+
};
|
|
1097
|
+
Unsupported: {
|
|
1098
|
+
new (inner: {
|
|
1099
|
+
algorithm: string;
|
|
1100
|
+
}): {
|
|
1101
|
+
/**
|
|
1102
|
+
* @private
|
|
1103
|
+
* This field is private and should not be used, use `tag` instead.
|
|
1104
|
+
*/
|
|
1105
|
+
readonly [uniffiTypeNameSymbol]: "FingerprintCheck";
|
|
1106
|
+
readonly tag: FingerprintCheck_Tags.Unsupported;
|
|
1107
|
+
readonly inner: Readonly<{
|
|
1108
|
+
algorithm: string;
|
|
1109
|
+
}>;
|
|
1110
|
+
};
|
|
1111
|
+
"new"(inner: {
|
|
1112
|
+
algorithm: string;
|
|
1113
|
+
}): {
|
|
1114
|
+
/**
|
|
1115
|
+
* @private
|
|
1116
|
+
* This field is private and should not be used, use `tag` instead.
|
|
1117
|
+
*/
|
|
1118
|
+
readonly [uniffiTypeNameSymbol]: "FingerprintCheck";
|
|
1119
|
+
readonly tag: FingerprintCheck_Tags.Unsupported;
|
|
1120
|
+
readonly inner: Readonly<{
|
|
1121
|
+
algorithm: string;
|
|
1122
|
+
}>;
|
|
1123
|
+
};
|
|
1124
|
+
instanceOf(obj: any): obj is {
|
|
1125
|
+
/**
|
|
1126
|
+
* @private
|
|
1127
|
+
* This field is private and should not be used, use `tag` instead.
|
|
1128
|
+
*/
|
|
1129
|
+
readonly [uniffiTypeNameSymbol]: "FingerprintCheck";
|
|
1130
|
+
readonly tag: FingerprintCheck_Tags.Unsupported;
|
|
1131
|
+
readonly inner: Readonly<{
|
|
1132
|
+
algorithm: string;
|
|
1133
|
+
}>;
|
|
1134
|
+
};
|
|
1135
|
+
};
|
|
1136
|
+
Indeterminate: {
|
|
1137
|
+
new (): {
|
|
1138
|
+
/**
|
|
1139
|
+
* @private
|
|
1140
|
+
* This field is private and should not be used, use `tag` instead.
|
|
1141
|
+
*/
|
|
1142
|
+
readonly [uniffiTypeNameSymbol]: "FingerprintCheck";
|
|
1143
|
+
readonly tag: FingerprintCheck_Tags.Indeterminate;
|
|
1144
|
+
};
|
|
1145
|
+
"new"(): {
|
|
1146
|
+
/**
|
|
1147
|
+
* @private
|
|
1148
|
+
* This field is private and should not be used, use `tag` instead.
|
|
1149
|
+
*/
|
|
1150
|
+
readonly [uniffiTypeNameSymbol]: "FingerprintCheck";
|
|
1151
|
+
readonly tag: FingerprintCheck_Tags.Indeterminate;
|
|
1152
|
+
};
|
|
1153
|
+
instanceOf(obj: any): obj is {
|
|
1154
|
+
/**
|
|
1155
|
+
* @private
|
|
1156
|
+
* This field is private and should not be used, use `tag` instead.
|
|
1157
|
+
*/
|
|
1158
|
+
readonly [uniffiTypeNameSymbol]: "FingerprintCheck";
|
|
1159
|
+
readonly tag: FingerprintCheck_Tags.Indeterminate;
|
|
1160
|
+
};
|
|
1161
|
+
};
|
|
1162
|
+
Compared: {
|
|
1163
|
+
new (inner: {
|
|
1164
|
+
score: SimilarityScore;
|
|
1165
|
+
}): {
|
|
1166
|
+
/**
|
|
1167
|
+
* @private
|
|
1168
|
+
* This field is private and should not be used, use `tag` instead.
|
|
1169
|
+
*/
|
|
1170
|
+
readonly [uniffiTypeNameSymbol]: "FingerprintCheck";
|
|
1171
|
+
readonly tag: FingerprintCheck_Tags.Compared;
|
|
1172
|
+
readonly inner: Readonly<{
|
|
1173
|
+
score: SimilarityScore;
|
|
1174
|
+
}>;
|
|
1175
|
+
};
|
|
1176
|
+
"new"(inner: {
|
|
1177
|
+
score: SimilarityScore;
|
|
1178
|
+
}): {
|
|
1179
|
+
/**
|
|
1180
|
+
* @private
|
|
1181
|
+
* This field is private and should not be used, use `tag` instead.
|
|
1182
|
+
*/
|
|
1183
|
+
readonly [uniffiTypeNameSymbol]: "FingerprintCheck";
|
|
1184
|
+
readonly tag: FingerprintCheck_Tags.Compared;
|
|
1185
|
+
readonly inner: Readonly<{
|
|
1186
|
+
score: SimilarityScore;
|
|
1187
|
+
}>;
|
|
1188
|
+
};
|
|
1189
|
+
instanceOf(obj: any): obj is {
|
|
1190
|
+
/**
|
|
1191
|
+
* @private
|
|
1192
|
+
* This field is private and should not be used, use `tag` instead.
|
|
1193
|
+
*/
|
|
1194
|
+
readonly [uniffiTypeNameSymbol]: "FingerprintCheck";
|
|
1195
|
+
readonly tag: FingerprintCheck_Tags.Compared;
|
|
1196
|
+
readonly inner: Readonly<{
|
|
1197
|
+
score: SimilarityScore;
|
|
1198
|
+
}>;
|
|
1199
|
+
};
|
|
1200
|
+
};
|
|
1201
|
+
}>;
|
|
1202
|
+
/**
|
|
1203
|
+
* Whether the asset's own fingerprint backs up a manifest that a watermark led to.
|
|
1204
|
+
*
|
|
1205
|
+
* C2PA 2.4 1.2.2.3: a watermark can be lifted from one asset onto another, so a mark alone does
|
|
1206
|
+
* not establish that the manifest it resolves to describes THIS asset. The mitigation the spec
|
|
1207
|
+
* gives is to compare a fingerprint computed from the asset against the one the recovered
|
|
1208
|
+
* manifest records, and `watermark-and-fingerprint` ends on exactly that comparison.
|
|
1209
|
+
*
|
|
1210
|
+
* Reported rather than enforced: a transcode legitimately shifts a fingerprint, so where the line
|
|
1211
|
+
* falls is the relying party's policy, not this SDK's. What the SDK owes them is the measurement.
|
|
1212
|
+
*/
|
|
1213
|
+
export type FingerprintCheck = InstanceType<typeof FingerprintCheck['NotNeeded' | 'NothingToCompare' | 'Unsupported' | 'Indeterminate' | 'Compared']>;
|
|
1010
1214
|
export declare enum CredentialOrigin_Tags {
|
|
1011
1215
|
Embedded = "Embedded",
|
|
1012
1216
|
Recovered = "Recovered"
|
|
@@ -1046,6 +1250,7 @@ export declare const CredentialOrigin: Readonly<{
|
|
|
1046
1250
|
Recovered: {
|
|
1047
1251
|
new (inner: {
|
|
1048
1252
|
discoveries: Array<RecoveryDiscovery>;
|
|
1253
|
+
fingerprintCheck: FingerprintCheck;
|
|
1049
1254
|
}): {
|
|
1050
1255
|
/**
|
|
1051
1256
|
* @private
|
|
@@ -1055,10 +1260,12 @@ export declare const CredentialOrigin: Readonly<{
|
|
|
1055
1260
|
readonly tag: CredentialOrigin_Tags.Recovered;
|
|
1056
1261
|
readonly inner: Readonly<{
|
|
1057
1262
|
discoveries: Array<RecoveryDiscovery>;
|
|
1263
|
+
fingerprintCheck: FingerprintCheck;
|
|
1058
1264
|
}>;
|
|
1059
1265
|
};
|
|
1060
1266
|
"new"(inner: {
|
|
1061
1267
|
discoveries: Array<RecoveryDiscovery>;
|
|
1268
|
+
fingerprintCheck: FingerprintCheck;
|
|
1062
1269
|
}): {
|
|
1063
1270
|
/**
|
|
1064
1271
|
* @private
|
|
@@ -1068,6 +1275,7 @@ export declare const CredentialOrigin: Readonly<{
|
|
|
1068
1275
|
readonly tag: CredentialOrigin_Tags.Recovered;
|
|
1069
1276
|
readonly inner: Readonly<{
|
|
1070
1277
|
discoveries: Array<RecoveryDiscovery>;
|
|
1278
|
+
fingerprintCheck: FingerprintCheck;
|
|
1071
1279
|
}>;
|
|
1072
1280
|
};
|
|
1073
1281
|
instanceOf(obj: any): obj is {
|
|
@@ -1079,6 +1287,7 @@ export declare const CredentialOrigin: Readonly<{
|
|
|
1079
1287
|
readonly tag: CredentialOrigin_Tags.Recovered;
|
|
1080
1288
|
readonly inner: Readonly<{
|
|
1081
1289
|
discoveries: Array<RecoveryDiscovery>;
|
|
1290
|
+
fingerprintCheck: FingerprintCheck;
|
|
1082
1291
|
}>;
|
|
1083
1292
|
};
|
|
1084
1293
|
};
|
|
@@ -1109,7 +1318,7 @@ export type ManifestAssertion = {
|
|
|
1109
1318
|
/**
|
|
1110
1319
|
* The data of the assertion as Value
|
|
1111
1320
|
*/
|
|
1112
|
-
data:
|
|
1321
|
+
data: JsonValue;
|
|
1113
1322
|
/**
|
|
1114
1323
|
* There can be more than one assertion for any label
|
|
1115
1324
|
*/
|
|
@@ -1590,7 +1799,7 @@ export type Manifest = {
|
|
|
1590
1799
|
/**
|
|
1591
1800
|
* A List of verified credentials
|
|
1592
1801
|
*/
|
|
1593
|
-
credentials?: Array<
|
|
1802
|
+
credentials?: Array<JsonValue>;
|
|
1594
1803
|
/**
|
|
1595
1804
|
* The format of the source file as a MIME type.
|
|
1596
1805
|
*/
|
|
@@ -1701,195 +1910,6 @@ export declare const ManifestStore: Readonly<{
|
|
|
1701
1910
|
new: (partial: Partial<ManifestStore> & Required<Omit<ManifestStore, "activeManifest" | "validationResults" | "validationState" | "validationStatus">>) => ManifestStore;
|
|
1702
1911
|
defaults: () => Partial<ManifestStore>;
|
|
1703
1912
|
}>;
|
|
1704
|
-
export declare enum FingerprintCheck_Tags {
|
|
1705
|
-
NotNeeded = "NotNeeded",
|
|
1706
|
-
NothingToCompare = "NothingToCompare",
|
|
1707
|
-
Unsupported = "Unsupported",
|
|
1708
|
-
Indeterminate = "Indeterminate",
|
|
1709
|
-
Compared = "Compared"
|
|
1710
|
-
}
|
|
1711
|
-
/**
|
|
1712
|
-
* Whether the asset's own fingerprint backs up a manifest that a watermark led to.
|
|
1713
|
-
*
|
|
1714
|
-
* C2PA 2.4 1.2.2.3: a watermark can be lifted from one asset onto another, so a mark alone does
|
|
1715
|
-
* not establish that the manifest it resolves to describes THIS asset. The mitigation the spec
|
|
1716
|
-
* gives is to compare a fingerprint computed from the asset against the one the recovered
|
|
1717
|
-
* manifest records, and `watermark-and-fingerprint` ends on exactly that comparison.
|
|
1718
|
-
*
|
|
1719
|
-
* Reported rather than enforced: a transcode legitimately shifts a fingerprint, so where the line
|
|
1720
|
-
* falls is the relying party's policy, not this SDK's. What the SDK owes them is the measurement.
|
|
1721
|
-
*/
|
|
1722
|
-
export declare const FingerprintCheck: Readonly<{
|
|
1723
|
-
instanceOf: (obj: any) => obj is FingerprintCheck;
|
|
1724
|
-
NotNeeded: {
|
|
1725
|
-
new (): {
|
|
1726
|
-
/**
|
|
1727
|
-
* @private
|
|
1728
|
-
* This field is private and should not be used, use `tag` instead.
|
|
1729
|
-
*/
|
|
1730
|
-
readonly [uniffiTypeNameSymbol]: "FingerprintCheck";
|
|
1731
|
-
readonly tag: FingerprintCheck_Tags.NotNeeded;
|
|
1732
|
-
};
|
|
1733
|
-
"new"(): {
|
|
1734
|
-
/**
|
|
1735
|
-
* @private
|
|
1736
|
-
* This field is private and should not be used, use `tag` instead.
|
|
1737
|
-
*/
|
|
1738
|
-
readonly [uniffiTypeNameSymbol]: "FingerprintCheck";
|
|
1739
|
-
readonly tag: FingerprintCheck_Tags.NotNeeded;
|
|
1740
|
-
};
|
|
1741
|
-
instanceOf(obj: any): obj is {
|
|
1742
|
-
/**
|
|
1743
|
-
* @private
|
|
1744
|
-
* This field is private and should not be used, use `tag` instead.
|
|
1745
|
-
*/
|
|
1746
|
-
readonly [uniffiTypeNameSymbol]: "FingerprintCheck";
|
|
1747
|
-
readonly tag: FingerprintCheck_Tags.NotNeeded;
|
|
1748
|
-
};
|
|
1749
|
-
};
|
|
1750
|
-
NothingToCompare: {
|
|
1751
|
-
new (): {
|
|
1752
|
-
/**
|
|
1753
|
-
* @private
|
|
1754
|
-
* This field is private and should not be used, use `tag` instead.
|
|
1755
|
-
*/
|
|
1756
|
-
readonly [uniffiTypeNameSymbol]: "FingerprintCheck";
|
|
1757
|
-
readonly tag: FingerprintCheck_Tags.NothingToCompare;
|
|
1758
|
-
};
|
|
1759
|
-
"new"(): {
|
|
1760
|
-
/**
|
|
1761
|
-
* @private
|
|
1762
|
-
* This field is private and should not be used, use `tag` instead.
|
|
1763
|
-
*/
|
|
1764
|
-
readonly [uniffiTypeNameSymbol]: "FingerprintCheck";
|
|
1765
|
-
readonly tag: FingerprintCheck_Tags.NothingToCompare;
|
|
1766
|
-
};
|
|
1767
|
-
instanceOf(obj: any): obj is {
|
|
1768
|
-
/**
|
|
1769
|
-
* @private
|
|
1770
|
-
* This field is private and should not be used, use `tag` instead.
|
|
1771
|
-
*/
|
|
1772
|
-
readonly [uniffiTypeNameSymbol]: "FingerprintCheck";
|
|
1773
|
-
readonly tag: FingerprintCheck_Tags.NothingToCompare;
|
|
1774
|
-
};
|
|
1775
|
-
};
|
|
1776
|
-
Unsupported: {
|
|
1777
|
-
new (inner: {
|
|
1778
|
-
algorithm: string;
|
|
1779
|
-
}): {
|
|
1780
|
-
/**
|
|
1781
|
-
* @private
|
|
1782
|
-
* This field is private and should not be used, use `tag` instead.
|
|
1783
|
-
*/
|
|
1784
|
-
readonly [uniffiTypeNameSymbol]: "FingerprintCheck";
|
|
1785
|
-
readonly tag: FingerprintCheck_Tags.Unsupported;
|
|
1786
|
-
readonly inner: Readonly<{
|
|
1787
|
-
algorithm: string;
|
|
1788
|
-
}>;
|
|
1789
|
-
};
|
|
1790
|
-
"new"(inner: {
|
|
1791
|
-
algorithm: string;
|
|
1792
|
-
}): {
|
|
1793
|
-
/**
|
|
1794
|
-
* @private
|
|
1795
|
-
* This field is private and should not be used, use `tag` instead.
|
|
1796
|
-
*/
|
|
1797
|
-
readonly [uniffiTypeNameSymbol]: "FingerprintCheck";
|
|
1798
|
-
readonly tag: FingerprintCheck_Tags.Unsupported;
|
|
1799
|
-
readonly inner: Readonly<{
|
|
1800
|
-
algorithm: string;
|
|
1801
|
-
}>;
|
|
1802
|
-
};
|
|
1803
|
-
instanceOf(obj: any): obj is {
|
|
1804
|
-
/**
|
|
1805
|
-
* @private
|
|
1806
|
-
* This field is private and should not be used, use `tag` instead.
|
|
1807
|
-
*/
|
|
1808
|
-
readonly [uniffiTypeNameSymbol]: "FingerprintCheck";
|
|
1809
|
-
readonly tag: FingerprintCheck_Tags.Unsupported;
|
|
1810
|
-
readonly inner: Readonly<{
|
|
1811
|
-
algorithm: string;
|
|
1812
|
-
}>;
|
|
1813
|
-
};
|
|
1814
|
-
};
|
|
1815
|
-
Indeterminate: {
|
|
1816
|
-
new (): {
|
|
1817
|
-
/**
|
|
1818
|
-
* @private
|
|
1819
|
-
* This field is private and should not be used, use `tag` instead.
|
|
1820
|
-
*/
|
|
1821
|
-
readonly [uniffiTypeNameSymbol]: "FingerprintCheck";
|
|
1822
|
-
readonly tag: FingerprintCheck_Tags.Indeterminate;
|
|
1823
|
-
};
|
|
1824
|
-
"new"(): {
|
|
1825
|
-
/**
|
|
1826
|
-
* @private
|
|
1827
|
-
* This field is private and should not be used, use `tag` instead.
|
|
1828
|
-
*/
|
|
1829
|
-
readonly [uniffiTypeNameSymbol]: "FingerprintCheck";
|
|
1830
|
-
readonly tag: FingerprintCheck_Tags.Indeterminate;
|
|
1831
|
-
};
|
|
1832
|
-
instanceOf(obj: any): obj is {
|
|
1833
|
-
/**
|
|
1834
|
-
* @private
|
|
1835
|
-
* This field is private and should not be used, use `tag` instead.
|
|
1836
|
-
*/
|
|
1837
|
-
readonly [uniffiTypeNameSymbol]: "FingerprintCheck";
|
|
1838
|
-
readonly tag: FingerprintCheck_Tags.Indeterminate;
|
|
1839
|
-
};
|
|
1840
|
-
};
|
|
1841
|
-
Compared: {
|
|
1842
|
-
new (inner: {
|
|
1843
|
-
score: SimilarityScore;
|
|
1844
|
-
}): {
|
|
1845
|
-
/**
|
|
1846
|
-
* @private
|
|
1847
|
-
* This field is private and should not be used, use `tag` instead.
|
|
1848
|
-
*/
|
|
1849
|
-
readonly [uniffiTypeNameSymbol]: "FingerprintCheck";
|
|
1850
|
-
readonly tag: FingerprintCheck_Tags.Compared;
|
|
1851
|
-
readonly inner: Readonly<{
|
|
1852
|
-
score: SimilarityScore;
|
|
1853
|
-
}>;
|
|
1854
|
-
};
|
|
1855
|
-
"new"(inner: {
|
|
1856
|
-
score: SimilarityScore;
|
|
1857
|
-
}): {
|
|
1858
|
-
/**
|
|
1859
|
-
* @private
|
|
1860
|
-
* This field is private and should not be used, use `tag` instead.
|
|
1861
|
-
*/
|
|
1862
|
-
readonly [uniffiTypeNameSymbol]: "FingerprintCheck";
|
|
1863
|
-
readonly tag: FingerprintCheck_Tags.Compared;
|
|
1864
|
-
readonly inner: Readonly<{
|
|
1865
|
-
score: SimilarityScore;
|
|
1866
|
-
}>;
|
|
1867
|
-
};
|
|
1868
|
-
instanceOf(obj: any): obj is {
|
|
1869
|
-
/**
|
|
1870
|
-
* @private
|
|
1871
|
-
* This field is private and should not be used, use `tag` instead.
|
|
1872
|
-
*/
|
|
1873
|
-
readonly [uniffiTypeNameSymbol]: "FingerprintCheck";
|
|
1874
|
-
readonly tag: FingerprintCheck_Tags.Compared;
|
|
1875
|
-
readonly inner: Readonly<{
|
|
1876
|
-
score: SimilarityScore;
|
|
1877
|
-
}>;
|
|
1878
|
-
};
|
|
1879
|
-
};
|
|
1880
|
-
}>;
|
|
1881
|
-
/**
|
|
1882
|
-
* Whether the asset's own fingerprint backs up a manifest that a watermark led to.
|
|
1883
|
-
*
|
|
1884
|
-
* C2PA 2.4 1.2.2.3: a watermark can be lifted from one asset onto another, so a mark alone does
|
|
1885
|
-
* not establish that the manifest it resolves to describes THIS asset. The mitigation the spec
|
|
1886
|
-
* gives is to compare a fingerprint computed from the asset against the one the recovered
|
|
1887
|
-
* manifest records, and `watermark-and-fingerprint` ends on exactly that comparison.
|
|
1888
|
-
*
|
|
1889
|
-
* Reported rather than enforced: a transcode legitimately shifts a fingerprint, so where the line
|
|
1890
|
-
* falls is the relying party's policy, not this SDK's. What the SDK owes them is the measurement.
|
|
1891
|
-
*/
|
|
1892
|
-
export type FingerprintCheck = InstanceType<typeof FingerprintCheck['NotNeeded' | 'NothingToCompare' | 'Unsupported' | 'Indeterminate' | 'Compared']>;
|
|
1893
1913
|
/**
|
|
1894
1914
|
* Whether the manifest's hard binding holds over the bytes this verify read.
|
|
1895
1915
|
*
|
|
@@ -1902,7 +1922,7 @@ export declare enum HardBinding {
|
|
|
1902
1922
|
/**
|
|
1903
1923
|
* No data, box, BMFF or collection hash failed against these bytes.
|
|
1904
1924
|
*/
|
|
1905
|
-
|
|
1925
|
+
Match = 0,
|
|
1906
1926
|
/**
|
|
1907
1927
|
* A hash mismatch is among the active manifest's failures: the manifest describes other
|
|
1908
1928
|
* bytes. Whether it is otherwise authentic is its remaining statuses.
|
|
@@ -1912,7 +1932,7 @@ export declare enum HardBinding {
|
|
|
1912
1932
|
/**
|
|
1913
1933
|
* The re-sign chain, read from the validated stores themselves: C2PA 2.4 18.16.11 copies a
|
|
1914
1934
|
* `parentOf` ingredient's manifest into its successor's store, so a link here was signed by the
|
|
1915
|
-
* successor. A
|
|
1935
|
+
* successor. A repository's ordering is a hint; this is the evidence.
|
|
1916
1936
|
*/
|
|
1917
1937
|
export type Lineage = {
|
|
1918
1938
|
/**
|
|
@@ -1935,12 +1955,11 @@ export declare const Lineage: Readonly<{
|
|
|
1935
1955
|
defaults: () => Partial<Lineage>;
|
|
1936
1956
|
}>;
|
|
1937
1957
|
/**
|
|
1938
|
-
* One `verify` result: the c2pa manifest store, where it came from, whether
|
|
1939
|
-
*
|
|
1940
|
-
*
|
|
1941
|
-
* a recovering one are one type.
|
|
1958
|
+
* One `verify` result: the c2pa manifest store, where it came from, and whether its hard
|
|
1959
|
+
* binding holds over the bytes read. The recovered origin carries the same `SoftBinding` record
|
|
1960
|
+
* `Binder.derive` returns, so a derived binding and a recovering one are one type.
|
|
1942
1961
|
*/
|
|
1943
|
-
export type
|
|
1962
|
+
export type Credential = {
|
|
1944
1963
|
/**
|
|
1945
1964
|
* The bytes behind every thumbnail the manifests reference, by that reference's
|
|
1946
1965
|
* `identifier`: each manifest's claim thumbnail and each ingredient's. The manifests state
|
|
@@ -1956,10 +1975,6 @@ export type FoundCredential = {
|
|
|
1956
1975
|
* validation state and results.
|
|
1957
1976
|
*/
|
|
1958
1977
|
manifest: ManifestStore;
|
|
1959
|
-
/**
|
|
1960
|
-
* Whether the asset's own fingerprint backs up a mark that led here (C2PA 2.4 1.2.2.3).
|
|
1961
|
-
*/
|
|
1962
|
-
fingerprintCheck: FingerprintCheck;
|
|
1963
1978
|
/**
|
|
1964
1979
|
* Whether the manifest's hard binding holds over the bytes this verify read.
|
|
1965
1980
|
*/
|
|
@@ -1970,12 +1985,12 @@ export type FoundCredential = {
|
|
|
1970
1985
|
lineage: Lineage;
|
|
1971
1986
|
};
|
|
1972
1987
|
/**
|
|
1973
|
-
* Generated factory for {@link
|
|
1988
|
+
* Generated factory for {@link Credential} record objects.
|
|
1974
1989
|
*/
|
|
1975
|
-
export declare const
|
|
1976
|
-
create: (partial: Partial<
|
|
1977
|
-
new: (partial: Partial<
|
|
1978
|
-
defaults: () => Partial<
|
|
1990
|
+
export declare const Credential: Readonly<{
|
|
1991
|
+
create: (partial: Partial<Credential> & Required<Omit<Credential, never>>) => Credential;
|
|
1992
|
+
new: (partial: Partial<Credential> & Required<Omit<Credential, never>>) => Credential;
|
|
1993
|
+
defaults: () => Partial<Credential>;
|
|
1979
1994
|
}>;
|
|
1980
1995
|
/**
|
|
1981
1996
|
* Whether the configured recovery sequence ran to a conclusive answer.
|
|
@@ -1990,27 +2005,28 @@ export declare enum RecoveryStatus {
|
|
|
1990
2005
|
Incomplete = 3
|
|
1991
2006
|
}
|
|
1992
2007
|
export declare enum RecoveryIssue_Tags {
|
|
1993
|
-
|
|
1994
|
-
|
|
1995
|
-
|
|
2008
|
+
BinderFailed = "BinderFailed",
|
|
2009
|
+
AlgorithmDeprecated = "AlgorithmDeprecated",
|
|
2010
|
+
BindingUndeclared = "BindingUndeclared",
|
|
2011
|
+
BindingQueryFailed = "BindingQueryFailed",
|
|
1996
2012
|
QueryRefused = "QueryRefused",
|
|
1997
|
-
|
|
1998
|
-
|
|
1999
|
-
|
|
2013
|
+
ContentFormUnsupported = "ContentFormUnsupported",
|
|
2014
|
+
ContentQueryFailed = "ContentQueryFailed",
|
|
2015
|
+
CapabilitiesUnavailable = "CapabilitiesUnavailable",
|
|
2000
2016
|
ContentTooLarge = "ContentTooLarge",
|
|
2001
|
-
|
|
2002
|
-
|
|
2017
|
+
CandidateFetchFailed = "CandidateFetchFailed",
|
|
2018
|
+
CandidateInvalid = "CandidateInvalid",
|
|
2003
2019
|
EndpointRefused = "EndpointRefused",
|
|
2004
|
-
|
|
2020
|
+
ResourceLimitReached = "ResourceLimitReached"
|
|
2005
2021
|
}
|
|
2006
2022
|
/**
|
|
2007
|
-
* Why
|
|
2023
|
+
* Why repository recovery did not complete cleanly, or why one candidate was omitted while another
|
|
2008
2024
|
* succeeded. Kept as data so a partial recovery never loses the rest of the lookup outcome, and
|
|
2009
2025
|
* each kind carries exactly what it is about.
|
|
2010
2026
|
*/
|
|
2011
2027
|
export declare const RecoveryIssue: Readonly<{
|
|
2012
2028
|
instanceOf: (obj: any) => obj is RecoveryIssue;
|
|
2013
|
-
|
|
2029
|
+
BinderFailed: {
|
|
2014
2030
|
new (inner: {
|
|
2015
2031
|
binderIndex: number;
|
|
2016
2032
|
message: string;
|
|
@@ -2020,7 +2036,7 @@ export declare const RecoveryIssue: Readonly<{
|
|
|
2020
2036
|
* This field is private and should not be used, use `tag` instead.
|
|
2021
2037
|
*/
|
|
2022
2038
|
readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
|
|
2023
|
-
readonly tag: RecoveryIssue_Tags.
|
|
2039
|
+
readonly tag: RecoveryIssue_Tags.BinderFailed;
|
|
2024
2040
|
readonly inner: Readonly<{
|
|
2025
2041
|
binderIndex: number;
|
|
2026
2042
|
message: string;
|
|
@@ -2035,27 +2051,67 @@ export declare const RecoveryIssue: Readonly<{
|
|
|
2035
2051
|
* This field is private and should not be used, use `tag` instead.
|
|
2036
2052
|
*/
|
|
2037
2053
|
readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
|
|
2038
|
-
readonly tag: RecoveryIssue_Tags.
|
|
2054
|
+
readonly tag: RecoveryIssue_Tags.BinderFailed;
|
|
2055
|
+
readonly inner: Readonly<{
|
|
2056
|
+
binderIndex: number;
|
|
2057
|
+
message: string;
|
|
2058
|
+
}>;
|
|
2059
|
+
};
|
|
2060
|
+
instanceOf(obj: any): obj is {
|
|
2061
|
+
/**
|
|
2062
|
+
* @private
|
|
2063
|
+
* This field is private and should not be used, use `tag` instead.
|
|
2064
|
+
*/
|
|
2065
|
+
readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
|
|
2066
|
+
readonly tag: RecoveryIssue_Tags.BinderFailed;
|
|
2039
2067
|
readonly inner: Readonly<{
|
|
2040
2068
|
binderIndex: number;
|
|
2041
2069
|
message: string;
|
|
2042
2070
|
}>;
|
|
2043
2071
|
};
|
|
2072
|
+
};
|
|
2073
|
+
AlgorithmDeprecated: {
|
|
2074
|
+
new (inner: {
|
|
2075
|
+
algorithm: string;
|
|
2076
|
+
}): {
|
|
2077
|
+
/**
|
|
2078
|
+
* @private
|
|
2079
|
+
* This field is private and should not be used, use `tag` instead.
|
|
2080
|
+
*/
|
|
2081
|
+
readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
|
|
2082
|
+
readonly tag: RecoveryIssue_Tags.AlgorithmDeprecated;
|
|
2083
|
+
readonly inner: Readonly<{
|
|
2084
|
+
algorithm: string;
|
|
2085
|
+
}>;
|
|
2086
|
+
};
|
|
2087
|
+
"new"(inner: {
|
|
2088
|
+
algorithm: string;
|
|
2089
|
+
}): {
|
|
2090
|
+
/**
|
|
2091
|
+
* @private
|
|
2092
|
+
* This field is private and should not be used, use `tag` instead.
|
|
2093
|
+
*/
|
|
2094
|
+
readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
|
|
2095
|
+
readonly tag: RecoveryIssue_Tags.AlgorithmDeprecated;
|
|
2096
|
+
readonly inner: Readonly<{
|
|
2097
|
+
algorithm: string;
|
|
2098
|
+
}>;
|
|
2099
|
+
};
|
|
2044
2100
|
instanceOf(obj: any): obj is {
|
|
2045
2101
|
/**
|
|
2046
2102
|
* @private
|
|
2047
2103
|
* This field is private and should not be used, use `tag` instead.
|
|
2048
2104
|
*/
|
|
2049
2105
|
readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
|
|
2050
|
-
readonly tag: RecoveryIssue_Tags.
|
|
2106
|
+
readonly tag: RecoveryIssue_Tags.AlgorithmDeprecated;
|
|
2051
2107
|
readonly inner: Readonly<{
|
|
2052
|
-
|
|
2053
|
-
message: string;
|
|
2108
|
+
algorithm: string;
|
|
2054
2109
|
}>;
|
|
2055
2110
|
};
|
|
2056
2111
|
};
|
|
2057
|
-
|
|
2112
|
+
BindingUndeclared: {
|
|
2058
2113
|
new (inner: {
|
|
2114
|
+
binderIndex: number;
|
|
2059
2115
|
algorithm: string;
|
|
2060
2116
|
}): {
|
|
2061
2117
|
/**
|
|
@@ -2063,12 +2119,14 @@ export declare const RecoveryIssue: Readonly<{
|
|
|
2063
2119
|
* This field is private and should not be used, use `tag` instead.
|
|
2064
2120
|
*/
|
|
2065
2121
|
readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
|
|
2066
|
-
readonly tag: RecoveryIssue_Tags.
|
|
2122
|
+
readonly tag: RecoveryIssue_Tags.BindingUndeclared;
|
|
2067
2123
|
readonly inner: Readonly<{
|
|
2124
|
+
binderIndex: number;
|
|
2068
2125
|
algorithm: string;
|
|
2069
2126
|
}>;
|
|
2070
2127
|
};
|
|
2071
2128
|
"new"(inner: {
|
|
2129
|
+
binderIndex: number;
|
|
2072
2130
|
algorithm: string;
|
|
2073
2131
|
}): {
|
|
2074
2132
|
/**
|
|
@@ -2076,8 +2134,9 @@ export declare const RecoveryIssue: Readonly<{
|
|
|
2076
2134
|
* This field is private and should not be used, use `tag` instead.
|
|
2077
2135
|
*/
|
|
2078
2136
|
readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
|
|
2079
|
-
readonly tag: RecoveryIssue_Tags.
|
|
2137
|
+
readonly tag: RecoveryIssue_Tags.BindingUndeclared;
|
|
2080
2138
|
readonly inner: Readonly<{
|
|
2139
|
+
binderIndex: number;
|
|
2081
2140
|
algorithm: string;
|
|
2082
2141
|
}>;
|
|
2083
2142
|
};
|
|
@@ -2087,14 +2146,16 @@ export declare const RecoveryIssue: Readonly<{
|
|
|
2087
2146
|
* This field is private and should not be used, use `tag` instead.
|
|
2088
2147
|
*/
|
|
2089
2148
|
readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
|
|
2090
|
-
readonly tag: RecoveryIssue_Tags.
|
|
2149
|
+
readonly tag: RecoveryIssue_Tags.BindingUndeclared;
|
|
2091
2150
|
readonly inner: Readonly<{
|
|
2151
|
+
binderIndex: number;
|
|
2092
2152
|
algorithm: string;
|
|
2093
2153
|
}>;
|
|
2094
2154
|
};
|
|
2095
2155
|
};
|
|
2096
|
-
|
|
2156
|
+
BindingQueryFailed: {
|
|
2097
2157
|
new (inner: {
|
|
2158
|
+
repository: string;
|
|
2098
2159
|
binderIndex: number;
|
|
2099
2160
|
algorithm: string;
|
|
2100
2161
|
message: string;
|
|
@@ -2104,14 +2165,16 @@ export declare const RecoveryIssue: Readonly<{
|
|
|
2104
2165
|
* This field is private and should not be used, use `tag` instead.
|
|
2105
2166
|
*/
|
|
2106
2167
|
readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
|
|
2107
|
-
readonly tag: RecoveryIssue_Tags.
|
|
2168
|
+
readonly tag: RecoveryIssue_Tags.BindingQueryFailed;
|
|
2108
2169
|
readonly inner: Readonly<{
|
|
2170
|
+
repository: string;
|
|
2109
2171
|
binderIndex: number;
|
|
2110
2172
|
algorithm: string;
|
|
2111
2173
|
message: string;
|
|
2112
2174
|
}>;
|
|
2113
2175
|
};
|
|
2114
2176
|
"new"(inner: {
|
|
2177
|
+
repository: string;
|
|
2115
2178
|
binderIndex: number;
|
|
2116
2179
|
algorithm: string;
|
|
2117
2180
|
message: string;
|
|
@@ -2121,8 +2184,9 @@ export declare const RecoveryIssue: Readonly<{
|
|
|
2121
2184
|
* This field is private and should not be used, use `tag` instead.
|
|
2122
2185
|
*/
|
|
2123
2186
|
readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
|
|
2124
|
-
readonly tag: RecoveryIssue_Tags.
|
|
2187
|
+
readonly tag: RecoveryIssue_Tags.BindingQueryFailed;
|
|
2125
2188
|
readonly inner: Readonly<{
|
|
2189
|
+
repository: string;
|
|
2126
2190
|
binderIndex: number;
|
|
2127
2191
|
algorithm: string;
|
|
2128
2192
|
message: string;
|
|
@@ -2134,8 +2198,9 @@ export declare const RecoveryIssue: Readonly<{
|
|
|
2134
2198
|
* This field is private and should not be used, use `tag` instead.
|
|
2135
2199
|
*/
|
|
2136
2200
|
readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
|
|
2137
|
-
readonly tag: RecoveryIssue_Tags.
|
|
2201
|
+
readonly tag: RecoveryIssue_Tags.BindingQueryFailed;
|
|
2138
2202
|
readonly inner: Readonly<{
|
|
2203
|
+
repository: string;
|
|
2139
2204
|
binderIndex: number;
|
|
2140
2205
|
algorithm: string;
|
|
2141
2206
|
message: string;
|
|
@@ -2144,6 +2209,7 @@ export declare const RecoveryIssue: Readonly<{
|
|
|
2144
2209
|
};
|
|
2145
2210
|
QueryRefused: {
|
|
2146
2211
|
new (inner: {
|
|
2212
|
+
repository: string;
|
|
2147
2213
|
algorithm: string;
|
|
2148
2214
|
message: string;
|
|
2149
2215
|
}): {
|
|
@@ -2154,11 +2220,13 @@ export declare const RecoveryIssue: Readonly<{
|
|
|
2154
2220
|
readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
|
|
2155
2221
|
readonly tag: RecoveryIssue_Tags.QueryRefused;
|
|
2156
2222
|
readonly inner: Readonly<{
|
|
2223
|
+
repository: string;
|
|
2157
2224
|
algorithm: string;
|
|
2158
2225
|
message: string;
|
|
2159
2226
|
}>;
|
|
2160
2227
|
};
|
|
2161
2228
|
"new"(inner: {
|
|
2229
|
+
repository: string;
|
|
2162
2230
|
algorithm: string;
|
|
2163
2231
|
message: string;
|
|
2164
2232
|
}): {
|
|
@@ -2169,6 +2237,7 @@ export declare const RecoveryIssue: Readonly<{
|
|
|
2169
2237
|
readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
|
|
2170
2238
|
readonly tag: RecoveryIssue_Tags.QueryRefused;
|
|
2171
2239
|
readonly inner: Readonly<{
|
|
2240
|
+
repository: string;
|
|
2172
2241
|
algorithm: string;
|
|
2173
2242
|
message: string;
|
|
2174
2243
|
}>;
|
|
@@ -2181,13 +2250,15 @@ export declare const RecoveryIssue: Readonly<{
|
|
|
2181
2250
|
readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
|
|
2182
2251
|
readonly tag: RecoveryIssue_Tags.QueryRefused;
|
|
2183
2252
|
readonly inner: Readonly<{
|
|
2253
|
+
repository: string;
|
|
2184
2254
|
algorithm: string;
|
|
2185
2255
|
message: string;
|
|
2186
2256
|
}>;
|
|
2187
2257
|
};
|
|
2188
2258
|
};
|
|
2189
|
-
|
|
2259
|
+
ContentFormUnsupported: {
|
|
2190
2260
|
new (inner: {
|
|
2261
|
+
repository: string;
|
|
2191
2262
|
message: string;
|
|
2192
2263
|
}): {
|
|
2193
2264
|
/**
|
|
@@ -2195,12 +2266,14 @@ export declare const RecoveryIssue: Readonly<{
|
|
|
2195
2266
|
* This field is private and should not be used, use `tag` instead.
|
|
2196
2267
|
*/
|
|
2197
2268
|
readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
|
|
2198
|
-
readonly tag: RecoveryIssue_Tags.
|
|
2269
|
+
readonly tag: RecoveryIssue_Tags.ContentFormUnsupported;
|
|
2199
2270
|
readonly inner: Readonly<{
|
|
2271
|
+
repository: string;
|
|
2200
2272
|
message: string;
|
|
2201
2273
|
}>;
|
|
2202
2274
|
};
|
|
2203
2275
|
"new"(inner: {
|
|
2276
|
+
repository: string;
|
|
2204
2277
|
message: string;
|
|
2205
2278
|
}): {
|
|
2206
2279
|
/**
|
|
@@ -2208,8 +2281,9 @@ export declare const RecoveryIssue: Readonly<{
|
|
|
2208
2281
|
* This field is private and should not be used, use `tag` instead.
|
|
2209
2282
|
*/
|
|
2210
2283
|
readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
|
|
2211
|
-
readonly tag: RecoveryIssue_Tags.
|
|
2284
|
+
readonly tag: RecoveryIssue_Tags.ContentFormUnsupported;
|
|
2212
2285
|
readonly inner: Readonly<{
|
|
2286
|
+
repository: string;
|
|
2213
2287
|
message: string;
|
|
2214
2288
|
}>;
|
|
2215
2289
|
};
|
|
@@ -2219,14 +2293,16 @@ export declare const RecoveryIssue: Readonly<{
|
|
|
2219
2293
|
* This field is private and should not be used, use `tag` instead.
|
|
2220
2294
|
*/
|
|
2221
2295
|
readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
|
|
2222
|
-
readonly tag: RecoveryIssue_Tags.
|
|
2296
|
+
readonly tag: RecoveryIssue_Tags.ContentFormUnsupported;
|
|
2223
2297
|
readonly inner: Readonly<{
|
|
2298
|
+
repository: string;
|
|
2224
2299
|
message: string;
|
|
2225
2300
|
}>;
|
|
2226
2301
|
};
|
|
2227
2302
|
};
|
|
2228
|
-
|
|
2303
|
+
ContentQueryFailed: {
|
|
2229
2304
|
new (inner: {
|
|
2305
|
+
repository: string;
|
|
2230
2306
|
algorithm: string;
|
|
2231
2307
|
message: string;
|
|
2232
2308
|
}): {
|
|
@@ -2235,13 +2311,15 @@ export declare const RecoveryIssue: Readonly<{
|
|
|
2235
2311
|
* This field is private and should not be used, use `tag` instead.
|
|
2236
2312
|
*/
|
|
2237
2313
|
readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
|
|
2238
|
-
readonly tag: RecoveryIssue_Tags.
|
|
2314
|
+
readonly tag: RecoveryIssue_Tags.ContentQueryFailed;
|
|
2239
2315
|
readonly inner: Readonly<{
|
|
2316
|
+
repository: string;
|
|
2240
2317
|
algorithm: string;
|
|
2241
2318
|
message: string;
|
|
2242
2319
|
}>;
|
|
2243
2320
|
};
|
|
2244
2321
|
"new"(inner: {
|
|
2322
|
+
repository: string;
|
|
2245
2323
|
algorithm: string;
|
|
2246
2324
|
message: string;
|
|
2247
2325
|
}): {
|
|
@@ -2250,8 +2328,9 @@ export declare const RecoveryIssue: Readonly<{
|
|
|
2250
2328
|
* This field is private and should not be used, use `tag` instead.
|
|
2251
2329
|
*/
|
|
2252
2330
|
readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
|
|
2253
|
-
readonly tag: RecoveryIssue_Tags.
|
|
2331
|
+
readonly tag: RecoveryIssue_Tags.ContentQueryFailed;
|
|
2254
2332
|
readonly inner: Readonly<{
|
|
2333
|
+
repository: string;
|
|
2255
2334
|
algorithm: string;
|
|
2256
2335
|
message: string;
|
|
2257
2336
|
}>;
|
|
@@ -2262,15 +2341,17 @@ export declare const RecoveryIssue: Readonly<{
|
|
|
2262
2341
|
* This field is private and should not be used, use `tag` instead.
|
|
2263
2342
|
*/
|
|
2264
2343
|
readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
|
|
2265
|
-
readonly tag: RecoveryIssue_Tags.
|
|
2344
|
+
readonly tag: RecoveryIssue_Tags.ContentQueryFailed;
|
|
2266
2345
|
readonly inner: Readonly<{
|
|
2346
|
+
repository: string;
|
|
2267
2347
|
algorithm: string;
|
|
2268
2348
|
message: string;
|
|
2269
2349
|
}>;
|
|
2270
2350
|
};
|
|
2271
2351
|
};
|
|
2272
|
-
|
|
2352
|
+
CapabilitiesUnavailable: {
|
|
2273
2353
|
new (inner: {
|
|
2354
|
+
repository: string;
|
|
2274
2355
|
message: string;
|
|
2275
2356
|
}): {
|
|
2276
2357
|
/**
|
|
@@ -2278,12 +2359,14 @@ export declare const RecoveryIssue: Readonly<{
|
|
|
2278
2359
|
* This field is private and should not be used, use `tag` instead.
|
|
2279
2360
|
*/
|
|
2280
2361
|
readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
|
|
2281
|
-
readonly tag: RecoveryIssue_Tags.
|
|
2362
|
+
readonly tag: RecoveryIssue_Tags.CapabilitiesUnavailable;
|
|
2282
2363
|
readonly inner: Readonly<{
|
|
2364
|
+
repository: string;
|
|
2283
2365
|
message: string;
|
|
2284
2366
|
}>;
|
|
2285
2367
|
};
|
|
2286
2368
|
"new"(inner: {
|
|
2369
|
+
repository: string;
|
|
2287
2370
|
message: string;
|
|
2288
2371
|
}): {
|
|
2289
2372
|
/**
|
|
@@ -2291,8 +2374,9 @@ export declare const RecoveryIssue: Readonly<{
|
|
|
2291
2374
|
* This field is private and should not be used, use `tag` instead.
|
|
2292
2375
|
*/
|
|
2293
2376
|
readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
|
|
2294
|
-
readonly tag: RecoveryIssue_Tags.
|
|
2377
|
+
readonly tag: RecoveryIssue_Tags.CapabilitiesUnavailable;
|
|
2295
2378
|
readonly inner: Readonly<{
|
|
2379
|
+
repository: string;
|
|
2296
2380
|
message: string;
|
|
2297
2381
|
}>;
|
|
2298
2382
|
};
|
|
@@ -2302,8 +2386,9 @@ export declare const RecoveryIssue: Readonly<{
|
|
|
2302
2386
|
* This field is private and should not be used, use `tag` instead.
|
|
2303
2387
|
*/
|
|
2304
2388
|
readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
|
|
2305
|
-
readonly tag: RecoveryIssue_Tags.
|
|
2389
|
+
readonly tag: RecoveryIssue_Tags.CapabilitiesUnavailable;
|
|
2306
2390
|
readonly inner: Readonly<{
|
|
2391
|
+
repository: string;
|
|
2307
2392
|
message: string;
|
|
2308
2393
|
}>;
|
|
2309
2394
|
};
|
|
@@ -2347,8 +2432,9 @@ export declare const RecoveryIssue: Readonly<{
|
|
|
2347
2432
|
}>;
|
|
2348
2433
|
};
|
|
2349
2434
|
};
|
|
2350
|
-
|
|
2435
|
+
CandidateFetchFailed: {
|
|
2351
2436
|
new (inner: {
|
|
2437
|
+
repository: string;
|
|
2352
2438
|
manifestId: string;
|
|
2353
2439
|
message: string;
|
|
2354
2440
|
}): {
|
|
@@ -2357,13 +2443,15 @@ export declare const RecoveryIssue: Readonly<{
|
|
|
2357
2443
|
* This field is private and should not be used, use `tag` instead.
|
|
2358
2444
|
*/
|
|
2359
2445
|
readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
|
|
2360
|
-
readonly tag: RecoveryIssue_Tags.
|
|
2446
|
+
readonly tag: RecoveryIssue_Tags.CandidateFetchFailed;
|
|
2361
2447
|
readonly inner: Readonly<{
|
|
2448
|
+
repository: string;
|
|
2362
2449
|
manifestId: string;
|
|
2363
2450
|
message: string;
|
|
2364
2451
|
}>;
|
|
2365
2452
|
};
|
|
2366
2453
|
"new"(inner: {
|
|
2454
|
+
repository: string;
|
|
2367
2455
|
manifestId: string;
|
|
2368
2456
|
message: string;
|
|
2369
2457
|
}): {
|
|
@@ -2372,8 +2460,9 @@ export declare const RecoveryIssue: Readonly<{
|
|
|
2372
2460
|
* This field is private and should not be used, use `tag` instead.
|
|
2373
2461
|
*/
|
|
2374
2462
|
readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
|
|
2375
|
-
readonly tag: RecoveryIssue_Tags.
|
|
2463
|
+
readonly tag: RecoveryIssue_Tags.CandidateFetchFailed;
|
|
2376
2464
|
readonly inner: Readonly<{
|
|
2465
|
+
repository: string;
|
|
2377
2466
|
manifestId: string;
|
|
2378
2467
|
message: string;
|
|
2379
2468
|
}>;
|
|
@@ -2384,14 +2473,15 @@ export declare const RecoveryIssue: Readonly<{
|
|
|
2384
2473
|
* This field is private and should not be used, use `tag` instead.
|
|
2385
2474
|
*/
|
|
2386
2475
|
readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
|
|
2387
|
-
readonly tag: RecoveryIssue_Tags.
|
|
2476
|
+
readonly tag: RecoveryIssue_Tags.CandidateFetchFailed;
|
|
2388
2477
|
readonly inner: Readonly<{
|
|
2478
|
+
repository: string;
|
|
2389
2479
|
manifestId: string;
|
|
2390
2480
|
message: string;
|
|
2391
2481
|
}>;
|
|
2392
2482
|
};
|
|
2393
2483
|
};
|
|
2394
|
-
|
|
2484
|
+
CandidateInvalid: {
|
|
2395
2485
|
new (inner: {
|
|
2396
2486
|
manifestId: string;
|
|
2397
2487
|
reason: string;
|
|
@@ -2401,7 +2491,7 @@ export declare const RecoveryIssue: Readonly<{
|
|
|
2401
2491
|
* This field is private and should not be used, use `tag` instead.
|
|
2402
2492
|
*/
|
|
2403
2493
|
readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
|
|
2404
|
-
readonly tag: RecoveryIssue_Tags.
|
|
2494
|
+
readonly tag: RecoveryIssue_Tags.CandidateInvalid;
|
|
2405
2495
|
readonly inner: Readonly<{
|
|
2406
2496
|
manifestId: string;
|
|
2407
2497
|
reason: string;
|
|
@@ -2416,7 +2506,7 @@ export declare const RecoveryIssue: Readonly<{
|
|
|
2416
2506
|
* This field is private and should not be used, use `tag` instead.
|
|
2417
2507
|
*/
|
|
2418
2508
|
readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
|
|
2419
|
-
readonly tag: RecoveryIssue_Tags.
|
|
2509
|
+
readonly tag: RecoveryIssue_Tags.CandidateInvalid;
|
|
2420
2510
|
readonly inner: Readonly<{
|
|
2421
2511
|
manifestId: string;
|
|
2422
2512
|
reason: string;
|
|
@@ -2428,7 +2518,7 @@ export declare const RecoveryIssue: Readonly<{
|
|
|
2428
2518
|
* This field is private and should not be used, use `tag` instead.
|
|
2429
2519
|
*/
|
|
2430
2520
|
readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
|
|
2431
|
-
readonly tag: RecoveryIssue_Tags.
|
|
2521
|
+
readonly tag: RecoveryIssue_Tags.CandidateInvalid;
|
|
2432
2522
|
readonly inner: Readonly<{
|
|
2433
2523
|
manifestId: string;
|
|
2434
2524
|
reason: string;
|
|
@@ -2437,6 +2527,7 @@ export declare const RecoveryIssue: Readonly<{
|
|
|
2437
2527
|
};
|
|
2438
2528
|
EndpointRefused: {
|
|
2439
2529
|
new (inner: {
|
|
2530
|
+
repository: string;
|
|
2440
2531
|
manifestId: string;
|
|
2441
2532
|
endpoint: string;
|
|
2442
2533
|
}): {
|
|
@@ -2447,11 +2538,13 @@ export declare const RecoveryIssue: Readonly<{
|
|
|
2447
2538
|
readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
|
|
2448
2539
|
readonly tag: RecoveryIssue_Tags.EndpointRefused;
|
|
2449
2540
|
readonly inner: Readonly<{
|
|
2541
|
+
repository: string;
|
|
2450
2542
|
manifestId: string;
|
|
2451
2543
|
endpoint: string;
|
|
2452
2544
|
}>;
|
|
2453
2545
|
};
|
|
2454
2546
|
"new"(inner: {
|
|
2547
|
+
repository: string;
|
|
2455
2548
|
manifestId: string;
|
|
2456
2549
|
endpoint: string;
|
|
2457
2550
|
}): {
|
|
@@ -2462,6 +2555,7 @@ export declare const RecoveryIssue: Readonly<{
|
|
|
2462
2555
|
readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
|
|
2463
2556
|
readonly tag: RecoveryIssue_Tags.EndpointRefused;
|
|
2464
2557
|
readonly inner: Readonly<{
|
|
2558
|
+
repository: string;
|
|
2465
2559
|
manifestId: string;
|
|
2466
2560
|
endpoint: string;
|
|
2467
2561
|
}>;
|
|
@@ -2474,12 +2568,13 @@ export declare const RecoveryIssue: Readonly<{
|
|
|
2474
2568
|
readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
|
|
2475
2569
|
readonly tag: RecoveryIssue_Tags.EndpointRefused;
|
|
2476
2570
|
readonly inner: Readonly<{
|
|
2571
|
+
repository: string;
|
|
2477
2572
|
manifestId: string;
|
|
2478
2573
|
endpoint: string;
|
|
2479
2574
|
}>;
|
|
2480
2575
|
};
|
|
2481
2576
|
};
|
|
2482
|
-
|
|
2577
|
+
ResourceLimitReached: {
|
|
2483
2578
|
new (inner: {
|
|
2484
2579
|
message: string;
|
|
2485
2580
|
}): {
|
|
@@ -2488,7 +2583,7 @@ export declare const RecoveryIssue: Readonly<{
|
|
|
2488
2583
|
* This field is private and should not be used, use `tag` instead.
|
|
2489
2584
|
*/
|
|
2490
2585
|
readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
|
|
2491
|
-
readonly tag: RecoveryIssue_Tags.
|
|
2586
|
+
readonly tag: RecoveryIssue_Tags.ResourceLimitReached;
|
|
2492
2587
|
readonly inner: Readonly<{
|
|
2493
2588
|
message: string;
|
|
2494
2589
|
}>;
|
|
@@ -2501,7 +2596,7 @@ export declare const RecoveryIssue: Readonly<{
|
|
|
2501
2596
|
* This field is private and should not be used, use `tag` instead.
|
|
2502
2597
|
*/
|
|
2503
2598
|
readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
|
|
2504
|
-
readonly tag: RecoveryIssue_Tags.
|
|
2599
|
+
readonly tag: RecoveryIssue_Tags.ResourceLimitReached;
|
|
2505
2600
|
readonly inner: Readonly<{
|
|
2506
2601
|
message: string;
|
|
2507
2602
|
}>;
|
|
@@ -2512,7 +2607,7 @@ export declare const RecoveryIssue: Readonly<{
|
|
|
2512
2607
|
* This field is private and should not be used, use `tag` instead.
|
|
2513
2608
|
*/
|
|
2514
2609
|
readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
|
|
2515
|
-
readonly tag: RecoveryIssue_Tags.
|
|
2610
|
+
readonly tag: RecoveryIssue_Tags.ResourceLimitReached;
|
|
2516
2611
|
readonly inner: Readonly<{
|
|
2517
2612
|
message: string;
|
|
2518
2613
|
}>;
|
|
@@ -2520,13 +2615,13 @@ export declare const RecoveryIssue: Readonly<{
|
|
|
2520
2615
|
};
|
|
2521
2616
|
}>;
|
|
2522
2617
|
/**
|
|
2523
|
-
* Why
|
|
2618
|
+
* Why repository recovery did not complete cleanly, or why one candidate was omitted while another
|
|
2524
2619
|
* succeeded. Kept as data so a partial recovery never loses the rest of the lookup outcome, and
|
|
2525
2620
|
* each kind carries exactly what it is about.
|
|
2526
2621
|
*/
|
|
2527
|
-
export type RecoveryIssue = InstanceType<typeof RecoveryIssue['
|
|
2622
|
+
export type RecoveryIssue = InstanceType<typeof RecoveryIssue['BinderFailed' | 'AlgorithmDeprecated' | 'BindingUndeclared' | 'BindingQueryFailed' | 'QueryRefused' | 'ContentFormUnsupported' | 'ContentQueryFailed' | 'CapabilitiesUnavailable' | 'ContentTooLarge' | 'CandidateFetchFailed' | 'CandidateInvalid' | 'EndpointRefused' | 'ResourceLimitReached']>;
|
|
2528
2623
|
/**
|
|
2529
|
-
*
|
|
2624
|
+
* Repository recovery outcome and every non-fatal issue encountered on the way.
|
|
2530
2625
|
*/
|
|
2531
2626
|
export type RecoverySummary = {
|
|
2532
2627
|
status: RecoveryStatus;
|
|
@@ -2552,7 +2647,7 @@ export declare enum GoldenComparison_Tags {
|
|
|
2552
2647
|
}
|
|
2553
2648
|
/**
|
|
2554
2649
|
* Typed completion of C2PA 2.4's `watermark-golden` / `fingerprint-golden` final comparison:
|
|
2555
|
-
* the local active manifest against what the
|
|
2650
|
+
* the local active manifest against what the repository holds. Every outcome is its own variant.
|
|
2556
2651
|
*/
|
|
2557
2652
|
export declare const GoldenComparison: Readonly<{
|
|
2558
2653
|
instanceOf: (obj: any) => obj is GoldenComparison;
|
|
@@ -2819,7 +2914,7 @@ export declare const GoldenComparison: Readonly<{
|
|
|
2819
2914
|
}>;
|
|
2820
2915
|
/**
|
|
2821
2916
|
* Typed completion of C2PA 2.4's `watermark-golden` / `fingerprint-golden` final comparison:
|
|
2822
|
-
* the local active manifest against what the
|
|
2917
|
+
* the local active manifest against what the repository holds. Every outcome is its own variant.
|
|
2823
2918
|
*/
|
|
2824
2919
|
export type GoldenComparison = InstanceType<typeof GoldenComparison['NotRequested' | 'NoEmbeddedManifest' | 'NoRecoveredManifest' | 'RecoveryIncomplete' | 'Matches' | 'Differs' | 'NoneMatches' | 'Unreadable']>;
|
|
2825
2920
|
/**
|
|
@@ -2850,13 +2945,13 @@ export declare enum Verdict_Tags {
|
|
|
2850
2945
|
* and the list stays whole beside it.
|
|
2851
2946
|
*
|
|
2852
2947
|
* The embedded manifest is the verdict whenever the asset carries one that is not `Invalid`
|
|
2853
|
-
* and the golden comparison does not contradict it. When it `differs` from what the
|
|
2948
|
+
* and the golden comparison does not contradict it. When it `differs` from what the repository
|
|
2854
2949
|
* holds, or several recovered candidates leave the comparison indeterminate, the embedded and
|
|
2855
2950
|
* the recovered manifests are reported as ambiguous: C2PA 2.4's substitution use case leaves
|
|
2856
2951
|
* that trust decision to the client. Otherwise a recovered candidate is named only when
|
|
2857
2952
|
* evidence singles it out: it is the only one, or the only one no other credential in this
|
|
2858
2953
|
* report supersedes (the successor's signed `parentOf` link), or the only one of those whose
|
|
2859
|
-
* hard binding holds over these bytes. A
|
|
2954
|
+
* hard binding holds over these bytes. A repository score, a signature time or a position in the
|
|
2860
2955
|
* list is not evidence of which manifest belongs to these bytes, so candidates those alone would
|
|
2861
2956
|
* separate are reported as ambiguous.
|
|
2862
2957
|
*/
|
|
@@ -3074,13 +3169,13 @@ export declare const Verdict: Readonly<{
|
|
|
3074
3169
|
* and the list stays whole beside it.
|
|
3075
3170
|
*
|
|
3076
3171
|
* The embedded manifest is the verdict whenever the asset carries one that is not `Invalid`
|
|
3077
|
-
* and the golden comparison does not contradict it. When it `differs` from what the
|
|
3172
|
+
* and the golden comparison does not contradict it. When it `differs` from what the repository
|
|
3078
3173
|
* holds, or several recovered candidates leave the comparison indeterminate, the embedded and
|
|
3079
3174
|
* the recovered manifests are reported as ambiguous: C2PA 2.4's substitution use case leaves
|
|
3080
3175
|
* that trust decision to the client. Otherwise a recovered candidate is named only when
|
|
3081
3176
|
* evidence singles it out: it is the only one, or the only one no other credential in this
|
|
3082
3177
|
* report supersedes (the successor's signed `parentOf` link), or the only one of those whose
|
|
3083
|
-
* hard binding holds over these bytes. A
|
|
3178
|
+
* hard binding holds over these bytes. A repository score, a signature time or a position in the
|
|
3084
3179
|
* list is not evidence of which manifest belongs to these bytes, so candidates those alone would
|
|
3085
3180
|
* separate are reported as ambiguous.
|
|
3086
3181
|
*/
|
|
@@ -3090,7 +3185,7 @@ export type Verdict = InstanceType<typeof Verdict['Unsigned' | 'Inconclusive' |
|
|
|
3090
3185
|
* golden-flow comparison, and the verdict the SDK's rules choose. See [`asset::Verdict`].
|
|
3091
3186
|
*/
|
|
3092
3187
|
export type AssetVerification = {
|
|
3093
|
-
credentials: Array<
|
|
3188
|
+
credentials: Array<Credential>;
|
|
3094
3189
|
recovery: RecoverySummary;
|
|
3095
3190
|
goldenComparison: GoldenComparison;
|
|
3096
3191
|
verdict: Verdict;
|
|
@@ -3103,66 +3198,146 @@ export declare const AssetVerification: Readonly<{
|
|
|
3103
3198
|
new: (partial: Partial<AssetVerification> & Required<Omit<AssetVerification, never>>) => AssetVerification;
|
|
3104
3199
|
defaults: () => Partial<AssetVerification>;
|
|
3105
3200
|
}>;
|
|
3201
|
+
export declare enum Repository_Tags {
|
|
3202
|
+
Named = "Named",
|
|
3203
|
+
Listed = "Listed"
|
|
3204
|
+
}
|
|
3106
3205
|
/**
|
|
3107
|
-
*
|
|
3206
|
+
* One C2PA manifest repository, as the Soft Binding Resolution API spec lets a client find it.
|
|
3108
3207
|
*/
|
|
3109
|
-
export
|
|
3110
|
-
|
|
3111
|
-
|
|
3112
|
-
|
|
3113
|
-
|
|
3114
|
-
|
|
3115
|
-
|
|
3116
|
-
|
|
3117
|
-
|
|
3118
|
-
|
|
3119
|
-
|
|
3120
|
-
|
|
3121
|
-
|
|
3208
|
+
export declare const Repository: Readonly<{
|
|
3209
|
+
instanceOf: (obj: any) => obj is Repository;
|
|
3210
|
+
Named: {
|
|
3211
|
+
new (inner: {
|
|
3212
|
+
url: string;
|
|
3213
|
+
algorithms: Array<string>;
|
|
3214
|
+
}): {
|
|
3215
|
+
/**
|
|
3216
|
+
* @private
|
|
3217
|
+
* This field is private and should not be used, use `tag` instead.
|
|
3218
|
+
*/
|
|
3219
|
+
readonly [uniffiTypeNameSymbol]: "Repository";
|
|
3220
|
+
readonly tag: Repository_Tags.Named;
|
|
3221
|
+
readonly inner: Readonly<{
|
|
3222
|
+
url: string;
|
|
3223
|
+
algorithms: Array<string>;
|
|
3224
|
+
}>;
|
|
3225
|
+
};
|
|
3226
|
+
"new"(inner: {
|
|
3227
|
+
url: string;
|
|
3228
|
+
algorithms: Array<string>;
|
|
3229
|
+
}): {
|
|
3230
|
+
/**
|
|
3231
|
+
* @private
|
|
3232
|
+
* This field is private and should not be used, use `tag` instead.
|
|
3233
|
+
*/
|
|
3234
|
+
readonly [uniffiTypeNameSymbol]: "Repository";
|
|
3235
|
+
readonly tag: Repository_Tags.Named;
|
|
3236
|
+
readonly inner: Readonly<{
|
|
3237
|
+
url: string;
|
|
3238
|
+
algorithms: Array<string>;
|
|
3239
|
+
}>;
|
|
3240
|
+
};
|
|
3241
|
+
instanceOf(obj: any): obj is {
|
|
3242
|
+
/**
|
|
3243
|
+
* @private
|
|
3244
|
+
* This field is private and should not be used, use `tag` instead.
|
|
3245
|
+
*/
|
|
3246
|
+
readonly [uniffiTypeNameSymbol]: "Repository";
|
|
3247
|
+
readonly tag: Repository_Tags.Named;
|
|
3248
|
+
readonly inner: Readonly<{
|
|
3249
|
+
url: string;
|
|
3250
|
+
algorithms: Array<string>;
|
|
3251
|
+
}>;
|
|
3252
|
+
};
|
|
3253
|
+
};
|
|
3254
|
+
Listed: {
|
|
3255
|
+
new (inner: {
|
|
3256
|
+
algorithm: string;
|
|
3257
|
+
}): {
|
|
3258
|
+
/**
|
|
3259
|
+
* @private
|
|
3260
|
+
* This field is private and should not be used, use `tag` instead.
|
|
3261
|
+
*/
|
|
3262
|
+
readonly [uniffiTypeNameSymbol]: "Repository";
|
|
3263
|
+
readonly tag: Repository_Tags.Listed;
|
|
3264
|
+
readonly inner: Readonly<{
|
|
3265
|
+
algorithm: string;
|
|
3266
|
+
}>;
|
|
3267
|
+
};
|
|
3268
|
+
"new"(inner: {
|
|
3269
|
+
algorithm: string;
|
|
3270
|
+
}): {
|
|
3271
|
+
/**
|
|
3272
|
+
* @private
|
|
3273
|
+
* This field is private and should not be used, use `tag` instead.
|
|
3274
|
+
*/
|
|
3275
|
+
readonly [uniffiTypeNameSymbol]: "Repository";
|
|
3276
|
+
readonly tag: Repository_Tags.Listed;
|
|
3277
|
+
readonly inner: Readonly<{
|
|
3278
|
+
algorithm: string;
|
|
3279
|
+
}>;
|
|
3280
|
+
};
|
|
3281
|
+
instanceOf(obj: any): obj is {
|
|
3282
|
+
/**
|
|
3283
|
+
* @private
|
|
3284
|
+
* This field is private and should not be used, use `tag` instead.
|
|
3285
|
+
*/
|
|
3286
|
+
readonly [uniffiTypeNameSymbol]: "Repository";
|
|
3287
|
+
readonly tag: Repository_Tags.Listed;
|
|
3288
|
+
readonly inner: Readonly<{
|
|
3289
|
+
algorithm: string;
|
|
3290
|
+
}>;
|
|
3291
|
+
};
|
|
3292
|
+
};
|
|
3293
|
+
}>;
|
|
3122
3294
|
/**
|
|
3123
|
-
*
|
|
3295
|
+
* One C2PA manifest repository, as the Soft Binding Resolution API spec lets a client find it.
|
|
3124
3296
|
*/
|
|
3125
|
-
export
|
|
3126
|
-
create: (partial: Partial<RegistryOptions> & Required<Omit<RegistryOptions, "endpoints">>) => RegistryOptions;
|
|
3127
|
-
new: (partial: Partial<RegistryOptions> & Required<Omit<RegistryOptions, "endpoints">>) => RegistryOptions;
|
|
3128
|
-
defaults: () => Partial<RegistryOptions>;
|
|
3129
|
-
}>;
|
|
3297
|
+
export type Repository = InstanceType<typeof Repository['Named' | 'Listed']>;
|
|
3130
3298
|
/**
|
|
3131
3299
|
* Construction options for [`AssetVerifier::new`] (and the `AssetVerifier.create` JS
|
|
3132
|
-
* binding).
|
|
3300
|
+
* binding). Every field is stated: nothing here is chosen on the caller's behalf.
|
|
3133
3301
|
*
|
|
3134
3302
|
* One definition, all lanes: `#[binding]` derives the shapes directly here:
|
|
3135
|
-
* tsify (camelCase
|
|
3136
|
-
*
|
|
3303
|
+
* tsify (camelCase) on wasm, a `uniffi::Record` on the native `ffi` build, so there is no
|
|
3304
|
+
* per-lane DTO copy. Off both lanes it is a plain struct.
|
|
3137
3305
|
*/
|
|
3138
3306
|
export type AssetVerifierOptions = {
|
|
3139
3307
|
/**
|
|
3140
|
-
* The
|
|
3308
|
+
* The C2PA manifest repositories recovery asks, each a Soft Binding Resolution API declared
|
|
3309
|
+
* for exactly the algorithms it may be asked for. Results merge by manifest, and a match's
|
|
3310
|
+
* `endpoint` is fetched from only when it names one of these. Empty: no recovery can be
|
|
3311
|
+
* asked of this verifier.
|
|
3141
3312
|
*/
|
|
3142
|
-
|
|
3313
|
+
repositories: Array<Repository>;
|
|
3143
3314
|
/**
|
|
3144
|
-
* PEM trust anchors for the caller
|
|
3315
|
+
* PEM trust anchors for the manifest signers the caller trusts.
|
|
3145
3316
|
*/
|
|
3146
3317
|
trustAnchors: Array<string>;
|
|
3147
3318
|
/**
|
|
3148
|
-
*
|
|
3149
|
-
|
|
3319
|
+
* PEM trust anchors for the time-stamping authorities the caller trusts.
|
|
3320
|
+
*/
|
|
3321
|
+
tsaTrustAnchors: Array<string>;
|
|
3322
|
+
/**
|
|
3323
|
+
* Also trust the bundled official C2PA anchors, manifest and TSA lists, beside the
|
|
3324
|
+
* caller's. `false` trusts the caller's lists alone.
|
|
3150
3325
|
*/
|
|
3151
|
-
trustC2paAnchors
|
|
3326
|
+
trustC2paAnchors: boolean;
|
|
3152
3327
|
/**
|
|
3153
3328
|
* Issuer DIDs whose CAWG identity (ICA) credentials count as validated, matched
|
|
3154
|
-
* exactly against the credential issuer.
|
|
3155
|
-
*
|
|
3156
|
-
*
|
|
3329
|
+
* exactly against the credential issuer. Empty trusts no issuer: every identity assertion
|
|
3330
|
+
* then reports `cawg.ica.untrusted_issuer` and withholds `cawg.ica.credential_valid`,
|
|
3331
|
+
* which leaves the manifest's own validity untouched.
|
|
3157
3332
|
*/
|
|
3158
|
-
trustedIcaIssuers
|
|
3333
|
+
trustedIcaIssuers: Array<string>;
|
|
3159
3334
|
};
|
|
3160
3335
|
/**
|
|
3161
3336
|
* Generated factory for {@link AssetVerifierOptions} record objects.
|
|
3162
3337
|
*/
|
|
3163
3338
|
export declare const AssetVerifierOptions: Readonly<{
|
|
3164
|
-
create: (partial: Partial<AssetVerifierOptions> & Required<Omit<AssetVerifierOptions,
|
|
3165
|
-
new: (partial: Partial<AssetVerifierOptions> & Required<Omit<AssetVerifierOptions,
|
|
3339
|
+
create: (partial: Partial<AssetVerifierOptions> & Required<Omit<AssetVerifierOptions, never>>) => AssetVerifierOptions;
|
|
3340
|
+
new: (partial: Partial<AssetVerifierOptions> & Required<Omit<AssetVerifierOptions, never>>) => AssetVerifierOptions;
|
|
3166
3341
|
defaults: () => Partial<AssetVerifierOptions>;
|
|
3167
3342
|
}>;
|
|
3168
3343
|
/**
|
|
@@ -3178,121 +3353,101 @@ export declare enum ContentTrigger {
|
|
|
3178
3353
|
*/
|
|
3179
3354
|
Always = 1
|
|
3180
3355
|
}
|
|
3181
|
-
|
|
3182
|
-
|
|
3183
|
-
|
|
3184
|
-
|
|
3185
|
-
|
|
3356
|
+
/**
|
|
3357
|
+
* `matches/byContent`: the asset is uploaded to each repository, one request per algorithm that
|
|
3358
|
+
* repository is declared for.
|
|
3359
|
+
*/
|
|
3360
|
+
export type ByContent = {
|
|
3361
|
+
after: ContentTrigger;
|
|
3362
|
+
};
|
|
3363
|
+
/**
|
|
3364
|
+
* Generated factory for {@link ByContent} record objects.
|
|
3365
|
+
*/
|
|
3366
|
+
export declare const ByContent: Readonly<{
|
|
3367
|
+
create: (partial: Partial<ByContent> & Required<Omit<ByContent, never>>) => ByContent;
|
|
3368
|
+
new: (partial: Partial<ByContent> & Required<Omit<ByContent, never>>) => ByContent;
|
|
3369
|
+
defaults: () => Partial<ByContent>;
|
|
3370
|
+
}>;
|
|
3371
|
+
/**
|
|
3372
|
+
* [`crate::asset::ByReference`] with the region as the reader's own `Range` record, so a range
|
|
3373
|
+
* read off one credential's actions scopes the query for another.
|
|
3374
|
+
*/
|
|
3375
|
+
export type ByReference = {
|
|
3376
|
+
after: ContentTrigger;
|
|
3377
|
+
url: string;
|
|
3378
|
+
length: bigint;
|
|
3379
|
+
mediaType?: string;
|
|
3380
|
+
region: Array<Range>;
|
|
3381
|
+
};
|
|
3382
|
+
/**
|
|
3383
|
+
* Generated factory for {@link ByReference} record objects.
|
|
3384
|
+
*/
|
|
3385
|
+
export declare const ByReference: Readonly<{
|
|
3386
|
+
create: (partial: Partial<ByReference> & Required<Omit<ByReference, "mediaType">>) => ByReference;
|
|
3387
|
+
new: (partial: Partial<ByReference> & Required<Omit<ByReference, "mediaType">>) => ByReference;
|
|
3388
|
+
defaults: () => Partial<ByReference>;
|
|
3389
|
+
}>;
|
|
3390
|
+
export declare enum AssetFormat_Tags {
|
|
3391
|
+
Sniff = "Sniff",
|
|
3392
|
+
Declared = "Declared"
|
|
3186
3393
|
}
|
|
3187
3394
|
/**
|
|
3188
|
-
*
|
|
3189
|
-
*
|
|
3395
|
+
* The format of the asset a call is handed. Stated, never defaulted: sniffing is a choice the
|
|
3396
|
+
* caller makes by name, not what happens when they say nothing.
|
|
3190
3397
|
*/
|
|
3191
|
-
export declare const
|
|
3192
|
-
instanceOf: (obj: any) => obj is
|
|
3193
|
-
|
|
3194
|
-
new (): {
|
|
3195
|
-
/**
|
|
3196
|
-
* @private
|
|
3197
|
-
* This field is private and should not be used, use `tag` instead.
|
|
3198
|
-
*/
|
|
3199
|
-
readonly [uniffiTypeNameSymbol]: "Detectors";
|
|
3200
|
-
readonly tag: Detectors_Tags.Fingerprint;
|
|
3201
|
-
};
|
|
3202
|
-
"new"(): {
|
|
3203
|
-
/**
|
|
3204
|
-
* @private
|
|
3205
|
-
* This field is private and should not be used, use `tag` instead.
|
|
3206
|
-
*/
|
|
3207
|
-
readonly [uniffiTypeNameSymbol]: "Detectors";
|
|
3208
|
-
readonly tag: Detectors_Tags.Fingerprint;
|
|
3209
|
-
};
|
|
3210
|
-
instanceOf(obj: any): obj is {
|
|
3211
|
-
/**
|
|
3212
|
-
* @private
|
|
3213
|
-
* This field is private and should not be used, use `tag` instead.
|
|
3214
|
-
*/
|
|
3215
|
-
readonly [uniffiTypeNameSymbol]: "Detectors";
|
|
3216
|
-
readonly tag: Detectors_Tags.Fingerprint;
|
|
3217
|
-
};
|
|
3218
|
-
};
|
|
3219
|
-
Watermark: {
|
|
3220
|
-
new (): {
|
|
3221
|
-
/**
|
|
3222
|
-
* @private
|
|
3223
|
-
* This field is private and should not be used, use `tag` instead.
|
|
3224
|
-
*/
|
|
3225
|
-
readonly [uniffiTypeNameSymbol]: "Detectors";
|
|
3226
|
-
readonly tag: Detectors_Tags.Watermark;
|
|
3227
|
-
};
|
|
3228
|
-
"new"(): {
|
|
3229
|
-
/**
|
|
3230
|
-
* @private
|
|
3231
|
-
* This field is private and should not be used, use `tag` instead.
|
|
3232
|
-
*/
|
|
3233
|
-
readonly [uniffiTypeNameSymbol]: "Detectors";
|
|
3234
|
-
readonly tag: Detectors_Tags.Watermark;
|
|
3235
|
-
};
|
|
3236
|
-
instanceOf(obj: any): obj is {
|
|
3237
|
-
/**
|
|
3238
|
-
* @private
|
|
3239
|
-
* This field is private and should not be used, use `tag` instead.
|
|
3240
|
-
*/
|
|
3241
|
-
readonly [uniffiTypeNameSymbol]: "Detectors";
|
|
3242
|
-
readonly tag: Detectors_Tags.Watermark;
|
|
3243
|
-
};
|
|
3244
|
-
};
|
|
3245
|
-
All: {
|
|
3398
|
+
export declare const AssetFormat: Readonly<{
|
|
3399
|
+
instanceOf: (obj: any) => obj is AssetFormat;
|
|
3400
|
+
Sniff: {
|
|
3246
3401
|
new (): {
|
|
3247
3402
|
/**
|
|
3248
3403
|
* @private
|
|
3249
3404
|
* This field is private and should not be used, use `tag` instead.
|
|
3250
3405
|
*/
|
|
3251
|
-
readonly [uniffiTypeNameSymbol]: "
|
|
3252
|
-
readonly tag:
|
|
3406
|
+
readonly [uniffiTypeNameSymbol]: "AssetFormat";
|
|
3407
|
+
readonly tag: AssetFormat_Tags.Sniff;
|
|
3253
3408
|
};
|
|
3254
3409
|
"new"(): {
|
|
3255
3410
|
/**
|
|
3256
3411
|
* @private
|
|
3257
3412
|
* This field is private and should not be used, use `tag` instead.
|
|
3258
3413
|
*/
|
|
3259
|
-
readonly [uniffiTypeNameSymbol]: "
|
|
3260
|
-
readonly tag:
|
|
3414
|
+
readonly [uniffiTypeNameSymbol]: "AssetFormat";
|
|
3415
|
+
readonly tag: AssetFormat_Tags.Sniff;
|
|
3261
3416
|
};
|
|
3262
3417
|
instanceOf(obj: any): obj is {
|
|
3263
3418
|
/**
|
|
3264
3419
|
* @private
|
|
3265
3420
|
* This field is private and should not be used, use `tag` instead.
|
|
3266
3421
|
*/
|
|
3267
|
-
readonly [uniffiTypeNameSymbol]: "
|
|
3268
|
-
readonly tag:
|
|
3422
|
+
readonly [uniffiTypeNameSymbol]: "AssetFormat";
|
|
3423
|
+
readonly tag: AssetFormat_Tags.Sniff;
|
|
3269
3424
|
};
|
|
3270
3425
|
};
|
|
3271
|
-
|
|
3426
|
+
Declared: {
|
|
3272
3427
|
new (inner: {
|
|
3273
|
-
|
|
3428
|
+
mediaType: string;
|
|
3274
3429
|
}): {
|
|
3275
3430
|
/**
|
|
3276
3431
|
* @private
|
|
3277
3432
|
* This field is private and should not be used, use `tag` instead.
|
|
3278
3433
|
*/
|
|
3279
|
-
readonly [uniffiTypeNameSymbol]: "
|
|
3280
|
-
readonly tag:
|
|
3434
|
+
readonly [uniffiTypeNameSymbol]: "AssetFormat";
|
|
3435
|
+
readonly tag: AssetFormat_Tags.Declared;
|
|
3281
3436
|
readonly inner: Readonly<{
|
|
3282
|
-
|
|
3437
|
+
mediaType: string;
|
|
3283
3438
|
}>;
|
|
3284
3439
|
};
|
|
3285
3440
|
"new"(inner: {
|
|
3286
|
-
|
|
3441
|
+
mediaType: string;
|
|
3287
3442
|
}): {
|
|
3288
3443
|
/**
|
|
3289
3444
|
* @private
|
|
3290
3445
|
* This field is private and should not be used, use `tag` instead.
|
|
3291
3446
|
*/
|
|
3292
|
-
readonly [uniffiTypeNameSymbol]: "
|
|
3293
|
-
readonly tag:
|
|
3447
|
+
readonly [uniffiTypeNameSymbol]: "AssetFormat";
|
|
3448
|
+
readonly tag: AssetFormat_Tags.Declared;
|
|
3294
3449
|
readonly inner: Readonly<{
|
|
3295
|
-
|
|
3450
|
+
mediaType: string;
|
|
3296
3451
|
}>;
|
|
3297
3452
|
};
|
|
3298
3453
|
instanceOf(obj: any): obj is {
|
|
@@ -3300,72 +3455,31 @@ export declare const Detectors: Readonly<{
|
|
|
3300
3455
|
* @private
|
|
3301
3456
|
* This field is private and should not be used, use `tag` instead.
|
|
3302
3457
|
*/
|
|
3303
|
-
readonly [uniffiTypeNameSymbol]: "
|
|
3304
|
-
readonly tag:
|
|
3458
|
+
readonly [uniffiTypeNameSymbol]: "AssetFormat";
|
|
3459
|
+
readonly tag: AssetFormat_Tags.Declared;
|
|
3305
3460
|
readonly inner: Readonly<{
|
|
3306
|
-
|
|
3461
|
+
mediaType: string;
|
|
3307
3462
|
}>;
|
|
3308
3463
|
};
|
|
3309
3464
|
};
|
|
3310
3465
|
}>;
|
|
3311
3466
|
/**
|
|
3312
|
-
*
|
|
3313
|
-
*
|
|
3314
|
-
*/
|
|
3315
|
-
export type Detectors = InstanceType<typeof Detectors['Fingerprint' | 'Watermark' | 'All' | 'Named']>;
|
|
3316
|
-
/**
|
|
3317
|
-
* One `matches/byContent` upload per selected detector.
|
|
3318
|
-
*/
|
|
3319
|
-
export type ByContent = {
|
|
3320
|
-
after: ContentTrigger;
|
|
3321
|
-
detectors: Detectors;
|
|
3322
|
-
};
|
|
3323
|
-
/**
|
|
3324
|
-
* Generated factory for {@link ByContent} record objects.
|
|
3325
|
-
*/
|
|
3326
|
-
export declare const ByContent: Readonly<{
|
|
3327
|
-
create: (partial: Partial<ByContent> & Required<Omit<ByContent, never>>) => ByContent;
|
|
3328
|
-
new: (partial: Partial<ByContent> & Required<Omit<ByContent, never>>) => ByContent;
|
|
3329
|
-
defaults: () => Partial<ByContent>;
|
|
3330
|
-
}>;
|
|
3331
|
-
/**
|
|
3332
|
-
* One `matches/byReference` query per selected detector. The registry downloads the asset
|
|
3333
|
-
* from `url`, so the client reads no bytes for it.
|
|
3334
|
-
*/
|
|
3335
|
-
export type ByReference = {
|
|
3336
|
-
after: ContentTrigger;
|
|
3337
|
-
detectors: Detectors;
|
|
3338
|
-
/**
|
|
3339
|
-
* A short-lived https URL without credentials.
|
|
3340
|
-
*/
|
|
3341
|
-
url: string;
|
|
3342
|
-
/**
|
|
3343
|
-
* The asset's size in bytes, which caps the registry's download.
|
|
3344
|
-
*/
|
|
3345
|
-
length: bigint;
|
|
3346
|
-
mediaType?: string;
|
|
3347
|
-
};
|
|
3348
|
-
/**
|
|
3349
|
-
* Generated factory for {@link ByReference} record objects.
|
|
3467
|
+
* The format of the asset a call is handed. Stated, never defaulted: sniffing is a choice the
|
|
3468
|
+
* caller makes by name, not what happens when they say nothing.
|
|
3350
3469
|
*/
|
|
3351
|
-
export
|
|
3352
|
-
create: (partial: Partial<ByReference> & Required<Omit<ByReference, "mediaType">>) => ByReference;
|
|
3353
|
-
new: (partial: Partial<ByReference> & Required<Omit<ByReference, "mediaType">>) => ByReference;
|
|
3354
|
-
defaults: () => Partial<ByReference>;
|
|
3355
|
-
}>;
|
|
3470
|
+
export type AssetFormat = InstanceType<typeof AssetFormat['Sniff' | 'Declared']>;
|
|
3356
3471
|
/**
|
|
3357
|
-
* Everything one [`Binder::derive`] needs beyond the asset.
|
|
3358
|
-
* from the leading bytes.
|
|
3472
|
+
* Everything one [`Binder::derive`] needs beyond the asset.
|
|
3359
3473
|
*/
|
|
3360
3474
|
export type DeriveOptions = {
|
|
3361
|
-
format
|
|
3475
|
+
format: AssetFormat;
|
|
3362
3476
|
};
|
|
3363
3477
|
/**
|
|
3364
3478
|
* Generated factory for {@link DeriveOptions} record objects.
|
|
3365
3479
|
*/
|
|
3366
3480
|
export declare const DeriveOptions: Readonly<{
|
|
3367
|
-
create: (partial: Partial<DeriveOptions> & Required<Omit<DeriveOptions,
|
|
3368
|
-
new: (partial: Partial<DeriveOptions> & Required<Omit<DeriveOptions,
|
|
3481
|
+
create: (partial: Partial<DeriveOptions> & Required<Omit<DeriveOptions, never>>) => DeriveOptions;
|
|
3482
|
+
new: (partial: Partial<DeriveOptions> & Required<Omit<DeriveOptions, never>>) => DeriveOptions;
|
|
3369
3483
|
defaults: () => Partial<DeriveOptions>;
|
|
3370
3484
|
}>;
|
|
3371
3485
|
/**
|
|
@@ -3402,7 +3516,8 @@ export declare enum ValidationCodeKind {
|
|
|
3402
3516
|
Failure = 2
|
|
3403
3517
|
}
|
|
3404
3518
|
/**
|
|
3405
|
-
* One C2PA validation status entry (spec §15.3)
|
|
3519
|
+
* One C2PA validation status entry (spec §15.3): the registered code, its kind, and the
|
|
3520
|
+
* spec's own free-text `explanation`, which is where anything finer than the code lives.
|
|
3406
3521
|
*/
|
|
3407
3522
|
export type ValidationCode = {
|
|
3408
3523
|
/**
|
|
@@ -3410,13 +3525,18 @@ export type ValidationCode = {
|
|
|
3410
3525
|
*/
|
|
3411
3526
|
code: string;
|
|
3412
3527
|
kind: ValidationCodeKind;
|
|
3528
|
+
/**
|
|
3529
|
+
* Prose for a reader, never a value to branch on: a stream failure names which of the
|
|
3530
|
+
* registered code's listed causes it hit here.
|
|
3531
|
+
*/
|
|
3532
|
+
explanation?: string;
|
|
3413
3533
|
};
|
|
3414
3534
|
/**
|
|
3415
3535
|
* Generated factory for {@link ValidationCode} record objects.
|
|
3416
3536
|
*/
|
|
3417
3537
|
export declare const ValidationCode: Readonly<{
|
|
3418
|
-
create: (partial: Partial<ValidationCode> & Required<Omit<ValidationCode,
|
|
3419
|
-
new: (partial: Partial<ValidationCode> & Required<Omit<ValidationCode,
|
|
3538
|
+
create: (partial: Partial<ValidationCode> & Required<Omit<ValidationCode, "explanation">>) => ValidationCode;
|
|
3539
|
+
new: (partial: Partial<ValidationCode> & Required<Omit<ValidationCode, "explanation">>) => ValidationCode;
|
|
3420
3540
|
defaults: () => Partial<ValidationCode>;
|
|
3421
3541
|
}>;
|
|
3422
3542
|
/**
|
|
@@ -3487,147 +3607,59 @@ export type SegmentTiming = {
|
|
|
3487
3607
|
*/
|
|
3488
3608
|
export declare const SegmentTiming: Readonly<{
|
|
3489
3609
|
create: (partial: Partial<SegmentTiming> & Required<Omit<SegmentTiming, "eventDurationSecs" | "timescale">>) => SegmentTiming;
|
|
3490
|
-
new: (partial: Partial<SegmentTiming> & Required<Omit<SegmentTiming, "eventDurationSecs" | "timescale">>) => SegmentTiming;
|
|
3491
|
-
defaults: () => Partial<SegmentTiming>;
|
|
3492
|
-
}>;
|
|
3493
|
-
/**
|
|
3494
|
-
* Outcome of validating a media segment against its stream's init.
|
|
3495
|
-
*/
|
|
3496
|
-
export type MediaValidation = {
|
|
3497
|
-
valid: boolean;
|
|
3498
|
-
codes: Array<ValidationCode>;
|
|
3499
|
-
keyId: ArrayBuffer;
|
|
3500
|
-
timing: SegmentTiming;
|
|
3501
|
-
manifestId: string;
|
|
3502
|
-
};
|
|
3503
|
-
/**
|
|
3504
|
-
* Generated factory for {@link MediaValidation} record objects.
|
|
3505
|
-
*/
|
|
3506
|
-
export declare const MediaValidation: Readonly<{
|
|
3507
|
-
create: (partial: Partial<MediaValidation> & Required<Omit<MediaValidation, never>>) => MediaValidation;
|
|
3508
|
-
new: (partial: Partial<MediaValidation> & Required<Omit<MediaValidation, never>>) => MediaValidation;
|
|
3509
|
-
defaults: () => Partial<MediaValidation>;
|
|
3510
|
-
}>;
|
|
3511
|
-
/**
|
|
3512
|
-
* When [`AssetVerifier::verify_asset`] queries the registry.
|
|
3513
|
-
*/
|
|
3514
|
-
export declare enum RecoveryPolicy {
|
|
3515
|
-
/**
|
|
3516
|
-
* When the asset has no embedded manifest or its active manifest is invalid. This includes
|
|
3517
|
-
* stripped assets and invalid manifests, for which C2PA 2.4 permits soft-binding discovery.
|
|
3518
|
-
* A valid embedded manifest costs no registry round trip.
|
|
3519
|
-
*/
|
|
3520
|
-
WhenMissing = 0,
|
|
3521
|
-
/**
|
|
3522
|
-
* On every verify, alongside the embedded manifest, so the two can be compared.
|
|
3523
|
-
*
|
|
3524
|
-
* C2PA 2.4's `watermark-golden` and `fingerprint-golden` flows end on exactly that
|
|
3525
|
-
* comparison, and it is the only thing that catches a manifest SUBSTITUTED under an
|
|
3526
|
-
* untouched mark (use case UC3 in the spec's list, UC2 in ours): the replacement verifies
|
|
3527
|
-
* perfectly on its own, and only disagrees with what the mark actually resolves to.
|
|
3528
|
-
*
|
|
3529
|
-
* It queries the registry on every verify, without making it load-bearing on the asset's own
|
|
3530
|
-
* credential: the flow provides information about a substitution rather than gating the local
|
|
3531
|
-
* manifest, so a registry that cannot be reached leaves [`RecoveryStatus::Incomplete`], the
|
|
3532
|
-
* reason as a [`RecoveryIssue`], and [`GoldenComparison::RecoveryIncomplete`]. A caller for whom a
|
|
3533
|
-
* cross-check that never ran must not pass for agreement branches on that status.
|
|
3534
|
-
*/
|
|
3535
|
-
Always = 1
|
|
3536
|
-
}
|
|
3537
|
-
/**
|
|
3538
|
-
* What one verify may do with the registry. Required whenever a registry is configured.
|
|
3539
|
-
*
|
|
3540
|
-
* One field per Soft Binding Resolution API operation, and an absent one is not called.
|
|
3541
|
-
* `matches/byBinding` is decided by the binders handed to the verify: each is derived and looked
|
|
3542
|
-
* up, all together, and every result is kept. The content forms run after that, each for the
|
|
3543
|
-
* detectors it names, hinted with the first fingerprint the binders derived. Results merge by
|
|
3544
|
-
* manifest; nothing is ranked or dropped.
|
|
3545
|
-
*/
|
|
3546
|
-
export type Recovery = {
|
|
3547
|
-
/**
|
|
3548
|
-
* When the registry is consulted at all.
|
|
3549
|
-
*/
|
|
3550
|
-
when: RecoveryPolicy;
|
|
3551
|
-
/**
|
|
3552
|
-
* `matches/byContent`: the bounded asset bytes travel in the request.
|
|
3553
|
-
*/
|
|
3554
|
-
byContent?: ByContent;
|
|
3555
|
-
/**
|
|
3556
|
-
* `matches/byReference`: the registry fetches the asset from the caller's URL instead, for
|
|
3557
|
-
* an asset above the upload cap.
|
|
3558
|
-
*/
|
|
3559
|
-
byReference?: ByReference;
|
|
3560
|
-
};
|
|
3561
|
-
/**
|
|
3562
|
-
* Generated factory for {@link Recovery} record objects.
|
|
3563
|
-
*/
|
|
3564
|
-
export declare const Recovery: Readonly<{
|
|
3565
|
-
create: (partial: Partial<Recovery> & Required<Omit<Recovery, "byContent" | "byReference">>) => Recovery;
|
|
3566
|
-
new: (partial: Partial<Recovery> & Required<Omit<Recovery, "byContent" | "byReference">>) => Recovery;
|
|
3567
|
-
defaults: () => Partial<Recovery>;
|
|
3610
|
+
new: (partial: Partial<SegmentTiming> & Required<Omit<SegmentTiming, "eventDurationSecs" | "timescale">>) => SegmentTiming;
|
|
3611
|
+
defaults: () => Partial<SegmentTiming>;
|
|
3568
3612
|
}>;
|
|
3569
3613
|
/**
|
|
3570
|
-
*
|
|
3571
|
-
* primitives, so a plugin in its OWN UniFFI namespace declares a structurally identical
|
|
3572
|
-
* one and the two cross the boundary without sharing a Rust type.
|
|
3614
|
+
* Outcome of validating a media segment against its stream's init.
|
|
3573
3615
|
*/
|
|
3574
|
-
export type
|
|
3575
|
-
|
|
3576
|
-
|
|
3616
|
+
export type MediaValidation = {
|
|
3617
|
+
valid: boolean;
|
|
3618
|
+
codes: Array<ValidationCode>;
|
|
3619
|
+
keyId: ArrayBuffer;
|
|
3620
|
+
timing: SegmentTiming;
|
|
3621
|
+
manifestId: string;
|
|
3577
3622
|
};
|
|
3578
3623
|
/**
|
|
3579
|
-
* Generated factory for {@link
|
|
3624
|
+
* Generated factory for {@link MediaValidation} record objects.
|
|
3580
3625
|
*/
|
|
3581
|
-
export declare const
|
|
3582
|
-
create: (partial: Partial<
|
|
3583
|
-
new: (partial: Partial<
|
|
3584
|
-
defaults: () => Partial<
|
|
3626
|
+
export declare const MediaValidation: Readonly<{
|
|
3627
|
+
create: (partial: Partial<MediaValidation> & Required<Omit<MediaValidation, never>>) => MediaValidation;
|
|
3628
|
+
new: (partial: Partial<MediaValidation> & Required<Omit<MediaValidation, never>>) => MediaValidation;
|
|
3629
|
+
defaults: () => Partial<MediaValidation>;
|
|
3585
3630
|
}>;
|
|
3586
3631
|
/**
|
|
3587
|
-
*
|
|
3588
|
-
* JS binding). `trust_c2pa_anchors` defaults to `true` when omitted.
|
|
3589
|
-
*
|
|
3590
|
-
* `#[binding]` derives the wasm shape (`trustC2paAnchors` camelCase, optional) and,
|
|
3591
|
-
* with `ffi`, a `uniffi::Record` for the native `StreamVerifier.create` binding, so there
|
|
3592
|
-
* is no per-lane DTO copy. Off both lanes it is a plain struct.
|
|
3632
|
+
* When [`AssetVerifier::verify_asset`] queries the repository.
|
|
3593
3633
|
*/
|
|
3594
|
-
export
|
|
3595
|
-
/**
|
|
3596
|
-
* PEM trust anchors for the caller's own issuers.
|
|
3597
|
-
*/
|
|
3598
|
-
trustAnchors: Array<string>;
|
|
3599
|
-
/**
|
|
3600
|
-
* Also trust the bundled official C2PA anchors on top of `trust_anchors`.
|
|
3601
|
-
* Defaults to `true`; set `false` to trust only `trust_anchors`.
|
|
3602
|
-
*/
|
|
3603
|
-
trustC2paAnchors?: boolean;
|
|
3634
|
+
export declare enum RecoveryTrigger {
|
|
3604
3635
|
/**
|
|
3605
|
-
*
|
|
3606
|
-
*
|
|
3607
|
-
*
|
|
3608
|
-
* `cawg.ica.untrusted_issuer` and withholds `cawg.ica.credential_valid`.
|
|
3636
|
+
* When the asset has no embedded manifest or its active manifest is invalid. This includes
|
|
3637
|
+
* stripped assets and invalid manifests, for which C2PA 2.4 permits soft-binding discovery.
|
|
3638
|
+
* A valid embedded manifest costs no repository round trip.
|
|
3609
3639
|
*/
|
|
3610
|
-
|
|
3640
|
+
ManifestMissing = 0,
|
|
3611
3641
|
/**
|
|
3612
|
-
*
|
|
3613
|
-
*
|
|
3614
|
-
*
|
|
3642
|
+
* On every verify, alongside the embedded manifest, so the two can be compared.
|
|
3643
|
+
*
|
|
3644
|
+
* C2PA 2.4's `watermark-golden` and `fingerprint-golden` flows end on exactly that
|
|
3645
|
+
* comparison, and it is the only thing that catches a manifest SUBSTITUTED under an
|
|
3646
|
+
* untouched mark (use case UC3 in the spec's list, UC2 in ours): the replacement verifies
|
|
3647
|
+
* perfectly on its own, and only disagrees with what the mark actually resolves to.
|
|
3648
|
+
*
|
|
3649
|
+
* It queries the repository on every verify, without making it load-bearing on the asset's own
|
|
3650
|
+
* credential: the flow provides information about a substitution rather than gating the local
|
|
3651
|
+
* manifest, so a repository that cannot be reached leaves [`RecoveryStatus::Incomplete`], the
|
|
3652
|
+
* reason as a [`RecoveryIssue`], and [`GoldenComparison::RecoveryIncomplete`]. A caller for whom a
|
|
3653
|
+
* cross-check that never ran must not pass for agreement branches on that status.
|
|
3615
3654
|
*/
|
|
3616
|
-
|
|
3617
|
-
}
|
|
3618
|
-
/**
|
|
3619
|
-
* Generated factory for {@link StreamVerifierOptions} record objects.
|
|
3620
|
-
*/
|
|
3621
|
-
export declare const StreamVerifierOptions: Readonly<{
|
|
3622
|
-
create: (partial: Partial<StreamVerifierOptions> & Required<Omit<StreamVerifierOptions, "segmentSkewToleranceSecs" | "trustC2paAnchors" | "trustedIcaIssuers">>) => StreamVerifierOptions;
|
|
3623
|
-
new: (partial: Partial<StreamVerifierOptions> & Required<Omit<StreamVerifierOptions, "segmentSkewToleranceSecs" | "trustC2paAnchors" | "trustedIcaIssuers">>) => StreamVerifierOptions;
|
|
3624
|
-
defaults: () => Partial<StreamVerifierOptions>;
|
|
3625
|
-
}>;
|
|
3655
|
+
Always = 1
|
|
3656
|
+
}
|
|
3626
3657
|
/**
|
|
3627
3658
|
* A canonical gRPC/Connect status code: the coarse, closed failure class.
|
|
3628
3659
|
*
|
|
3629
|
-
* The wasm lane projects this as
|
|
3630
|
-
* narrows on `err.code === "
|
|
3660
|
+
* The wasm lane projects this as a camelCase string like every other tagged value
|
|
3661
|
+
* there, so a consumer narrows on `err.code === "resourceExhausted"`; the native lane
|
|
3662
|
+
* projects an enum.
|
|
3631
3663
|
*/
|
|
3632
3664
|
export declare enum Code {
|
|
3633
3665
|
Canceled = 0,
|
|
@@ -4047,189 +4079,122 @@ export declare class RangeSourceImpl extends UniffiAbstractObject implements Ran
|
|
|
4047
4079
|
static instanceOf(obj_: any): obj_ is RangeSourceImpl;
|
|
4048
4080
|
}
|
|
4049
4081
|
/**
|
|
4050
|
-
* A soft-binding binder: how a recoverable binding is derived from an asset. Put these inside
|
|
4051
|
-
* issuer's manifest mode to sign and index under them, and pass them in verify options to
|
|
4082
|
+
* A soft-binding binder: how a recoverable binding is derived from an asset. Put these inside
|
|
4083
|
+
* the issuer's manifest mode to sign and index under them, and pass them in verify options to
|
|
4084
|
+
* recover. Implement it for an algorithm the SDK does not ship; the SDK's own are
|
|
4085
|
+
* [`IsccBinder`] and [`HeldBinder`].
|
|
4086
|
+
*
|
|
4087
|
+
* `derive` answers this binder's binding for `source`, or `None` when there is none.
|
|
4088
|
+
* `options.format` is how the asset's format is known. `None` and an error
|
|
4089
|
+
* mean different things: `None` is "no binding here", an error is "the question could not be
|
|
4090
|
+
* answered", so a binder that failed never reads as an unmarked asset.
|
|
4052
4091
|
*/
|
|
4053
|
-
export interface
|
|
4054
|
-
/**
|
|
4055
|
-
* This binder's binding for `source`, or `None` when there is none. `format` overrides
|
|
4056
|
-
* the format sniffed from the leading bytes.
|
|
4057
|
-
*
|
|
4058
|
-
* `None` and an error mean different things: `None` is "no binding here", an error is
|
|
4059
|
-
* "the question could not be answered", so a binder that failed never reads as an
|
|
4060
|
-
* unmarked asset.
|
|
4061
|
-
*
|
|
4062
|
-
* # Errors
|
|
4063
|
-
*
|
|
4064
|
-
* An unreadable source, or a binder that could not answer.
|
|
4065
|
-
*/
|
|
4092
|
+
export interface Binder {
|
|
4066
4093
|
derive(source: RangeSource, options: DeriveOptions, asyncOpts_?: {
|
|
4067
4094
|
signal: AbortSignal;
|
|
4068
4095
|
}): Promise<SoftBinding | undefined>;
|
|
4069
4096
|
}
|
|
4070
4097
|
/**
|
|
4071
|
-
*
|
|
4072
|
-
|
|
4073
|
-
|
|
4074
|
-
|
|
4075
|
-
*
|
|
4076
|
-
*
|
|
4098
|
+
* A soft-binding binder: how a recoverable binding is derived from an asset. Put these inside
|
|
4099
|
+
* the issuer's manifest mode to sign and index under them, and pass them in verify options to
|
|
4100
|
+
* recover. Implement it for an algorithm the SDK does not ship; the SDK's own are
|
|
4101
|
+
* [`IsccBinder`] and [`HeldBinder`].
|
|
4102
|
+
*
|
|
4103
|
+
* `derive` answers this binder's binding for `source`, or `None` when there is none.
|
|
4104
|
+
* `options.format` is how the asset's format is known. `None` and an error
|
|
4105
|
+
* mean different things: `None` is "no binding here", an error is "the question could not be
|
|
4106
|
+
* answered", so a binder that failed never reads as an unmarked asset.
|
|
4077
4107
|
*/
|
|
4078
|
-
export declare class
|
|
4079
|
-
readonly [uniffiTypeNameSymbol] = "
|
|
4108
|
+
export declare class BinderImpl extends UniffiAbstractObject implements Binder {
|
|
4109
|
+
readonly [uniffiTypeNameSymbol] = "BinderImpl";
|
|
4080
4110
|
readonly [destructorGuardSymbol]: UniffiGcObject;
|
|
4081
4111
|
readonly [pointerLiteralSymbol]: UniffiHandle;
|
|
4082
4112
|
private constructor();
|
|
4083
|
-
/**
|
|
4084
|
-
* A caller-supplied binder for a soft-binding algorithm not built into the SDK.
|
|
4085
|
-
*/
|
|
4086
|
-
static custom(plugin: BinderPlugin): BinderLike;
|
|
4087
|
-
/**
|
|
4088
|
-
* A binding you already hold, such as an out-of-band video ISCC. Reads nothing.
|
|
4089
|
-
*/
|
|
4090
|
-
static held(binding: SoftBinding): BinderLike;
|
|
4091
|
-
/**
|
|
4092
|
-
* Local ISCC Image-Code for supported image formats.
|
|
4093
|
-
*/
|
|
4094
|
-
static iscc(): BinderLike;
|
|
4095
|
-
/**
|
|
4096
|
-
* This binder's binding for `source`, or `None` when there is none. `format` overrides
|
|
4097
|
-
* the format sniffed from the leading bytes.
|
|
4098
|
-
*
|
|
4099
|
-
* `None` and an error mean different things: `None` is "no binding here", an error is
|
|
4100
|
-
* "the question could not be answered", so a binder that failed never reads as an
|
|
4101
|
-
* unmarked asset.
|
|
4102
|
-
*
|
|
4103
|
-
* # Errors
|
|
4104
|
-
*
|
|
4105
|
-
* An unreadable source, or a binder that could not answer.
|
|
4106
|
-
*/
|
|
4107
4113
|
derive(source: RangeSource, options: DeriveOptions, asyncOpts_?: {
|
|
4108
4114
|
signal: AbortSignal;
|
|
4109
4115
|
}): Promise<SoftBinding | undefined>;
|
|
4110
4116
|
uniffiDestroy(): void;
|
|
4111
|
-
static instanceOf(obj_: any): obj_ is
|
|
4117
|
+
static instanceOf(obj_: any): obj_ is BinderImpl;
|
|
4112
4118
|
}
|
|
4113
4119
|
/**
|
|
4114
|
-
*
|
|
4115
|
-
*
|
|
4116
|
-
*
|
|
4117
|
-
* Every method is given the asset as a [`RangeSource`], so a plugin never opens its own
|
|
4118
|
-
* view and the bytes it parses are the bytes the core hashes.
|
|
4120
|
+
* What one [`AssetVerifier::verify`] may do to recover a manifest: the binders this client
|
|
4121
|
+
* derives for itself, decided into `matches/byBinding`, and one field per content operation,
|
|
4122
|
+
* absent when not to be called. It needs a configured repository and at least one query.
|
|
4119
4123
|
*/
|
|
4120
|
-
export
|
|
4121
|
-
|
|
4122
|
-
|
|
4123
|
-
|
|
4124
|
-
|
|
4125
|
-
|
|
4126
|
-
/**
|
|
4127
|
-
* Recognize the format from the real asset, or `None` to decline it.
|
|
4128
|
-
*/
|
|
4129
|
-
sniff(src: RangeSource, asyncOpts_?: {
|
|
4130
|
-
signal: AbortSignal;
|
|
4131
|
-
}): Promise<string | undefined>;
|
|
4132
|
-
/**
|
|
4133
|
-
* The manifest window(s), or empty when none is present. MUST be byte-identical
|
|
4134
|
-
* regardless of slot contents (empty at sign, filled after embed, zeroed after strip).
|
|
4135
|
-
*/
|
|
4136
|
-
locate(src: RangeSource, asyncOpts_?: {
|
|
4137
|
-
signal: AbortSignal;
|
|
4138
|
-
}): Promise<Array<Region>>;
|
|
4139
|
-
}
|
|
4124
|
+
export type Recovery = {
|
|
4125
|
+
when: RecoveryTrigger;
|
|
4126
|
+
binders: Array<Binder>;
|
|
4127
|
+
byContent?: ByContent;
|
|
4128
|
+
byReference?: ByReference;
|
|
4129
|
+
};
|
|
4140
4130
|
/**
|
|
4141
|
-
*
|
|
4142
|
-
* the module docs for why a plain sequence of foreign objects cannot cross today.
|
|
4131
|
+
* Generated factory for {@link Recovery} record objects.
|
|
4143
4132
|
*/
|
|
4144
|
-
export
|
|
4145
|
-
|
|
4146
|
-
|
|
4147
|
-
|
|
4148
|
-
|
|
4149
|
-
*
|
|
4150
|
-
* `Internal` when the registry lock was poisoned by a panicking plugin.
|
|
4151
|
-
*/
|
|
4152
|
-
isEmpty(): boolean;
|
|
4153
|
-
/**
|
|
4154
|
-
* How many plugins are registered.
|
|
4155
|
-
*
|
|
4156
|
-
* # Errors
|
|
4157
|
-
*
|
|
4158
|
-
* `Internal` when the registry lock was poisoned by a panicking plugin.
|
|
4159
|
-
*/
|
|
4160
|
-
len(): number;
|
|
4161
|
-
/**
|
|
4162
|
-
* Add one plugin. The first registered whose `sniff` hits owns the asset; `c2pa`
|
|
4163
|
-
* remains the built-in fallback when none does. Verifying dispatches on content, not on
|
|
4164
|
-
* a declared format: there is no trustworthy declaration at verify time.
|
|
4165
|
-
*
|
|
4166
|
-
* # Errors
|
|
4167
|
-
*
|
|
4168
|
-
* `Internal` when the registry lock was poisoned by a panicking plugin.
|
|
4169
|
-
*/
|
|
4170
|
-
register(plugin: PluginRead): void;
|
|
4171
|
-
}
|
|
4133
|
+
export declare const Recovery: Readonly<{
|
|
4134
|
+
create: (partial: Partial<Recovery> & Required<Omit<Recovery, "byContent" | "byReference">>) => Recovery;
|
|
4135
|
+
new: (partial: Partial<Recovery> & Required<Omit<Recovery, "byContent" | "byReference">>) => Recovery;
|
|
4136
|
+
defaults: () => Partial<Recovery>;
|
|
4137
|
+
}>;
|
|
4172
4138
|
/**
|
|
4173
|
-
*
|
|
4139
|
+
* A byte range holding a bare C2PA manifest store, or reserved for one. A record of
|
|
4140
|
+
* primitives, so a plugin in its OWN UniFFI namespace declares a structurally identical
|
|
4141
|
+
* one and the two cross the boundary without sharing a Rust type.
|
|
4174
4142
|
*/
|
|
4175
|
-
export type
|
|
4143
|
+
export type Region = {
|
|
4144
|
+
offset: bigint;
|
|
4145
|
+
length: bigint;
|
|
4146
|
+
};
|
|
4176
4147
|
/**
|
|
4177
|
-
*
|
|
4178
|
-
* the module docs for why a plain sequence of foreign objects cannot cross today.
|
|
4148
|
+
* Generated factory for {@link Region} record objects.
|
|
4179
4149
|
*/
|
|
4180
|
-
export declare
|
|
4181
|
-
|
|
4182
|
-
|
|
4183
|
-
|
|
4184
|
-
|
|
4150
|
+
export declare const Region: Readonly<{
|
|
4151
|
+
create: (partial: Partial<Region> & Required<Omit<Region, never>>) => Region;
|
|
4152
|
+
new: (partial: Partial<Region> & Required<Omit<Region, never>>) => Region;
|
|
4153
|
+
defaults: () => Partial<Region>;
|
|
4154
|
+
}>;
|
|
4155
|
+
/**
|
|
4156
|
+
* Construction options for [`StreamVerifier::new`] (and the `StreamVerifier.create`
|
|
4157
|
+
* JS binding). Every field is stated: nothing here is chosen on the caller's behalf.
|
|
4158
|
+
*
|
|
4159
|
+
* `#[binding]` derives the wasm shape (`trustC2paAnchors` camelCase) and,
|
|
4160
|
+
* with `ffi`, a `uniffi::Record` for the native `StreamVerifier.create` binding, so there
|
|
4161
|
+
* is no per-lane DTO copy. Off both lanes it is a plain struct.
|
|
4162
|
+
*/
|
|
4163
|
+
export type StreamVerifierOptions = {
|
|
4185
4164
|
/**
|
|
4186
|
-
*
|
|
4187
|
-
*
|
|
4188
|
-
* # Errors
|
|
4189
|
-
*
|
|
4190
|
-
* `Internal` when the registry lock was poisoned by a panicking plugin.
|
|
4165
|
+
* PEM trust anchors for the manifest signers the caller trusts.
|
|
4191
4166
|
*/
|
|
4192
|
-
|
|
4167
|
+
trustAnchors: Array<string>;
|
|
4193
4168
|
/**
|
|
4194
|
-
*
|
|
4195
|
-
*
|
|
4196
|
-
* # Errors
|
|
4197
|
-
*
|
|
4198
|
-
* `Internal` when the registry lock was poisoned by a panicking plugin.
|
|
4169
|
+
* PEM trust anchors for the time-stamping authorities the caller trusts.
|
|
4199
4170
|
*/
|
|
4200
|
-
|
|
4171
|
+
tsaTrustAnchors: Array<string>;
|
|
4201
4172
|
/**
|
|
4202
|
-
*
|
|
4203
|
-
*
|
|
4204
|
-
* a declared format: there is no trustworthy declaration at verify time.
|
|
4205
|
-
*
|
|
4206
|
-
* # Errors
|
|
4207
|
-
*
|
|
4208
|
-
* `Internal` when the registry lock was poisoned by a panicking plugin.
|
|
4173
|
+
* Also trust the bundled official C2PA anchors, manifest and TSA lists, beside the
|
|
4174
|
+
* caller's. `false` trusts the caller's lists alone.
|
|
4209
4175
|
*/
|
|
4210
|
-
|
|
4211
|
-
|
|
4212
|
-
|
|
4213
|
-
|
|
4214
|
-
|
|
4215
|
-
|
|
4216
|
-
|
|
4217
|
-
|
|
4218
|
-
|
|
4219
|
-
|
|
4220
|
-
|
|
4221
|
-
|
|
4222
|
-
|
|
4223
|
-
|
|
4224
|
-
plugins?: PluginRegistryLike;
|
|
4176
|
+
trustC2paAnchors: boolean;
|
|
4177
|
+
/**
|
|
4178
|
+
* Issuer DIDs whose CAWG identity (ICA) credentials count as validated, matched
|
|
4179
|
+
* exactly against the credential issuer. Empty trusts no issuer: an identity assertion
|
|
4180
|
+
* on the init segment's manifest then reports `cawg.ica.untrusted_issuer` and withholds
|
|
4181
|
+
* `cawg.ica.credential_valid`.
|
|
4182
|
+
*/
|
|
4183
|
+
trustedIcaIssuers: Array<string>;
|
|
4184
|
+
/**
|
|
4185
|
+
* How far a segment's timestamp may sit from wall-clock before it is rejected as
|
|
4186
|
+
* skewed, in seconds: the deployment's own encoder-clock allowance, stated rather than
|
|
4187
|
+
* assumed.
|
|
4188
|
+
*/
|
|
4189
|
+
segmentSkewToleranceSecs: bigint;
|
|
4225
4190
|
};
|
|
4226
4191
|
/**
|
|
4227
|
-
* Generated factory for {@link
|
|
4192
|
+
* Generated factory for {@link StreamVerifierOptions} record objects.
|
|
4228
4193
|
*/
|
|
4229
|
-
export declare const
|
|
4230
|
-
create: (partial: Partial<
|
|
4231
|
-
new: (partial: Partial<
|
|
4232
|
-
defaults: () => Partial<
|
|
4194
|
+
export declare const StreamVerifierOptions: Readonly<{
|
|
4195
|
+
create: (partial: Partial<StreamVerifierOptions> & Required<Omit<StreamVerifierOptions, never>>) => StreamVerifierOptions;
|
|
4196
|
+
new: (partial: Partial<StreamVerifierOptions> & Required<Omit<StreamVerifierOptions, never>>) => StreamVerifierOptions;
|
|
4197
|
+
defaults: () => Partial<StreamVerifierOptions>;
|
|
4233
4198
|
}>;
|
|
4234
4199
|
export declare enum SegmentValidation_Tags {
|
|
4235
4200
|
Init = "Init",
|
|
@@ -4237,7 +4202,7 @@ export declare enum SegmentValidation_Tags {
|
|
|
4237
4202
|
Unknown = "Unknown"
|
|
4238
4203
|
}
|
|
4239
4204
|
/**
|
|
4240
|
-
* Result of `
|
|
4205
|
+
* Result of `StreamSession.validate`.
|
|
4241
4206
|
*/
|
|
4242
4207
|
export declare const SegmentValidation: Readonly<{
|
|
4243
4208
|
instanceOf: (obj: any) => obj is SegmentValidation;
|
|
@@ -4327,27 +4292,55 @@ export declare const SegmentValidation: Readonly<{
|
|
|
4327
4292
|
};
|
|
4328
4293
|
}>;
|
|
4329
4294
|
/**
|
|
4330
|
-
* Result of `
|
|
4295
|
+
* Result of `StreamSession.validate`.
|
|
4331
4296
|
*/
|
|
4332
4297
|
export type SegmentValidation = InstanceType<typeof SegmentValidation['Init' | 'Media' | 'Unknown']>;
|
|
4298
|
+
/**
|
|
4299
|
+
* The read surface a plugin implements. Implemented by the CALLER, in Rust
|
|
4300
|
+
* behind its own cdylib or directly in the host language, and handed to `verify`.
|
|
4301
|
+
*
|
|
4302
|
+
* Every method is given the asset as a [`RangeSource`], so a plugin never opens its own
|
|
4303
|
+
* view and the bytes it parses are the bytes the core hashes.
|
|
4304
|
+
*/
|
|
4305
|
+
export interface PluginReader {
|
|
4306
|
+
/**
|
|
4307
|
+
* The media types this plugin owns: its dispatch set, declared as data. The core
|
|
4308
|
+
* asserts a [`sniff`](Self::sniff) result is a member of this list.
|
|
4309
|
+
*/
|
|
4310
|
+
mediaTypes(): Array<string>;
|
|
4311
|
+
/**
|
|
4312
|
+
* Recognize the format from the real asset, or `None` to decline it.
|
|
4313
|
+
*/
|
|
4314
|
+
sniff(src: RangeSource, asyncOpts_?: {
|
|
4315
|
+
signal: AbortSignal;
|
|
4316
|
+
}): Promise<string | undefined>;
|
|
4317
|
+
/**
|
|
4318
|
+
* The manifest window(s), or empty when none is present. MUST be byte-identical
|
|
4319
|
+
* regardless of slot contents (empty at sign, filled after embed, zeroed after strip).
|
|
4320
|
+
*/
|
|
4321
|
+
locate(src: RangeSource, asyncOpts_?: {
|
|
4322
|
+
signal: AbortSignal;
|
|
4323
|
+
}): Promise<Array<Region>>;
|
|
4324
|
+
}
|
|
4333
4325
|
/**
|
|
4334
4326
|
* A C2PA asset verifier bound to a trust configuration. Construct once, verify many.
|
|
4335
4327
|
*/
|
|
4336
4328
|
export interface AssetVerifierLike {
|
|
4337
4329
|
/**
|
|
4338
|
-
* Verify an asset from a [`RangeSource`]
|
|
4339
|
-
*
|
|
4340
|
-
* plugins for non-c2pa formats (e.g. MXF)
|
|
4341
|
-
* built-in C2PA media format. The SDK links no plugin itself.
|
|
4342
|
-
* credentials plus typed recovery and golden-comparison
|
|
4330
|
+
* Verify an asset from a [`RangeSource`]. `recovery` is what this verify may do to recover
|
|
4331
|
+
* a manifest, or nothing: then the asset is read for what it carries and no repository is
|
|
4332
|
+
* asked. `plugins` are the caller's plugins for non-c2pa formats (e.g. MXF), in dispatch
|
|
4333
|
+
* order; an empty list is a built-in C2PA media format. The SDK links no plugin itself.
|
|
4334
|
+
* Returns embedded/recovered credentials plus typed recovery and golden-comparison
|
|
4335
|
+
* outcomes.
|
|
4343
4336
|
*
|
|
4344
4337
|
* # Errors
|
|
4345
4338
|
*
|
|
4346
|
-
* `READER_INVALID` when the source can't be read/parsed, or a
|
|
4347
|
-
* involving the asset backend,
|
|
4339
|
+
* `READER_INVALID` when the source can't be read/parsed, or a repository failure
|
|
4340
|
+
* involving the asset backend, repository, or a fetched manifest. Local binder faults,
|
|
4348
4341
|
* refused queries, and skipped oversized uploads are retained in the recovery summary.
|
|
4349
4342
|
*/
|
|
4350
|
-
verify(source: RangeSource,
|
|
4343
|
+
verify(source: RangeSource, recovery: Recovery | undefined, plugins: Array<PluginReader>, asyncOpts_?: {
|
|
4351
4344
|
signal: AbortSignal;
|
|
4352
4345
|
}): Promise<AssetVerification>;
|
|
4353
4346
|
}
|
|
@@ -4372,19 +4365,20 @@ export declare class AssetVerifier extends UniffiAbstractObject implements Asset
|
|
|
4372
4365
|
*/
|
|
4373
4366
|
static create(options: AssetVerifierOptions): AssetVerifierLike;
|
|
4374
4367
|
/**
|
|
4375
|
-
* Verify an asset from a [`RangeSource`]
|
|
4376
|
-
*
|
|
4377
|
-
* plugins for non-c2pa formats (e.g. MXF)
|
|
4378
|
-
* built-in C2PA media format. The SDK links no plugin itself.
|
|
4379
|
-
* credentials plus typed recovery and golden-comparison
|
|
4368
|
+
* Verify an asset from a [`RangeSource`]. `recovery` is what this verify may do to recover
|
|
4369
|
+
* a manifest, or nothing: then the asset is read for what it carries and no repository is
|
|
4370
|
+
* asked. `plugins` are the caller's plugins for non-c2pa formats (e.g. MXF), in dispatch
|
|
4371
|
+
* order; an empty list is a built-in C2PA media format. The SDK links no plugin itself.
|
|
4372
|
+
* Returns embedded/recovered credentials plus typed recovery and golden-comparison
|
|
4373
|
+
* outcomes.
|
|
4380
4374
|
*
|
|
4381
4375
|
* # Errors
|
|
4382
4376
|
*
|
|
4383
|
-
* `READER_INVALID` when the source can't be read/parsed, or a
|
|
4384
|
-
* involving the asset backend,
|
|
4377
|
+
* `READER_INVALID` when the source can't be read/parsed, or a repository failure
|
|
4378
|
+
* involving the asset backend, repository, or a fetched manifest. Local binder faults,
|
|
4385
4379
|
* refused queries, and skipped oversized uploads are retained in the recovery summary.
|
|
4386
4380
|
*/
|
|
4387
|
-
verify(source: RangeSource,
|
|
4381
|
+
verify(source: RangeSource, recovery: Recovery | undefined, plugins: Array<PluginReader>, asyncOpts_?: {
|
|
4388
4382
|
signal: AbortSignal;
|
|
4389
4383
|
}): Promise<AssetVerification>;
|
|
4390
4384
|
uniffiDestroy(): void;
|
|
@@ -4456,6 +4450,63 @@ export declare class FileSource extends UniffiAbstractObject implements FileSour
|
|
|
4456
4450
|
uniffiDestroy(): void;
|
|
4457
4451
|
static instanceOf(obj_: any): obj_ is FileSource;
|
|
4458
4452
|
}
|
|
4453
|
+
/**
|
|
4454
|
+
* A binding you already hold, such as an out-of-band video ISCC. Reads nothing.
|
|
4455
|
+
*/
|
|
4456
|
+
export interface HeldBinderLike {
|
|
4457
|
+
derive(source: RangeSource, options: DeriveOptions, asyncOpts_?: {
|
|
4458
|
+
signal: AbortSignal;
|
|
4459
|
+
}): Promise<SoftBinding | undefined>;
|
|
4460
|
+
}
|
|
4461
|
+
/**
|
|
4462
|
+
* @deprecated Use `HeldBinderLike` instead.
|
|
4463
|
+
*/
|
|
4464
|
+
export type HeldBinderInterface = HeldBinderLike;
|
|
4465
|
+
/**
|
|
4466
|
+
* A binding you already hold, such as an out-of-band video ISCC. Reads nothing.
|
|
4467
|
+
*/
|
|
4468
|
+
export declare class HeldBinder extends UniffiAbstractObject implements HeldBinderLike {
|
|
4469
|
+
readonly [uniffiTypeNameSymbol] = "HeldBinder";
|
|
4470
|
+
readonly [destructorGuardSymbol]: UniffiGcObject;
|
|
4471
|
+
readonly [pointerLiteralSymbol]: UniffiHandle;
|
|
4472
|
+
/**
|
|
4473
|
+
* # Errors
|
|
4474
|
+
*
|
|
4475
|
+
* A binding with an empty algorithm or value.
|
|
4476
|
+
*/
|
|
4477
|
+
constructor(binding: SoftBinding);
|
|
4478
|
+
derive(source: RangeSource, options: DeriveOptions, asyncOpts_?: {
|
|
4479
|
+
signal: AbortSignal;
|
|
4480
|
+
}): Promise<SoftBinding | undefined>;
|
|
4481
|
+
uniffiDestroy(): void;
|
|
4482
|
+
static instanceOf(obj_: any): obj_ is HeldBinder;
|
|
4483
|
+
}
|
|
4484
|
+
/**
|
|
4485
|
+
* Local ISCC Image-Code for supported image formats.
|
|
4486
|
+
*/
|
|
4487
|
+
export interface IsccBinderLike {
|
|
4488
|
+
derive(source: RangeSource, options: DeriveOptions, asyncOpts_?: {
|
|
4489
|
+
signal: AbortSignal;
|
|
4490
|
+
}): Promise<SoftBinding | undefined>;
|
|
4491
|
+
}
|
|
4492
|
+
/**
|
|
4493
|
+
* @deprecated Use `IsccBinderLike` instead.
|
|
4494
|
+
*/
|
|
4495
|
+
export type IsccBinderInterface = IsccBinderLike;
|
|
4496
|
+
/**
|
|
4497
|
+
* Local ISCC Image-Code for supported image formats.
|
|
4498
|
+
*/
|
|
4499
|
+
export declare class IsccBinder extends UniffiAbstractObject implements IsccBinderLike {
|
|
4500
|
+
readonly [uniffiTypeNameSymbol] = "IsccBinder";
|
|
4501
|
+
readonly [destructorGuardSymbol]: UniffiGcObject;
|
|
4502
|
+
readonly [pointerLiteralSymbol]: UniffiHandle;
|
|
4503
|
+
constructor();
|
|
4504
|
+
derive(source: RangeSource, options: DeriveOptions, asyncOpts_?: {
|
|
4505
|
+
signal: AbortSignal;
|
|
4506
|
+
}): Promise<SoftBinding | undefined>;
|
|
4507
|
+
uniffiDestroy(): void;
|
|
4508
|
+
static instanceOf(obj_: any): obj_ is IsccBinder;
|
|
4509
|
+
}
|
|
4459
4510
|
/**
|
|
4460
4511
|
* An in-memory [`RangeSource`], for a caller that already holds the whole asset as
|
|
4461
4512
|
* bytes and doesn't want to write a custom source. A **native** implementation of a
|
|
@@ -4529,7 +4580,7 @@ export declare class MemorySource extends UniffiAbstractObject implements Memory
|
|
|
4529
4580
|
* One stream being validated. It owns the session keys and manifest ids its init segments
|
|
4530
4581
|
* advertised, so releasing the stream is dropping this object.
|
|
4531
4582
|
*/
|
|
4532
|
-
export interface
|
|
4583
|
+
export interface StreamSessionLike {
|
|
4533
4584
|
/**
|
|
4534
4585
|
* Everything this stream's init segments have registered, as CBOR for another node to
|
|
4535
4586
|
* [`resume`](StreamVerifier::resume) from.
|
|
@@ -4550,7 +4601,7 @@ export interface StreamValidationLike {
|
|
|
4550
4601
|
*
|
|
4551
4602
|
* # Errors
|
|
4552
4603
|
*
|
|
4553
|
-
* A `
|
|
4604
|
+
* A `STREAM_INVALID` fault when an init segment is malformed or carries no valid
|
|
4554
4605
|
* manifest, or when a media segment arrives before any init was processed for the
|
|
4555
4606
|
* stream.
|
|
4556
4607
|
*/
|
|
@@ -4559,15 +4610,15 @@ export interface StreamValidationLike {
|
|
|
4559
4610
|
}): Promise<SegmentValidation>;
|
|
4560
4611
|
}
|
|
4561
4612
|
/**
|
|
4562
|
-
* @deprecated Use `
|
|
4613
|
+
* @deprecated Use `StreamSessionLike` instead.
|
|
4563
4614
|
*/
|
|
4564
|
-
export type
|
|
4615
|
+
export type StreamSessionInterface = StreamSessionLike;
|
|
4565
4616
|
/**
|
|
4566
4617
|
* One stream being validated. It owns the session keys and manifest ids its init segments
|
|
4567
4618
|
* advertised, so releasing the stream is dropping this object.
|
|
4568
4619
|
*/
|
|
4569
|
-
export declare class
|
|
4570
|
-
readonly [uniffiTypeNameSymbol] = "
|
|
4620
|
+
export declare class StreamSession extends UniffiAbstractObject implements StreamSessionLike {
|
|
4621
|
+
readonly [uniffiTypeNameSymbol] = "StreamSession";
|
|
4571
4622
|
readonly [destructorGuardSymbol]: UniffiGcObject;
|
|
4572
4623
|
readonly [pointerLiteralSymbol]: UniffiHandle;
|
|
4573
4624
|
private constructor();
|
|
@@ -4591,7 +4642,7 @@ export declare class StreamValidation extends UniffiAbstractObject implements St
|
|
|
4591
4642
|
*
|
|
4592
4643
|
* # Errors
|
|
4593
4644
|
*
|
|
4594
|
-
* A `
|
|
4645
|
+
* A `STREAM_INVALID` fault when an init segment is malformed or carries no valid
|
|
4595
4646
|
* manifest, or when a media segment arrives before any init was processed for the
|
|
4596
4647
|
* stream.
|
|
4597
4648
|
*/
|
|
@@ -4599,7 +4650,7 @@ export declare class StreamValidation extends UniffiAbstractObject implements St
|
|
|
4599
4650
|
signal: AbortSignal;
|
|
4600
4651
|
}): Promise<SegmentValidation>;
|
|
4601
4652
|
uniffiDestroy(): void;
|
|
4602
|
-
static instanceOf(obj_: any): obj_ is
|
|
4653
|
+
static instanceOf(obj_: any): obj_ is StreamSession;
|
|
4603
4654
|
}
|
|
4604
4655
|
/**
|
|
4605
4656
|
* A live-stream verifier bound to a trust configuration. Construct once with
|
|
@@ -4607,7 +4658,7 @@ export declare class StreamValidation extends UniffiAbstractObject implements St
|
|
|
4607
4658
|
*/
|
|
4608
4659
|
export interface StreamVerifierLike {
|
|
4609
4660
|
/**
|
|
4610
|
-
* Open `stream_id` for validation, handing back a [`
|
|
4661
|
+
* Open `stream_id` for validation, handing back a [`StreamSession`] to feed
|
|
4611
4662
|
* segments to.
|
|
4612
4663
|
*
|
|
4613
4664
|
* No I/O: the handle carries the id so it cannot be mistyped or confused with another
|
|
@@ -4615,17 +4666,17 @@ export interface StreamVerifierLike {
|
|
|
4615
4666
|
* back the same live session, so a caller that reconnects keeps the state its earlier
|
|
4616
4667
|
* handle accumulated.
|
|
4617
4668
|
*/
|
|
4618
|
-
open(streamId: string):
|
|
4669
|
+
open(streamId: string): StreamSessionLike;
|
|
4619
4670
|
/**
|
|
4620
4671
|
* Open `stream_id` on the state another node exported, merged into whatever this one
|
|
4621
4672
|
* holds for that id already.
|
|
4622
4673
|
*
|
|
4623
4674
|
* # Errors
|
|
4624
4675
|
*
|
|
4625
|
-
* `STREAM_INVALID` when `state` is not a value [`
|
|
4676
|
+
* `STREAM_INVALID` when `state` is not a value [`StreamSession::export`] produced,
|
|
4626
4677
|
* or carries a version this SDK no longer reads.
|
|
4627
4678
|
*/
|
|
4628
|
-
resume(streamId: string, state: ArrayBuffer):
|
|
4679
|
+
resume(streamId: string, state: ArrayBuffer): StreamSessionLike;
|
|
4629
4680
|
}
|
|
4630
4681
|
/**
|
|
4631
4682
|
* @deprecated Use `StreamVerifierLike` instead.
|
|
@@ -4649,7 +4700,7 @@ export declare class StreamVerifier extends UniffiAbstractObject implements Stre
|
|
|
4649
4700
|
*/
|
|
4650
4701
|
static create(options: StreamVerifierOptions): StreamVerifierLike;
|
|
4651
4702
|
/**
|
|
4652
|
-
* Open `stream_id` for validation, handing back a [`
|
|
4703
|
+
* Open `stream_id` for validation, handing back a [`StreamSession`] to feed
|
|
4653
4704
|
* segments to.
|
|
4654
4705
|
*
|
|
4655
4706
|
* No I/O: the handle carries the id so it cannot be mistyped or confused with another
|
|
@@ -4657,33 +4708,20 @@ export declare class StreamVerifier extends UniffiAbstractObject implements Stre
|
|
|
4657
4708
|
* back the same live session, so a caller that reconnects keeps the state its earlier
|
|
4658
4709
|
* handle accumulated.
|
|
4659
4710
|
*/
|
|
4660
|
-
open(streamId: string):
|
|
4711
|
+
open(streamId: string): StreamSessionLike;
|
|
4661
4712
|
/**
|
|
4662
4713
|
* Open `stream_id` on the state another node exported, merged into whatever this one
|
|
4663
4714
|
* holds for that id already.
|
|
4664
4715
|
*
|
|
4665
4716
|
* # Errors
|
|
4666
4717
|
*
|
|
4667
|
-
* `STREAM_INVALID` when `state` is not a value [`
|
|
4718
|
+
* `STREAM_INVALID` when `state` is not a value [`StreamSession::export`] produced,
|
|
4668
4719
|
* or carries a version this SDK no longer reads.
|
|
4669
4720
|
*/
|
|
4670
|
-
resume(streamId: string, state: ArrayBuffer):
|
|
4721
|
+
resume(streamId: string, state: ArrayBuffer): StreamSessionLike;
|
|
4671
4722
|
uniffiDestroy(): void;
|
|
4672
4723
|
static instanceOf(obj_: any): obj_ is StreamVerifier;
|
|
4673
4724
|
}
|
|
4674
|
-
/**
|
|
4675
|
-
* A caller-supplied soft-binding implementation.
|
|
4676
|
-
*
|
|
4677
|
-
* This is the extension point for algorithms the SDK does not ship. The callback receives the
|
|
4678
|
-
* same ranged asset source and resolved media type as the built-in binders and may return no
|
|
4679
|
-
* binding when the algorithm does not apply. The returned `alg` identifies the C2PA algorithm
|
|
4680
|
-
* used by the caller's recovery plan and registry index.
|
|
4681
|
-
*/
|
|
4682
|
-
export interface BinderPlugin {
|
|
4683
|
-
derive(source: RangeSource, format: string, asyncOpts_?: {
|
|
4684
|
-
signal: AbortSignal;
|
|
4685
|
-
}): Promise<SoftBinding | undefined>;
|
|
4686
|
-
}
|
|
4687
4725
|
/**
|
|
4688
4726
|
* This should be called before anything else.
|
|
4689
4727
|
*
|
|
@@ -4712,6 +4750,13 @@ declare const _default$1: Readonly<{
|
|
|
4712
4750
|
lift(value: UniffiByteArray): AssertionMetadata;
|
|
4713
4751
|
lower(value: AssertionMetadata, alloc: RustBufferAllocator): UniffiByteArray;
|
|
4714
4752
|
};
|
|
4753
|
+
FfiConverterTypeAssetFormat: {
|
|
4754
|
+
readFromCursor(c: Cursor): AssetFormat;
|
|
4755
|
+
writeIntoCursor(value: AssetFormat, c: Cursor): void;
|
|
4756
|
+
allocationSize(value: AssetFormat): number;
|
|
4757
|
+
lift(value: UniffiByteArray): AssetFormat;
|
|
4758
|
+
lower(value: AssetFormat, alloc: RustBufferAllocator): UniffiByteArray;
|
|
4759
|
+
};
|
|
4715
4760
|
FfiConverterTypeAssetType: {
|
|
4716
4761
|
readFromCursor(c: Cursor): AssetType;
|
|
4717
4762
|
writeIntoCursor(value: AssetType, c: Cursor): void;
|
|
@@ -4734,7 +4779,7 @@ declare const _default$1: Readonly<{
|
|
|
4734
4779
|
lift(value: UniffiByteArray): AssetVerifierOptions;
|
|
4735
4780
|
lower(value: AssetVerifierOptions, alloc: RustBufferAllocator): UniffiByteArray;
|
|
4736
4781
|
};
|
|
4737
|
-
FfiConverterTypeBinder:
|
|
4782
|
+
FfiConverterTypeBinder: FfiConverterObjectWithCallbacks<Binder>;
|
|
4738
4783
|
FfiConverterTypeByContent: {
|
|
4739
4784
|
readFromCursor(c: Cursor): ByContent;
|
|
4740
4785
|
writeIntoCursor(value: ByContent, c: Cursor): void;
|
|
@@ -4784,6 +4829,13 @@ declare const _default$1: Readonly<{
|
|
|
4784
4829
|
lift(value: UniffiByteArray): Coordinate;
|
|
4785
4830
|
lower(value: Coordinate, alloc: RustBufferAllocator): UniffiByteArray;
|
|
4786
4831
|
};
|
|
4832
|
+
FfiConverterTypeCredential: {
|
|
4833
|
+
readFromCursor(c: Cursor): Credential;
|
|
4834
|
+
writeIntoCursor(value: Credential, c: Cursor): void;
|
|
4835
|
+
allocationSize(value: Credential): number;
|
|
4836
|
+
lift(value: UniffiByteArray): Credential;
|
|
4837
|
+
lower(value: Credential, alloc: RustBufferAllocator): UniffiByteArray;
|
|
4838
|
+
};
|
|
4787
4839
|
FfiConverterTypeCredentialOrigin: {
|
|
4788
4840
|
readFromCursor(c: Cursor): CredentialOrigin;
|
|
4789
4841
|
writeIntoCursor(value: CredentialOrigin, c: Cursor): void;
|
|
@@ -4805,13 +4857,6 @@ declare const _default$1: Readonly<{
|
|
|
4805
4857
|
lift(value: UniffiByteArray): DeriveOptions;
|
|
4806
4858
|
lower(value: DeriveOptions, alloc: RustBufferAllocator): UniffiByteArray;
|
|
4807
4859
|
};
|
|
4808
|
-
FfiConverterTypeDetectors: {
|
|
4809
|
-
readFromCursor(c: Cursor): Detectors;
|
|
4810
|
-
writeIntoCursor(value: Detectors, c: Cursor): void;
|
|
4811
|
-
allocationSize(value: Detectors): number;
|
|
4812
|
-
lift(value: UniffiByteArray): Detectors;
|
|
4813
|
-
lower(value: Detectors, alloc: RustBufferAllocator): UniffiByteArray;
|
|
4814
|
-
};
|
|
4815
4860
|
FfiConverterTypeEndInclusivity: {
|
|
4816
4861
|
readFromCursor(c: Cursor): EndInclusivity;
|
|
4817
4862
|
writeIntoCursor(value: EndInclusivity, c: Cursor): void;
|
|
@@ -4834,13 +4879,6 @@ declare const _default$1: Readonly<{
|
|
|
4834
4879
|
lift(value: UniffiByteArray): FingerprintCheck;
|
|
4835
4880
|
lower(value: FingerprintCheck, alloc: RustBufferAllocator): UniffiByteArray;
|
|
4836
4881
|
};
|
|
4837
|
-
FfiConverterTypeFoundCredential: {
|
|
4838
|
-
readFromCursor(c: Cursor): FoundCredential;
|
|
4839
|
-
writeIntoCursor(value: FoundCredential, c: Cursor): void;
|
|
4840
|
-
allocationSize(value: FoundCredential): number;
|
|
4841
|
-
lift(value: UniffiByteArray): FoundCredential;
|
|
4842
|
-
lower(value: FoundCredential, alloc: RustBufferAllocator): UniffiByteArray;
|
|
4843
|
-
};
|
|
4844
4882
|
FfiConverterTypeFrame: {
|
|
4845
4883
|
readFromCursor(c: Cursor): Frame;
|
|
4846
4884
|
writeIntoCursor(value: Frame, c: Cursor): void;
|
|
@@ -4869,6 +4907,7 @@ declare const _default$1: Readonly<{
|
|
|
4869
4907
|
lift(value: UniffiByteArray): HashedUri;
|
|
4870
4908
|
lower(value: HashedUri, alloc: RustBufferAllocator): UniffiByteArray;
|
|
4871
4909
|
};
|
|
4910
|
+
FfiConverterTypeHeldBinder: FfiConverterObject<HeldBinderLike>;
|
|
4872
4911
|
FfiConverterTypeIngredient: {
|
|
4873
4912
|
readFromCursor(c: Cursor): Ingredient;
|
|
4874
4913
|
writeIntoCursor(value: Ingredient, c: Cursor): void;
|
|
@@ -4890,6 +4929,7 @@ declare const _default$1: Readonly<{
|
|
|
4890
4929
|
lift(value: UniffiByteArray): InitValidation;
|
|
4891
4930
|
lower(value: InitValidation, alloc: RustBufferAllocator): UniffiByteArray;
|
|
4892
4931
|
};
|
|
4932
|
+
FfiConverterTypeIsccBinder: FfiConverterObject<IsccBinderLike>;
|
|
4893
4933
|
FfiConverterTypeItem: {
|
|
4894
4934
|
readFromCursor(c: Cursor): Item;
|
|
4895
4935
|
writeIntoCursor(value: Item, c: Cursor): void;
|
|
@@ -4897,6 +4937,7 @@ declare const _default$1: Readonly<{
|
|
|
4897
4937
|
lift(value: UniffiByteArray): Item;
|
|
4898
4938
|
lower(value: Item, alloc: RustBufferAllocator): UniffiByteArray;
|
|
4899
4939
|
};
|
|
4940
|
+
FfiConverterTypeJsonValue: FfiConverter<UniffiByteArray, string>;
|
|
4900
4941
|
FfiConverterTypeLineage: {
|
|
4901
4942
|
readFromCursor(c: Cursor): Lineage;
|
|
4902
4943
|
writeIntoCursor(value: Lineage, c: Cursor): void;
|
|
@@ -4940,7 +4981,6 @@ declare const _default$1: Readonly<{
|
|
|
4940
4981
|
lower(value: MediaValidation, alloc: RustBufferAllocator): UniffiByteArray;
|
|
4941
4982
|
};
|
|
4942
4983
|
FfiConverterTypeMemorySource: FfiConverterObject<MemorySourceLike>;
|
|
4943
|
-
FfiConverterTypePluginRegistry: FfiConverterObject<PluginRegistryLike>;
|
|
4944
4984
|
FfiConverterTypeRange: {
|
|
4945
4985
|
readFromCursor(c: Cursor): Range;
|
|
4946
4986
|
writeIntoCursor(value: Range, c: Cursor): void;
|
|
@@ -4977,13 +5017,6 @@ declare const _default$1: Readonly<{
|
|
|
4977
5017
|
lift(value: UniffiByteArray): RecoveryIssue;
|
|
4978
5018
|
lower(value: RecoveryIssue, alloc: RustBufferAllocator): UniffiByteArray;
|
|
4979
5019
|
};
|
|
4980
|
-
FfiConverterTypeRecoveryPolicy: {
|
|
4981
|
-
readFromCursor(c: Cursor): RecoveryPolicy;
|
|
4982
|
-
writeIntoCursor(value: RecoveryPolicy, c: Cursor): void;
|
|
4983
|
-
allocationSize(value: RecoveryPolicy): number;
|
|
4984
|
-
lift(value: UniffiByteArray): RecoveryPolicy;
|
|
4985
|
-
lower(value: RecoveryPolicy, alloc: RustBufferAllocator): UniffiByteArray;
|
|
4986
|
-
};
|
|
4987
5020
|
FfiConverterTypeRecoveryStatus: {
|
|
4988
5021
|
readFromCursor(c: Cursor): RecoveryStatus;
|
|
4989
5022
|
writeIntoCursor(value: RecoveryStatus, c: Cursor): void;
|
|
@@ -4998,6 +5031,13 @@ declare const _default$1: Readonly<{
|
|
|
4998
5031
|
lift(value: UniffiByteArray): RecoverySummary;
|
|
4999
5032
|
lower(value: RecoverySummary, alloc: RustBufferAllocator): UniffiByteArray;
|
|
5000
5033
|
};
|
|
5034
|
+
FfiConverterTypeRecoveryTrigger: {
|
|
5035
|
+
readFromCursor(c: Cursor): RecoveryTrigger;
|
|
5036
|
+
writeIntoCursor(value: RecoveryTrigger, c: Cursor): void;
|
|
5037
|
+
allocationSize(value: RecoveryTrigger): number;
|
|
5038
|
+
lift(value: UniffiByteArray): RecoveryTrigger;
|
|
5039
|
+
lower(value: RecoveryTrigger, alloc: RustBufferAllocator): UniffiByteArray;
|
|
5040
|
+
};
|
|
5001
5041
|
FfiConverterTypeRegion: {
|
|
5002
5042
|
readFromCursor(c: Cursor): Region;
|
|
5003
5043
|
writeIntoCursor(value: Region, c: Cursor): void;
|
|
@@ -5012,13 +5052,6 @@ declare const _default$1: Readonly<{
|
|
|
5012
5052
|
lift(value: UniffiByteArray): RegionOfInterest;
|
|
5013
5053
|
lower(value: RegionOfInterest, alloc: RustBufferAllocator): UniffiByteArray;
|
|
5014
5054
|
};
|
|
5015
|
-
FfiConverterTypeRegistryOptions: {
|
|
5016
|
-
readFromCursor(c: Cursor): RegistryOptions;
|
|
5017
|
-
writeIntoCursor(value: RegistryOptions, c: Cursor): void;
|
|
5018
|
-
allocationSize(value: RegistryOptions): number;
|
|
5019
|
-
lift(value: UniffiByteArray): RegistryOptions;
|
|
5020
|
-
lower(value: RegistryOptions, alloc: RustBufferAllocator): UniffiByteArray;
|
|
5021
|
-
};
|
|
5022
5055
|
FfiConverterTypeRelationship: {
|
|
5023
5056
|
readFromCursor(c: Cursor): Relationship;
|
|
5024
5057
|
writeIntoCursor(value: Relationship, c: Cursor): void;
|
|
@@ -5026,6 +5059,13 @@ declare const _default$1: Readonly<{
|
|
|
5026
5059
|
lift(value: UniffiByteArray): Relationship;
|
|
5027
5060
|
lower(value: Relationship, alloc: RustBufferAllocator): UniffiByteArray;
|
|
5028
5061
|
};
|
|
5062
|
+
FfiConverterTypeRepository: {
|
|
5063
|
+
readFromCursor(c: Cursor): Repository;
|
|
5064
|
+
writeIntoCursor(value: Repository, c: Cursor): void;
|
|
5065
|
+
allocationSize(value: Repository): number;
|
|
5066
|
+
lift(value: UniffiByteArray): Repository;
|
|
5067
|
+
lower(value: Repository, alloc: RustBufferAllocator): UniffiByteArray;
|
|
5068
|
+
};
|
|
5029
5069
|
FfiConverterTypeResourceRef: {
|
|
5030
5070
|
readFromCursor(c: Cursor): ResourceRef;
|
|
5031
5071
|
writeIntoCursor(value: ResourceRef, c: Cursor): void;
|
|
@@ -5118,7 +5158,7 @@ declare const _default$1: Readonly<{
|
|
|
5118
5158
|
lift(value: UniffiByteArray): StatusCodes;
|
|
5119
5159
|
lower(value: StatusCodes, alloc: RustBufferAllocator): UniffiByteArray;
|
|
5120
5160
|
};
|
|
5121
|
-
|
|
5161
|
+
FfiConverterTypeStreamSession: FfiConverterObject<StreamSessionLike>;
|
|
5122
5162
|
FfiConverterTypeStreamVerifier: FfiConverterObject<StreamVerifierLike>;
|
|
5123
5163
|
FfiConverterTypeStreamVerifierOptions: {
|
|
5124
5164
|
readFromCursor(c: Cursor): StreamVerifierOptions;
|
|
@@ -5211,7 +5251,6 @@ declare const _default$1: Readonly<{
|
|
|
5211
5251
|
lift(value: UniffiByteArray): ValidationStatus;
|
|
5212
5252
|
lower(value: ValidationStatus, alloc: RustBufferAllocator): UniffiByteArray;
|
|
5213
5253
|
};
|
|
5214
|
-
FfiConverterTypeValue: FfiConverter<UniffiByteArray, string>;
|
|
5215
5254
|
FfiConverterTypeVerdict: {
|
|
5216
5255
|
readFromCursor(c: Cursor): Verdict;
|
|
5217
5256
|
writeIntoCursor(value: Verdict, c: Cursor): void;
|
|
@@ -5226,13 +5265,6 @@ declare const _default$1: Readonly<{
|
|
|
5226
5265
|
lift(value: UniffiByteArray): VerdictRule;
|
|
5227
5266
|
lower(value: VerdictRule, alloc: RustBufferAllocator): UniffiByteArray;
|
|
5228
5267
|
};
|
|
5229
|
-
FfiConverterTypeVerifyOptions: {
|
|
5230
|
-
readFromCursor(c: Cursor): VerifyOptions;
|
|
5231
|
-
writeIntoCursor(value: VerifyOptions, c: Cursor): void;
|
|
5232
|
-
allocationSize(value: VerifyOptions): number;
|
|
5233
|
-
lift(value: UniffiByteArray): VerifyOptions;
|
|
5234
|
-
lower(value: VerifyOptions, alloc: RustBufferAllocator): UniffiByteArray;
|
|
5235
|
-
};
|
|
5236
5268
|
};
|
|
5237
5269
|
}>;
|
|
5238
5270
|
//#endregion
|