@trylimbo/sdk-verifier 0.2.11-canary.16 → 0.2.11-canary.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/gen/ffi/index.d.ts +1392 -625
  2. package/gen/ffi/index.js +1480 -740
  3. package/package.json +3 -3
@@ -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, BinderInterface, BinderLike, BinderPlugin, ClaimGeneratorInfo, Code, ContentAlgorithm, ContentAlgorithm_Tags, ContentBindingClass, Coordinate, CredentialOrigin, CredentialOrigin_Tags, DataSource, DeriveOptions, EndInclusivity, FieldViolation, FileSource, FileSourceInterface, FileSourceLike, FingerprintCheck, FingerprintCheck_Tags, FoundCredential, Frame, GoldenComparison, GoldenComparison_Tags, HardBinding, HashedUri, Ingredient, IngredientDeltaValidationResult, InitValidation, Item, Manifest, ManifestAssertion, ManifestAssertionKind, ManifestStore, MediaValidation, MemorySource, MemorySourceInterface, MemorySourceLike, PluginRead, PluginRegistry, PluginRegistryInterface, PluginRegistryLike, Range, RangeSource, RangeSourceImpl, RangeType, RecoveryCompletion, RecoveryDiscovery, RecoveryDiscovery_Tags, RecoveryExecution, RecoveryIssue, RecoveryIssueKind, RecoveryPlan, RecoveryPlan_Tags, RecoveryPolicy, RecoveryQuery, RecoveryQuery_Tags, RecoveryStage, RecoveryStatus, RecoverySummary, Region, RegionOfInterest, RegistryOptions, Relationship, ResourceRef, ReviewRating, Role, SdkError, SdkError_Tags, SegmentTiming, SegmentValidation, SegmentValidation_Tags, SessionKeySummary, Shape, ShapeType, SignatureInfo, SigningAlgSchema, SimilarityScore, SoftBinding, StatusCodes, StreamValidation, StreamValidationInterface, StreamValidationLike, StreamVerifier, StreamVerifierInterface, StreamVerifierLike, StreamVerifierOptions, Text, TextSelector, TextSelectorRange, Time, TimeType, UnitType, UriOrResource, UriOrResource_Tags, ValidationCode, ValidationCodeKind, ValidationResults, ValidationState, ValidationStatus, Value, VerifyOptions, c2paTrustList, c2paTsaTrustList, _default$1 as default, devCa, parse, resource, thumbnails };
184
+ export { Actor, AssertionMetadata, AssetType, AssetVerification, AssetVerifier, AssetVerifierInterface, AssetVerifierLike, AssetVerifierOptions, Binder, BinderInterface, BinderLike, BinderPlugin, ByContent, ByReference, ClaimGeneratorInfo, Code, ContentBindingClass, ContentTrigger, Coordinate, CredentialOrigin, CredentialOrigin_Tags, DataSource, DeriveOptions, Detectors, Detectors_Tags, EndInclusivity, FieldViolation, FileSource, FileSourceInterface, FileSourceLike, FingerprintCheck, FingerprintCheck_Tags, FoundCredential, Frame, GoldenComparison, GoldenComparison_Tags, HardBinding, HashedUri, Ingredient, IngredientDeltaValidationResult, InitValidation, Item, Lineage, Manifest, ManifestAssertion, ManifestAssertionKind, ManifestStore, MediaValidation, MemorySource, MemorySourceInterface, MemorySourceLike, PluginRead, PluginRegistry, PluginRegistryInterface, PluginRegistryLike, Range, RangeSource, RangeSourceImpl, RangeType, Recovery, RecoveryDiscovery, RecoveryDiscovery_Tags, RecoveryIssue, RecoveryIssue_Tags, RecoveryPolicy, RecoveryStatus, RecoverySummary, Region, RegionOfInterest, RegistryOptions, Relationship, ResourceRef, ReviewRating, Role, SdkError, SdkError_Tags, SegmentTiming, SegmentValidation, SegmentValidation_Tags, SessionKeySummary, Shape, ShapeType, SignatureInfo, SigningAlgSchema, SimilarityScore, SoftBinding, StatusCodes, StreamValidation, StreamValidationInterface, StreamValidationLike, StreamVerifier, StreamVerifierInterface, StreamVerifierLike, StreamVerifierOptions, Text, TextSelector, TextSelectorRange, Time, TimeType, UnitType, UriOrResource, UriOrResource_Tags, ValidationCode, ValidationCodeKind, ValidationResults, ValidationState, ValidationStatus, Value, Verdict, VerdictRule, Verdict_Tags, VerifyOptions, 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
@@ -823,7 +823,8 @@ export declare enum ContentBindingClass {
823
823
  export type SimilarityScore = number;
824
824
  export declare enum RecoveryDiscovery_Tags {
825
825
  ByBinding = "ByBinding",
826
- ByContent = "ByContent"
826
+ ByContent = "ByContent",
827
+ ByReference = "ByReference"
827
828
  }
828
829
  export declare const RecoveryDiscovery: Readonly<{
829
830
  instanceOf: (obj: any) => obj is RecoveryDiscovery;
@@ -833,6 +834,7 @@ export declare const RecoveryDiscovery: Readonly<{
833
834
  binding: SoftBinding;
834
835
  class: ContentBindingClass;
835
836
  registryScore?: SimilarityScore;
837
+ endpoint?: string;
836
838
  }): {
837
839
  /**
838
840
  * @private
@@ -845,6 +847,7 @@ export declare const RecoveryDiscovery: Readonly<{
845
847
  binding: SoftBinding;
846
848
  class: ContentBindingClass;
847
849
  registryScore?: SimilarityScore;
850
+ endpoint?: string;
848
851
  }>;
849
852
  };
850
853
  "new"(inner: {
@@ -852,6 +855,7 @@ export declare const RecoveryDiscovery: Readonly<{
852
855
  binding: SoftBinding;
853
856
  class: ContentBindingClass;
854
857
  registryScore?: SimilarityScore;
858
+ endpoint?: string;
855
859
  }): {
856
860
  /**
857
861
  * @private
@@ -864,6 +868,7 @@ export declare const RecoveryDiscovery: Readonly<{
864
868
  binding: SoftBinding;
865
869
  class: ContentBindingClass;
866
870
  registryScore?: SimilarityScore;
871
+ endpoint?: string;
867
872
  }>;
868
873
  };
869
874
  instanceOf(obj: any): obj is {
@@ -878,6 +883,7 @@ export declare const RecoveryDiscovery: Readonly<{
878
883
  binding: SoftBinding;
879
884
  class: ContentBindingClass;
880
885
  registryScore?: SimilarityScore;
886
+ endpoint?: string;
881
887
  }>;
882
888
  };
883
889
  };
@@ -887,6 +893,7 @@ export declare const RecoveryDiscovery: Readonly<{
887
893
  class: ContentBindingClass;
888
894
  hint?: SoftBinding;
889
895
  registryScore?: SimilarityScore;
896
+ endpoint?: string;
890
897
  }): {
891
898
  /**
892
899
  * @private
@@ -899,6 +906,7 @@ export declare const RecoveryDiscovery: Readonly<{
899
906
  class: ContentBindingClass;
900
907
  hint?: SoftBinding;
901
908
  registryScore?: SimilarityScore;
909
+ endpoint?: string;
902
910
  }>;
903
911
  };
904
912
  "new"(inner: {
@@ -906,6 +914,7 @@ export declare const RecoveryDiscovery: Readonly<{
906
914
  class: ContentBindingClass;
907
915
  hint?: SoftBinding;
908
916
  registryScore?: SimilarityScore;
917
+ endpoint?: string;
909
918
  }): {
910
919
  /**
911
920
  * @private
@@ -918,6 +927,7 @@ export declare const RecoveryDiscovery: Readonly<{
918
927
  class: ContentBindingClass;
919
928
  hint?: SoftBinding;
920
929
  registryScore?: SimilarityScore;
930
+ endpoint?: string;
921
931
  }>;
922
932
  };
923
933
  instanceOf(obj: any): obj is {
@@ -932,11 +942,71 @@ export declare const RecoveryDiscovery: Readonly<{
932
942
  class: ContentBindingClass;
933
943
  hint?: SoftBinding;
934
944
  registryScore?: SimilarityScore;
945
+ endpoint?: string;
946
+ }>;
947
+ };
948
+ };
949
+ ByReference: {
950
+ new (inner: {
951
+ algorithm: string;
952
+ class: ContentBindingClass;
953
+ hint?: SoftBinding;
954
+ registryScore?: SimilarityScore;
955
+ endpoint?: string;
956
+ }): {
957
+ /**
958
+ * @private
959
+ * This field is private and should not be used, use `tag` instead.
960
+ */
961
+ readonly [uniffiTypeNameSymbol]: "RecoveryDiscovery";
962
+ readonly tag: RecoveryDiscovery_Tags.ByReference;
963
+ readonly inner: Readonly<{
964
+ algorithm: string;
965
+ class: ContentBindingClass;
966
+ hint?: SoftBinding;
967
+ registryScore?: SimilarityScore;
968
+ endpoint?: string;
969
+ }>;
970
+ };
971
+ "new"(inner: {
972
+ algorithm: string;
973
+ class: ContentBindingClass;
974
+ hint?: SoftBinding;
975
+ registryScore?: SimilarityScore;
976
+ endpoint?: string;
977
+ }): {
978
+ /**
979
+ * @private
980
+ * This field is private and should not be used, use `tag` instead.
981
+ */
982
+ readonly [uniffiTypeNameSymbol]: "RecoveryDiscovery";
983
+ readonly tag: RecoveryDiscovery_Tags.ByReference;
984
+ readonly inner: Readonly<{
985
+ algorithm: string;
986
+ class: ContentBindingClass;
987
+ hint?: SoftBinding;
988
+ registryScore?: SimilarityScore;
989
+ endpoint?: string;
990
+ }>;
991
+ };
992
+ instanceOf(obj: any): obj is {
993
+ /**
994
+ * @private
995
+ * This field is private and should not be used, use `tag` instead.
996
+ */
997
+ readonly [uniffiTypeNameSymbol]: "RecoveryDiscovery";
998
+ readonly tag: RecoveryDiscovery_Tags.ByReference;
999
+ readonly inner: Readonly<{
1000
+ algorithm: string;
1001
+ class: ContentBindingClass;
1002
+ hint?: SoftBinding;
1003
+ registryScore?: SimilarityScore;
1004
+ endpoint?: string;
935
1005
  }>;
936
1006
  };
937
1007
  };
938
1008
  }>;
939
- export type RecoveryDiscovery = InstanceType<typeof RecoveryDiscovery['ByBinding' | 'ByContent']>;
1009
+ export type RecoveryDiscovery = InstanceType<typeof RecoveryDiscovery['ByBinding' | 'ByContent' | 'ByReference']>;
940
1010
  export declare enum CredentialOrigin_Tags {
941
1011
  Embedded = "Embedded",
942
1012
  Recovered = "Recovered"
@@ -1839,6 +1909,31 @@ export declare enum HardBinding {
1839
1909
  */
1840
1910
  Mismatch = 1
1841
1911
  }
1912
+ /**
1913
+ * The re-sign chain, read from the validated stores themselves: C2PA 2.4 18.16.11 copies a
1914
+ * `parentOf` ingredient's manifest into its successor's store, so a link here was signed by the
1915
+ * successor. A registry's ordering is a hint; this is the evidence.
1916
+ */
1917
+ export type Lineage = {
1918
+ /**
1919
+ * Active manifest labels this credential's active manifest opened as a `parentOf`
1920
+ * ingredient, whether or not they were returned by this verify.
1921
+ */
1922
+ supersedes: Array<string>;
1923
+ /**
1924
+ * Active manifest labels of the other credentials in this result that name this one in
1925
+ * their `supersedes`.
1926
+ */
1927
+ supersededBy: Array<string>;
1928
+ };
1929
+ /**
1930
+ * Generated factory for {@link Lineage} record objects.
1931
+ */
1932
+ export declare const Lineage: Readonly<{
1933
+ create: (partial: Partial<Lineage> & Required<Omit<Lineage, never>>) => Lineage;
1934
+ new: (partial: Partial<Lineage> & Required<Omit<Lineage, never>>) => Lineage;
1935
+ defaults: () => Partial<Lineage>;
1936
+ }>;
1842
1937
  /**
1843
1938
  * One `verify` result: the c2pa manifest store, where it came from, whether the asset's own
1844
1939
  * fingerprint backs it up, and whether its hard binding holds over the bytes read. The recovered
@@ -1869,6 +1964,10 @@ export type FoundCredential = {
1869
1964
  * Whether the manifest's hard binding holds over the bytes this verify read.
1870
1965
  */
1871
1966
  hardBinding: HardBinding;
1967
+ /**
1968
+ * Where this credential sits among the others returned. See [`asset::Lineage`].
1969
+ */
1970
+ lineage: Lineage;
1872
1971
  };
1873
1972
  /**
1874
1973
  * Generated factory for {@link FoundCredential} record objects.
@@ -1890,175 +1989,188 @@ export declare enum RecoveryStatus {
1890
1989
  */
1891
1990
  Incomplete = 3
1892
1991
  }
