@trylimbo/sdk-issuer 0.2.25-canary.37 → 0.2.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/gen/ffi/index.d.ts +730 -646
- package/gen/ffi/index.js +887 -794
- package/gen/grpc/buf/validate/validate_pb.d.ts +24 -30
- package/gen/grpc/buf/validate/validate_pb.js +2 -2
- package/gen/grpc/trylimbo/signer/v2/signer_pb.d.ts +799 -659
- package/gen/grpc/trylimbo/signer/v2/signer_pb.js +185 -175
- package/gen/grpc/trylimbo/version/v1/version_pb.d.ts +59 -0
- package/gen/grpc/trylimbo/version/v1/version_pb.js +32 -0
- package/package.json +3 -3
package/gen/ffi/index.d.ts
CHANGED
|
@@ -181,12 +181,13 @@ declare const pointerLiteralSymbol: unique symbol;
|
|
|
181
181
|
*/
|
|
182
182
|
declare const uniffiTypeNameSymbol: unique symbol;
|
|
183
183
|
declare namespace trylimbo_issuer_d_exports {
|
|
184
|
-
export { Action, ActionDetail, ActionKind, ActionKind_Tags, Action_Tags, Assertion, AssetDelivery, AssetDelivery_Tags, AssetIssuer, AssetIssuerInterface, AssetIssuerLike, AssetManifestSpec, AssetMarker, AssetMarkerInterface, AssetMarkerLike, AssetOrigin, AssetOrigin_Tags,
|
|
184
|
+
export { Action, ActionDetail, ActionKind, ActionKind_Tags, Action_Tags, Assertion, AssetDelivery, AssetDelivery_Tags, AssetFormat, AssetFormat_Tags, AssetIssuer, AssetIssuerInterface, AssetIssuerLike, AssetManifestSpec, AssetMarker, AssetMarkerInterface, AssetMarkerLike, AssetOrigin, AssetOrigin_Tags, Binder, BinderImpl, Code, Component, ComponentEvent, ComponentEvent_Tags, ConnectOptions, CreatedOrigin, CustomAction, DeriveOptions, EmbedOptions, FieldViolation, FileSink, FileSinkInterface, FileSinkLike, FileSource, FileSourceInterface, FileSourceLike, HeldBinder, HeldBinderInterface, HeldBinderLike, Identity, Ingredient, IngredientSource, IngredientSource_Tags, InitOptions, InitOutcome, IsccBinder, IsccBinderInterface, IsccBinderLike, JsonObject, JsonValue, MarkOptions, MarkOutcome, MemorySink, MemorySinkInterface, MemorySinkLike, MemorySource, MemorySourceInterface, MemorySourceLike, OpenedOrigin, Origin, Origin_Tags, PluginAuthor, RangeSink, RangeSinkImpl, RangeSource, RangeSourceImpl, Region, RotationPolicy, SdkError, SdkError_Tags, SegmentKind, SegmentOutcome, SignOptions, SignOutcome, SignOutput, SignOutput_Tags, SignerClient, SignerClientInterface, SignerClientLike, SigningVault, SoftBinding, StandardAction, StreamDelivery, StreamDelivery_Tags, StreamIssuer, StreamIssuerInterface, StreamIssuerLike, StreamManifestSpec, StreamSession, StreamSessionInterface, StreamSessionLike, StreamStart, Thumbnail, Timestamp, Url, VaultPublicKey, classifySegment, _default$1 as default, embed };
|
|
185
185
|
}
|
|
186
186
|
/**
|
|
187
|
-
* Classify a fragmented-MP4 segment
|
|
188
|
-
*
|
|
189
|
-
*
|
|
187
|
+
* Classify a fragmented-MP4 segment from a [`RangeSource`] as init/media/unknown: the
|
|
188
|
+
* SDK-owned box parse (`moov` vs `moof`) a streaming consumer uses to route each segment
|
|
189
|
+
* to [`StreamIssuer::init`](stream::StreamIssuer::init) vs
|
|
190
|
+
* [`StreamSession::sign`](stream::StreamSession::sign) without hand-parsing ISOBMFF itself.
|
|
190
191
|
*
|
|
191
192
|
* Async because it reads, and reading is the caller's storage: the two windows below may each
|
|
192
193
|
* be a round trip. It stays off the island, uniquely among the read-path entry points, because
|
|
@@ -201,22 +202,22 @@ export declare function classifySegment(source: RangeSource, asyncOpts_?: {
|
|
|
201
202
|
signal: AbortSignal;
|
|
202
203
|
}): Promise<SegmentKind>;
|
|
203
204
|
/**
|
|
204
|
-
*
|
|
205
|
-
* the
|
|
205
|
+
* Embed a signed manifest into an asset, writing the composed result back through
|
|
206
|
+
* `sink`. `plugins` are the caller's plugins for non-c2pa formats (e.g. MXF), in dispatch
|
|
207
|
+
* order, resolved the same way [`AssetIssuer::sign`](asset::AssetIssuer::sign) resolves
|
|
208
|
+
* them, per [the `plugins` contract](crate::asset#the-plugins-contract): the write lands on a
|
|
209
|
+
* bounded region for a plugin match, on the whole (small) asset otherwise; an empty list is
|
|
210
|
+
* a c2pa-native embed. `format` overrides the sniffed format. Pure local byte-wrangling: no
|
|
211
|
+
* signer round-trip.
|
|
206
212
|
*
|
|
207
|
-
* #
|
|
213
|
+
* # Why the body is offloaded rather than run inline
|
|
208
214
|
*
|
|
209
|
-
*
|
|
210
|
-
*
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
/**
|
|
216
|
-
* Embed `sidecar`, the signed manifest a sign returned, into the asset `sink` holds, writing the
|
|
217
|
-
* composed result back through `sink`.
|
|
218
|
-
* `plugins` resolve a non-c2pa format (e.g. MXF) as `AssetIssuer.sign` resolves them; none is a
|
|
219
|
-
* c2pa-native embed. No signer round trip.
|
|
215
|
+
* UniFFI polls a future on the thread that called it and never spawns, so an `async fn` whose
|
|
216
|
+
* body never suspends completes in its first poll, on the caller's thread, blocking it exactly
|
|
217
|
+
* as a sync export would: measured at 88ms for a 10MB asset on Node, during which nothing else
|
|
218
|
+
* in the process runs. It is also the read path's hard requirement, not just a courtesy: the
|
|
219
|
+
* splice reads through `sink`, and the caller's thread is the one that has to answer those
|
|
220
|
+
* reads. See [`task`](shared::task).
|
|
220
221
|
*
|
|
221
222
|
* # Errors
|
|
222
223
|
*
|
|
@@ -224,37 +225,31 @@ export declare function computeSoftBinding(alg: string, source: RangeSource, for
|
|
|
224
225
|
* authoring/`locate` disagrees after the write, or the c2pa handler can't
|
|
225
226
|
* parse/splice the asset.
|
|
226
227
|
*/
|
|
227
|
-
export declare function embed(sink: RangeSink,
|
|
228
|
+
export declare function embed(sink: RangeSink, manifest: ArrayBuffer, options: EmbedOptions, plugins: Array<PluginAuthor>, asyncOpts_?: {
|
|
228
229
|
signal: AbortSignal;
|
|
229
230
|
}): Promise<void>;
|
|
230
231
|
/**
|
|
231
|
-
*
|
|
232
|
-
|
|
233
|
-
export type SoftwareAgent = {
|
|
234
|
-
name: string;
|
|
235
|
-
};
|
|
236
|
-
/**
|
|
237
|
-
* Generated factory for {@link SoftwareAgent} record objects.
|
|
232
|
+
* Typealias from the type name used in the UDL file to the builtin type. This
|
|
233
|
+
* is needed because the UDL type name is used in function/method signatures.
|
|
238
234
|
*/
|
|
239
|
-
export
|
|
240
|
-
create: (partial: Partial<SoftwareAgent> & Required<Omit<SoftwareAgent, never>>) => SoftwareAgent;
|
|
241
|
-
new: (partial: Partial<SoftwareAgent> & Required<Omit<SoftwareAgent, never>>) => SoftwareAgent;
|
|
242
|
-
defaults: () => Partial<SoftwareAgent>;
|
|
243
|
-
}>;
|
|
235
|
+
export type Timestamp = string;
|
|
244
236
|
/**
|
|
245
237
|
* Typealias from the type name used in the UDL file to the builtin type. This
|
|
246
238
|
* is needed because the UDL type name is used in function/method signatures.
|
|
247
239
|
*/
|
|
248
240
|
export type Url = string;
|
|
249
241
|
/**
|
|
250
|
-
*
|
|
242
|
+
* Optional facts folded into a derived or workflow action.
|
|
251
243
|
*/
|
|
252
244
|
export type ActionDetail = {
|
|
253
|
-
|
|
254
|
-
|
|
245
|
+
/**
|
|
246
|
+
* When the action happened.
|
|
247
|
+
*/
|
|
248
|
+
when?: Timestamp;
|
|
249
|
+
softwareAgent?: string;
|
|
255
250
|
description?: string;
|
|
256
251
|
/**
|
|
257
|
-
* The URI
|
|
252
|
+
* The URI its term is published at, e.g.
|
|
258
253
|
* `http://cv.iptc.org/newscodes/digitalsourcetype/digitalCapture`.
|
|
259
254
|
*/
|
|
260
255
|
sourceType?: Url;
|
|
@@ -292,28 +287,30 @@ export declare const Assertion: Readonly<{
|
|
|
292
287
|
defaults: () => Partial<Assertion>;
|
|
293
288
|
}>;
|
|
294
289
|
/**
|
|
295
|
-
* The asset is an original; the signer derives `c2pa.created
|
|
290
|
+
* The asset is an original; the signer derives `c2pa.created`.
|
|
296
291
|
*/
|
|
297
292
|
export type CreatedOrigin = {
|
|
298
293
|
/**
|
|
299
|
-
* The URI
|
|
294
|
+
* The URI its term is published at, e.g.
|
|
300
295
|
* `http://cv.iptc.org/newscodes/digitalsourcetype/digitalCapture`.
|
|
301
296
|
*/
|
|
302
297
|
sourceType: Url;
|
|
303
|
-
|
|
304
|
-
softwareAgent?: SoftwareAgent;
|
|
305
|
-
description?: string;
|
|
298
|
+
detail?: ActionDetail;
|
|
306
299
|
};
|
|
307
300
|
/**
|
|
308
301
|
* Generated factory for {@link CreatedOrigin} record objects.
|
|
309
302
|
*/
|
|
310
303
|
export declare const CreatedOrigin: Readonly<{
|
|
311
|
-
create: (partial: Partial<CreatedOrigin> & Required<Omit<CreatedOrigin, "
|
|
312
|
-
new: (partial: Partial<CreatedOrigin> & Required<Omit<CreatedOrigin, "
|
|
304
|
+
create: (partial: Partial<CreatedOrigin> & Required<Omit<CreatedOrigin, "detail">>) => CreatedOrigin;
|
|
305
|
+
new: (partial: Partial<CreatedOrigin> & Required<Omit<CreatedOrigin, "detail">>) => CreatedOrigin;
|
|
313
306
|
defaults: () => Partial<CreatedOrigin>;
|
|
314
307
|
}>;
|
|
315
308
|
/**
|
|
316
309
|
* A canonical gRPC/Connect status code: the coarse, closed failure class.
|
|
310
|
+
*
|
|
311
|
+
* The wasm lane projects this as a camelCase string like every other tagged value
|
|
312
|
+
* there, so a consumer narrows on `err.code === "resourceExhausted"`; the native lane
|
|
313
|
+
* projects an enum.
|
|
317
314
|
*/
|
|
318
315
|
export declare enum Code {
|
|
319
316
|
Canceled = 0,
|
|
@@ -338,9 +335,7 @@ export declare enum Code {
|
|
|
338
335
|
*/
|
|
339
336
|
export type FieldViolation = {
|
|
340
337
|
/**
|
|
341
|
-
*
|
|
342
|
-
* (`options.soft_bindings[1].alg`), at the request when a service does
|
|
343
|
-
* (`provenance.actions[0].label`).
|
|
338
|
+
* A dotted proto path to the offending field (`""` for a message-level rule).
|
|
344
339
|
*/
|
|
345
340
|
field: string;
|
|
346
341
|
/**
|
|
@@ -348,7 +343,7 @@ export type FieldViolation = {
|
|
|
348
343
|
*/
|
|
349
344
|
description: string;
|
|
350
345
|
/**
|
|
351
|
-
* The
|
|
346
|
+
* The constraint id that failed (a protovalidate/CEL rule id), stable across releases.
|
|
352
347
|
*/
|
|
353
348
|
reason: string;
|
|
354
349
|
};
|
|
@@ -759,56 +754,122 @@ export declare class RangeSourceImpl extends UniffiAbstractObject implements Ran
|
|
|
759
754
|
uniffiDestroy(): void;
|
|
760
755
|
static instanceOf(obj_: any): obj_ is RangeSourceImpl;
|
|
761
756
|
}
|
|
762
|
-
export declare enum
|
|
763
|
-
|
|
764
|
-
|
|
757
|
+
export declare enum AssetFormat_Tags {
|
|
758
|
+
Sniff = "Sniff",
|
|
759
|
+
Declared = "Declared"
|
|
765
760
|
}
|
|
766
761
|
/**
|
|
767
|
-
*
|
|
762
|
+
* The format of the asset a call is handed. Stated, never defaulted: sniffing is a choice the
|
|
763
|
+
* caller makes by name, not what happens when they say nothing.
|
|
764
|
+
*/
|
|
765
|
+
export declare const AssetFormat: Readonly<{
|
|
766
|
+
instanceOf: (obj: any) => obj is AssetFormat;
|
|
767
|
+
Sniff: {
|
|
768
|
+
new (): {
|
|
769
|
+
/**
|
|
770
|
+
* @private
|
|
771
|
+
* This field is private and should not be used, use `tag` instead.
|
|
772
|
+
*/
|
|
773
|
+
readonly [uniffiTypeNameSymbol]: "AssetFormat";
|
|
774
|
+
readonly tag: AssetFormat_Tags.Sniff;
|
|
775
|
+
};
|
|
776
|
+
"new"(): {
|
|
777
|
+
/**
|
|
778
|
+
* @private
|
|
779
|
+
* This field is private and should not be used, use `tag` instead.
|
|
780
|
+
*/
|
|
781
|
+
readonly [uniffiTypeNameSymbol]: "AssetFormat";
|
|
782
|
+
readonly tag: AssetFormat_Tags.Sniff;
|
|
783
|
+
};
|
|
784
|
+
instanceOf(obj: any): obj is {
|
|
785
|
+
/**
|
|
786
|
+
* @private
|
|
787
|
+
* This field is private and should not be used, use `tag` instead.
|
|
788
|
+
*/
|
|
789
|
+
readonly [uniffiTypeNameSymbol]: "AssetFormat";
|
|
790
|
+
readonly tag: AssetFormat_Tags.Sniff;
|
|
791
|
+
};
|
|
792
|
+
};
|
|
793
|
+
Declared: {
|
|
794
|
+
new (inner: {
|
|
795
|
+
mediaType: string;
|
|
796
|
+
}): {
|
|
797
|
+
/**
|
|
798
|
+
* @private
|
|
799
|
+
* This field is private and should not be used, use `tag` instead.
|
|
800
|
+
*/
|
|
801
|
+
readonly [uniffiTypeNameSymbol]: "AssetFormat";
|
|
802
|
+
readonly tag: AssetFormat_Tags.Declared;
|
|
803
|
+
readonly inner: Readonly<{
|
|
804
|
+
mediaType: string;
|
|
805
|
+
}>;
|
|
806
|
+
};
|
|
807
|
+
"new"(inner: {
|
|
808
|
+
mediaType: string;
|
|
809
|
+
}): {
|
|
810
|
+
/**
|
|
811
|
+
* @private
|
|
812
|
+
* This field is private and should not be used, use `tag` instead.
|
|
813
|
+
*/
|
|
814
|
+
readonly [uniffiTypeNameSymbol]: "AssetFormat";
|
|
815
|
+
readonly tag: AssetFormat_Tags.Declared;
|
|
816
|
+
readonly inner: Readonly<{
|
|
817
|
+
mediaType: string;
|
|
818
|
+
}>;
|
|
819
|
+
};
|
|
820
|
+
instanceOf(obj: any): obj is {
|
|
821
|
+
/**
|
|
822
|
+
* @private
|
|
823
|
+
* This field is private and should not be used, use `tag` instead.
|
|
824
|
+
*/
|
|
825
|
+
readonly [uniffiTypeNameSymbol]: "AssetFormat";
|
|
826
|
+
readonly tag: AssetFormat_Tags.Declared;
|
|
827
|
+
readonly inner: Readonly<{
|
|
828
|
+
mediaType: string;
|
|
829
|
+
}>;
|
|
830
|
+
};
|
|
831
|
+
};
|
|
832
|
+
}>;
|
|
833
|
+
/**
|
|
834
|
+
* The format of the asset a call is handed. Stated, never defaulted: sniffing is a choice the
|
|
835
|
+
* caller makes by name, not what happens when they say nothing.
|
|
768
836
|
*/
|
|
769
|
-
export
|
|
770
|
-
|
|
837
|
+
export type AssetFormat = InstanceType<typeof AssetFormat['Sniff' | 'Declared']>;
|
|
838
|
+
export declare enum IngredientSource_Tags {
|
|
839
|
+
Asset = "Asset",
|
|
840
|
+
Descriptor = "Descriptor"
|
|
841
|
+
}
|
|
842
|
+
export declare const IngredientSource: Readonly<{
|
|
843
|
+
instanceOf: (obj: any) => obj is IngredientSource;
|
|
771
844
|
Asset: {
|
|
772
845
|
new (inner: {
|
|
773
846
|
source: RangeSource;
|
|
774
|
-
format
|
|
775
|
-
discoveredBy: Array<string>;
|
|
847
|
+
format: AssetFormat;
|
|
776
848
|
}): {
|
|
777
849
|
/**
|
|
778
850
|
* @private
|
|
779
851
|
* This field is private and should not be used, use `tag` instead.
|
|
780
852
|
*/
|
|
781
|
-
readonly [uniffiTypeNameSymbol]: "
|
|
782
|
-
readonly tag:
|
|
853
|
+
readonly [uniffiTypeNameSymbol]: "IngredientSource";
|
|
854
|
+
readonly tag: IngredientSource_Tags.Asset;
|
|
783
855
|
readonly inner: Readonly<{
|
|
784
856
|
source: RangeSource;
|
|
785
|
-
format
|
|
786
|
-
discoveredBy: Array<string>;
|
|
857
|
+
format: AssetFormat;
|
|
787
858
|
}>;
|
|
788
859
|
};
|
|
789
|
-
new
|
|
790
|
-
source: RangeSource;
|
|
791
|
-
format?: string;
|
|
792
|
-
discoveredBy: Array<string>;
|
|
793
|
-
}> & Required<Omit<{
|
|
794
|
-
source: RangeSource;
|
|
795
|
-
format?: string;
|
|
796
|
-
discoveredBy: Array<string>;
|
|
797
|
-
}, "discoveredBy" | "format">>) => {
|
|
860
|
+
"new"(inner: {
|
|
798
861
|
source: RangeSource;
|
|
799
|
-
format
|
|
800
|
-
|
|
801
|
-
}>[0]) => {
|
|
862
|
+
format: AssetFormat;
|
|
863
|
+
}): {
|
|
802
864
|
/**
|
|
803
865
|
* @private
|
|
804
866
|
* This field is private and should not be used, use `tag` instead.
|
|
805
867
|
*/
|
|
806
|
-
readonly [uniffiTypeNameSymbol]: "
|
|
807
|
-
readonly tag:
|
|
868
|
+
readonly [uniffiTypeNameSymbol]: "IngredientSource";
|
|
869
|
+
readonly tag: IngredientSource_Tags.Asset;
|
|
808
870
|
readonly inner: Readonly<{
|
|
809
871
|
source: RangeSource;
|
|
810
|
-
format
|
|
811
|
-
discoveredBy: Array<string>;
|
|
872
|
+
format: AssetFormat;
|
|
812
873
|
}>;
|
|
813
874
|
};
|
|
814
875
|
instanceOf(obj: any): obj is {
|
|
@@ -816,40 +877,43 @@ export declare const IngredientKind: Readonly<{
|
|
|
816
877
|
* @private
|
|
817
878
|
* This field is private and should not be used, use `tag` instead.
|
|
818
879
|
*/
|
|
819
|
-
readonly [uniffiTypeNameSymbol]: "
|
|
820
|
-
readonly tag:
|
|
880
|
+
readonly [uniffiTypeNameSymbol]: "IngredientSource";
|
|
881
|
+
readonly tag: IngredientSource_Tags.Asset;
|
|
821
882
|
readonly inner: Readonly<{
|
|
822
883
|
source: RangeSource;
|
|
823
|
-
format
|
|
824
|
-
discoveredBy: Array<string>;
|
|
884
|
+
format: AssetFormat;
|
|
825
885
|
}>;
|
|
826
886
|
};
|
|
827
887
|
};
|
|
828
888
|
Descriptor: {
|
|
829
889
|
new (inner: {
|
|
830
|
-
format
|
|
890
|
+
format?: string;
|
|
831
891
|
}): {
|
|
832
892
|
/**
|
|
833
893
|
* @private
|
|
834
894
|
* This field is private and should not be used, use `tag` instead.
|
|
835
895
|
*/
|
|
836
|
-
readonly [uniffiTypeNameSymbol]: "
|
|
837
|
-
readonly tag:
|
|
896
|
+
readonly [uniffiTypeNameSymbol]: "IngredientSource";
|
|
897
|
+
readonly tag: IngredientSource_Tags.Descriptor;
|
|
838
898
|
readonly inner: Readonly<{
|
|
839
|
-
format
|
|
899
|
+
format?: string;
|
|
840
900
|
}>;
|
|
841
901
|
};
|
|
842
|
-
|
|
843
|
-
format
|
|
844
|
-
}
|
|
902
|
+
new: (partial: Parameters<(partial: Partial<{
|
|
903
|
+
format?: string;
|
|
904
|
+
}> & Required<Omit<{
|
|
905
|
+
format?: string;
|
|
906
|
+
}, "format">>) => {
|
|
907
|
+
format?: string;
|
|
908
|
+
}>[0]) => {
|
|
845
909
|
/**
|
|
846
910
|
* @private
|
|
847
911
|
* This field is private and should not be used, use `tag` instead.
|
|
848
912
|
*/
|
|
849
|
-
readonly [uniffiTypeNameSymbol]: "
|
|
850
|
-
readonly tag:
|
|
913
|
+
readonly [uniffiTypeNameSymbol]: "IngredientSource";
|
|
914
|
+
readonly tag: IngredientSource_Tags.Descriptor;
|
|
851
915
|
readonly inner: Readonly<{
|
|
852
|
-
format
|
|
916
|
+
format?: string;
|
|
853
917
|
}>;
|
|
854
918
|
};
|
|
855
919
|
instanceOf(obj: any): obj is {
|
|
@@ -857,18 +921,15 @@ export declare const IngredientKind: Readonly<{
|
|
|
857
921
|
* @private
|
|
858
922
|
* This field is private and should not be used, use `tag` instead.
|
|
859
923
|
*/
|
|
860
|
-
readonly [uniffiTypeNameSymbol]: "
|
|
861
|
-
readonly tag:
|
|
924
|
+
readonly [uniffiTypeNameSymbol]: "IngredientSource";
|
|
925
|
+
readonly tag: IngredientSource_Tags.Descriptor;
|
|
862
926
|
readonly inner: Readonly<{
|
|
863
|
-
format
|
|
927
|
+
format?: string;
|
|
864
928
|
}>;
|
|
865
929
|
};
|
|
866
930
|
};
|
|
867
931
|
}>;
|
|
868
|
-
|
|
869
|
-
* What an ingredient is: an asset whose manifest is read, or a description.
|
|
870
|
-
*/
|
|
871
|
-
export type IngredientKind = InstanceType<typeof IngredientKind['Asset' | 'Descriptor']>;
|
|
932
|
+
export type IngredientSource = InstanceType<typeof IngredientSource['Asset' | 'Descriptor']>;
|
|
872
933
|
/**
|
|
873
934
|
* A pre-rendered thumbnail, attached to the manifest as its `c2pa.thumbnail.claim` resource or
|
|
874
935
|
* to an ingredient as its `c2pa.thumbnail.ingredient`. The split-signer has no asset bytes to
|
|
@@ -878,23 +939,24 @@ export type IngredientKind = InstanceType<typeof IngredientKind['Asset' | 'Descr
|
|
|
878
939
|
export type Thumbnail = {
|
|
879
940
|
data: ArrayBuffer;
|
|
880
941
|
/**
|
|
881
|
-
*
|
|
882
|
-
*
|
|
942
|
+
* MIME type. `image/jpeg` and `image/png` are the interop-safe choices: consumer
|
|
943
|
+
* verifiers like Adobe inspect may not render other previews.
|
|
883
944
|
*/
|
|
884
|
-
format
|
|
945
|
+
format: string;
|
|
885
946
|
};
|
|
886
947
|
/**
|
|
887
948
|
* Generated factory for {@link Thumbnail} record objects.
|
|
888
949
|
*/
|
|
889
950
|
export declare const Thumbnail: Readonly<{
|
|
890
|
-
create: (partial: Partial<Thumbnail> & Required<Omit<Thumbnail,
|
|
891
|
-
new: (partial: Partial<Thumbnail> & Required<Omit<Thumbnail,
|
|
951
|
+
create: (partial: Partial<Thumbnail> & Required<Omit<Thumbnail, never>>) => Thumbnail;
|
|
952
|
+
new: (partial: Partial<Thumbnail> & Required<Omit<Thumbnail, never>>) => Thumbnail;
|
|
892
953
|
defaults: () => Partial<Thumbnail>;
|
|
893
954
|
}>;
|
|
894
955
|
export type Ingredient = {
|
|
895
|
-
|
|
956
|
+
source: IngredientSource;
|
|
896
957
|
title?: string;
|
|
897
958
|
thumbnail?: Thumbnail;
|
|
959
|
+
discoveredBy: Array<string>;
|
|
898
960
|
};
|
|
899
961
|
/**
|
|
900
962
|
* Generated factory for {@link Ingredient} record objects.
|
|
@@ -1032,15 +1094,15 @@ export type AssetOrigin = InstanceType<typeof AssetOrigin['Created' | 'Opened' |
|
|
|
1032
1094
|
*/
|
|
1033
1095
|
export type JsonObject = string;
|
|
1034
1096
|
/**
|
|
1035
|
-
* An entity-namespaced action
|
|
1036
|
-
*
|
|
1097
|
+
* An entity-namespaced action (reverse-DNS `label`; the signer rejects
|
|
1098
|
+
* `c2pa.*`/`cawg.*`). `params` merges into the action's `parameters`.
|
|
1037
1099
|
*/
|
|
1038
1100
|
export type CustomAction = {
|
|
1039
1101
|
label: string;
|
|
1040
|
-
|
|
1102
|
+
params: JsonObject;
|
|
1041
1103
|
detail?: ActionDetail;
|
|
1042
1104
|
/**
|
|
1043
|
-
*
|
|
1105
|
+
* `Component.id`s this action acted on.
|
|
1044
1106
|
*/
|
|
1045
1107
|
componentIds: Array<string>;
|
|
1046
1108
|
};
|
|
@@ -1048,62 +1110,13 @@ export type CustomAction = {
|
|
|
1048
1110
|
* Generated factory for {@link CustomAction} record objects.
|
|
1049
1111
|
*/
|
|
1050
1112
|
export declare const CustomAction: Readonly<{
|
|
1051
|
-
create: (partial: Partial<CustomAction> & Required<Omit<CustomAction, "
|
|
1052
|
-
new: (partial: Partial<CustomAction> & Required<Omit<CustomAction, "
|
|
1113
|
+
create: (partial: Partial<CustomAction> & Required<Omit<CustomAction, "detail">>) => CustomAction;
|
|
1114
|
+
new: (partial: Partial<CustomAction> & Required<Omit<CustomAction, "detail">>) => CustomAction;
|
|
1053
1115
|
defaults: () => Partial<CustomAction>;
|
|
1054
1116
|
}>;
|
|
1055
|
-
/**
|
|
1056
|
-
* A `soft-binding-timespan-map`: where the range starts in the media and how long it lasts, in
|
|
1057
|
-
* whole milliseconds.
|
|
1058
|
-
*/
|
|
1059
|
-
export type Timespan = {
|
|
1060
|
-
start: number;
|
|
1061
|
-
duration: number;
|
|
1062
|
-
};
|
|
1063
|
-
/**
|
|
1064
|
-
* Generated factory for {@link Timespan} record objects.
|
|
1065
|
-
*/
|
|
1066
|
-
export declare const Timespan: Readonly<{
|
|
1067
|
-
create: (partial: Partial<Timespan> & Required<Omit<Timespan, never>>) => Timespan;
|
|
1068
|
-
new: (partial: Partial<Timespan> & Required<Omit<Timespan, never>>) => Timespan;
|
|
1069
|
-
defaults: () => Partial<Timespan>;
|
|
1070
|
-
}>;
|
|
1071
|
-
/**
|
|
1072
|
-
* A `soft-binding-scope-map`: where in the content a value applies. Empty is the whole content.
|
|
1073
|
-
*/
|
|
1074
|
-
export type Scope = {
|
|
1075
|
-
timespan?: Timespan;
|
|
1076
|
-
};
|
|
1077
|
-
/**
|
|
1078
|
-
* Generated factory for {@link Scope} record objects.
|
|
1079
|
-
*/
|
|
1080
|
-
export declare const Scope: Readonly<{
|
|
1081
|
-
create: (partial: Partial<Scope> & Required<Omit<Scope, "timespan">>) => Scope;
|
|
1082
|
-
new: (partial: Partial<Scope> & Required<Omit<Scope, "timespan">>) => Scope;
|
|
1083
|
-
defaults: () => Partial<Scope>;
|
|
1084
|
-
}>;
|
|
1085
|
-
/**
|
|
1086
|
-
* A `soft-binding-block-map`.
|
|
1087
|
-
*/
|
|
1088
|
-
export type Block = {
|
|
1089
|
-
value: ArrayBuffer;
|
|
1090
|
-
scope: Scope;
|
|
1091
|
-
};
|
|
1092
|
-
/**
|
|
1093
|
-
* Generated factory for {@link Block} record objects.
|
|
1094
|
-
*/
|
|
1095
|
-
export declare const Block: Readonly<{
|
|
1096
|
-
create: (partial: Partial<Block> & Required<Omit<Block, "scope">>) => Block;
|
|
1097
|
-
new: (partial: Partial<Block> & Required<Omit<Block, "scope">>) => Block;
|
|
1098
|
-
defaults: () => Partial<Block>;
|
|
1099
|
-
}>;
|
|
1100
|
-
/**
|
|
1101
|
-
* One `c2pa.soft-binding` assertion (C2PA 2.4 18.10.3): a listed algorithm and its values, one
|
|
1102
|
-
* per block.
|
|
1103
|
-
*/
|
|
1104
1117
|
export type SoftBinding = {
|
|
1105
1118
|
alg: string;
|
|
1106
|
-
|
|
1119
|
+
value: string;
|
|
1107
1120
|
};
|
|
1108
1121
|
/**
|
|
1109
1122
|
* Generated factory for {@link SoftBinding} record objects.
|
|
@@ -1136,12 +1149,13 @@ export declare enum ActionKind_Tags {
|
|
|
1136
1149
|
ResizedProportional = "ResizedProportional",
|
|
1137
1150
|
Transcoded = "Transcoded",
|
|
1138
1151
|
Trimmed = "Trimmed",
|
|
1152
|
+
Unknown = "Unknown",
|
|
1139
1153
|
WatermarkedBound = "WatermarkedBound",
|
|
1140
1154
|
WatermarkedUnbound = "WatermarkedUnbound"
|
|
1141
1155
|
}
|
|
1142
1156
|
/**
|
|
1143
|
-
* The C2PA 2.
|
|
1144
|
-
* Mirrored for the one variant that carries a binding, which crosses as the
|
|
1157
|
+
* The C2PA 2.3 workflow actions; see the core [`provenance::ActionKind`] for what each is.
|
|
1158
|
+
* Mirrored for the one variant that carries a binding, which crosses as the two-string record.
|
|
1145
1159
|
*/
|
|
1146
1160
|
export declare const ActionKind: Readonly<{
|
|
1147
1161
|
instanceOf: (obj: any) => obj is ActionKind;
|
|
@@ -1717,6 +1731,32 @@ export declare const ActionKind: Readonly<{
|
|
|
1717
1731
|
readonly tag: ActionKind_Tags.Trimmed;
|
|
1718
1732
|
};
|
|
1719
1733
|
};
|
|
1734
|
+
Unknown: {
|
|
1735
|
+
new (): {
|
|
1736
|
+
/**
|
|
1737
|
+
* @private
|
|
1738
|
+
* This field is private and should not be used, use `tag` instead.
|
|
1739
|
+
*/
|
|
1740
|
+
readonly [uniffiTypeNameSymbol]: "ActionKind";
|
|
1741
|
+
readonly tag: ActionKind_Tags.Unknown;
|
|
1742
|
+
};
|
|
1743
|
+
"new"(): {
|
|
1744
|
+
/**
|
|
1745
|
+
* @private
|
|
1746
|
+
* This field is private and should not be used, use `tag` instead.
|
|
1747
|
+
*/
|
|
1748
|
+
readonly [uniffiTypeNameSymbol]: "ActionKind";
|
|
1749
|
+
readonly tag: ActionKind_Tags.Unknown;
|
|
1750
|
+
};
|
|
1751
|
+
instanceOf(obj: any): obj is {
|
|
1752
|
+
/**
|
|
1753
|
+
* @private
|
|
1754
|
+
* This field is private and should not be used, use `tag` instead.
|
|
1755
|
+
*/
|
|
1756
|
+
readonly [uniffiTypeNameSymbol]: "ActionKind";
|
|
1757
|
+
readonly tag: ActionKind_Tags.Unknown;
|
|
1758
|
+
};
|
|
1759
|
+
};
|
|
1720
1760
|
WatermarkedBound: {
|
|
1721
1761
|
new (inner: {
|
|
1722
1762
|
binding: SoftBinding;
|
|
@@ -1784,10 +1824,10 @@ export declare const ActionKind: Readonly<{
|
|
|
1784
1824
|
};
|
|
1785
1825
|
}>;
|
|
1786
1826
|
/**
|
|
1787
|
-
* The C2PA 2.
|
|
1788
|
-
* Mirrored for the one variant that carries a binding, which crosses as the
|
|
1827
|
+
* The C2PA 2.3 workflow actions; see the core [`provenance::ActionKind`] for what each is.
|
|
1828
|
+
* Mirrored for the one variant that carries a binding, which crosses as the two-string record.
|
|
1789
1829
|
*/
|
|
1790
|
-
export type ActionKind = InstanceType<typeof ActionKind['AddedText' | 'AdjustedColor' | 'ChangedSpeed' | 'Converted' | 'Cropped' | 'Deleted' | 'Drawing' | 'Dubbed' | 'Edited' | 'EditedMetadata' | 'Enhanced' | 'Filtered' | 'Mastered' | 'Mixed' | 'Orientation' | 'Published' | 'Remixed' | 'Repackaged' | 'Resized' | 'ResizedProportional' | 'Transcoded' | 'Trimmed' | 'WatermarkedBound' | 'WatermarkedUnbound']>;
|
|
1830
|
+
export type ActionKind = InstanceType<typeof ActionKind['AddedText' | 'AdjustedColor' | 'ChangedSpeed' | 'Converted' | 'Cropped' | 'Deleted' | 'Drawing' | 'Dubbed' | 'Edited' | 'EditedMetadata' | 'Enhanced' | 'Filtered' | 'Mastered' | 'Mixed' | 'Orientation' | 'Published' | 'Remixed' | 'Repackaged' | 'Resized' | 'ResizedProportional' | 'Transcoded' | 'Trimmed' | 'Unknown' | 'WatermarkedBound' | 'WatermarkedUnbound']>;
|
|
1791
1831
|
export type StandardAction = {
|
|
1792
1832
|
kind: ActionKind;
|
|
1793
1833
|
detail?: ActionDetail;
|
|
@@ -1797,8 +1837,8 @@ export type StandardAction = {
|
|
|
1797
1837
|
* Generated factory for {@link StandardAction} record objects.
|
|
1798
1838
|
*/
|
|
1799
1839
|
export declare const StandardAction: Readonly<{
|
|
1800
|
-
create: (partial: Partial<StandardAction> & Required<Omit<StandardAction, "
|
|
1801
|
-
new: (partial: Partial<StandardAction> & Required<Omit<StandardAction, "
|
|
1840
|
+
create: (partial: Partial<StandardAction> & Required<Omit<StandardAction, "detail">>) => StandardAction;
|
|
1841
|
+
new: (partial: Partial<StandardAction> & Required<Omit<StandardAction, "detail">>) => StandardAction;
|
|
1802
1842
|
defaults: () => Partial<StandardAction>;
|
|
1803
1843
|
}>;
|
|
1804
1844
|
export declare enum Action_Tags {
|
|
@@ -1868,7 +1908,8 @@ export declare const Action: Readonly<{
|
|
|
1868
1908
|
}>;
|
|
1869
1909
|
export type Action = InstanceType<typeof Action['Custom' | 'Standard']>;
|
|
1870
1910
|
/**
|
|
1871
|
-
*
|
|
1911
|
+
* Pass `None` to skip the CAWG identity signing path entirely. Each entry of `identities` is
|
|
1912
|
+
* one CAWG `VerifiedIdentity` object.
|
|
1872
1913
|
*/
|
|
1873
1914
|
export type Identity = {
|
|
1874
1915
|
roles: Array<string>;
|
|
@@ -1878,8 +1919,8 @@ export type Identity = {
|
|
|
1878
1919
|
* Generated factory for {@link Identity} record objects.
|
|
1879
1920
|
*/
|
|
1880
1921
|
export declare const Identity: Readonly<{
|
|
1881
|
-
create: (partial: Partial<Identity> & Required<Omit<Identity,
|
|
1882
|
-
new: (partial: Partial<Identity> & Required<Omit<Identity,
|
|
1922
|
+
create: (partial: Partial<Identity> & Required<Omit<Identity, never>>) => Identity;
|
|
1923
|
+
new: (partial: Partial<Identity> & Required<Omit<Identity, never>>) => Identity;
|
|
1883
1924
|
defaults: () => Partial<Identity>;
|
|
1884
1925
|
}>;
|
|
1885
1926
|
export declare enum ComponentEvent_Tags {
|
|
@@ -1941,7 +1982,6 @@ export declare const ComponentEvent: Readonly<{
|
|
|
1941
1982
|
};
|
|
1942
1983
|
Removed: {
|
|
1943
1984
|
new (inner: {
|
|
1944
|
-
label: string;
|
|
1945
1985
|
detail?: ActionDetail;
|
|
1946
1986
|
}): {
|
|
1947
1987
|
/**
|
|
@@ -1951,18 +1991,14 @@ export declare const ComponentEvent: Readonly<{
|
|
|
1951
1991
|
readonly [uniffiTypeNameSymbol]: "ComponentEvent";
|
|
1952
1992
|
readonly tag: ComponentEvent_Tags.Removed;
|
|
1953
1993
|
readonly inner: Readonly<{
|
|
1954
|
-
label: string;
|
|
1955
1994
|
detail?: ActionDetail;
|
|
1956
1995
|
}>;
|
|
1957
1996
|
};
|
|
1958
1997
|
new: (partial: Parameters<(partial: Partial<{
|
|
1959
|
-
label: string;
|
|
1960
1998
|
detail?: ActionDetail;
|
|
1961
1999
|
}> & Required<Omit<{
|
|
1962
|
-
label: string;
|
|
1963
2000
|
detail?: ActionDetail;
|
|
1964
2001
|
}, "detail">>) => {
|
|
1965
|
-
label: string;
|
|
1966
2002
|
detail?: ActionDetail;
|
|
1967
2003
|
}>[0]) => {
|
|
1968
2004
|
/**
|
|
@@ -1972,7 +2008,6 @@ export declare const ComponentEvent: Readonly<{
|
|
|
1972
2008
|
readonly [uniffiTypeNameSymbol]: "ComponentEvent";
|
|
1973
2009
|
readonly tag: ComponentEvent_Tags.Removed;
|
|
1974
2010
|
readonly inner: Readonly<{
|
|
1975
|
-
label: string;
|
|
1976
2011
|
detail?: ActionDetail;
|
|
1977
2012
|
}>;
|
|
1978
2013
|
};
|
|
@@ -1984,7 +2019,6 @@ export declare const ComponentEvent: Readonly<{
|
|
|
1984
2019
|
readonly [uniffiTypeNameSymbol]: "ComponentEvent";
|
|
1985
2020
|
readonly tag: ComponentEvent_Tags.Removed;
|
|
1986
2021
|
readonly inner: Readonly<{
|
|
1987
|
-
label: string;
|
|
1988
2022
|
detail?: ActionDetail;
|
|
1989
2023
|
}>;
|
|
1990
2024
|
};
|
|
@@ -2024,10 +2058,8 @@ export declare const ComponentEvent: Readonly<{
|
|
|
2024
2058
|
* to be folded into and the variant has none.
|
|
2025
2059
|
*/
|
|
2026
2060
|
export type ComponentEvent = InstanceType<typeof ComponentEvent['Placed' | 'Removed' | 'InputTo']>;
|
|
2027
|
-
/**
|
|
2028
|
-
* An ingredient other than the parent; see the core [`provenance::Component`].
|
|
2029
|
-
*/
|
|
2030
2061
|
export type Component = {
|
|
2062
|
+
id: string;
|
|
2031
2063
|
asset: Ingredient;
|
|
2032
2064
|
event: ComponentEvent;
|
|
2033
2065
|
};
|
|
@@ -2042,201 +2074,160 @@ export declare const Component: Readonly<{
|
|
|
2042
2074
|
export type AssetManifestSpec = {
|
|
2043
2075
|
title?: string;
|
|
2044
2076
|
origin: AssetOrigin;
|
|
2045
|
-
/**
|
|
2046
|
-
* Every action performed on the asset; the manifest states the list is complete (C2PA
|
|
2047
|
-
* `allActionsIncluded`).
|
|
2048
|
-
*/
|
|
2049
2077
|
actions: Array<Action>;
|
|
2050
2078
|
identity?: Identity;
|
|
2051
2079
|
assertions: Array<Assertion>;
|
|
2052
|
-
|
|
2053
|
-
* Keyed by the handle actions name them by.
|
|
2054
|
-
*/
|
|
2055
|
-
components: Map<string, Component>;
|
|
2080
|
+
components: Array<Component>;
|
|
2056
2081
|
};
|
|
2057
2082
|
/**
|
|
2058
2083
|
* Generated factory for {@link AssetManifestSpec} record objects.
|
|
2059
2084
|
*/
|
|
2060
2085
|
export declare const AssetManifestSpec: Readonly<{
|
|
2061
|
-
create: (partial: Partial<AssetManifestSpec> & Required<Omit<AssetManifestSpec, "
|
|
2062
|
-
new: (partial: Partial<AssetManifestSpec> & Required<Omit<AssetManifestSpec, "
|
|
2086
|
+
create: (partial: Partial<AssetManifestSpec> & Required<Omit<AssetManifestSpec, "identity" | "title">>) => AssetManifestSpec;
|
|
2087
|
+
new: (partial: Partial<AssetManifestSpec> & Required<Omit<AssetManifestSpec, "identity" | "title">>) => AssetManifestSpec;
|
|
2063
2088
|
defaults: () => Partial<AssetManifestSpec>;
|
|
2064
2089
|
}>;
|
|
2065
2090
|
/**
|
|
2066
|
-
*
|
|
2067
|
-
*
|
|
2068
|
-
*
|
|
2069
|
-
|
|
2070
|
-
|
|
2071
|
-
|
|
2072
|
-
|
|
2073
|
-
|
|
2074
|
-
|
|
2075
|
-
*
|
|
2076
|
-
|
|
2077
|
-
|
|
2078
|
-
|
|
2079
|
-
|
|
2080
|
-
|
|
2081
|
-
|
|
2082
|
-
/**
|
|
2083
|
-
* What one [`Compute::compute`] is asked: the asset and its media type.
|
|
2084
|
-
*/
|
|
2085
|
-
export type ComputeRequest = {
|
|
2086
|
-
source: RangeSource;
|
|
2087
|
-
format: string;
|
|
2088
|
-
};
|
|
2089
|
-
/**
|
|
2090
|
-
* Generated factory for {@link ComputeRequest} record objects.
|
|
2091
|
-
*/
|
|
2092
|
-
export declare const ComputeRequest: Readonly<{
|
|
2093
|
-
create: (partial: Partial<ComputeRequest> & Required<Omit<ComputeRequest, never>>) => ComputeRequest;
|
|
2094
|
-
new: (partial: Partial<ComputeRequest> & Required<Omit<ComputeRequest, never>>) => ComputeRequest;
|
|
2095
|
-
defaults: () => Partial<ComputeRequest>;
|
|
2096
|
-
}>;
|
|
2097
|
-
/**
|
|
2098
|
-
* The signer connection. Neither deadline bounds the hash, which runs client side between the
|
|
2099
|
-
* two RPCs.
|
|
2091
|
+
* Transport tunables and per-request metadata for the signer connection.
|
|
2092
|
+
*
|
|
2093
|
+
* `headers`, when present, are attached to every RPC (e.g.
|
|
2094
|
+
* `Authorization: Bearer …`, or routing/tenant metadata) and are
|
|
2095
|
+
* lower-cased on the wire; omit them to connect with no extra metadata.
|
|
2096
|
+
*
|
|
2097
|
+
* # Both deadlines are required
|
|
2098
|
+
*
|
|
2099
|
+
* They were optional, and omitting them left a call with no deadline at all: a signer that
|
|
2100
|
+
* accepted the connection and then stopped answering held the caller's thread for ever, with no
|
|
2101
|
+
* cancellation path, because the SDK runs each call on a thread of its own and nothing was
|
|
2102
|
+
* watching the clock. There is no figure the SDK could pick on a caller's behalf that is right
|
|
2103
|
+
* for both a local signer and one across a region, so it asks.
|
|
2104
|
+
*
|
|
2105
|
+
* Neither bounds the hash: that runs client side, between the two legs of the signing protocol,
|
|
2106
|
+
* and is not an RPC. These bound the network alone.
|
|
2100
2107
|
*/
|
|
2101
2108
|
export type ConnectOptions = {
|
|
2109
|
+
headers?: Map<string, string>;
|
|
2102
2110
|
/**
|
|
2103
|
-
*
|
|
2104
|
-
*/
|
|
2105
|
-
headers: Map<string, string>;
|
|
2106
|
-
/**
|
|
2107
|
-
* Bounds one signer RPC, or how long a mark may wait for the next byte; the service's own
|
|
2108
|
-
* limit bounds a whole mark. Default 30 s.
|
|
2111
|
+
* Per-RPC deadline. Bounds one leg of the signing protocol, not the whole sign.
|
|
2109
2112
|
*/
|
|
2110
|
-
|
|
2113
|
+
rpcTimeoutMs: number;
|
|
2111
2114
|
/**
|
|
2112
|
-
* Bounds
|
|
2115
|
+
* Bounds the initial connection setup, so an unreachable signer fails fast rather than
|
|
2116
|
+
* waiting out the OS SYN timeout.
|
|
2113
2117
|
*/
|
|
2114
|
-
|
|
2118
|
+
connectTimeoutMs: number;
|
|
2115
2119
|
};
|
|
2116
2120
|
/**
|
|
2117
2121
|
* Generated factory for {@link ConnectOptions} record objects.
|
|
2118
2122
|
*/
|
|
2119
2123
|
export declare const ConnectOptions: Readonly<{
|
|
2120
|
-
create: (partial: Partial<ConnectOptions> & Required<Omit<ConnectOptions, "
|
|
2121
|
-
new: (partial: Partial<ConnectOptions> & Required<Omit<ConnectOptions, "
|
|
2124
|
+
create: (partial: Partial<ConnectOptions> & Required<Omit<ConnectOptions, "headers">>) => ConnectOptions;
|
|
2125
|
+
new: (partial: Partial<ConnectOptions> & Required<Omit<ConnectOptions, "headers">>) => ConnectOptions;
|
|
2122
2126
|
defaults: () => Partial<ConnectOptions>;
|
|
2123
2127
|
}>;
|
|
2124
2128
|
/**
|
|
2125
|
-
*
|
|
2129
|
+
* Everything one [`Binder::derive`] needs beyond the asset.
|
|
2126
2130
|
*/
|
|
2127
|
-
export type
|
|
2128
|
-
|
|
2129
|
-
* The asset's media type; `None` reads it from the sink's leading bytes.
|
|
2130
|
-
*/
|
|
2131
|
-
format?: string;
|
|
2131
|
+
export type DeriveOptions = {
|
|
2132
|
+
format: AssetFormat;
|
|
2132
2133
|
};
|
|
2133
2134
|
/**
|
|
2134
|
-
* Generated factory for {@link
|
|
2135
|
+
* Generated factory for {@link DeriveOptions} record objects.
|
|
2135
2136
|
*/
|
|
2136
|
-
export declare const
|
|
2137
|
-
create: (partial: Partial<
|
|
2138
|
-
new: (partial: Partial<
|
|
2139
|
-
defaults: () => Partial<
|
|
2137
|
+
export declare const DeriveOptions: Readonly<{
|
|
2138
|
+
create: (partial: Partial<DeriveOptions> & Required<Omit<DeriveOptions, never>>) => DeriveOptions;
|
|
2139
|
+
new: (partial: Partial<DeriveOptions> & Required<Omit<DeriveOptions, never>>) => DeriveOptions;
|
|
2140
|
+
defaults: () => Partial<DeriveOptions>;
|
|
2140
2141
|
}>;
|
|
2141
2142
|
/**
|
|
2142
|
-
*
|
|
2143
|
-
*
|
|
2143
|
+
* Everything one [`embed`] needs beyond the sink, the manifest and the plugins: how the
|
|
2144
|
+
* asset's format is known, stated or sniffed from the sink's leading bytes.
|
|
2144
2145
|
*/
|
|
2145
|
-
export
|
|
2146
|
-
|
|
2147
|
-
EmbeddedAndRemote = 1
|
|
2148
|
-
}
|
|
2149
|
-
/**
|
|
2150
|
-
* How long a session key signs, and when to rotate it.
|
|
2151
|
-
*/
|
|
2152
|
-
export type RotationPolicy = {
|
|
2153
|
-
/**
|
|
2154
|
-
* From the key's creation, in whole seconds (C2PA `validityPeriod`); the verifier refuses
|
|
2155
|
-
* a segment signed after it.
|
|
2156
|
-
*/
|
|
2157
|
-
validityPeriod: number;
|
|
2158
|
-
/**
|
|
2159
|
-
* The share of `validity_period`, 0 to 100, after which `rotation_due` is set.
|
|
2160
|
-
*/
|
|
2161
|
-
refreshPercent: number;
|
|
2146
|
+
export type EmbedOptions = {
|
|
2147
|
+
format: AssetFormat;
|
|
2162
2148
|
};
|
|
2163
2149
|
/**
|
|
2164
|
-
* Generated factory for {@link
|
|
2150
|
+
* Generated factory for {@link EmbedOptions} record objects.
|
|
2165
2151
|
*/
|
|
2166
|
-
export declare const
|
|
2167
|
-
create: (partial: Partial<
|
|
2168
|
-
new: (partial: Partial<
|
|
2169
|
-
defaults: () => Partial<
|
|
2152
|
+
export declare const EmbedOptions: Readonly<{
|
|
2153
|
+
create: (partial: Partial<EmbedOptions> & Required<Omit<EmbedOptions, never>>) => EmbedOptions;
|
|
2154
|
+
new: (partial: Partial<EmbedOptions> & Required<Omit<EmbedOptions, never>>) => EmbedOptions;
|
|
2155
|
+
defaults: () => Partial<EmbedOptions>;
|
|
2170
2156
|
}>;
|
|
2171
2157
|
/**
|
|
2172
|
-
*
|
|
2173
|
-
*
|
|
2174
|
-
*
|
|
2158
|
+
* A soft-binding binder: how a recoverable binding is derived from an asset. Put these inside
|
|
2159
|
+
* the issuer's manifest mode to sign and index under them, and pass them in verify options to
|
|
2160
|
+
* recover. Implement it for an algorithm the SDK does not ship; the SDK's own are
|
|
2161
|
+
* [`IsccBinder`] and [`HeldBinder`].
|
|
2162
|
+
*
|
|
2163
|
+
* `derive` answers this binder's binding for `source`, or `None` when there is none.
|
|
2164
|
+
* `options.format` is how the asset's format is known. `None` and an error
|
|
2165
|
+
* mean different things: `None` is "no binding here", an error is "the question could not be
|
|
2166
|
+
* answered", so a binder that failed never reads as an unmarked asset.
|
|
2175
2167
|
*/
|
|
2176
|
-
export interface
|
|
2177
|
-
|
|
2178
|
-
* The C2PA soft-binding algorithm list label, e.g. `io.iscc.v0`.
|
|
2179
|
-
*/
|
|
2180
|
-
alg(): string;
|
|
2181
|
-
compute(request: ComputeRequest, asyncOpts_?: {
|
|
2168
|
+
export interface Binder {
|
|
2169
|
+
derive(source: RangeSource, options: DeriveOptions, asyncOpts_?: {
|
|
2182
2170
|
signal: AbortSignal;
|
|
2183
|
-
}): Promise<
|
|
2171
|
+
}): Promise<SoftBinding | undefined>;
|
|
2184
2172
|
}
|
|
2185
2173
|
/**
|
|
2186
|
-
*
|
|
2187
|
-
*
|
|
2188
|
-
*
|
|
2174
|
+
* A soft-binding binder: how a recoverable binding is derived from an asset. Put these inside
|
|
2175
|
+
* the issuer's manifest mode to sign and index under them, and pass them in verify options to
|
|
2176
|
+
* recover. Implement it for an algorithm the SDK does not ship; the SDK's own are
|
|
2177
|
+
* [`IsccBinder`] and [`HeldBinder`].
|
|
2178
|
+
*
|
|
2179
|
+
* `derive` answers this binder's binding for `source`, or `None` when there is none.
|
|
2180
|
+
* `options.format` is how the asset's format is known. `None` and an error
|
|
2181
|
+
* mean different things: `None` is "no binding here", an error is "the question could not be
|
|
2182
|
+
* answered", so a binder that failed never reads as an unmarked asset.
|
|
2189
2183
|
*/
|
|
2190
|
-
export declare class
|
|
2191
|
-
readonly [uniffiTypeNameSymbol] = "
|
|
2184
|
+
export declare class BinderImpl extends UniffiAbstractObject implements Binder {
|
|
2185
|
+
readonly [uniffiTypeNameSymbol] = "BinderImpl";
|
|
2192
2186
|
readonly [destructorGuardSymbol]: UniffiGcObject;
|
|
2193
2187
|
readonly [pointerLiteralSymbol]: UniffiHandle;
|
|
2194
2188
|
private constructor();
|
|
2195
|
-
|
|
2196
|
-
* The C2PA soft-binding algorithm list label, e.g. `io.iscc.v0`.
|
|
2197
|
-
*/
|
|
2198
|
-
alg(): string;
|
|
2199
|
-
compute(request: ComputeRequest, asyncOpts_?: {
|
|
2189
|
+
derive(source: RangeSource, options: DeriveOptions, asyncOpts_?: {
|
|
2200
2190
|
signal: AbortSignal;
|
|
2201
|
-
}): Promise<
|
|
2191
|
+
}): Promise<SoftBinding | undefined>;
|
|
2202
2192
|
uniffiDestroy(): void;
|
|
2203
|
-
static instanceOf(obj_: any): obj_ is
|
|
2193
|
+
static instanceOf(obj_: any): obj_ is BinderImpl;
|
|
2204
2194
|
}
|
|
2205
|
-
export declare enum
|
|
2206
|
-
|
|
2207
|
-
|
|
2208
|
-
|
|
2195
|
+
export declare enum StreamDelivery_Tags {
|
|
2196
|
+
Embedded = "Embedded",
|
|
2197
|
+
Remote = "Remote",
|
|
2198
|
+
Both = "Both"
|
|
2209
2199
|
}
|
|
2210
2200
|
/**
|
|
2211
|
-
*
|
|
2201
|
+
* How a live stream's init manifest is delivered and which binders it declares. A stream
|
|
2202
|
+
* returns its signed init segment as bytes, so there is no output to name.
|
|
2212
2203
|
*/
|
|
2213
|
-
export declare const
|
|
2214
|
-
instanceOf: (obj: any) => obj is
|
|
2215
|
-
|
|
2204
|
+
export declare const StreamDelivery: Readonly<{
|
|
2205
|
+
instanceOf: (obj: any) => obj is StreamDelivery;
|
|
2206
|
+
Embedded: {
|
|
2216
2207
|
new (inner: {
|
|
2217
|
-
|
|
2208
|
+
binders: Array<Binder>;
|
|
2218
2209
|
}): {
|
|
2219
2210
|
/**
|
|
2220
2211
|
* @private
|
|
2221
2212
|
* This field is private and should not be used, use `tag` instead.
|
|
2222
2213
|
*/
|
|
2223
|
-
readonly [uniffiTypeNameSymbol]: "
|
|
2224
|
-
readonly tag:
|
|
2214
|
+
readonly [uniffiTypeNameSymbol]: "StreamDelivery";
|
|
2215
|
+
readonly tag: StreamDelivery_Tags.Embedded;
|
|
2225
2216
|
readonly inner: Readonly<{
|
|
2226
|
-
|
|
2217
|
+
binders: Array<Binder>;
|
|
2227
2218
|
}>;
|
|
2228
2219
|
};
|
|
2229
2220
|
"new"(inner: {
|
|
2230
|
-
|
|
2221
|
+
binders: Array<Binder>;
|
|
2231
2222
|
}): {
|
|
2232
2223
|
/**
|
|
2233
2224
|
* @private
|
|
2234
2225
|
* This field is private and should not be used, use `tag` instead.
|
|
2235
2226
|
*/
|
|
2236
|
-
readonly [uniffiTypeNameSymbol]: "
|
|
2237
|
-
readonly tag:
|
|
2227
|
+
readonly [uniffiTypeNameSymbol]: "StreamDelivery";
|
|
2228
|
+
readonly tag: StreamDelivery_Tags.Embedded;
|
|
2238
2229
|
readonly inner: Readonly<{
|
|
2239
|
-
|
|
2230
|
+
binders: Array<Binder>;
|
|
2240
2231
|
}>;
|
|
2241
2232
|
};
|
|
2242
2233
|
instanceOf(obj: any): obj is {
|
|
@@ -2244,38 +2235,38 @@ export declare const SoftBindingSource: Readonly<{
|
|
|
2244
2235
|
* @private
|
|
2245
2236
|
* This field is private and should not be used, use `tag` instead.
|
|
2246
2237
|
*/
|
|
2247
|
-
readonly [uniffiTypeNameSymbol]: "
|
|
2248
|
-
readonly tag:
|
|
2238
|
+
readonly [uniffiTypeNameSymbol]: "StreamDelivery";
|
|
2239
|
+
readonly tag: StreamDelivery_Tags.Embedded;
|
|
2249
2240
|
readonly inner: Readonly<{
|
|
2250
|
-
|
|
2241
|
+
binders: Array<Binder>;
|
|
2251
2242
|
}>;
|
|
2252
2243
|
};
|
|
2253
2244
|
};
|
|
2254
|
-
|
|
2245
|
+
Remote: {
|
|
2255
2246
|
new (inner: {
|
|
2256
|
-
|
|
2247
|
+
binders: Array<Binder>;
|
|
2257
2248
|
}): {
|
|
2258
2249
|
/**
|
|
2259
2250
|
* @private
|
|
2260
2251
|
* This field is private and should not be used, use `tag` instead.
|
|
2261
2252
|
*/
|
|
2262
|
-
readonly [uniffiTypeNameSymbol]: "
|
|
2263
|
-
readonly tag:
|
|
2253
|
+
readonly [uniffiTypeNameSymbol]: "StreamDelivery";
|
|
2254
|
+
readonly tag: StreamDelivery_Tags.Remote;
|
|
2264
2255
|
readonly inner: Readonly<{
|
|
2265
|
-
|
|
2256
|
+
binders: Array<Binder>;
|
|
2266
2257
|
}>;
|
|
2267
2258
|
};
|
|
2268
2259
|
"new"(inner: {
|
|
2269
|
-
|
|
2260
|
+
binders: Array<Binder>;
|
|
2270
2261
|
}): {
|
|
2271
2262
|
/**
|
|
2272
2263
|
* @private
|
|
2273
2264
|
* This field is private and should not be used, use `tag` instead.
|
|
2274
2265
|
*/
|
|
2275
|
-
readonly [uniffiTypeNameSymbol]: "
|
|
2276
|
-
readonly tag:
|
|
2266
|
+
readonly [uniffiTypeNameSymbol]: "StreamDelivery";
|
|
2267
|
+
readonly tag: StreamDelivery_Tags.Remote;
|
|
2277
2268
|
readonly inner: Readonly<{
|
|
2278
|
-
|
|
2269
|
+
binders: Array<Binder>;
|
|
2279
2270
|
}>;
|
|
2280
2271
|
};
|
|
2281
2272
|
instanceOf(obj: any): obj is {
|
|
@@ -2283,38 +2274,38 @@ export declare const SoftBindingSource: Readonly<{
|
|
|
2283
2274
|
* @private
|
|
2284
2275
|
* This field is private and should not be used, use `tag` instead.
|
|
2285
2276
|
*/
|
|
2286
|
-
readonly [uniffiTypeNameSymbol]: "
|
|
2287
|
-
readonly tag:
|
|
2277
|
+
readonly [uniffiTypeNameSymbol]: "StreamDelivery";
|
|
2278
|
+
readonly tag: StreamDelivery_Tags.Remote;
|
|
2288
2279
|
readonly inner: Readonly<{
|
|
2289
|
-
|
|
2280
|
+
binders: Array<Binder>;
|
|
2290
2281
|
}>;
|
|
2291
2282
|
};
|
|
2292
2283
|
};
|
|
2293
|
-
|
|
2284
|
+
Both: {
|
|
2294
2285
|
new (inner: {
|
|
2295
|
-
|
|
2286
|
+
binders: Array<Binder>;
|
|
2296
2287
|
}): {
|
|
2297
2288
|
/**
|
|
2298
2289
|
* @private
|
|
2299
2290
|
* This field is private and should not be used, use `tag` instead.
|
|
2300
2291
|
*/
|
|
2301
|
-
readonly [uniffiTypeNameSymbol]: "
|
|
2302
|
-
readonly tag:
|
|
2292
|
+
readonly [uniffiTypeNameSymbol]: "StreamDelivery";
|
|
2293
|
+
readonly tag: StreamDelivery_Tags.Both;
|
|
2303
2294
|
readonly inner: Readonly<{
|
|
2304
|
-
|
|
2295
|
+
binders: Array<Binder>;
|
|
2305
2296
|
}>;
|
|
2306
2297
|
};
|
|
2307
2298
|
"new"(inner: {
|
|
2308
|
-
|
|
2299
|
+
binders: Array<Binder>;
|
|
2309
2300
|
}): {
|
|
2310
2301
|
/**
|
|
2311
2302
|
* @private
|
|
2312
2303
|
* This field is private and should not be used, use `tag` instead.
|
|
2313
2304
|
*/
|
|
2314
|
-
readonly [uniffiTypeNameSymbol]: "
|
|
2315
|
-
readonly tag:
|
|
2305
|
+
readonly [uniffiTypeNameSymbol]: "StreamDelivery";
|
|
2306
|
+
readonly tag: StreamDelivery_Tags.Both;
|
|
2316
2307
|
readonly inner: Readonly<{
|
|
2317
|
-
|
|
2308
|
+
binders: Array<Binder>;
|
|
2318
2309
|
}>;
|
|
2319
2310
|
};
|
|
2320
2311
|
instanceOf(obj: any): obj is {
|
|
@@ -2322,42 +2313,63 @@ export declare const SoftBindingSource: Readonly<{
|
|
|
2322
2313
|
* @private
|
|
2323
2314
|
* This field is private and should not be used, use `tag` instead.
|
|
2324
2315
|
*/
|
|
2325
|
-
readonly [uniffiTypeNameSymbol]: "
|
|
2326
|
-
readonly tag:
|
|
2316
|
+
readonly [uniffiTypeNameSymbol]: "StreamDelivery";
|
|
2317
|
+
readonly tag: StreamDelivery_Tags.Both;
|
|
2327
2318
|
readonly inner: Readonly<{
|
|
2328
|
-
|
|
2319
|
+
binders: Array<Binder>;
|
|
2329
2320
|
}>;
|
|
2330
2321
|
};
|
|
2331
2322
|
};
|
|
2332
2323
|
}>;
|
|
2333
2324
|
/**
|
|
2334
|
-
*
|
|
2325
|
+
* How a live stream's init manifest is delivered and which binders it declares. A stream
|
|
2326
|
+
* returns its signed init segment as bytes, so there is no output to name.
|
|
2335
2327
|
*/
|
|
2336
|
-
export type
|
|
2328
|
+
export type StreamDelivery = InstanceType<typeof StreamDelivery['Embedded' | 'Remote' | 'Both']>;
|
|
2329
|
+
/**
|
|
2330
|
+
* `validity_period_secs` is the session-key validity window in seconds
|
|
2331
|
+
* after `created_at`; the verifier rejects segments signed past this
|
|
2332
|
+
* (plus skew tolerance).
|
|
2333
|
+
*
|
|
2334
|
+
* `refresh_percent` is 0..=100; once this percentage of
|
|
2335
|
+
* `validity_period_secs` elapses, `sign` returns `rotation_due: true`
|
|
2336
|
+
* so the consumer can rotate before verifier-side expiry.
|
|
2337
|
+
*/
|
|
2338
|
+
export type RotationPolicy = {
|
|
2339
|
+
validityPeriodSecs: number;
|
|
2340
|
+
refreshPercent: number;
|
|
2341
|
+
};
|
|
2342
|
+
/**
|
|
2343
|
+
* Generated factory for {@link RotationPolicy} record objects.
|
|
2344
|
+
*/
|
|
2345
|
+
export declare const RotationPolicy: Readonly<{
|
|
2346
|
+
create: (partial: Partial<RotationPolicy> & Required<Omit<RotationPolicy, never>>) => RotationPolicy;
|
|
2347
|
+
new: (partial: Partial<RotationPolicy> & Required<Omit<RotationPolicy, never>>) => RotationPolicy;
|
|
2348
|
+
defaults: () => Partial<RotationPolicy>;
|
|
2349
|
+
}>;
|
|
2337
2350
|
/**
|
|
2338
|
-
* Options for a stream's `init` and `rotate`: where the init manifest lives
|
|
2339
|
-
*
|
|
2351
|
+
* Options for a stream's `init` and `rotate`: where the init manifest lives and the binders
|
|
2352
|
+
* run over the init segment for it, and the session-key validity window.
|
|
2340
2353
|
*/
|
|
2341
2354
|
export type InitOptions = {
|
|
2342
2355
|
delivery: StreamDelivery;
|
|
2343
2356
|
rotationPolicy: RotationPolicy;
|
|
2344
|
-
softBindings: Array<SoftBindingSource>;
|
|
2345
2357
|
};
|
|
2346
2358
|
/**
|
|
2347
2359
|
* Generated factory for {@link InitOptions} record objects.
|
|
2348
2360
|
*/
|
|
2349
2361
|
export declare const InitOptions: Readonly<{
|
|
2350
|
-
create: (partial: Partial<InitOptions> & Required<Omit<InitOptions,
|
|
2351
|
-
new: (partial: Partial<InitOptions> & Required<Omit<InitOptions,
|
|
2362
|
+
create: (partial: Partial<InitOptions> & Required<Omit<InitOptions, never>>) => InitOptions;
|
|
2363
|
+
new: (partial: Partial<InitOptions> & Required<Omit<InitOptions, never>>) => InitOptions;
|
|
2352
2364
|
defaults: () => Partial<InitOptions>;
|
|
2353
2365
|
}>;
|
|
2354
2366
|
/**
|
|
2355
|
-
* Result of [`StreamIssuer::init`](super::StreamIssuer::init)
|
|
2356
|
-
*
|
|
2367
|
+
* Result of [`StreamIssuer::init`](super::StreamIssuer::init). `valid_until_epoch_secs` is the
|
|
2368
|
+
* UNIX-epoch second at which the session key's validity elapses.
|
|
2357
2369
|
*/
|
|
2358
2370
|
export type InitOutcome = {
|
|
2359
|
-
|
|
2360
|
-
|
|
2371
|
+
signedInitBytes: ArrayBuffer;
|
|
2372
|
+
validUntilEpochSecs: bigint;
|
|
2361
2373
|
};
|
|
2362
2374
|
/**
|
|
2363
2375
|
* Generated factory for {@link InitOutcome} record objects.
|
|
@@ -2368,39 +2380,52 @@ export declare const InitOutcome: Readonly<{
|
|
|
2368
2380
|
defaults: () => Partial<InitOutcome>;
|
|
2369
2381
|
}>;
|
|
2370
2382
|
/**
|
|
2371
|
-
*
|
|
2383
|
+
* Everything one [`AssetMarker::mark`] needs beyond the asset, every field stated.
|
|
2372
2384
|
*/
|
|
2373
2385
|
export type MarkOptions = {
|
|
2374
2386
|
/**
|
|
2375
|
-
*
|
|
2387
|
+
* How the asset's format is known.
|
|
2376
2388
|
*/
|
|
2377
|
-
format
|
|
2389
|
+
format: AssetFormat;
|
|
2378
2390
|
/**
|
|
2379
|
-
*
|
|
2380
|
-
* deployment offers, in its order.
|
|
2391
|
+
* Filename recorded with the mark, and the multipart part name.
|
|
2381
2392
|
*/
|
|
2382
|
-
|
|
2393
|
+
fileName: string;
|
|
2394
|
+
/**
|
|
2395
|
+
* Whether the signposting layer is applied beside the marks that resolve back to the
|
|
2396
|
+
* manifest; `false` applies only those.
|
|
2397
|
+
*/
|
|
2398
|
+
signpost: boolean;
|
|
2383
2399
|
};
|
|
2384
2400
|
/**
|
|
2385
2401
|
* Generated factory for {@link MarkOptions} record objects.
|
|
2386
2402
|
*/
|
|
2387
2403
|
export declare const MarkOptions: Readonly<{
|
|
2388
|
-
create: (partial: Partial<MarkOptions> & Required<Omit<MarkOptions,
|
|
2389
|
-
new: (partial: Partial<MarkOptions> & Required<Omit<MarkOptions,
|
|
2404
|
+
create: (partial: Partial<MarkOptions> & Required<Omit<MarkOptions, never>>) => MarkOptions;
|
|
2405
|
+
new: (partial: Partial<MarkOptions> & Required<Omit<MarkOptions, never>>) => MarkOptions;
|
|
2390
2406
|
defaults: () => Partial<MarkOptions>;
|
|
2391
2407
|
}>;
|
|
2392
2408
|
/**
|
|
2393
|
-
* Result of [`AssetMarker::mark`](super::AssetMarker::mark)
|
|
2394
|
-
*
|
|
2409
|
+
* Result of [`AssetMarker::mark`](super::AssetMarker::mark): the marked asset and the provenance
|
|
2410
|
+
* its marking created. The neutral core is [`marker::MarkOutcome`]; this differs only in carrying the
|
|
2411
|
+
* asset as [`Bytes`].
|
|
2395
2412
|
*/
|
|
2396
2413
|
export type MarkOutcome = {
|
|
2397
2414
|
/**
|
|
2398
|
-
* The marked asset
|
|
2415
|
+
* The marked asset. Sign these bytes, not the ones handed in.
|
|
2416
|
+
*/
|
|
2417
|
+
bytes: ArrayBuffer;
|
|
2418
|
+
/**
|
|
2419
|
+
* The marked asset's media type, which a marker may change by re-encoding.
|
|
2399
2420
|
*/
|
|
2400
2421
|
format: string;
|
|
2401
2422
|
/**
|
|
2402
|
-
*
|
|
2403
|
-
|
|
2423
|
+
* The name the marking service recorded.
|
|
2424
|
+
*/
|
|
2425
|
+
fileName: string;
|
|
2426
|
+
/**
|
|
2427
|
+
* One `c2pa.watermarked.bound` or `.unbound` per mark, in the order applied, a bound one
|
|
2428
|
+
* carrying the binding it resolves through. Append to the manifest's `actions`.
|
|
2404
2429
|
*/
|
|
2405
2430
|
actions: Array<Action>;
|
|
2406
2431
|
};
|
|
@@ -2413,28 +2438,32 @@ export declare const MarkOutcome: Readonly<{
|
|
|
2413
2438
|
defaults: () => Partial<MarkOutcome>;
|
|
2414
2439
|
}>;
|
|
2415
2440
|
/**
|
|
2416
|
-
*
|
|
2417
|
-
*
|
|
2441
|
+
* A byte range holding a bare C2PA manifest store, or reserved for one. A record of
|
|
2442
|
+
* primitives, so a plugin in its OWN UniFFI namespace declares a structurally identical
|
|
2443
|
+
* one and the two cross the boundary without sharing a Rust type.
|
|
2418
2444
|
*/
|
|
2419
|
-
export type
|
|
2420
|
-
|
|
2445
|
+
export type Region = {
|
|
2446
|
+
offset: bigint;
|
|
2447
|
+
length: bigint;
|
|
2421
2448
|
};
|
|
2422
2449
|
/**
|
|
2423
|
-
* Generated factory for {@link
|
|
2450
|
+
* Generated factory for {@link Region} record objects.
|
|
2424
2451
|
*/
|
|
2425
|
-
export declare const
|
|
2426
|
-
create: (partial: Partial<
|
|
2427
|
-
new: (partial: Partial<
|
|
2428
|
-
defaults: () => Partial<
|
|
2452
|
+
export declare const Region: Readonly<{
|
|
2453
|
+
create: (partial: Partial<Region> & Required<Omit<Region, never>>) => Region;
|
|
2454
|
+
new: (partial: Partial<Region> & Required<Omit<Region, never>>) => Region;
|
|
2455
|
+
defaults: () => Partial<Region>;
|
|
2429
2456
|
}>;
|
|
2430
2457
|
/**
|
|
2431
|
-
* Result of [`StreamSession::sign`](super::StreamSession::sign). `
|
|
2432
|
-
*
|
|
2458
|
+
* Result of [`StreamSession::sign`](super::StreamSession::sign). `rotation_due` flips once
|
|
2459
|
+
* `policy.refresh_percent`% of validity has elapsed; `valid_until_epoch_secs` is repeated
|
|
2460
|
+
* per segment so callers can schedule rotation precisely instead of reacting only to the
|
|
2461
|
+
* flag.
|
|
2433
2462
|
*/
|
|
2434
2463
|
export type SegmentOutcome = {
|
|
2435
2464
|
bytes: ArrayBuffer;
|
|
2436
2465
|
rotationDue: boolean;
|
|
2437
|
-
|
|
2466
|
+
validUntilEpochSecs: bigint;
|
|
2438
2467
|
};
|
|
2439
2468
|
/**
|
|
2440
2469
|
* Generated factory for {@link SegmentOutcome} record objects.
|
|
@@ -2444,23 +2473,6 @@ export declare const SegmentOutcome: Readonly<{
|
|
|
2444
2473
|
new: (partial: Partial<SegmentOutcome> & Required<Omit<SegmentOutcome, never>>) => SegmentOutcome;
|
|
2445
2474
|
defaults: () => Partial<SegmentOutcome>;
|
|
2446
2475
|
}>;
|
|
2447
|
-
/**
|
|
2448
|
-
* A minted session key's public half. `kid` is the vault's handle for it (typically SHA-256 of
|
|
2449
|
-
* the public key); `public_key` is the uncompressed SEC1 point (65 bytes from `0x04` for ES256),
|
|
2450
|
-
* which the SDK wraps as a `COSE_Key` (C2PA 2.4 19.4.4).
|
|
2451
|
-
*/
|
|
2452
|
-
export type SessionKey = {
|
|
2453
|
-
kid: ArrayBuffer;
|
|
2454
|
-
publicKey: ArrayBuffer;
|
|
2455
|
-
};
|
|
2456
|
-
/**
|
|
2457
|
-
* Generated factory for {@link SessionKey} record objects.
|
|
2458
|
-
*/
|
|
2459
|
-
export declare const SessionKey: Readonly<{
|
|
2460
|
-
create: (partial: Partial<SessionKey> & Required<Omit<SessionKey, never>>) => SessionKey;
|
|
2461
|
-
new: (partial: Partial<SessionKey> & Required<Omit<SessionKey, never>>) => SessionKey;
|
|
2462
|
-
defaults: () => Partial<SessionKey>;
|
|
2463
|
-
}>;
|
|
2464
2476
|
/**
|
|
2465
2477
|
* A ranged read+write backend for embedding. All four methods are first-class (UniFFI
|
|
2466
2478
|
* has no trait inheritance for foreign callbacks, so the read half is duplicated from
|
|
@@ -2522,9 +2534,10 @@ export declare enum SignOutput_Tags {
|
|
|
2522
2534
|
Asset = "Asset"
|
|
2523
2535
|
}
|
|
2524
2536
|
/**
|
|
2525
|
-
* What a `sign` hands back beyond the sidecar it always returns: the sidecar alone, or the
|
|
2526
|
-
* signed asset written
|
|
2527
|
-
* [`SignOutput`](
|
|
2537
|
+
* What a `sign` hands back beyond the sidecar it always returns: the sidecar alone, or the
|
|
2538
|
+
* signed asset written through `into` in the same call. See the core
|
|
2539
|
+
* [`SignOutput`](crate::manifest::spec::SignOutput) for what pointing `into` at the asset's own
|
|
2540
|
+
* storage means.
|
|
2528
2541
|
*/
|
|
2529
2542
|
export declare const SignOutput: Readonly<{
|
|
2530
2543
|
instanceOf: (obj: any) => obj is SignOutput;
|
|
@@ -2595,27 +2608,30 @@ export declare const SignOutput: Readonly<{
|
|
|
2595
2608
|
};
|
|
2596
2609
|
}>;
|
|
2597
2610
|
/**
|
|
2598
|
-
* What a `sign` hands back beyond the sidecar it always returns: the sidecar alone, or the
|
|
2599
|
-
* signed asset written
|
|
2600
|
-
* [`SignOutput`](
|
|
2611
|
+
* What a `sign` hands back beyond the sidecar it always returns: the sidecar alone, or the
|
|
2612
|
+
* signed asset written through `into` in the same call. See the core
|
|
2613
|
+
* [`SignOutput`](crate::manifest::spec::SignOutput) for what pointing `into` at the asset's own
|
|
2614
|
+
* storage means.
|
|
2601
2615
|
*/
|
|
2602
2616
|
export type SignOutput = InstanceType<typeof SignOutput['Sidecar' | 'Asset']>;
|
|
2603
2617
|
export declare enum AssetDelivery_Tags {
|
|
2604
2618
|
Embedded = "Embedded",
|
|
2605
2619
|
Remote = "Remote",
|
|
2606
|
-
|
|
2620
|
+
Both = "Both"
|
|
2607
2621
|
}
|
|
2608
2622
|
/**
|
|
2609
|
-
*
|
|
2623
|
+
* How a static asset's manifest is delivered, which binders it declares, and what comes back.
|
|
2610
2624
|
*
|
|
2611
|
-
* Embedded manifests
|
|
2612
|
-
*
|
|
2613
|
-
* asset, so it names no output
|
|
2625
|
+
* Embedded manifests may still need bindings, for example to describe a bound watermark, but
|
|
2626
|
+
* are not indexed. Remote needs at least one resolved binding, from a binder or a bound
|
|
2627
|
+
* watermark action, and never touches the asset, so it names no output; both is recoverable
|
|
2628
|
+
* through its embedded manifest and permits an empty strategy list.
|
|
2614
2629
|
*/
|
|
2615
2630
|
export declare const AssetDelivery: Readonly<{
|
|
2616
2631
|
instanceOf: (obj: any) => obj is AssetDelivery;
|
|
2617
2632
|
Embedded: {
|
|
2618
2633
|
new (inner: {
|
|
2634
|
+
binders: Array<Binder>;
|
|
2619
2635
|
output: SignOutput;
|
|
2620
2636
|
}): {
|
|
2621
2637
|
/**
|
|
@@ -2625,10 +2641,12 @@ export declare const AssetDelivery: Readonly<{
|
|
|
2625
2641
|
readonly [uniffiTypeNameSymbol]: "AssetDelivery";
|
|
2626
2642
|
readonly tag: AssetDelivery_Tags.Embedded;
|
|
2627
2643
|
readonly inner: Readonly<{
|
|
2644
|
+
binders: Array<Binder>;
|
|
2628
2645
|
output: SignOutput;
|
|
2629
2646
|
}>;
|
|
2630
2647
|
};
|
|
2631
2648
|
"new"(inner: {
|
|
2649
|
+
binders: Array<Binder>;
|
|
2632
2650
|
output: SignOutput;
|
|
2633
2651
|
}): {
|
|
2634
2652
|
/**
|
|
@@ -2638,6 +2656,7 @@ export declare const AssetDelivery: Readonly<{
|
|
|
2638
2656
|
readonly [uniffiTypeNameSymbol]: "AssetDelivery";
|
|
2639
2657
|
readonly tag: AssetDelivery_Tags.Embedded;
|
|
2640
2658
|
readonly inner: Readonly<{
|
|
2659
|
+
binders: Array<Binder>;
|
|
2641
2660
|
output: SignOutput;
|
|
2642
2661
|
}>;
|
|
2643
2662
|
};
|
|
@@ -2649,26 +2668,37 @@ export declare const AssetDelivery: Readonly<{
|
|
|
2649
2668
|
readonly [uniffiTypeNameSymbol]: "AssetDelivery";
|
|
2650
2669
|
readonly tag: AssetDelivery_Tags.Embedded;
|
|
2651
2670
|
readonly inner: Readonly<{
|
|
2671
|
+
binders: Array<Binder>;
|
|
2652
2672
|
output: SignOutput;
|
|
2653
2673
|
}>;
|
|
2654
2674
|
};
|
|
2655
2675
|
};
|
|
2656
2676
|
Remote: {
|
|
2657
|
-
new (
|
|
2677
|
+
new (inner: {
|
|
2678
|
+
binders: Array<Binder>;
|
|
2679
|
+
}): {
|
|
2658
2680
|
/**
|
|
2659
2681
|
* @private
|
|
2660
2682
|
* This field is private and should not be used, use `tag` instead.
|
|
2661
2683
|
*/
|
|
2662
2684
|
readonly [uniffiTypeNameSymbol]: "AssetDelivery";
|
|
2663
2685
|
readonly tag: AssetDelivery_Tags.Remote;
|
|
2686
|
+
readonly inner: Readonly<{
|
|
2687
|
+
binders: Array<Binder>;
|
|
2688
|
+
}>;
|
|
2664
2689
|
};
|
|
2665
|
-
"new"(
|
|
2690
|
+
"new"(inner: {
|
|
2691
|
+
binders: Array<Binder>;
|
|
2692
|
+
}): {
|
|
2666
2693
|
/**
|
|
2667
2694
|
* @private
|
|
2668
2695
|
* This field is private and should not be used, use `tag` instead.
|
|
2669
2696
|
*/
|
|
2670
2697
|
readonly [uniffiTypeNameSymbol]: "AssetDelivery";
|
|
2671
2698
|
readonly tag: AssetDelivery_Tags.Remote;
|
|
2699
|
+
readonly inner: Readonly<{
|
|
2700
|
+
binders: Array<Binder>;
|
|
2701
|
+
}>;
|
|
2672
2702
|
};
|
|
2673
2703
|
instanceOf(obj: any): obj is {
|
|
2674
2704
|
/**
|
|
@@ -2677,10 +2707,14 @@ export declare const AssetDelivery: Readonly<{
|
|
|
2677
2707
|
*/
|
|
2678
2708
|
readonly [uniffiTypeNameSymbol]: "AssetDelivery";
|
|
2679
2709
|
readonly tag: AssetDelivery_Tags.Remote;
|
|
2710
|
+
readonly inner: Readonly<{
|
|
2711
|
+
binders: Array<Binder>;
|
|
2712
|
+
}>;
|
|
2680
2713
|
};
|
|
2681
2714
|
};
|
|
2682
|
-
|
|
2715
|
+
Both: {
|
|
2683
2716
|
new (inner: {
|
|
2717
|
+
binders: Array<Binder>;
|
|
2684
2718
|
output: SignOutput;
|
|
2685
2719
|
}): {
|
|
2686
2720
|
/**
|
|
@@ -2688,12 +2722,14 @@ export declare const AssetDelivery: Readonly<{
|
|
|
2688
2722
|
* This field is private and should not be used, use `tag` instead.
|
|
2689
2723
|
*/
|
|
2690
2724
|
readonly [uniffiTypeNameSymbol]: "AssetDelivery";
|
|
2691
|
-
readonly tag: AssetDelivery_Tags.
|
|
2725
|
+
readonly tag: AssetDelivery_Tags.Both;
|
|
2692
2726
|
readonly inner: Readonly<{
|
|
2727
|
+
binders: Array<Binder>;
|
|
2693
2728
|
output: SignOutput;
|
|
2694
2729
|
}>;
|
|
2695
2730
|
};
|
|
2696
2731
|
"new"(inner: {
|
|
2732
|
+
binders: Array<Binder>;
|
|
2697
2733
|
output: SignOutput;
|
|
2698
2734
|
}): {
|
|
2699
2735
|
/**
|
|
@@ -2701,8 +2737,9 @@ export declare const AssetDelivery: Readonly<{
|
|
|
2701
2737
|
* This field is private and should not be used, use `tag` instead.
|
|
2702
2738
|
*/
|
|
2703
2739
|
readonly [uniffiTypeNameSymbol]: "AssetDelivery";
|
|
2704
|
-
readonly tag: AssetDelivery_Tags.
|
|
2740
|
+
readonly tag: AssetDelivery_Tags.Both;
|
|
2705
2741
|
readonly inner: Readonly<{
|
|
2742
|
+
binders: Array<Binder>;
|
|
2706
2743
|
output: SignOutput;
|
|
2707
2744
|
}>;
|
|
2708
2745
|
};
|
|
@@ -2712,51 +2749,48 @@ export declare const AssetDelivery: Readonly<{
|
|
|
2712
2749
|
* This field is private and should not be used, use `tag` instead.
|
|
2713
2750
|
*/
|
|
2714
2751
|
readonly [uniffiTypeNameSymbol]: "AssetDelivery";
|
|
2715
|
-
readonly tag: AssetDelivery_Tags.
|
|
2752
|
+
readonly tag: AssetDelivery_Tags.Both;
|
|
2716
2753
|
readonly inner: Readonly<{
|
|
2754
|
+
binders: Array<Binder>;
|
|
2717
2755
|
output: SignOutput;
|
|
2718
2756
|
}>;
|
|
2719
2757
|
};
|
|
2720
2758
|
};
|
|
2721
2759
|
}>;
|
|
2722
2760
|
/**
|
|
2723
|
-
*
|
|
2761
|
+
* How a static asset's manifest is delivered, which binders it declares, and what comes back.
|
|
2724
2762
|
*
|
|
2725
|
-
* Embedded manifests
|
|
2726
|
-
*
|
|
2727
|
-
* asset, so it names no output
|
|
2763
|
+
* Embedded manifests may still need bindings, for example to describe a bound watermark, but
|
|
2764
|
+
* are not indexed. Remote needs at least one resolved binding, from a binder or a bound
|
|
2765
|
+
* watermark action, and never touches the asset, so it names no output; both is recoverable
|
|
2766
|
+
* through its embedded manifest and permits an empty strategy list.
|
|
2728
2767
|
*/
|
|
2729
|
-
export type AssetDelivery = InstanceType<typeof AssetDelivery['Embedded' | 'Remote' | '
|
|
2768
|
+
export type AssetDelivery = InstanceType<typeof AssetDelivery['Embedded' | 'Remote' | 'Both']>;
|
|
2730
2769
|
/**
|
|
2731
|
-
*
|
|
2770
|
+
* Options for `sign`. The delivery owns where the manifest lives, its binders and what comes
|
|
2771
|
+
* back; the format is how the asset's is known, stated or sniffed; the thumbnail is the claim
|
|
2772
|
+
* thumbnail the caller rendered, since the split-signer never sees the asset.
|
|
2732
2773
|
*/
|
|
2733
2774
|
export type SignOptions = {
|
|
2734
2775
|
delivery: AssetDelivery;
|
|
2735
|
-
|
|
2736
|
-
* The asset's media type; `None` reads it from the leading bytes.
|
|
2737
|
-
*/
|
|
2738
|
-
format?: string;
|
|
2739
|
-
/**
|
|
2740
|
-
* The claim thumbnail, rendered by the caller: the split signer never sees the asset.
|
|
2741
|
-
*/
|
|
2776
|
+
format: AssetFormat;
|
|
2742
2777
|
thumbnail?: Thumbnail;
|
|
2743
|
-
softBindings: Array<SoftBindingSource>;
|
|
2744
2778
|
};
|
|
2745
2779
|
/**
|
|
2746
2780
|
* Generated factory for {@link SignOptions} record objects.
|
|
2747
2781
|
*/
|
|
2748
2782
|
export declare const SignOptions: Readonly<{
|
|
2749
|
-
create: (partial: Partial<SignOptions> & Required<Omit<SignOptions, "
|
|
2750
|
-
new: (partial: Partial<SignOptions> & Required<Omit<SignOptions, "
|
|
2783
|
+
create: (partial: Partial<SignOptions> & Required<Omit<SignOptions, "thumbnail">>) => SignOptions;
|
|
2784
|
+
new: (partial: Partial<SignOptions> & Required<Omit<SignOptions, "thumbnail">>) => SignOptions;
|
|
2751
2785
|
defaults: () => Partial<SignOptions>;
|
|
2752
2786
|
}>;
|
|
2753
2787
|
/**
|
|
2754
2788
|
* Result of [`AssetIssuer::sign`](super::AssetIssuer::sign): the sidecar to embed plus its active
|
|
2755
|
-
* C2PA manifest id.
|
|
2789
|
+
* C2PA manifest id. Remote and both modes persist that id; embedded mode does not.
|
|
2756
2790
|
*/
|
|
2757
2791
|
export type SignOutcome = {
|
|
2758
2792
|
/**
|
|
2759
|
-
* The manifest sidecar to embed into the asset (see `embed`).
|
|
2793
|
+
* The manifest sidecar to embed into the asset (see [`embed`](crate::ffi::embed)).
|
|
2760
2794
|
*/
|
|
2761
2795
|
sidecar: ArrayBuffer;
|
|
2762
2796
|
/**
|
|
@@ -2772,23 +2806,23 @@ export declare const SignOutcome: Readonly<{
|
|
|
2772
2806
|
new: (partial: Partial<SignOutcome> & Required<Omit<SignOutcome, never>>) => SignOutcome;
|
|
2773
2807
|
defaults: () => Partial<SignOutcome>;
|
|
2774
2808
|
}>;
|
|
2775
|
-
export declare enum
|
|
2809
|
+
export declare enum Origin_Tags {
|
|
2776
2810
|
Created = "Created",
|
|
2777
2811
|
Opened = "Opened"
|
|
2778
2812
|
}
|
|
2779
2813
|
/**
|
|
2780
|
-
* An origin a stream states; see the core [`provenance::
|
|
2814
|
+
* An origin a live stream states; see the core [`provenance::Origin`].
|
|
2781
2815
|
*/
|
|
2782
|
-
export declare const
|
|
2783
|
-
instanceOf: (obj: any) => obj is
|
|
2816
|
+
export declare const Origin: Readonly<{
|
|
2817
|
+
instanceOf: (obj: any) => obj is Origin;
|
|
2784
2818
|
Created: {
|
|
2785
2819
|
new (v0: CreatedOrigin): {
|
|
2786
2820
|
/**
|
|
2787
2821
|
* @private
|
|
2788
2822
|
* This field is private and should not be used, use `tag` instead.
|
|
2789
2823
|
*/
|
|
2790
|
-
readonly [uniffiTypeNameSymbol]: "
|
|
2791
|
-
readonly tag:
|
|
2824
|
+
readonly [uniffiTypeNameSymbol]: "Origin";
|
|
2825
|
+
readonly tag: Origin_Tags.Created;
|
|
2792
2826
|
readonly inner: Readonly<[CreatedOrigin]>;
|
|
2793
2827
|
};
|
|
2794
2828
|
"new"(v0: CreatedOrigin): {
|
|
@@ -2796,8 +2830,8 @@ export declare const StreamOrigin: Readonly<{
|
|
|
2796
2830
|
* @private
|
|
2797
2831
|
* This field is private and should not be used, use `tag` instead.
|
|
2798
2832
|
*/
|
|
2799
|
-
readonly [uniffiTypeNameSymbol]: "
|
|
2800
|
-
readonly tag:
|
|
2833
|
+
readonly [uniffiTypeNameSymbol]: "Origin";
|
|
2834
|
+
readonly tag: Origin_Tags.Created;
|
|
2801
2835
|
readonly inner: Readonly<[CreatedOrigin]>;
|
|
2802
2836
|
};
|
|
2803
2837
|
instanceOf(obj: any): obj is {
|
|
@@ -2805,8 +2839,8 @@ export declare const StreamOrigin: Readonly<{
|
|
|
2805
2839
|
* @private
|
|
2806
2840
|
* This field is private and should not be used, use `tag` instead.
|
|
2807
2841
|
*/
|
|
2808
|
-
readonly [uniffiTypeNameSymbol]: "
|
|
2809
|
-
readonly tag:
|
|
2842
|
+
readonly [uniffiTypeNameSymbol]: "Origin";
|
|
2843
|
+
readonly tag: Origin_Tags.Created;
|
|
2810
2844
|
readonly inner: Readonly<[CreatedOrigin]>;
|
|
2811
2845
|
};
|
|
2812
2846
|
};
|
|
@@ -2816,8 +2850,8 @@ export declare const StreamOrigin: Readonly<{
|
|
|
2816
2850
|
* @private
|
|
2817
2851
|
* This field is private and should not be used, use `tag` instead.
|
|
2818
2852
|
*/
|
|
2819
|
-
readonly [uniffiTypeNameSymbol]: "
|
|
2820
|
-
readonly tag:
|
|
2853
|
+
readonly [uniffiTypeNameSymbol]: "Origin";
|
|
2854
|
+
readonly tag: Origin_Tags.Opened;
|
|
2821
2855
|
readonly inner: Readonly<[OpenedOrigin]>;
|
|
2822
2856
|
};
|
|
2823
2857
|
"new"(v0: OpenedOrigin): {
|
|
@@ -2825,8 +2859,8 @@ export declare const StreamOrigin: Readonly<{
|
|
|
2825
2859
|
* @private
|
|
2826
2860
|
* This field is private and should not be used, use `tag` instead.
|
|
2827
2861
|
*/
|
|
2828
|
-
readonly [uniffiTypeNameSymbol]: "
|
|
2829
|
-
readonly tag:
|
|
2862
|
+
readonly [uniffiTypeNameSymbol]: "Origin";
|
|
2863
|
+
readonly tag: Origin_Tags.Opened;
|
|
2830
2864
|
readonly inner: Readonly<[OpenedOrigin]>;
|
|
2831
2865
|
};
|
|
2832
2866
|
instanceOf(obj: any): obj is {
|
|
@@ -2834,73 +2868,62 @@ export declare const StreamOrigin: Readonly<{
|
|
|
2834
2868
|
* @private
|
|
2835
2869
|
* This field is private and should not be used, use `tag` instead.
|
|
2836
2870
|
*/
|
|
2837
|
-
readonly [uniffiTypeNameSymbol]: "
|
|
2838
|
-
readonly tag:
|
|
2871
|
+
readonly [uniffiTypeNameSymbol]: "Origin";
|
|
2872
|
+
readonly tag: Origin_Tags.Opened;
|
|
2839
2873
|
readonly inner: Readonly<[OpenedOrigin]>;
|
|
2840
2874
|
};
|
|
2841
2875
|
};
|
|
2842
2876
|
}>;
|
|
2843
2877
|
/**
|
|
2844
|
-
* An origin a stream states; see the core [`provenance::
|
|
2878
|
+
* An origin a live stream states; see the core [`provenance::Origin`].
|
|
2845
2879
|
*/
|
|
2846
|
-
export type
|
|
2880
|
+
export type Origin = InstanceType<typeof Origin['Created' | 'Opened']>;
|
|
2847
2881
|
/**
|
|
2848
|
-
* The manifest a stream's init segment is signed with: the asset spec's twin whose origin
|
|
2849
|
-
* [`
|
|
2882
|
+
* The manifest a live stream's init segment is signed with: the asset spec's twin whose origin
|
|
2883
|
+
* is an [`Origin`], since an init segment has no store the SDK opens as the parent.
|
|
2850
2884
|
*/
|
|
2851
2885
|
export type StreamManifestSpec = {
|
|
2852
2886
|
title?: string;
|
|
2853
|
-
origin:
|
|
2854
|
-
/**
|
|
2855
|
-
* Every action performed on the asset; the manifest states the list is complete (C2PA
|
|
2856
|
-
* `allActionsIncluded`).
|
|
2857
|
-
*/
|
|
2887
|
+
origin: Origin;
|
|
2858
2888
|
actions: Array<Action>;
|
|
2859
2889
|
identity?: Identity;
|
|
2860
2890
|
assertions: Array<Assertion>;
|
|
2861
|
-
|
|
2862
|
-
* Keyed by the handle actions name them by.
|
|
2863
|
-
*/
|
|
2864
|
-
components: Map<string, Component>;
|
|
2891
|
+
components: Array<Component>;
|
|
2865
2892
|
};
|
|
2866
2893
|
/**
|
|
2867
2894
|
* Generated factory for {@link StreamManifestSpec} record objects.
|
|
2868
2895
|
*/
|
|
2869
2896
|
export declare const StreamManifestSpec: Readonly<{
|
|
2870
|
-
create: (partial: Partial<StreamManifestSpec> & Required<Omit<StreamManifestSpec, "
|
|
2871
|
-
new: (partial: Partial<StreamManifestSpec> & Required<Omit<StreamManifestSpec, "
|
|
2897
|
+
create: (partial: Partial<StreamManifestSpec> & Required<Omit<StreamManifestSpec, "identity" | "title">>) => StreamManifestSpec;
|
|
2898
|
+
new: (partial: Partial<StreamManifestSpec> & Required<Omit<StreamManifestSpec, "identity" | "title">>) => StreamManifestSpec;
|
|
2872
2899
|
defaults: () => Partial<StreamManifestSpec>;
|
|
2873
2900
|
}>;
|
|
2874
2901
|
/**
|
|
2875
|
-
* One stream, from `init` to `stop
|
|
2902
|
+
* One live stream, from `init` to `stop`.
|
|
2876
2903
|
*
|
|
2877
|
-
* Carries the whole per-stream state, so it cannot be mistyped
|
|
2878
|
-
* stream's: every call after `init` goes through the handle that started
|
|
2879
|
-
* the stream ever appears in a caller's argument list again.
|
|
2880
|
-
* it refuses every call.
|
|
2904
|
+
* Carries the whole per-stream state, so it cannot be mistyped, reused after `stop`, or
|
|
2905
|
+
* confused with another stream's: every call after `init` goes through the handle that started
|
|
2906
|
+
* it, and nothing about the stream ever appears in a caller's argument list again.
|
|
2881
2907
|
*/
|
|
2882
2908
|
export interface StreamSessionLike {
|
|
2883
2909
|
/**
|
|
2884
2910
|
* Sign one media (moof) segment from a [`RangeSource`]. Does not touch the signer channel;
|
|
2885
2911
|
* works through a signer outage. `rotation_due` flips when the key validity threshold
|
|
2886
|
-
* passes;
|
|
2912
|
+
* passes; re-`init` on the issuer to rotate.
|
|
2887
2913
|
*
|
|
2888
2914
|
* # Errors
|
|
2889
2915
|
*
|
|
2890
|
-
* Fails on a vault error, a segment that isn't a BMFF media segment
|
|
2891
|
-
* `FAILED_PRECONDITION` (`SESSION_ENDED`) after `stop` or a `rotate`.
|
|
2916
|
+
* Fails on a vault error, or a segment that isn't a BMFF media segment.
|
|
2892
2917
|
*/
|
|
2893
|
-
sign(
|
|
2918
|
+
sign(body: RangeSource, asyncOpts_?: {
|
|
2894
2919
|
signal: AbortSignal;
|
|
2895
2920
|
}): Promise<SegmentOutcome>;
|
|
2896
2921
|
/**
|
|
2897
|
-
* End the stream: forget its session key, so nothing can sign under it again.
|
|
2898
|
-
* stopping an ended session succeeds. A failed stop can be retried.
|
|
2922
|
+
* End the stream: forget its session key, so nothing can sign under it again.
|
|
2899
2923
|
*
|
|
2900
2924
|
* # Errors
|
|
2901
2925
|
*
|
|
2902
|
-
* Fails on a vault error
|
|
2903
|
-
* `stop` or `rotate` in flight.
|
|
2926
|
+
* Fails on a vault error.
|
|
2904
2927
|
*/
|
|
2905
2928
|
stop(asyncOpts_?: {
|
|
2906
2929
|
signal: AbortSignal;
|
|
@@ -2911,12 +2934,11 @@ export interface StreamSessionLike {
|
|
|
2911
2934
|
*/
|
|
2912
2935
|
export type StreamSessionInterface = StreamSessionLike;
|
|
2913
2936
|
/**
|
|
2914
|
-
* One stream, from `init` to `stop
|
|
2937
|
+
* One live stream, from `init` to `stop`.
|
|
2915
2938
|
*
|
|
2916
|
-
* Carries the whole per-stream state, so it cannot be mistyped
|
|
2917
|
-
* stream's: every call after `init` goes through the handle that started
|
|
2918
|
-
* the stream ever appears in a caller's argument list again.
|
|
2919
|
-
* it refuses every call.
|
|
2939
|
+
* Carries the whole per-stream state, so it cannot be mistyped, reused after `stop`, or
|
|
2940
|
+
* confused with another stream's: every call after `init` goes through the handle that started
|
|
2941
|
+
* it, and nothing about the stream ever appears in a caller's argument list again.
|
|
2920
2942
|
*/
|
|
2921
2943
|
export declare class StreamSession extends UniffiAbstractObject implements StreamSessionLike {
|
|
2922
2944
|
readonly [uniffiTypeNameSymbol] = "StreamSession";
|
|
@@ -2926,24 +2948,21 @@ export declare class StreamSession extends UniffiAbstractObject implements Strea
|
|
|
2926
2948
|
/**
|
|
2927
2949
|
* Sign one media (moof) segment from a [`RangeSource`]. Does not touch the signer channel;
|
|
2928
2950
|
* works through a signer outage. `rotation_due` flips when the key validity threshold
|
|
2929
|
-
* passes;
|
|
2951
|
+
* passes; re-`init` on the issuer to rotate.
|
|
2930
2952
|
*
|
|
2931
2953
|
* # Errors
|
|
2932
2954
|
*
|
|
2933
|
-
* Fails on a vault error, a segment that isn't a BMFF media segment
|
|
2934
|
-
* `FAILED_PRECONDITION` (`SESSION_ENDED`) after `stop` or a `rotate`.
|
|
2955
|
+
* Fails on a vault error, or a segment that isn't a BMFF media segment.
|
|
2935
2956
|
*/
|
|
2936
|
-
sign(
|
|
2957
|
+
sign(body: RangeSource, asyncOpts_?: {
|
|
2937
2958
|
signal: AbortSignal;
|
|
2938
2959
|
}): Promise<SegmentOutcome>;
|
|
2939
2960
|
/**
|
|
2940
|
-
* End the stream: forget its session key, so nothing can sign under it again.
|
|
2941
|
-
* stopping an ended session succeeds. A failed stop can be retried.
|
|
2961
|
+
* End the stream: forget its session key, so nothing can sign under it again.
|
|
2942
2962
|
*
|
|
2943
2963
|
* # Errors
|
|
2944
2964
|
*
|
|
2945
|
-
* Fails on a vault error
|
|
2946
|
-
* `stop` or `rotate` in flight.
|
|
2965
|
+
* Fails on a vault error.
|
|
2947
2966
|
*/
|
|
2948
2967
|
stop(asyncOpts_?: {
|
|
2949
2968
|
signal: AbortSignal;
|
|
@@ -2974,8 +2993,25 @@ export declare const StreamStart: Readonly<{
|
|
|
2974
2993
|
defaults: () => Partial<StreamStart>;
|
|
2975
2994
|
}>;
|
|
2976
2995
|
/**
|
|
2977
|
-
*
|
|
2978
|
-
*
|
|
2996
|
+
* `kid` is the vault-derived handle (typically SHA-256 of SEC1 public).
|
|
2997
|
+
* `public_key_sec1` is uncompressed SEC1 (65 bytes starting with `0x04`
|
|
2998
|
+
* for ES256); the SDK rewraps as `COSE_Key` for §19.4.4.
|
|
2999
|
+
*/
|
|
3000
|
+
export type VaultPublicKey = {
|
|
3001
|
+
kid: ArrayBuffer;
|
|
3002
|
+
publicKeySec1: ArrayBuffer;
|
|
3003
|
+
};
|
|
3004
|
+
/**
|
|
3005
|
+
* Generated factory for {@link VaultPublicKey} record objects.
|
|
3006
|
+
*/
|
|
3007
|
+
export declare const VaultPublicKey: Readonly<{
|
|
3008
|
+
create: (partial: Partial<VaultPublicKey> & Required<Omit<VaultPublicKey, never>>) => VaultPublicKey;
|
|
3009
|
+
new: (partial: Partial<VaultPublicKey> & Required<Omit<VaultPublicKey, never>>) => VaultPublicKey;
|
|
3010
|
+
defaults: () => Partial<VaultPublicKey>;
|
|
3011
|
+
}>;
|
|
3012
|
+
/**
|
|
3013
|
+
* Whether a fragmented-MP4 segment is the init (moov) or a media (moof) segment: which
|
|
3014
|
+
* [`StreamIssuer`](stream::StreamIssuer) entrypoint (`init` vs `sign`) a segment belongs to.
|
|
2979
3015
|
*/
|
|
2980
3016
|
export declare enum SegmentKind {
|
|
2981
3017
|
Init = 0,
|
|
@@ -2998,25 +3034,25 @@ export interface PluginAuthor {
|
|
|
2998
3034
|
* Implement it correctly anyway, since the verify side dispatches on it and whatever
|
|
2999
3035
|
* signs a format is eventually verified by it.
|
|
3000
3036
|
*/
|
|
3001
|
-
sniff(
|
|
3037
|
+
sniff(src: RangeSource, asyncOpts_?: {
|
|
3002
3038
|
signal: AbortSignal;
|
|
3003
3039
|
}): Promise<string | undefined>;
|
|
3004
3040
|
/**
|
|
3005
3041
|
* The manifest window(s), or empty when none is present. MUST be byte-identical
|
|
3006
3042
|
* regardless of slot contents; the sign driver enforces that with a round-trip.
|
|
3007
3043
|
*/
|
|
3008
|
-
locate(
|
|
3044
|
+
locate(src: RangeSource, asyncOpts_?: {
|
|
3009
3045
|
signal: AbortSignal;
|
|
3010
|
-
}): Promise<Array<
|
|
3046
|
+
}): Promise<Array<Region>>;
|
|
3011
3047
|
/**
|
|
3012
3048
|
* Reserve `reserve` bytes of manifest slot by writing container structure through
|
|
3013
|
-
* `
|
|
3049
|
+
* `dst`, and return exactly where it landed. The core excludes those regions from the
|
|
3014
3050
|
* content hash and writes the signed manifest into them, so the plugin never embeds
|
|
3015
3051
|
* and never re-locates.
|
|
3016
3052
|
*/
|
|
3017
|
-
reserveSlot(
|
|
3053
|
+
reserveSlot(dst: RangeSink, reserve: bigint, asyncOpts_?: {
|
|
3018
3054
|
signal: AbortSignal;
|
|
3019
|
-
}): Promise<Array<
|
|
3055
|
+
}): Promise<Array<Region>>;
|
|
3020
3056
|
}
|
|
3021
3057
|
/**
|
|
3022
3058
|
* A C2PA asset signer bound to a [`SignerClient`](super::client::SignerClient).
|
|
@@ -3024,14 +3060,16 @@ export interface PluginAuthor {
|
|
|
3024
3060
|
*/
|
|
3025
3061
|
export interface AssetIssuerLike {
|
|
3026
3062
|
/**
|
|
3027
|
-
* Sign an asset from a [`RangeSource`], returning the sidecar
|
|
3028
|
-
* `options.delivery`
|
|
3029
|
-
*
|
|
3063
|
+
* Sign an asset from a [`RangeSource`], returning the sidecar plus the registry
|
|
3064
|
+
* `manifest_id`. `options.delivery` selects where the manifest lives, its binders and,
|
|
3065
|
+
* through its output, the sink the signed asset is written through. `options.format` is
|
|
3066
|
+
* how the asset's format is known. `plugins` resolves a non-c2pa format (e.g. MXF); see the
|
|
3067
|
+
* module docs for the dispatch.
|
|
3030
3068
|
*
|
|
3031
3069
|
* # Errors
|
|
3032
3070
|
*
|
|
3033
|
-
*
|
|
3034
|
-
*
|
|
3071
|
+
* Fails on RPC failure, a hashing error, an authoring error, a protocol violation,
|
|
3072
|
+
* or when the format can't be inferred and none was given.
|
|
3035
3073
|
*/
|
|
3036
3074
|
sign(source: RangeSource, manifest: AssetManifestSpec, options: SignOptions, plugins: Array<PluginAuthor>, asyncOpts_?: {
|
|
3037
3075
|
signal: AbortSignal;
|
|
@@ -3055,40 +3093,41 @@ export declare class AssetIssuer extends UniffiAbstractObject implements AssetIs
|
|
|
3055
3093
|
*/
|
|
3056
3094
|
static create(client: SignerClientLike): AssetIssuerLike;
|
|
3057
3095
|
/**
|
|
3058
|
-
* Sign an asset from a [`RangeSource`], returning the sidecar
|
|
3059
|
-
* `options.delivery`
|
|
3060
|
-
*
|
|
3096
|
+
* Sign an asset from a [`RangeSource`], returning the sidecar plus the registry
|
|
3097
|
+
* `manifest_id`. `options.delivery` selects where the manifest lives, its binders and,
|
|
3098
|
+
* through its output, the sink the signed asset is written through. `options.format` is
|
|
3099
|
+
* how the asset's format is known. `plugins` resolves a non-c2pa format (e.g. MXF); see the
|
|
3100
|
+
* module docs for the dispatch.
|
|
3061
3101
|
*
|
|
3062
3102
|
* # Errors
|
|
3063
3103
|
*
|
|
3064
|
-
*
|
|
3065
|
-
*
|
|
3104
|
+
* Fails on RPC failure, a hashing error, an authoring error, a protocol violation,
|
|
3105
|
+
* or when the format can't be inferred and none was given.
|
|
3066
3106
|
*/
|
|
3067
|
-
sign(source: RangeSource, manifest: AssetManifestSpec, options: SignOptions, plugins
|
|
3107
|
+
sign(source: RangeSource, manifest: AssetManifestSpec, options: SignOptions, plugins: Array<PluginAuthor>, asyncOpts_?: {
|
|
3068
3108
|
signal: AbortSignal;
|
|
3069
3109
|
}): Promise<SignOutcome>;
|
|
3070
3110
|
uniffiDestroy(): void;
|
|
3071
3111
|
static instanceOf(obj_: any): obj_ is AssetIssuer;
|
|
3072
3112
|
}
|
|
3073
3113
|
/**
|
|
3074
|
-
*
|
|
3114
|
+
* Applies invisible watermarks through the deployment's marking service.
|
|
3075
3115
|
*
|
|
3076
3116
|
* Separate from [`AssetIssuer`] because marking is a content edit, not a signing step: it
|
|
3077
|
-
* happens before signing, and it returns the
|
|
3117
|
+
* changes pixels, it happens before signing, and it returns the provenance facts it created
|
|
3118
|
+
* rather than leaving anything downstream to infer them.
|
|
3078
3119
|
*/
|
|
3079
3120
|
export interface AssetMarkerLike {
|
|
3080
3121
|
/**
|
|
3081
|
-
* Mark an
|
|
3082
|
-
*
|
|
3083
|
-
* Sign what `into` holds.
|
|
3122
|
+
* Mark an image from a [`RangeSource`] and return it with the actions the marking created,
|
|
3123
|
+
* each bound one carrying its binding.
|
|
3084
3124
|
*
|
|
3085
3125
|
* # Errors
|
|
3086
3126
|
*
|
|
3087
|
-
*
|
|
3088
|
-
*
|
|
3089
|
-
* refused or answered out of contract.
|
|
3127
|
+
* Fails when the format can't be resolved, the asset is above the upload ceiling, the HTTP
|
|
3128
|
+
* request fails, or the service response is malformed.
|
|
3090
3129
|
*/
|
|
3091
|
-
mark(source: RangeSource,
|
|
3130
|
+
mark(source: RangeSource, options: MarkOptions, asyncOpts_?: {
|
|
3092
3131
|
signal: AbortSignal;
|
|
3093
3132
|
}): Promise<MarkOutcome>;
|
|
3094
3133
|
}
|
|
@@ -3097,10 +3136,11 @@ export interface AssetMarkerLike {
|
|
|
3097
3136
|
*/
|
|
3098
3137
|
export type AssetMarkerInterface = AssetMarkerLike;
|
|
3099
3138
|
/**
|
|
3100
|
-
*
|
|
3139
|
+
* Applies invisible watermarks through the deployment's marking service.
|
|
3101
3140
|
*
|
|
3102
3141
|
* Separate from [`AssetIssuer`] because marking is a content edit, not a signing step: it
|
|
3103
|
-
* happens before signing, and it returns the
|
|
3142
|
+
* changes pixels, it happens before signing, and it returns the provenance facts it created
|
|
3143
|
+
* rather than leaving anything downstream to infer them.
|
|
3104
3144
|
*/
|
|
3105
3145
|
export declare class AssetMarker extends UniffiAbstractObject implements AssetMarkerLike {
|
|
3106
3146
|
readonly [uniffiTypeNameSymbol] = "AssetMarker";
|
|
@@ -3112,17 +3152,15 @@ export declare class AssetMarker extends UniffiAbstractObject implements AssetMa
|
|
|
3112
3152
|
*/
|
|
3113
3153
|
static create(client: SignerClientLike): AssetMarkerLike;
|
|
3114
3154
|
/**
|
|
3115
|
-
* Mark an
|
|
3116
|
-
*
|
|
3117
|
-
* Sign what `into` holds.
|
|
3155
|
+
* Mark an image from a [`RangeSource`] and return it with the actions the marking created,
|
|
3156
|
+
* each bound one carrying its binding.
|
|
3118
3157
|
*
|
|
3119
3158
|
* # Errors
|
|
3120
3159
|
*
|
|
3121
|
-
*
|
|
3122
|
-
*
|
|
3123
|
-
* refused or answered out of contract.
|
|
3160
|
+
* Fails when the format can't be resolved, the asset is above the upload ceiling, the HTTP
|
|
3161
|
+
* request fails, or the service response is malformed.
|
|
3124
3162
|
*/
|
|
3125
|
-
mark(source: RangeSource,
|
|
3163
|
+
mark(source: RangeSource, options: MarkOptions, asyncOpts_?: {
|
|
3126
3164
|
signal: AbortSignal;
|
|
3127
3165
|
}): Promise<MarkOutcome>;
|
|
3128
3166
|
uniffiDestroy(): void;
|
|
@@ -3140,6 +3178,10 @@ export declare class AssetMarker extends UniffiAbstractObject implements AssetMa
|
|
|
3140
3178
|
* That is what makes [`MemorySink`]'s ceiling stop applying: there is no byte array to count in an
|
|
3141
3179
|
* `i32` and nothing resident, so a multi-GB master is signed at the disk's speed rather than the
|
|
3142
3180
|
* host thread's, and `bytes()` is not something anyone has to call.
|
|
3181
|
+
*
|
|
3182
|
+
* No lock. A positioned write to a file is one `pwrite`, which the OS already makes atomic per
|
|
3183
|
+
* call, and [`RangeWriter`] takes a shared borrow precisely so a backend like this pays nothing
|
|
3184
|
+
* for being shared.
|
|
3143
3185
|
*/
|
|
3144
3186
|
export interface FileSinkLike {
|
|
3145
3187
|
length(asyncOpts_?: {
|
|
@@ -3171,6 +3213,10 @@ export type FileSinkInterface = FileSinkLike;
|
|
|
3171
3213
|
* That is what makes [`MemorySink`]'s ceiling stop applying: there is no byte array to count in an
|
|
3172
3214
|
* `i32` and nothing resident, so a multi-GB master is signed at the disk's speed rather than the
|
|
3173
3215
|
* host thread's, and `bytes()` is not something anyone has to call.
|
|
3216
|
+
*
|
|
3217
|
+
* No lock. A positioned write to a file is one `pwrite`, which the OS already makes atomic per
|
|
3218
|
+
* call, and [`RangeWriter`] takes a shared borrow precisely so a backend like this pays nothing
|
|
3219
|
+
* for being shared.
|
|
3174
3220
|
*/
|
|
3175
3221
|
export declare class FileSink extends UniffiAbstractObject implements FileSinkLike {
|
|
3176
3222
|
readonly [uniffiTypeNameSymbol] = "FileSink";
|
|
@@ -3178,8 +3224,8 @@ export declare class FileSink extends UniffiAbstractObject implements FileSinkLi
|
|
|
3178
3224
|
readonly [pointerLiteralSymbol]: UniffiHandle;
|
|
3179
3225
|
private constructor();
|
|
3180
3226
|
/**
|
|
3181
|
-
* Create `path`, or truncate it if it is already there. What
|
|
3182
|
-
*
|
|
3227
|
+
* Create `path`, or truncate it if it is already there. What `embed` wants: it composes a
|
|
3228
|
+
* whole asset, so the sink starts empty and grows.
|
|
3183
3229
|
*
|
|
3184
3230
|
* # Errors
|
|
3185
3231
|
*
|
|
@@ -3187,9 +3233,9 @@ export declare class FileSink extends UniffiAbstractObject implements FileSinkLi
|
|
|
3187
3233
|
*/
|
|
3188
3234
|
static create(path: string): FileSinkLike;
|
|
3189
3235
|
/**
|
|
3190
|
-
* Open an existing `path` for reading and writing, keeping what is in it. What
|
|
3191
|
-
* the asset is already there and
|
|
3192
|
-
* destroy the very thing being signed.
|
|
3236
|
+
* Open an existing `path` for reading and writing, keeping what is in it. What a fixed-slot
|
|
3237
|
+
* patch wants: the asset is already there and only its reserved range changes, so truncating
|
|
3238
|
+
* it would destroy the very thing being signed.
|
|
3193
3239
|
*
|
|
3194
3240
|
* # Errors
|
|
3195
3241
|
*
|
|
@@ -3278,8 +3324,70 @@ export declare class FileSource extends UniffiAbstractObject implements FileSour
|
|
|
3278
3324
|
static instanceOf(obj_: any): obj_ is FileSource;
|
|
3279
3325
|
}
|
|
3280
3326
|
/**
|
|
3281
|
-
*
|
|
3282
|
-
|
|
3327
|
+
* A binding you already hold, such as an out-of-band video ISCC. Reads nothing.
|
|
3328
|
+
*/
|
|
3329
|
+
export interface HeldBinderLike {
|
|
3330
|
+
derive(source: RangeSource, options: DeriveOptions, asyncOpts_?: {
|
|
3331
|
+
signal: AbortSignal;
|
|
3332
|
+
}): Promise<SoftBinding | undefined>;
|
|
3333
|
+
}
|
|
3334
|
+
/**
|
|
3335
|
+
* @deprecated Use `HeldBinderLike` instead.
|
|
3336
|
+
*/
|
|
3337
|
+
export type HeldBinderInterface = HeldBinderLike;
|
|
3338
|
+
/**
|
|
3339
|
+
* A binding you already hold, such as an out-of-band video ISCC. Reads nothing.
|
|
3340
|
+
*/
|
|
3341
|
+
export declare class HeldBinder extends UniffiAbstractObject implements HeldBinderLike {
|
|
3342
|
+
readonly [uniffiTypeNameSymbol] = "HeldBinder";
|
|
3343
|
+
readonly [destructorGuardSymbol]: UniffiGcObject;
|
|
3344
|
+
readonly [pointerLiteralSymbol]: UniffiHandle;
|
|
3345
|
+
/**
|
|
3346
|
+
* # Errors
|
|
3347
|
+
*
|
|
3348
|
+
* A binding with an empty algorithm or value.
|
|
3349
|
+
*/
|
|
3350
|
+
constructor(binding: SoftBinding);
|
|
3351
|
+
derive(source: RangeSource, options: DeriveOptions, asyncOpts_?: {
|
|
3352
|
+
signal: AbortSignal;
|
|
3353
|
+
}): Promise<SoftBinding | undefined>;
|
|
3354
|
+
uniffiDestroy(): void;
|
|
3355
|
+
static instanceOf(obj_: any): obj_ is HeldBinder;
|
|
3356
|
+
}
|
|
3357
|
+
/**
|
|
3358
|
+
* Local ISCC Image-Code for supported image formats.
|
|
3359
|
+
*/
|
|
3360
|
+
export interface IsccBinderLike {
|
|
3361
|
+
derive(source: RangeSource, options: DeriveOptions, asyncOpts_?: {
|
|
3362
|
+
signal: AbortSignal;
|
|
3363
|
+
}): Promise<SoftBinding | undefined>;
|
|
3364
|
+
}
|
|
3365
|
+
/**
|
|
3366
|
+
* @deprecated Use `IsccBinderLike` instead.
|
|
3367
|
+
*/
|
|
3368
|
+
export type IsccBinderInterface = IsccBinderLike;
|
|
3369
|
+
/**
|
|
3370
|
+
* Local ISCC Image-Code for supported image formats.
|
|
3371
|
+
*/
|
|
3372
|
+
export declare class IsccBinder extends UniffiAbstractObject implements IsccBinderLike {
|
|
3373
|
+
readonly [uniffiTypeNameSymbol] = "IsccBinder";
|
|
3374
|
+
readonly [destructorGuardSymbol]: UniffiGcObject;
|
|
3375
|
+
readonly [pointerLiteralSymbol]: UniffiHandle;
|
|
3376
|
+
constructor();
|
|
3377
|
+
derive(source: RangeSource, options: DeriveOptions, asyncOpts_?: {
|
|
3378
|
+
signal: AbortSignal;
|
|
3379
|
+
}): Promise<SoftBinding | undefined>;
|
|
3380
|
+
uniffiDestroy(): void;
|
|
3381
|
+
static instanceOf(obj_: any): obj_ is IsccBinder;
|
|
3382
|
+
}
|
|
3383
|
+
/**
|
|
3384
|
+
* An in-memory [`RangeSink`], for a caller that wants `embed`'s composed result back
|
|
3385
|
+
* without writing a custom sink. A **native** implementation of a `with_foreign`
|
|
3386
|
+
* interface (`#[uniffi::export]` on the trait impl, not the foreign callback path), so
|
|
3387
|
+
* a Python caller writes no subclass: `sink = MemorySink(data)`, pass it to `embed`,
|
|
3388
|
+
* then read `sink.bytes()` back. `&self`-only methods need interior mutability, so the
|
|
3389
|
+
* buffer is `Mutex`-guarded (contention is a non-issue: the SDK calls it from one task
|
|
3390
|
+
* at a time per sink).
|
|
3283
3391
|
*
|
|
3284
3392
|
* # Size ceiling
|
|
3285
3393
|
*
|
|
@@ -3291,8 +3399,9 @@ export declare class FileSource extends UniffiAbstractObject implements FileSour
|
|
|
3291
3399
|
* [`RangeSink`] over a file (or any store that seeks) for anything approaching that: the SDK
|
|
3292
3400
|
* writes ranges straight through it and never holds the asset.
|
|
3293
3401
|
*
|
|
3294
|
-
* Construction and `bytes()` each
|
|
3295
|
-
*
|
|
3402
|
+
* Construction and `bytes()` each copy the whole asset, on the calling thread: together with a
|
|
3403
|
+
* `MemorySource` over the same asset that is about 12ms for 10 MB and 1.2s for 500 MB. A ranged
|
|
3404
|
+
* sink pays none of it.
|
|
3296
3405
|
*/
|
|
3297
3406
|
export interface MemorySinkLike {
|
|
3298
3407
|
/**
|
|
@@ -3322,8 +3431,13 @@ export interface MemorySinkLike {
|
|
|
3322
3431
|
*/
|
|
3323
3432
|
export type MemorySinkInterface = MemorySinkLike;
|
|
3324
3433
|
/**
|
|
3325
|
-
* An in-memory [`RangeSink`] for a caller that wants `embed`'s composed result back
|
|
3326
|
-
*
|
|
3434
|
+
* An in-memory [`RangeSink`], for a caller that wants `embed`'s composed result back
|
|
3435
|
+
* without writing a custom sink. A **native** implementation of a `with_foreign`
|
|
3436
|
+
* interface (`#[uniffi::export]` on the trait impl, not the foreign callback path), so
|
|
3437
|
+
* a Python caller writes no subclass: `sink = MemorySink(data)`, pass it to `embed`,
|
|
3438
|
+
* then read `sink.bytes()` back. `&self`-only methods need interior mutability, so the
|
|
3439
|
+
* buffer is `Mutex`-guarded (contention is a non-issue: the SDK calls it from one task
|
|
3440
|
+
* at a time per sink).
|
|
3327
3441
|
*
|
|
3328
3442
|
* # Size ceiling
|
|
3329
3443
|
*
|
|
@@ -3335,8 +3449,9 @@ export type MemorySinkInterface = MemorySinkLike;
|
|
|
3335
3449
|
* [`RangeSink`] over a file (or any store that seeks) for anything approaching that: the SDK
|
|
3336
3450
|
* writes ranges straight through it and never holds the asset.
|
|
3337
3451
|
*
|
|
3338
|
-
* Construction and `bytes()` each
|
|
3339
|
-
*
|
|
3452
|
+
* Construction and `bytes()` each copy the whole asset, on the calling thread: together with a
|
|
3453
|
+
* `MemorySource` over the same asset that is about 12ms for 10 MB and 1.2s for 500 MB. A ranged
|
|
3454
|
+
* sink pays none of it.
|
|
3340
3455
|
*/
|
|
3341
3456
|
export declare class MemorySink extends UniffiAbstractObject implements MemorySinkLike {
|
|
3342
3457
|
readonly [uniffiTypeNameSymbol] = "MemorySink";
|
|
@@ -3373,8 +3488,11 @@ export declare class MemorySink extends UniffiAbstractObject implements MemorySi
|
|
|
3373
3488
|
static instanceOf(obj_: any): obj_ is MemorySink;
|
|
3374
3489
|
}
|
|
3375
3490
|
/**
|
|
3376
|
-
* An in-memory [`RangeSource`] for a caller that already holds the whole asset as
|
|
3377
|
-
*
|
|
3491
|
+
* An in-memory [`RangeSource`], for a caller that already holds the whole asset as
|
|
3492
|
+
* bytes and doesn't want to write a custom source. A **native** implementation of a
|
|
3493
|
+
* `with_foreign` interface (`#[uniffi::export]` on the trait impl, not the foreign
|
|
3494
|
+
* callback path), so the generated binding is a plain constructible object and a Python
|
|
3495
|
+
* caller writes no subclass at all: `MemorySource(data)`.
|
|
3378
3496
|
*
|
|
3379
3497
|
* # Size ceiling
|
|
3380
3498
|
*
|
|
@@ -3384,10 +3502,9 @@ export declare class MemorySink extends UniffiAbstractObject implements MemorySi
|
|
|
3384
3502
|
* [`RangeSource`] over a file handle for anything approaching that: the SDK only ever asks for
|
|
3385
3503
|
* bounded ranges, so nothing else has to hold the asset.
|
|
3386
3504
|
*
|
|
3387
|
-
* Construction
|
|
3388
|
-
*
|
|
3389
|
-
*
|
|
3390
|
-
* [`FileSource`] pays it.
|
|
3505
|
+
* Construction copies the whole asset across the boundary, on the calling thread: about 5ms for
|
|
3506
|
+
* 10 MB, 315ms for 500 MB. That is the one part of a sign or verify the SDK cannot move off your
|
|
3507
|
+
* thread, and neither a ranged source nor [`FileSource`] pays it.
|
|
3391
3508
|
*/
|
|
3392
3509
|
export interface MemorySourceLike {
|
|
3393
3510
|
length(asyncOpts_?: {
|
|
@@ -3402,8 +3519,11 @@ export interface MemorySourceLike {
|
|
|
3402
3519
|
*/
|
|
3403
3520
|
export type MemorySourceInterface = MemorySourceLike;
|
|
3404
3521
|
/**
|
|
3405
|
-
* An in-memory [`RangeSource`] for a caller that already holds the whole asset as
|
|
3406
|
-
*
|
|
3522
|
+
* An in-memory [`RangeSource`], for a caller that already holds the whole asset as
|
|
3523
|
+
* bytes and doesn't want to write a custom source. A **native** implementation of a
|
|
3524
|
+
* `with_foreign` interface (`#[uniffi::export]` on the trait impl, not the foreign
|
|
3525
|
+
* callback path), so the generated binding is a plain constructible object and a Python
|
|
3526
|
+
* caller writes no subclass at all: `MemorySource(data)`.
|
|
3407
3527
|
*
|
|
3408
3528
|
* # Size ceiling
|
|
3409
3529
|
*
|
|
@@ -3413,10 +3533,9 @@ export type MemorySourceInterface = MemorySourceLike;
|
|
|
3413
3533
|
* [`RangeSource`] over a file handle for anything approaching that: the SDK only ever asks for
|
|
3414
3534
|
* bounded ranges, so nothing else has to hold the asset.
|
|
3415
3535
|
*
|
|
3416
|
-
* Construction
|
|
3417
|
-
*
|
|
3418
|
-
*
|
|
3419
|
-
* [`FileSource`] pays it.
|
|
3536
|
+
* Construction copies the whole asset across the boundary, on the calling thread: about 5ms for
|
|
3537
|
+
* 10 MB, 315ms for 500 MB. That is the one part of a sign or verify the SDK cannot move off your
|
|
3538
|
+
* thread, and neither a ranged source nor [`FileSource`] pays it.
|
|
3420
3539
|
*/
|
|
3421
3540
|
export declare class MemorySource extends UniffiAbstractObject implements MemorySourceLike {
|
|
3422
3541
|
readonly [uniffiTypeNameSymbol] = "MemorySource";
|
|
@@ -3464,36 +3583,36 @@ export declare class SignerClient extends UniffiAbstractObject implements Signer
|
|
|
3464
3583
|
* `options` is malformed. The channel connects lazily, so an unreachable Signer
|
|
3465
3584
|
* surfaces on the first sign RPC instead.
|
|
3466
3585
|
*/
|
|
3467
|
-
static connect(endpoint: string, options
|
|
3586
|
+
static connect(endpoint: string, options: ConnectOptions, asyncOpts_?: {
|
|
3468
3587
|
signal: AbortSignal;
|
|
3469
3588
|
}): Promise<SignerClientLike>;
|
|
3470
3589
|
uniffiDestroy(): void;
|
|
3471
3590
|
static instanceOf(obj_: any): obj_ is SignerClient;
|
|
3472
3591
|
}
|
|
3473
3592
|
/**
|
|
3474
|
-
* A stream signer bound to a [`SignerClient`](super::client::SignerClient) and a
|
|
3593
|
+
* A live-stream signer bound to a [`SignerClient`](super::client::SignerClient) and a
|
|
3475
3594
|
* [`SigningVault`]. Construct once with [`create`](Self::create), then `init` a session and
|
|
3476
3595
|
* sign every segment through the [`StreamSession`] it returns.
|
|
3477
3596
|
*/
|
|
3478
3597
|
export interface StreamIssuerLike {
|
|
3479
3598
|
/**
|
|
3480
|
-
* Open the stream `
|
|
3481
|
-
* init (moov) segment
|
|
3482
|
-
* to sign through.
|
|
3599
|
+
* Open the stream at `stream_id`: mint its first session key under
|
|
3600
|
+
* `options.rotation_policy`, sign the init (moov) segment under `options.delivery`, and
|
|
3601
|
+
* hand back a [`StreamSession`] to sign through.
|
|
3483
3602
|
*
|
|
3484
3603
|
* On `rotation_due`, call [`StreamIssuer::rotate`], not this.
|
|
3485
3604
|
*
|
|
3486
3605
|
* # Errors
|
|
3487
3606
|
*
|
|
3488
|
-
* Fails on signer RPC failure, a vault error, or
|
|
3607
|
+
* Fails on signer RPC failure, a vault error, or an `init_body` that isn't a BMFF init
|
|
3608
|
+
* segment.
|
|
3489
3609
|
*/
|
|
3490
|
-
init(
|
|
3610
|
+
init(streamId: string, initBody: RangeSource, manifest: StreamManifestSpec, options: InitOptions, asyncOpts_?: {
|
|
3491
3611
|
signal: AbortSignal;
|
|
3492
3612
|
}): Promise<StreamStart>;
|
|
3493
3613
|
/**
|
|
3494
3614
|
* Succeed `session` on the stream it already names, signing a fresh init (moov) segment
|
|
3495
|
-
* under a new key and forgetting the outgoing one.
|
|
3496
|
-
* sign; until then it keeps signing, so a failed rotation can be retried.
|
|
3615
|
+
* under a new key and forgetting the outgoing one.
|
|
3497
3616
|
*
|
|
3498
3617
|
* The stream id comes from `session`, so a rotation cannot be pointed at the wrong stream,
|
|
3499
3618
|
* and the retired key cannot be left behind: it would still sign for the rest of its
|
|
@@ -3501,10 +3620,9 @@ export interface StreamIssuerLike {
|
|
|
3501
3620
|
*
|
|
3502
3621
|
* # Errors
|
|
3503
3622
|
*
|
|
3504
|
-
* As [`StreamIssuer::init`]
|
|
3505
|
-
* already stopped or rotated, or with a `stop` or `rotate` in flight.
|
|
3623
|
+
* As [`StreamIssuer::init`].
|
|
3506
3624
|
*/
|
|
3507
|
-
rotate(session: StreamSessionLike,
|
|
3625
|
+
rotate(session: StreamSessionLike, initBody: RangeSource, manifest: StreamManifestSpec, options: InitOptions, asyncOpts_?: {
|
|
3508
3626
|
signal: AbortSignal;
|
|
3509
3627
|
}): Promise<StreamStart>;
|
|
3510
3628
|
}
|
|
@@ -3513,7 +3631,7 @@ export interface StreamIssuerLike {
|
|
|
3513
3631
|
*/
|
|
3514
3632
|
export type StreamIssuerInterface = StreamIssuerLike;
|
|
3515
3633
|
/**
|
|
3516
|
-
* A stream signer bound to a [`SignerClient`](super::client::SignerClient) and a
|
|
3634
|
+
* A live-stream signer bound to a [`SignerClient`](super::client::SignerClient) and a
|
|
3517
3635
|
* [`SigningVault`]. Construct once with [`create`](Self::create), then `init` a session and
|
|
3518
3636
|
* sign every segment through the [`StreamSession`] it returns.
|
|
3519
3637
|
*/
|
|
@@ -3527,23 +3645,23 @@ export declare class StreamIssuer extends UniffiAbstractObject implements Stream
|
|
|
3527
3645
|
*/
|
|
3528
3646
|
static create(client: SignerClientLike, vault: SigningVault): StreamIssuerLike;
|
|
3529
3647
|
/**
|
|
3530
|
-
* Open the stream `
|
|
3531
|
-
* init (moov) segment
|
|
3532
|
-
* to sign through.
|
|
3648
|
+
* Open the stream at `stream_id`: mint its first session key under
|
|
3649
|
+
* `options.rotation_policy`, sign the init (moov) segment under `options.delivery`, and
|
|
3650
|
+
* hand back a [`StreamSession`] to sign through.
|
|
3533
3651
|
*
|
|
3534
3652
|
* On `rotation_due`, call [`StreamIssuer::rotate`], not this.
|
|
3535
3653
|
*
|
|
3536
3654
|
* # Errors
|
|
3537
3655
|
*
|
|
3538
|
-
* Fails on signer RPC failure, a vault error, or
|
|
3656
|
+
* Fails on signer RPC failure, a vault error, or an `init_body` that isn't a BMFF init
|
|
3657
|
+
* segment.
|
|
3539
3658
|
*/
|
|
3540
|
-
init(
|
|
3659
|
+
init(streamId: string, initBody: RangeSource, manifest: StreamManifestSpec, options: InitOptions, asyncOpts_?: {
|
|
3541
3660
|
signal: AbortSignal;
|
|
3542
3661
|
}): Promise<StreamStart>;
|
|
3543
3662
|
/**
|
|
3544
3663
|
* Succeed `session` on the stream it already names, signing a fresh init (moov) segment
|
|
3545
|
-
* under a new key and forgetting the outgoing one.
|
|
3546
|
-
* sign; until then it keeps signing, so a failed rotation can be retried.
|
|
3664
|
+
* under a new key and forgetting the outgoing one.
|
|
3547
3665
|
*
|
|
3548
3666
|
* The stream id comes from `session`, so a rotation cannot be pointed at the wrong stream,
|
|
3549
3667
|
* and the retired key cannot be left behind: it would still sign for the rest of its
|
|
@@ -3551,26 +3669,24 @@ export declare class StreamIssuer extends UniffiAbstractObject implements Stream
|
|
|
3551
3669
|
*
|
|
3552
3670
|
* # Errors
|
|
3553
3671
|
*
|
|
3554
|
-
* As [`StreamIssuer::init`]
|
|
3555
|
-
* already stopped or rotated, or with a `stop` or `rotate` in flight.
|
|
3672
|
+
* As [`StreamIssuer::init`].
|
|
3556
3673
|
*/
|
|
3557
|
-
rotate(session: StreamSessionLike,
|
|
3674
|
+
rotate(session: StreamSessionLike, initBody: RangeSource, manifest: StreamManifestSpec, options: InitOptions, asyncOpts_?: {
|
|
3558
3675
|
signal: AbortSignal;
|
|
3559
3676
|
}): Promise<StreamStart>;
|
|
3560
3677
|
uniffiDestroy(): void;
|
|
3561
3678
|
static instanceOf(obj_: any): obj_ is StreamIssuer;
|
|
3562
3679
|
}
|
|
3563
3680
|
/**
|
|
3564
|
-
* A per-session ECDSA key store, implemented by the host. `mint` returns a fresh key
|
|
3565
|
-
* signed under for
|
|
3566
|
-
* expire it;
|
|
3567
|
-
*
|
|
3568
|
-
* `forget` drops a retired key. Every method may raise to abort.
|
|
3681
|
+
* A per-session ECDSA key store, implemented by the host. `mint` returns a fresh public key
|
|
3682
|
+
* that will be signed under for `validity_period_secs`, so give it that lifetime and let the
|
|
3683
|
+
* store expire it; `sign` produces the raw ECDSA signature over `payload` (the SDK frames it
|
|
3684
|
+
* into COSE); `forget` drops a retired key. Every method may raise to abort.
|
|
3569
3685
|
*/
|
|
3570
3686
|
export interface SigningVault {
|
|
3571
|
-
mint(
|
|
3687
|
+
mint(validityPeriodSecs: bigint, asyncOpts_?: {
|
|
3572
3688
|
signal: AbortSignal;
|
|
3573
|
-
}): Promise<
|
|
3689
|
+
}): Promise<VaultPublicKey>;
|
|
3574
3690
|
sign(kid: ArrayBuffer, payload: ArrayBuffer, asyncOpts_?: {
|
|
3575
3691
|
signal: AbortSignal;
|
|
3576
3692
|
}): Promise<ArrayBuffer>;
|
|
@@ -3627,6 +3743,13 @@ declare const _default$1: Readonly<{
|
|
|
3627
3743
|
lift(value: UniffiByteArray): AssetDelivery;
|
|
3628
3744
|
lower(value: AssetDelivery, alloc: RustBufferAllocator): UniffiByteArray;
|
|
3629
3745
|
};
|
|
3746
|
+
FfiConverterTypeAssetFormat: {
|
|
3747
|
+
readFromCursor(c: Cursor): AssetFormat;
|
|
3748
|
+
writeIntoCursor(value: AssetFormat, c: Cursor): void;
|
|
3749
|
+
allocationSize(value: AssetFormat): number;
|
|
3750
|
+
lift(value: UniffiByteArray): AssetFormat;
|
|
3751
|
+
lower(value: AssetFormat, alloc: RustBufferAllocator): UniffiByteArray;
|
|
3752
|
+
};
|
|
3630
3753
|
FfiConverterTypeAssetIssuer: FfiConverterObject<AssetIssuerLike>;
|
|
3631
3754
|
FfiConverterTypeAssetManifestSpec: {
|
|
3632
3755
|
readFromCursor(c: Cursor): AssetManifestSpec;
|
|
@@ -3643,20 +3766,7 @@ declare const _default$1: Readonly<{
|
|
|
3643
3766
|
lift(value: UniffiByteArray): AssetOrigin;
|
|
3644
3767
|
lower(value: AssetOrigin, alloc: RustBufferAllocator): UniffiByteArray;
|
|
3645
3768
|
};
|
|
3646
|
-
|
|
3647
|
-
readFromCursor(c: Cursor): Block;
|
|
3648
|
-
writeIntoCursor(value: Block, c: Cursor): void;
|
|
3649
|
-
allocationSize(value: Block): number;
|
|
3650
|
-
lift(value: UniffiByteArray): Block;
|
|
3651
|
-
lower(value: Block, alloc: RustBufferAllocator): UniffiByteArray;
|
|
3652
|
-
};
|
|
3653
|
-
FfiConverterTypeByteRange: {
|
|
3654
|
-
readFromCursor(c: Cursor): ByteRange;
|
|
3655
|
-
writeIntoCursor(value: ByteRange, c: Cursor): void;
|
|
3656
|
-
allocationSize(value: ByteRange): number;
|
|
3657
|
-
lift(value: UniffiByteArray): ByteRange;
|
|
3658
|
-
lower(value: ByteRange, alloc: RustBufferAllocator): UniffiByteArray;
|
|
3659
|
-
};
|
|
3769
|
+
FfiConverterTypeBinder: FfiConverterObjectWithCallbacks<Binder>;
|
|
3660
3770
|
FfiConverterTypeCode: {
|
|
3661
3771
|
readFromCursor(c: Cursor): Code;
|
|
3662
3772
|
writeIntoCursor(value: Code, c: Cursor): void;
|
|
@@ -3678,14 +3788,6 @@ declare const _default$1: Readonly<{
|
|
|
3678
3788
|
lift(value: UniffiByteArray): ComponentEvent;
|
|
3679
3789
|
lower(value: ComponentEvent, alloc: RustBufferAllocator): UniffiByteArray;
|
|
3680
3790
|
};
|
|
3681
|
-
FfiConverterTypeCompute: FfiConverterObjectWithCallbacks<Compute>;
|
|
3682
|
-
FfiConverterTypeComputeRequest: {
|
|
3683
|
-
readFromCursor(c: Cursor): ComputeRequest;
|
|
3684
|
-
writeIntoCursor(value: ComputeRequest, c: Cursor): void;
|
|
3685
|
-
allocationSize(value: ComputeRequest): number;
|
|
3686
|
-
lift(value: UniffiByteArray): ComputeRequest;
|
|
3687
|
-
lower(value: ComputeRequest, alloc: RustBufferAllocator): UniffiByteArray;
|
|
3688
|
-
};
|
|
3689
3791
|
FfiConverterTypeConnectOptions: {
|
|
3690
3792
|
readFromCursor(c: Cursor): ConnectOptions;
|
|
3691
3793
|
writeIntoCursor(value: ConnectOptions, c: Cursor): void;
|
|
@@ -3707,6 +3809,13 @@ declare const _default$1: Readonly<{
|
|
|
3707
3809
|
lift(value: UniffiByteArray): CustomAction;
|
|
3708
3810
|
lower(value: CustomAction, alloc: RustBufferAllocator): UniffiByteArray;
|
|
3709
3811
|
};
|
|
3812
|
+
FfiConverterTypeDeriveOptions: {
|
|
3813
|
+
readFromCursor(c: Cursor): DeriveOptions;
|
|
3814
|
+
writeIntoCursor(value: DeriveOptions, c: Cursor): void;
|
|
3815
|
+
allocationSize(value: DeriveOptions): number;
|
|
3816
|
+
lift(value: UniffiByteArray): DeriveOptions;
|
|
3817
|
+
lower(value: DeriveOptions, alloc: RustBufferAllocator): UniffiByteArray;
|
|
3818
|
+
};
|
|
3710
3819
|
FfiConverterTypeEmbedOptions: {
|
|
3711
3820
|
readFromCursor(c: Cursor): EmbedOptions;
|
|
3712
3821
|
writeIntoCursor(value: EmbedOptions, c: Cursor): void;
|
|
@@ -3723,6 +3832,7 @@ declare const _default$1: Readonly<{
|
|
|
3723
3832
|
};
|
|
3724
3833
|
FfiConverterTypeFileSink: FfiConverterObject<FileSinkLike>;
|
|
3725
3834
|
FfiConverterTypeFileSource: FfiConverterObject<FileSourceLike>;
|
|
3835
|
+
FfiConverterTypeHeldBinder: FfiConverterObject<HeldBinderLike>;
|
|
3726
3836
|
FfiConverterTypeIdentity: {
|
|
3727
3837
|
readFromCursor(c: Cursor): Identity;
|
|
3728
3838
|
writeIntoCursor(value: Identity, c: Cursor): void;
|
|
@@ -3737,12 +3847,12 @@ declare const _default$1: Readonly<{
|
|
|
3737
3847
|
lift(value: UniffiByteArray): Ingredient;
|
|
3738
3848
|
lower(value: Ingredient, alloc: RustBufferAllocator): UniffiByteArray;
|
|
3739
3849
|
};
|
|
3740
|
-
|
|
3741
|
-
readFromCursor(c: Cursor):
|
|
3742
|
-
writeIntoCursor(value:
|
|
3743
|
-
allocationSize(value:
|
|
3744
|
-
lift(value: UniffiByteArray):
|
|
3745
|
-
lower(value:
|
|
3850
|
+
FfiConverterTypeIngredientSource: {
|
|
3851
|
+
readFromCursor(c: Cursor): IngredientSource;
|
|
3852
|
+
writeIntoCursor(value: IngredientSource, c: Cursor): void;
|
|
3853
|
+
allocationSize(value: IngredientSource): number;
|
|
3854
|
+
lift(value: UniffiByteArray): IngredientSource;
|
|
3855
|
+
lower(value: IngredientSource, alloc: RustBufferAllocator): UniffiByteArray;
|
|
3746
3856
|
};
|
|
3747
3857
|
FfiConverterTypeInitOptions: {
|
|
3748
3858
|
readFromCursor(c: Cursor): InitOptions;
|
|
@@ -3758,6 +3868,7 @@ declare const _default$1: Readonly<{
|
|
|
3758
3868
|
lift(value: UniffiByteArray): InitOutcome;
|
|
3759
3869
|
lower(value: InitOutcome, alloc: RustBufferAllocator): UniffiByteArray;
|
|
3760
3870
|
};
|
|
3871
|
+
FfiConverterTypeIsccBinder: FfiConverterObject<IsccBinderLike>;
|
|
3761
3872
|
FfiConverterTypeJsonObject: FfiConverter<UniffiByteArray, string>;
|
|
3762
3873
|
FfiConverterTypeJsonValue: FfiConverter<UniffiByteArray, string>;
|
|
3763
3874
|
FfiConverterTypeMarkOptions: {
|
|
@@ -3776,13 +3887,6 @@ declare const _default$1: Readonly<{
|
|
|
3776
3887
|
};
|
|
3777
3888
|
FfiConverterTypeMemorySink: FfiConverterObject<MemorySinkLike>;
|
|
3778
3889
|
FfiConverterTypeMemorySource: FfiConverterObject<MemorySourceLike>;
|
|
3779
|
-
FfiConverterTypeMintRequest: {
|
|
3780
|
-
readFromCursor(c: Cursor): MintRequest;
|
|
3781
|
-
writeIntoCursor(value: MintRequest, c: Cursor): void;
|
|
3782
|
-
allocationSize(value: MintRequest): number;
|
|
3783
|
-
lift(value: UniffiByteArray): MintRequest;
|
|
3784
|
-
lower(value: MintRequest, alloc: RustBufferAllocator): UniffiByteArray;
|
|
3785
|
-
};
|
|
3786
3890
|
FfiConverterTypeOpenedOrigin: {
|
|
3787
3891
|
readFromCursor(c: Cursor): OpenedOrigin;
|
|
3788
3892
|
writeIntoCursor(value: OpenedOrigin, c: Cursor): void;
|
|
@@ -3790,8 +3894,22 @@ declare const _default$1: Readonly<{
|
|
|
3790
3894
|
lift(value: UniffiByteArray): OpenedOrigin;
|
|
3791
3895
|
lower(value: OpenedOrigin, alloc: RustBufferAllocator): UniffiByteArray;
|
|
3792
3896
|
};
|
|
3897
|
+
FfiConverterTypeOrigin: {
|
|
3898
|
+
readFromCursor(c: Cursor): Origin;
|
|
3899
|
+
writeIntoCursor(value: Origin, c: Cursor): void;
|
|
3900
|
+
allocationSize(value: Origin): number;
|
|
3901
|
+
lift(value: UniffiByteArray): Origin;
|
|
3902
|
+
lower(value: Origin, alloc: RustBufferAllocator): UniffiByteArray;
|
|
3903
|
+
};
|
|
3793
3904
|
FfiConverterTypeRangeSink: FfiConverterObjectWithCallbacks<RangeSink>;
|
|
3794
3905
|
FfiConverterTypeRangeSource: FfiConverterObjectWithCallbacks<RangeSource>;
|
|
3906
|
+
FfiConverterTypeRegion: {
|
|
3907
|
+
readFromCursor(c: Cursor): Region;
|
|
3908
|
+
writeIntoCursor(value: Region, c: Cursor): void;
|
|
3909
|
+
allocationSize(value: Region): number;
|
|
3910
|
+
lift(value: UniffiByteArray): Region;
|
|
3911
|
+
lower(value: Region, alloc: RustBufferAllocator): UniffiByteArray;
|
|
3912
|
+
};
|
|
3795
3913
|
FfiConverterTypeRotationPolicy: {
|
|
3796
3914
|
readFromCursor(c: Cursor): RotationPolicy;
|
|
3797
3915
|
writeIntoCursor(value: RotationPolicy, c: Cursor): void;
|
|
@@ -3799,13 +3917,6 @@ declare const _default$1: Readonly<{
|
|
|
3799
3917
|
lift(value: UniffiByteArray): RotationPolicy;
|
|
3800
3918
|
lower(value: RotationPolicy, alloc: RustBufferAllocator): UniffiByteArray;
|
|
3801
3919
|
};
|
|
3802
|
-
FfiConverterTypeScope: {
|
|
3803
|
-
readFromCursor(c: Cursor): Scope;
|
|
3804
|
-
writeIntoCursor(value: Scope, c: Cursor): void;
|
|
3805
|
-
allocationSize(value: Scope): number;
|
|
3806
|
-
lift(value: UniffiByteArray): Scope;
|
|
3807
|
-
lower(value: Scope, alloc: RustBufferAllocator): UniffiByteArray;
|
|
3808
|
-
};
|
|
3809
3920
|
FfiConverterTypeSdkError: {
|
|
3810
3921
|
readFromCursor(c: Cursor): SdkError;
|
|
3811
3922
|
writeIntoCursor(value: SdkError, c: Cursor): void;
|
|
@@ -3827,13 +3938,6 @@ declare const _default$1: Readonly<{
|
|
|
3827
3938
|
lift(value: UniffiByteArray): SegmentOutcome;
|
|
3828
3939
|
lower(value: SegmentOutcome, alloc: RustBufferAllocator): UniffiByteArray;
|
|
3829
3940
|
};
|
|
3830
|
-
FfiConverterTypeSessionKey: {
|
|
3831
|
-
readFromCursor(c: Cursor): SessionKey;
|
|
3832
|
-
writeIntoCursor(value: SessionKey, c: Cursor): void;
|
|
3833
|
-
allocationSize(value: SessionKey): number;
|
|
3834
|
-
lift(value: UniffiByteArray): SessionKey;
|
|
3835
|
-
lower(value: SessionKey, alloc: RustBufferAllocator): UniffiByteArray;
|
|
3836
|
-
};
|
|
3837
3941
|
FfiConverterTypeSignOptions: {
|
|
3838
3942
|
readFromCursor(c: Cursor): SignOptions;
|
|
3839
3943
|
writeIntoCursor(value: SignOptions, c: Cursor): void;
|
|
@@ -3863,20 +3967,6 @@ declare const _default$1: Readonly<{
|
|
|
3863
3967
|
lift(value: UniffiByteArray): SoftBinding;
|
|
3864
3968
|
lower(value: SoftBinding, alloc: RustBufferAllocator): UniffiByteArray;
|
|
3865
3969
|
};
|
|
3866
|
-
FfiConverterTypeSoftBindingSource: {
|
|
3867
|
-
readFromCursor(c: Cursor): SoftBindingSource;
|
|
3868
|
-
writeIntoCursor(value: SoftBindingSource, c: Cursor): void;
|
|
3869
|
-
allocationSize(value: SoftBindingSource): number;
|
|
3870
|
-
lift(value: UniffiByteArray): SoftBindingSource;
|
|
3871
|
-
lower(value: SoftBindingSource, alloc: RustBufferAllocator): UniffiByteArray;
|
|
3872
|
-
};
|
|
3873
|
-
FfiConverterTypeSoftwareAgent: {
|
|
3874
|
-
readFromCursor(c: Cursor): SoftwareAgent;
|
|
3875
|
-
writeIntoCursor(value: SoftwareAgent, c: Cursor): void;
|
|
3876
|
-
allocationSize(value: SoftwareAgent): number;
|
|
3877
|
-
lift(value: UniffiByteArray): SoftwareAgent;
|
|
3878
|
-
lower(value: SoftwareAgent, alloc: RustBufferAllocator): UniffiByteArray;
|
|
3879
|
-
};
|
|
3880
3970
|
FfiConverterTypeStandardAction: {
|
|
3881
3971
|
readFromCursor(c: Cursor): StandardAction;
|
|
3882
3972
|
writeIntoCursor(value: StandardAction, c: Cursor): void;
|
|
@@ -3899,13 +3989,6 @@ declare const _default$1: Readonly<{
|
|
|
3899
3989
|
lift(value: UniffiByteArray): StreamManifestSpec;
|
|
3900
3990
|
lower(value: StreamManifestSpec, alloc: RustBufferAllocator): UniffiByteArray;
|
|
3901
3991
|
};
|
|
3902
|
-
FfiConverterTypeStreamOrigin: {
|
|
3903
|
-
readFromCursor(c: Cursor): StreamOrigin;
|
|
3904
|
-
writeIntoCursor(value: StreamOrigin, c: Cursor): void;
|
|
3905
|
-
allocationSize(value: StreamOrigin): number;
|
|
3906
|
-
lift(value: UniffiByteArray): StreamOrigin;
|
|
3907
|
-
lower(value: StreamOrigin, alloc: RustBufferAllocator): UniffiByteArray;
|
|
3908
|
-
};
|
|
3909
3992
|
FfiConverterTypeStreamSession: FfiConverterObject<StreamSessionLike>;
|
|
3910
3993
|
FfiConverterTypeStreamStart: {
|
|
3911
3994
|
readFromCursor(c: Cursor): StreamStart;
|
|
@@ -3921,14 +4004,15 @@ declare const _default$1: Readonly<{
|
|
|
3921
4004
|
lift(value: UniffiByteArray): Thumbnail;
|
|
3922
4005
|
lower(value: Thumbnail, alloc: RustBufferAllocator): UniffiByteArray;
|
|
3923
4006
|
};
|
|
3924
|
-
|
|
3925
|
-
readFromCursor(c: Cursor): Timespan;
|
|
3926
|
-
writeIntoCursor(value: Timespan, c: Cursor): void;
|
|
3927
|
-
allocationSize(value: Timespan): number;
|
|
3928
|
-
lift(value: UniffiByteArray): Timespan;
|
|
3929
|
-
lower(value: Timespan, alloc: RustBufferAllocator): UniffiByteArray;
|
|
3930
|
-
};
|
|
4007
|
+
FfiConverterTypeTimestamp: FfiConverter<UniffiByteArray, string>;
|
|
3931
4008
|
FfiConverterTypeUrl: FfiConverter<UniffiByteArray, string>;
|
|
4009
|
+
FfiConverterTypeVaultPublicKey: {
|
|
4010
|
+
readFromCursor(c: Cursor): VaultPublicKey;
|
|
4011
|
+
writeIntoCursor(value: VaultPublicKey, c: Cursor): void;
|
|
4012
|
+
allocationSize(value: VaultPublicKey): number;
|
|
4013
|
+
lift(value: UniffiByteArray): VaultPublicKey;
|
|
4014
|
+
lower(value: VaultPublicKey, alloc: RustBufferAllocator): UniffiByteArray;
|
|
4015
|
+
};
|
|
3932
4016
|
};
|
|
3933
4017
|
}>;
|
|
3934
4018
|
//#endregion
|