@norskvideo/norsk-studio-alpha 1.27.0-2025-07-09-0fcad3ea

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 (160) hide show
  1. package/README.md +10 -0
  2. package/client/info.js +43461 -0
  3. package/client/processor.audioLevel/styles.css +165 -0
  4. package/client/shared/style.css +1627 -0
  5. package/client/shared/tailwind.css +31 -0
  6. package/client/style.css +1074 -0
  7. package/lib/index.d.ts +3 -0
  8. package/lib/index.js +14 -0
  9. package/lib/index.js.map +1 -0
  10. package/lib/info.d.ts +3 -0
  11. package/lib/info.js +44 -0
  12. package/lib/info.js.map +1 -0
  13. package/lib/input.decklink/info.d.ts +3 -0
  14. package/lib/input.decklink/info.js +51 -0
  15. package/lib/input.decklink/info.js.map +1 -0
  16. package/lib/input.decklink/runtime.d.ts +12 -0
  17. package/lib/input.decklink/runtime.js +22 -0
  18. package/lib/input.decklink/runtime.js.map +1 -0
  19. package/lib/input.decklink/types.d.ts +23 -0
  20. package/lib/input.decklink/types.js +3 -0
  21. package/lib/input.decklink/types.js.map +1 -0
  22. package/lib/input.decklink/types.yaml +32 -0
  23. package/lib/input.mp4file/info.d.ts +3 -0
  24. package/lib/input.mp4file/info.js +34 -0
  25. package/lib/input.mp4file/info.js.map +1 -0
  26. package/lib/input.mp4file/runtime.d.ts +14 -0
  27. package/lib/input.mp4file/runtime.js +33 -0
  28. package/lib/input.mp4file/runtime.js.map +1 -0
  29. package/lib/input.mp4file/types.d.ts +23 -0
  30. package/lib/input.mp4file/types.js +3 -0
  31. package/lib/input.mp4file/types.js.map +1 -0
  32. package/lib/input.mp4file/types.yaml +30 -0
  33. package/lib/input.ndi/info.d.ts +3 -0
  34. package/lib/input.ndi/info.js +52 -0
  35. package/lib/input.ndi/info.js.map +1 -0
  36. package/lib/input.ndi/runtime.d.ts +24 -0
  37. package/lib/input.ndi/runtime.js +60 -0
  38. package/lib/input.ndi/runtime.js.map +1 -0
  39. package/lib/input.ndi/source-selection.d.ts +10 -0
  40. package/lib/input.ndi/source-selection.js +84 -0
  41. package/lib/input.ndi/source-selection.js.map +1 -0
  42. package/lib/input.ndi/types.d.ts +52 -0
  43. package/lib/input.ndi/types.js +3 -0
  44. package/lib/input.ndi/types.js.map +1 -0
  45. package/lib/input.ndi/types.yaml +37 -0
  46. package/lib/output.ndi/info.d.ts +8 -0
  47. package/lib/output.ndi/info.js +61 -0
  48. package/lib/output.ndi/info.js.map +1 -0
  49. package/lib/output.ndi/inline-view.d.ts +6 -0
  50. package/lib/output.ndi/inline-view.js +12 -0
  51. package/lib/output.ndi/inline-view.js.map +1 -0
  52. package/lib/output.ndi/runtime.d.ts +14 -0
  53. package/lib/output.ndi/runtime.js +35 -0
  54. package/lib/output.ndi/runtime.js.map +1 -0
  55. package/lib/output.ndi/types.d.ts +35 -0
  56. package/lib/output.ndi/types.js +3 -0
  57. package/lib/output.ndi/types.js.map +1 -0
  58. package/lib/output.ndi/types.yaml +72 -0
  59. package/lib/output.recorder/info.d.ts +10 -0
  60. package/lib/output.recorder/info.js +79 -0
  61. package/lib/output.recorder/info.js.map +1 -0
  62. package/lib/output.recorder/runtime.d.ts +66 -0
  63. package/lib/output.recorder/runtime.js +301 -0
  64. package/lib/output.recorder/runtime.js.map +1 -0
  65. package/lib/output.recorder/types.d.ts +225 -0
  66. package/lib/output.recorder/types.js +3 -0
  67. package/lib/output.recorder/types.js.map +1 -0
  68. package/lib/output.recorder/types.yaml +211 -0
  69. package/lib/processor.actionReplay/info.d.ts +25 -0
  70. package/lib/processor.actionReplay/info.js +77 -0
  71. package/lib/processor.actionReplay/info.js.map +1 -0
  72. package/lib/processor.actionReplay/runtime.d.ts +38 -0
  73. package/lib/processor.actionReplay/runtime.js +225 -0
  74. package/lib/processor.actionReplay/runtime.js.map +1 -0
  75. package/lib/processor.actionReplay/summary.d.ts +4 -0
  76. package/lib/processor.actionReplay/summary.js +76 -0
  77. package/lib/processor.actionReplay/summary.js.map +1 -0
  78. package/lib/processor.actionReplay/types.d.ts +38 -0
  79. package/lib/processor.actionReplay/types.js +3 -0
  80. package/lib/processor.actionReplay/types.js.map +1 -0
  81. package/lib/processor.actionReplay/types.yaml +74 -0
  82. package/lib/processor.audioLevel/info.d.ts +27 -0
  83. package/lib/processor.audioLevel/info.js +61 -0
  84. package/lib/processor.audioLevel/info.js.map +1 -0
  85. package/lib/processor.audioLevel/inline-view.d.ts +4 -0
  86. package/lib/processor.audioLevel/inline-view.js +26 -0
  87. package/lib/processor.audioLevel/inline-view.js.map +1 -0
  88. package/lib/processor.audioLevel/runtime.d.ts +26 -0
  89. package/lib/processor.audioLevel/runtime.js +86 -0
  90. package/lib/processor.audioLevel/runtime.js.map +1 -0
  91. package/lib/processor.audioLevel/summary-view.d.ts +7 -0
  92. package/lib/processor.audioLevel/summary-view.js +37 -0
  93. package/lib/processor.audioLevel/summary-view.js.map +1 -0
  94. package/lib/processor.audioLevel/types.d.ts +42 -0
  95. package/lib/processor.audioLevel/types.js +3 -0
  96. package/lib/processor.audioLevel/types.js.map +1 -0
  97. package/lib/processor.audioLevel/types.yaml +83 -0
  98. package/lib/processor.gemini-poc/info.d.ts +8 -0
  99. package/lib/processor.gemini-poc/info.js +59 -0
  100. package/lib/processor.gemini-poc/info.js.map +1 -0
  101. package/lib/processor.gemini-poc/runtime.d.ts +38 -0
  102. package/lib/processor.gemini-poc/runtime.js +132 -0
  103. package/lib/processor.gemini-poc/runtime.js.map +1 -0
  104. package/lib/processor.gemini-poc/types.d.ts +23 -0
  105. package/lib/processor.gemini-poc/types.js +3 -0
  106. package/lib/processor.gemini-poc/types.js.map +1 -0
  107. package/lib/processor.gemini-poc/types.yaml +43 -0
  108. package/lib/processor.mixMinus/info.d.ts +7 -0
  109. package/lib/processor.mixMinus/info.js +40 -0
  110. package/lib/processor.mixMinus/info.js.map +1 -0
  111. package/lib/processor.mixMinus/runtime.d.ts +23 -0
  112. package/lib/processor.mixMinus/runtime.js +85 -0
  113. package/lib/processor.mixMinus/runtime.js.map +1 -0
  114. package/lib/processor.mixMinus/types.d.ts +18 -0
  115. package/lib/processor.mixMinus/types.js +3 -0
  116. package/lib/processor.mixMinus/types.js.map +1 -0
  117. package/lib/processor.mixMinus/types.yaml +19 -0
  118. package/lib/processor.monetise/info.d.ts +3 -0
  119. package/lib/processor.monetise/info.js +72 -0
  120. package/lib/processor.monetise/info.js.map +1 -0
  121. package/lib/processor.monetise/runtime.d.ts +62 -0
  122. package/lib/processor.monetise/runtime.js +217 -0
  123. package/lib/processor.monetise/runtime.js.map +1 -0
  124. package/lib/processor.monetise/summary.d.ts +7 -0
  125. package/lib/processor.monetise/summary.js +40 -0
  126. package/lib/processor.monetise/summary.js.map +1 -0
  127. package/lib/processor.monetise/types.d.ts +16 -0
  128. package/lib/processor.monetise/types.js +3 -0
  129. package/lib/processor.monetise/types.js.map +1 -0
  130. package/lib/processor.monetise/types.yaml +9 -0
  131. package/lib/processor.whisper-transcribe/info.d.ts +9 -0
  132. package/lib/processor.whisper-transcribe/info.js +46 -0
  133. package/lib/processor.whisper-transcribe/info.js.map +1 -0
  134. package/lib/processor.whisper-transcribe/runtime.d.ts +22 -0
  135. package/lib/processor.whisper-transcribe/runtime.js +70 -0
  136. package/lib/processor.whisper-transcribe/runtime.js.map +1 -0
  137. package/lib/processor.whisper-transcribe/types.d.ts +21 -0
  138. package/lib/processor.whisper-transcribe/types.js +3 -0
  139. package/lib/processor.whisper-transcribe/types.js.map +1 -0
  140. package/lib/processor.whisper-transcribe/types.yaml +28 -0
  141. package/lib/shared/schemas.d.ts +8 -0
  142. package/lib/shared/schemas.js +44 -0
  143. package/lib/shared/schemas.js.map +1 -0
  144. package/lib/test/output.recorder.d.ts +1 -0
  145. package/lib/test/output.recorder.js +186 -0
  146. package/lib/test/output.recorder.js.map +1 -0
  147. package/lib/util.timestamps/info.d.ts +14 -0
  148. package/lib/util.timestamps/info.js +64 -0
  149. package/lib/util.timestamps/info.js.map +1 -0
  150. package/lib/util.timestamps/inline-view.d.ts +6 -0
  151. package/lib/util.timestamps/inline-view.js +95 -0
  152. package/lib/util.timestamps/inline-view.js.map +1 -0
  153. package/lib/util.timestamps/runtime.d.ts +13 -0
  154. package/lib/util.timestamps/runtime.js +51 -0
  155. package/lib/util.timestamps/runtime.js.map +1 -0
  156. package/lib/util.timestamps/types.d.ts +36 -0
  157. package/lib/util.timestamps/types.js +3 -0
  158. package/lib/util.timestamps/types.js.map +1 -0
  159. package/lib/util.timestamps/types.yaml +74 -0
  160. package/package.json +57 -0
