@norskvideo/norsk-studio-built-ins 1.27.0-2025-07-06-336ac6c6 → 1.27.0-2025-07-08-02bba8fe

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 (106) hide show
  1. package/client/info.js +226 -7
  2. package/client/style.css +8 -0
  3. package/lib/info.js +3 -1
  4. package/lib/info.js.map +1 -1
  5. package/lib/input.rtmp/info.d.ts +20 -1
  6. package/lib/input.rtmp/runtime.d.ts +20 -1
  7. package/lib/input.rtmp/types.d.ts +47 -27
  8. package/lib/input.rtmp/types.source.yaml +319 -0
  9. package/lib/input.rtmp/types.yaml +204 -131
  10. package/lib/input.silence/info.d.ts +4 -2
  11. package/lib/input.silence/types.d.ts +4 -7
  12. package/lib/input.silence/types.source.yaml +27 -0
  13. package/lib/input.silence/types.yaml +80 -4
  14. package/lib/input.srt-caller/info.d.ts +41 -4
  15. package/lib/input.srt-caller/types.d.ts +51 -43
  16. package/lib/input.srt-caller/types.source.yaml +70 -0
  17. package/lib/input.srt-caller/types.yaml +136 -24
  18. package/lib/input.srt-listener/info.d.ts +41 -4
  19. package/lib/input.srt-listener/runtime.d.ts +34 -3
  20. package/lib/input.srt-listener/types.d.ts +74 -44
  21. package/lib/input.srt-listener/types.source.yaml +329 -0
  22. package/lib/input.srt-listener/types.yaml +257 -132
  23. package/lib/input.udp-ts/info.d.ts +20 -1
  24. package/lib/input.udp-ts/types.d.ts +20 -25
  25. package/lib/input.udp-ts/types.source.yaml +40 -0
  26. package/lib/input.udp-ts/types.yaml +79 -3
  27. package/lib/input.videoTestCard/info.d.ts +8 -2
  28. package/lib/input.videoTestCard/types.d.ts +8 -10
  29. package/lib/input.videoTestCard/types.source.yaml +32 -0
  30. package/lib/input.videoTestCard/types.yaml +28 -6
  31. package/lib/input.whip/info.d.ts +7 -1
  32. package/lib/input.whip/types.d.ts +44 -28
  33. package/lib/input.whip/types.source.yaml +190 -0
  34. package/lib/input.whip/types.yaml +177 -104
  35. package/lib/output.autoCmaf/info.js +20 -0
  36. package/lib/output.autoCmaf/info.js.map +1 -1
  37. package/lib/output.autoCmaf/runtime.d.ts +2 -1
  38. package/lib/output.autoCmaf/runtime.js +35 -7
  39. package/lib/output.autoCmaf/runtime.js.map +1 -1
  40. package/lib/output.autoCmaf/types.d.ts +1 -0
  41. package/lib/output.autoCmaf/types.yaml +3 -0
  42. package/lib/output.cmafMultiVariant/runtime.js +2 -2
  43. package/lib/output.cmafMultiVariant/runtime.js.map +1 -1
  44. package/lib/output.cmafPlaylist/info.js +19 -0
  45. package/lib/output.cmafPlaylist/info.js.map +1 -1
  46. package/lib/output.cmafPlaylist/runtime.js +6 -3
  47. package/lib/output.cmafPlaylist/runtime.js.map +1 -1
  48. package/lib/output.cmafPlaylist/types.d.ts +1 -0
  49. package/lib/output.cmafPlaylist/types.yaml +3 -0
  50. package/lib/output.preview/runtime.js +2 -2
  51. package/lib/output.preview/runtime.js.map +1 -1
  52. package/lib/output.statistics/info.d.ts +172 -2
  53. package/lib/output.statistics/types.d.ts +400 -72
  54. package/lib/output.statistics/types.source.yaml +119 -0
  55. package/lib/output.statistics/types.yaml +331 -91
  56. package/lib/output.tsMediaPlaylist/runtime.js +2 -2
  57. package/lib/output.tsMediaPlaylist/runtime.js.map +1 -1
  58. package/lib/output.tsMultiVariant/runtime.js +1 -1
  59. package/lib/output.tsMultiVariant/runtime.js.map +1 -1
  60. package/lib/output.whep/runtime.js +3 -1
  61. package/lib/output.whep/runtime.js.map +1 -1
  62. package/lib/processor.audioEncoder/info.d.ts +10 -2
  63. package/lib/processor.audioEncoder/types.d.ts +23 -12
  64. package/lib/processor.audioEncoder/types.source.yaml +78 -0
  65. package/lib/processor.audioEncoder/types.yaml +101 -29
  66. package/lib/processor.fixedLadder/info.d.ts +182 -7
  67. package/lib/processor.fixedLadder/types.d.ts +619 -19
  68. package/lib/processor.fixedLadder/types.source.yaml +462 -0
  69. package/lib/processor.fixedLadder/types.yaml +334 -115
  70. package/lib/processor.makeProgram/info.d.ts +1 -0
  71. package/lib/processor.makeProgram/info.js +9 -0
  72. package/lib/processor.makeProgram/info.js.map +1 -1
  73. package/lib/processor.makeProgram/runtime.d.ts +2 -1
  74. package/lib/processor.makeProgram/runtime.js +14 -1
  75. package/lib/processor.makeProgram/runtime.js.map +1 -1
  76. package/lib/processor.makeProgram/types.d.ts +1 -0
  77. package/lib/processor.makeProgram/types.yaml +3 -1
  78. package/lib/processor.smartSingleMediaSwitch/info.d.ts +12 -4
  79. package/lib/processor.smartSingleMediaSwitch/types.d.ts +22 -18
  80. package/lib/processor.smartSingleMediaSwitch/types.source.yaml +115 -0
  81. package/lib/processor.smartSingleMediaSwitch/types.yaml +145 -50
  82. package/lib/processor.smartSourceSwitch/info.d.ts +12 -4
  83. package/lib/processor.smartSourceSwitch/types.d.ts +22 -18
  84. package/lib/processor.smartSourceSwitch/types.source.yaml +97 -0
  85. package/lib/processor.smartSourceSwitch/types.yaml +142 -48
  86. package/lib/processor.syncExternalAudio/info.d.ts +1 -0
  87. package/lib/processor.syncExternalAudio/types.d.ts +1 -0
  88. package/lib/processor.zoomTo/info.d.ts +54 -0
  89. package/lib/processor.zoomTo/info.js +172 -0
  90. package/lib/processor.zoomTo/info.js.map +1 -0
  91. package/lib/processor.zoomTo/runtime-types.d.ts +11 -0
  92. package/lib/processor.zoomTo/runtime-types.js +3 -0
  93. package/lib/processor.zoomTo/runtime-types.js.map +1 -0
  94. package/lib/processor.zoomTo/runtime.d.ts +45 -0
  95. package/lib/processor.zoomTo/runtime.js +307 -0
  96. package/lib/processor.zoomTo/runtime.js.map +1 -0
  97. package/lib/processor.zoomTo/types.d.ts +182 -0
  98. package/lib/processor.zoomTo/types.js +3 -0
  99. package/lib/processor.zoomTo/types.js.map +1 -0
  100. package/lib/processor.zoomTo/types.yaml +356 -0
  101. package/lib/test/auto-cmaf.js +7 -4
  102. package/lib/test/auto-cmaf.js.map +1 -1
  103. package/lib/test/zoom-to.d.ts +1 -0
  104. package/lib/test/zoom-to.js +345 -0
  105. package/lib/test/zoom-to.js.map +1 -0
  106. package/package.json +3 -3
