@trylimbo/sdk-issuer 0.2.12-canary.28 → 0.2.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/gen/ffi/index.d.ts +695 -694
  2. package/gen/ffi/index.js +1170 -1169
  3. package/package.json +3 -3
@@ -181,7 +181,7 @@ declare const pointerLiteralSymbol: unique symbol;
181
181
  */
182
182
  declare const uniffiTypeNameSymbol: unique symbol;
183
183
  declare namespace trylimbo_issuer_d_exports {
184
- export { Action, ActionDetail, ActionKind, ActionKind_Tags, Action_Tags, Assertion, AssetDelivery, AssetDelivery_Tags, AssetFormat, AssetFormat_Tags, AssetIssuer, AssetIssuerInterface, AssetIssuerLike, AssetMarker, AssetMarkerInterface, AssetMarkerLike, Binder, BinderImpl, Code, Component, ComponentEvent, ComponentEvent_Tags, ConnectOptions, CreatedOrigin, CustomAction, DeriveOptions, EmbedOptions, ExplicitOrigin, ExplicitOrigin_Tags, FieldViolation, FileSink, FileSinkInterface, FileSinkLike, FileSource, FileSourceInterface, FileSourceLike, HeldBinder, HeldBinderInterface, HeldBinderLike, IdentityOptions, Ingredient, IngredientSource, IngredientSource_Tags, InitOutcome, IsccBinder, IsccBinderInterface, IsccBinderLike, JsonObject, ManifestSpec, MarkOptions, Marked, MemorySink, MemorySinkInterface, MemorySinkLike, MemorySource, MemorySourceInterface, MemorySourceLike, OpenedOrigin, Origin, Origin_Tags, Output, Output_Tags, PluginAuthor, RangeSink, RangeSinkImpl, RangeSource, RangeSourceImpl, Region, RotationPolicy, SdkError, SdkError_Tags, SegmentKind, SignOptions, SignOutcome, SignedSegmentOutcome, SignerClient, SignerClientInterface, SignerClientLike, SigningVault, SoftBinding, StandardAction, StreamDelivery, StreamDelivery_Tags, StreamIssuer, StreamIssuerInterface, StreamIssuerLike, StreamManifestSpec, StreamOptions, StreamSession, StreamSessionInterface, StreamSessionLike, StreamStart, Thumbnail, Timestamp, Url, Value, VaultPublicKey, classifySegment, _default$1 as default, embed };
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
187
  * Classify a fragmented-MP4 segment from a [`RangeSource`] as init/media/unknown: the
@@ -266,17 +266,17 @@ export declare const ActionDetail: Readonly<{
266
266
  * Typealias from the type name used in the UDL file to the builtin type. This
267
267
  * is needed because the UDL type name is used in function/method signatures.
268
268
  */
269
- export type Value = string;
269
+ export type JsonValue = string;
270
270
  /**
271
271
  * `data` is JSON; converted to CBOR before crossing the wire. Labels are
272
272
  * client-namespaced: the `c2pa.*`/`cawg.identity` namespaces belong to
273
273
  * the signer, which derives those assertions from the typed request
274
274
  * fields and rejects them here. Foreign callers build an `Assertion`
275
- * directly (`{ label, data }`) and nest it in `ManifestSpec.assertions`.
275
+ * directly (`{ label, data }`) and nest it in `AssetManifestSpec.assertions`.
276
276
  */
277
277
  export type Assertion = {
278
278
  label: string;
279
- data: Value;
279
+ data: JsonValue;
280
280
  };
281
281
  /**
282
282
  * Generated factory for {@link Assertion} record objects.
@@ -286,11 +286,31 @@ export declare const Assertion: Readonly<{
286
286
  new: (partial: Partial<Assertion> & Required<Omit<Assertion, never>>) => Assertion;
287
287
  defaults: () => Partial<Assertion>;
288
288
  }>;
289
+ /**
290
+ * The asset is an original; the signer derives `c2pa.created`.
291
+ */
292
+ export type CreatedOrigin = {
293
+ /**
294
+ * The URI its term is published at, e.g.
295
+ * `http://cv.iptc.org/newscodes/digitalsourcetype/digitalCapture`.
296
+ */
297
+ sourceType: Url;
298
+ detail?: ActionDetail;
299
+ };
300
+ /**
301
+ * Generated factory for {@link CreatedOrigin} record objects.
302
+ */
303
+ export declare const CreatedOrigin: Readonly<{
304
+ create: (partial: Partial<CreatedOrigin> & Required<Omit<CreatedOrigin, "detail">>) => CreatedOrigin;
305
+ new: (partial: Partial<CreatedOrigin> & Required<Omit<CreatedOrigin, "detail">>) => CreatedOrigin;
306
+ defaults: () => Partial<CreatedOrigin>;
307
+ }>;
289
308
  /**
290
309
  * A canonical gRPC/Connect status code: the coarse, closed failure class.
291
310
  *
292
- * The wasm lane projects this as the Connect `snake_case` string, so a consumer
293
- * narrows on `err.code === "resource_exhausted"`; the native lane projects an enum.
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.
294
314
  */
295
315
  export declare enum Code {
296
316
  Canceled = 0,
@@ -946,64 +966,84 @@ export declare const Ingredient: Readonly<{
946
966
  new: (partial: Partial<Ingredient> & Required<Omit<Ingredient, "thumbnail" | "title">>) => Ingredient;
947
967
  defaults: () => Partial<Ingredient>;
948
968
  }>;
949
- export declare enum ComponentEvent_Tags {
950
- Placed = "Placed",
951
- Removed = "Removed",
952
- InputTo = "InputTo"
953
- }
969
+ export type OpenedOrigin = {
970
+ parent: Ingredient;
971
+ detail?: ActionDetail;
972
+ };
954
973
  /**
955
- * The event that brought a [`Component`] into (or out of) the asset. The
956
- * signer derives the relationship and lifecycle action from it: `placed` /
957
- * `removed` → `componentOf` + `c2pa.placed`/`c2pa.removed`, each carrying its `detail`;
958
- * `inputTo` → the `inputTo` relationship and no action, so there is nothing for a detail
959
- * to be folded into and the variant has none.
974
+ * Generated factory for {@link OpenedOrigin} record objects.
960
975
  */
961
- export declare const ComponentEvent: Readonly<{
962
- instanceOf: (obj: any) => obj is ComponentEvent;
963
- Placed: {
964
- new (inner: {
965
- detail?: ActionDetail;
966
- }): {
976
+ export declare const OpenedOrigin: Readonly<{
977
+ create: (partial: Partial<OpenedOrigin> & Required<Omit<OpenedOrigin, "detail">>) => OpenedOrigin;
978
+ new: (partial: Partial<OpenedOrigin> & Required<Omit<OpenedOrigin, "detail">>) => OpenedOrigin;
979
+ defaults: () => Partial<OpenedOrigin>;
980
+ }>;
981
+ export declare enum AssetOrigin_Tags {
982
+ Created = "Created",
983
+ Opened = "Opened",
984
+ Inherited = "Inherited"
985
+ }
986
+ export declare const AssetOrigin: Readonly<{
987
+ instanceOf: (obj: any) => obj is AssetOrigin;
988
+ Created: {
989
+ new (v0: CreatedOrigin): {
967
990
  /**
968
991
  * @private
969
992
  * This field is private and should not be used, use `tag` instead.
970
993
  */
971
- readonly [uniffiTypeNameSymbol]: "ComponentEvent";
972
- readonly tag: ComponentEvent_Tags.Placed;
973
- readonly inner: Readonly<{
974
- detail?: ActionDetail;
975
- }>;
994
+ readonly [uniffiTypeNameSymbol]: "AssetOrigin";
995
+ readonly tag: AssetOrigin_Tags.Created;
996
+ readonly inner: Readonly<[CreatedOrigin]>;
976
997
  };
977
- new: (partial: Parameters<(partial: Partial<{
978
- detail?: ActionDetail;
979
- }> & Required<Omit<{
980
- detail?: ActionDetail;
981
- }, "detail">>) => {
982
- detail?: ActionDetail;
983
- }>[0]) => {
998
+ "new"(v0: CreatedOrigin): {
984
999
  /**
985
1000
  * @private
986
1001
  * This field is private and should not be used, use `tag` instead.
987
1002
  */
988
- readonly [uniffiTypeNameSymbol]: "ComponentEvent";
989
- readonly tag: ComponentEvent_Tags.Placed;
990
- readonly inner: Readonly<{
991
- detail?: ActionDetail;
992
- }>;
1003
+ readonly [uniffiTypeNameSymbol]: "AssetOrigin";
1004
+ readonly tag: AssetOrigin_Tags.Created;
1005
+ readonly inner: Readonly<[CreatedOrigin]>;
993
1006
  };
994
1007
  instanceOf(obj: any): obj is {
995
1008
  /**
996
1009
  * @private
997
1010
  * This field is private and should not be used, use `tag` instead.
998
1011
  */
999
- readonly [uniffiTypeNameSymbol]: "ComponentEvent";
1000
- readonly tag: ComponentEvent_Tags.Placed;
1001
- readonly inner: Readonly<{
1002
- detail?: ActionDetail;
1003
- }>;
1012
+ readonly [uniffiTypeNameSymbol]: "AssetOrigin";
1013
+ readonly tag: AssetOrigin_Tags.Created;
1014
+ readonly inner: Readonly<[CreatedOrigin]>;
1004
1015
  };
1005
1016
  };
1006
- Removed: {
1017
+ Opened: {
1018
+ new (v0: OpenedOrigin): {
1019
+ /**
1020
+ * @private
1021
+ * This field is private and should not be used, use `tag` instead.
1022
+ */
1023
+ readonly [uniffiTypeNameSymbol]: "AssetOrigin";
1024
+ readonly tag: AssetOrigin_Tags.Opened;
1025
+ readonly inner: Readonly<[OpenedOrigin]>;
1026
+ };
1027
+ "new"(v0: OpenedOrigin): {
1028
+ /**
1029
+ * @private
1030
+ * This field is private and should not be used, use `tag` instead.
1031
+ */
1032
+ readonly [uniffiTypeNameSymbol]: "AssetOrigin";
1033
+ readonly tag: AssetOrigin_Tags.Opened;
1034
+ readonly inner: Readonly<[OpenedOrigin]>;
1035
+ };
1036
+ instanceOf(obj: any): obj is {
1037
+ /**
1038
+ * @private
1039
+ * This field is private and should not be used, use `tag` instead.
1040
+ */
1041
+ readonly [uniffiTypeNameSymbol]: "AssetOrigin";
1042
+ readonly tag: AssetOrigin_Tags.Opened;
1043
+ readonly inner: Readonly<[OpenedOrigin]>;
1044
+ };
1045
+ };
1046
+ Inherited: {
1007
1047
  new (inner: {
1008
1048
  detail?: ActionDetail;
1009
1049
  }): {
@@ -1011,8 +1051,8 @@ export declare const ComponentEvent: Readonly<{
1011
1051
  * @private
1012
1052
  * This field is private and should not be used, use `tag` instead.
1013
1053
  */
1014
- readonly [uniffiTypeNameSymbol]: "ComponentEvent";
1015
- readonly tag: ComponentEvent_Tags.Removed;
1054
+ readonly [uniffiTypeNameSymbol]: "AssetOrigin";
1055
+ readonly tag: AssetOrigin_Tags.Inherited;
1016
1056
  readonly inner: Readonly<{
1017
1057
  detail?: ActionDetail;
1018
1058
  }>;
@@ -1028,8 +1068,8 @@ export declare const ComponentEvent: Readonly<{
1028
1068
  * @private
1029
1069
  * This field is private and should not be used, use `tag` instead.
1030
1070
  */
1031
- readonly [uniffiTypeNameSymbol]: "ComponentEvent";
1032
- readonly tag: ComponentEvent_Tags.Removed;
1071
+ readonly [uniffiTypeNameSymbol]: "AssetOrigin";
1072
+ readonly tag: AssetOrigin_Tags.Inherited;
1033
1073
  readonly inner: Readonly<{
1034
1074
  detail?: ActionDetail;
1035
1075
  }>;
@@ -1039,118 +1079,15 @@ export declare const ComponentEvent: Readonly<{
1039
1079
  * @private
1040
1080
  * This field is private and should not be used, use `tag` instead.
1041
1081
  */
1042
- readonly [uniffiTypeNameSymbol]: "ComponentEvent";
1043
- readonly tag: ComponentEvent_Tags.Removed;
1082
+ readonly [uniffiTypeNameSymbol]: "AssetOrigin";
1083
+ readonly tag: AssetOrigin_Tags.Inherited;
1044
1084
  readonly inner: Readonly<{
1045
1085
  detail?: ActionDetail;
1046
1086
  }>;
1047
1087
  };
1048
1088
  };
1049
- InputTo: {
1050
- new (): {
1051
- /**
1052
- * @private
1053
- * This field is private and should not be used, use `tag` instead.
1054
- */
1055
- readonly [uniffiTypeNameSymbol]: "ComponentEvent";
1056
- readonly tag: ComponentEvent_Tags.InputTo;
1057
- };
1058
- "new"(): {
1059
- /**
1060
- * @private
1061
- * This field is private and should not be used, use `tag` instead.
1062
- */
1063
- readonly [uniffiTypeNameSymbol]: "ComponentEvent";
1064
- readonly tag: ComponentEvent_Tags.InputTo;
1065
- };
1066
- instanceOf(obj: any): obj is {
1067
- /**
1068
- * @private
1069
- * This field is private and should not be used, use `tag` instead.
1070
- */
1071
- readonly [uniffiTypeNameSymbol]: "ComponentEvent";
1072
- readonly tag: ComponentEvent_Tags.InputTo;
1073
- };
1074
- };
1075
- }>;
1076
- /**
1077
- * The event that brought a [`Component`] into (or out of) the asset. The
1078
- * signer derives the relationship and lifecycle action from it: `placed` /
1079
- * `removed` → `componentOf` + `c2pa.placed`/`c2pa.removed`, each carrying its `detail`;
1080
- * `inputTo` → the `inputTo` relationship and no action, so there is nothing for a detail
1081
- * to be folded into and the variant has none.
1082
- */
1083
- export type ComponentEvent = InstanceType<typeof ComponentEvent['Placed' | 'Removed' | 'InputTo']>;
1084
- export type Component = {
1085
- id: string;
1086
- asset: Ingredient;
1087
- event: ComponentEvent;
1088
- };
1089
- /**
1090
- * Generated factory for {@link Component} record objects.
1091
- */
1092
- export declare const Component: Readonly<{
1093
- create: (partial: Partial<Component> & Required<Omit<Component, never>>) => Component;
1094
- new: (partial: Partial<Component> & Required<Omit<Component, never>>) => Component;
1095
- defaults: () => Partial<Component>;
1096
- }>;
1097
- /**
1098
- * Transport tunables and per-request metadata for the signer connection.
1099
- *
1100
- * `headers`, when present, are attached to every RPC (e.g.
1101
- * `Authorization: Bearer …`, or routing/tenant metadata) and are
1102
- * lower-cased on the wire; omit them to connect with no extra metadata.
1103
- *
1104
- * # Both deadlines are required
1105
- *
1106
- * They were optional, and omitting them left a call with no deadline at all: a signer that
1107
- * accepted the connection and then stopped answering held the caller's thread for ever, with no
1108
- * cancellation path, because the SDK runs each call on a thread of its own and nothing was
1109
- * watching the clock. There is no figure the SDK could pick on a caller's behalf that is right
1110
- * for both a local signer and one across a region, so it asks.
1111
- *
1112
- * Neither bounds the hash: that runs client side, between the two legs of the signing protocol,
1113
- * and is not an RPC. These bound the network alone.
1114
- */
1115
- export type ConnectOptions = {
1116
- headers?: Map<string, string>;
1117
- /**
1118
- * Per-RPC deadline. Bounds one leg of the signing protocol, not the whole sign.
1119
- */
1120
- rpcTimeoutMs: number;
1121
- /**
1122
- * Bounds the initial connection setup, so an unreachable signer fails fast rather than
1123
- * waiting out the OS SYN timeout.
1124
- */
1125
- connectTimeoutMs: number;
1126
- };
1127
- /**
1128
- * Generated factory for {@link ConnectOptions} record objects.
1129
- */
1130
- export declare const ConnectOptions: Readonly<{
1131
- create: (partial: Partial<ConnectOptions> & Required<Omit<ConnectOptions, "headers">>) => ConnectOptions;
1132
- new: (partial: Partial<ConnectOptions> & Required<Omit<ConnectOptions, "headers">>) => ConnectOptions;
1133
- defaults: () => Partial<ConnectOptions>;
1134
- }>;
1135
- /**
1136
- * The asset is an original; the signer derives `c2pa.created`.
1137
- */
1138
- export type CreatedOrigin = {
1139
- /**
1140
- * The URI its term is published at, e.g.
1141
- * `http://cv.iptc.org/newscodes/digitalsourcetype/digitalCapture`.
1142
- */
1143
- sourceType: Url;
1144
- detail?: ActionDetail;
1145
- };
1146
- /**
1147
- * Generated factory for {@link CreatedOrigin} record objects.
1148
- */
1149
- export declare const CreatedOrigin: Readonly<{
1150
- create: (partial: Partial<CreatedOrigin> & Required<Omit<CreatedOrigin, "detail">>) => CreatedOrigin;
1151
- new: (partial: Partial<CreatedOrigin> & Required<Omit<CreatedOrigin, "detail">>) => CreatedOrigin;
1152
- defaults: () => Partial<CreatedOrigin>;
1153
1089
  }>;
1090
+ export type AssetOrigin = InstanceType<typeof AssetOrigin['Created' | 'Opened' | 'Inherited']>;
1154
1091
  /**
1155
1092
  * Typealias from the type name used in the UDL file to the builtin type. This
1156
1093
  * is needed because the UDL type name is used in function/method signatures.
@@ -1177,200 +1114,17 @@ export declare const CustomAction: Readonly<{
1177
1114
  new: (partial: Partial<CustomAction> & Required<Omit<CustomAction, "detail">>) => CustomAction;
1178
1115
  defaults: () => Partial<CustomAction>;
1179
1116
  }>;
1180
- /**
1181
- * Everything one [`Binder::derive`] needs beyond the asset.
1182
- */
1183
- export type DeriveOptions = {
1184
- format: AssetFormat;
1185
- };
1186
- /**
1187
- * Generated factory for {@link DeriveOptions} record objects.
1188
- */
1189
- export declare const DeriveOptions: Readonly<{
1190
- create: (partial: Partial<DeriveOptions> & Required<Omit<DeriveOptions, never>>) => DeriveOptions;
1191
- new: (partial: Partial<DeriveOptions> & Required<Omit<DeriveOptions, never>>) => DeriveOptions;
1192
- defaults: () => Partial<DeriveOptions>;
1193
- }>;
1194
- /**
1195
- * Everything one [`embed`] needs beyond the sink, the manifest and the plugins: how the
1196
- * asset's format is known, stated or sniffed from the sink's leading bytes.
1197
- */
1198
- export type EmbedOptions = {
1199
- format: AssetFormat;
1200
- };
1201
- /**
1202
- * Generated factory for {@link EmbedOptions} record objects.
1203
- */
1204
- export declare const EmbedOptions: Readonly<{
1205
- create: (partial: Partial<EmbedOptions> & Required<Omit<EmbedOptions, never>>) => EmbedOptions;
1206
- new: (partial: Partial<EmbedOptions> & Required<Omit<EmbedOptions, never>>) => EmbedOptions;
1207
- defaults: () => Partial<EmbedOptions>;
1208
- }>;
1209
- /**
1210
- * Pass `None` to skip the CAWG identity signing path entirely. Each entry of `identities` is
1211
- * one CAWG `VerifiedIdentity` object.
1212
- */
1213
- export type IdentityOptions = {
1214
- roles: Array<string>;
1215
- identities: Array<Value>;
1117
+ export type SoftBinding = {
1118
+ alg: string;
1119
+ value: string;
1216
1120
  };
1217
1121
  /**
1218
- * Generated factory for {@link IdentityOptions} record objects.
1122
+ * Generated factory for {@link SoftBinding} record objects.
1219
1123
  */
1220
- export declare const IdentityOptions: Readonly<{
1221
- create: (partial: Partial<IdentityOptions> & Required<Omit<IdentityOptions, never>>) => IdentityOptions;
1222
- new: (partial: Partial<IdentityOptions> & Required<Omit<IdentityOptions, never>>) => IdentityOptions;
1223
- defaults: () => Partial<IdentityOptions>;
1224
- }>;
1225
- /**
1226
- * Result of [`StreamIssuer::init`](super::StreamIssuer::init). `valid_until_epoch_secs` is the
1227
- * UNIX-epoch second at which the session key's validity elapses.
1228
- */
1229
- export type InitOutcome = {
1230
- signedInitBytes: ArrayBuffer;
1231
- validUntilEpochSecs: bigint;
1232
- };
1233
- /**
1234
- * Generated factory for {@link InitOutcome} record objects.
1235
- */
1236
- export declare const InitOutcome: Readonly<{
1237
- create: (partial: Partial<InitOutcome> & Required<Omit<InitOutcome, never>>) => InitOutcome;
1238
- new: (partial: Partial<InitOutcome> & Required<Omit<InitOutcome, never>>) => InitOutcome;
1239
- defaults: () => Partial<InitOutcome>;
1240
- }>;
1241
- export type OpenedOrigin = {
1242
- parent: Ingredient;
1243
- detail?: ActionDetail;
1244
- };
1245
- /**
1246
- * Generated factory for {@link OpenedOrigin} record objects.
1247
- */
1248
- export declare const OpenedOrigin: Readonly<{
1249
- create: (partial: Partial<OpenedOrigin> & Required<Omit<OpenedOrigin, "detail">>) => OpenedOrigin;
1250
- new: (partial: Partial<OpenedOrigin> & Required<Omit<OpenedOrigin, "detail">>) => OpenedOrigin;
1251
- defaults: () => Partial<OpenedOrigin>;
1252
- }>;
1253
- export declare enum Origin_Tags {
1254
- Created = "Created",
1255
- Opened = "Opened",
1256
- Inherited = "Inherited"
1257
- }
1258
- export declare const Origin: Readonly<{
1259
- instanceOf: (obj: any) => obj is Origin;
1260
- Created: {
1261
- new (v0: CreatedOrigin): {
1262
- /**
1263
- * @private
1264
- * This field is private and should not be used, use `tag` instead.
1265
- */
1266
- readonly [uniffiTypeNameSymbol]: "Origin";
1267
- readonly tag: Origin_Tags.Created;
1268
- readonly inner: Readonly<[CreatedOrigin]>;
1269
- };
1270
- "new"(v0: CreatedOrigin): {
1271
- /**
1272
- * @private
1273
- * This field is private and should not be used, use `tag` instead.
1274
- */
1275
- readonly [uniffiTypeNameSymbol]: "Origin";
1276
- readonly tag: Origin_Tags.Created;
1277
- readonly inner: Readonly<[CreatedOrigin]>;
1278
- };
1279
- instanceOf(obj: any): obj is {
1280
- /**
1281
- * @private
1282
- * This field is private and should not be used, use `tag` instead.
1283
- */
1284
- readonly [uniffiTypeNameSymbol]: "Origin";
1285
- readonly tag: Origin_Tags.Created;
1286
- readonly inner: Readonly<[CreatedOrigin]>;
1287
- };
1288
- };
1289
- Opened: {
1290
- new (v0: OpenedOrigin): {
1291
- /**
1292
- * @private
1293
- * This field is private and should not be used, use `tag` instead.
1294
- */
1295
- readonly [uniffiTypeNameSymbol]: "Origin";
1296
- readonly tag: Origin_Tags.Opened;
1297
- readonly inner: Readonly<[OpenedOrigin]>;
1298
- };
1299
- "new"(v0: OpenedOrigin): {
1300
- /**
1301
- * @private
1302
- * This field is private and should not be used, use `tag` instead.
1303
- */
1304
- readonly [uniffiTypeNameSymbol]: "Origin";
1305
- readonly tag: Origin_Tags.Opened;
1306
- readonly inner: Readonly<[OpenedOrigin]>;
1307
- };
1308
- instanceOf(obj: any): obj is {
1309
- /**
1310
- * @private
1311
- * This field is private and should not be used, use `tag` instead.
1312
- */
1313
- readonly [uniffiTypeNameSymbol]: "Origin";
1314
- readonly tag: Origin_Tags.Opened;
1315
- readonly inner: Readonly<[OpenedOrigin]>;
1316
- };
1317
- };
1318
- Inherited: {
1319
- new (inner: {
1320
- detail?: ActionDetail;
1321
- }): {
1322
- /**
1323
- * @private
1324
- * This field is private and should not be used, use `tag` instead.
1325
- */
1326
- readonly [uniffiTypeNameSymbol]: "Origin";
1327
- readonly tag: Origin_Tags.Inherited;
1328
- readonly inner: Readonly<{
1329
- detail?: ActionDetail;
1330
- }>;
1331
- };
1332
- new: (partial: Parameters<(partial: Partial<{
1333
- detail?: ActionDetail;
1334
- }> & Required<Omit<{
1335
- detail?: ActionDetail;
1336
- }, "detail">>) => {
1337
- detail?: ActionDetail;
1338
- }>[0]) => {
1339
- /**
1340
- * @private
1341
- * This field is private and should not be used, use `tag` instead.
1342
- */
1343
- readonly [uniffiTypeNameSymbol]: "Origin";
1344
- readonly tag: Origin_Tags.Inherited;
1345
- readonly inner: Readonly<{
1346
- detail?: ActionDetail;
1347
- }>;
1348
- };
1349
- instanceOf(obj: any): obj is {
1350
- /**
1351
- * @private
1352
- * This field is private and should not be used, use `tag` instead.
1353
- */
1354
- readonly [uniffiTypeNameSymbol]: "Origin";
1355
- readonly tag: Origin_Tags.Inherited;
1356
- readonly inner: Readonly<{
1357
- detail?: ActionDetail;
1358
- }>;
1359
- };
1360
- };
1361
- }>;
1362
- export type Origin = InstanceType<typeof Origin['Created' | 'Opened' | 'Inherited']>;
1363
- export type SoftBinding = {
1364
- alg: string;
1365
- value: string;
1366
- };
1367
- /**
1368
- * Generated factory for {@link SoftBinding} record objects.
1369
- */
1370
- export declare const SoftBinding: Readonly<{
1371
- create: (partial: Partial<SoftBinding> & Required<Omit<SoftBinding, never>>) => SoftBinding;
1372
- new: (partial: Partial<SoftBinding> & Required<Omit<SoftBinding, never>>) => SoftBinding;
1373
- defaults: () => Partial<SoftBinding>;
1124
+ export declare const SoftBinding: Readonly<{
1125
+ create: (partial: Partial<SoftBinding> & Required<Omit<SoftBinding, never>>) => SoftBinding;
1126
+ new: (partial: Partial<SoftBinding> & Required<Omit<SoftBinding, never>>) => SoftBinding;
1127
+ defaults: () => Partial<SoftBinding>;
1374
1128
  }>;
1375
1129
  export declare enum ActionKind_Tags {
1376
1130
  AddedText = "AddedText",
@@ -2153,21 +1907,477 @@ export declare const Action: Readonly<{
2153
1907
  };
2154
1908
  }>;
2155
1909
  export type Action = InstanceType<typeof Action['Custom' | 'Standard']>;
2156
- export type ManifestSpec = {
2157
- title?: string;
2158
- origin: Origin;
2159
- actions: Array<Action>;
2160
- identity?: IdentityOptions;
2161
- assertions: Array<Assertion>;
2162
- components: Array<Component>;
1910
+ /**
1911
+ * Pass `None` to skip the CAWG identity signing path entirely. Each entry of `identities` is
1912
+ * one CAWG `VerifiedIdentity` object.
1913
+ */
1914
+ export type Identity = {
1915
+ roles: Array<string>;
1916
+ identities: Array<JsonValue>;
1917
+ };
1918
+ /**
1919
+ * Generated factory for {@link Identity} record objects.
1920
+ */
1921
+ export declare const Identity: Readonly<{
1922
+ create: (partial: Partial<Identity> & Required<Omit<Identity, never>>) => Identity;
1923
+ new: (partial: Partial<Identity> & Required<Omit<Identity, never>>) => Identity;
1924
+ defaults: () => Partial<Identity>;
1925
+ }>;
1926
+ export declare enum ComponentEvent_Tags {
1927
+ Placed = "Placed",
1928
+ Removed = "Removed",
1929
+ InputTo = "InputTo"
1930
+ }
1931
+ /**
1932
+ * The event that brought a [`Component`] into (or out of) the asset. The
1933
+ * signer derives the relationship and lifecycle action from it: `placed` /
1934
+ * `removed` → `componentOf` + `c2pa.placed`/`c2pa.removed`, each carrying its `detail`;
1935
+ * `inputTo` → the `inputTo` relationship and no action, so there is nothing for a detail
1936
+ * to be folded into and the variant has none.
1937
+ */
1938
+ export declare const ComponentEvent: Readonly<{
1939
+ instanceOf: (obj: any) => obj is ComponentEvent;
1940
+ Placed: {
1941
+ new (inner: {
1942
+ detail?: ActionDetail;
1943
+ }): {
1944
+ /**
1945
+ * @private
1946
+ * This field is private and should not be used, use `tag` instead.
1947
+ */
1948
+ readonly [uniffiTypeNameSymbol]: "ComponentEvent";
1949
+ readonly tag: ComponentEvent_Tags.Placed;
1950
+ readonly inner: Readonly<{
1951
+ detail?: ActionDetail;
1952
+ }>;
1953
+ };
1954
+ new: (partial: Parameters<(partial: Partial<{
1955
+ detail?: ActionDetail;
1956
+ }> & Required<Omit<{
1957
+ detail?: ActionDetail;
1958
+ }, "detail">>) => {
1959
+ detail?: ActionDetail;
1960
+ }>[0]) => {
1961
+ /**
1962
+ * @private
1963
+ * This field is private and should not be used, use `tag` instead.
1964
+ */
1965
+ readonly [uniffiTypeNameSymbol]: "ComponentEvent";
1966
+ readonly tag: ComponentEvent_Tags.Placed;
1967
+ readonly inner: Readonly<{
1968
+ detail?: ActionDetail;
1969
+ }>;
1970
+ };
1971
+ instanceOf(obj: any): obj is {
1972
+ /**
1973
+ * @private
1974
+ * This field is private and should not be used, use `tag` instead.
1975
+ */
1976
+ readonly [uniffiTypeNameSymbol]: "ComponentEvent";
1977
+ readonly tag: ComponentEvent_Tags.Placed;
1978
+ readonly inner: Readonly<{
1979
+ detail?: ActionDetail;
1980
+ }>;
1981
+ };
1982
+ };
1983
+ Removed: {
1984
+ new (inner: {
1985
+ detail?: ActionDetail;
1986
+ }): {
1987
+ /**
1988
+ * @private
1989
+ * This field is private and should not be used, use `tag` instead.
1990
+ */
1991
+ readonly [uniffiTypeNameSymbol]: "ComponentEvent";
1992
+ readonly tag: ComponentEvent_Tags.Removed;
1993
+ readonly inner: Readonly<{
1994
+ detail?: ActionDetail;
1995
+ }>;
1996
+ };
1997
+ new: (partial: Parameters<(partial: Partial<{
1998
+ detail?: ActionDetail;
1999
+ }> & Required<Omit<{
2000
+ detail?: ActionDetail;
2001
+ }, "detail">>) => {
2002
+ detail?: ActionDetail;
2003
+ }>[0]) => {
2004
+ /**
2005
+ * @private
2006
+ * This field is private and should not be used, use `tag` instead.
2007
+ */
2008
+ readonly [uniffiTypeNameSymbol]: "ComponentEvent";
2009
+ readonly tag: ComponentEvent_Tags.Removed;
2010
+ readonly inner: Readonly<{
2011
+ detail?: ActionDetail;
2012
+ }>;
2013
+ };
2014
+ instanceOf(obj: any): obj is {
2015
+ /**
2016
+ * @private
2017
+ * This field is private and should not be used, use `tag` instead.
2018
+ */
2019
+ readonly [uniffiTypeNameSymbol]: "ComponentEvent";
2020
+ readonly tag: ComponentEvent_Tags.Removed;
2021
+ readonly inner: Readonly<{
2022
+ detail?: ActionDetail;
2023
+ }>;
2024
+ };
2025
+ };
2026
+ InputTo: {
2027
+ new (): {
2028
+ /**
2029
+ * @private
2030
+ * This field is private and should not be used, use `tag` instead.
2031
+ */
2032
+ readonly [uniffiTypeNameSymbol]: "ComponentEvent";
2033
+ readonly tag: ComponentEvent_Tags.InputTo;
2034
+ };
2035
+ "new"(): {
2036
+ /**
2037
+ * @private
2038
+ * This field is private and should not be used, use `tag` instead.
2039
+ */
2040
+ readonly [uniffiTypeNameSymbol]: "ComponentEvent";
2041
+ readonly tag: ComponentEvent_Tags.InputTo;
2042
+ };
2043
+ instanceOf(obj: any): obj is {
2044
+ /**
2045
+ * @private
2046
+ * This field is private and should not be used, use `tag` instead.
2047
+ */
2048
+ readonly [uniffiTypeNameSymbol]: "ComponentEvent";
2049
+ readonly tag: ComponentEvent_Tags.InputTo;
2050
+ };
2051
+ };
2052
+ }>;
2053
+ /**
2054
+ * The event that brought a [`Component`] into (or out of) the asset. The
2055
+ * signer derives the relationship and lifecycle action from it: `placed` /
2056
+ * `removed` → `componentOf` + `c2pa.placed`/`c2pa.removed`, each carrying its `detail`;
2057
+ * `inputTo` → the `inputTo` relationship and no action, so there is nothing for a detail
2058
+ * to be folded into and the variant has none.
2059
+ */
2060
+ export type ComponentEvent = InstanceType<typeof ComponentEvent['Placed' | 'Removed' | 'InputTo']>;
2061
+ export type Component = {
2062
+ id: string;
2063
+ asset: Ingredient;
2064
+ event: ComponentEvent;
2065
+ };
2066
+ /**
2067
+ * Generated factory for {@link Component} record objects.
2068
+ */
2069
+ export declare const Component: Readonly<{
2070
+ create: (partial: Partial<Component> & Required<Omit<Component, never>>) => Component;
2071
+ new: (partial: Partial<Component> & Required<Omit<Component, never>>) => Component;
2072
+ defaults: () => Partial<Component>;
2073
+ }>;
2074
+ export type AssetManifestSpec = {
2075
+ title?: string;
2076
+ origin: AssetOrigin;
2077
+ actions: Array<Action>;
2078
+ identity?: Identity;
2079
+ assertions: Array<Assertion>;
2080
+ components: Array<Component>;
2081
+ };
2082
+ /**
2083
+ * Generated factory for {@link AssetManifestSpec} record objects.
2084
+ */
2085
+ export declare const AssetManifestSpec: Readonly<{
2086
+ create: (partial: Partial<AssetManifestSpec> & Required<Omit<AssetManifestSpec, "identity" | "title">>) => AssetManifestSpec;
2087
+ new: (partial: Partial<AssetManifestSpec> & Required<Omit<AssetManifestSpec, "identity" | "title">>) => AssetManifestSpec;
2088
+ defaults: () => Partial<AssetManifestSpec>;
2089
+ }>;
2090
+ /**
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.
2107
+ */
2108
+ export type ConnectOptions = {
2109
+ headers?: Map<string, string>;
2110
+ /**
2111
+ * Per-RPC deadline. Bounds one leg of the signing protocol, not the whole sign.
2112
+ */
2113
+ rpcTimeoutMs: number;
2114
+ /**
2115
+ * Bounds the initial connection setup, so an unreachable signer fails fast rather than
2116
+ * waiting out the OS SYN timeout.
2117
+ */
2118
+ connectTimeoutMs: number;
2119
+ };
2120
+ /**
2121
+ * Generated factory for {@link ConnectOptions} record objects.
2122
+ */
2123
+ export declare const ConnectOptions: Readonly<{
2124
+ create: (partial: Partial<ConnectOptions> & Required<Omit<ConnectOptions, "headers">>) => ConnectOptions;
2125
+ new: (partial: Partial<ConnectOptions> & Required<Omit<ConnectOptions, "headers">>) => ConnectOptions;
2126
+ defaults: () => Partial<ConnectOptions>;
2127
+ }>;
2128
+ /**
2129
+ * Everything one [`Binder::derive`] needs beyond the asset.
2130
+ */
2131
+ export type DeriveOptions = {
2132
+ format: AssetFormat;
2133
+ };
2134
+ /**
2135
+ * Generated factory for {@link DeriveOptions} record objects.
2136
+ */
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>;
2141
+ }>;
2142
+ /**
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.
2145
+ */
2146
+ export type EmbedOptions = {
2147
+ format: AssetFormat;
2148
+ };
2149
+ /**
2150
+ * Generated factory for {@link EmbedOptions} record objects.
2151
+ */
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>;
2156
+ }>;
2157
+ /**
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.
2167
+ */
2168
+ export interface Binder {
2169
+ derive(source: RangeSource, options: DeriveOptions, asyncOpts_?: {
2170
+ signal: AbortSignal;
2171
+ }): Promise<SoftBinding | undefined>;
2172
+ }
2173
+ /**
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.
2183
+ */
2184
+ export declare class BinderImpl extends UniffiAbstractObject implements Binder {
2185
+ readonly [uniffiTypeNameSymbol] = "BinderImpl";
2186
+ readonly [destructorGuardSymbol]: UniffiGcObject;
2187
+ readonly [pointerLiteralSymbol]: UniffiHandle;
2188
+ private constructor();
2189
+ derive(source: RangeSource, options: DeriveOptions, asyncOpts_?: {
2190
+ signal: AbortSignal;
2191
+ }): Promise<SoftBinding | undefined>;
2192
+ uniffiDestroy(): void;
2193
+ static instanceOf(obj_: any): obj_ is BinderImpl;
2194
+ }
2195
+ export declare enum StreamDelivery_Tags {
2196
+ Embedded = "Embedded",
2197
+ Remote = "Remote",
2198
+ Both = "Both"
2199
+ }
2200
+ /**
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.
2203
+ */
2204
+ export declare const StreamDelivery: Readonly<{
2205
+ instanceOf: (obj: any) => obj is StreamDelivery;
2206
+ Embedded: {
2207
+ new (inner: {
2208
+ binders: Array<Binder>;
2209
+ }): {
2210
+ /**
2211
+ * @private
2212
+ * This field is private and should not be used, use `tag` instead.
2213
+ */
2214
+ readonly [uniffiTypeNameSymbol]: "StreamDelivery";
2215
+ readonly tag: StreamDelivery_Tags.Embedded;
2216
+ readonly inner: Readonly<{
2217
+ binders: Array<Binder>;
2218
+ }>;
2219
+ };
2220
+ "new"(inner: {
2221
+ binders: Array<Binder>;
2222
+ }): {
2223
+ /**
2224
+ * @private
2225
+ * This field is private and should not be used, use `tag` instead.
2226
+ */
2227
+ readonly [uniffiTypeNameSymbol]: "StreamDelivery";
2228
+ readonly tag: StreamDelivery_Tags.Embedded;
2229
+ readonly inner: Readonly<{
2230
+ binders: Array<Binder>;
2231
+ }>;
2232
+ };
2233
+ instanceOf(obj: any): obj is {
2234
+ /**
2235
+ * @private
2236
+ * This field is private and should not be used, use `tag` instead.
2237
+ */
2238
+ readonly [uniffiTypeNameSymbol]: "StreamDelivery";
2239
+ readonly tag: StreamDelivery_Tags.Embedded;
2240
+ readonly inner: Readonly<{
2241
+ binders: Array<Binder>;
2242
+ }>;
2243
+ };
2244
+ };
2245
+ Remote: {
2246
+ new (inner: {
2247
+ binders: Array<Binder>;
2248
+ }): {
2249
+ /**
2250
+ * @private
2251
+ * This field is private and should not be used, use `tag` instead.
2252
+ */
2253
+ readonly [uniffiTypeNameSymbol]: "StreamDelivery";
2254
+ readonly tag: StreamDelivery_Tags.Remote;
2255
+ readonly inner: Readonly<{
2256
+ binders: Array<Binder>;
2257
+ }>;
2258
+ };
2259
+ "new"(inner: {
2260
+ binders: Array<Binder>;
2261
+ }): {
2262
+ /**
2263
+ * @private
2264
+ * This field is private and should not be used, use `tag` instead.
2265
+ */
2266
+ readonly [uniffiTypeNameSymbol]: "StreamDelivery";
2267
+ readonly tag: StreamDelivery_Tags.Remote;
2268
+ readonly inner: Readonly<{
2269
+ binders: Array<Binder>;
2270
+ }>;
2271
+ };
2272
+ instanceOf(obj: any): obj is {
2273
+ /**
2274
+ * @private
2275
+ * This field is private and should not be used, use `tag` instead.
2276
+ */
2277
+ readonly [uniffiTypeNameSymbol]: "StreamDelivery";
2278
+ readonly tag: StreamDelivery_Tags.Remote;
2279
+ readonly inner: Readonly<{
2280
+ binders: Array<Binder>;
2281
+ }>;
2282
+ };
2283
+ };
2284
+ Both: {
2285
+ new (inner: {
2286
+ binders: Array<Binder>;
2287
+ }): {
2288
+ /**
2289
+ * @private
2290
+ * This field is private and should not be used, use `tag` instead.
2291
+ */
2292
+ readonly [uniffiTypeNameSymbol]: "StreamDelivery";
2293
+ readonly tag: StreamDelivery_Tags.Both;
2294
+ readonly inner: Readonly<{
2295
+ binders: Array<Binder>;
2296
+ }>;
2297
+ };
2298
+ "new"(inner: {
2299
+ binders: Array<Binder>;
2300
+ }): {
2301
+ /**
2302
+ * @private
2303
+ * This field is private and should not be used, use `tag` instead.
2304
+ */
2305
+ readonly [uniffiTypeNameSymbol]: "StreamDelivery";
2306
+ readonly tag: StreamDelivery_Tags.Both;
2307
+ readonly inner: Readonly<{
2308
+ binders: Array<Binder>;
2309
+ }>;
2310
+ };
2311
+ instanceOf(obj: any): obj is {
2312
+ /**
2313
+ * @private
2314
+ * This field is private and should not be used, use `tag` instead.
2315
+ */
2316
+ readonly [uniffiTypeNameSymbol]: "StreamDelivery";
2317
+ readonly tag: StreamDelivery_Tags.Both;
2318
+ readonly inner: Readonly<{
2319
+ binders: Array<Binder>;
2320
+ }>;
2321
+ };
2322
+ };
2323
+ }>;
2324
+ /**
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.
2327
+ */
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
+ }>;
2350
+ /**
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.
2353
+ */
2354
+ export type InitOptions = {
2355
+ delivery: StreamDelivery;
2356
+ rotationPolicy: RotationPolicy;
2357
+ };
2358
+ /**
2359
+ * Generated factory for {@link InitOptions} record objects.
2360
+ */
2361
+ export declare const InitOptions: Readonly<{
2362
+ create: (partial: Partial<InitOptions> & Required<Omit<InitOptions, never>>) => InitOptions;
2363
+ new: (partial: Partial<InitOptions> & Required<Omit<InitOptions, never>>) => InitOptions;
2364
+ defaults: () => Partial<InitOptions>;
2365
+ }>;
2366
+ /**
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.
2369
+ */
2370
+ export type InitOutcome = {
2371
+ signedInitBytes: ArrayBuffer;
2372
+ validUntilEpochSecs: bigint;
2163
2373
  };
2164
2374
  /**
2165
- * Generated factory for {@link ManifestSpec} record objects.
2375
+ * Generated factory for {@link InitOutcome} record objects.
2166
2376
  */
2167
- export declare const ManifestSpec: Readonly<{
2168
- create: (partial: Partial<ManifestSpec> & Required<Omit<ManifestSpec, "identity" | "title">>) => ManifestSpec;
2169
- new: (partial: Partial<ManifestSpec> & Required<Omit<ManifestSpec, "identity" | "title">>) => ManifestSpec;
2170
- defaults: () => Partial<ManifestSpec>;
2377
+ export declare const InitOutcome: Readonly<{
2378
+ create: (partial: Partial<InitOutcome> & Required<Omit<InitOutcome, never>>) => InitOutcome;
2379
+ new: (partial: Partial<InitOutcome> & Required<Omit<InitOutcome, never>>) => InitOutcome;
2380
+ defaults: () => Partial<InitOutcome>;
2171
2381
  }>;
2172
2382
  /**
2173
2383
  * Everything one [`AssetMarker::mark`] needs beyond the asset, every field stated.
@@ -2197,10 +2407,10 @@ export declare const MarkOptions: Readonly<{
2197
2407
  }>;
2198
2408
  /**
2199
2409
  * Result of [`AssetMarker::mark`](super::AssetMarker::mark): the marked asset and the provenance
2200
- * its marking created. The neutral core is [`marker::Marked`]; this differs only in carrying the
2410
+ * its marking created. The neutral core is [`marker::MarkOutcome`]; this differs only in carrying the
2201
2411
  * asset as [`Bytes`].
2202
2412
  */
2203
- export type Marked = {
2413
+ export type MarkOutcome = {
2204
2414
  /**
2205
2415
  * The marked asset. Sign these bytes, not the ones handed in.
2206
2416
  */
@@ -2220,12 +2430,12 @@ export type Marked = {
2220
2430
  actions: Array<Action>;
2221
2431
  };
2222
2432
  /**
2223
- * Generated factory for {@link Marked} record objects.
2433
+ * Generated factory for {@link MarkOutcome} record objects.
2224
2434
  */
2225
- export declare const Marked: Readonly<{
2226
- create: (partial: Partial<Marked> & Required<Omit<Marked, never>>) => Marked;
2227
- new: (partial: Partial<Marked> & Required<Omit<Marked, never>>) => Marked;
2228
- defaults: () => Partial<Marked>;
2435
+ export declare const MarkOutcome: Readonly<{
2436
+ create: (partial: Partial<MarkOutcome> & Required<Omit<MarkOutcome, never>>) => MarkOutcome;
2437
+ new: (partial: Partial<MarkOutcome> & Required<Omit<MarkOutcome, never>>) => MarkOutcome;
2438
+ defaults: () => Partial<MarkOutcome>;
2229
2439
  }>;
2230
2440
  /**
2231
2441
  * A byte range holding a bare C2PA manifest store, or reserved for one. A record of
@@ -2245,64 +2455,24 @@ export declare const Region: Readonly<{
2245
2455
  defaults: () => Partial<Region>;
2246
2456
  }>;
2247
2457
  /**
2248
- * `validity_period_secs` is the session-key validity window in seconds
2249
- * after `created_at`; the verifier rejects segments signed past this
2250
- * (plus skew tolerance).
2251
- *
2252
- * `refresh_percent` is 0..=100; once this percentage of
2253
- * `validity_period_secs` elapses, `sign` returns `rotation_due: true`
2254
- * so the consumer can rotate before verifier-side expiry.
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.
2255
2462
  */
2256
- export type RotationPolicy = {
2257
- validityPeriodSecs: number;
2258
- refreshPercent: number;
2463
+ export type SegmentOutcome = {
2464
+ bytes: ArrayBuffer;
2465
+ rotationDue: boolean;
2466
+ validUntilEpochSecs: bigint;
2259
2467
  };
2260
2468
  /**
2261
- * Generated factory for {@link RotationPolicy} record objects.
2469
+ * Generated factory for {@link SegmentOutcome} record objects.
2262
2470
  */
2263
- export declare const RotationPolicy: Readonly<{
2264
- create: (partial: Partial<RotationPolicy> & Required<Omit<RotationPolicy, never>>) => RotationPolicy;
2265
- new: (partial: Partial<RotationPolicy> & Required<Omit<RotationPolicy, never>>) => RotationPolicy;
2266
- defaults: () => Partial<RotationPolicy>;
2471
+ export declare const SegmentOutcome: Readonly<{
2472
+ create: (partial: Partial<SegmentOutcome> & Required<Omit<SegmentOutcome, never>>) => SegmentOutcome;
2473
+ new: (partial: Partial<SegmentOutcome> & Required<Omit<SegmentOutcome, never>>) => SegmentOutcome;
2474
+ defaults: () => Partial<SegmentOutcome>;
2267
2475
  }>;
2268
- /**
2269
- * A soft-binding binder: how a recoverable binding is derived from an asset. Put these inside
2270
- * the issuer's manifest mode to sign and index under them, and pass them in verify options to
2271
- * recover. Implement it for an algorithm the SDK does not ship; the SDK's own are
2272
- * [`IsccBinder`] and [`HeldBinder`].
2273
- *
2274
- * `derive` answers this binder's binding for `source`, or `None` when there is none.
2275
- * `options.format` is how the asset's format is known. `None` and an error
2276
- * mean different things: `None` is "no binding here", an error is "the question could not be
2277
- * answered", so a binder that failed never reads as an unmarked asset.
2278
- */
2279
- export interface Binder {
2280
- derive(source: RangeSource, options: DeriveOptions, asyncOpts_?: {
2281
- signal: AbortSignal;
2282
- }): Promise<SoftBinding | undefined>;
2283
- }
2284
- /**
2285
- * A soft-binding binder: how a recoverable binding is derived from an asset. Put these inside
2286
- * the issuer's manifest mode to sign and index under them, and pass them in verify options to
2287
- * recover. Implement it for an algorithm the SDK does not ship; the SDK's own are
2288
- * [`IsccBinder`] and [`HeldBinder`].
2289
- *
2290
- * `derive` answers this binder's binding for `source`, or `None` when there is none.
2291
- * `options.format` is how the asset's format is known. `None` and an error
2292
- * mean different things: `None` is "no binding here", an error is "the question could not be
2293
- * answered", so a binder that failed never reads as an unmarked asset.
2294
- */
2295
- export declare class BinderImpl extends UniffiAbstractObject implements Binder {
2296
- readonly [uniffiTypeNameSymbol] = "BinderImpl";
2297
- readonly [destructorGuardSymbol]: UniffiGcObject;
2298
- readonly [pointerLiteralSymbol]: UniffiHandle;
2299
- private constructor();
2300
- derive(source: RangeSource, options: DeriveOptions, asyncOpts_?: {
2301
- signal: AbortSignal;
2302
- }): Promise<SoftBinding | undefined>;
2303
- uniffiDestroy(): void;
2304
- static instanceOf(obj_: any): obj_ is BinderImpl;
2305
- }
2306
2476
  /**
2307
2477
  * A ranged read+write backend for embedding. All four methods are first-class (UniFFI
2308
2478
  * has no trait inheritance for foreign callbacks, so the read half is duplicated from
@@ -2359,42 +2529,42 @@ export declare class RangeSinkImpl extends UniffiAbstractObject implements Range
2359
2529
  uniffiDestroy(): void;
2360
2530
  static instanceOf(obj_: any): obj_ is RangeSinkImpl;
2361
2531
  }
2362
- export declare enum Output_Tags {
2532
+ export declare enum SignOutput_Tags {
2363
2533
  Sidecar = "Sidecar",
2364
2534
  Asset = "Asset"
2365
2535
  }
2366
2536
  /**
2367
2537
  * What a `sign` hands back beyond the sidecar it always returns: the sidecar alone, or the
2368
2538
  * signed asset written through `into` in the same call. See the core
2369
- * [`Output`](crate::manifest::spec::Output) for what pointing `into` at the asset's own
2539
+ * [`SignOutput`](crate::manifest::spec::SignOutput) for what pointing `into` at the asset's own
2370
2540
  * storage means.
2371
2541
  */
2372
- export declare const Output: Readonly<{
2373
- instanceOf: (obj: any) => obj is Output;
2542
+ export declare const SignOutput: Readonly<{
2543
+ instanceOf: (obj: any) => obj is SignOutput;
2374
2544
  Sidecar: {
2375
2545
  new (): {
2376
2546
  /**
2377
2547
  * @private
2378
2548
  * This field is private and should not be used, use `tag` instead.
2379
2549
  */
2380
- readonly [uniffiTypeNameSymbol]: "Output";
2381
- readonly tag: Output_Tags.Sidecar;
2550
+ readonly [uniffiTypeNameSymbol]: "SignOutput";
2551
+ readonly tag: SignOutput_Tags.Sidecar;
2382
2552
  };
2383
2553
  "new"(): {
2384
2554
  /**
2385
2555
  * @private
2386
2556
  * This field is private and should not be used, use `tag` instead.
2387
2557
  */
2388
- readonly [uniffiTypeNameSymbol]: "Output";
2389
- readonly tag: Output_Tags.Sidecar;
2558
+ readonly [uniffiTypeNameSymbol]: "SignOutput";
2559
+ readonly tag: SignOutput_Tags.Sidecar;
2390
2560
  };
2391
2561
  instanceOf(obj: any): obj is {
2392
2562
  /**
2393
2563
  * @private
2394
2564
  * This field is private and should not be used, use `tag` instead.
2395
2565
  */
2396
- readonly [uniffiTypeNameSymbol]: "Output";
2397
- readonly tag: Output_Tags.Sidecar;
2566
+ readonly [uniffiTypeNameSymbol]: "SignOutput";
2567
+ readonly tag: SignOutput_Tags.Sidecar;
2398
2568
  };
2399
2569
  };
2400
2570
  Asset: {
@@ -2405,8 +2575,8 @@ export declare const Output: Readonly<{
2405
2575
  * @private
2406
2576
  * This field is private and should not be used, use `tag` instead.
2407
2577
  */
2408
- readonly [uniffiTypeNameSymbol]: "Output";
2409
- readonly tag: Output_Tags.Asset;
2578
+ readonly [uniffiTypeNameSymbol]: "SignOutput";
2579
+ readonly tag: SignOutput_Tags.Asset;
2410
2580
  readonly inner: Readonly<{
2411
2581
  into: RangeSink;
2412
2582
  }>;
@@ -2418,8 +2588,8 @@ export declare const Output: Readonly<{
2418
2588
  * @private
2419
2589
  * This field is private and should not be used, use `tag` instead.
2420
2590
  */
2421
- readonly [uniffiTypeNameSymbol]: "Output";
2422
- readonly tag: Output_Tags.Asset;
2591
+ readonly [uniffiTypeNameSymbol]: "SignOutput";
2592
+ readonly tag: SignOutput_Tags.Asset;
2423
2593
  readonly inner: Readonly<{
2424
2594
  into: RangeSink;
2425
2595
  }>;
@@ -2429,8 +2599,8 @@ export declare const Output: Readonly<{
2429
2599
  * @private
2430
2600
  * This field is private and should not be used, use `tag` instead.
2431
2601
  */
2432
- readonly [uniffiTypeNameSymbol]: "Output";
2433
- readonly tag: Output_Tags.Asset;
2602
+ readonly [uniffiTypeNameSymbol]: "SignOutput";
2603
+ readonly tag: SignOutput_Tags.Asset;
2434
2604
  readonly inner: Readonly<{
2435
2605
  into: RangeSink;
2436
2606
  }>;
@@ -2440,10 +2610,10 @@ export declare const Output: Readonly<{
2440
2610
  /**
2441
2611
  * What a `sign` hands back beyond the sidecar it always returns: the sidecar alone, or the
2442
2612
  * signed asset written through `into` in the same call. See the core
2443
- * [`Output`](crate::manifest::spec::Output) for what pointing `into` at the asset's own
2613
+ * [`SignOutput`](crate::manifest::spec::SignOutput) for what pointing `into` at the asset's own
2444
2614
  * storage means.
2445
2615
  */
2446
- export type Output = InstanceType<typeof Output['Sidecar' | 'Asset']>;
2616
+ export type SignOutput = InstanceType<typeof SignOutput['Sidecar' | 'Asset']>;
2447
2617
  export declare enum AssetDelivery_Tags {
2448
2618
  Embedded = "Embedded",
2449
2619
  Remote = "Remote",
@@ -2462,7 +2632,7 @@ export declare const AssetDelivery: Readonly<{
2462
2632
  Embedded: {
2463
2633
  new (inner: {
2464
2634
  binders: Array<Binder>;
2465
- output: Output;
2635
+ output: SignOutput;
2466
2636
  }): {
2467
2637
  /**
2468
2638
  * @private
@@ -2472,12 +2642,12 @@ export declare const AssetDelivery: Readonly<{
2472
2642
  readonly tag: AssetDelivery_Tags.Embedded;
2473
2643
  readonly inner: Readonly<{
2474
2644
  binders: Array<Binder>;
2475
- output: Output;
2645
+ output: SignOutput;
2476
2646
  }>;
2477
2647
  };
2478
2648
  "new"(inner: {
2479
2649
  binders: Array<Binder>;
2480
- output: Output;
2650
+ output: SignOutput;
2481
2651
  }): {
2482
2652
  /**
2483
2653
  * @private
@@ -2487,7 +2657,7 @@ export declare const AssetDelivery: Readonly<{
2487
2657
  readonly tag: AssetDelivery_Tags.Embedded;
2488
2658
  readonly inner: Readonly<{
2489
2659
  binders: Array<Binder>;
2490
- output: Output;
2660
+ output: SignOutput;
2491
2661
  }>;
2492
2662
  };
2493
2663
  instanceOf(obj: any): obj is {
@@ -2499,7 +2669,7 @@ export declare const AssetDelivery: Readonly<{
2499
2669
  readonly tag: AssetDelivery_Tags.Embedded;
2500
2670
  readonly inner: Readonly<{
2501
2671
  binders: Array<Binder>;
2502
- output: Output;
2672
+ output: SignOutput;
2503
2673
  }>;
2504
2674
  };
2505
2675
  };
@@ -2545,7 +2715,7 @@ export declare const AssetDelivery: Readonly<{
2545
2715
  Both: {
2546
2716
  new (inner: {
2547
2717
  binders: Array<Binder>;
2548
- output: Output;
2718
+ output: SignOutput;
2549
2719
  }): {
2550
2720
  /**
2551
2721
  * @private
@@ -2555,12 +2725,12 @@ export declare const AssetDelivery: Readonly<{
2555
2725
  readonly tag: AssetDelivery_Tags.Both;
2556
2726
  readonly inner: Readonly<{
2557
2727
  binders: Array<Binder>;
2558
- output: Output;
2728
+ output: SignOutput;
2559
2729
  }>;
2560
2730
  };
2561
2731
  "new"(inner: {
2562
2732
  binders: Array<Binder>;
2563
- output: Output;
2733
+ output: SignOutput;
2564
2734
  }): {
2565
2735
  /**
2566
2736
  * @private
@@ -2570,7 +2740,7 @@ export declare const AssetDelivery: Readonly<{
2570
2740
  readonly tag: AssetDelivery_Tags.Both;
2571
2741
  readonly inner: Readonly<{
2572
2742
  binders: Array<Binder>;
2573
- output: Output;
2743
+ output: SignOutput;
2574
2744
  }>;
2575
2745
  };
2576
2746
  instanceOf(obj: any): obj is {
@@ -2582,7 +2752,7 @@ export declare const AssetDelivery: Readonly<{
2582
2752
  readonly tag: AssetDelivery_Tags.Both;
2583
2753
  readonly inner: Readonly<{
2584
2754
  binders: Array<Binder>;
2585
- output: Output;
2755
+ output: SignOutput;
2586
2756
  }>;
2587
2757
  };
2588
2758
  };
@@ -2636,42 +2806,23 @@ export declare const SignOutcome: Readonly<{
2636
2806
  new: (partial: Partial<SignOutcome> & Required<Omit<SignOutcome, never>>) => SignOutcome;
2637
2807
  defaults: () => Partial<SignOutcome>;
2638
2808
  }>;
2639
- /**
2640
- * Result of [`StreamSession::sign`](super::StreamSession::sign). `rotation_due` flips once
2641
- * `policy.refresh_percent`% of validity has elapsed; `valid_until_epoch_secs` is repeated
2642
- * per segment so callers can schedule rotation precisely instead of reacting only to the
2643
- * flag.
2644
- */
2645
- export type SignedSegmentOutcome = {
2646
- bytes: ArrayBuffer;
2647
- rotationDue: boolean;
2648
- validUntilEpochSecs: bigint;
2649
- };
2650
- /**
2651
- * Generated factory for {@link SignedSegmentOutcome} record objects.
2652
- */
2653
- export declare const SignedSegmentOutcome: Readonly<{
2654
- create: (partial: Partial<SignedSegmentOutcome> & Required<Omit<SignedSegmentOutcome, never>>) => SignedSegmentOutcome;
2655
- new: (partial: Partial<SignedSegmentOutcome> & Required<Omit<SignedSegmentOutcome, never>>) => SignedSegmentOutcome;
2656
- defaults: () => Partial<SignedSegmentOutcome>;
2657
- }>;
2658
- export declare enum ExplicitOrigin_Tags {
2809
+ export declare enum Origin_Tags {
2659
2810
  Created = "Created",
2660
2811
  Opened = "Opened"
2661
2812
  }
2662
2813
  /**
2663
- * An origin a live stream states; see the core [`provenance::ExplicitOrigin`].
2814
+ * An origin a live stream states; see the core [`provenance::Origin`].
2664
2815
  */
2665
- export declare const ExplicitOrigin: Readonly<{
2666
- instanceOf: (obj: any) => obj is ExplicitOrigin;
2816
+ export declare const Origin: Readonly<{
2817
+ instanceOf: (obj: any) => obj is Origin;
2667
2818
  Created: {
2668
2819
  new (v0: CreatedOrigin): {
2669
2820
  /**
2670
2821
  * @private
2671
2822
  * This field is private and should not be used, use `tag` instead.
2672
2823
  */
2673
- readonly [uniffiTypeNameSymbol]: "ExplicitOrigin";
2674
- readonly tag: ExplicitOrigin_Tags.Created;
2824
+ readonly [uniffiTypeNameSymbol]: "Origin";
2825
+ readonly tag: Origin_Tags.Created;
2675
2826
  readonly inner: Readonly<[CreatedOrigin]>;
2676
2827
  };
2677
2828
  "new"(v0: CreatedOrigin): {
@@ -2679,8 +2830,8 @@ export declare const ExplicitOrigin: Readonly<{
2679
2830
  * @private
2680
2831
  * This field is private and should not be used, use `tag` instead.
2681
2832
  */
2682
- readonly [uniffiTypeNameSymbol]: "ExplicitOrigin";
2683
- readonly tag: ExplicitOrigin_Tags.Created;
2833
+ readonly [uniffiTypeNameSymbol]: "Origin";
2834
+ readonly tag: Origin_Tags.Created;
2684
2835
  readonly inner: Readonly<[CreatedOrigin]>;
2685
2836
  };
2686
2837
  instanceOf(obj: any): obj is {
@@ -2688,8 +2839,8 @@ export declare const ExplicitOrigin: Readonly<{
2688
2839
  * @private
2689
2840
  * This field is private and should not be used, use `tag` instead.
2690
2841
  */
2691
- readonly [uniffiTypeNameSymbol]: "ExplicitOrigin";
2692
- readonly tag: ExplicitOrigin_Tags.Created;
2842
+ readonly [uniffiTypeNameSymbol]: "Origin";
2843
+ readonly tag: Origin_Tags.Created;
2693
2844
  readonly inner: Readonly<[CreatedOrigin]>;
2694
2845
  };
2695
2846
  };
@@ -2699,8 +2850,8 @@ export declare const ExplicitOrigin: Readonly<{
2699
2850
  * @private
2700
2851
  * This field is private and should not be used, use `tag` instead.
2701
2852
  */
2702
- readonly [uniffiTypeNameSymbol]: "ExplicitOrigin";
2703
- readonly tag: ExplicitOrigin_Tags.Opened;
2853
+ readonly [uniffiTypeNameSymbol]: "Origin";
2854
+ readonly tag: Origin_Tags.Opened;
2704
2855
  readonly inner: Readonly<[OpenedOrigin]>;
2705
2856
  };
2706
2857
  "new"(v0: OpenedOrigin): {
@@ -2708,8 +2859,8 @@ export declare const ExplicitOrigin: Readonly<{
2708
2859
  * @private
2709
2860
  * This field is private and should not be used, use `tag` instead.
2710
2861
  */
2711
- readonly [uniffiTypeNameSymbol]: "ExplicitOrigin";
2712
- readonly tag: ExplicitOrigin_Tags.Opened;
2862
+ readonly [uniffiTypeNameSymbol]: "Origin";
2863
+ readonly tag: Origin_Tags.Opened;
2713
2864
  readonly inner: Readonly<[OpenedOrigin]>;
2714
2865
  };
2715
2866
  instanceOf(obj: any): obj is {
@@ -2717,25 +2868,25 @@ export declare const ExplicitOrigin: Readonly<{
2717
2868
  * @private
2718
2869
  * This field is private and should not be used, use `tag` instead.
2719
2870
  */
2720
- readonly [uniffiTypeNameSymbol]: "ExplicitOrigin";
2721
- readonly tag: ExplicitOrigin_Tags.Opened;
2871
+ readonly [uniffiTypeNameSymbol]: "Origin";
2872
+ readonly tag: Origin_Tags.Opened;
2722
2873
  readonly inner: Readonly<[OpenedOrigin]>;
2723
2874
  };
2724
2875
  };
2725
2876
  }>;
2726
2877
  /**
2727
- * An origin a live stream states; see the core [`provenance::ExplicitOrigin`].
2878
+ * An origin a live stream states; see the core [`provenance::Origin`].
2728
2879
  */
2729
- export type ExplicitOrigin = InstanceType<typeof ExplicitOrigin['Created' | 'Opened']>;
2880
+ export type Origin = InstanceType<typeof Origin['Created' | 'Opened']>;
2730
2881
  /**
2731
- * The manifest a live stream's init segment is signed with: a [`ManifestSpec`] whose origin
2732
- * is an [`ExplicitOrigin`], since an init segment has no store the SDK opens as the parent.
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.
2733
2884
  */
2734
2885
  export type StreamManifestSpec = {
2735
2886
  title?: string;
2736
- origin: ExplicitOrigin;
2887
+ origin: Origin;
2737
2888
  actions: Array<Action>;
2738
- identity?: IdentityOptions;
2889
+ identity?: Identity;
2739
2890
  assertions: Array<Assertion>;
2740
2891
  components: Array<Component>;
2741
2892
  };
@@ -2747,156 +2898,6 @@ export declare const StreamManifestSpec: Readonly<{
2747
2898
  new: (partial: Partial<StreamManifestSpec> & Required<Omit<StreamManifestSpec, "identity" | "title">>) => StreamManifestSpec;
2748
2899
  defaults: () => Partial<StreamManifestSpec>;
2749
2900
  }>;
2750
- export declare enum StreamDelivery_Tags {
2751
- Embedded = "Embedded",
2752
- Remote = "Remote",
2753
- Both = "Both"
2754
- }
2755
- /**
2756
- * How a live stream's init manifest is delivered and which binders it declares. A stream
2757
- * returns its signed init segment as bytes, so there is no output to name.
2758
- */
2759
- export declare const StreamDelivery: Readonly<{
2760
- instanceOf: (obj: any) => obj is StreamDelivery;
2761
- Embedded: {
2762
- new (inner: {
2763
- binders: Array<Binder>;
2764
- }): {
2765
- /**
2766
- * @private
2767
- * This field is private and should not be used, use `tag` instead.
2768
- */
2769
- readonly [uniffiTypeNameSymbol]: "StreamDelivery";
2770
- readonly tag: StreamDelivery_Tags.Embedded;
2771
- readonly inner: Readonly<{
2772
- binders: Array<Binder>;
2773
- }>;
2774
- };
2775
- "new"(inner: {
2776
- binders: Array<Binder>;
2777
- }): {
2778
- /**
2779
- * @private
2780
- * This field is private and should not be used, use `tag` instead.
2781
- */
2782
- readonly [uniffiTypeNameSymbol]: "StreamDelivery";
2783
- readonly tag: StreamDelivery_Tags.Embedded;
2784
- readonly inner: Readonly<{
2785
- binders: Array<Binder>;
2786
- }>;
2787
- };
2788
- instanceOf(obj: any): obj is {
2789
- /**
2790
- * @private
2791
- * This field is private and should not be used, use `tag` instead.
2792
- */
2793
- readonly [uniffiTypeNameSymbol]: "StreamDelivery";
2794
- readonly tag: StreamDelivery_Tags.Embedded;
2795
- readonly inner: Readonly<{
2796
- binders: Array<Binder>;
2797
- }>;
2798
- };
2799
- };
2800
- Remote: {
2801
- new (inner: {
2802
- binders: Array<Binder>;
2803
- }): {
2804
- /**
2805
- * @private
2806
- * This field is private and should not be used, use `tag` instead.
2807
- */
2808
- readonly [uniffiTypeNameSymbol]: "StreamDelivery";
2809
- readonly tag: StreamDelivery_Tags.Remote;
2810
- readonly inner: Readonly<{
2811
- binders: Array<Binder>;
2812
- }>;
2813
- };
2814
- "new"(inner: {
2815
- binders: Array<Binder>;
2816
- }): {
2817
- /**
2818
- * @private
2819
- * This field is private and should not be used, use `tag` instead.
2820
- */
2821
- readonly [uniffiTypeNameSymbol]: "StreamDelivery";
2822
- readonly tag: StreamDelivery_Tags.Remote;
2823
- readonly inner: Readonly<{
2824
- binders: Array<Binder>;
2825
- }>;
2826
- };
2827
- instanceOf(obj: any): obj is {
2828
- /**
2829
- * @private
2830
- * This field is private and should not be used, use `tag` instead.
2831
- */
2832
- readonly [uniffiTypeNameSymbol]: "StreamDelivery";
2833
- readonly tag: StreamDelivery_Tags.Remote;
2834
- readonly inner: Readonly<{
2835
- binders: Array<Binder>;
2836
- }>;
2837
- };
2838
- };
2839
- Both: {
2840
- new (inner: {
2841
- binders: Array<Binder>;
2842
- }): {
2843
- /**
2844
- * @private
2845
- * This field is private and should not be used, use `tag` instead.
2846
- */
2847
- readonly [uniffiTypeNameSymbol]: "StreamDelivery";
2848
- readonly tag: StreamDelivery_Tags.Both;
2849
- readonly inner: Readonly<{
2850
- binders: Array<Binder>;
2851
- }>;
2852
- };
2853
- "new"(inner: {
2854
- binders: Array<Binder>;
2855
- }): {
2856
- /**
2857
- * @private
2858
- * This field is private and should not be used, use `tag` instead.
2859
- */
2860
- readonly [uniffiTypeNameSymbol]: "StreamDelivery";
2861
- readonly tag: StreamDelivery_Tags.Both;
2862
- readonly inner: Readonly<{
2863
- binders: Array<Binder>;
2864
- }>;
2865
- };
2866
- instanceOf(obj: any): obj is {
2867
- /**
2868
- * @private
2869
- * This field is private and should not be used, use `tag` instead.
2870
- */
2871
- readonly [uniffiTypeNameSymbol]: "StreamDelivery";
2872
- readonly tag: StreamDelivery_Tags.Both;
2873
- readonly inner: Readonly<{
2874
- binders: Array<Binder>;
2875
- }>;
2876
- };
2877
- };
2878
- }>;
2879
- /**
2880
- * How a live stream's init manifest is delivered and which binders it declares. A stream
2881
- * returns its signed init segment as bytes, so there is no output to name.
2882
- */
2883
- export type StreamDelivery = InstanceType<typeof StreamDelivery['Embedded' | 'Remote' | 'Both']>;
2884
- /**
2885
- * Options for a stream's `init` and `rotate`: where the init manifest lives and the binders
2886
- * run over the init segment for it, and the session-key validity window.
2887
- */
2888
- export type StreamOptions = {
2889
- delivery: StreamDelivery;
2890
- rotationPolicy: RotationPolicy;
2891
- };
2892
- /**
2893
- * Generated factory for {@link StreamOptions} record objects.
2894
- */
2895
- export declare const StreamOptions: Readonly<{
2896
- create: (partial: Partial<StreamOptions> & Required<Omit<StreamOptions, never>>) => StreamOptions;
2897
- new: (partial: Partial<StreamOptions> & Required<Omit<StreamOptions, never>>) => StreamOptions;
2898
- defaults: () => Partial<StreamOptions>;
2899
- }>;
2900
2901
  /**
2901
2902
  * One live stream, from `init` to `stop`.
2902
2903
  *
@@ -2916,7 +2917,7 @@ export interface StreamSessionLike {
2916
2917
  */
2917
2918
  sign(body: RangeSource, asyncOpts_?: {
2918
2919
  signal: AbortSignal;
2919
- }): Promise<SignedSegmentOutcome>;
2920
+ }): Promise<SegmentOutcome>;
2920
2921
  /**
2921
2922
  * End the stream: forget its session key, so nothing can sign under it again.
2922
2923
  *
@@ -2955,7 +2956,7 @@ export declare class StreamSession extends UniffiAbstractObject implements Strea
2955
2956
  */
2956
2957
  sign(body: RangeSource, asyncOpts_?: {
2957
2958
  signal: AbortSignal;
2958
- }): Promise<SignedSegmentOutcome>;
2959
+ }): Promise<SegmentOutcome>;
2959
2960
  /**
2960
2961
  * End the stream: forget its session key, so nothing can sign under it again.
2961
2962
  *
@@ -3070,7 +3071,7 @@ export interface AssetIssuerLike {
3070
3071
  * Fails on RPC failure, a hashing error, an authoring error, a protocol violation,
3071
3072
  * or when the format can't be inferred and none was given.
3072
3073
  */
3073
- sign(source: RangeSource, manifest: ManifestSpec, options: SignOptions, plugins: Array<PluginAuthor>, asyncOpts_?: {
3074
+ sign(source: RangeSource, manifest: AssetManifestSpec, options: SignOptions, plugins: Array<PluginAuthor>, asyncOpts_?: {
3074
3075
  signal: AbortSignal;
3075
3076
  }): Promise<SignOutcome>;
3076
3077
  }
@@ -3103,7 +3104,7 @@ export declare class AssetIssuer extends UniffiAbstractObject implements AssetIs
3103
3104
  * Fails on RPC failure, a hashing error, an authoring error, a protocol violation,
3104
3105
  * or when the format can't be inferred and none was given.
3105
3106
  */
3106
- sign(source: RangeSource, manifest: ManifestSpec, options: SignOptions, plugins: Array<PluginAuthor>, asyncOpts_?: {
3107
+ sign(source: RangeSource, manifest: AssetManifestSpec, options: SignOptions, plugins: Array<PluginAuthor>, asyncOpts_?: {
3107
3108
  signal: AbortSignal;
3108
3109
  }): Promise<SignOutcome>;
3109
3110
  uniffiDestroy(): void;
@@ -3128,7 +3129,7 @@ export interface AssetMarkerLike {
3128
3129
  */
3129
3130
  mark(source: RangeSource, options: MarkOptions, asyncOpts_?: {
3130
3131
  signal: AbortSignal;
3131
- }): Promise<Marked>;
3132
+ }): Promise<MarkOutcome>;
3132
3133
  }
3133
3134
  /**
3134
3135
  * @deprecated Use `AssetMarkerLike` instead.
@@ -3161,7 +3162,7 @@ export declare class AssetMarker extends UniffiAbstractObject implements AssetMa
3161
3162
  */
3162
3163
  mark(source: RangeSource, options: MarkOptions, asyncOpts_?: {
3163
3164
  signal: AbortSignal;
3164
- }): Promise<Marked>;
3165
+ }): Promise<MarkOutcome>;
3165
3166
  uniffiDestroy(): void;
3166
3167
  static instanceOf(obj_: any): obj_ is AssetMarker;
3167
3168
  }
@@ -3606,7 +3607,7 @@ export interface StreamIssuerLike {
3606
3607
  * Fails on signer RPC failure, a vault error, or an `init_body` that isn't a BMFF init
3607
3608
  * segment.
3608
3609
  */
3609
- init(streamId: string, initBody: RangeSource, manifest: StreamManifestSpec, options: StreamOptions, asyncOpts_?: {
3610
+ init(streamId: string, initBody: RangeSource, manifest: StreamManifestSpec, options: InitOptions, asyncOpts_?: {
3610
3611
  signal: AbortSignal;
3611
3612
  }): Promise<StreamStart>;
3612
3613
  /**
@@ -3621,7 +3622,7 @@ export interface StreamIssuerLike {
3621
3622
  *
3622
3623
  * As [`StreamIssuer::init`].
3623
3624
  */
3624
- rotate(session: StreamSessionLike, initBody: RangeSource, manifest: StreamManifestSpec, options: StreamOptions, asyncOpts_?: {
3625
+ rotate(session: StreamSessionLike, initBody: RangeSource, manifest: StreamManifestSpec, options: InitOptions, asyncOpts_?: {
3625
3626
  signal: AbortSignal;
3626
3627
  }): Promise<StreamStart>;
3627
3628
  }
@@ -3655,7 +3656,7 @@ export declare class StreamIssuer extends UniffiAbstractObject implements Stream
3655
3656
  * Fails on signer RPC failure, a vault error, or an `init_body` that isn't a BMFF init
3656
3657
  * segment.
3657
3658
  */
3658
- init(streamId: string, initBody: RangeSource, manifest: StreamManifestSpec, options: StreamOptions, asyncOpts_?: {
3659
+ init(streamId: string, initBody: RangeSource, manifest: StreamManifestSpec, options: InitOptions, asyncOpts_?: {
3659
3660
  signal: AbortSignal;
3660
3661
  }): Promise<StreamStart>;
3661
3662
  /**
@@ -3670,7 +3671,7 @@ export declare class StreamIssuer extends UniffiAbstractObject implements Stream
3670
3671
  *
3671
3672
  * As [`StreamIssuer::init`].
3672
3673
  */
3673
- rotate(session: StreamSessionLike, initBody: RangeSource, manifest: StreamManifestSpec, options: StreamOptions, asyncOpts_?: {
3674
+ rotate(session: StreamSessionLike, initBody: RangeSource, manifest: StreamManifestSpec, options: InitOptions, asyncOpts_?: {
3674
3675
  signal: AbortSignal;
3675
3676
  }): Promise<StreamStart>;
3676
3677
  uniffiDestroy(): void;
@@ -3750,7 +3751,21 @@ declare const _default$1: Readonly<{
3750
3751
  lower(value: AssetFormat, alloc: RustBufferAllocator): UniffiByteArray;
3751
3752
  };
3752
3753
  FfiConverterTypeAssetIssuer: FfiConverterObject<AssetIssuerLike>;
3754
+ FfiConverterTypeAssetManifestSpec: {
3755
+ readFromCursor(c: Cursor): AssetManifestSpec;
3756
+ writeIntoCursor(value: AssetManifestSpec, c: Cursor): void;
3757
+ allocationSize(value: AssetManifestSpec): number;
3758
+ lift(value: UniffiByteArray): AssetManifestSpec;
3759
+ lower(value: AssetManifestSpec, alloc: RustBufferAllocator): UniffiByteArray;
3760
+ };
3753
3761
  FfiConverterTypeAssetMarker: FfiConverterObject<AssetMarkerLike>;
3762
+ FfiConverterTypeAssetOrigin: {
3763
+ readFromCursor(c: Cursor): AssetOrigin;
3764
+ writeIntoCursor(value: AssetOrigin, c: Cursor): void;
3765
+ allocationSize(value: AssetOrigin): number;
3766
+ lift(value: UniffiByteArray): AssetOrigin;
3767
+ lower(value: AssetOrigin, alloc: RustBufferAllocator): UniffiByteArray;
3768
+ };
3754
3769
  FfiConverterTypeBinder: FfiConverterObjectWithCallbacks<Binder>;
3755
3770
  FfiConverterTypeCode: {
3756
3771
  readFromCursor(c: Cursor): Code;
@@ -3808,13 +3823,6 @@ declare const _default$1: Readonly<{
3808
3823
  lift(value: UniffiByteArray): EmbedOptions;
3809
3824
  lower(value: EmbedOptions, alloc: RustBufferAllocator): UniffiByteArray;
3810
3825
  };
3811
- FfiConverterTypeExplicitOrigin: {
3812
- readFromCursor(c: Cursor): ExplicitOrigin;
3813
- writeIntoCursor(value: ExplicitOrigin, c: Cursor): void;
3814
- allocationSize(value: ExplicitOrigin): number;
3815
- lift(value: UniffiByteArray): ExplicitOrigin;
3816
- lower(value: ExplicitOrigin, alloc: RustBufferAllocator): UniffiByteArray;
3817
- };
3818
3826
  FfiConverterTypeFieldViolation: {
3819
3827
  readFromCursor(c: Cursor): FieldViolation;
3820
3828
  writeIntoCursor(value: FieldViolation, c: Cursor): void;
@@ -3825,12 +3833,12 @@ declare const _default$1: Readonly<{
3825
3833
  FfiConverterTypeFileSink: FfiConverterObject<FileSinkLike>;
3826
3834
  FfiConverterTypeFileSource: FfiConverterObject<FileSourceLike>;
3827
3835
  FfiConverterTypeHeldBinder: FfiConverterObject<HeldBinderLike>;
3828
- FfiConverterTypeIdentityOptions: {
3829
- readFromCursor(c: Cursor): IdentityOptions;
3830
- writeIntoCursor(value: IdentityOptions, c: Cursor): void;
3831
- allocationSize(value: IdentityOptions): number;
3832
- lift(value: UniffiByteArray): IdentityOptions;
3833
- lower(value: IdentityOptions, alloc: RustBufferAllocator): UniffiByteArray;
3836
+ FfiConverterTypeIdentity: {
3837
+ readFromCursor(c: Cursor): Identity;
3838
+ writeIntoCursor(value: Identity, c: Cursor): void;
3839
+ allocationSize(value: Identity): number;
3840
+ lift(value: UniffiByteArray): Identity;
3841
+ lower(value: Identity, alloc: RustBufferAllocator): UniffiByteArray;
3834
3842
  };
3835
3843
  FfiConverterTypeIngredient: {
3836
3844
  readFromCursor(c: Cursor): Ingredient;
@@ -3846,6 +3854,13 @@ declare const _default$1: Readonly<{
3846
3854
  lift(value: UniffiByteArray): IngredientSource;
3847
3855
  lower(value: IngredientSource, alloc: RustBufferAllocator): UniffiByteArray;
3848
3856
  };
3857
+ FfiConverterTypeInitOptions: {
3858
+ readFromCursor(c: Cursor): InitOptions;
3859
+ writeIntoCursor(value: InitOptions, c: Cursor): void;
3860
+ allocationSize(value: InitOptions): number;
3861
+ lift(value: UniffiByteArray): InitOptions;
3862
+ lower(value: InitOptions, alloc: RustBufferAllocator): UniffiByteArray;
3863
+ };
3849
3864
  FfiConverterTypeInitOutcome: {
3850
3865
  readFromCursor(c: Cursor): InitOutcome;
3851
3866
  writeIntoCursor(value: InitOutcome, c: Cursor): void;
@@ -3855,13 +3870,7 @@ declare const _default$1: Readonly<{
3855
3870
  };
3856
3871
  FfiConverterTypeIsccBinder: FfiConverterObject<IsccBinderLike>;
3857
3872
  FfiConverterTypeJsonObject: FfiConverter<UniffiByteArray, string>;
3858
- FfiConverterTypeManifestSpec: {
3859
- readFromCursor(c: Cursor): ManifestSpec;
3860
- writeIntoCursor(value: ManifestSpec, c: Cursor): void;
3861
- allocationSize(value: ManifestSpec): number;
3862
- lift(value: UniffiByteArray): ManifestSpec;
3863
- lower(value: ManifestSpec, alloc: RustBufferAllocator): UniffiByteArray;
3864
- };
3873
+ FfiConverterTypeJsonValue: FfiConverter<UniffiByteArray, string>;
3865
3874
  FfiConverterTypeMarkOptions: {
3866
3875
  readFromCursor(c: Cursor): MarkOptions;
3867
3876
  writeIntoCursor(value: MarkOptions, c: Cursor): void;
@@ -3869,12 +3878,12 @@ declare const _default$1: Readonly<{
3869
3878
  lift(value: UniffiByteArray): MarkOptions;
3870
3879
  lower(value: MarkOptions, alloc: RustBufferAllocator): UniffiByteArray;
3871
3880
  };
3872
- FfiConverterTypeMarked: {
3873
- readFromCursor(c: Cursor): Marked;
3874
- writeIntoCursor(value: Marked, c: Cursor): void;
3875
- allocationSize(value: Marked): number;
3876
- lift(value: UniffiByteArray): Marked;
3877
- lower(value: Marked, alloc: RustBufferAllocator): UniffiByteArray;
3881
+ FfiConverterTypeMarkOutcome: {
3882
+ readFromCursor(c: Cursor): MarkOutcome;
3883
+ writeIntoCursor(value: MarkOutcome, c: Cursor): void;
3884
+ allocationSize(value: MarkOutcome): number;
3885
+ lift(value: UniffiByteArray): MarkOutcome;
3886
+ lower(value: MarkOutcome, alloc: RustBufferAllocator): UniffiByteArray;
3878
3887
  };
3879
3888
  FfiConverterTypeMemorySink: FfiConverterObject<MemorySinkLike>;
3880
3889
  FfiConverterTypeMemorySource: FfiConverterObject<MemorySourceLike>;
@@ -3892,13 +3901,6 @@ declare const _default$1: Readonly<{
3892
3901
  lift(value: UniffiByteArray): Origin;
3893
3902
  lower(value: Origin, alloc: RustBufferAllocator): UniffiByteArray;
3894
3903
  };
3895
- FfiConverterTypeOutput: {
3896
- readFromCursor(c: Cursor): Output;
3897
- writeIntoCursor(value: Output, c: Cursor): void;
3898
- allocationSize(value: Output): number;
3899
- lift(value: UniffiByteArray): Output;
3900
- lower(value: Output, alloc: RustBufferAllocator): UniffiByteArray;
3901
- };
3902
3904
  FfiConverterTypeRangeSink: FfiConverterObjectWithCallbacks<RangeSink>;
3903
3905
  FfiConverterTypeRangeSource: FfiConverterObjectWithCallbacks<RangeSource>;
3904
3906
  FfiConverterTypeRegion: {
@@ -3929,6 +3931,13 @@ declare const _default$1: Readonly<{
3929
3931
  lift(value: UniffiByteArray): SegmentKind;
3930
3932
  lower(value: SegmentKind, alloc: RustBufferAllocator): UniffiByteArray;
3931
3933
  };
3934
+ FfiConverterTypeSegmentOutcome: {
3935
+ readFromCursor(c: Cursor): SegmentOutcome;
3936
+ writeIntoCursor(value: SegmentOutcome, c: Cursor): void;
3937
+ allocationSize(value: SegmentOutcome): number;
3938
+ lift(value: UniffiByteArray): SegmentOutcome;
3939
+ lower(value: SegmentOutcome, alloc: RustBufferAllocator): UniffiByteArray;
3940
+ };
3932
3941
  FfiConverterTypeSignOptions: {
3933
3942
  readFromCursor(c: Cursor): SignOptions;
3934
3943
  writeIntoCursor(value: SignOptions, c: Cursor): void;
@@ -3943,12 +3952,12 @@ declare const _default$1: Readonly<{
3943
3952
  lift(value: UniffiByteArray): SignOutcome;
3944
3953
  lower(value: SignOutcome, alloc: RustBufferAllocator): UniffiByteArray;
3945
3954
  };
3946
- FfiConverterTypeSignedSegmentOutcome: {
3947
- readFromCursor(c: Cursor): SignedSegmentOutcome;
3948
- writeIntoCursor(value: SignedSegmentOutcome, c: Cursor): void;
3949
- allocationSize(value: SignedSegmentOutcome): number;
3950
- lift(value: UniffiByteArray): SignedSegmentOutcome;
3951
- lower(value: SignedSegmentOutcome, alloc: RustBufferAllocator): UniffiByteArray;
3955
+ FfiConverterTypeSignOutput: {
3956
+ readFromCursor(c: Cursor): SignOutput;
3957
+ writeIntoCursor(value: SignOutput, c: Cursor): void;
3958
+ allocationSize(value: SignOutput): number;
3959
+ lift(value: UniffiByteArray): SignOutput;
3960
+ lower(value: SignOutput, alloc: RustBufferAllocator): UniffiByteArray;
3952
3961
  };
3953
3962
  FfiConverterTypeSignerClient: FfiConverterObject<SignerClientLike>;
3954
3963
  FfiConverterTypeSoftBinding: {
@@ -3980,13 +3989,6 @@ declare const _default$1: Readonly<{
3980
3989
  lift(value: UniffiByteArray): StreamManifestSpec;
3981
3990
  lower(value: StreamManifestSpec, alloc: RustBufferAllocator): UniffiByteArray;
3982
3991
  };
3983
- FfiConverterTypeStreamOptions: {
3984
- readFromCursor(c: Cursor): StreamOptions;
3985
- writeIntoCursor(value: StreamOptions, c: Cursor): void;
3986
- allocationSize(value: StreamOptions): number;
3987
- lift(value: UniffiByteArray): StreamOptions;
3988
- lower(value: StreamOptions, alloc: RustBufferAllocator): UniffiByteArray;
3989
- };
3990
3992
  FfiConverterTypeStreamSession: FfiConverterObject<StreamSessionLike>;
3991
3993
  FfiConverterTypeStreamStart: {
3992
3994
  readFromCursor(c: Cursor): StreamStart;
@@ -4004,7 +4006,6 @@ declare const _default$1: Readonly<{
4004
4006
  };
4005
4007
  FfiConverterTypeTimestamp: FfiConverter<UniffiByteArray, string>;
4006
4008
  FfiConverterTypeUrl: FfiConverter<UniffiByteArray, string>;
4007
- FfiConverterTypeValue: FfiConverter<UniffiByteArray, string>;
4008
4009
  FfiConverterTypeVaultPublicKey: {
4009
4010
  readFromCursor(c: Cursor): VaultPublicKey;
4010
4011
  writeIntoCursor(value: VaultPublicKey, c: Cursor): void;