@filmwhisper/shared-types 0.1.0

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/ipc.d.ts ADDED
@@ -0,0 +1,344 @@
1
+ /**
2
+ * JSON-RPC 2.0 IPC protocol between TS MCP server and Python processing daemon.
3
+ * See: DESIGN.md §5
4
+ */
5
+ import type { Utterance, ExportFormat } from "./fw-files.js";
6
+ /** @internal Prefer TypedEngineRequest for type-safe dispatch */
7
+ export interface EngineRequest {
8
+ jsonrpc: "2.0";
9
+ id: string;
10
+ method: EngineMethod;
11
+ params: Record<string, unknown>;
12
+ }
13
+ export interface EngineResponse {
14
+ jsonrpc: "2.0";
15
+ id: string;
16
+ result?: Record<string, unknown>;
17
+ error?: EngineError;
18
+ }
19
+ export interface EngineNotification {
20
+ jsonrpc: "2.0";
21
+ method: "progress";
22
+ params: ProgressParams;
23
+ }
24
+ export interface EngineError {
25
+ code: number;
26
+ message: string;
27
+ data?: {
28
+ traceback?: string;
29
+ retry_after_ms?: number;
30
+ };
31
+ }
32
+ export interface ProgressParams {
33
+ job_id: string;
34
+ step: string;
35
+ completed: number;
36
+ total: number;
37
+ message?: string;
38
+ }
39
+ export type EngineMethod = "initialize" | "ping" | "cancel" | "shutdown" | "transcode" | "transcribe" | "analyze" | "assemble" | "export" | "extract_frames" | "extract_waveform" | "editorial_rank" | "duration_trim" | "gap_fill";
40
+ export declare const ENGINE_ERROR_CODES: {
41
+ readonly PARSE_ERROR: -32700;
42
+ readonly INVALID_REQUEST: -32600;
43
+ readonly METHOD_NOT_FOUND: -32601;
44
+ readonly FFMPEG_FAILED: 1001;
45
+ readonly PROVIDER_TIMEOUT: 1002;
46
+ readonly FILE_NOT_FOUND: 1003;
47
+ readonly CANCELLED: 1004;
48
+ readonly DEPENDENCY_MISSING: 1005;
49
+ readonly WHISPER_FAILED: 1006;
50
+ };
51
+ export declare const ENGINE_TIMEOUTS: Record<EngineMethod, number>;
52
+ export interface InitializeParams {
53
+ protocol_version: string;
54
+ }
55
+ export interface InitializeResult {
56
+ protocol_version: string;
57
+ capabilities: string[];
58
+ python_version: string;
59
+ ffmpeg_version: string;
60
+ whisper_available: boolean;
61
+ assemblyai_available: boolean;
62
+ }
63
+ export interface PingResult {
64
+ status: "pong";
65
+ uptime_seconds: number;
66
+ }
67
+ export interface CancelParams {
68
+ job_id: string;
69
+ }
70
+ export interface TranscodeParams {
71
+ asset_hash: string;
72
+ source_path: string;
73
+ proxy_spec: string;
74
+ output_path: string;
75
+ }
76
+ export interface TranscodeResult {
77
+ proxy_path: string;
78
+ duration_seconds: number;
79
+ }
80
+ export interface TranscribeParams {
81
+ asset_hash: string;
82
+ source_path: string;
83
+ language: string;
84
+ provider: "whisper" | "assemblyai";
85
+ }
86
+ export interface TranscribeResult {
87
+ speakers: string[];
88
+ utterances: Utterance[];
89
+ }
90
+ export interface AnalyzeParams {
91
+ asset_hash: string;
92
+ source_path: string;
93
+ transcript_text?: string;
94
+ }
95
+ export interface AnalyzeResult {
96
+ scenes: Array<{
97
+ start_ms: number;
98
+ end_ms: number;
99
+ score: number;
100
+ }>;
101
+ audio_levels: {
102
+ mean_volume_db: number;
103
+ max_volume_db: number;
104
+ };
105
+ silence_ranges: Array<{
106
+ start_ms: number;
107
+ end_ms: number;
108
+ }>;
109
+ duration_ms: number;
110
+ }
111
+ export interface AssembleParams {
112
+ clips: Array<{
113
+ asset_hash: string;
114
+ in_point_ms: number;
115
+ out_point_ms: number;
116
+ }>;
117
+ output_path: string;
118
+ }
119
+ export interface AssembleResult {
120
+ output_path: string;
121
+ duration_seconds: number;
122
+ }
123
+ export interface ExportParams {
124
+ format: ExportFormat;
125
+ clips: Array<{
126
+ asset_hash: string;
127
+ source_path: string;
128
+ in_point_ms: number;
129
+ out_point_ms: number;
130
+ }>;
131
+ output_path: string;
132
+ }
133
+ export interface ExportResult {
134
+ output_path: string;
135
+ }
136
+ export interface ExtractFramesParams {
137
+ asset_hash: string;
138
+ source_path: string;
139
+ timestamps_ms: number[];
140
+ output_dir: string;
141
+ width?: number;
142
+ }
143
+ export interface ExtractFramesResult {
144
+ frames: Array<{
145
+ timestamp_ms: number;
146
+ path: string;
147
+ }>;
148
+ }
149
+ export interface ExtractWaveformParams {
150
+ asset_hash: string;
151
+ source_path: string;
152
+ output_path: string;
153
+ }
154
+ export interface ExtractWaveformResult {
155
+ waveform_path: string;
156
+ silence_ranges: Array<{
157
+ start_ms: number;
158
+ end_ms: number;
159
+ }>;
160
+ }
161
+ export interface EditorialRankParams {
162
+ segments: Array<{
163
+ asset_hash: string;
164
+ segment_index: number;
165
+ start_ms: number;
166
+ end_ms: number;
167
+ editorial_role: string;
168
+ energy: number;
169
+ story_value: number;
170
+ summary: string;
171
+ transcript_text?: string;
172
+ }>;
173
+ style: "documentary" | "highlight" | "story" | "montage";
174
+ }
175
+ export interface EditorialRankResult {
176
+ ranked_clips: Array<{
177
+ asset_hash: string;
178
+ segment_index: number;
179
+ score: number;
180
+ role: string;
181
+ selection_reason: string;
182
+ }>;
183
+ }
184
+ export interface DurationTrimParams {
185
+ clips: Array<{
186
+ asset_hash: string;
187
+ segment_index: number;
188
+ start_ms: number;
189
+ end_ms: number;
190
+ score: number;
191
+ transcript_text?: string;
192
+ }>;
193
+ target_duration_seconds: number;
194
+ utterance_boundaries?: Array<{
195
+ start_ms: number;
196
+ end_ms: number;
197
+ }>;
198
+ }
199
+ export interface DurationTrimResult {
200
+ trimmed_clips: Array<{
201
+ asset_hash: string;
202
+ segment_index: number;
203
+ in_point_ms: number;
204
+ out_point_ms: number;
205
+ trimmed: boolean;
206
+ }>;
207
+ total_duration_ms: number;
208
+ rationale: Array<{
209
+ clip_index: number;
210
+ role: string;
211
+ selection_reason: string;
212
+ transcript_excerpt?: string;
213
+ }>;
214
+ }
215
+ export interface GapFillParams {
216
+ backbone_clips: Array<{
217
+ asset_hash: string;
218
+ segment_index: number;
219
+ start_ms: number;
220
+ end_ms: number;
221
+ }>;
222
+ candidate_segments: Array<{
223
+ asset_hash: string;
224
+ segment_index: number;
225
+ start_ms: number;
226
+ end_ms: number;
227
+ editorial_role: string;
228
+ energy: number;
229
+ story_value: number;
230
+ summary: string;
231
+ }>;
232
+ target_duration_seconds: number;
233
+ }
234
+ export interface GapFillResult {
235
+ filled_clips: Array<{
236
+ asset_hash: string;
237
+ segment_index: number;
238
+ in_point_ms: number;
239
+ out_point_ms: number;
240
+ is_gap_fill: boolean;
241
+ gap_strategy?: "transition" | "context" | "skip";
242
+ }>;
243
+ total_duration_ms: number;
244
+ rationale: Array<{
245
+ clip_index: number;
246
+ role: string;
247
+ selection_reason: string;
248
+ transcript_excerpt?: string;
249
+ speaker_continuity?: boolean;
250
+ gap_strategy?: "transition" | "context" | "skip";
251
+ }>;
252
+ }
253
+ export type TypedEngineRequest = {
254
+ jsonrpc: "2.0";
255
+ id: string;
256
+ method: "initialize";
257
+ params: InitializeParams;
258
+ } | {
259
+ jsonrpc: "2.0";
260
+ id: string;
261
+ method: "ping";
262
+ params: Record<string, never>;
263
+ } | {
264
+ jsonrpc: "2.0";
265
+ id: string;
266
+ method: "cancel";
267
+ params: CancelParams;
268
+ } | {
269
+ jsonrpc: "2.0";
270
+ id: string;
271
+ method: "shutdown";
272
+ params: Record<string, never>;
273
+ } | {
274
+ jsonrpc: "2.0";
275
+ id: string;
276
+ method: "transcode";
277
+ params: TranscodeParams;
278
+ } | {
279
+ jsonrpc: "2.0";
280
+ id: string;
281
+ method: "transcribe";
282
+ params: TranscribeParams;
283
+ } | {
284
+ jsonrpc: "2.0";
285
+ id: string;
286
+ method: "analyze";
287
+ params: AnalyzeParams;
288
+ } | {
289
+ jsonrpc: "2.0";
290
+ id: string;
291
+ method: "assemble";
292
+ params: AssembleParams;
293
+ } | {
294
+ jsonrpc: "2.0";
295
+ id: string;
296
+ method: "export";
297
+ params: ExportParams;
298
+ } | {
299
+ jsonrpc: "2.0";
300
+ id: string;
301
+ method: "extract_frames";
302
+ params: ExtractFramesParams;
303
+ } | {
304
+ jsonrpc: "2.0";
305
+ id: string;
306
+ method: "extract_waveform";
307
+ params: ExtractWaveformParams;
308
+ } | {
309
+ jsonrpc: "2.0";
310
+ id: string;
311
+ method: "editorial_rank";
312
+ params: EditorialRankParams;
313
+ } | {
314
+ jsonrpc: "2.0";
315
+ id: string;
316
+ method: "duration_trim";
317
+ params: DurationTrimParams;
318
+ } | {
319
+ jsonrpc: "2.0";
320
+ id: string;
321
+ method: "gap_fill";
322
+ params: GapFillParams;
323
+ };
324
+ export interface EngineResultMap {
325
+ initialize: InitializeResult;
326
+ ping: PingResult;
327
+ cancel: {
328
+ cancelled: boolean;
329
+ };
330
+ shutdown: {
331
+ acknowledged: boolean;
332
+ };
333
+ transcode: TranscodeResult;
334
+ transcribe: TranscribeResult;
335
+ analyze: AnalyzeResult;
336
+ assemble: AssembleResult;
337
+ export: ExportResult;
338
+ extract_frames: ExtractFramesResult;
339
+ extract_waveform: ExtractWaveformResult;
340
+ editorial_rank: EditorialRankResult;
341
+ duration_trim: DurationTrimResult;
342
+ gap_fill: GapFillResult;
343
+ }
344
+ //# sourceMappingURL=ipc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ipc.d.ts","sourceRoot":"","sources":["../src/ipc.ts"],"names":[],"mappings":"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"}
package/dist/ipc.js ADDED
@@ -0,0 +1,34 @@
1
+ /**
2
+ * JSON-RPC 2.0 IPC protocol between TS MCP server and Python processing daemon.
3
+ * See: DESIGN.md §5
4
+ */
5
+ // --- Engine Error Codes ---
6
+ export const ENGINE_ERROR_CODES = {
7
+ PARSE_ERROR: -32700,
8
+ INVALID_REQUEST: -32600,
9
+ METHOD_NOT_FOUND: -32601,
10
+ FFMPEG_FAILED: 1001,
11
+ PROVIDER_TIMEOUT: 1002,
12
+ FILE_NOT_FOUND: 1003,
13
+ CANCELLED: 1004,
14
+ DEPENDENCY_MISSING: 1005,
15
+ WHISPER_FAILED: 1006,
16
+ };
17
+ // --- Timeout Rules (ms) ---
18
+ export const ENGINE_TIMEOUTS = {
19
+ initialize: 5_000,
20
+ ping: 5_000,
21
+ cancel: 10_000,
22
+ shutdown: 10_000,
23
+ transcode: 300_000,
24
+ transcribe: 300_000,
25
+ analyze: 120_000,
26
+ assemble: 60_000,
27
+ export: 60_000,
28
+ extract_frames: 30_000,
29
+ extract_waveform: 30_000,
30
+ editorial_rank: 60_000,
31
+ duration_trim: 60_000,
32
+ gap_fill: 120_000,
33
+ };
34
+ //# sourceMappingURL=ipc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ipc.js","sourceRoot":"","sources":["../src/ipc.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA8DH,6BAA6B;AAE7B,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,WAAW,EAAE,CAAC,KAAK;IACnB,eAAe,EAAE,CAAC,KAAK;IACvB,gBAAgB,EAAE,CAAC,KAAK;IACxB,aAAa,EAAE,IAAI;IACnB,gBAAgB,EAAE,IAAI;IACtB,cAAc,EAAE,IAAI;IACpB,SAAS,EAAE,IAAI;IACf,kBAAkB,EAAE,IAAI;IACxB,cAAc,EAAE,IAAI;CACZ,CAAC;AAEX,6BAA6B;AAE7B,MAAM,CAAC,MAAM,eAAe,GAAiC;IAC3D,UAAU,EAAE,KAAK;IACjB,IAAI,EAAE,KAAK;IACX,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,MAAM;IAChB,SAAS,EAAE,OAAO;IAClB,UAAU,EAAE,OAAO;IACnB,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE,MAAM;IACd,cAAc,EAAE,MAAM;IACtB,gBAAgB,EAAE,MAAM;IACxB,cAAc,EAAE,MAAM;IACtB,aAAa,EAAE,MAAM;IACrB,QAAQ,EAAE,OAAO;CAClB,CAAC"}