@@ -0,0 +1,345 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const norsk_sdk_1 = require("@norskvideo/norsk-sdk");
30
+ const __1 = require("..");
31
+ const builder_1 = require("@norskvideo/norsk-studio/lib/test/_util/builder");
32
+ const document = __importStar(require("@norskvideo/norsk-studio/lib/runtime/document"));
33
+ const yaml_1 = __importDefault(require("yaml"));
34
+ const execution_1 = __importStar(require("@norskvideo/norsk-studio/lib/runtime/execution"));
35
+ const sources_1 = require("@norskvideo/norsk-studio/lib/test/_util/sources");
36
+ const sinks_1 = require("@norskvideo/norsk-studio/lib/test/_util/sinks");
37
+ const info_1 = __importDefault(require("../processor.zoomTo/info"));
38
+ const client_types_1 = require("@norskvideo/norsk-studio/lib/extension/client-types");
39
+ const util_1 = require("@norskvideo/norsk-studio/lib/shared/util");
40
+ const node_fetch_1 = __importDefault(require("node-fetch"));
41
+ const express_1 = __importDefault(require("express"));
42
+ const chai_1 = require("chai");
43
+ async function defaultRuntime() {
44
+ const runtime = (0, builder_1.emptyRuntime)();
45
+ await (0, __1.registerAll)(runtime);
46
+ return runtime;
47
+ }
48
+ const videoOpts = {
49
+ resolution: { width: 640, height: 360 },
50
+ frameRate: { frames: 25, seconds: 1 }
51
+ };
52
+ const outputResolution = { width: 1920, height: 1080 };
53
+ function apiUrl(id, port) {
54
+ return `http://127.0.0.1:${port}/${id}/zoom`;
55
+ }
56
+ describe("ZoomTo", () => {
57
+ async function testDocument(cfg) {
58
+ const runtime = await defaultRuntime();
59
+ const yaml = new builder_1.YamlBuilder()
60
+ .addNode(new builder_1.YamlNodeBuilder('zoomTo', (0, info_1.default)(client_types_1.RegistrationConsts), {
61
+ offsetX: 0,
62
+ offsetY: 0,
63
+ width: 100,
64
+ height: 100,
65
+ outputResolution,
66
+ transitionDurationMs: 300,
67
+ transitionEasing: 'ease_in_out',
68
+ ...cfg
69
+ }).reify())
70
+ .reify();
71
+ const compiled = document.load(__filename, runtime, yaml_1.default.stringify(yaml), { resolveConfig: true });
72
+ return compiled;
73
+ }
74
+ let norsk = undefined;
75
+ afterEach(async () => {
76
+ await norsk?.close();
77
+ });
78
+ it("Basic functionality - full frame crop", async () => {
79
+ norsk = await norsk_sdk_1.Norsk.connect({ onShutdown: () => { } });
80
+ const compiled = await testDocument();
81
+ const result = await (0, execution_1.default)(norsk, compiled);
82
+ const zoomTo = result.components["zoomTo"];
83
+ const source = await (0, sources_1.videoAndAudio)(norsk, 'source', videoOpts);
84
+ new execution_1.ComponentSubscriptions(norsk, zoomTo).setSources([
85
+ new execution_1.StudioNodeSubscriptionSource(source, (0, sources_1.testSourceDescription)(), {
86
+ type: 'take-all-streams',
87
+ filter: [{ media: 'video' }, { media: 'audio' }]
88
+ })
89
+ ]);
90
+ await (0, sinks_1.assertNodeOutputsVideoFrames)(norsk, result, "zoomTo", {
91
+ resolution: outputResolution,
92
+ frameRate: { frames: 25, seconds: 1 }
93
+ });
94
+ });
95
+ it("Basic functionality - 50% crop at center", async () => {
96
+ norsk = await norsk_sdk_1.Norsk.connect({ onShutdown: () => { } });
97
+ const compiled = await testDocument({
98
+ offsetX: 25,
99
+ offsetY: 25,
100
+ width: 50,
101
+ height: 50,
102
+ outputResolution,
103
+ transitionDurationMs: 300,
104
+ transitionEasing: 'ease_in_out'
105
+ });
106
+ const result = await (0, execution_1.default)(norsk, compiled);
107
+ const zoomTo = result.components["zoomTo"];
108
+ const source = await (0, sources_1.videoAndAudio)(norsk, 'source', videoOpts);
109
+ new execution_1.ComponentSubscriptions(norsk, zoomTo).setSources([
110
+ new execution_1.StudioNodeSubscriptionSource(source, (0, sources_1.testSourceDescription)(), {
111
+ type: 'take-all-streams',
112
+ filter: [{ media: 'video' }, { media: 'audio' }]
113
+ })
114
+ ]);
115
+ await (0, sinks_1.assertNodeOutputsVideoFrames)(norsk, result, "zoomTo", {
116
+ resolution: outputResolution,
117
+ frameRate: { frames: 25, seconds: 1 }
118
+ });
119
+ });
120
+ describe("HTTP API", () => {
121
+ let port = 0;
122
+ let listener;
123
+ let result;
124
+ beforeEach(async () => {
125
+ norsk = await norsk_sdk_1.Norsk.connect({ onShutdown: () => { } });
126
+ const compiled = await testDocument();
127
+ const app = (0, express_1.default)();
128
+ app.use(express_1.default.json());
129
+ result = await (0, execution_1.default)(norsk, compiled, app);
130
+ await new Promise((r) => {
131
+ listener = app.listen(0, '127.0.0.1', () => {
132
+ const address = listener.address();
133
+ port = address.port;
134
+ r();
135
+ });
136
+ });
137
+ const zoomTo = result.components["zoomTo"];
138
+ const source = await (0, sources_1.videoAndAudio)(norsk, 'source', videoOpts);
139
+ new execution_1.ComponentSubscriptions(norsk, zoomTo).setSources([
140
+ new execution_1.StudioNodeSubscriptionSource(source, (0, sources_1.testSourceDescription)(), {
141
+ type: 'take-all-streams',
142
+ filter: [{ media: 'video' }]
143
+ })
144
+ ]);
145
+ await (0, util_1.waitForCondition)(() => {
146
+ const state = result.runtimeState.latest["zoomTo"];
147
+ return state.hasInputVideo === true;
148
+ }, 5000);
149
+ });
150
+ afterEach(async () => {
151
+ listener?.close();
152
+ });
153
+ it("GET /zoom returns current state", async () => {
154
+ const httpResult = await (0, node_fetch_1.default)(apiUrl('zoomTo', port));
155
+ (0, chai_1.expect)(httpResult.status).equal(200);
156
+ const body = await httpResult.json();
157
+ const zoom = body.zoom;
158
+ const inputVideo = body.inputVideo;
159
+ const resolution = inputVideo.resolution;
160
+ (0, chai_1.expect)(zoom.currentOffsetX).equal(0);
161
+ (0, chai_1.expect)(zoom.currentOffsetY).equal(0);
162
+ (0, chai_1.expect)(zoom.currentWidth).equal(100);
163
+ (0, chai_1.expect)(zoom.currentHeight).equal(100);
164
+ (0, chai_1.expect)(inputVideo.hasInputVideo).equal(true);
165
+ (0, chai_1.expect)(resolution.width).equal(640);
166
+ (0, chai_1.expect)(resolution.height).equal(360);
167
+ });
168
+ it("POST /zoom with percentage mode updates zoom", async () => {
169
+ const httpResult = await (0, node_fetch_1.default)(apiUrl('zoomTo', port), {
170
+ method: 'POST',
171
+ headers: { 'Content-Type': 'application/json' },
172
+ body: JSON.stringify({
173
+ mode: 'percentage',
174
+ offsetX: 25,
175
+ offsetY: 25,
176
+ width: 50,
177
+ height: 50
178
+ })
179
+ });
180
+ (0, chai_1.expect)(httpResult.status).equal(204);
181
+ await (0, util_1.waitForCondition)(() => {
182
+ const state = result.runtimeState.latest["zoomTo"];
183
+ return state.currentOffsetX === 25 && state.currentWidth === 50;
184
+ }, 2000);
185
+ const getResult = await (0, node_fetch_1.default)(apiUrl('zoomTo', port));
186
+ const body = await getResult.json();
187
+ const zoom = body.zoom;
188
+ (0, chai_1.expect)(zoom.currentOffsetX).equal(25);
189
+ (0, chai_1.expect)(zoom.currentOffsetY).equal(25);
190
+ (0, chai_1.expect)(zoom.currentWidth).equal(50);
191
+ (0, chai_1.expect)(zoom.currentHeight).equal(50);
192
+ });
193
+ it("POST /zoom with pixel mode updates zoom", async () => {
194
+ const httpResult = await (0, node_fetch_1.default)(apiUrl('zoomTo', port), {
195
+ method: 'POST',
196
+ headers: { 'Content-Type': 'application/json' },
197
+ body: JSON.stringify({
198
+ mode: 'pixel',
199
+ offsetXPx: 160,
200
+ offsetYPx: 90,
201
+ widthPx: 320,
202
+ heightPx: 180
203
+ })
204
+ });
205
+ (0, chai_1.expect)(httpResult.status).equal(204);
206
+ await (0, util_1.waitForCondition)(() => {
207
+ const state = result.runtimeState.latest["zoomTo"];
208
+ return state.currentOffsetX === 25 && state.currentWidth === 50;
209
+ }, 2000);
210
+ const getResult = await (0, node_fetch_1.default)(apiUrl('zoomTo', port));
211
+ const body = await getResult.json();
212
+ const zoom = body.zoom;
213
+ (0, chai_1.expect)(zoom.currentOffsetX).equal(25);
214
+ (0, chai_1.expect)(zoom.currentOffsetY).equal(25);
215
+ (0, chai_1.expect)(zoom.currentWidth).equal(50);
216
+ (0, chai_1.expect)(zoom.currentHeight).equal(50);
217
+ });
218
+ it("POST /zoom validates percentage bounds", async () => {
219
+ const httpResult = await (0, node_fetch_1.default)(apiUrl('zoomTo', port), {
220
+ method: 'POST',
221
+ headers: { 'Content-Type': 'application/json' },
222
+ body: JSON.stringify({
223
+ mode: 'percentage',
224
+ offsetX: 80,
225
+ offsetY: 80,
226
+ width: 50,
227
+ height: 50
228
+ })
229
+ });
230
+ (0, chai_1.expect)(httpResult.status).equal(400);
231
+ const body = await httpResult.json();
232
+ (0, chai_1.expect)(body.error).equal('Invalid crop region');
233
+ });
234
+ it("POST /zoom validates pixel bounds", async () => {
235
+ const httpResult = await (0, node_fetch_1.default)(apiUrl('zoomTo', port), {
236
+ method: 'POST',
237
+ headers: { 'Content-Type': 'application/json' },
238
+ body: JSON.stringify({
239
+ mode: 'pixel',
240
+ offsetXPx: -10,
241
+ offsetYPx: 0,
242
+ widthPx: 100,
243
+ heightPx: 100
244
+ })
245
+ });
246
+ (0, chai_1.expect)(httpResult.status).equal(400);
247
+ const body = await httpResult.json();
248
+ (0, chai_1.expect)(body.error).equal('Invalid range');
249
+ });
250
+ it("POST /zoom validates mode field", async () => {
251
+ const httpResult = await (0, node_fetch_1.default)(apiUrl('zoomTo', port), {
252
+ method: 'POST',
253
+ headers: { 'Content-Type': 'application/json' },
254
+ body: JSON.stringify({
255
+ mode: 'invalid',
256
+ offsetX: 25,
257
+ offsetY: 25,
258
+ width: 50,
259
+ height: 50
260
+ })
261
+ });
262
+ (0, chai_1.expect)(httpResult.status).equal(400);
263
+ const body = await httpResult.json();
264
+ (0, chai_1.expect)(body.error).equal('Invalid mode');
265
+ });
266
+ });
267
+ describe("Edge cases", () => {
268
+ let listener;
269
+ let port = 0;
270
+ afterEach(async () => {
271
+ listener?.close();
272
+ });
273
+ it("API validates zero-width crop in percentage mode", async () => {
274
+ norsk = await norsk_sdk_1.Norsk.connect({ onShutdown: () => { } });
275
+ const compiled = await testDocument();
276
+ const app = (0, express_1.default)();
277
+ app.use(express_1.default.json());
278
+ const _result = await (0, execution_1.default)(norsk, compiled, app);
279
+ await new Promise((r) => {
280
+ listener = app.listen(0, '127.0.0.1', () => {
281
+ const address = listener.address();
282
+ port = address.port;
283
+ r();
284
+ });
285
+ });
286
+ const httpResult = await (0, node_fetch_1.default)(apiUrl('zoomTo', port), {
287
+ method: 'POST',
288
+ headers: { 'Content-Type': 'application/json' },
289
+ body: JSON.stringify({
290
+ mode: 'percentage',
291
+ offsetX: 50,
292
+ offsetY: 50,
293
+ width: 0,
294
+ height: 50
295
+ })
296
+ });
297
+ (0, chai_1.expect)(httpResult.status).equal(400);
298
+ const body = await httpResult.json();
299
+ (0, chai_1.expect)(body.error).equal('Invalid range');
300
+ (0, chai_1.expect)(body.details).equal('Percentage values must be 0-100, width/height must be > 0');
301
+ });
302
+ it("API validates zero-height crop in pixel mode", async () => {
303
+ norsk = await norsk_sdk_1.Norsk.connect({ onShutdown: () => { } });
304
+ const compiled = await testDocument();
305
+ const app = (0, express_1.default)();
306
+ app.use(express_1.default.json());
307
+ const _result = await (0, execution_1.default)(norsk, compiled, app);
308
+ await new Promise((r) => {
309
+ listener = app.listen(0, '127.0.0.1', () => {
310
+ const address = listener.address();
311
+ port = address.port;
312
+ r();
313
+ });
314
+ });
315
+ const httpResult = await (0, node_fetch_1.default)(apiUrl('zoomTo', port), {
316
+ method: 'POST',
317
+ headers: { 'Content-Type': 'application/json' },
318
+ body: JSON.stringify({
319
+ mode: 'pixel',
320
+ offsetXPx: 100,
321
+ offsetYPx: 100,
322
+ widthPx: 50,
323
+ heightPx: 0
324
+ })
325
+ });
326
+ (0, chai_1.expect)(httpResult.status).equal(400);
327
+ const body = await httpResult.json();
328
+ (0, chai_1.expect)(body.error).equal('Invalid range');
329
+ (0, chai_1.expect)(body.details).equal('Pixel values must be non-negative, width/height must be > 0');
330
+ });
331
+ it("Handles component without input video", async () => {
332
+ norsk = await norsk_sdk_1.Norsk.connect({ onShutdown: () => { } });
333
+ const compiled = await testDocument();
334
+ const result = await (0, execution_1.default)(norsk, compiled);
335
+ await (0, util_1.waitForCondition)(() => {
336
+ const state = result.runtimeState.latest["zoomTo"];
337
+ return state.hasInputVideo === false;
338
+ }, 2000);
339
+ const state = result.runtimeState.latest["zoomTo"];
340
+ (0, chai_1.expect)(state.hasInputVideo).equal(false);
341
+ (0, chai_1.expect)(state.inputVideoResolution).to.be.undefined;
342
+ });
343
+ });
344
+ });
345
+ //# sourceMappingURL=zoom-to.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zoom-to.js","sourceRoot":"","sources":["../../src/test/zoom-to.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@norskvideo/norsk-studio-built-ins",
3
- "version": "1.27.0-2025-07-06-336ac6c6",
3
+ "version": "1.27.0-2025-07-08-02bba8fe",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "clean": "rm -rf lib client build",
@@ -22,8 +22,8 @@
22
22
  "license": "MIT",
23
23
  "dependencies": {
24
24
  "@apidevtools/json-schema-ref-parser": "^12.0.1",
25
- "@norskvideo/norsk-sdk": "^1.0.402-2025-07-06-739d8f7d",
26
- "@norskvideo/norsk-studio": "1.27.0-2025-07-06-336ac6c6",
25
+ "@norskvideo/norsk-sdk": "^1.0.402-2025-07-08-3c1224ec",
26
+ "@norskvideo/norsk-studio": "1.27.0-2025-07-08-02bba8fe",
27
27
  "@norskvideo/webrtc-client": "^0.1.2",
28
28
  "@react-icons/all-files": "^4.1.0",
29
29
  "body-parser": "^1.20.2",