@trylimbo/sdk-verifier 0.3.0-canary.42 → 0.3.0-canary.45

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.
@@ -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, Block, ByteRange, ClaimGeneratorInfo, Code, Compute, ComputeImpl, ComputeRequest, Content, ContentWhen, Coordinate, Credential, CredentialInterface, CredentialLike, CredentialOrigin, CredentialOrigin_Tags, DataSource, Discovery, DiscoveryVia, DiscoveryVia_Tags, EndInclusivity, FieldViolation, FileSource, FileSourceInterface, FileSourceLike, FingerprintCheck, FingerprintCheck_Tags, Frame, Golden, Golden_Tags, HardBinding, HashedUri, Hint, Ingredient, IngredientDeltaValidationResult, InitValidation, Item, JsonValue, Lineage, Manifest, ManifestAssertion, ManifestAssertionKind, ManifestStore, MediaValidation, MemorySource, MemorySourceInterface, MemorySourceLike, PluginReader, Range, RangeSource, RangeSourceImpl, RangeType, Recovery, RecoveryIssue, RecoveryIssue_Tags, RecoveryStatus, RecoverySummary, RecoveryTrigger, Reference, RegionOfInterest, Relationship, Repository, Repository_Tags, ResourceRef, ReviewRating, Scope, SdkError, SdkError_Tags, SegmentTiming, SegmentValidation, SegmentValidation_Tags, SessionKey, Shape, ShapeType, SignatureInfo, SigningAlgSchema, SimilarityScore, SoftBindingSource, SoftBindingSource_Tags, SoftBindingType, StatusCodes, StreamSession, StreamSessionInterface, StreamSessionLike, StreamVerifier, StreamVerifierInterface, StreamVerifierLike, StreamVerifierOptions, Text, TextSelector, TextSelectorRange, Time, TimeType, Timespan, Trust, UnitType, UriOrResource, UriOrResource_Tags, ValidationCode, ValidationCodeKind, ValidationResults, ValidationState, ValidationStatus, Verdict, VerdictRule, Verdict_Tags, c2paTrustList, c2paTsaTrustList, computeSoftBinding, _default$1 as default, devCa, parse, resource };
184
+ export { Actor, AssertionMetadata, AssetType, AssetVerification, AssetVerifier, AssetVerifierInterface, AssetVerifierLike, AssetVerifierOptions, Block, ByteRange, ClaimGeneratorInfo, Code, Compute, ComputeImpl, ComputeRequest, Content, ContentWhen, Coordinate, Credential, CredentialInterface, CredentialLike, CredentialOrigin, CredentialOrigin_Tags, DataSource, Discovery, DiscoveryVia, DiscoveryVia_Tags, EndInclusivity, FieldViolation, FileSource, FileSourceInterface, FileSourceLike, FingerprintCheck, FingerprintCheck_Tags, Frame, Golden, Golden_Tags, HardBinding, HashedUri, Hint, Ingredient, IngredientDeltaValidationResult, InitValidation, Item, JsonValue, Lineage, Manifest, ManifestAssertion, ManifestAssertionKind, ManifestStore, MediaValidation, MemorySource, MemorySourceInterface, MemorySourceLike, PluginReader, Range, RangeSource, RangeSourceImpl, RangeType, Recovery, RecoveryIssue, RecoveryIssue_Tags, RecoveryStatus, RecoverySummary, RecoveryTrigger, Reference, Region, RegionCoordinate, RegionForm, RegionForm_Tags, RegionOfInterest, RegionRange, RegionRange_Tags, RegionShape, RegionTextSelector, RegionTextSelectorRange, RegionUnit, Relationship, Repository, Repository_Tags, ResourceRef, ReviewRating, Scope, Scope_Tags, SdkError, SdkError_Tags, SegmentTiming, SegmentValidation, SegmentValidation_Tags, SessionKey, Shape, ShapeType, SignatureInfo, SigningAlgSchema, SimilarityScore, SoftBindingSource, SoftBindingSource_Tags, SoftBindingType, StatusCodes, StreamSession, StreamSessionInterface, StreamSessionLike, StreamVerifier, StreamVerifierInterface, StreamVerifierLike, StreamVerifierOptions, Text, TextSelector, TextSelectorRange, Time, TimeType, Trust, UnitType, UriOrResource, UriOrResource_Tags, ValidationCode, ValidationCodeKind, ValidationResults, ValidationState, ValidationStatus, Verdict, VerdictRule, Verdict_Tags, c2paTrustList, c2paTsaTrustList, computeSoftBinding, _default$1 as default, devCa, parse, resource, tamperCodes };
185
185
  }
186
186
  /**
187
187
  * The bundled C2PA Conformance Program signing-CA trust list (a release snapshot). Trusted by
@@ -239,6 +239,12 @@ export declare function parse(manifest: ArrayBuffer, asyncOpts_?: {
239
239
  export declare function resource(manifest: ArrayBuffer, uri: string, asyncOpts_?: {
240
240
  signal: AbortSignal;
241
241
  }): Promise<ArrayBuffer | undefined>;
242
+ /**
243
+ * The failure codes that say a manifest's asset bytes or its claim signature no longer match what
244
+ * was signed, as against a credential that is otherwise not good. A code absent here is never
245
+ * tampering.
246
+ */
247
+ export declare function tamperCodes(): Array<string>;
242
248
  /**
243
249
  * A `HashedUri` provides a reference to content available within the same
244
250
  * manifest store.
@@ -769,7 +775,7 @@ export declare enum HardBinding {
769
775
  Unverified = 2
770
776
  }
771
777
  /**
772
- * The re-sign chain, read from the validated stores themselves: C2PA 2.4 18.16.11 copies a
778
+ * The re-sign chain, read from the validated stores themselves: C2PA 2.3 section 18.16.11 copies a
773
779
  * `parentOf` ingredient's manifest into its successor's store, so a link here was signed by the
774
780
  * successor. A repository's ordering is a hint; this is the evidence.
775
781
  */