1893
- /**
1894
- * Why registry recovery did not complete cleanly, or why one candidate was omitted while another
1895
- * succeeded. Kept as data so a partial recovery never loses the rest of the lookup outcome.
1896
- */
1897
- export declare enum RecoveryIssueKind {
1898
- Binder = 0,
1899
- BindingQuery = 1,
1900
- QueryRefused = 2,
1901
- ContentQuery = 3,
1902
- Capabilities = 4,
1903
- ContentTooLarge = 5,
1904
- CandidateFetch = 6,
1905
- CandidateValidation = 7,
1906
- ResourceLimit = 8
1992
+ export declare enum RecoveryIssue_Tags {
1993
+ Binder = "Binder",
1994
+ DeprecatedAlgorithm = "DeprecatedAlgorithm",
1995
+ BindingQuery = "BindingQuery",
1996
+ QueryRefused = "QueryRefused",
1997
+ ContentForm = "ContentForm",
1998
+ ContentQuery = "ContentQuery",
1999
+ Capabilities = "Capabilities",
2000
+ ContentTooLarge = "ContentTooLarge",
2001
+ CandidateFetch = "CandidateFetch",
2002
+ CandidateValidation = "CandidateValidation",
2003
+ EndpointRefused = "EndpointRefused",
2004
+ ResourceLimit = "ResourceLimit"
1907
2005
  }
1908
2006
  /**
1909
- * One non-fatal recovery problem. `manifest_id` is present only for a returned candidate.
1910
- */
1911
- export type RecoveryIssue = {
1912
- kind: RecoveryIssueKind;
1913
- manifestId?: string;
1914
- message: string;
1915
- };
1916
- /**
1917
- * Generated factory for {@link RecoveryIssue} record objects.
2007
+ * Why registry recovery did not complete cleanly, or why one candidate was omitted while another
2008
+ * succeeded. Kept as data so a partial recovery never loses the rest of the lookup outcome, and
2009
+ * each kind carries exactly what it is about.
1918
2010
  */
1919
2011
  export declare const RecoveryIssue: Readonly<{
1920
- create: (partial: Partial<RecoveryIssue> & Required<Omit<RecoveryIssue, "manifestId">>) => RecoveryIssue;
1921
- new: (partial: Partial<RecoveryIssue> & Required<Omit<RecoveryIssue, "manifestId">>) => RecoveryIssue;
1922
- defaults: () => Partial<RecoveryIssue>;
1923
- }>;
1924
- /**
1925
- * Registry recovery outcome, including an unambiguous candidate, when one exists, and every
1926
- * non-fatal issue encountered on the way.
1927
- */
1928
- export type RecoverySummary = {
1929
- status: RecoveryStatus;
1930
- /**
1931
- * Index into [`AssetVerification::credentials`]. Present only when recovery produced one
1932
- * candidate, or a golden comparison found the embedded active manifest exactly. Multiple
1933
- * soft-binding matches otherwise remain a list without an SDK-selected verdict.
1934
- */
1935
- bestCredentialIndex?: number;
1936
- issues: Array<RecoveryIssue>;
1937
- };
1938
- /**
1939
- * Generated factory for {@link RecoverySummary} record objects.
1940
- */
1941
- export declare const RecoverySummary: Readonly<{
1942
- create: (partial: Partial<RecoverySummary> & Required<Omit<RecoverySummary, "bestCredentialIndex">>) => RecoverySummary;
1943
- new: (partial: Partial<RecoverySummary> & Required<Omit<RecoverySummary, "bestCredentialIndex">>) => RecoverySummary;
1944
- defaults: () => Partial<RecoverySummary>;
1945
- }>;
1946
- export declare enum GoldenComparison_Tags {
1947
- NotRequested = "NotRequested",
1948
- NoEmbeddedManifest = "NoEmbeddedManifest",
1949
- NoRecoveredManifest = "NoRecoveredManifest",
1950
- Matches = "Matches",
1951
- Differs = "Differs",
1952
- Indeterminate = "Indeterminate"
1953
- }
1954
- /**
1955
- * Typed completion of C2PA 2.4's `watermark-golden` / `fingerprint-golden` final comparison.
1956
- */
1957
- export declare const GoldenComparison: Readonly<{
1958
- instanceOf: (obj: any) => obj is GoldenComparison;
1959
- NotRequested: {
1960
- new (): {
2012
+ instanceOf: (obj: any) => obj is RecoveryIssue;
2013
+ Binder: {
2014
+ new (inner: {
2015
+ binderIndex: number;
2016
+ message: string;
2017
+ }): {
1961
2018
  /**
1962
2019
  * @private
1963
2020
  * This field is private and should not be used, use `tag` instead.
1964
2021
  */
1965
- readonly [uniffiTypeNameSymbol]: "GoldenComparison";
1966
- readonly tag: GoldenComparison_Tags.NotRequested;
2022
+ readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
2023
+ readonly tag: RecoveryIssue_Tags.Binder;
2024
+ readonly inner: Readonly<{
2025
+ binderIndex: number;
2026
+ message: string;
2027
+ }>;
1967
2028
  };
1968
- "new"(): {
2029
+ "new"(inner: {
2030
+ binderIndex: number;
2031
+ message: string;
2032
+ }): {
1969
2033
  /**
1970
2034
  * @private
1971
2035
  * This field is private and should not be used, use `tag` instead.
1972
2036
  */
1973
- readonly [uniffiTypeNameSymbol]: "GoldenComparison";
1974
- readonly tag: GoldenComparison_Tags.NotRequested;
2037
+ readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
2038
+ readonly tag: RecoveryIssue_Tags.Binder;
2039
+ readonly inner: Readonly<{
2040
+ binderIndex: number;
2041
+ message: string;
2042
+ }>;
1975
2043
  };
1976
2044
  instanceOf(obj: any): obj is {
1977
2045
  /**
1978
2046
  * @private
1979
2047
  * This field is private and should not be used, use `tag` instead.
1980
2048
  */
1981
- readonly [uniffiTypeNameSymbol]: "GoldenComparison";
1982
- readonly tag: GoldenComparison_Tags.NotRequested;
2049
+ readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
2050
+ readonly tag: RecoveryIssue_Tags.Binder;
2051
+ readonly inner: Readonly<{
2052
+ binderIndex: number;
2053
+ message: string;
2054
+ }>;
1983
2055
  };
1984
2056
  };
1985
- NoEmbeddedManifest: {
1986
- new (): {
2057
+ DeprecatedAlgorithm: {
2058
+ new (inner: {
2059
+ algorithm: string;
2060
+ }): {
1987
2061
  /**
1988
2062
  * @private
1989
2063
  * This field is private and should not be used, use `tag` instead.
1990
2064
  */
1991
- readonly [uniffiTypeNameSymbol]: "GoldenComparison";
1992
- readonly tag: GoldenComparison_Tags.NoEmbeddedManifest;
2065
+ readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
2066
+ readonly tag: RecoveryIssue_Tags.DeprecatedAlgorithm;
2067
+ readonly inner: Readonly<{
2068
+ algorithm: string;
2069
+ }>;
1993
2070
  };
1994
- "new"(): {
2071
+ "new"(inner: {
2072
+ algorithm: string;
2073
+ }): {
1995
2074
  /**
1996
2075
  * @private
1997
2076
  * This field is private and should not be used, use `tag` instead.
1998
2077
  */
1999
- readonly [uniffiTypeNameSymbol]: "GoldenComparison";
2000
- readonly tag: GoldenComparison_Tags.NoEmbeddedManifest;
2078
+ readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
2079
+ readonly tag: RecoveryIssue_Tags.DeprecatedAlgorithm;
2080
+ readonly inner: Readonly<{
2081
+ algorithm: string;
2082
+ }>;
2001
2083
  };
2002
2084
  instanceOf(obj: any): obj is {
2003
2085
  /**
2004
2086
  * @private
2005
2087
  * This field is private and should not be used, use `tag` instead.
2006
2088
  */
2007
- readonly [uniffiTypeNameSymbol]: "GoldenComparison";
2008
- readonly tag: GoldenComparison_Tags.NoEmbeddedManifest;
2089
+ readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
2090
+ readonly tag: RecoveryIssue_Tags.DeprecatedAlgorithm;
2091
+ readonly inner: Readonly<{
2092
+ algorithm: string;
2093
+ }>;
2009
2094
  };
2010
2095
  };
2011
- NoRecoveredManifest: {
2012
- new (): {
2096
+ BindingQuery: {
2097
+ new (inner: {
2098
+ binderIndex: number;
2099
+ algorithm: string;
2100
+ message: string;
2101
+ }): {
2013
2102
  /**
2014
2103
  * @private
2015
2104
  * This field is private and should not be used, use `tag` instead.
2016
2105
  */
2017
- readonly [uniffiTypeNameSymbol]: "GoldenComparison";
2018
- readonly tag: GoldenComparison_Tags.NoRecoveredManifest;
2106
+ readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
2107
+ readonly tag: RecoveryIssue_Tags.BindingQuery;
2108
+ readonly inner: Readonly<{
2109
+ binderIndex: number;
2110
+ algorithm: string;
2111
+ message: string;
2112
+ }>;
2019
2113
  };
2020
- "new"(): {
2114
+ "new"(inner: {
2115
+ binderIndex: number;
2116
+ algorithm: string;
2117
+ message: string;
2118
+ }): {
2021
2119
  /**
2022
2120
  * @private
2023
2121
  * This field is private and should not be used, use `tag` instead.
2024
2122
  */
2025
- readonly [uniffiTypeNameSymbol]: "GoldenComparison";
2026
- readonly tag: GoldenComparison_Tags.NoRecoveredManifest;
2123
+ readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
2124
+ readonly tag: RecoveryIssue_Tags.BindingQuery;
2125
+ readonly inner: Readonly<{
2126
+ binderIndex: number;
2127
+ algorithm: string;
2128
+ message: string;
2129
+ }>;
2027
2130
  };
2028
2131
  instanceOf(obj: any): obj is {
2029
2132
  /**
2030
2133
  * @private
2031
2134
  * This field is private and should not be used, use `tag` instead.
2032
2135
  */
2033
- readonly [uniffiTypeNameSymbol]: "GoldenComparison";
2034
- readonly tag: GoldenComparison_Tags.NoRecoveredManifest;
2136
+ readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
2137
+ readonly tag: RecoveryIssue_Tags.BindingQuery;
2138
+ readonly inner: Readonly<{
2139
+ binderIndex: number;
2140
+ algorithm: string;
2141
+ message: string;
2142
+ }>;
2035
2143
  };
2036
2144
  };
2037
- Matches: {
2145
+ QueryRefused: {
2038
2146
  new (inner: {
2039
- recoveredIndex: number;
2147
+ algorithm: string;
2148
+ message: string;
2040
2149
  }): {
2041
2150
  /**
2042
2151
  * @private
2043
2152
  * This field is private and should not be used, use `tag` instead.
2044
2153
  */
2045
- readonly [uniffiTypeNameSymbol]: "GoldenComparison";
2046
- readonly tag: GoldenComparison_Tags.Matches;
2154
+ readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
2155
+ readonly tag: RecoveryIssue_Tags.QueryRefused;
2047
2156
  readonly inner: Readonly<{
2048
- recoveredIndex: number;
2157
+ algorithm: string;
2158
+ message: string;
2049
2159
  }>;
2050
2160
  };
2051
2161
  "new"(inner: {
2052
- recoveredIndex: number;
2162
+ algorithm: string;
2163
+ message: string;
2053
2164
  }): {
2054
2165
  /**
2055
2166
  * @private
2056
2167
  * This field is private and should not be used, use `tag` instead.
2057
2168
  */
2058
- readonly [uniffiTypeNameSymbol]: "GoldenComparison";
2059
- readonly tag: GoldenComparison_Tags.Matches;
2169
+ readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
2170
+ readonly tag: RecoveryIssue_Tags.QueryRefused;
2060
2171
  readonly inner: Readonly<{
2061
- recoveredIndex: number;
2172
+ algorithm: string;
2173
+ message: string;
2062
2174
  }>;
2063
2175
  };
2064
2176
  instanceOf(obj: any): obj is {
@@ -2066,38 +2178,39 @@ export declare const GoldenComparison: Readonly<{
2066
2178
  * @private
2067
2179
  * This field is private and should not be used, use `tag` instead.
2068
2180
  */
2069
- readonly [uniffiTypeNameSymbol]: "GoldenComparison";
2070
- readonly tag: GoldenComparison_Tags.Matches;
2181
+ readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
2182
+ readonly tag: RecoveryIssue_Tags.QueryRefused;
2071
2183
  readonly inner: Readonly<{
2072
- recoveredIndex: number;
2184
+ algorithm: string;
2185
+ message: string;
2073
2186
  }>;
2074
2187
  };
2075
2188
  };
2076
- Differs: {
2189
+ ContentForm: {
2077
2190
  new (inner: {
2078
- recoveredIndex: number;
2191
+ message: string;
2079
2192
  }): {
2080
2193
  /**
2081
2194
  * @private
2082
2195
  * This field is private and should not be used, use `tag` instead.
2083
2196
  */
2084
- readonly [uniffiTypeNameSymbol]: "GoldenComparison";
2085
- readonly tag: GoldenComparison_Tags.Differs;
2197
+ readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
2198
+ readonly tag: RecoveryIssue_Tags.ContentForm;
2086
2199
  readonly inner: Readonly<{
2087
- recoveredIndex: number;
2200
+ message: string;
2088
2201
  }>;
2089
2202
  };
2090
2203
  "new"(inner: {
2091
- recoveredIndex: number;
2204
+ message: string;
2092
2205
  }): {
2093
2206
  /**
2094
2207
  * @private
2095
2208
  * This field is private and should not be used, use `tag` instead.
2096
2209
  */
2097
- readonly [uniffiTypeNameSymbol]: "GoldenComparison";
2098
- readonly tag: GoldenComparison_Tags.Differs;
2210
+ readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
2211
+ readonly tag: RecoveryIssue_Tags.ContentForm;
2099
2212
  readonly inner: Readonly<{
2100
- recoveredIndex: number;
2213
+ message: string;
2101
2214
  }>;
2102
2215
  };
2103
2216
  instanceOf(obj: any): obj is {
@@ -2105,42 +2218,42 @@ export declare const GoldenComparison: Readonly<{
2105
2218
  * @private
2106
2219
  * This field is private and should not be used, use `tag` instead.
2107
2220
  */
2108
- readonly [uniffiTypeNameSymbol]: "GoldenComparison";
2109
- readonly tag: GoldenComparison_Tags.Differs;
2221
+ readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
2222
+ readonly tag: RecoveryIssue_Tags.ContentForm;
2110
2223
  readonly inner: Readonly<{
2111
- recoveredIndex: number;
2224
+ message: string;
2112
2225
  }>;
2113
2226
  };
2114
2227
  };
2115
- Indeterminate: {
2228
+ ContentQuery: {
2116
2229
  new (inner: {
2117
- recoveredIndex?: number;
2230
+ algorithm: string;
2231
+ message: string;
2118
2232
  }): {
2119
2233
  /**
2120
2234
  * @private
2121
2235
  * This field is private and should not be used, use `tag` instead.
2122
2236
  */
2123
- readonly [uniffiTypeNameSymbol]: "GoldenComparison";
2124
- readonly tag: GoldenComparison_Tags.Indeterminate;
2237
+ readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
2238
+ readonly tag: RecoveryIssue_Tags.ContentQuery;
2125
2239
  readonly inner: Readonly<{
2126
- recoveredIndex?: number;
2240
+ algorithm: string;
2241
+ message: string;
2127
2242
  }>;
2128
2243
  };
2129
- new: (partial: Parameters<(partial: Partial<{
2130
- recoveredIndex?: number;
2131
- }> & Required<Omit<{
2132
- recoveredIndex?: number;
2133
- }, "recoveredIndex">>) => {
2134
- recoveredIndex?: number;
2135
- }>[0]) => {
2244
+ "new"(inner: {
2245
+ algorithm: string;
2246
+ message: string;
2247
+ }): {
2136
2248
  /**
2137
2249
  * @private
2138
2250
  * This field is private and should not be used, use `tag` instead.
2139
2251
  */
2140
- readonly [uniffiTypeNameSymbol]: "GoldenComparison";
2141
- readonly tag: GoldenComparison_Tags.Indeterminate;
2252
+ readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
2253
+ readonly tag: RecoveryIssue_Tags.ContentQuery;
2142
2254
  readonly inner: Readonly<{
2143
- recoveredIndex?: number;
2255
+ algorithm: string;
2256
+ message: string;
2144
2257
  }>;
2145
2258
  };
2146
2259
  instanceOf(obj: any): obj is {
@@ -2148,63 +2261,850 @@ export declare const GoldenComparison: Readonly<{
2148
2261
  * @private
2149
2262
  * This field is private and should not be used, use `tag` instead.
2150
2263
  */
2151
- readonly [uniffiTypeNameSymbol]: "GoldenComparison";
2152
- readonly tag: GoldenComparison_Tags.Indeterminate;
2264
+ readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
2265
+ readonly tag: RecoveryIssue_Tags.ContentQuery;
2153
2266
  readonly inner: Readonly<{
2154
- recoveredIndex?: number;
2267
+ algorithm: string;
2268
+ message: string;
2155
2269
  }>;
2156
2270
  };
2157
2271
  };
2158
- }>;
2159
- /**
2160
- * Typed completion of C2PA 2.4's `watermark-golden` / `fingerprint-golden` final comparison.
2161
- */
2162
- export type GoldenComparison = InstanceType<typeof GoldenComparison['NotRequested' | 'NoEmbeddedManifest' | 'NoRecoveredManifest' | 'Matches' | 'Differs' | 'Indeterminate']>;
2163
- /**
2164
- * Complete asset verification result, including conclusive/incomplete recovery state and the
2165
- * C2PA golden-flow comparison against the strongest recovered credential.
2166
- */
2167
- export type AssetVerification = {
2168
- credentials: Array<FoundCredential>;
2169
- recovery: RecoverySummary;
2170
- goldenComparison: GoldenComparison;
2171
- };
2172
- /**
2173
- * Generated factory for {@link AssetVerification} record objects.
2174
- */
2175
- export declare const AssetVerification: Readonly<{
2176
- create: (partial: Partial<AssetVerification> & Required<Omit<AssetVerification, never>>) => AssetVerification;
2177
- new: (partial: Partial<AssetVerification> & Required<Omit<AssetVerification, never>>) => AssetVerification;
2178
- defaults: () => Partial<AssetVerification>;
2179
- }>;
2180
- /**
2181
- * When [`AssetVerifier::verify_asset`] queries the registry.
2272
+ Capabilities: {
2273
+ new (inner: {
2274
+ message: string;
2275
+ }): {
2276
+ /**
2277
+ * @private
2278
+ * This field is private and should not be used, use `tag` instead.
2279
+ */
2280
+ readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
2281
+ readonly tag: RecoveryIssue_Tags.Capabilities;
2282
+ readonly inner: Readonly<{
2283
+ message: string;
2284
+ }>;
2285
+ };
2286
+ "new"(inner: {
2287
+ message: string;
2288
+ }): {
2289
+ /**
2290
+ * @private
2291
+ * This field is private and should not be used, use `tag` instead.
2292
+ */
2293
+ readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
2294
+ readonly tag: RecoveryIssue_Tags.Capabilities;
2295
+ readonly inner: Readonly<{
2296
+ message: string;
2297
+ }>;
2298
+ };
2299
+ instanceOf(obj: any): obj is {
2300
+ /**
2301
+ * @private
2302
+ * This field is private and should not be used, use `tag` instead.
2303
+ */
2304
+ readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
2305
+ readonly tag: RecoveryIssue_Tags.Capabilities;
2306
+ readonly inner: Readonly<{
2307
+ message: string;
2308
+ }>;
2309
+ };
2310
+ };
2311
+ ContentTooLarge: {
2312
+ new (inner: {
2313
+ capBytes: bigint;
2314
+ }): {
2315
+ /**
2316
+ * @private
2317
+ * This field is private and should not be used, use `tag` instead.
2318
+ */
2319
+ readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
2320
+ readonly tag: RecoveryIssue_Tags.ContentTooLarge;
2321
+ readonly inner: Readonly<{
2322
+ capBytes: bigint;
2323
+ }>;
2324
+ };
2325
+ "new"(inner: {
2326
+ capBytes: bigint;
2327
+ }): {
2328
+ /**
2329
+ * @private
2330
+ * This field is private and should not be used, use `tag` instead.
2331
+ */
2332
+ readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
2333
+ readonly tag: RecoveryIssue_Tags.ContentTooLarge;
2334
+ readonly inner: Readonly<{
2335
+ capBytes: bigint;
2336
+ }>;
2337
+ };
2338
+ instanceOf(obj: any): obj is {
2339
+ /**
2340
+ * @private
2341
+ * This field is private and should not be used, use `tag` instead.
2342
+ */
2343
+ readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
2344
+ readonly tag: RecoveryIssue_Tags.ContentTooLarge;
2345
+ readonly inner: Readonly<{
2346
+ capBytes: bigint;
2347
+ }>;
2348
+ };
2349
+ };
2350
+ CandidateFetch: {
2351
+ new (inner: {
2352
+ manifestId: string;
2353
+ message: string;
2354
+ }): {
2355
+ /**
2356
+ * @private
2357
+ * This field is private and should not be used, use `tag` instead.
2358
+ */
2359
+ readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
2360
+ readonly tag: RecoveryIssue_Tags.CandidateFetch;
2361
+ readonly inner: Readonly<{
2362
+ manifestId: string;
2363
+ message: string;
2364
+ }>;
2365
+ };
2366
+ "new"(inner: {
2367
+ manifestId: string;
2368
+ message: string;
2369
+ }): {
2370
+ /**
2371
+ * @private
2372
+ * This field is private and should not be used, use `tag` instead.
2373
+ */
2374
+ readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
2375
+ readonly tag: RecoveryIssue_Tags.CandidateFetch;
2376
+ readonly inner: Readonly<{
2377
+ manifestId: string;
2378
+ message: string;
2379
+ }>;
2380
+ };
2381
+ instanceOf(obj: any): obj is {
2382
+ /**
2383
+ * @private
2384
+ * This field is private and should not be used, use `tag` instead.
2385
+ */
2386
+ readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
2387
+ readonly tag: RecoveryIssue_Tags.CandidateFetch;
2388
+ readonly inner: Readonly<{
2389
+ manifestId: string;
2390
+ message: string;
2391
+ }>;
2392
+ };
2393
+ };
2394
+ CandidateValidation: {
2395
+ new (inner: {
2396
+ manifestId: string;
2397
+ reason: string;
2398
+ }): {
2399
+ /**
2400
+ * @private
2401
+ * This field is private and should not be used, use `tag` instead.
2402
+ */
2403
+ readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
2404
+ readonly tag: RecoveryIssue_Tags.CandidateValidation;
2405
+ readonly inner: Readonly<{
2406
+ manifestId: string;
2407
+ reason: string;
2408
+ }>;
2409
+ };
2410
+ "new"(inner: {
2411
+ manifestId: string;
2412
+ reason: string;
2413
+ }): {
2414
+ /**
2415
+ * @private
2416
+ * This field is private and should not be used, use `tag` instead.
2417
+ */
2418
+ readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
2419
+ readonly tag: RecoveryIssue_Tags.CandidateValidation;
2420
+ readonly inner: Readonly<{
2421
+ manifestId: string;
2422
+ reason: string;
2423
+ }>;
2424
+ };
2425
+ instanceOf(obj: any): obj is {
2426
+ /**
2427
+ * @private
2428
+ * This field is private and should not be used, use `tag` instead.
2429
+ */
2430
+ readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
2431
+ readonly tag: RecoveryIssue_Tags.CandidateValidation;
2432
+ readonly inner: Readonly<{
2433
+ manifestId: string;
2434
+ reason: string;
2435
+ }>;
2436
+ };
2437
+ };
2438
+ EndpointRefused: {
2439
+ new (inner: {
2440
+ manifestId: string;
2441
+ endpoint: string;
2442
+ }): {
2443
+ /**
2444
+ * @private
2445
+ * This field is private and should not be used, use `tag` instead.
2446
+ */
2447
+ readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
2448
+ readonly tag: RecoveryIssue_Tags.EndpointRefused;
2449
+ readonly inner: Readonly<{
2450
+ manifestId: string;
2451
+ endpoint: string;
2452
+ }>;
2453
+ };
2454
+ "new"(inner: {
2455
+ manifestId: string;
2456
+ endpoint: string;
2457
+ }): {
2458
+ /**
2459
+ * @private
2460
+ * This field is private and should not be used, use `tag` instead.
2461
+ */
2462
+ readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
2463
+ readonly tag: RecoveryIssue_Tags.EndpointRefused;
2464
+ readonly inner: Readonly<{
2465
+ manifestId: string;
2466
+ endpoint: string;
2467
+ }>;
2468
+ };
2469
+ instanceOf(obj: any): obj is {
2470
+ /**
2471
+ * @private
2472
+ * This field is private and should not be used, use `tag` instead.
2473
+ */
2474
+ readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
2475
+ readonly tag: RecoveryIssue_Tags.EndpointRefused;
2476
+ readonly inner: Readonly<{
2477
+ manifestId: string;
2478
+ endpoint: string;
2479
+ }>;
2480
+ };
2481
+ };
2482
+ ResourceLimit: {
2483
+ new (inner: {
2484
+ message: string;
2485
+ }): {
2486
+ /**
2487
+ * @private
2488
+ * This field is private and should not be used, use `tag` instead.
2489
+ */
2490
+ readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
2491
+ readonly tag: RecoveryIssue_Tags.ResourceLimit;
2492
+ readonly inner: Readonly<{
2493
+ message: string;
2494
+ }>;
2495
+ };
2496
+ "new"(inner: {
2497
+ message: string;
2498
+ }): {
2499
+ /**
2500
+ * @private
2501
+ * This field is private and should not be used, use `tag` instead.
2502
+ */
2503
+ readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
2504
+ readonly tag: RecoveryIssue_Tags.ResourceLimit;
2505
+ readonly inner: Readonly<{
2506
+ message: string;
2507
+ }>;
2508
+ };
2509
+ instanceOf(obj: any): obj is {
2510
+ /**
2511
+ * @private
2512
+ * This field is private and should not be used, use `tag` instead.
2513
+ */
2514
+ readonly [uniffiTypeNameSymbol]: "RecoveryIssue";
2515
+ readonly tag: RecoveryIssue_Tags.ResourceLimit;
2516
+ readonly inner: Readonly<{
2517
+ message: string;
2518
+ }>;
2519
+ };
2520
+ };
2521
+ }>;
2522
+ /**
2523
+ * Why registry recovery did not complete cleanly, or why one candidate was omitted while another
2524
+ * succeeded. Kept as data so a partial recovery never loses the rest of the lookup outcome, and
2525
+ * each kind carries exactly what it is about.
2526
+ */
2527
+ export type RecoveryIssue = InstanceType<typeof RecoveryIssue['Binder' | 'DeprecatedAlgorithm' | 'BindingQuery' | 'QueryRefused' | 'ContentForm' | 'ContentQuery' | 'Capabilities' | 'ContentTooLarge' | 'CandidateFetch' | 'CandidateValidation' | 'EndpointRefused' | 'ResourceLimit']>;
2528
+ /**
2529
+ * Registry recovery outcome and every non-fatal issue encountered on the way.
2530
+ */
2531
+ export type RecoverySummary = {
2532
+ status: RecoveryStatus;
2533
+ issues: Array<RecoveryIssue>;
2534
+ };
2535
+ /**
2536
+ * Generated factory for {@link RecoverySummary} record objects.
2537
+ */
2538
+ export declare const RecoverySummary: Readonly<{
2539
+ create: (partial: Partial<RecoverySummary> & Required<Omit<RecoverySummary, never>>) => RecoverySummary;
2540
+ new: (partial: Partial<RecoverySummary> & Required<Omit<RecoverySummary, never>>) => RecoverySummary;
2541
+ defaults: () => Partial<RecoverySummary>;
2542
+ }>;
2543
+ export declare enum GoldenComparison_Tags {
2544
+ NotRequested = "NotRequested",
2545
+ NoEmbeddedManifest = "NoEmbeddedManifest",
2546
+ NoRecoveredManifest = "NoRecoveredManifest",
2547
+ RecoveryIncomplete = "RecoveryIncomplete",
2548
+ Matches = "Matches",
2549
+ Differs = "Differs",
2550
+ NoneMatches = "NoneMatches",
2551
+ Unreadable = "Unreadable"
2552
+ }
2553
+ /**
2554
+ * Typed completion of C2PA 2.4's `watermark-golden` / `fingerprint-golden` final comparison:
2555
+ * the local active manifest against what the registry holds. Every outcome is its own variant.
2556
+ */
2557
+ export declare const GoldenComparison: Readonly<{
2558
+ instanceOf: (obj: any) => obj is GoldenComparison;
2559
+ NotRequested: {
2560
+ new (): {
2561
+ /**
2562
+ * @private
2563
+ * This field is private and should not be used, use `tag` instead.
2564
+ */
2565
+ readonly [uniffiTypeNameSymbol]: "GoldenComparison";
2566
+ readonly tag: GoldenComparison_Tags.NotRequested;
2567
+ };
2568
+ "new"(): {
2569
+ /**
2570
+ * @private
2571
+ * This field is private and should not be used, use `tag` instead.
2572
+ */
2573
+ readonly [uniffiTypeNameSymbol]: "GoldenComparison";
2574
+ readonly tag: GoldenComparison_Tags.NotRequested;
2575
+ };
2576
+ instanceOf(obj: any): obj is {
2577
+ /**
2578
+ * @private
2579
+ * This field is private and should not be used, use `tag` instead.
2580
+ */
2581
+ readonly [uniffiTypeNameSymbol]: "GoldenComparison";
2582
+ readonly tag: GoldenComparison_Tags.NotRequested;
2583
+ };
2584
+ };
2585
+ NoEmbeddedManifest: {
2586
+ new (): {
2587
+ /**
2588
+ * @private
2589
+ * This field is private and should not be used, use `tag` instead.
2590
+ */
2591
+ readonly [uniffiTypeNameSymbol]: "GoldenComparison";
2592
+ readonly tag: GoldenComparison_Tags.NoEmbeddedManifest;
2593
+ };
2594
+ "new"(): {
2595
+ /**
2596
+ * @private
2597
+ * This field is private and should not be used, use `tag` instead.
2598
+ */
2599
+ readonly [uniffiTypeNameSymbol]: "GoldenComparison";
2600
+ readonly tag: GoldenComparison_Tags.NoEmbeddedManifest;
2601
+ };
2602
+ instanceOf(obj: any): obj is {
2603
+ /**
2604
+ * @private
2605
+ * This field is private and should not be used, use `tag` instead.
2606
+ */
2607
+ readonly [uniffiTypeNameSymbol]: "GoldenComparison";
2608
+ readonly tag: GoldenComparison_Tags.NoEmbeddedManifest;
2609
+ };
2610
+ };
2611
+ NoRecoveredManifest: {
2612
+ new (): {
2613
+ /**
2614
+ * @private
2615
+ * This field is private and should not be used, use `tag` instead.
2616
+ */
2617
+ readonly [uniffiTypeNameSymbol]: "GoldenComparison";
2618
+ readonly tag: GoldenComparison_Tags.NoRecoveredManifest;
2619
+ };
2620
+ "new"(): {
2621
+ /**
2622
+ * @private
2623
+ * This field is private and should not be used, use `tag` instead.
2624
+ */
2625
+ readonly [uniffiTypeNameSymbol]: "GoldenComparison";
2626
+ readonly tag: GoldenComparison_Tags.NoRecoveredManifest;
2627
+ };
2628
+ instanceOf(obj: any): obj is {
2629
+ /**
2630
+ * @private
2631
+ * This field is private and should not be used, use `tag` instead.
2632
+ */
2633
+ readonly [uniffiTypeNameSymbol]: "GoldenComparison";
2634
+ readonly tag: GoldenComparison_Tags.NoRecoveredManifest;
2635
+ };
2636
+ };
2637
+ RecoveryIncomplete: {
2638
+ new (): {
2639
+ /**
2640
+ * @private
2641
+ * This field is private and should not be used, use `tag` instead.
2642
+ */
2643
+ readonly [uniffiTypeNameSymbol]: "GoldenComparison";
2644
+ readonly tag: GoldenComparison_Tags.RecoveryIncomplete;
2645
+ };
2646
+ "new"(): {
2647
+ /**
2648
+ * @private
2649
+ * This field is private and should not be used, use `tag` instead.
2650
+ */
2651
+ readonly [uniffiTypeNameSymbol]: "GoldenComparison";
2652
+ readonly tag: GoldenComparison_Tags.RecoveryIncomplete;
2653
+ };
2654
+ instanceOf(obj: any): obj is {
2655
+ /**
2656
+ * @private
2657
+ * This field is private and should not be used, use `tag` instead.
2658
+ */
2659
+ readonly [uniffiTypeNameSymbol]: "GoldenComparison";
2660
+ readonly tag: GoldenComparison_Tags.RecoveryIncomplete;
2661
+ };
2662
+ };
2663
+ Matches: {
2664
+ new (inner: {
2665
+ recoveredIndex: number;
2666
+ }): {
2667
+ /**
2668
+ * @private
2669
+ * This field is private and should not be used, use `tag` instead.
2670
+ */
2671
+ readonly [uniffiTypeNameSymbol]: "GoldenComparison";
2672
+ readonly tag: GoldenComparison_Tags.Matches;
2673
+ readonly inner: Readonly<{
2674
+ recoveredIndex: number;
2675
+ }>;
2676
+ };
2677
+ "new"(inner: {
2678
+ recoveredIndex: number;
2679
+ }): {
2680
+ /**
2681
+ * @private
2682
+ * This field is private and should not be used, use `tag` instead.
2683
+ */
2684
+ readonly [uniffiTypeNameSymbol]: "GoldenComparison";
2685
+ readonly tag: GoldenComparison_Tags.Matches;
2686
+ readonly inner: Readonly<{
2687
+ recoveredIndex: number;
2688
+ }>;
2689
+ };
2690
+ instanceOf(obj: any): obj is {
2691
+ /**
2692
+ * @private
2693
+ * This field is private and should not be used, use `tag` instead.
2694
+ */
2695
+ readonly [uniffiTypeNameSymbol]: "GoldenComparison";
2696
+ readonly tag: GoldenComparison_Tags.Matches;
2697
+ readonly inner: Readonly<{
2698
+ recoveredIndex: number;
2699
+ }>;
2700
+ };
2701
+ };
2702
+ Differs: {
2703
+ new (inner: {
2704
+ recoveredIndex: number;
2705
+ }): {
2706
+ /**
2707
+ * @private
2708
+ * This field is private and should not be used, use `tag` instead.
2709
+ */
2710
+ readonly [uniffiTypeNameSymbol]: "GoldenComparison";
2711
+ readonly tag: GoldenComparison_Tags.Differs;
2712
+ readonly inner: Readonly<{
2713
+ recoveredIndex: number;
2714
+ }>;
2715
+ };
2716
+ "new"(inner: {
2717
+ recoveredIndex: number;
2718
+ }): {
2719
+ /**
2720
+ * @private
2721
+ * This field is private and should not be used, use `tag` instead.
2722
+ */
2723
+ readonly [uniffiTypeNameSymbol]: "GoldenComparison";
2724
+ readonly tag: GoldenComparison_Tags.Differs;
2725
+ readonly inner: Readonly<{
2726
+ recoveredIndex: number;
2727
+ }>;
2728
+ };
2729
+ instanceOf(obj: any): obj is {
2730
+ /**
2731
+ * @private
2732
+ * This field is private and should not be used, use `tag` instead.
2733
+ */
2734
+ readonly [uniffiTypeNameSymbol]: "GoldenComparison";
2735
+ readonly tag: GoldenComparison_Tags.Differs;
2736
+ readonly inner: Readonly<{
2737
+ recoveredIndex: number;
2738
+ }>;
2739
+ };
2740
+ };
2741
+ NoneMatches: {
2742
+ new (inner: {
2743
+ candidates: Array<number>;
2744
+ }): {
2745
+ /**
2746
+ * @private
2747
+ * This field is private and should not be used, use `tag` instead.
2748
+ */
2749
+ readonly [uniffiTypeNameSymbol]: "GoldenComparison";
2750
+ readonly tag: GoldenComparison_Tags.NoneMatches;
2751
+ readonly inner: Readonly<{
2752
+ candidates: Array<number>;
2753
+ }>;
2754
+ };
2755
+ "new"(inner: {
2756
+ candidates: Array<number>;
2757
+ }): {
2758
+ /**
2759
+ * @private
2760
+ * This field is private and should not be used, use `tag` instead.
2761
+ */
2762
+ readonly [uniffiTypeNameSymbol]: "GoldenComparison";
2763
+ readonly tag: GoldenComparison_Tags.NoneMatches;
2764
+ readonly inner: Readonly<{
2765
+ candidates: Array<number>;
2766
+ }>;
2767
+ };
2768
+ instanceOf(obj: any): obj is {
2769
+ /**
2770
+ * @private
2771
+ * This field is private and should not be used, use `tag` instead.
2772
+ */
2773
+ readonly [uniffiTypeNameSymbol]: "GoldenComparison";
2774
+ readonly tag: GoldenComparison_Tags.NoneMatches;
2775
+ readonly inner: Readonly<{
2776
+ candidates: Array<number>;
2777
+ }>;
2778
+ };
2779
+ };
2780
+ Unreadable: {
2781
+ new (inner: {
2782
+ recoveredIndex: number;
2783
+ }): {
2784
+ /**
2785
+ * @private
2786
+ * This field is private and should not be used, use `tag` instead.
2787
+ */
2788
+ readonly [uniffiTypeNameSymbol]: "GoldenComparison";
2789
+ readonly tag: GoldenComparison_Tags.Unreadable;
2790
+ readonly inner: Readonly<{
2791
+ recoveredIndex: number;
2792
+ }>;
2793
+ };
2794
+ "new"(inner: {
2795
+ recoveredIndex: number;
2796
+ }): {
2797
+ /**
2798
+ * @private
2799
+ * This field is private and should not be used, use `tag` instead.
2800
+ */
2801
+ readonly [uniffiTypeNameSymbol]: "GoldenComparison";
2802
+ readonly tag: GoldenComparison_Tags.Unreadable;
2803
+ readonly inner: Readonly<{
2804
+ recoveredIndex: number;
2805
+ }>;
2806
+ };
2807
+ instanceOf(obj: any): obj is {
2808
+ /**
2809
+ * @private
2810
+ * This field is private and should not be used, use `tag` instead.
2811
+ */
2812
+ readonly [uniffiTypeNameSymbol]: "GoldenComparison";
2813
+ readonly tag: GoldenComparison_Tags.Unreadable;
2814
+ readonly inner: Readonly<{
2815
+ recoveredIndex: number;
2816
+ }>;
2817
+ };
2818
+ };
2819
+ }>;
2820
+ /**
2821
+ * Typed completion of C2PA 2.4's `watermark-golden` / `fingerprint-golden` final comparison:
2822
+ * the local active manifest against what the registry holds. Every outcome is its own variant.
2823
+ */
2824
+ export type GoldenComparison = InstanceType<typeof GoldenComparison['NotRequested' | 'NoEmbeddedManifest' | 'NoRecoveredManifest' | 'RecoveryIncomplete' | 'Matches' | 'Differs' | 'NoneMatches' | 'Unreadable']>;
2825
+ /**
2826
+ * The evidence that singled a recovered verdict out.
2827
+ */
2828
+ export declare enum VerdictRule {
2829
+ OnlyCandidate = 0,
2830
+ /**
2831
+ * Every other candidate is superseded by a credential in this report.
2832
+ */
2833
+ NotSuperseded = 1,
2834
+ /**
2835
+ * Its hash holds over these bytes and no other unsuperseded candidate's does.
2836
+ */
2837
+ HardBinding = 2
2838
+ }
2839
+ export declare enum Verdict_Tags {
2840
+ Unsigned = "Unsigned",
2841
+ Inconclusive = "Inconclusive",
2842
+ Embedded = "Embedded",
2843
+ Recovered = "Recovered",
2844
+ RecoveredDerivative = "RecoveredDerivative",
2845
+ Ambiguous = "Ambiguous"
2846
+ }
2847
+ /**
2848
+ * What this verify concludes about the asset, chosen from [`AssetVerification::credentials`]
2849
+ * on signed evidence alone. Policy over the evidence: no credential's validation state changes,
2850
+ * and the list stays whole beside it.
2851
+ *
2852
+ * 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 registry
2854
+ * holds, or several recovered candidates leave the comparison indeterminate, the embedded and
2855
+ * the recovered manifests are reported as ambiguous: C2PA 2.4's substitution use case leaves
2856
+ * that trust decision to the client. Otherwise a recovered candidate is named only when
2857
+ * evidence singles it out: it is the only one, or the only one no other credential in this
2858
+ * report supersedes (the successor's signed `parentOf` link), or the only one of those whose
2859
+ * hard binding holds over these bytes. A registry score, a signature time or a position in the
2860
+ * list is not evidence of which manifest belongs to these bytes, so candidates those alone would
2861
+ * separate are reported as ambiguous.
2862
+ */
2863
+ export declare const Verdict: Readonly<{
2864
+ instanceOf: (obj: any) => obj is Verdict;
2865
+ Unsigned: {
2866
+ new (): {
2867
+ /**
2868
+ * @private
2869
+ * This field is private and should not be used, use `tag` instead.
2870
+ */
2871
+ readonly [uniffiTypeNameSymbol]: "Verdict";
2872
+ readonly tag: Verdict_Tags.Unsigned;
2873
+ };
2874
+ "new"(): {
2875
+ /**
2876
+ * @private
2877
+ * This field is private and should not be used, use `tag` instead.
2878
+ */
2879
+ readonly [uniffiTypeNameSymbol]: "Verdict";
2880
+ readonly tag: Verdict_Tags.Unsigned;
2881
+ };
2882
+ instanceOf(obj: any): obj is {
2883
+ /**
2884
+ * @private
2885
+ * This field is private and should not be used, use `tag` instead.
2886
+ */
2887
+ readonly [uniffiTypeNameSymbol]: "Verdict";
2888
+ readonly tag: Verdict_Tags.Unsigned;
2889
+ };
2890
+ };
2891
+ Inconclusive: {
2892
+ new (): {
2893
+ /**
2894
+ * @private
2895
+ * This field is private and should not be used, use `tag` instead.
2896
+ */
2897
+ readonly [uniffiTypeNameSymbol]: "Verdict";
2898
+ readonly tag: Verdict_Tags.Inconclusive;
2899
+ };
2900
+ "new"(): {
2901
+ /**
2902
+ * @private
2903
+ * This field is private and should not be used, use `tag` instead.
2904
+ */
2905
+ readonly [uniffiTypeNameSymbol]: "Verdict";
2906
+ readonly tag: Verdict_Tags.Inconclusive;
2907
+ };
2908
+ instanceOf(obj: any): obj is {
2909
+ /**
2910
+ * @private
2911
+ * This field is private and should not be used, use `tag` instead.
2912
+ */
2913
+ readonly [uniffiTypeNameSymbol]: "Verdict";
2914
+ readonly tag: Verdict_Tags.Inconclusive;
2915
+ };
2916
+ };
2917
+ Embedded: {
2918
+ new (): {
2919
+ /**
2920
+ * @private
2921
+ * This field is private and should not be used, use `tag` instead.
2922
+ */
2923
+ readonly [uniffiTypeNameSymbol]: "Verdict";
2924
+ readonly tag: Verdict_Tags.Embedded;
2925
+ };
2926
+ "new"(): {
2927
+ /**
2928
+ * @private
2929
+ * This field is private and should not be used, use `tag` instead.
2930
+ */
2931
+ readonly [uniffiTypeNameSymbol]: "Verdict";
2932
+ readonly tag: Verdict_Tags.Embedded;
2933
+ };
2934
+ instanceOf(obj: any): obj is {
2935
+ /**
2936
+ * @private
2937
+ * This field is private and should not be used, use `tag` instead.
2938
+ */
2939
+ readonly [uniffiTypeNameSymbol]: "Verdict";
2940
+ readonly tag: Verdict_Tags.Embedded;
2941
+ };
2942
+ };
2943
+ Recovered: {
2944
+ new (inner: {
2945
+ index: number;
2946
+ decidedBy: VerdictRule;
2947
+ }): {
2948
+ /**
2949
+ * @private
2950
+ * This field is private and should not be used, use `tag` instead.
2951
+ */
2952
+ readonly [uniffiTypeNameSymbol]: "Verdict";
2953
+ readonly tag: Verdict_Tags.Recovered;
2954
+ readonly inner: Readonly<{
2955
+ index: number;
2956
+ decidedBy: VerdictRule;
2957
+ }>;
2958
+ };
2959
+ "new"(inner: {
2960
+ index: number;
2961
+ decidedBy: VerdictRule;
2962
+ }): {
2963
+ /**
2964
+ * @private
2965
+ * This field is private and should not be used, use `tag` instead.
2966
+ */
2967
+ readonly [uniffiTypeNameSymbol]: "Verdict";
2968
+ readonly tag: Verdict_Tags.Recovered;
2969
+ readonly inner: Readonly<{
2970
+ index: number;
2971
+ decidedBy: VerdictRule;
2972
+ }>;
2973
+ };
2974
+ instanceOf(obj: any): obj is {
2975
+ /**
2976
+ * @private
2977
+ * This field is private and should not be used, use `tag` instead.
2978
+ */
2979
+ readonly [uniffiTypeNameSymbol]: "Verdict";
2980
+ readonly tag: Verdict_Tags.Recovered;
2981
+ readonly inner: Readonly<{
2982
+ index: number;
2983
+ decidedBy: VerdictRule;
2984
+ }>;
2985
+ };
2986
+ };
2987
+ RecoveredDerivative: {
2988
+ new (inner: {
2989
+ index: number;
2990
+ decidedBy: VerdictRule;
2991
+ }): {
2992
+ /**
2993
+ * @private
2994
+ * This field is private and should not be used, use `tag` instead.
2995
+ */
2996
+ readonly [uniffiTypeNameSymbol]: "Verdict";
2997
+ readonly tag: Verdict_Tags.RecoveredDerivative;
2998
+ readonly inner: Readonly<{
2999
+ index: number;
3000
+ decidedBy: VerdictRule;
3001
+ }>;
3002
+ };
3003
+ "new"(inner: {
3004
+ index: number;
3005
+ decidedBy: VerdictRule;
3006
+ }): {
3007
+ /**
3008
+ * @private
3009
+ * This field is private and should not be used, use `tag` instead.
3010
+ */
3011
+ readonly [uniffiTypeNameSymbol]: "Verdict";
3012
+ readonly tag: Verdict_Tags.RecoveredDerivative;
3013
+ readonly inner: Readonly<{
3014
+ index: number;
3015
+ decidedBy: VerdictRule;
3016
+ }>;
3017
+ };
3018
+ instanceOf(obj: any): obj is {
3019
+ /**
3020
+ * @private
3021
+ * This field is private and should not be used, use `tag` instead.
3022
+ */
3023
+ readonly [uniffiTypeNameSymbol]: "Verdict";
3024
+ readonly tag: Verdict_Tags.RecoveredDerivative;
3025
+ readonly inner: Readonly<{
3026
+ index: number;
3027
+ decidedBy: VerdictRule;
3028
+ }>;
3029
+ };
3030
+ };
3031
+ Ambiguous: {
3032
+ new (inner: {
3033
+ candidates: Array<number>;
3034
+ }): {
3035
+ /**
3036
+ * @private
3037
+ * This field is private and should not be used, use `tag` instead.
3038
+ */
3039
+ readonly [uniffiTypeNameSymbol]: "Verdict";
3040
+ readonly tag: Verdict_Tags.Ambiguous;
3041
+ readonly inner: Readonly<{
3042
+ candidates: Array<number>;
3043
+ }>;
3044
+ };
3045
+ "new"(inner: {
3046
+ candidates: Array<number>;
3047
+ }): {
3048
+ /**
3049
+ * @private
3050
+ * This field is private and should not be used, use `tag` instead.
3051
+ */
3052
+ readonly [uniffiTypeNameSymbol]: "Verdict";
3053
+ readonly tag: Verdict_Tags.Ambiguous;
3054
+ readonly inner: Readonly<{
3055
+ candidates: Array<number>;
3056
+ }>;
3057
+ };
3058
+ instanceOf(obj: any): obj is {
3059
+ /**
3060
+ * @private
3061
+ * This field is private and should not be used, use `tag` instead.
3062
+ */
3063
+ readonly [uniffiTypeNameSymbol]: "Verdict";
3064
+ readonly tag: Verdict_Tags.Ambiguous;
3065
+ readonly inner: Readonly<{
3066
+ candidates: Array<number>;
3067
+ }>;
3068
+ };
3069
+ };
3070
+ }>;
3071
+ /**
3072
+ * What this verify concludes about the asset, chosen from [`AssetVerification::credentials`]
3073
+ * on signed evidence alone. Policy over the evidence: no credential's validation state changes,
3074
+ * and the list stays whole beside it.
3075
+ *
3076
+ * 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 registry
3078
+ * holds, or several recovered candidates leave the comparison indeterminate, the embedded and
3079
+ * the recovered manifests are reported as ambiguous: C2PA 2.4's substitution use case leaves
3080
+ * that trust decision to the client. Otherwise a recovered candidate is named only when
3081
+ * evidence singles it out: it is the only one, or the only one no other credential in this
3082
+ * report supersedes (the successor's signed `parentOf` link), or the only one of those whose
3083
+ * hard binding holds over these bytes. A registry score, a signature time or a position in the
3084
+ * list is not evidence of which manifest belongs to these bytes, so candidates those alone would
3085
+ * separate are reported as ambiguous.
3086
+ */
3087
+ export type Verdict = InstanceType<typeof Verdict['Unsigned' | 'Inconclusive' | 'Embedded' | 'Recovered' | 'RecoveredDerivative' | 'Ambiguous']>;
3088
+ /**
3089
+ * Complete asset verification result: every credential, the recovery state, the C2PA
3090
+ * golden-flow comparison, and the verdict the SDK's rules choose. See [`asset::Verdict`].
2182
3091
  */
2183
- export declare enum RecoveryPolicy {
2184
- /**
2185
- * When the asset has no embedded manifest or its active manifest is invalid. This includes
2186
- * stripped assets and invalid manifests, for which C2PA 2.4 permits soft-binding discovery.
2187
- * A valid embedded manifest costs no registry round trip, which is why this is the default.
2188
- */
2189
- WhenMissing = 0,
2190
- /**
2191
- * On every verify, alongside the embedded manifest, so the two can be compared.
2192
- *
2193
- * C2PA 2.4's `watermark-golden` and `fingerprint-golden` flows end on exactly that
2194
- * comparison, and it is the only thing that catches a manifest SUBSTITUTED under an
2195
- * untouched mark (use case UC3 in the spec's list, UC2 in ours): the replacement verifies
2196
- * perfectly on its own, and only disagrees with what the mark actually resolves to.
2197
- *
2198
- * It queries the registry on every verify, without making it load-bearing on the asset's own
2199
- * credential: the flow provides information about a substitution rather than gating the local
2200
- * manifest, so a registry that cannot be reached leaves [`RecoveryStatus::Incomplete`], the
2201
- * reason as a [`RecoveryIssue`], and [`GoldenComparison::Indeterminate`]. A caller for whom a
2202
- * cross-check that never ran must not pass for agreement branches on that status.
2203
- */
2204
- Always = 1
2205
- }
3092
+ export type AssetVerification = {
3093
+ credentials: Array<FoundCredential>;
3094
+ recovery: RecoverySummary;
3095
+ goldenComparison: GoldenComparison;
3096
+ verdict: Verdict;
3097
+ };
3098
+ /**
3099
+ * Generated factory for {@link AssetVerification} record objects.
3100
+ */
3101
+ export declare const AssetVerification: Readonly<{
3102
+ create: (partial: Partial<AssetVerification> & Required<Omit<AssetVerification, never>>) => AssetVerification;
3103
+ new: (partial: Partial<AssetVerification> & Required<Omit<AssetVerification, never>>) => AssetVerification;
3104
+ defaults: () => Partial<AssetVerification>;
3105
+ }>;
2206
3106
  /**
2207
- * Where the registry is and when to query it. Query reach and scheduling are selected per verify.
3107
+ * Where the registry is. What a verify may do with it is per call, in [`Recovery`].
2208
3108
  */
2209
3109
  export type RegistryOptions = {
2210
3110
  /**
@@ -2212,16 +3112,19 @@ export type RegistryOptions = {
2212
3112
  */
2213
3113
  url: string;
2214
3114
  /**
2215
- * Defaults to [`RecoveryPolicy::WhenMissing`].
3115
+ * Federated resolution APIs a match may name as holding its manifest, beside the ones the
3116
+ * C2PA algorithm list publishes, which are always allowed. C2PA 2.4 lets a match carry an
3117
+ * `endpoint`; one allowed is fetched from, any other is reported as refused. Checked like
3118
+ * `url`: https, or http on loopback only.
2216
3119
  */
2217
- recovery?: RecoveryPolicy;
3120
+ endpoints: Array<string>;
2218
3121
  };
2219
3122
  /**
2220
3123
  * Generated factory for {@link RegistryOptions} record objects.
2221
3124
  */
2222
3125
  export declare const RegistryOptions: Readonly<{
2223
- create: (partial: Partial<RegistryOptions> & Required<Omit<RegistryOptions, "recovery">>) => RegistryOptions;
2224
- new: (partial: Partial<RegistryOptions> & Required<Omit<RegistryOptions, "recovery">>) => RegistryOptions;
3126
+ create: (partial: Partial<RegistryOptions> & Required<Omit<RegistryOptions, "endpoints">>) => RegistryOptions;
3127
+ new: (partial: Partial<RegistryOptions> & Required<Omit<RegistryOptions, "endpoints">>) => RegistryOptions;
2225
3128
  defaults: () => Partial<RegistryOptions>;
2226
3129
  }>;
2227
3130
  /**
@@ -2242,25 +3145,213 @@ export type AssetVerifierOptions = {
2242
3145
  */
2243
3146
  trustAnchors: Array<string>;
2244
3147
  /**
2245
- * Also trust the bundled official C2PA anchors on top of `trust_anchors`.
2246
- * Defaults to `true`; set `false` to trust only `trust_anchors`.
3148
+ * Also trust the bundled official C2PA anchors on top of `trust_anchors`.
3149
+ * Defaults to `true`; set `false` to trust only `trust_anchors`.
3150
+ */
3151
+ trustC2paAnchors?: boolean;
3152
+ /**
3153
+ * Issuer DIDs whose CAWG identity (ICA) credentials count as validated, matched
3154
+ * exactly against the credential issuer. Omitted or empty trusts no issuer: every
3155
+ * identity assertion then reports `cawg.ica.untrusted_issuer` and withholds
3156
+ * `cawg.ica.credential_valid`, which leaves the manifest's own validity untouched.
3157
+ */
3158
+ trustedIcaIssuers?: Array<string>;
3159
+ };
3160
+ /**
3161
+ * Generated factory for {@link AssetVerifierOptions} record objects.
3162
+ */
3163
+ export declare const AssetVerifierOptions: Readonly<{
3164
+ create: (partial: Partial<AssetVerifierOptions> & Required<Omit<AssetVerifierOptions, "registry" | "trustC2paAnchors" | "trustedIcaIssuers">>) => AssetVerifierOptions;
3165
+ new: (partial: Partial<AssetVerifierOptions> & Required<Omit<AssetVerifierOptions, "registry" | "trustC2paAnchors" | "trustedIcaIssuers">>) => AssetVerifierOptions;
3166
+ defaults: () => Partial<AssetVerifierOptions>;
3167
+ }>;
3168
+ /**
3169
+ * Whether a content form runs on this verify. Judged against the byBinding results alone.
3170
+ */
3171
+ export declare enum ContentTrigger {
3172
+ /**
3173
+ * Only when no binder's lookup resolved a manifest.
3174
+ */
3175
+ ByBindingMisses = 0,
3176
+ /**
3177
+ * On every verify, beside the byBinding results: corroboration, and the golden flows.
3178
+ */
3179
+ Always = 1
3180
+ }
3181
+ export declare enum Detectors_Tags {
3182
+ Fingerprint = "Fingerprint",
3183
+ Watermark = "Watermark",
3184
+ All = "All",
3185
+ Named = "Named"
3186
+ }
3187
+ /**
3188
+ * Which advertised server-side detectors a content form runs. Every selected detector runs,
3189
+ * including one a local binder already queried by binding.
3190
+ */
3191
+ export declare const Detectors: Readonly<{
3192
+ instanceOf: (obj: any) => obj is Detectors;
3193
+ Fingerprint: {
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: {
3246
+ new (): {
3247
+ /**
3248
+ * @private
3249
+ * This field is private and should not be used, use `tag` instead.
3250
+ */
3251
+ readonly [uniffiTypeNameSymbol]: "Detectors";
3252
+ readonly tag: Detectors_Tags.All;
3253
+ };
3254
+ "new"(): {
3255
+ /**
3256
+ * @private
3257
+ * This field is private and should not be used, use `tag` instead.
3258
+ */
3259
+ readonly [uniffiTypeNameSymbol]: "Detectors";
3260
+ readonly tag: Detectors_Tags.All;
3261
+ };
3262
+ instanceOf(obj: any): obj is {
3263
+ /**
3264
+ * @private
3265
+ * This field is private and should not be used, use `tag` instead.
3266
+ */
3267
+ readonly [uniffiTypeNameSymbol]: "Detectors";
3268
+ readonly tag: Detectors_Tags.All;
3269
+ };
3270
+ };
3271
+ Named: {
3272
+ new (inner: {
3273
+ algorithms: Array<string>;
3274
+ }): {
3275
+ /**
3276
+ * @private
3277
+ * This field is private and should not be used, use `tag` instead.
3278
+ */
3279
+ readonly [uniffiTypeNameSymbol]: "Detectors";
3280
+ readonly tag: Detectors_Tags.Named;
3281
+ readonly inner: Readonly<{
3282
+ algorithms: Array<string>;
3283
+ }>;
3284
+ };
3285
+ "new"(inner: {
3286
+ algorithms: Array<string>;
3287
+ }): {
3288
+ /**
3289
+ * @private
3290
+ * This field is private and should not be used, use `tag` instead.
3291
+ */
3292
+ readonly [uniffiTypeNameSymbol]: "Detectors";
3293
+ readonly tag: Detectors_Tags.Named;
3294
+ readonly inner: Readonly<{
3295
+ algorithms: Array<string>;
3296
+ }>;
3297
+ };
3298
+ instanceOf(obj: any): obj is {
3299
+ /**
3300
+ * @private
3301
+ * This field is private and should not be used, use `tag` instead.
3302
+ */
3303
+ readonly [uniffiTypeNameSymbol]: "Detectors";
3304
+ readonly tag: Detectors_Tags.Named;
3305
+ readonly inner: Readonly<{
3306
+ algorithms: Array<string>;
3307
+ }>;
3308
+ };
3309
+ };
3310
+ }>;
3311
+ /**
3312
+ * Which advertised server-side detectors a content form runs. Every selected detector runs,
3313
+ * including one a local binder already queried by binding.
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.
2247
3340
  */
2248
- trustC2paAnchors?: boolean;
3341
+ url: string;
2249
3342
  /**
2250
- * Issuer DIDs whose CAWG identity (ICA) credentials count as validated, matched
2251
- * exactly against the credential issuer. Omitted or empty trusts no issuer: every
2252
- * identity assertion then reports `cawg.ica.untrusted_issuer` and withholds
2253
- * `cawg.ica.credential_valid`, which leaves the manifest's own validity untouched.
3343
+ * The asset's size in bytes, which caps the registry's download.
2254
3344
  */
2255
- trustedIcaIssuers?: Array<string>;
3345
+ length: bigint;
3346
+ mediaType?: string;
2256
3347
  };
2257
3348
  /**
2258
- * Generated factory for {@link AssetVerifierOptions} record objects.
3349
+ * Generated factory for {@link ByReference} record objects.
2259
3350
  */
2260
- export declare const AssetVerifierOptions: Readonly<{
2261
- create: (partial: Partial<AssetVerifierOptions> & Required<Omit<AssetVerifierOptions, "registry" | "trustC2paAnchors" | "trustedIcaIssuers">>) => AssetVerifierOptions;
2262
- new: (partial: Partial<AssetVerifierOptions> & Required<Omit<AssetVerifierOptions, "registry" | "trustC2paAnchors" | "trustedIcaIssuers">>) => AssetVerifierOptions;
2263
- defaults: () => Partial<AssetVerifierOptions>;
3351
+ export declare const ByReference: Readonly<{
3352
+ create: (partial: Partial<ByReference> & Required<Omit<ByReference, "mediaType">>) => ByReference;
3353
+ new: (partial: Partial<ByReference> & Required<Omit<ByReference, "mediaType">>) => ByReference;
3354
+ defaults: () => Partial<ByReference>;
2264
3355
  }>;
2265
3356
  /**
2266
3357
  * Everything one [`Binder::derive`] needs beyond the asset. `format` overrides the format sniffed
@@ -2417,292 +3508,63 @@ export declare const MediaValidation: Readonly<{
2417
3508
  new: (partial: Partial<MediaValidation> & Required<Omit<MediaValidation, never>>) => MediaValidation;
2418
3509
  defaults: () => Partial<MediaValidation>;
2419
3510
  }>;
2420
- export declare enum ContentAlgorithm_Tags {
2421
- Fingerprint = "Fingerprint",
2422
- Watermark = "Watermark",
2423
- All = "All",
2424
- Named = "Named"
2425
- }
2426
- /**
2427
- * How a `byContent` query selects the registry's detector algorithms.
2428
- */
2429
- export declare const ContentAlgorithm: Readonly<{
2430
- instanceOf: (obj: any) => obj is ContentAlgorithm;
2431
- Fingerprint: {
2432
- new (): {
2433
- /**
2434
- * @private
2435
- * This field is private and should not be used, use `tag` instead.
2436
- */
2437
- readonly [uniffiTypeNameSymbol]: "ContentAlgorithm";
2438
- readonly tag: ContentAlgorithm_Tags.Fingerprint;
2439
- };
2440
- "new"(): {
2441
- /**
2442
- * @private
2443
- * This field is private and should not be used, use `tag` instead.
2444
- */
2445
- readonly [uniffiTypeNameSymbol]: "ContentAlgorithm";
2446
- readonly tag: ContentAlgorithm_Tags.Fingerprint;
2447
- };
2448
- instanceOf(obj: any): obj is {
2449
- /**
2450
- * @private
2451
- * This field is private and should not be used, use `tag` instead.
2452
- */
2453
- readonly [uniffiTypeNameSymbol]: "ContentAlgorithm";
2454
- readonly tag: ContentAlgorithm_Tags.Fingerprint;
2455
- };
2456
- };
2457
- Watermark: {
2458
- new (): {
2459
- /**
2460
- * @private
2461
- * This field is private and should not be used, use `tag` instead.
2462
- */
2463
- readonly [uniffiTypeNameSymbol]: "ContentAlgorithm";
2464
- readonly tag: ContentAlgorithm_Tags.Watermark;
2465
- };
2466
- "new"(): {
2467
- /**
2468
- * @private
2469
- * This field is private and should not be used, use `tag` instead.
2470
- */
2471
- readonly [uniffiTypeNameSymbol]: "ContentAlgorithm";
2472
- readonly tag: ContentAlgorithm_Tags.Watermark;
2473
- };
2474
- instanceOf(obj: any): obj is {
2475
- /**
2476
- * @private
2477
- * This field is private and should not be used, use `tag` instead.
2478
- */
2479
- readonly [uniffiTypeNameSymbol]: "ContentAlgorithm";
2480
- readonly tag: ContentAlgorithm_Tags.Watermark;
2481
- };
2482
- };
2483
- All: {
2484
- new (): {
2485
- /**
2486
- * @private
2487
- * This field is private and should not be used, use `tag` instead.
2488
- */
2489
- readonly [uniffiTypeNameSymbol]: "ContentAlgorithm";
2490
- readonly tag: ContentAlgorithm_Tags.All;
2491
- };
2492
- "new"(): {
2493
- /**
2494
- * @private
2495
- * This field is private and should not be used, use `tag` instead.
2496
- */
2497
- readonly [uniffiTypeNameSymbol]: "ContentAlgorithm";
2498
- readonly tag: ContentAlgorithm_Tags.All;
2499
- };
2500
- instanceOf(obj: any): obj is {
2501
- /**
2502
- * @private
2503
- * This field is private and should not be used, use `tag` instead.
2504
- */
2505
- readonly [uniffiTypeNameSymbol]: "ContentAlgorithm";
2506
- readonly tag: ContentAlgorithm_Tags.All;
2507
- };
2508
- };
2509
- Named: {
2510
- new (inner: {
2511
- algorithm: string;
2512
- }): {
2513
- /**
2514
- * @private
2515
- * This field is private and should not be used, use `tag` instead.
2516
- */
2517
- readonly [uniffiTypeNameSymbol]: "ContentAlgorithm";
2518
- readonly tag: ContentAlgorithm_Tags.Named;
2519
- readonly inner: Readonly<{
2520
- algorithm: string;
2521
- }>;
2522
- };
2523
- "new"(inner: {
2524
- algorithm: string;
2525
- }): {
2526
- /**
2527
- * @private
2528
- * This field is private and should not be used, use `tag` instead.
2529
- */
2530
- readonly [uniffiTypeNameSymbol]: "ContentAlgorithm";
2531
- readonly tag: ContentAlgorithm_Tags.Named;
2532
- readonly inner: Readonly<{
2533
- algorithm: string;
2534
- }>;
2535
- };
2536
- instanceOf(obj: any): obj is {
2537
- /**
2538
- * @private
2539
- * This field is private and should not be used, use `tag` instead.
2540
- */
2541
- readonly [uniffiTypeNameSymbol]: "ContentAlgorithm";
2542
- readonly tag: ContentAlgorithm_Tags.Named;
2543
- readonly inner: Readonly<{
2544
- algorithm: string;
2545
- }>;
2546
- };
2547
- };
2548
- }>;
2549
- /**
2550
- * How a `byContent` query selects the registry's detector algorithms.
2551
- */
2552
- export type ContentAlgorithm = InstanceType<typeof ContentAlgorithm['Fingerprint' | 'Watermark' | 'All' | 'Named']>;
2553
- export declare enum RecoveryQuery_Tags {
2554
- ByBinding = "ByBinding",
2555
- ByContent = "ByContent"
2556
- }
2557
- /**
2558
- * A single C2PA Soft Binding Resolution API lookup.
2559
- */
2560
- export declare const RecoveryQuery: Readonly<{
2561
- instanceOf: (obj: any) => obj is RecoveryQuery;
2562
- ByBinding: {
2563
- new (inner: {
2564
- binderIndex: number;
2565
- }): {
2566
- /**
2567
- * @private
2568
- * This field is private and should not be used, use `tag` instead.
2569
- */
2570
- readonly [uniffiTypeNameSymbol]: "RecoveryQuery";
2571
- readonly tag: RecoveryQuery_Tags.ByBinding;
2572
- readonly inner: Readonly<{
2573
- binderIndex: number;
2574
- }>;
2575
- };
2576
- "new"(inner: {
2577
- binderIndex: number;
2578
- }): {
2579
- /**
2580
- * @private
2581
- * This field is private and should not be used, use `tag` instead.
2582
- */
2583
- readonly [uniffiTypeNameSymbol]: "RecoveryQuery";
2584
- readonly tag: RecoveryQuery_Tags.ByBinding;
2585
- readonly inner: Readonly<{
2586
- binderIndex: number;
2587
- }>;
2588
- };
2589
- instanceOf(obj: any): obj is {
2590
- /**
2591
- * @private
2592
- * This field is private and should not be used, use `tag` instead.
2593
- */
2594
- readonly [uniffiTypeNameSymbol]: "RecoveryQuery";
2595
- readonly tag: RecoveryQuery_Tags.ByBinding;
2596
- readonly inner: Readonly<{
2597
- binderIndex: number;
2598
- }>;
2599
- };
2600
- };
2601
- ByContent: {
2602
- new (inner: {
2603
- algorithm: ContentAlgorithm;
2604
- hintBinderIndex?: number;
2605
- }): {
2606
- /**
2607
- * @private
2608
- * This field is private and should not be used, use `tag` instead.
2609
- */
2610
- readonly [uniffiTypeNameSymbol]: "RecoveryQuery";
2611
- readonly tag: RecoveryQuery_Tags.ByContent;
2612
- readonly inner: Readonly<{
2613
- algorithm: ContentAlgorithm;
2614
- hintBinderIndex?: number;
2615
- }>;
2616
- };
2617
- new: (partial: Parameters<(partial: Partial<{
2618
- algorithm: ContentAlgorithm;
2619
- hintBinderIndex?: number;
2620
- }> & Required<Omit<{
2621
- algorithm: ContentAlgorithm;
2622
- hintBinderIndex?: number;
2623
- }, "hintBinderIndex">>) => {
2624
- algorithm: ContentAlgorithm;
2625
- hintBinderIndex?: number;
2626
- }>[0]) => {
2627
- /**
2628
- * @private
2629
- * This field is private and should not be used, use `tag` instead.
2630
- */
2631
- readonly [uniffiTypeNameSymbol]: "RecoveryQuery";
2632
- readonly tag: RecoveryQuery_Tags.ByContent;
2633
- readonly inner: Readonly<{
2634
- algorithm: ContentAlgorithm;
2635
- hintBinderIndex?: number;
2636
- }>;
2637
- };
2638
- instanceOf(obj: any): obj is {
2639
- /**
2640
- * @private
2641
- * This field is private and should not be used, use `tag` instead.
2642
- */
2643
- readonly [uniffiTypeNameSymbol]: "RecoveryQuery";
2644
- readonly tag: RecoveryQuery_Tags.ByContent;
2645
- readonly inner: Readonly<{
2646
- algorithm: ContentAlgorithm;
2647
- hintBinderIndex?: number;
2648
- }>;
2649
- };
2650
- };
2651
- }>;
2652
- /**
2653
- * A single C2PA Soft Binding Resolution API lookup.
2654
- */
2655
- export type RecoveryQuery = InstanceType<typeof RecoveryQuery['ByBinding' | 'ByContent']>;
2656
- /**
2657
- * Scheduling within a recovery stage.
2658
- */
2659
- export declare enum RecoveryExecution {
2660
- /**
2661
- * Finish one query before starting the next.
2662
- */
2663
- Sequential = 0,
2664
- /**
2665
- * Start all queries together and merge their results in declaration order.
2666
- */
2667
- Parallel = 1
2668
- }
2669
3511
  /**
2670
- * The condition that completes a recovery stage.
3512
+ * When [`AssetVerifier::verify_asset`] queries the registry.
2671
3513
  */
2672
- export declare enum RecoveryCompletion {
3514
+ export declare enum RecoveryPolicy {
2673
3515
  /**
2674
- * Stop after the first declared query that returns a credential.
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.
2675
3519
  */
2676
- FirstResult = 0,
3520
+ WhenMissing = 0,
2677
3521
  /**
2678
- * Run every query and retain the union of their credentials and evidence.
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.
2679
3534
  */
2680
- AllResults = 1
3535
+ Always = 1
2681
3536
  }
2682
3537
  /**
2683
- * One ordered group of registry queries.
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.
2684
3545
  */
2685
- export type RecoveryStage = {
3546
+ export type Recovery = {
2686
3547
  /**
2687
- * Queries in declaration order. Their order is also the deterministic result priority.
3548
+ * When the registry is consulted at all.
2688
3549
  */
2689
- queries: Array<RecoveryQuery>;
3550
+ when: RecoveryPolicy;
2690
3551
  /**
2691
- * Whether queries start one at a time or together.
3552
+ * `matches/byContent`: the bounded asset bytes travel in the request.
2692
3553
  */
2693
- execution: RecoveryExecution;
3554
+ byContent?: ByContent;
2694
3555
  /**
2695
- * Whether this stage stops at its first successful query or retains every result.
3556
+ * `matches/byReference`: the registry fetches the asset from the caller's URL instead, for
3557
+ * an asset above the upload cap.
2696
3558
  */
2697
- completion: RecoveryCompletion;
3559
+ byReference?: ByReference;
2698
3560
  };
2699
3561
  /**
2700
- * Generated factory for {@link RecoveryStage} record objects.
3562
+ * Generated factory for {@link Recovery} record objects.
2701
3563
  */
2702
- export declare const RecoveryStage: Readonly<{
2703
- create: (partial: Partial<RecoveryStage> & Required<Omit<RecoveryStage, never>>) => RecoveryStage;
2704
- new: (partial: Partial<RecoveryStage> & Required<Omit<RecoveryStage, never>>) => RecoveryStage;
2705
- defaults: () => Partial<RecoveryStage>;
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>;
2706
3568
  }>;
2707
3569
  /**
2708
3570
  * A byte range holding a bare C2PA manifest store, or reserved for one. A record of
@@ -3248,58 +4110,6 @@ export declare class Binder extends UniffiAbstractObject implements BinderLike {
3248
4110
  uniffiDestroy(): void;
3249
4111
  static instanceOf(obj_: any): obj_ is Binder;
3250
4112
  }
3251
- export declare enum RecoveryPlan_Tags {
3252
- Custom = "Custom"
3253
- }
3254
- /**
3255
- * The registry work a verification call is allowed to perform.
3256
- */
3257
- export declare const RecoveryPlan: Readonly<{
3258
- instanceOf: (obj: any) => obj is RecoveryPlan;
3259
- Custom: {
3260
- new (inner: {
3261
- stages: Array<RecoveryStage>;
3262
- }): {
3263
- /**
3264
- * @private
3265
- * This field is private and should not be used, use `tag` instead.
3266
- */
3267
- readonly [uniffiTypeNameSymbol]: "RecoveryPlan";
3268
- readonly tag: RecoveryPlan_Tags.Custom;
3269
- readonly inner: Readonly<{
3270
- stages: Array<RecoveryStage>;
3271
- }>;
3272
- };
3273
- "new"(inner: {
3274
- stages: Array<RecoveryStage>;
3275
- }): {
3276
- /**
3277
- * @private
3278
- * This field is private and should not be used, use `tag` instead.
3279
- */
3280
- readonly [uniffiTypeNameSymbol]: "RecoveryPlan";
3281
- readonly tag: RecoveryPlan_Tags.Custom;
3282
- readonly inner: Readonly<{
3283
- stages: Array<RecoveryStage>;
3284
- }>;
3285
- };
3286
- instanceOf(obj: any): obj is {
3287
- /**
3288
- * @private
3289
- * This field is private and should not be used, use `tag` instead.
3290
- */
3291
- readonly [uniffiTypeNameSymbol]: "RecoveryPlan";
3292
- readonly tag: RecoveryPlan_Tags.Custom;
3293
- readonly inner: Readonly<{
3294
- stages: Array<RecoveryStage>;
3295
- }>;
3296
- };
3297
- };
3298
- }>;
3299
- /**
3300
- * The registry work a verification call is allowed to perform.
3301
- */
3302
- export type RecoveryPlan = InstanceType<typeof RecoveryPlan['Custom']>;
3303
4113
  /**
3304
4114
  * The read surface a plugin implements. Implemented by the CALLER, in Rust
3305
4115
  * behind its own cdylib or directly in the host language, and handed to `verify`.
@@ -3404,21 +4214,21 @@ export declare class PluginRegistry extends UniffiAbstractObject implements Plug
3404
4214
  /**
3405
4215
  * Everything one [`AssetVerifier::verify`] needs beyond the asset.
3406
4216
  *
3407
- * `binders` are addressed by recovery-plan indexes. `recovery_plan` is required when the verifier
3408
- * has a registry and absent for embedded-only verification. `plugins` carries caller plugins for non-c2pa formats
3409
- * (e.g. MXF); a built-in C2PA media format needs none.
4217
+ * `recovery` is required when the verifier has a registry and absent for embedded-only
4218
+ * verification. `plugins` carries caller plugins for non-c2pa formats (e.g. MXF); a built-in
4219
+ * C2PA media format needs none.
3410
4220
  */
3411
4221
  export type VerifyOptions = {
3412
4222
  binders: Array<BinderLike>;
3413
- recoveryPlan?: RecoveryPlan;
4223
+ recovery?: Recovery;
3414
4224
  plugins?: PluginRegistryLike;
3415
4225
  };
3416
4226
  /**
3417
4227
  * Generated factory for {@link VerifyOptions} record objects.
3418
4228
  */
3419
4229
  export declare const VerifyOptions: Readonly<{
3420
- create: (partial: Partial<VerifyOptions> & Required<Omit<VerifyOptions, "plugins" | "recoveryPlan">>) => VerifyOptions;
3421
- new: (partial: Partial<VerifyOptions> & Required<Omit<VerifyOptions, "plugins" | "recoveryPlan">>) => VerifyOptions;
4230
+ create: (partial: Partial<VerifyOptions> & Required<Omit<VerifyOptions, "plugins" | "recovery">>) => VerifyOptions;
4231
+ new: (partial: Partial<VerifyOptions> & Required<Omit<VerifyOptions, "plugins" | "recovery">>) => VerifyOptions;
3422
4232
  defaults: () => Partial<VerifyOptions>;
3423
4233
  }>;
3424
4234
  export declare enum SegmentValidation_Tags {
@@ -3525,7 +4335,7 @@ export type SegmentValidation = InstanceType<typeof SegmentValidation['Init' | '
3525
4335
  */
3526
4336
  export interface AssetVerifierLike {
3527
4337
  /**
3528
- * Verify an asset from a [`RangeSource`] using the per-call binders and recovery plan.
4338
+ * Verify an asset from a [`RangeSource`] using the per-call binders and recovery options.
3529
4339
  * `plugins` carries the caller's
3530
4340
  * plugins for non-c2pa formats (e.g. MXF); pass an empty `PluginRegistry` for a
3531
4341
  * built-in C2PA media format. The SDK links no plugin itself. Returns embedded/recovered
@@ -3562,7 +4372,7 @@ export declare class AssetVerifier extends UniffiAbstractObject implements Asset
3562
4372
  */
3563
4373
  static create(options: AssetVerifierOptions): AssetVerifierLike;
3564
4374
  /**
3565
- * Verify an asset from a [`RangeSource`] using the per-call binders and recovery plan.
4375
+ * Verify an asset from a [`RangeSource`] using the per-call binders and recovery options.
3566
4376
  * `plugins` carries the caller's
3567
4377
  * plugins for non-c2pa formats (e.g. MXF); pass an empty `PluginRegistry` for a
3568
4378
  * built-in C2PA media format. The SDK links no plugin itself. Returns embedded/recovered
@@ -3925,6 +4735,20 @@ declare const _default$1: Readonly<{
3925
4735
  lower(value: AssetVerifierOptions, alloc: RustBufferAllocator): UniffiByteArray;
3926
4736
  };
3927
4737
  FfiConverterTypeBinder: FfiConverterObject<BinderLike>;
4738
+ FfiConverterTypeByContent: {
4739
+ readFromCursor(c: Cursor): ByContent;
4740
+ writeIntoCursor(value: ByContent, c: Cursor): void;
4741
+ allocationSize(value: ByContent): number;
4742
+ lift(value: UniffiByteArray): ByContent;
4743
+ lower(value: ByContent, alloc: RustBufferAllocator): UniffiByteArray;
4744
+ };
4745
+ FfiConverterTypeByReference: {
4746
+ readFromCursor(c: Cursor): ByReference;
4747
+ writeIntoCursor(value: ByReference, c: Cursor): void;
4748
+ allocationSize(value: ByReference): number;
4749
+ lift(value: UniffiByteArray): ByReference;
4750
+ lower(value: ByReference, alloc: RustBufferAllocator): UniffiByteArray;
4751
+ };
3928
4752
  FfiConverterTypeClaimGeneratorInfo: {
3929
4753
  readFromCursor(c: Cursor): ClaimGeneratorInfo;
3930
4754
  writeIntoCursor(value: ClaimGeneratorInfo, c: Cursor): void;
@@ -3939,13 +4763,6 @@ declare const _default$1: Readonly<{
3939
4763
  lift(value: UniffiByteArray): Code;
3940
4764
  lower(value: Code, alloc: RustBufferAllocator): UniffiByteArray;
3941
4765
  };
3942
- FfiConverterTypeContentAlgorithm: {
3943
- readFromCursor(c: Cursor): ContentAlgorithm;
3944
- writeIntoCursor(value: ContentAlgorithm, c: Cursor): void;
3945
- allocationSize(value: ContentAlgorithm): number;
3946
- lift(value: UniffiByteArray): ContentAlgorithm;
3947
- lower(value: ContentAlgorithm, alloc: RustBufferAllocator): UniffiByteArray;
3948
- };
3949
4766
  FfiConverterTypeContentBindingClass: {
3950
4767
  readFromCursor(c: Cursor): ContentBindingClass;
3951
4768
  writeIntoCursor(value: ContentBindingClass, c: Cursor): void;
@@ -3953,6 +4770,13 @@ declare const _default$1: Readonly<{
3953
4770
  lift(value: UniffiByteArray): ContentBindingClass;
3954
4771
  lower(value: ContentBindingClass, alloc: RustBufferAllocator): UniffiByteArray;
3955
4772
  };
4773
+ FfiConverterTypeContentTrigger: {
4774
+ readFromCursor(c: Cursor): ContentTrigger;
4775
+ writeIntoCursor(value: ContentTrigger, c: Cursor): void;
4776
+ allocationSize(value: ContentTrigger): number;
4777
+ lift(value: UniffiByteArray): ContentTrigger;
4778
+ lower(value: ContentTrigger, alloc: RustBufferAllocator): UniffiByteArray;
4779
+ };
3956
4780
  FfiConverterTypeCoordinate: {
3957
4781
  readFromCursor(c: Cursor): Coordinate;
3958
4782
  writeIntoCursor(value: Coordinate, c: Cursor): void;
@@ -3981,6 +4805,13 @@ declare const _default$1: Readonly<{
3981
4805
  lift(value: UniffiByteArray): DeriveOptions;
3982
4806
  lower(value: DeriveOptions, alloc: RustBufferAllocator): UniffiByteArray;
3983
4807
  };
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
+ };
3984
4815
  FfiConverterTypeEndInclusivity: {
3985
4816
  readFromCursor(c: Cursor): EndInclusivity;
3986
4817
  writeIntoCursor(value: EndInclusivity, c: Cursor): void;
@@ -4066,6 +4897,13 @@ declare const _default$1: Readonly<{
4066
4897
  lift(value: UniffiByteArray): Item;
4067
4898
  lower(value: Item, alloc: RustBufferAllocator): UniffiByteArray;
4068
4899
  };
4900
+ FfiConverterTypeLineage: {
4901
+ readFromCursor(c: Cursor): Lineage;
4902
+ writeIntoCursor(value: Lineage, c: Cursor): void;
4903
+ allocationSize(value: Lineage): number;
4904
+ lift(value: UniffiByteArray): Lineage;
4905
+ lower(value: Lineage, alloc: RustBufferAllocator): UniffiByteArray;
4906
+ };
4069
4907
  FfiConverterTypeManifest: {
4070
4908
  readFromCursor(c: Cursor): Manifest;
4071
4909
  writeIntoCursor(value: Manifest, c: Cursor): void;
@@ -4118,12 +4956,12 @@ declare const _default$1: Readonly<{
4118
4956
  lift(value: UniffiByteArray): RangeType;
4119
4957
  lower(value: RangeType, alloc: RustBufferAllocator): UniffiByteArray;
4120
4958
  };
4121
- FfiConverterTypeRecoveryCompletion: {
4122
- readFromCursor(c: Cursor): RecoveryCompletion;
4123
- writeIntoCursor(value: RecoveryCompletion, c: Cursor): void;
4124
- allocationSize(value: RecoveryCompletion): number;
4125
- lift(value: UniffiByteArray): RecoveryCompletion;
4126
- lower(value: RecoveryCompletion, alloc: RustBufferAllocator): UniffiByteArray;
4959
+ FfiConverterTypeRecovery: {
4960
+ readFromCursor(c: Cursor): Recovery;
4961
+ writeIntoCursor(value: Recovery, c: Cursor): void;
4962
+ allocationSize(value: Recovery): number;
4963
+ lift(value: UniffiByteArray): Recovery;
4964
+ lower(value: Recovery, alloc: RustBufferAllocator): UniffiByteArray;
4127
4965
  };
4128
4966
  FfiConverterTypeRecoveryDiscovery: {
4129
4967
  readFromCursor(c: Cursor): RecoveryDiscovery;
@@ -4132,13 +4970,6 @@ declare const _default$1: Readonly<{
4132
4970
  lift(value: UniffiByteArray): RecoveryDiscovery;
4133
4971
  lower(value: RecoveryDiscovery, alloc: RustBufferAllocator): UniffiByteArray;
4134
4972
  };
4135
- FfiConverterTypeRecoveryExecution: {
4136
- readFromCursor(c: Cursor): RecoveryExecution;
4137
- writeIntoCursor(value: RecoveryExecution, c: Cursor): void;
4138
- allocationSize(value: RecoveryExecution): number;
4139
- lift(value: UniffiByteArray): RecoveryExecution;
4140
- lower(value: RecoveryExecution, alloc: RustBufferAllocator): UniffiByteArray;
4141
- };
4142
4973
  FfiConverterTypeRecoveryIssue: {
4143
4974
  readFromCursor(c: Cursor): RecoveryIssue;
4144
4975
  writeIntoCursor(value: RecoveryIssue, c: Cursor): void;
@@ -4146,70 +4977,6 @@ declare const _default$1: Readonly<{
4146
4977
  lift(value: UniffiByteArray): RecoveryIssue;
4147
4978
  lower(value: RecoveryIssue, alloc: RustBufferAllocator): UniffiByteArray;
4148
4979
  };
4149
- FfiConverterTypeRecoveryIssueKind: {
4150
- readFromCursor(c: Cursor): RecoveryIssueKind;
4151
- writeIntoCursor(value: RecoveryIssueKind, c: Cursor): void;
4152
- allocationSize(value: RecoveryIssueKind): number;
4153
- lift(value: UniffiByteArray): RecoveryIssueKind;
4154
- lower(value: RecoveryIssueKind, alloc: RustBufferAllocator): UniffiByteArray;
4155
- };
4156
- FfiConverterTypeRecoveryPlan: {
4157
- readFromCursor(c: Cursor): {
4158
- /**
4159
- * @private
4160
- * This field is private and should not be used, use `tag` instead.
4161
- */
4162
- readonly [uniffiTypeNameSymbol]: "RecoveryPlan";
4163
- readonly tag: RecoveryPlan_Tags.Custom;
4164
- readonly inner: Readonly<{
4165
- stages: Array<RecoveryStage>;
4166
- }>;
4167
- };
4168
- writeIntoCursor(value: {
4169
- /**
4170
- * @private
4171
- * This field is private and should not be used, use `tag` instead.
4172
- */
4173
- readonly [uniffiTypeNameSymbol]: "RecoveryPlan";
4174
- readonly tag: RecoveryPlan_Tags.Custom;
4175
- readonly inner: Readonly<{
4176
- stages: Array<RecoveryStage>;
4177
- }>;
4178
- }, c: Cursor): void;
4179
- allocationSize(value: {
4180
- /**
4181
- * @private
4182
- * This field is private and should not be used, use `tag` instead.
4183
- */
4184
- readonly [uniffiTypeNameSymbol]: "RecoveryPlan";
4185
- readonly tag: RecoveryPlan_Tags.Custom;
4186
- readonly inner: Readonly<{
4187
- stages: Array<RecoveryStage>;
4188
- }>;
4189
- }): number;
4190
- lift(value: UniffiByteArray): {
4191
- /**
4192
- * @private
4193
- * This field is private and should not be used, use `tag` instead.
4194
- */
4195
- readonly [uniffiTypeNameSymbol]: "RecoveryPlan";
4196
- readonly tag: RecoveryPlan_Tags.Custom;
4197
- readonly inner: Readonly<{
4198
- stages: Array<RecoveryStage>;
4199
- }>;
4200
- };
4201
- lower(value: {
4202
- /**
4203
- * @private
4204
- * This field is private and should not be used, use `tag` instead.
4205
- */
4206
- readonly [uniffiTypeNameSymbol]: "RecoveryPlan";
4207
- readonly tag: RecoveryPlan_Tags.Custom;
4208
- readonly inner: Readonly<{
4209
- stages: Array<RecoveryStage>;
4210
- }>;
4211
- }, alloc: RustBufferAllocator): UniffiByteArray;
4212
- };
4213
4980
  FfiConverterTypeRecoveryPolicy: {
4214
4981
  readFromCursor(c: Cursor): RecoveryPolicy;
4215
4982
  writeIntoCursor(value: RecoveryPolicy, c: Cursor): void;
@@ -4217,20 +4984,6 @@ declare const _default$1: Readonly<{
4217
4984
  lift(value: UniffiByteArray): RecoveryPolicy;
4218
4985
  lower(value: RecoveryPolicy, alloc: RustBufferAllocator): UniffiByteArray;
4219
4986
  };
4220
- FfiConverterTypeRecoveryQuery: {
4221
- readFromCursor(c: Cursor): RecoveryQuery;
4222
- writeIntoCursor(value: RecoveryQuery, c: Cursor): void;
4223
- allocationSize(value: RecoveryQuery): number;
4224
- lift(value: UniffiByteArray): RecoveryQuery;
4225
- lower(value: RecoveryQuery, alloc: RustBufferAllocator): UniffiByteArray;
4226
- };
4227
- FfiConverterTypeRecoveryStage: {
4228
- readFromCursor(c: Cursor): RecoveryStage;
4229
- writeIntoCursor(value: RecoveryStage, c: Cursor): void;
4230
- allocationSize(value: RecoveryStage): number;
4231
- lift(value: UniffiByteArray): RecoveryStage;
4232
- lower(value: RecoveryStage, alloc: RustBufferAllocator): UniffiByteArray;
4233
- };
4234
4987
  FfiConverterTypeRecoveryStatus: {
4235
4988
  readFromCursor(c: Cursor): RecoveryStatus;
4236
4989
  writeIntoCursor(value: RecoveryStatus, c: Cursor): void;
@@ -4459,6 +5212,20 @@ declare const _default$1: Readonly<{
4459
5212
  lower(value: ValidationStatus, alloc: RustBufferAllocator): UniffiByteArray;
4460
5213
  };
4461
5214
  FfiConverterTypeValue: FfiConverter<UniffiByteArray, string>;
5215
+ FfiConverterTypeVerdict: {
5216
+ readFromCursor(c: Cursor): Verdict;
5217
+ writeIntoCursor(value: Verdict, c: Cursor): void;
5218
+ allocationSize(value: Verdict): number;
5219
+ lift(value: UniffiByteArray): Verdict;
5220
+ lower(value: Verdict, alloc: RustBufferAllocator): UniffiByteArray;
5221
+ };
5222
+ FfiConverterTypeVerdictRule: {
5223
+ readFromCursor(c: Cursor): VerdictRule;
5224
+ writeIntoCursor(value: VerdictRule, c: Cursor): void;
5225
+ allocationSize(value: VerdictRule): number;
5226
+ lift(value: UniffiByteArray): VerdictRule;
5227
+ lower(value: VerdictRule, alloc: RustBufferAllocator): UniffiByteArray;
5228
+ };
4462
5229
  FfiConverterTypeVerifyOptions: {
4463
5230
  readFromCursor(c: Cursor): VerifyOptions;
4464
5231
  writeIntoCursor(value: VerifyOptions, c: Cursor): void;