@@ -0,0 +1,301 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Recorder = void 0;
7
+ const norsk_sdk_1 = require("@norskvideo/norsk-sdk");
8
+ const runtime_types_1 = require("@norskvideo/norsk-studio/lib/extension/runtime-types");
9
+ const api_1 = require("@norskvideo/norsk-studio/lib/server/api");
10
+ const promises_1 = __importDefault(require("fs/promises"));
11
+ const path_1 = __importDefault(require("path"));
12
+ const logging_1 = require("@norskvideo/norsk-studio/lib/server/logging");
13
+ const util_1 = require("@norskvideo/norsk-studio/lib/shared/util");
14
+ const schemas_1 = require("@norskvideo/norsk-studio-built-ins/lib/shared/schemas");
15
+ function idToPath(id, cfg) {
16
+ return path_1.default.join(cfg.cuts_path, `cut-${id}.mp4`);
17
+ }
18
+ class RecorderDefinition {
19
+ async create(norsk, cfg, cb, runtime) {
20
+ const node = new Recorder(norsk, runtime, cfg);
21
+ await node.initialised;
22
+ cb(node);
23
+ }
24
+ async schemas() {
25
+ return (0, schemas_1.schemaFromTypes)(path_1.default.join(__dirname, 'types.yaml'), {
26
+ config: 'RecorderSettings'
27
+ });
28
+ }
29
+ handleCommand(recorder, command) {
30
+ const ct = command.type;
31
+ switch (ct) {
32
+ case 'make-cut':
33
+ void recorder.makeCut(new Date(command.start), command.duration_s);
34
+ break;
35
+ default:
36
+ (0, util_1.assertUnreachable)(ct);
37
+ }
38
+ }
39
+ async instanceRoutes() {
40
+ return (0, api_1.defineApi)(path_1.default.join(__dirname, 'types.yaml'), {
41
+ '/timeline': {
42
+ get: ({ runtime }) => async (_req, res) => {
43
+ res.status(200).json(runtime.updates.latest());
44
+ }
45
+ },
46
+ '/cut': {
47
+ post: ({ runtime }) => async (req, res) => {
48
+ const previousCuts = runtime.updates.latest().cuts;
49
+ const previousCutId = previousCuts.at(-1)?.id;
50
+ if (previousCuts.length > 0 && previousCuts[previousCuts.length - 1].percent < 100.0) {
51
+ res.status(400).json("Cut already in progress");
52
+ return;
53
+ }
54
+ const d = Date.parse(req.body.start);
55
+ const s = parseInt(req.body.duration_s, 10);
56
+ if (Number.isNaN(d)) {
57
+ res.status(400).json("Invalid date");
58
+ return;
59
+ }
60
+ if (Number.isNaN(s)) {
61
+ res.status(400).json("Invalid duration");
62
+ return;
63
+ }
64
+ runtime.updates.sendCommand({
65
+ type: 'make-cut',
66
+ start: req.body.start,
67
+ duration_s: s
68
+ });
69
+ await (0, util_1.waitForCondition)(() => {
70
+ const latest = runtime.updates.latest().cuts;
71
+ if (latest.length > 0 && latest[latest.length - 1].id !== previousCutId)
72
+ return true;
73
+ return false;
74
+ }).catch((r) => {
75
+ (0, logging_1.errorlog)("Cut failed for some reason", r);
76
+ res.status(400).json(r);
77
+ return;
78
+ });
79
+ const latest = runtime.updates.latest().cuts;
80
+ if (latest.length == 0 || latest[latest.length - 1].id == previousCutId) {
81
+ (0, logging_1.warninglog)("Something went wrong and the cut wasn't started");
82
+ res.status(400).json("Something went wrong");
83
+ return;
84
+ }
85
+ const started = latest[latest.length - 1];
86
+ (0, logging_1.debuglog)("Cut signalled as started", started.id);
87
+ res.status(201).json({
88
+ cutId: started.id.toString(10),
89
+ url: path_1.default.join('cut/', started.id.toString(10))
90
+ });
91
+ }
92
+ },
93
+ '/cut/{id}': {
94
+ get: ({ runtime }) => async (req, res) => {
95
+ const id = parseInt(req.params.id, 10);
96
+ if (Number.isNaN(id)) {
97
+ res.status(400).json("Invalid id");
98
+ return;
99
+ }
100
+ const cuts = runtime.updates.latest().cuts;
101
+ const cut = cuts.find((c) => c.id == id);
102
+ if (!cut) {
103
+ res.status(404).json("Cut not found");
104
+ return;
105
+ }
106
+ let status;
107
+ if (cut.percent == 100.0) {
108
+ status = {
109
+ status: 'CutReady',
110
+ url: path_1.default.join('download', id.toString(10))
111
+ };
112
+ }
113
+ else {
114
+ status = {
115
+ status: 'CutNotReady',
116
+ percent_complete: cut.percent
117
+ };
118
+ }
119
+ res.status(200).json(status);
120
+ return;
121
+ }
122
+ },
123
+ '/download/{cut_id}': {
124
+ get: ({ config }) => async (req, res) => {
125
+ const id = parseInt(req.params.cut_id, 10);
126
+ if (Number.isNaN(id)) {
127
+ res.status(400).json("Invalid id");
128
+ return;
129
+ }
130
+ const pathToFile = idToPath(id, config);
131
+ await promises_1.default.stat(pathToFile).catch(() => {
132
+ res.status(404).json("Cut doesn't exist");
133
+ return;
134
+ });
135
+ (0, logging_1.debuglog)("Sending file to client", pathToFile);
136
+ res.contentType(".mp4");
137
+ res.sendFile(pathToFile);
138
+ }
139
+ }
140
+ });
141
+ }
142
+ }
143
+ exports.default = RecorderDefinition;
144
+ const VideoKey = {
145
+ streamId: 256,
146
+ programNumber: 1,
147
+ sourceName: 'recorder',
148
+ renditionName: 'default'
149
+ };
150
+ const AudioKey = {
151
+ streamId: 257,
152
+ programNumber: 1,
153
+ sourceName: 'recorder',
154
+ renditionName: 'default'
155
+ };
156
+ class Recorder {
157
+ initialised;
158
+ norsk;
159
+ updates;
160
+ recorder;
161
+ videoKey;
162
+ audioKey;
163
+ id;
164
+ cfg;
165
+ cutting = false;
166
+ cutIndex = 0;
167
+ timer;
168
+ constructor(norsk, { updates }, cfg) {
169
+ this.cfg = cfg;
170
+ this.id = cfg.id;
171
+ this.norsk = norsk;
172
+ this.updates = updates;
173
+ this.relatedMediaNodes = new runtime_types_1.RelatedMediaNodes();
174
+ this.initialised = this.initialise();
175
+ this.timer = setInterval(() => void this.pruneCutStore, this.cfg.pruneIntervalMs ?? 60000);
176
+ }
177
+ async pruneCutStore() {
178
+ const files = await promises_1.default.readdir(this.cfg.cuts_path);
179
+ const now = new Date().valueOf();
180
+ const expiryMs = this.cfg.expiry_hours * 60 * 60 * 1000;
181
+ for (const f of files) {
182
+ const full = path_1.default.join(this.cfg.cuts_path, f);
183
+ const info = await promises_1.default.stat(full);
184
+ if (!info.isFile())
185
+ continue;
186
+ if (path_1.default.extname(f) !== '.mp4')
187
+ continue;
188
+ if (now - info.ctimeMs > expiryMs) {
189
+ (0, logging_1.debuglog)("Deleting old cut file", { file: full });
190
+ await promises_1.default.rm(full, { force: true }).catch((e) => {
191
+ (0, logging_1.errorlog)("Error deleting file", e);
192
+ });
193
+ }
194
+ }
195
+ }
196
+ relatedMediaNodes;
197
+ async initialise() {
198
+ this.recorder = await this.norsk.mediaStore.recorder({
199
+ id: `${this.id}-recorder`,
200
+ name: this.id,
201
+ path: this.cfg.store_path,
202
+ chunkFileDurationSeconds: 3600,
203
+ expiry: {
204
+ expire: 'byTime',
205
+ durationS: this.cfg.expiry_hours * 60 * 60
206
+ },
207
+ onClose: () => {
208
+ this.recorder = undefined;
209
+ }
210
+ });
211
+ this.videoKey = await this.norsk.processor.transform.streamKeyOverride({
212
+ streamKey: VideoKey
213
+ });
214
+ this.audioKey = await this.norsk.processor.transform.streamKeyOverride({
215
+ streamKey: AudioKey
216
+ });
217
+ this.recorder.subscribe([
218
+ { source: this.videoKey, sourceSelector: norsk_sdk_1.selectVideo },
219
+ { source: this.audioKey, sourceSelector: norsk_sdk_1.selectAudio }
220
+ ]);
221
+ this.relatedMediaNodes.addInputs([this.audioKey, this.videoKey]);
222
+ const update = () => {
223
+ const work = async () => {
224
+ if (!this.recorder)
225
+ return;
226
+ const d = await this.recorder.metadata();
227
+ const timeline = d
228
+ .flatMap(({ streams }) => streams.flatMap((s) => s.versions.map((v) => ({
229
+ start: v.startDateTime.toISOString(),
230
+ duration_s: v.durationMs / 1000.0
231
+ }))));
232
+ this.updates.raiseEvent({
233
+ type: 'timeline-updated',
234
+ timeline
235
+ });
236
+ };
237
+ void work().then(() => {
238
+ if (this.recorder)
239
+ setTimeout(update, 1000);
240
+ });
241
+ };
242
+ update();
243
+ }
244
+ async makeCut(start, durationS) {
245
+ if (!this.recorder) {
246
+ (0, logging_1.warninglog)("Invalid state to start cut");
247
+ return;
248
+ }
249
+ if (this.cutting) {
250
+ (0, logging_1.warninglog)("Cut already in progress");
251
+ return;
252
+ }
253
+ this.cutting = true;
254
+ const cutId = ++this.cutIndex;
255
+ this.updates.raiseEvent({
256
+ type: 'cut-started',
257
+ id: cutId,
258
+ createdMs: new Date().valueOf()
259
+ });
260
+ const outputFile = idToPath(cutId, this.cfg);
261
+ await promises_1.default.mkdir(path_1.default.dirname(outputFile), { recursive: true });
262
+ const cut = this.norsk.mediaStore.makeCut({
263
+ id: `${this.id}-cut-${cutId}`,
264
+ fileFormat: 'mp4',
265
+ cuts: [
266
+ this.recorder.cutListEntry({
267
+ streamSelection: [[AudioKey, AudioKey], [VideoKey, VideoKey]],
268
+ trimPartialGops: false,
269
+ startDateTime: start,
270
+ durationMs: Math.round(durationS * 1000)
271
+ })
272
+ ],
273
+ fileName: outputFile,
274
+ progressCb: (p) => {
275
+ this.updates.raiseEvent({
276
+ type: 'cut-progress',
277
+ percentage: p,
278
+ id: cutId
279
+ });
280
+ },
281
+ });
282
+ void cut.complete().then(() => {
283
+ this.cutting = false;
284
+ this.updates.raiseEvent({
285
+ type: 'cut-progress',
286
+ percentage: 100,
287
+ id: cutId
288
+ });
289
+ this.updates.raiseEvent({
290
+ type: 'cut-finished',
291
+ id: cutId
292
+ });
293
+ });
294
+ }
295
+ async subscribe(sources) {
296
+ this.audioKey?.subscribe(sources.filter((s) => s.isMedia("audio")).map((s) => s.select()));
297
+ this.videoKey?.subscribe(sources.filter((s) => s.isMedia("video")).map((s) => s.select()));
298
+ }
299
+ }
300
+ exports.Recorder = Recorder;
301
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/output.recorder/runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,225 @@
1
+ export interface paths {
2
+ "/timeline": {
3
+ parameters: {
4
+ query?: never;
5
+ header?: never;
6
+ path?: never;
7
+ cookie?: never;
8
+ };
9
+ get: {
10
+ parameters: {
11
+ query?: never;
12
+ header?: never;
13
+ path?: never;
14
+ cookie?: never;
15
+ };
16
+ requestBody?: never;
17
+ responses: {
18
+ 200: {
19
+ headers: {
20
+ [name: string]: unknown;
21
+ };
22
+ content: {
23
+ "application/json": components["schemas"]["AvailableData"][];
24
+ };
25
+ };
26
+ };
27
+ };
28
+ put?: never;
29
+ post?: never;
30
+ delete?: never;
31
+ options?: never;
32
+ head?: never;
33
+ patch?: never;
34
+ trace?: never;
35
+ };
36
+ "/cut": {
37
+ parameters: {
38
+ query?: never;
39
+ header?: never;
40
+ path?: never;
41
+ cookie?: never;
42
+ };
43
+ get?: never;
44
+ put?: never;
45
+ post: {
46
+ parameters: {
47
+ query?: never;
48
+ header?: never;
49
+ path?: never;
50
+ cookie?: never;
51
+ };
52
+ requestBody?: {
53
+ content: {
54
+ "application/json": {
55
+ start: string;
56
+ duration_s: number;
57
+ };
58
+ };
59
+ };
60
+ responses: {
61
+ 204: {
62
+ headers: {
63
+ [name: string]: unknown;
64
+ };
65
+ content: {
66
+ "application/json": {
67
+ url: string;
68
+ cutId: string;
69
+ };
70
+ };
71
+ };
72
+ 400: {
73
+ headers: {
74
+ [name: string]: unknown;
75
+ };
76
+ content: {
77
+ "application/json": string;
78
+ };
79
+ };
80
+ };
81
+ };
82
+ delete?: never;
83
+ options?: never;
84
+ head?: never;
85
+ patch?: never;
86
+ trace?: never;
87
+ };
88
+ "/cut/{id}": {
89
+ parameters: {
90
+ query?: never;
91
+ header?: never;
92
+ path?: never;
93
+ cookie?: never;
94
+ };
95
+ get: {
96
+ parameters: {
97
+ query?: never;
98
+ header?: never;
99
+ path: {
100
+ id: number;
101
+ };
102
+ cookie?: never;
103
+ };
104
+ requestBody?: never;
105
+ responses: {
106
+ 200: {
107
+ headers: {
108
+ [name: string]: unknown;
109
+ };
110
+ content: {
111
+ "application/json": components["schemas"]["CutStatus"];
112
+ };
113
+ };
114
+ 404: {
115
+ headers: {
116
+ [name: string]: unknown;
117
+ };
118
+ content: {
119
+ "application/json": string;
120
+ };
121
+ };
122
+ };
123
+ };
124
+ put?: never;
125
+ post?: never;
126
+ delete?: never;
127
+ options?: never;
128
+ head?: never;
129
+ patch?: never;
130
+ trace?: never;
131
+ };
132
+ "/download/{cut_id}": {
133
+ parameters: {
134
+ query?: never;
135
+ header?: never;
136
+ path?: never;
137
+ cookie?: never;
138
+ };
139
+ get: {
140
+ parameters: {
141
+ query?: never;
142
+ header?: never;
143
+ path: {
144
+ cut_id: number;
145
+ };
146
+ cookie?: never;
147
+ };
148
+ requestBody?: never;
149
+ responses: {
150
+ 200: {
151
+ headers: {
152
+ [name: string]: unknown;
153
+ };
154
+ content: {
155
+ "video/mp4": string;
156
+ };
157
+ };
158
+ 404: {
159
+ headers: {
160
+ [name: string]: unknown;
161
+ };
162
+ content: {
163
+ "application/json": {
164
+ message: string;
165
+ };
166
+ };
167
+ };
168
+ 500: {
169
+ headers: {
170
+ [name: string]: unknown;
171
+ };
172
+ content: {
173
+ "application/json": {
174
+ message: string;
175
+ };
176
+ };
177
+ };
178
+ };
179
+ };
180
+ put?: never;
181
+ post?: never;
182
+ delete?: never;
183
+ options?: never;
184
+ head?: never;
185
+ patch?: never;
186
+ trace?: never;
187
+ };
188
+ }
189
+ export type webhooks = Record<string, never>;
190
+ export interface components {
191
+ schemas: {
192
+ RecorderSettings: {
193
+ id: string;
194
+ displayName: string;
195
+ store_path: string;
196
+ cuts_path: string;
197
+ expiry_hours: number;
198
+ pruneIntervalMs?: number | null;
199
+ };
200
+ AvailableData: {
201
+ start: string;
202
+ duration_s: number;
203
+ };
204
+ CutNotReady: {
205
+ status: "CutNotReady";
206
+ percent_complete: number;
207
+ };
208
+ CutReady: {
209
+ status: "CutReady";
210
+ url: string;
211
+ };
212
+ CutFailed: {
213
+ status: "CutFailed";
214
+ reason: string;
215
+ };
216
+ CutStatus: components["schemas"]["CutNotReady"] | components["schemas"]["CutReady"] | components["schemas"]["CutFailed"];
217
+ };
218
+ responses: never;
219
+ parameters: never;
220
+ requestBodies: never;
221
+ headers: never;
222
+ pathItems: never;
223
+ }
224
+ export type $defs = Record<string, never>;
225
+ export type operations = Record<string, never>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/output.recorder/types.ts"],"names":[],"mappings":""}