@@ -1603,7 +1609,7 @@ export declare enum FingerprintCheck_Tags {
1603
1609
  /**
1604
1610
  * Whether the asset's own fingerprint backs up a manifest that a watermark led to.
1605
1611
  *
1606
- * C2PA 2.4 1.2.2.3: a watermark can be lifted from one asset onto another, so a mark alone does
1612
+ * C2PA 2.4 Soft Binding API section 1.2.2.3: a watermark can be lifted from one asset onto another, so a mark alone does
1607
1613
  * not establish that the manifest it resolves to describes THIS asset. The mitigation the spec
1608
1614
  * gives is to compare a fingerprint computed from the asset against the one the recovered
1609
1615
  * manifest records, and `watermark-and-fingerprint` ends on exactly that comparison.
@@ -1773,7 +1779,7 @@ export declare const FingerprintCheck: Readonly<{
1773
1779
  /**
1774
1780
  * Whether the asset's own fingerprint backs up a manifest that a watermark led to.
1775
1781
  *
1776
- * C2PA 2.4 1.2.2.3: a watermark can be lifted from one asset onto another, so a mark alone does
1782
+ * C2PA 2.4 Soft Binding API section 1.2.2.3: a watermark can be lifted from one asset onto another, so a mark alone does
1777
1783
  * not establish that the manifest it resolves to describes THIS asset. The mitigation the spec
1778
1784
  * gives is to compare a fingerprint computed from the asset against the one the recovered
1779
1785
  * manifest records, and `watermark-and-fingerprint` ends on exactly that comparison.
@@ -3038,7 +3044,7 @@ export declare enum Verdict_Tags {
3038
3044
  Ambiguous = "Ambiguous"
3039
3045
  }
3040
3046
  /**
3041
- * What this verify concludes about the asset, chosen from [`AssetVerification::credentials`]
3047
+ * What this verify concludes about the asset, chosen from [`AssetVerification::credentials`](super::AssetVerification::credentials)
3042
3048
  * on signed evidence alone. Policy over the evidence: no credential's validation state changes,
3043
3049
  * and the list stays whole beside it.
3044
3050
  *
@@ -3306,7 +3312,7 @@ export declare const Verdict: Readonly<{
3306
3312
  };
3307
3313
  }>;
3308
3314
  /**
3309
- * What this verify concludes about the asset, chosen from [`AssetVerification::credentials`]
3315
+ * What this verify concludes about the asset, chosen from [`AssetVerification::credentials`](super::AssetVerification::credentials)
3310
3316
  * on signed evidence alone. Policy over the evidence: no credential's validation state changes,
3311
3317
  * and the list stays whole beside it.
3312
3318
  *
@@ -3330,7 +3336,7 @@ export type Verdict = InstanceType<typeof Verdict['Unsigned' | 'Inconclusive' |
3330
3336
  /**
3331
3337
  * Complete asset verification result: every credential, the recovery state, the C2PA
3332
3338
  * golden-flow comparison when there was something to compare, and the verdict the SDK's rules
3333
- * choose. See [`asset::Verdict`].
3339
+ * choose. See [`asset::verdict::Verdict`].
3334
3340
  */
3335
3341
  export type AssetVerification = {
3336
3342
  credentials: Array<CredentialLike>;
@@ -3497,42 +3503,525 @@ export declare const AssetVerifierOptions: Readonly<{
3497
3503
  new: (partial: Partial<AssetVerifierOptions> & Required<Omit<AssetVerifierOptions, "repositories">>) => AssetVerifierOptions;
3498
3504
  defaults: () => Partial<AssetVerifierOptions>;
3499
3505
  }>;
3506
+ export declare enum RegionUnit {
3507
+ Pixel = 0,
3508
+ Percent = 1
3509
+ }
3510
+ export type RegionCoordinate = {
3511
+ x: number;
3512
+ y: number;
3513
+ };
3514
+ /**
3515
+ * Generated factory for {@link RegionCoordinate} record objects.
3516
+ */
3517
+ export declare const RegionCoordinate: Readonly<{
3518
+ create: (partial: Partial<RegionCoordinate> & Required<Omit<RegionCoordinate, never>>) => RegionCoordinate;
3519
+ new: (partial: Partial<RegionCoordinate> & Required<Omit<RegionCoordinate, never>>) => RegionCoordinate;
3520
+ defaults: () => Partial<RegionCoordinate>;
3521
+ }>;
3522
+ export declare enum RegionForm_Tags {
3523
+ Rectangle = "Rectangle",
3524
+ Circle = "Circle",
3525
+ Polygon = "Polygon"
3526
+ }
3527
+ export declare const RegionForm: Readonly<{
3528
+ instanceOf: (obj: any) => obj is RegionForm;
3529
+ Rectangle: {
3530
+ new (inner: {
3531
+ width: number;
3532
+ height: number;
3533
+ }): {
3534
+ /**
3535
+ * @private
3536
+ * This field is private and should not be used, use `tag` instead.
3537
+ */
3538
+ readonly [uniffiTypeNameSymbol]: "RegionForm";
3539
+ readonly tag: RegionForm_Tags.Rectangle;
3540
+ readonly inner: Readonly<{
3541
+ width: number;
3542
+ height: number;
3543
+ }>;
3544
+ };
3545
+ "new"(inner: {
3546
+ width: number;
3547
+ height: number;
3548
+ }): {
3549
+ /**
3550
+ * @private
3551
+ * This field is private and should not be used, use `tag` instead.
3552
+ */
3553
+ readonly [uniffiTypeNameSymbol]: "RegionForm";
3554
+ readonly tag: RegionForm_Tags.Rectangle;
3555
+ readonly inner: Readonly<{
3556
+ width: number;
3557
+ height: number;
3558
+ }>;
3559
+ };
3560
+ instanceOf(obj: any): obj is {
3561
+ /**
3562
+ * @private
3563
+ * This field is private and should not be used, use `tag` instead.
3564
+ */
3565
+ readonly [uniffiTypeNameSymbol]: "RegionForm";
3566
+ readonly tag: RegionForm_Tags.Rectangle;
3567
+ readonly inner: Readonly<{
3568
+ width: number;
3569
+ height: number;
3570
+ }>;
3571
+ };
3572
+ };
3573
+ Circle: {
3574
+ new (inner: {
3575
+ diameter: number;
3576
+ }): {
3577
+ /**
3578
+ * @private
3579
+ * This field is private and should not be used, use `tag` instead.
3580
+ */
3581
+ readonly [uniffiTypeNameSymbol]: "RegionForm";
3582
+ readonly tag: RegionForm_Tags.Circle;
3583
+ readonly inner: Readonly<{
3584
+ diameter: number;
3585
+ }>;
3586
+ };
3587
+ "new"(inner: {
3588
+ diameter: number;
3589
+ }): {
3590
+ /**
3591
+ * @private
3592
+ * This field is private and should not be used, use `tag` instead.
3593
+ */
3594
+ readonly [uniffiTypeNameSymbol]: "RegionForm";
3595
+ readonly tag: RegionForm_Tags.Circle;
3596
+ readonly inner: Readonly<{
3597
+ diameter: number;
3598
+ }>;
3599
+ };
3600
+ instanceOf(obj: any): obj is {
3601
+ /**
3602
+ * @private
3603
+ * This field is private and should not be used, use `tag` instead.
3604
+ */
3605
+ readonly [uniffiTypeNameSymbol]: "RegionForm";
3606
+ readonly tag: RegionForm_Tags.Circle;
3607
+ readonly inner: Readonly<{
3608
+ diameter: number;
3609
+ }>;
3610
+ };
3611
+ };
3612
+ Polygon: {
3613
+ new (inner: {
3614
+ vertices: Array<RegionCoordinate>;
3615
+ }): {
3616
+ /**
3617
+ * @private
3618
+ * This field is private and should not be used, use `tag` instead.
3619
+ */
3620
+ readonly [uniffiTypeNameSymbol]: "RegionForm";
3621
+ readonly tag: RegionForm_Tags.Polygon;
3622
+ readonly inner: Readonly<{
3623
+ vertices: Array<RegionCoordinate>;
3624
+ }>;
3625
+ };
3626
+ "new"(inner: {
3627
+ vertices: Array<RegionCoordinate>;
3628
+ }): {
3629
+ /**
3630
+ * @private
3631
+ * This field is private and should not be used, use `tag` instead.
3632
+ */
3633
+ readonly [uniffiTypeNameSymbol]: "RegionForm";
3634
+ readonly tag: RegionForm_Tags.Polygon;
3635
+ readonly inner: Readonly<{
3636
+ vertices: Array<RegionCoordinate>;
3637
+ }>;
3638
+ };
3639
+ instanceOf(obj: any): obj is {
3640
+ /**
3641
+ * @private
3642
+ * This field is private and should not be used, use `tag` instead.
3643
+ */
3644
+ readonly [uniffiTypeNameSymbol]: "RegionForm";
3645
+ readonly tag: RegionForm_Tags.Polygon;
3646
+ readonly inner: Readonly<{
3647
+ vertices: Array<RegionCoordinate>;
3648
+ }>;
3649
+ };
3650
+ };
3651
+ }>;
3652
+ export type RegionForm = InstanceType<typeof RegionForm['Rectangle' | 'Circle' | 'Polygon']>;
3653
+ /**
3654
+ * An area of the image. A percent coordinate or extent is at most 100.
3655
+ */
3656
+ export type RegionShape = {
3657
+ unit: RegionUnit;
3658
+ origin: RegionCoordinate;
3659
+ form: RegionForm;
3660
+ /**
3661
+ * The region is what lies outside the shape.
3662
+ */
3663
+ outside: boolean;
3664
+ };
3665
+ /**
3666
+ * Generated factory for {@link RegionShape} record objects.
3667
+ */
3668
+ export declare const RegionShape: Readonly<{
3669
+ create: (partial: Partial<RegionShape> & Required<Omit<RegionShape, "outside">>) => RegionShape;
3670
+ new: (partial: Partial<RegionShape> & Required<Omit<RegionShape, "outside">>) => RegionShape;
3671
+ defaults: () => Partial<RegionShape>;
3672
+ }>;
3673
+ /**
3674
+ * A W3C Web Annotation fragment selector, narrowed to character offsets, both inclusive.
3675
+ */
3676
+ export type RegionTextSelector = {
3677
+ /**
3678
+ * A fragment identifier, as per RFC 3023 or ISO 32000-2 Annex O.
3679
+ */
3680
+ fragment: string;
3681
+ start?: number;
3682
+ end?: number;
3683
+ };
3684
+ /**
3685
+ * Generated factory for {@link RegionTextSelector} record objects.
3686
+ */
3687
+ export declare const RegionTextSelector: Readonly<{
3688
+ create: (partial: Partial<RegionTextSelector> & Required<Omit<RegionTextSelector, "end" | "start">>) => RegionTextSelector;
3689
+ new: (partial: Partial<RegionTextSelector> & Required<Omit<RegionTextSelector, "end" | "start">>) => RegionTextSelector;
3690
+ defaults: () => Partial<RegionTextSelector>;
3691
+ }>;
3500
3692
  /**
3501
- * A `soft-binding-timespan-map`: where the range starts in the media and how long it lasts, in
3502
- * whole milliseconds.
3693
+ * A selector, or the start and end of a contiguous range.
3503
3694
  */
3504
- export type Timespan = {
3505
- start: number;
3506
- duration: number;
3695
+ export type RegionTextSelectorRange = {
3696
+ selector: RegionTextSelector;
3697
+ end?: RegionTextSelector;
3507
3698
  };
3508
3699
  /**
3509
- * Generated factory for {@link Timespan} record objects.
3700
+ * Generated factory for {@link RegionTextSelectorRange} record objects.
3510
3701
  */
3511
- export declare const Timespan: Readonly<{
3512
- create: (partial: Partial<Timespan> & Required<Omit<Timespan, never>>) => Timespan;
3513
- new: (partial: Partial<Timespan> & Required<Omit<Timespan, never>>) => Timespan;
3514
- defaults: () => Partial<Timespan>;
3702
+ export declare const RegionTextSelectorRange: Readonly<{
3703
+ create: (partial: Partial<RegionTextSelectorRange> & Required<Omit<RegionTextSelectorRange, "end">>) => RegionTextSelectorRange;
3704
+ new: (partial: Partial<RegionTextSelectorRange> & Required<Omit<RegionTextSelectorRange, "end">>) => RegionTextSelectorRange;
3705
+ defaults: () => Partial<RegionTextSelectorRange>;
3706
+ }>;
3707
+ export declare enum RegionRange_Tags {
3708
+ Spatial = "Spatial",
3709
+ Frame = "Frame",
3710
+ Textual = "Textual",
3711
+ Identified = "Identified"
3712
+ }
3713
+ export declare const RegionRange: Readonly<{
3714
+ instanceOf: (obj: any) => obj is RegionRange;
3715
+ Spatial: {
3716
+ new (inner: {
3717
+ shape: RegionShape;
3718
+ }): {
3719
+ /**
3720
+ * @private
3721
+ * This field is private and should not be used, use `tag` instead.
3722
+ */
3723
+ readonly [uniffiTypeNameSymbol]: "RegionRange";
3724
+ readonly tag: RegionRange_Tags.Spatial;
3725
+ readonly inner: Readonly<{
3726
+ shape: RegionShape;
3727
+ }>;
3728
+ };
3729
+ "new"(inner: {
3730
+ shape: RegionShape;
3731
+ }): {
3732
+ /**
3733
+ * @private
3734
+ * This field is private and should not be used, use `tag` instead.
3735
+ */
3736
+ readonly [uniffiTypeNameSymbol]: "RegionRange";
3737
+ readonly tag: RegionRange_Tags.Spatial;
3738
+ readonly inner: Readonly<{
3739
+ shape: RegionShape;
3740
+ }>;
3741
+ };
3742
+ instanceOf(obj: any): obj is {
3743
+ /**
3744
+ * @private
3745
+ * This field is private and should not be used, use `tag` instead.
3746
+ */
3747
+ readonly [uniffiTypeNameSymbol]: "RegionRange";
3748
+ readonly tag: RegionRange_Tags.Spatial;
3749
+ readonly inner: Readonly<{
3750
+ shape: RegionShape;
3751
+ }>;
3752
+ };
3753
+ };
3754
+ Frame: {
3755
+ new (inner: {
3756
+ start?: number;
3757
+ end?: number;
3758
+ }): {
3759
+ /**
3760
+ * @private
3761
+ * This field is private and should not be used, use `tag` instead.
3762
+ */
3763
+ readonly [uniffiTypeNameSymbol]: "RegionRange";
3764
+ readonly tag: RegionRange_Tags.Frame;
3765
+ readonly inner: Readonly<{
3766
+ start?: number;
3767
+ end?: number;
3768
+ }>;
3769
+ };
3770
+ new: (partial: Parameters<(partial: Partial<{
3771
+ start?: number;
3772
+ end?: number;
3773
+ }> & Required<Omit<{
3774
+ start?: number;
3775
+ end?: number;
3776
+ }, "end" | "start">>) => {
3777
+ start?: number;
3778
+ end?: number;
3779
+ }>[0]) => {
3780
+ /**
3781
+ * @private
3782
+ * This field is private and should not be used, use `tag` instead.
3783
+ */
3784
+ readonly [uniffiTypeNameSymbol]: "RegionRange";
3785
+ readonly tag: RegionRange_Tags.Frame;
3786
+ readonly inner: Readonly<{
3787
+ start?: number;
3788
+ end?: number;
3789
+ }>;
3790
+ };
3791
+ instanceOf(obj: any): obj is {
3792
+ /**
3793
+ * @private
3794
+ * This field is private and should not be used, use `tag` instead.
3795
+ */
3796
+ readonly [uniffiTypeNameSymbol]: "RegionRange";
3797
+ readonly tag: RegionRange_Tags.Frame;
3798
+ readonly inner: Readonly<{
3799
+ start?: number;
3800
+ end?: number;
3801
+ }>;
3802
+ };
3803
+ };
3804
+ Textual: {
3805
+ new (inner: {
3806
+ selectors: Array<RegionTextSelectorRange>;
3807
+ }): {
3808
+ /**
3809
+ * @private
3810
+ * This field is private and should not be used, use `tag` instead.
3811
+ */
3812
+ readonly [uniffiTypeNameSymbol]: "RegionRange";
3813
+ readonly tag: RegionRange_Tags.Textual;
3814
+ readonly inner: Readonly<{
3815
+ selectors: Array<RegionTextSelectorRange>;
3816
+ }>;
3817
+ };
3818
+ "new"(inner: {
3819
+ selectors: Array<RegionTextSelectorRange>;
3820
+ }): {
3821
+ /**
3822
+ * @private
3823
+ * This field is private and should not be used, use `tag` instead.
3824
+ */
3825
+ readonly [uniffiTypeNameSymbol]: "RegionRange";
3826
+ readonly tag: RegionRange_Tags.Textual;
3827
+ readonly inner: Readonly<{
3828
+ selectors: Array<RegionTextSelectorRange>;
3829
+ }>;
3830
+ };
3831
+ instanceOf(obj: any): obj is {
3832
+ /**
3833
+ * @private
3834
+ * This field is private and should not be used, use `tag` instead.
3835
+ */
3836
+ readonly [uniffiTypeNameSymbol]: "RegionRange";
3837
+ readonly tag: RegionRange_Tags.Textual;
3838
+ readonly inner: Readonly<{
3839
+ selectors: Array<RegionTextSelectorRange>;
3840
+ }>;
3841
+ };
3842
+ };
3843
+ Identified: {
3844
+ new (inner: {
3845
+ identifier: string;
3846
+ value: string;
3847
+ }): {
3848
+ /**
3849
+ * @private
3850
+ * This field is private and should not be used, use `tag` instead.
3851
+ */
3852
+ readonly [uniffiTypeNameSymbol]: "RegionRange";
3853
+ readonly tag: RegionRange_Tags.Identified;
3854
+ readonly inner: Readonly<{
3855
+ identifier: string;
3856
+ value: string;
3857
+ }>;
3858
+ };
3859
+ "new"(inner: {
3860
+ identifier: string;
3861
+ value: string;
3862
+ }): {
3863
+ /**
3864
+ * @private
3865
+ * This field is private and should not be used, use `tag` instead.
3866
+ */
3867
+ readonly [uniffiTypeNameSymbol]: "RegionRange";
3868
+ readonly tag: RegionRange_Tags.Identified;
3869
+ readonly inner: Readonly<{
3870
+ identifier: string;
3871
+ value: string;
3872
+ }>;
3873
+ };
3874
+ instanceOf(obj: any): obj is {
3875
+ /**
3876
+ * @private
3877
+ * This field is private and should not be used, use `tag` instead.
3878
+ */
3879
+ readonly [uniffiTypeNameSymbol]: "RegionRange";
3880
+ readonly tag: RegionRange_Tags.Identified;
3881
+ readonly inner: Readonly<{
3882
+ identifier: string;
3883
+ value: string;
3884
+ }>;
3885
+ };
3886
+ };
3515
3887
  }>;
3888
+ export type RegionRange = InstanceType<typeof RegionRange['Spatial' | 'Frame' | 'Textual' | 'Identified']>;
3516
3889
  /**
3517
- * A `soft-binding-scope-map`: where in the content a value applies. Empty is the whole content.
3890
+ * One or more ranges of the content and the names given to them.
3518
3891
  */
3519
- export type Scope = {
3520
- timespan?: Timespan;
3892
+ export type Region = {
3893
+ /**
3894
+ * At least one.
3895
+ */
3896
+ ranges: Array<RegionRange>;
3897
+ /**
3898
+ * For a person, such as a user interface showing the region.
3899
+ */
3900
+ name?: string;
3901
+ /**
3902
+ * For a machine, unique within the assertion.
3903
+ */
3904
+ identifier?: string;
3905
+ /**
3906
+ * What the region depicts, from a controlled vocabulary such as IPTC's image region types,
3907
+ * or entity-specific.
3908
+ */
3909
+ type?: string;
3910
+ description?: string;
3521
3911
  };
3522
3912
  /**
3523
- * Generated factory for {@link Scope} record objects.
3913
+ * Generated factory for {@link Region} record objects.
3914
+ */
3915
+ export declare const Region: Readonly<{
3916
+ create: (partial: Partial<Region> & Required<Omit<Region, "description" | "identifier" | "name" | "type">>) => Region;
3917
+ new: (partial: Partial<Region> & Required<Omit<Region, "description" | "identifier" | "name" | "type">>) => Region;
3918
+ defaults: () => Partial<Region>;
3919
+ }>;
3920
+ export declare enum Scope_Tags {
3921
+ Timespan = "Timespan",
3922
+ Region = "Region"
3923
+ }
3924
+ /**
3925
+ * A `soft-binding-scope-map`: the part of the content a value applies to, a timespan or a region,
3926
+ * never both (C2PA 2.3 18.10.3).
3524
3927
  */
3525
3928
  export declare const Scope: Readonly<{
3526
- create: (partial: Partial<Scope> & Required<Omit<Scope, "timespan">>) => Scope;
3527
- new: (partial: Partial<Scope> & Required<Omit<Scope, "timespan">>) => Scope;
3528
- defaults: () => Partial<Scope>;
3929
+ instanceOf: (obj: any) => obj is Scope;
3930
+ Timespan: {
3931
+ new (inner: {
3932
+ start: number;
3933
+ duration: number;
3934
+ }): {
3935
+ /**
3936
+ * @private
3937
+ * This field is private and should not be used, use `tag` instead.
3938
+ */
3939
+ readonly [uniffiTypeNameSymbol]: "Scope";
3940
+ readonly tag: Scope_Tags.Timespan;
3941
+ readonly inner: Readonly<{
3942
+ start: number;
3943
+ duration: number;
3944
+ }>;
3945
+ };
3946
+ "new"(inner: {
3947
+ start: number;
3948
+ duration: number;
3949
+ }): {
3950
+ /**
3951
+ * @private
3952
+ * This field is private and should not be used, use `tag` instead.
3953
+ */
3954
+ readonly [uniffiTypeNameSymbol]: "Scope";
3955
+ readonly tag: Scope_Tags.Timespan;
3956
+ readonly inner: Readonly<{
3957
+ start: number;
3958
+ duration: number;
3959
+ }>;
3960
+ };
3961
+ instanceOf(obj: any): obj is {
3962
+ /**
3963
+ * @private
3964
+ * This field is private and should not be used, use `tag` instead.
3965
+ */
3966
+ readonly [uniffiTypeNameSymbol]: "Scope";
3967
+ readonly tag: Scope_Tags.Timespan;
3968
+ readonly inner: Readonly<{
3969
+ start: number;
3970
+ duration: number;
3971
+ }>;
3972
+ };
3973
+ };
3974
+ Region: {
3975
+ new (inner: {
3976
+ region: Region;
3977
+ }): {
3978
+ /**
3979
+ * @private
3980
+ * This field is private and should not be used, use `tag` instead.
3981
+ */
3982
+ readonly [uniffiTypeNameSymbol]: "Scope";
3983
+ readonly tag: Scope_Tags.Region;
3984
+ readonly inner: Readonly<{
3985
+ region: Region;
3986
+ }>;
3987
+ };
3988
+ "new"(inner: {
3989
+ region: Region;
3990
+ }): {
3991
+ /**
3992
+ * @private
3993
+ * This field is private and should not be used, use `tag` instead.
3994
+ */
3995
+ readonly [uniffiTypeNameSymbol]: "Scope";
3996
+ readonly tag: Scope_Tags.Region;
3997
+ readonly inner: Readonly<{
3998
+ region: Region;
3999
+ }>;
4000
+ };
4001
+ instanceOf(obj: any): obj is {
4002
+ /**
4003
+ * @private
4004
+ * This field is private and should not be used, use `tag` instead.
4005
+ */
4006
+ readonly [uniffiTypeNameSymbol]: "Scope";
4007
+ readonly tag: Scope_Tags.Region;
4008
+ readonly inner: Readonly<{
4009
+ region: Region;
4010
+ }>;
4011
+ };
4012
+ };
3529
4013
  }>;
3530
4014
  /**
3531
- * A `soft-binding-block-map`.
4015
+ * A `soft-binding-scope-map`: the part of the content a value applies to, a timespan or a region,
4016
+ * never both (C2PA 2.3 18.10.3).
4017
+ */
4018
+ export type Scope = InstanceType<typeof Scope['Timespan' | 'Region']>;
4019
+ /**
4020
+ * A `soft-binding-block-map`. A block without a scope covers the whole content.
3532
4021
  */
3533
4022
  export type Block = {
3534
4023
  value: ArrayBuffer;
3535
- scope: Scope;
4024
+ scope?: Scope;
3536
4025
  };
3537
4026
  /**
3538
4027
  * Generated factory for {@link Block} record objects.
@@ -3711,7 +4200,7 @@ export declare enum ValidationCodeKind {
3711
4200
  Failure = 2
3712
4201
  }
3713
4202
  /**
3714
- * One C2PA validation status entry (spec §15.3): the registered code, its kind, and the
4203
+ * One C2PA validation status entry (C2PA 2.3 section 15.2.2): the registered code, its kind, and the
3715
4204
  * spec's own free-text `explanation`, which is where anything finer than the code lives.
3716
4205
  */
3717
4206
  export type ValidationCode = {
@@ -3735,7 +4224,7 @@ export declare const ValidationCode: Readonly<{
3735
4224
  defaults: () => Partial<ValidationCode>;
3736
4225
  }>;
3737
4226
  /**
3738
- * A session signing key from the init manifest's roster (spec §19.4.4).
4227
+ * A session signing key from the init manifest's roster (spec C2PA 2.3 section 19.4.4).
3739
4228
  */
3740
4229
  export type SessionKey = {
3741
4230
  /**
@@ -3760,7 +4249,7 @@ export declare const SessionKey: Readonly<{
3760
4249
  */
3761
4250
  export type InitValidation = {
3762
4251
  /**
3763
- * The init manifest's C2PA validation state (spec §14.3). Read from
4252
+ * The init manifest's C2PA validation state (C2PA 2.3 section 14.3). Read from
3764
4253
  * `Reader::validation_state()`, so unlike `manifest.validation_state` it is
3765
4254
  * never absent.
3766
4255
  */
@@ -3842,8 +4331,8 @@ export declare enum RecoveryTrigger {
3842
4331
  *
3843
4332
  * It queries the repository on every verify, without making it load-bearing on the asset's own
3844
4333
  * credential: the flow provides information about a substitution rather than gating the local
3845
- * manifest, so a repository that cannot be reached leaves [`RecoveryStatus::Incomplete`], the
3846
- * reason as a [`RecoveryIssue`], and no [`Golden`]. A caller for whom a cross-check that never
4334
+ * manifest, so a repository that cannot be reached leaves [`RecoveryStatus::Incomplete`](super::RecoveryStatus::Incomplete), the
4335
+ * reason as a [`RecoveryIssue`](super::RecoveryIssue), and no [`Golden`](super::golden::Golden). A caller for whom a cross-check that never
3847
4336
  * ran must not pass for agreement branches on that status.
3848
4337
  */
3849
4338
  Always = 1
@@ -3884,7 +4373,7 @@ export declare class ComputeImpl extends UniffiAbstractObject implements Compute
3884
4373
  }
3885
4374
  export declare enum SoftBindingSource_Tags {
3886
4375
  Builtin = "Builtin",
3887
- Held = "Held",
4376
+ Hint = "Hint",
3888
4377
  Custom = "Custom"
3889
4378
  }
3890
4379
  /**
@@ -3931,7 +4420,7 @@ export declare const SoftBindingSource: Readonly<{
3931
4420
  }>;
3932
4421
  };
3933
4422
  };
3934
- Held: {
4423
+ Hint: {
3935
4424
  new (inner: {
3936
4425
  alg: string;
3937
4426
  value: ArrayBuffer;
@@ -3941,7 +4430,7 @@ export declare const SoftBindingSource: Readonly<{
3941
4430
  * This field is private and should not be used, use `tag` instead.
3942
4431
  */
3943
4432
  readonly [uniffiTypeNameSymbol]: "SoftBindingSource";
3944
- readonly tag: SoftBindingSource_Tags.Held;
4433
+ readonly tag: SoftBindingSource_Tags.Hint;
3945
4434
  readonly inner: Readonly<{
3946
4435
  alg: string;
3947
4436
  value: ArrayBuffer;
@@ -3956,7 +4445,7 @@ export declare const SoftBindingSource: Readonly<{
3956
4445
  * This field is private and should not be used, use `tag` instead.
3957
4446
  */
3958
4447
  readonly [uniffiTypeNameSymbol]: "SoftBindingSource";
3959
- readonly tag: SoftBindingSource_Tags.Held;
4448
+ readonly tag: SoftBindingSource_Tags.Hint;
3960
4449
  readonly inner: Readonly<{
3961
4450
  alg: string;
3962
4451
  value: ArrayBuffer;
@@ -3968,7 +4457,7 @@ export declare const SoftBindingSource: Readonly<{
3968
4457
  * This field is private and should not be used, use `tag` instead.
3969
4458
  */
3970
4459
  readonly [uniffiTypeNameSymbol]: "SoftBindingSource";
3971
- readonly tag: SoftBindingSource_Tags.Held;
4460
+ readonly tag: SoftBindingSource_Tags.Hint;
3972
4461
  readonly inner: Readonly<{
3973
4462
  alg: string;
3974
4463
  value: ArrayBuffer;
@@ -4018,7 +4507,7 @@ export declare const SoftBindingSource: Readonly<{
4018
4507
  /**
4019
4508
  * Where one byBinding query's value comes from.
4020
4509
  */
4021
- export type SoftBindingSource = InstanceType<typeof SoftBindingSource['Builtin' | 'Held' | 'Custom']>;
4510
+ export type SoftBindingSource = InstanceType<typeof SoftBindingSource['Builtin' | 'Hint' | 'Custom']>;
4022
4511
  /**
4023
4512
  * What one [`AssetVerifier::verify`] may do to recover a manifest: the soft bindings this client
4024
4513
  * looks up itself through `matches/byBinding`, and the content query, absent when not to be
@@ -4053,7 +4542,7 @@ export type StreamVerifierOptions = {
4053
4542
  */
4054
4543
  skewTolerance?: number;
4055
4544
  /**
4056
- * Exact HTTPS origins permitted for a segment's `manifestUri` (§19.4.4.1).
4545
+ * Exact HTTPS origins permitted for a segment's `manifestUri` (C2PA 2.3 section 19.4.4.1).
4057
4546
  * Empty disables external manifest recovery. Paths and wildcard hosts are not accepted.
4058
4547
  */
4059
4548
  manifestOrigins: Array<string>;
@@ -4833,6 +5322,27 @@ declare const _default$1: Readonly<{
4833
5322
  lift(value: UniffiByteArray): Reference;
4834
5323
  lower(value: Reference, alloc: RustBufferAllocator): UniffiByteArray;
4835
5324
  };
5325
+ FfiConverterTypeRegion: {
5326
+ readFromCursor(c: Cursor): Region;
5327
+ writeIntoCursor(value: Region, c: Cursor): void;
5328
+ allocationSize(value: Region): number;
5329
+ lift(value: UniffiByteArray): Region;
5330
+ lower(value: Region, alloc: RustBufferAllocator): UniffiByteArray;
5331
+ };
5332
+ FfiConverterTypeRegionCoordinate: {
5333
+ readFromCursor(c: Cursor): RegionCoordinate;
5334
+ writeIntoCursor(value: RegionCoordinate, c: Cursor): void;
5335
+ allocationSize(value: RegionCoordinate): number;
5336
+ lift(value: UniffiByteArray): RegionCoordinate;
5337
+ lower(value: RegionCoordinate, alloc: RustBufferAllocator): UniffiByteArray;
5338
+ };
5339
+ FfiConverterTypeRegionForm: {
5340
+ readFromCursor(c: Cursor): RegionForm;
5341
+ writeIntoCursor(value: RegionForm, c: Cursor): void;
5342
+ allocationSize(value: RegionForm): number;
5343
+ lift(value: UniffiByteArray): RegionForm;
5344
+ lower(value: RegionForm, alloc: RustBufferAllocator): UniffiByteArray;
5345
+ };
4836
5346
  FfiConverterTypeRegionOfInterest: {
4837
5347
  readFromCursor(c: Cursor): RegionOfInterest;
4838
5348
  writeIntoCursor(value: RegionOfInterest, c: Cursor): void;
@@ -4840,6 +5350,41 @@ declare const _default$1: Readonly<{
4840
5350
  lift(value: UniffiByteArray): RegionOfInterest;
4841
5351
  lower(value: RegionOfInterest, alloc: RustBufferAllocator): UniffiByteArray;
4842
5352
  };
5353
+ FfiConverterTypeRegionRange: {
5354
+ readFromCursor(c: Cursor): RegionRange;
5355
+ writeIntoCursor(value: RegionRange, c: Cursor): void;
5356
+ allocationSize(value: RegionRange): number;
5357
+ lift(value: UniffiByteArray): RegionRange;
5358
+ lower(value: RegionRange, alloc: RustBufferAllocator): UniffiByteArray;
5359
+ };
5360
+ FfiConverterTypeRegionShape: {
5361
+ readFromCursor(c: Cursor): RegionShape;
5362
+ writeIntoCursor(value: RegionShape, c: Cursor): void;
5363
+ allocationSize(value: RegionShape): number;
5364
+ lift(value: UniffiByteArray): RegionShape;
5365
+ lower(value: RegionShape, alloc: RustBufferAllocator): UniffiByteArray;
5366
+ };
5367
+ FfiConverterTypeRegionTextSelector: {
5368
+ readFromCursor(c: Cursor): RegionTextSelector;
5369
+ writeIntoCursor(value: RegionTextSelector, c: Cursor): void;
5370
+ allocationSize(value: RegionTextSelector): number;
5371
+ lift(value: UniffiByteArray): RegionTextSelector;
5372
+ lower(value: RegionTextSelector, alloc: RustBufferAllocator): UniffiByteArray;
5373
+ };
5374
+ FfiConverterTypeRegionTextSelectorRange: {
5375
+ readFromCursor(c: Cursor): RegionTextSelectorRange;
5376
+ writeIntoCursor(value: RegionTextSelectorRange, c: Cursor): void;
5377
+ allocationSize(value: RegionTextSelectorRange): number;
5378
+ lift(value: UniffiByteArray): RegionTextSelectorRange;
5379
+ lower(value: RegionTextSelectorRange, alloc: RustBufferAllocator): UniffiByteArray;
5380
+ };
5381
+ FfiConverterTypeRegionUnit: {
5382
+ readFromCursor(c: Cursor): RegionUnit;
5383
+ writeIntoCursor(value: RegionUnit, c: Cursor): void;
5384
+ allocationSize(value: RegionUnit): number;
5385
+ lift(value: UniffiByteArray): RegionUnit;
5386
+ lower(value: RegionUnit, alloc: RustBufferAllocator): UniffiByteArray;
5387
+ };
4843
5388
  FfiConverterTypeRelationship: {
4844
5389
  readFromCursor(c: Cursor): Relationship;
4845
5390
  writeIntoCursor(value: Relationship, c: Cursor): void;
@@ -4997,13 +5542,6 @@ declare const _default$1: Readonly<{
4997
5542
  lift(value: UniffiByteArray): TimeType;
4998
5543
  lower(value: TimeType, alloc: RustBufferAllocator): UniffiByteArray;
4999
5544
  };
5000
- FfiConverterTypeTimespan: {
5001
- readFromCursor(c: Cursor): Timespan;
5002
- writeIntoCursor(value: Timespan, c: Cursor): void;
5003
- allocationSize(value: Timespan): number;
5004
- lift(value: UniffiByteArray): Timespan;
5005
- lower(value: Timespan, alloc: RustBufferAllocator): UniffiByteArray;
5006
- };
5007
5545
  FfiConverterTypeTrust: {
5008
5546
  readFromCursor(c: Cursor): Trust;
5009
5547
  writeIntoCursor(value: Trust, c: Cursor): void;