@mengine/medeo-client 2.0.1-alpha.22 → 2.0.1-alpha.23
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/dist/{document-BB8U25jt.js → document-7Vi1AeQc.js} +168 -47
- package/dist/{index-C0uUWqkz.d.ts → index-mGObzOh4.d.ts} +361 -78
- package/dist/index.d.ts +51 -5
- package/dist/index.js +181 -24
- package/dist/testing.d.ts +1 -1
- package/dist/testing.js +1 -1
- package/package.json +4 -4
|
@@ -9,7 +9,7 @@ import { LoroDoc, PeerID } from "loro-crdt";
|
|
|
9
9
|
*
|
|
10
10
|
* VideoDraft read-view types extracted from the Smithy IDL
|
|
11
11
|
* (medeo-v2-design-materials). Re-run `vp run @mengine/idl-codegen#sync`.
|
|
12
|
-
* Source IDL commit:
|
|
12
|
+
* Source IDL commit: e855b3035fe5d932d051b9c5043be9c25b9dec03
|
|
13
13
|
*
|
|
14
14
|
* WHY EVERY FIELD IS `T | undefined`:
|
|
15
15
|
* AWS `smithy-typescript-codegen` widens every structure member to
|
|
@@ -41,15 +41,160 @@ declare const PartKind$1: {
|
|
|
41
41
|
type PartKind$1 = (typeof PartKind$1)[keyof typeof PartKind$1];
|
|
42
42
|
/**
|
|
43
43
|
* @public
|
|
44
|
+
* @enum
|
|
44
45
|
*/
|
|
45
|
-
|
|
46
|
-
|
|
46
|
+
declare const AspectRatio: {
|
|
47
|
+
readonly RATIO_16_9: "16:9";
|
|
48
|
+
readonly RATIO_9_16: "9:16";
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* @public
|
|
52
|
+
*/
|
|
53
|
+
type AspectRatio = (typeof AspectRatio)[keyof typeof AspectRatio];
|
|
54
|
+
/**
|
|
55
|
+
* @public
|
|
56
|
+
* @enum
|
|
57
|
+
*/
|
|
58
|
+
declare const AssetSource: {
|
|
59
|
+
readonly AI_IMAGES: "ai_images";
|
|
60
|
+
readonly AI_VIDEOS: "ai_videos";
|
|
61
|
+
readonly MY_UPLOADED_ASSETS: "my_uploaded_assets";
|
|
62
|
+
readonly STOCK_VIDEOS: "stock_videos";
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* @public
|
|
66
|
+
*/
|
|
67
|
+
type AssetSource = (typeof AssetSource)[keyof typeof AssetSource];
|
|
68
|
+
/**
|
|
69
|
+
* An extra aspect ratio variant with independent storage keys for thumbnail,
|
|
70
|
+
* preview video, and highlight video. Stored inside video_settings JSONB.
|
|
71
|
+
* @public
|
|
72
|
+
*/
|
|
73
|
+
interface RatioVariant {
|
|
74
|
+
aspect_ratio: string | undefined;
|
|
75
|
+
thumb_storage_key: string | undefined;
|
|
76
|
+
video_storage_key: string | undefined;
|
|
77
|
+
highlight_video_storage_key?: string | undefined;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* @public
|
|
81
|
+
* @enum
|
|
82
|
+
*/
|
|
83
|
+
declare const CreationRenderPolicy: {
|
|
84
|
+
readonly AUTO_AFTER_GENERATION: "auto_after_generation";
|
|
85
|
+
readonly MANUAL: "manual";
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* @public
|
|
89
|
+
*/
|
|
90
|
+
type CreationRenderPolicy = (typeof CreationRenderPolicy)[keyof typeof CreationRenderPolicy];
|
|
91
|
+
/**
|
|
92
|
+
* @public
|
|
93
|
+
*/
|
|
94
|
+
interface VideoCreationSettings$1 {
|
|
95
|
+
voice_id?: string | undefined;
|
|
96
|
+
duration_ms?: number | undefined;
|
|
97
|
+
aspect_ratio?: AspectRatio | undefined;
|
|
98
|
+
video_style_id?: string | undefined;
|
|
99
|
+
asset_sources?: AssetSource[] | undefined;
|
|
100
|
+
recipe_id?: string | undefined;
|
|
101
|
+
enable_high_cost_confirm?: boolean | undefined;
|
|
102
|
+
user_confirm_cost_threshold?: number | undefined;
|
|
103
|
+
/**
|
|
104
|
+
* Extra aspect ratio variants with independent storage keys.
|
|
105
|
+
* Each variant carries its own thumbnail, preview video, and optional highlight video.
|
|
106
|
+
* Used when a recipe supports multiple aspect ratios (e.g. both 16:9 and 9:16).
|
|
107
|
+
* @public
|
|
108
|
+
*/
|
|
109
|
+
extra_ratios?: RatioVariant[] | undefined;
|
|
110
|
+
/**
|
|
111
|
+
* Render (export) trigger policy for the finished video.
|
|
112
|
+
* manual: the user triggers export explicitly.
|
|
113
|
+
* auto_after_generation: a render job is created automatically once generation succeeds.
|
|
114
|
+
* When omitted, falls back to the platform default derived from the client
|
|
115
|
+
* platform header: mobile = auto_after_generation, web = manual.
|
|
116
|
+
* @public
|
|
117
|
+
*/
|
|
118
|
+
render_policy?: CreationRenderPolicy | undefined;
|
|
119
|
+
/**
|
|
120
|
+
* Createflow workflow identifier. When set, harness uses this for exact workflow matching.
|
|
121
|
+
* @public
|
|
122
|
+
*/
|
|
123
|
+
workflow_id?: string | undefined;
|
|
124
|
+
/**
|
|
125
|
+
* Media id of the narration source the user provided via the
|
|
126
|
+
* audio-script input slot (a narration-text document, or an audio file
|
|
127
|
+
* to transcribe). Distinguishes the narration source from other
|
|
128
|
+
* reference media in media_ids. Only meaningful for the
|
|
129
|
+
* audio_script_to_video workflow.
|
|
130
|
+
* @public
|
|
131
|
+
*/
|
|
132
|
+
audio_script_media_id?: string | undefined;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* @public
|
|
136
|
+
*/
|
|
137
|
+
interface TrackItem$1 {
|
|
138
|
+
abs_time_position: number | undefined;
|
|
139
|
+
part_id: string | undefined;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* @public
|
|
143
|
+
*/
|
|
144
|
+
interface Track$1 {
|
|
47
145
|
id: string | undefined;
|
|
146
|
+
/**
|
|
147
|
+
* Types of parts that can be contained in tracks
|
|
148
|
+
* @public
|
|
149
|
+
*/
|
|
150
|
+
parts_kind: PartKind$1 | undefined;
|
|
151
|
+
is_hidden: boolean | undefined;
|
|
152
|
+
items: TrackItem$1[] | undefined;
|
|
48
153
|
}
|
|
49
154
|
/**
|
|
50
155
|
* @public
|
|
51
156
|
*/
|
|
52
|
-
interface
|
|
157
|
+
interface Attachment {
|
|
158
|
+
part_id: string | undefined;
|
|
159
|
+
relative_time_position: number | undefined;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* @public
|
|
163
|
+
*/
|
|
164
|
+
interface PartAggregation {
|
|
165
|
+
body_part_id: string | undefined;
|
|
166
|
+
attachments: Attachment[] | undefined;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* @public
|
|
170
|
+
* @enum
|
|
171
|
+
*/
|
|
172
|
+
declare const AudioFadeCurve: {
|
|
173
|
+
readonly COSINE: "cosine";
|
|
174
|
+
readonly EXPONENTIAL: "exponential";
|
|
175
|
+
readonly LINEAR: "linear";
|
|
176
|
+
readonly LOGARITHMIC: "logarithmic";
|
|
177
|
+
};
|
|
178
|
+
/**
|
|
179
|
+
* @public
|
|
180
|
+
*/
|
|
181
|
+
type AudioFadeCurve = (typeof AudioFadeCurve)[keyof typeof AudioFadeCurve];
|
|
182
|
+
/**
|
|
183
|
+
* Audio fade configuration shared by video, BGM, and speech timeline parts.
|
|
184
|
+
* @public
|
|
185
|
+
*/
|
|
186
|
+
interface AudioFade {
|
|
187
|
+
duration_ms: number | undefined;
|
|
188
|
+
/**
|
|
189
|
+
* Defaults to LINEAR when omitted.
|
|
190
|
+
* @public
|
|
191
|
+
*/
|
|
192
|
+
curve?: AudioFadeCurve | undefined;
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* @public
|
|
196
|
+
*/
|
|
197
|
+
interface BgmPart$1 {
|
|
53
198
|
id: string | undefined;
|
|
54
199
|
duration_ms: number | undefined;
|
|
55
200
|
/**
|
|
@@ -57,12 +202,68 @@ interface SpeechPart$1 {
|
|
|
57
202
|
* @public
|
|
58
203
|
*/
|
|
59
204
|
kind: PartKind$1 | undefined;
|
|
60
|
-
audio_script: string | undefined;
|
|
61
|
-
volume: number | undefined;
|
|
62
205
|
audio_storage_key: string | undefined;
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
206
|
+
volume: number | undefined;
|
|
207
|
+
origin_media_id: string | undefined;
|
|
208
|
+
/**
|
|
209
|
+
* Audio fade configuration shared by video, BGM, and speech timeline parts.
|
|
210
|
+
* @public
|
|
211
|
+
*/
|
|
212
|
+
audio_fade_in?: AudioFade | undefined;
|
|
213
|
+
/**
|
|
214
|
+
* Audio fade configuration shared by video, BGM, and speech timeline parts.
|
|
215
|
+
* @public
|
|
216
|
+
*/
|
|
217
|
+
audio_fade_out?: AudioFade | undefined;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* @public
|
|
221
|
+
* @enum
|
|
222
|
+
*/
|
|
223
|
+
declare const CaptionCreatedFrom: {
|
|
224
|
+
readonly ASR: "asr";
|
|
225
|
+
readonly IMPORT: "import";
|
|
226
|
+
readonly TTS: "tts";
|
|
227
|
+
readonly USER: "user";
|
|
228
|
+
readonly VIDEO_AUDIO: "video_audio";
|
|
229
|
+
};
|
|
230
|
+
/**
|
|
231
|
+
* @public
|
|
232
|
+
*/
|
|
233
|
+
type CaptionCreatedFrom = (typeof CaptionCreatedFrom)[keyof typeof CaptionCreatedFrom];
|
|
234
|
+
/**
|
|
235
|
+
* @public
|
|
236
|
+
* @enum
|
|
237
|
+
*/
|
|
238
|
+
declare const CaptionSourceKind: {
|
|
239
|
+
/**
|
|
240
|
+
* Legacy caption transport value. It is not v29 relation authority.
|
|
241
|
+
*/
|
|
242
|
+
readonly AUDIO_SCRIPT: "audio_script";
|
|
243
|
+
readonly IMPORT: "import";
|
|
244
|
+
readonly SPEECH_AUDIO: "speech_audio";
|
|
245
|
+
readonly TIMELINE: "timeline";
|
|
246
|
+
readonly USER: "user";
|
|
247
|
+
readonly VIDEO_AUDIO: "video_audio";
|
|
248
|
+
};
|
|
249
|
+
/**
|
|
250
|
+
* @public
|
|
251
|
+
*/
|
|
252
|
+
type CaptionSourceKind = (typeof CaptionSourceKind)[keyof typeof CaptionSourceKind];
|
|
253
|
+
/**
|
|
254
|
+
* Legacy source metadata kept only to read and round-trip historical draft
|
|
255
|
+
* payloads. It is not v29 relation authority and must not be used to infer
|
|
256
|
+
* relation direction.
|
|
257
|
+
* @public
|
|
258
|
+
*/
|
|
259
|
+
interface DslSourceRef {
|
|
260
|
+
source_kind?: CaptionSourceKind | undefined;
|
|
261
|
+
source_media_id?: string | undefined;
|
|
262
|
+
source_script_revision_id?: string | undefined;
|
|
263
|
+
source_part_id?: string | undefined;
|
|
264
|
+
source_clip_part_id?: string | undefined;
|
|
265
|
+
start_timestamp_ms?: number | undefined;
|
|
266
|
+
end_timestamp_ms?: number | undefined;
|
|
66
267
|
}
|
|
67
268
|
/**
|
|
68
269
|
* Caption visual style configuration
|
|
@@ -139,102 +340,100 @@ interface CaptionPart$1 {
|
|
|
139
340
|
* @public
|
|
140
341
|
*/
|
|
141
342
|
style?: CaptionStyle | undefined;
|
|
343
|
+
/**
|
|
344
|
+
* Legacy source classification retained for historical draft transport.
|
|
345
|
+
* It is not v29 relation authority.
|
|
346
|
+
* @public
|
|
347
|
+
*/
|
|
348
|
+
source_kind?: CaptionSourceKind | undefined;
|
|
349
|
+
/**
|
|
350
|
+
* Legacy source part identifier retained for historical draft transport.
|
|
351
|
+
* It is not v29 relation authority.
|
|
352
|
+
* @public
|
|
353
|
+
*/
|
|
354
|
+
source_part_id?: string | undefined;
|
|
355
|
+
/**
|
|
356
|
+
* Legacy creation provenance retained for historical draft transport.
|
|
357
|
+
* @public
|
|
358
|
+
*/
|
|
359
|
+
created_from?: CaptionCreatedFrom | undefined;
|
|
360
|
+
/**
|
|
361
|
+
* Legacy read-only source metadata retained for round-tripping historical
|
|
362
|
+
* drafts. It is not v29 relation authority.
|
|
363
|
+
* @public
|
|
364
|
+
*/
|
|
365
|
+
source_ref?: DslSourceRef | undefined;
|
|
142
366
|
}
|
|
143
367
|
/**
|
|
144
|
-
*
|
|
145
|
-
* @enum
|
|
146
|
-
*/
|
|
147
|
-
declare const AspectRatio: {
|
|
148
|
-
readonly RATIO_16_9: "16:9";
|
|
149
|
-
readonly RATIO_9_16: "9:16";
|
|
150
|
-
};
|
|
151
|
-
/**
|
|
368
|
+
* Typed phoneme payload consumed by FE and MEngine compatibility projections.
|
|
152
369
|
* @public
|
|
153
370
|
*/
|
|
154
|
-
|
|
371
|
+
interface PhonemeControlContent {
|
|
372
|
+
ssml: string | undefined;
|
|
373
|
+
}
|
|
155
374
|
/**
|
|
156
375
|
* @public
|
|
157
376
|
* @enum
|
|
158
377
|
*/
|
|
159
|
-
declare const
|
|
160
|
-
readonly
|
|
161
|
-
readonly
|
|
162
|
-
readonly
|
|
163
|
-
readonly STOCK_VIDEOS: "stock_videos";
|
|
378
|
+
declare const PhonemeControlStatus: {
|
|
379
|
+
readonly APPLIED: "applied";
|
|
380
|
+
readonly DRAFT: "draft";
|
|
381
|
+
readonly OBSOLETE: "obsolete";
|
|
164
382
|
};
|
|
165
383
|
/**
|
|
166
384
|
* @public
|
|
167
385
|
*/
|
|
168
|
-
type
|
|
386
|
+
type PhonemeControlStatus = (typeof PhonemeControlStatus)[keyof typeof PhonemeControlStatus];
|
|
169
387
|
/**
|
|
170
|
-
*
|
|
171
|
-
* preview video, and highlight video. Stored inside video_settings JSONB.
|
|
388
|
+
* Resolved phoneme revision attached eagerly to SpeechPart.
|
|
172
389
|
* @public
|
|
173
390
|
*/
|
|
174
|
-
interface
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
}
|
|
180
|
-
/**
|
|
181
|
-
* @public
|
|
182
|
-
*/
|
|
183
|
-
interface VideoCreationSettings$1 {
|
|
184
|
-
voice_id?: string | undefined;
|
|
185
|
-
duration_ms?: number | undefined;
|
|
186
|
-
aspect_ratio?: AspectRatio | undefined;
|
|
187
|
-
video_style_id?: string | undefined;
|
|
188
|
-
asset_sources?: AssetSource[] | undefined;
|
|
189
|
-
recipe_id?: string | undefined;
|
|
190
|
-
enable_high_cost_confirm?: boolean | undefined;
|
|
191
|
-
user_confirm_cost_threshold?: number | undefined;
|
|
391
|
+
interface PhonemeControlRevisionResolved {
|
|
392
|
+
id: string | undefined;
|
|
393
|
+
speech_part_id: string | undefined;
|
|
394
|
+
revision_no: number | undefined;
|
|
395
|
+
source_script_revision_id: string | undefined;
|
|
192
396
|
/**
|
|
193
|
-
*
|
|
194
|
-
* Each variant carries its own thumbnail, preview video, and optional highlight video.
|
|
195
|
-
* Used when a recipe supports multiple aspect ratios (e.g. both 16:9 and 9:16).
|
|
397
|
+
* Typed phoneme payload consumed by FE and MEngine compatibility projections.
|
|
196
398
|
* @public
|
|
197
399
|
*/
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
400
|
+
content: PhonemeControlContent | undefined;
|
|
401
|
+
status: PhonemeControlStatus | undefined;
|
|
402
|
+
applied_voice_generation_id?: string | undefined;
|
|
403
|
+
created_by?: string | undefined;
|
|
404
|
+
created_at?: Date | undefined;
|
|
405
|
+
/**
|
|
406
|
+
* Legacy read-only projection for round-tripping historical drafts. This
|
|
407
|
+
* is not v29 relation authority.
|
|
408
|
+
* @public
|
|
409
|
+
*/
|
|
410
|
+
source_ref?: DslSourceRef | undefined;
|
|
206
411
|
}
|
|
207
412
|
/**
|
|
208
413
|
* @public
|
|
209
414
|
*/
|
|
210
|
-
interface
|
|
415
|
+
interface VoiceSummary {
|
|
416
|
+
name: string | undefined;
|
|
211
417
|
id: string | undefined;
|
|
212
|
-
/**
|
|
213
|
-
* Types of parts that can be contained in tracks
|
|
214
|
-
* @public
|
|
215
|
-
*/
|
|
216
|
-
parts_kind: PartKind$1 | undefined;
|
|
217
|
-
is_hidden: boolean | undefined;
|
|
218
|
-
items: TrackItem$1[] | undefined;
|
|
219
418
|
}
|
|
220
419
|
/**
|
|
221
420
|
* @public
|
|
421
|
+
* @enum
|
|
222
422
|
*/
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
423
|
+
declare const SpeechVoiceSyncStatus: {
|
|
424
|
+
readonly PHONEME_CHANGED: "phoneme_changed";
|
|
425
|
+
readonly SCRIPT_CHANGED: "script_changed";
|
|
426
|
+
readonly STALE_PHONEME_CONTROL: "stale_phoneme_control";
|
|
427
|
+
readonly SYNCED: "synced";
|
|
428
|
+
};
|
|
227
429
|
/**
|
|
228
430
|
* @public
|
|
229
431
|
*/
|
|
230
|
-
|
|
231
|
-
body_part_id: string | undefined;
|
|
232
|
-
attachments: Attachment[] | undefined;
|
|
233
|
-
}
|
|
432
|
+
type SpeechVoiceSyncStatus = (typeof SpeechVoiceSyncStatus)[keyof typeof SpeechVoiceSyncStatus];
|
|
234
433
|
/**
|
|
235
434
|
* @public
|
|
236
435
|
*/
|
|
237
|
-
interface
|
|
436
|
+
interface SpeechPart$1 {
|
|
238
437
|
id: string | undefined;
|
|
239
438
|
duration_ms: number | undefined;
|
|
240
439
|
/**
|
|
@@ -242,9 +441,65 @@ interface BgmPart$1 {
|
|
|
242
441
|
* @public
|
|
243
442
|
*/
|
|
244
443
|
kind: PartKind$1 | undefined;
|
|
245
|
-
|
|
444
|
+
audio_script: string | undefined;
|
|
246
445
|
volume: number | undefined;
|
|
247
|
-
|
|
446
|
+
audio_storage_key: string | undefined;
|
|
447
|
+
origin_speech_id: string | undefined;
|
|
448
|
+
/**
|
|
449
|
+
* Voice metadata is absent only when this part projects a recorded raw-audio
|
|
450
|
+
* speech asset. Generated/TTS speech and normal speech assets must still
|
|
451
|
+
* provide a voice; services enforce that distinction before projection.
|
|
452
|
+
* @public
|
|
453
|
+
*/
|
|
454
|
+
voice?: VoiceSummary | undefined;
|
|
455
|
+
caption_ids: string[] | undefined;
|
|
456
|
+
/**
|
|
457
|
+
* Optional pronunciation guide for TTS (SSML / Pinyin / etc.).
|
|
458
|
+
* @public
|
|
459
|
+
*/
|
|
460
|
+
phoneme_script?: string | undefined;
|
|
461
|
+
/**
|
|
462
|
+
* Current immutable script revision projected into this speech part.
|
|
463
|
+
* @public
|
|
464
|
+
*/
|
|
465
|
+
current_script_revision_id?: string | undefined;
|
|
466
|
+
/**
|
|
467
|
+
* Current voice generation projected into this speech part.
|
|
468
|
+
* @public
|
|
469
|
+
*/
|
|
470
|
+
current_voice_generation_id?: string | undefined;
|
|
471
|
+
/**
|
|
472
|
+
* Latest phoneme-control revision selected for this speech, if any.
|
|
473
|
+
* @public
|
|
474
|
+
*/
|
|
475
|
+
current_phoneme_revision_id?: string | undefined;
|
|
476
|
+
/**
|
|
477
|
+
* Eagerly resolved phoneme-control content. Absent for legacy drafts or
|
|
478
|
+
* when phoneme control has not been generated.
|
|
479
|
+
* @public
|
|
480
|
+
*/
|
|
481
|
+
current_phoneme?: PhonemeControlRevisionResolved | undefined;
|
|
482
|
+
/**
|
|
483
|
+
* Derived state of the current script relative to the generated voice.
|
|
484
|
+
* @public
|
|
485
|
+
*/
|
|
486
|
+
voice_sync_status?: SpeechVoiceSyncStatus | undefined;
|
|
487
|
+
/**
|
|
488
|
+
* Legacy read-only projection for round-tripping historical drafts. This
|
|
489
|
+
* is not v29 relation authority.
|
|
490
|
+
* @public
|
|
491
|
+
*/
|
|
492
|
+
source_ref?: DslSourceRef | undefined;
|
|
493
|
+
/**
|
|
494
|
+
* Audio fade configuration shared by video, BGM, and speech timeline parts.
|
|
495
|
+
* @public
|
|
496
|
+
*/
|
|
497
|
+
audio_fade_in?: AudioFade | undefined;
|
|
498
|
+
/**
|
|
499
|
+
* Audio fade configuration shared by video, BGM, and speech timeline parts.
|
|
500
|
+
* @public
|
|
501
|
+
*/
|
|
502
|
+
audio_fade_out?: AudioFade | undefined;
|
|
248
503
|
}
|
|
249
504
|
/**
|
|
250
505
|
* @public
|
|
@@ -349,6 +604,16 @@ interface VideoClipPart$1 {
|
|
|
349
604
|
volume: number | undefined;
|
|
350
605
|
origin_media_id: string | undefined;
|
|
351
606
|
speed_shift?: SpeedShift | undefined;
|
|
607
|
+
/**
|
|
608
|
+
* Optional audio fade-in transport field retained for editor compatibility.
|
|
609
|
+
* @public
|
|
610
|
+
*/
|
|
611
|
+
audio_fade_in?: AudioFade | undefined;
|
|
612
|
+
/**
|
|
613
|
+
* Optional audio fade-out transport field retained for editor compatibility.
|
|
614
|
+
* @public
|
|
615
|
+
*/
|
|
616
|
+
audio_fade_out?: AudioFade | undefined;
|
|
352
617
|
}
|
|
353
618
|
/**
|
|
354
619
|
* @public
|
|
@@ -473,6 +738,8 @@ type VideoClipPart = Omit<VideoClipPart$1, 'duration_ms'>;
|
|
|
473
738
|
type SpeechPart = Omit<SpeechPart$1, 'duration_ms'> & {
|
|
474
739
|
media_duration_ms?: number | undefined;
|
|
475
740
|
};
|
|
741
|
+
/** Asset namespace exposed only by the legacy read view; never an authoritative Speech fact. */
|
|
742
|
+
type SpeechOriginAssetSystem = 'memota' | 'memota-speech';
|
|
476
743
|
/**
|
|
477
744
|
* Authoritative caption part. The IDL `CaptionPart` carries `duration_ms` (the
|
|
478
745
|
* effective display length, a derived read-view value); the authoritative store
|
|
@@ -621,7 +888,8 @@ type VideoDraftPartUnion = {
|
|
|
621
888
|
} | {
|
|
622
889
|
video_clip?: never;
|
|
623
890
|
speech: SpeechPart & {
|
|
624
|
-
duration_ms?: number;
|
|
891
|
+
duration_ms?: number; /** Absent only on historical drafts created before this read-view discriminator. */
|
|
892
|
+
origin_asset_system?: SpeechOriginAssetSystem;
|
|
625
893
|
};
|
|
626
894
|
caption?: never;
|
|
627
895
|
bgm?: never;
|
|
@@ -669,6 +937,7 @@ type VideoDraftContentPartUnion = {
|
|
|
669
937
|
video_clip?: never;
|
|
670
938
|
speech: SpeechPart & {
|
|
671
939
|
duration_ms: number | undefined;
|
|
940
|
+
origin_asset_system?: SpeechOriginAssetSystem;
|
|
672
941
|
};
|
|
673
942
|
caption?: never;
|
|
674
943
|
bgm?: never;
|
|
@@ -1104,7 +1373,7 @@ type CaptionSegmentSelection = JsonObject & {
|
|
|
1104
1373
|
};
|
|
1105
1374
|
//#endregion
|
|
1106
1375
|
//#region ../medeo-dsl/src/relations.d.ts
|
|
1107
|
-
type KnownRelationKind = 'timeline-track' | 'track-clip' | 'clip-marker' | 'marker-content' | 'axvideo-marker' | 'marker-timeline' | 'from-asset' | 'to-asset' | 'generated' | 'caption-alignment' | 'clip-anchor' | 'phonetic-script-render' | 'audio-script-source' | 'audio-script-marker';
|
|
1376
|
+
type KnownRelationKind = 'timeline-track' | 'track-clip' | 'clip-marker' | 'marker-content' | 'axvideo-marker' | 'marker-timeline' | 'from-asset' | 'to-asset' | 'generated' | 'caption-alignment' | 'clip-anchor' | 'phonetic-script-render' | 'voice-timbre' | 'audio-script-source' | 'audio-script-marker';
|
|
1108
1377
|
type RelationKind = KnownRelationKind | (string & {});
|
|
1109
1378
|
type RelationTrace = JsonObject;
|
|
1110
1379
|
/**
|
|
@@ -1143,12 +1412,26 @@ declare class EntityTimelineProjectionError extends Error {
|
|
|
1143
1412
|
}
|
|
1144
1413
|
//#endregion
|
|
1145
1414
|
//#region src/document/entity-projection.d.ts
|
|
1415
|
+
type EntityTimelineProjectionPart = Exclude<PartUnion, {
|
|
1416
|
+
speech: SpeechPart;
|
|
1417
|
+
}> | {
|
|
1418
|
+
video_clip?: never;
|
|
1419
|
+
speech: SpeechPart & {
|
|
1420
|
+
origin_asset_system: SpeechOriginAssetSystem;
|
|
1421
|
+
};
|
|
1422
|
+
caption?: never;
|
|
1423
|
+
bgm?: never;
|
|
1424
|
+
};
|
|
1425
|
+
/** Ephemeral compatibility document; the origin discriminator is never stored in Loro. */
|
|
1426
|
+
type EntityTimelineProjectionDocument = Omit<VideoDocument, 'part_library'> & {
|
|
1427
|
+
part_library: Record<string, EntityTimelineProjectionPart>;
|
|
1428
|
+
};
|
|
1146
1429
|
/**
|
|
1147
1430
|
* One-way compatibility view over the Entity graph. A legacy part is never
|
|
1148
1431
|
* consulted as an editing fact. Peer IDs appear only in this derived read
|
|
1149
1432
|
* contract, reconstructed from relations; they are not stored in payloads.
|
|
1150
1433
|
*/
|
|
1151
|
-
declare function projectEntityTimeline(rows: EntityRelationRows):
|
|
1434
|
+
declare function projectEntityTimeline(rows: EntityRelationRows): EntityTimelineProjectionDocument;
|
|
1152
1435
|
//#endregion
|
|
1153
1436
|
//#region src/document/entity-timeline-layout.d.ts
|
|
1154
1437
|
type EntityTimelineTrackRole = 'video_clip' | 'speech' | 'caption' | 'bgm';
|
|
@@ -1870,4 +2153,4 @@ declare const videoDocumentSchema: z.ZodObject<{
|
|
|
1870
2153
|
}, z.core.$loose>]>>>;
|
|
1871
2154
|
}, z.core.$loose>;
|
|
1872
2155
|
//#endregion
|
|
1873
|
-
export {
|
|
2156
|
+
export { DerivedItemPosition as $, assertValidVideoDocument as A, VideoDocument as At, EntityRelationRows as B, CaptionStyle as Bt, isImplementedSemanticOpKind as C, SpeechOriginAssetSystem as Ct, PartIdFactory as D, TrackItem as Dt, ValidationError as E, Track as Et, ResolvedEntityTrack as F, VideoDraftPartUnion as Ft, ScriptTextSegment as G, TrackItem$1 as Gt, RelationRow as H, SpeedShift as Ht, resolveEntityTimelineLayout as I, effectiveVideoClipDurationMs as It, VoiceDescriptor as J, SequenceDuration as K, EntityTimelineProjectionDocument as L, speedOf as Lt, EntityTimelineTrackRole as M, VideoDocumentValidationIssueCode as Mt, ResolvedEntityClipPlacement as N, VideoDraft as Nt, generatePartId as O, TrackItemTimePosition as Ot, ResolvedEntityTimelineLayout as P, VideoDraftContent as Pt, buildInitialVideoDocument as Q, projectEntityTimeline as R, Attachment as Rt, SemanticOpKind as S, PartUnion as St, SnapshotReadable as T, Timeline as Tt, CaptionSegmentSelection as U, Timeline$1 as Ut, EntityRow as V, PartAggregation as Vt, CaptionStyleFields as W, Track$1 as Wt, JsonValue as X, JsonObject as Y, EntityId as Z, SemanticOpName as _, BgmPart as _t, PlainMemoryAdapter as a, LANE_KINDS_IN_STACK_ORDER as at, ImplementedSemanticOpKind as b, DEFAULT_UNIT_TIME_MS as bt, MirrorVideoDocumentAdapter as c, ensureLaneTrack as ct, createMirrorVideoDocumentAdapter as d, solveVideoDocument as dt, SpeechHostMap as et, CommitOptions as f, TrackDraft as ft, SemanticOpInput as g, videoDocumentMirrorSchema as gt, SemanticEditor as h, VideoDocumentMirrorSchema as ht, JournalEntry as i, toVideoDocument as it, validateVideoDocument as j, VideoDocumentValidationIssue as jt, VideoDocumentValidationError as k, VideoClipPart as kt, MirrorVideoDocumentOptions as l, findLaneTrack as lt, SemanticDocumentAdapter as m, VideoDocumentDraft as mt, videoDocumentSchema as n, derivePositionFromAbs as nt, PlainMemoryAdapterOptions as o, LaneKind as ot, OpActor as p, TrackItemDraft as pt, SequenceRange as q, readVideoDocumentFromDraft as r, fromVideoDocument as rt, createPlainMemoryAdapter as s, SolvedVideoDocument as st, partUnionSchema as t, buildSpeechHostMap as tt, createMirrorVideoDocument as u, laneTrackId as ut, TransactAudit as v, CaptionDisplayCue as vt, SchemaValidator as w, SpeechPart as wt, PlannedSemanticOpKind as x, PartKind as xt, IMPLEMENTED_SEMANTIC_OP_KINDS as y, CaptionPart as yt, EntityTimelineProjectionError as z, CaptionPart$1 as zt };
|