@norskvideo/norsk-studio 1.0.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.
Files changed (263) hide show
  1. package/README.md +58 -0
  2. package/bin/info.ts.template +23 -0
  3. package/bin/studio-bundle +23 -0
  4. package/bin/studio-editor +3 -0
  5. package/bin/studio-runner +3 -0
  6. package/bin/studio-wrap-infos +44 -0
  7. package/lib/client/comms.d.ts +26 -0
  8. package/lib/client/comms.js +114 -0
  9. package/lib/client/comms.js.map +1 -0
  10. package/lib/client/componentevents.d.ts +12 -0
  11. package/lib/client/componentevents.js +41 -0
  12. package/lib/client/componentevents.js.map +1 -0
  13. package/lib/client/console.d.ts +19 -0
  14. package/lib/client/console.js +42 -0
  15. package/lib/client/console.js.map +1 -0
  16. package/lib/client/controls.d.ts +23 -0
  17. package/lib/client/controls.js +80 -0
  18. package/lib/client/controls.js.map +1 -0
  19. package/lib/client/creator.d.ts +45 -0
  20. package/lib/client/creator.js +276 -0
  21. package/lib/client/creator.js.map +1 -0
  22. package/lib/client/jsx/connection-editor.d.ts +11 -0
  23. package/lib/client/jsx/connection-editor.js +198 -0
  24. package/lib/client/jsx/connection-editor.js.map +1 -0
  25. package/lib/client/jsx/connection.d.ts +7 -0
  26. package/lib/client/jsx/connection.js +33 -0
  27. package/lib/client/jsx/connection.js.map +1 -0
  28. package/lib/client/jsx/console-log.d.ts +11 -0
  29. package/lib/client/jsx/console-log.js +17 -0
  30. package/lib/client/jsx/console-log.js.map +1 -0
  31. package/lib/client/jsx/console.d.ts +20 -0
  32. package/lib/client/jsx/console.js +30 -0
  33. package/lib/client/jsx/console.js.map +1 -0
  34. package/lib/client/jsx/node-editor.d.ts +23 -0
  35. package/lib/client/jsx/node-editor.js +442 -0
  36. package/lib/client/jsx/node-editor.js.map +1 -0
  37. package/lib/client/jsx/node.d.ts +25 -0
  38. package/lib/client/jsx/node.js +244 -0
  39. package/lib/client/jsx/node.js.map +1 -0
  40. package/lib/client/jsx/selected-connection.d.ts +21 -0
  41. package/lib/client/jsx/selected-connection.js +110 -0
  42. package/lib/client/jsx/selected-connection.js.map +1 -0
  43. package/lib/client/jsx/selected-node.d.ts +24 -0
  44. package/lib/client/jsx/selected-node.js +75 -0
  45. package/lib/client/jsx/selected-node.js.map +1 -0
  46. package/lib/client/jsx/selected.d.ts +24 -0
  47. package/lib/client/jsx/selected.js +15 -0
  48. package/lib/client/jsx/selected.js.map +1 -0
  49. package/lib/client/jsx/selectfilename.d.ts +7 -0
  50. package/lib/client/jsx/selectfilename.js +17 -0
  51. package/lib/client/jsx/selectfilename.js.map +1 -0
  52. package/lib/client/jsx/toolbox.d.ts +14 -0
  53. package/lib/client/jsx/toolbox.js +45 -0
  54. package/lib/client/jsx/toolbox.js.map +1 -0
  55. package/lib/client/library.d.ts +12 -0
  56. package/lib/client/library.js +53 -0
  57. package/lib/client/library.js.map +1 -0
  58. package/lib/client/modal.d.ts +21 -0
  59. package/lib/client/modal.js +34 -0
  60. package/lib/client/modal.js.map +1 -0
  61. package/lib/client/rete/connection.d.ts +20 -0
  62. package/lib/client/rete/connection.js +27 -0
  63. package/lib/client/rete/connection.js.map +1 -0
  64. package/lib/client/rete/node.d.ts +28 -0
  65. package/lib/client/rete/node.js +78 -0
  66. package/lib/client/rete/node.js.map +1 -0
  67. package/lib/client/rete/selector.d.ts +10 -0
  68. package/lib/client/rete/selector.js +22 -0
  69. package/lib/client/rete/selector.js.map +1 -0
  70. package/lib/client/rete.d.ts +81 -0
  71. package/lib/client/rete.js +384 -0
  72. package/lib/client/rete.js.map +1 -0
  73. package/lib/client/session-view.d.ts +7 -0
  74. package/lib/client/session-view.js +132 -0
  75. package/lib/client/session-view.js.map +1 -0
  76. package/lib/client/session.d.ts +70 -0
  77. package/lib/client/session.js +185 -0
  78. package/lib/client/session.js.map +1 -0
  79. package/lib/client/tools.d.ts +22 -0
  80. package/lib/client/tools.js +311 -0
  81. package/lib/client/tools.js.map +1 -0
  82. package/lib/extension/base-nodes.d.ts +55 -0
  83. package/lib/extension/base-nodes.js +120 -0
  84. package/lib/extension/base-nodes.js.map +1 -0
  85. package/lib/extension/built-ins.d.ts +4 -0
  86. package/lib/extension/built-ins.js +52 -0
  87. package/lib/extension/built-ins.js.map +1 -0
  88. package/lib/extension/client-system.d.ts +5 -0
  89. package/lib/extension/client-system.js +3 -0
  90. package/lib/extension/client-system.js.map +1 -0
  91. package/lib/extension/client-types.d.ts +245 -0
  92. package/lib/extension/client-types.js +87 -0
  93. package/lib/extension/client-types.js.map +1 -0
  94. package/lib/extension/common.d.ts +34 -0
  95. package/lib/extension/common.js +45 -0
  96. package/lib/extension/common.js.map +1 -0
  97. package/lib/extension/registration.d.ts +7 -0
  98. package/lib/extension/registration.js +62 -0
  99. package/lib/extension/registration.js.map +1 -0
  100. package/lib/extension/runtime-system.d.ts +9 -0
  101. package/lib/extension/runtime-system.js +3 -0
  102. package/lib/extension/runtime-system.js.map +1 -0
  103. package/lib/extension/runtime-types.d.ts +91 -0
  104. package/lib/extension/runtime-types.js +318 -0
  105. package/lib/extension/runtime-types.js.map +1 -0
  106. package/lib/extension/validation.d.ts +16 -0
  107. package/lib/extension/validation.js +50 -0
  108. package/lib/extension/validation.js.map +1 -0
  109. package/lib/library/test.d.ts +2 -0
  110. package/lib/library/test.js +11 -0
  111. package/lib/library/test.js.map +1 -0
  112. package/lib/runtime/document.d.ts +62 -0
  113. package/lib/runtime/document.js +322 -0
  114. package/lib/runtime/document.js.map +1 -0
  115. package/lib/runtime/execution.d.ts +48 -0
  116. package/lib/runtime/execution.js +327 -0
  117. package/lib/runtime/execution.js.map +1 -0
  118. package/lib/runtime/norsk-comms.d.ts +24 -0
  119. package/lib/runtime/norsk-comms.js +71 -0
  120. package/lib/runtime/norsk-comms.js.map +1 -0
  121. package/lib/runtime/system.d.ts +30 -0
  122. package/lib/runtime/system.js +83 -0
  123. package/lib/runtime/system.js.map +1 -0
  124. package/lib/server/config.d.ts +19 -0
  125. package/lib/server/config.js +26 -0
  126. package/lib/server/config.js.map +1 -0
  127. package/lib/server/index.d.ts +1 -0
  128. package/lib/server/index.js +310 -0
  129. package/lib/server/index.js.map +1 -0
  130. package/lib/server/logging.d.ts +6 -0
  131. package/lib/server/logging.js +96 -0
  132. package/lib/server/logging.js.map +1 -0
  133. package/lib/server/medialive.d.ts +1 -0
  134. package/lib/server/medialive.js +34 -0
  135. package/lib/server/medialive.js.map +1 -0
  136. package/lib/server/runner.d.ts +1 -0
  137. package/lib/server/runner.js +137 -0
  138. package/lib/server/runner.js.map +1 -0
  139. package/lib/server/session-registration.d.ts +5 -0
  140. package/lib/server/session-registration.js +18 -0
  141. package/lib/server/session-registration.js.map +1 -0
  142. package/lib/server/session.d.ts +117 -0
  143. package/lib/server/session.js +364 -0
  144. package/lib/server/session.js.map +1 -0
  145. package/lib/shared/client-msg.d.ts +13 -0
  146. package/lib/shared/client-msg.js +3 -0
  147. package/lib/shared/client-msg.js.map +1 -0
  148. package/lib/shared/config.d.ts +7 -0
  149. package/lib/shared/config.js +60 -0
  150. package/lib/shared/config.js.map +1 -0
  151. package/lib/shared/document.d.ts +164 -0
  152. package/lib/shared/document.js +496 -0
  153. package/lib/shared/document.js.map +1 -0
  154. package/lib/shared/names.d.ts +3 -0
  155. package/lib/shared/names.js +8 -0
  156. package/lib/shared/names.js.map +1 -0
  157. package/lib/shared/norsk.d.ts +21 -0
  158. package/lib/shared/norsk.js +3 -0
  159. package/lib/shared/norsk.js.map +1 -0
  160. package/lib/shared/server-msg.d.ts +69 -0
  161. package/lib/shared/server-msg.js +3 -0
  162. package/lib/shared/server-msg.js.map +1 -0
  163. package/lib/shared/util.d.ts +7 -0
  164. package/lib/shared/util.js +63 -0
  165. package/lib/shared/util.js.map +1 -0
  166. package/lib/test/_util/builder.d.ts +46 -0
  167. package/lib/test/_util/builder.js +200 -0
  168. package/lib/test/_util/builder.js.map +1 -0
  169. package/lib/test/_util/callback_app.d.ts +13 -0
  170. package/lib/test/_util/callback_app.js +25 -0
  171. package/lib/test/_util/callback_app.js.map +1 -0
  172. package/lib/test/_util/driver.d.ts +16 -0
  173. package/lib/test/_util/driver.js +89 -0
  174. package/lib/test/_util/driver.js.map +1 -0
  175. package/lib/test/_util/fake-norsk.d.ts +14 -0
  176. package/lib/test/_util/fake-norsk.js +19 -0
  177. package/lib/test/_util/fake-norsk.js.map +1 -0
  178. package/lib/test/_util/ffmpeg.d.ts +80 -0
  179. package/lib/test/_util/ffmpeg.js +266 -0
  180. package/lib/test/_util/ffmpeg.js.map +1 -0
  181. package/lib/test/_util/manual-driver.d.ts +42 -0
  182. package/lib/test/_util/manual-driver.js +206 -0
  183. package/lib/test/_util/manual-driver.js.map +1 -0
  184. package/lib/test/_util/runtime.d.ts +81 -0
  185. package/lib/test/_util/runtime.js +194 -0
  186. package/lib/test/_util/runtime.js.map +1 -0
  187. package/lib/test/_util/server.d.ts +8 -0
  188. package/lib/test/_util/server.js +33 -0
  189. package/lib/test/_util/server.js.map +1 -0
  190. package/lib/test/_util/sinks.d.ts +35 -0
  191. package/lib/test/_util/sinks.js +200 -0
  192. package/lib/test/_util/sinks.js.map +1 -0
  193. package/lib/test/_util/sources.d.ts +18 -0
  194. package/lib/test/_util/sources.js +113 -0
  195. package/lib/test/_util/sources.js.map +1 -0
  196. package/lib/test/_util/test-infos-views.d.ts +9 -0
  197. package/lib/test/_util/test-infos-views.js +46 -0
  198. package/lib/test/_util/test-infos-views.js.map +1 -0
  199. package/lib/test/_util/test-infos.d.ts +44 -0
  200. package/lib/test/_util/test-infos.js +202 -0
  201. package/lib/test/_util/test-infos.js.map +1 -0
  202. package/lib/test/client-designview.d.ts +1 -0
  203. package/lib/test/client-designview.js +258 -0
  204. package/lib/test/client-designview.js.map +1 -0
  205. package/lib/test/client-liveview.d.ts +1 -0
  206. package/lib/test/client-liveview.js +413 -0
  207. package/lib/test/client-liveview.js.map +1 -0
  208. package/lib/test/client-session.d.ts +1 -0
  209. package/lib/test/client-session.js +205 -0
  210. package/lib/test/client-session.js.map +1 -0
  211. package/lib/test/client-ui.d.ts +1 -0
  212. package/lib/test/client-ui.js +74 -0
  213. package/lib/test/client-ui.js.map +1 -0
  214. package/lib/test/document-execution.d.ts +1 -0
  215. package/lib/test/document-execution.js +162 -0
  216. package/lib/test/document-execution.js.map +1 -0
  217. package/lib/test/document-loading.d.ts +1 -0
  218. package/lib/test/document-loading.js +420 -0
  219. package/lib/test/document-loading.js.map +1 -0
  220. package/lib/test/runtime-comms.d.ts +1 -0
  221. package/lib/test/runtime-comms.js +321 -0
  222. package/lib/test/runtime-comms.js.map +1 -0
  223. package/lib/test/subscriptions.d.ts +1 -0
  224. package/lib/test/subscriptions.js +334 -0
  225. package/lib/test/subscriptions.js.map +1 -0
  226. package/package.json +112 -0
  227. package/static/98_slides.html +61 -0
  228. package/static/Norsk-Favicon-150x150.png +0 -0
  229. package/static/Norsk-Favicon.png +0 -0
  230. package/static/Norsk-Logo-Dark-Background.png +0 -0
  231. package/static/Norsk.png +0 -0
  232. package/static/ShortStack.woff2 +0 -0
  233. package/static/bonnie-green.png +0 -0
  234. package/static/button.svg +67 -0
  235. package/static/doodle.css +174 -0
  236. package/static/flowbite.min.css +1 -0
  237. package/static/flowbite.min.js +2 -0
  238. package/static/font.css +20 -0
  239. package/static/jese-leos.png +0 -0
  240. package/static/joseph-mcfall.png +0 -0
  241. package/static/michael-gough.png +0 -0
  242. package/static/news-embedded.html +106 -0
  243. package/static/overlay-score.html +210 -0
  244. package/static/overlay-ui.html +918 -0
  245. package/static/react-dom.development.js +29869 -0
  246. package/static/react.development.js +3342 -0
  247. package/static/robert-brown.png +0 -0
  248. package/static/roberta-casas.png +0 -0
  249. package/static/style-dark.css +2467 -0
  250. package/static/style.css +7252 -0
  251. package/static/tailwind.css +31 -0
  252. package/static/team1.png +0 -0
  253. package/static/team2.png +0 -0
  254. package/static/videoFrame.html +73 -0
  255. package/static/webrtc.js +430 -0
  256. package/tailwind-theme.js +66 -0
  257. package/tailwind.config.js +11 -0
  258. package/ui/bypass-esbuild.js +24 -0
  259. package/ui/index.html +189 -0
  260. package/ui/index.js +229180 -0
  261. package/ui/studio.css +31 -0
  262. package/ui/test.html +95 -0
  263. package/ui/view.html +23 -0
@@ -0,0 +1,62 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.autoRegisterComponents = void 0;
27
+ const client_types_1 = require("./client-types");
28
+ const fs_1 = require("fs");
29
+ const path = __importStar(require("path"));
30
+ const logging_1 = require("../server/logging");
31
+ function autoRegisterComponents(rootDir, bundledInfoJs, componentPathToClientDir) {
32
+ return async (system) => {
33
+ (0, logging_1.debuglog)("Auto registering library from", rootDir);
34
+ const dirs = await fs_1.promises.readdir(rootDir);
35
+ for (const dir of dirs) {
36
+ if (dir.endsWith(".js")) {
37
+ continue;
38
+ }
39
+ if (dir.endsWith(".map")) {
40
+ continue;
41
+ }
42
+ if (dir.endsWith("d.ts")) {
43
+ continue;
44
+ }
45
+ const componentPath = path.join(rootDir, dir);
46
+ const runtimePath = path.join(componentPath, 'runtime.js');
47
+ const infoPath = path.join(componentPath, "info.js");
48
+ const runtimeExists = await fs_1.promises.stat(runtimePath).catch(() => undefined);
49
+ const infoExists = await fs_1.promises.stat(infoPath).catch(() => undefined);
50
+ if (!runtimeExists || !infoExists) {
51
+ continue;
52
+ }
53
+ (0, logging_1.sillylog)("Registering component", runtimePath);
54
+ const Runtime = (await Promise.resolve(`${runtimePath}`).then(s => __importStar(require(s)))).default;
55
+ const Info = (await Promise.resolve(`${infoPath}`).then(s => __importStar(require(s)))).default;
56
+ const component = new Runtime();
57
+ system.registerComponent(component, Info(client_types_1.RegistrationConsts), bundledInfoJs, componentPathToClientDir(componentPath));
58
+ }
59
+ };
60
+ }
61
+ exports.autoRegisterComponents = autoRegisterComponents;
62
+ //# sourceMappingURL=registration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registration.js","sourceRoot":"","sources":["../../src/extension/registration.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAmD;AAMnD,2BAAoC;AACpC,2CAA6B;AAC7B,+CAAuD;AAMvD,SAAgB,sBAAsB,CAAC,OAAe,EAAE,aAAqB,EAAE,wBAA2D;IACxI,OAAO,KAAK,EAAE,MAAqB,EAAE,EAAE;QACrC,IAAA,kBAAQ,EAAC,+BAA+B,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,MAAM,aAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAAC,SAAS;YAAC,CAAC;YACtC,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAAC,SAAS;YAAC,CAAC;YACvC,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAAC,SAAS;YAAC,CAAC;YAEvC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAE9C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;YAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;YAErD,MAAM,aAAa,GAAG,MAAM,aAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACxE,MAAM,UAAU,GAAG,MAAM,aAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAElE,IAAI,CAAC,aAAa,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClC,SAAS;YACX,CAAC;YAED,IAAA,kBAAQ,EAAC,uBAAuB,EAAE,WAAW,CAAC,CAAC;YAE/C,MAAM,OAAO,GAAG,CAAC,yBAAa,WAAW,uCAAC,CAAC,CAAC,OAAO,CAAC;YACpD,MAAM,IAAI,GAAG,CAAC,yBAAa,QAAQ,uCAAC,CAAC,CAAC,OAAO,CAAC;YAG9C,MAAM,SAAS,GAAG,IAAI,OAAO,EAAE,CAAC;YAChC,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAChC,IAAI,CAAC,iCAAkB,CAAC,EACxB,aAAa,EACb,wBAAwB,CAAC,aAAa,CAAC,CACxC,CAAC;QACJ,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAnCD,wDAmCC"}
@@ -0,0 +1,9 @@
1
+ import type { BaseConfig, NodeInfo } from "./client-types";
2
+ import type { ServerComponentDefinition, RegisteredServerComponentDefinition, CreatedMediaNode } from "./runtime-types";
3
+ export interface RuntimeSystem {
4
+ all(): RegisteredServerComponentDefinition<BaseConfig, CreatedMediaNode>[];
5
+ registerGlobalStylesheet(path: string): void;
6
+ registerComponent<Config extends BaseConfig, Node extends CreatedMediaNode, State extends object, Command extends object, Event extends object>(definition: ServerComponentDefinition<Config, Node, State, Command, Event>, info: NodeInfo<Config, State, Command, Event>, clientPath: string, clientDir?: string): void;
7
+ findComponentDefinition(type: string): RegisteredServerComponentDefinition<BaseConfig, CreatedMediaNode> | undefined;
8
+ findComponentClientPath(type: string): string | undefined;
9
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=runtime-system.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-system.js","sourceRoot":"","sources":["../../src/extension/runtime-system.ts"],"names":[],"mappings":""}
@@ -0,0 +1,91 @@
1
+ import { AmdMA35DLoad, CurrentLoad, MediaNodeId, MediaNodeState, Norsk, ReceiveFromAddress, ReceiveFromAddressAuto, SourceMediaNode, StreamKey, StreamMetadata, SubscribeDestination } from '@norskvideo/norsk-sdk';
2
+ import { ReportBuilder } from '../runtime/execution';
3
+ import { BaseConfig, Media, NodeInfo } from './client-types';
4
+ import { IRouter } from 'express';
5
+ import { NodeDescription, SubscriptionConfiguration } from '../shared/document';
6
+ import { HardwareAccelerationType } from '../shared/config';
7
+ import EventHandler from 'eventhandler';
8
+ export declare class RelatedMediaNodes {
9
+ _input: MediaNodeState[];
10
+ _output: SourceMediaNode[];
11
+ get input(): ReadonlyArray<MediaNodeState>;
12
+ get output(): ReadonlyArray<SourceMediaNode>;
13
+ evs: EventHandler;
14
+ constructor();
15
+ onChange(handler: () => void): void;
16
+ addInput(node: MediaNodeState): void;
17
+ addInputs(nodes: MediaNodeState[]): void;
18
+ addOutputs(nodes: SourceMediaNode[]): void;
19
+ addOutput(node: SourceMediaNode): void;
20
+ removeInput(node: MediaNodeState): void;
21
+ removeOutput(node: SourceMediaNode): void;
22
+ }
23
+ export type ActiveStream = {
24
+ mediaNode: SourceMediaNode;
25
+ metadata: StreamMetadata;
26
+ };
27
+ export declare class StudioNodeSubscriptionSource {
28
+ source: CreatedMediaNode;
29
+ sourceDescription: NodeDescription<BaseConfig>;
30
+ streams: SubscriptionConfiguration;
31
+ sourceConfig: BaseConfig;
32
+ contextChangeHandlers: SubscribeDestination[];
33
+ info?: NodeInfo<BaseConfig>;
34
+ accepted: Map<Media, ActiveStream>;
35
+ constructor(source: CreatedMediaNode, description: NodeDescription<BaseConfig>, streams: SubscriptionConfiguration, info?: NodeInfo<BaseConfig>);
36
+ selectStreams(additional?: (metadata: StreamMetadata[]) => StreamKey[]): ReceiveFromAddressAuto[];
37
+ selectKeys(keys: string[], additional?: (metadata: StreamMetadata[]) => StreamKey[]): ReceiveFromAddressAuto[];
38
+ selectVideo(): ReceiveFromAddressAuto[];
39
+ selectAudio(): ReceiveFromAddressAuto[];
40
+ selectAV(): ReceiveFromAddressAuto[];
41
+ selectVideoForKey(key: string): ReceiveFromAddressAuto[];
42
+ selectAudioForKey(key: string): ReceiveFromAddressAuto[];
43
+ selectAVForKey(key: string): ReceiveFromAddressAuto[];
44
+ selectStreamsToPin<Pins extends string>(p: Pins, additional?: (metadata: StreamMetadata[]) => StreamKey[], keys?: string[]): ReceiveFromAddress<Pins>[];
45
+ selectVideoToPin<Pins extends string>(p: Pins): ReceiveFromAddress<Pins>[];
46
+ selectVideoToPinForKey<Pins extends string>(p: Pins, key: string): ReceiveFromAddress<Pins>[];
47
+ selectAudioToPin<Pins extends string>(p: Pins): ReceiveFromAddress<Pins>[];
48
+ selectAudioToPinForKey<Pins extends string>(p: Pins, key: string): ReceiveFromAddress<Pins>[];
49
+ selectAvToPin<Pins extends string>(p: Pins): ReceiveFromAddress<Pins>[];
50
+ selectAvToPinForKey<Pins extends string>(p: Pins, key: string): ReceiveFromAddress<Pins>[];
51
+ latestStreams(): ActiveStream[];
52
+ filterStreams(streams: ActiveStream[], filterOverride?: string[]): ActiveStream[];
53
+ onSourceNodesChange(): void;
54
+ registerForContextChange(handler: SubscribeDestination): void;
55
+ unregisterForContextChange(handler: SubscribeDestination): void;
56
+ _availableSourceKeys(): string[];
57
+ activeSourceKeys(): string[];
58
+ }
59
+ export interface CreatedMediaNode {
60
+ id: MediaNodeId;
61
+ relatedMediaNodes: RelatedMediaNodes;
62
+ subscribe?: (sources: StudioNodeSubscriptionSource[]) => void;
63
+ }
64
+ export type OnCreated<CreatedNode extends CreatedMediaNode> = (node: CreatedNode) => void;
65
+ export type StudioRuntime<State extends object = object, Event extends object = object> = {
66
+ updates: RuntimeUpdates<State, Event>;
67
+ report: ReportBuilder;
68
+ shared: StudioShared;
69
+ };
70
+ export type StudioShared = {
71
+ previewEncode: (source: ReceiveFromAddressAuto, hardwareAcceleration: HardwareAccelerationType | undefined) => Promise<SourceMediaNode>;
72
+ onCurrentLoad: (cb: (load: CurrentLoad) => void) => void;
73
+ onAMD35DLoad: (cb: (load: AmdMA35DLoad) => void) => void;
74
+ onComponentCreated: (cb: (component: CreatedMediaNode) => Promise<void>) => void;
75
+ findComponent: (id: MediaNodeId) => CreatedMediaNode | undefined;
76
+ };
77
+ export type RuntimeUpdates<State extends object = object, Event extends object = object> = {
78
+ update: (s: State) => void;
79
+ raiseEvent: (ev: Event) => void;
80
+ };
81
+ export interface ServerComponentDefinition<Config extends BaseConfig, CreatedNode extends CreatedMediaNode, RuntimeState extends object = object, RuntimeCommand extends object = object, RuntimeEvent extends object = object> {
82
+ create: (norsk: Norsk, cfg: Config, cb: OnCreated<CreatedNode>, runtime: StudioRuntime<RuntimeState, RuntimeEvent>) => Promise<void>;
83
+ handleCommand?: (node: CreatedNode, command: RuntimeCommand) => void;
84
+ routes?: () => IRouter;
85
+ }
86
+ export interface RegisteredServerComponentDefinition<Config extends BaseConfig, CreatedNode extends CreatedMediaNode, RuntimeState extends object = object, RuntimeCommand extends object = object, RuntimeEvent extends object = object> {
87
+ info: NodeInfo<Config, RuntimeState, RuntimeCommand, RuntimeEvent>;
88
+ runtime: ServerComponentDefinition<Config, CreatedNode, RuntimeState, RuntimeCommand, RuntimeEvent>;
89
+ }
90
+ export declare function makeRelativeToNode(fileName?: string): string | undefined;
91
+ export declare function streamsOfMediaType(media: Media[]): (value: StreamMetadata) => boolean;
@@ -0,0 +1,318 @@
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
+ exports.streamsOfMediaType = exports.makeRelativeToNode = exports.StudioNodeSubscriptionSource = exports.RelatedMediaNodes = void 0;
30
+ const norsk_sdk_1 = require("@norskvideo/norsk-sdk");
31
+ const path = __importStar(require("path"));
32
+ const util_1 = require("../shared/util");
33
+ const logging_1 = require("../server/logging");
34
+ const eventhandler_1 = __importDefault(require("eventhandler"));
35
+ class RelatedMediaNodes {
36
+ _input = [];
37
+ _output = [];
38
+ get input() {
39
+ return this._input;
40
+ }
41
+ get output() {
42
+ return this._output;
43
+ }
44
+ evs = new eventhandler_1.default();
45
+ constructor() {
46
+ }
47
+ onChange(handler) {
48
+ this.evs.on('change', handler);
49
+ }
50
+ addInput(node) {
51
+ this._input.push(node);
52
+ this.evs.emit('change', {});
53
+ }
54
+ addInputs(nodes) {
55
+ nodes.forEach((n) => this._input.push(n));
56
+ this.evs.emit('change', {});
57
+ }
58
+ addOutputs(nodes) {
59
+ nodes.forEach((n) => this._output.push(n));
60
+ this.evs.emit('change', {});
61
+ }
62
+ addOutput(node) {
63
+ this._output.push(node);
64
+ this.evs.emit('change', {});
65
+ }
66
+ removeInput(node) {
67
+ this._input = this._input.filter((n) => n != node);
68
+ this.evs.emit('change', {});
69
+ }
70
+ removeOutput(node) {
71
+ this._output = this._output.filter((n) => n != node);
72
+ this.evs.emit('change', {});
73
+ }
74
+ }
75
+ exports.RelatedMediaNodes = RelatedMediaNodes;
76
+ class StudioNodeSubscriptionSource {
77
+ source;
78
+ sourceDescription;
79
+ streams;
80
+ sourceConfig;
81
+ contextChangeHandlers = [];
82
+ info;
83
+ accepted = new Map();
84
+ constructor(source, description, streams, info) {
85
+ this.sourceConfig = description.config;
86
+ this.sourceDescription = description;
87
+ this.source = source;
88
+ this.streams = streams;
89
+ this.info = info;
90
+ this.source.relatedMediaNodes.onChange(this.onSourceNodesChange.bind(this));
91
+ }
92
+ selectStreams(additional) {
93
+ return this.source.relatedMediaNodes.output.map((output) => {
94
+ return {
95
+ source: output,
96
+ sourceSelector: (streams) => {
97
+ const matching = this.filterStreams(streams.map((m) => ({ mediaNode: output, metadata: m })))
98
+ .map((m) => m.metadata);
99
+ if (additional) {
100
+ return additional(matching);
101
+ }
102
+ else {
103
+ return matching.map((m) => m.streamKey);
104
+ }
105
+ }
106
+ };
107
+ });
108
+ }
109
+ selectKeys(keys, additional) {
110
+ return this.source.relatedMediaNodes.output.map((output) => {
111
+ return {
112
+ source: output,
113
+ sourceSelector: (streams) => {
114
+ const matching = this.filterStreams(streams.map((m) => ({ mediaNode: output, metadata: m })), keys)
115
+ .map((m) => m.metadata);
116
+ if (additional) {
117
+ return additional(matching);
118
+ }
119
+ else {
120
+ return matching.map((m) => m.streamKey);
121
+ }
122
+ }
123
+ };
124
+ });
125
+ }
126
+ selectVideo() {
127
+ return this.selectStreams(norsk_sdk_1.selectVideo);
128
+ }
129
+ selectAudio() {
130
+ return this.selectStreams(norsk_sdk_1.selectAudio);
131
+ }
132
+ selectAV() {
133
+ return this.selectStreams(norsk_sdk_1.selectAV);
134
+ }
135
+ selectVideoForKey(key) {
136
+ return this.selectKeys([key], norsk_sdk_1.selectVideo);
137
+ }
138
+ selectAudioForKey(key) {
139
+ return this.selectKeys([key], norsk_sdk_1.selectAudio);
140
+ }
141
+ selectAVForKey(key) {
142
+ return this.selectKeys([key], norsk_sdk_1.selectAV);
143
+ }
144
+ selectStreamsToPin(p, additional, keys) {
145
+ return this.source.relatedMediaNodes.output.map((output) => {
146
+ return {
147
+ source: output,
148
+ sourceSelector: (streams) => {
149
+ const matching = this.filterStreams(streams.map((m) => ({ mediaNode: output, metadata: m })), keys)
150
+ .map((m) => m.metadata);
151
+ if (additional) {
152
+ return { [p]: additional(matching) };
153
+ }
154
+ else {
155
+ return {
156
+ [p]: matching.map((m) => m.streamKey)
157
+ };
158
+ }
159
+ }
160
+ };
161
+ });
162
+ }
163
+ selectVideoToPin(p) {
164
+ return this.selectStreamsToPin(p, norsk_sdk_1.selectVideo);
165
+ }
166
+ selectVideoToPinForKey(p, key) {
167
+ return this.selectStreamsToPin(p, norsk_sdk_1.selectVideo, [key]);
168
+ }
169
+ selectAudioToPin(p) {
170
+ return this.selectStreamsToPin(p, norsk_sdk_1.selectAudio);
171
+ }
172
+ selectAudioToPinForKey(p, key) {
173
+ return this.selectStreamsToPin(p, norsk_sdk_1.selectAudio, [key]);
174
+ }
175
+ selectAvToPin(p) {
176
+ return this.selectStreamsToPin(p, norsk_sdk_1.selectAV);
177
+ }
178
+ selectAvToPinForKey(p, key) {
179
+ return this.selectStreamsToPin(p, norsk_sdk_1.selectAV, [key]);
180
+ }
181
+ latestStreams() {
182
+ return this.filterStreams(this.source.relatedMediaNodes.output.flatMap((n => n.outputStreams.map((s) => ({ mediaNode: n, metadata: s })))));
183
+ }
184
+ filterStreams(streams, filterOverride) {
185
+ const output = this.source.relatedMediaNodes.output;
186
+ if (!output) {
187
+ console.warn("Missing output on subscription source", this.source.id);
188
+ return [];
189
+ }
190
+ const sType = this.streams.type;
191
+ switch (sType) {
192
+ case "take-all-streams": {
193
+ const media = this.streams.select;
194
+ const producer = this.info?.subscription.produces;
195
+ if (filterOverride && producer?.type == 'fixed-list') {
196
+ const needle = filterOverride ? filterOverride : this.activeSourceKeys();
197
+ (0, logging_1.sillylog)("Searching for filter keys in streams", { needle, streams: streams.map((m) => m.metadata.streamKey) });
198
+ const keys = producer.selector(needle, streams.map((s) => s.metadata), this.sourceConfig, this.sourceDescription.subscriptions);
199
+ return streams.filter((s) => s.metadata.streamKey && keys.find((k) => (0, norsk_sdk_1.streamKeysAreEqual)(k, s.metadata.streamKey)) && streamsOfMediaType(this.streams.select)(s.metadata));
200
+ }
201
+ else if (filterOverride) {
202
+ (0, logging_1.warninglog)("Component attempting to use filterovverride in filterStreams, but source is not a fixed-list", { source: this.source.id, component: this.info?.identifier });
203
+ }
204
+ return streams.filter((s) => streamsOfMediaType(media)(s.metadata));
205
+ }
206
+ case "take-first-stream": {
207
+ const media = this.streams.select;
208
+ for (const m of media) {
209
+ if (!this.accepted.get(m)) {
210
+ const matching = streams.find((s) => streamsOfMediaType([m])(s.metadata));
211
+ if (matching) {
212
+ (0, logging_1.sillylog)("TFS: Subscription accepting stream key from source", {
213
+ streamKey: matching.metadata.streamKey,
214
+ source: this.source.id,
215
+ media: m
216
+ });
217
+ this.accepted.set(m, matching);
218
+ }
219
+ continue;
220
+ }
221
+ if (this.accepted.get(m) && streams.find((s) => _streamKeysAreEqual(s.metadata.streamKey, this.accepted.get(m)?.metadata.streamKey))) {
222
+ continue;
223
+ }
224
+ const existing = this.accepted.get(m);
225
+ if (existing) {
226
+ (0, logging_1.sillylog)("TFS: Subscription removing stream key from source", {
227
+ streamKey: existing.metadata.streamKey,
228
+ source: this.source.id,
229
+ media: m
230
+ });
231
+ this.accepted.delete(m);
232
+ }
233
+ }
234
+ return [...this.accepted.values()];
235
+ }
236
+ case "take-specific-stream":
237
+ case "take-specific-streams": {
238
+ const producer = this.info?.subscription.produces;
239
+ if (producer?.type != 'fixed-list') {
240
+ (0, logging_1.errorlog)("Badly constructed subscription, fixed list not available", { producer, id: this.source.id });
241
+ return [];
242
+ }
243
+ const needle = filterOverride ? filterOverride : this.activeSourceKeys();
244
+ (0, logging_1.sillylog)("Searching for filter keys in streams", { needle, streams: streams.map((m) => m.metadata.streamKey) });
245
+ const keys = producer.selector(needle, streams.map((s) => s.metadata), this.sourceConfig, this.sourceDescription.subscriptions);
246
+ return streams.filter((s) => s.metadata.streamKey && keys.find((k) => (0, norsk_sdk_1.streamKeysAreEqual)(k, s.metadata.streamKey)) && streamsOfMediaType(this.streams.select)(s.metadata));
247
+ }
248
+ default:
249
+ (0, util_1.assertUnreachable)(sType);
250
+ }
251
+ }
252
+ onSourceNodesChange() {
253
+ this.contextChangeHandlers.forEach((h) => {
254
+ this.source.relatedMediaNodes.output.forEach((s) => s.registerForContextChange(h));
255
+ });
256
+ }
257
+ registerForContextChange(handler) {
258
+ this.source.relatedMediaNodes.output.forEach((s) => s.registerForContextChange(handler));
259
+ this.contextChangeHandlers.push(handler);
260
+ }
261
+ unregisterForContextChange(handler) {
262
+ this.source.relatedMediaNodes.output.forEach((s) => s.unregisterForContextChange(handler));
263
+ this.contextChangeHandlers = this.contextChangeHandlers.filter((h) => h !== handler);
264
+ }
265
+ _availableSourceKeys() {
266
+ const producer = this.info?.subscription.produces;
267
+ if (producer?.type != 'fixed-list') {
268
+ (0, logging_1.errorlog)("Badly constructed subscription, fixed list not available", { producer, id: this.source.id });
269
+ return [];
270
+ }
271
+ return producer.keys(this.sourceConfig, this.sourceDescription.subscriptions).map((s) => s.key);
272
+ }
273
+ activeSourceKeys() {
274
+ const producer = this.info?.subscription.produces;
275
+ if (producer?.type != 'fixed-list') {
276
+ (0, logging_1.errorlog)("Badly constructed subscription, fixed list not available", { producer, id: this.source.id });
277
+ return [];
278
+ }
279
+ const sType = this.streams.type;
280
+ switch (sType) {
281
+ case 'take-all-streams':
282
+ return this._availableSourceKeys();
283
+ case 'take-first-stream':
284
+ return this._availableSourceKeys().splice(0, 1);
285
+ case 'take-specific-stream':
286
+ return [this.streams.filter];
287
+ case 'take-specific-streams':
288
+ return this.streams.filter;
289
+ default:
290
+ (0, util_1.assertUnreachable)(sType);
291
+ }
292
+ }
293
+ }
294
+ exports.StudioNodeSubscriptionSource = StudioNodeSubscriptionSource;
295
+ function _streamKeysAreEqual(l, r) {
296
+ if (!l || !r)
297
+ return false;
298
+ return (0, norsk_sdk_1.streamKeysAreEqual)(l, r);
299
+ }
300
+ function makeRelativeToNode(fileName) {
301
+ if (!fileName) {
302
+ return fileName;
303
+ }
304
+ if (path.isAbsolute(fileName)) {
305
+ return fileName;
306
+ }
307
+ return path.resolve(fileName);
308
+ }
309
+ exports.makeRelativeToNode = makeRelativeToNode;
310
+ function streamsOfMediaType(media) {
311
+ return (value) => {
312
+ if (value.message.case == undefined)
313
+ return false;
314
+ return media.includes(value.message.case);
315
+ };
316
+ }
317
+ exports.streamsOfMediaType = streamsOfMediaType;
318
+ //# sourceMappingURL=runtime-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-types.js","sourceRoot":"","sources":["../../src/extension/runtime-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import * as Z from 'zod';
2
+ import { GlobalValidation, GlobalValidationUniqueKey } from './client-types';
3
+ export * as Z from 'zod';
4
+ export declare const Port: Z.ZodEffects<Z.ZodNumber, number, number>;
5
+ export declare const JitterBuffer: Z.ZodEffects<Z.ZodNumber, number, number>;
6
+ export declare const DelayOutputMs: Z.ZodEffects<Z.ZodNumber, number, number>;
7
+ export declare const IpAddress: Z.ZodString;
8
+ export declare const SrtStreamId: Z.ZodUnion<[Z.ZodString, Z.ZodEffects<Z.ZodString, string, string>]>;
9
+ export declare const SourceName: Z.ZodString;
10
+ export declare const IceServer: Z.ZodString;
11
+ export declare const SrtPassphrase: Z.ZodUnion<[Z.ZodString, Z.ZodString]>;
12
+ export declare const LanguageTagWithCountry: Z.ZodString;
13
+ export declare const LanguageTagOptionalCountry: Z.ZodString;
14
+ export declare const Hostname: Z.ZodString;
15
+ export declare const Iface: Z.ZodString;
16
+ export declare function unique<T>(key: GlobalValidationUniqueKey): GlobalValidation<T>;
@@ -0,0 +1,50 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.unique = exports.Iface = exports.Hostname = exports.LanguageTagOptionalCountry = exports.LanguageTagWithCountry = exports.SrtPassphrase = exports.IceServer = exports.SourceName = exports.SrtStreamId = exports.IpAddress = exports.DelayOutputMs = exports.JitterBuffer = exports.Port = exports.Z = void 0;
27
+ const Z = __importStar(require("zod"));
28
+ exports.Z = __importStar(require("zod"));
29
+ exports.Port = Z.number().int().refine((value) => value > 1023 && value < 65536, "Port must be a number between 1024 and 65536 inclusive");
30
+ exports.JitterBuffer = Z.number().refine((value) => value >= 0.0 && value < 10000.0, "Jitter buffer must be a positive amount between 0.0 and 10000.0ms");
31
+ exports.DelayOutputMs = Z.number().refine((value) => value >= 0.0 && value < 30000.0, "Output delay must be a positive amount between 0.0 and 30000.0ms");
32
+ exports.IpAddress = Z.string().ip({ version: 'v4' });
33
+ exports.SrtStreamId = Z.union([Z.string().length(0), Z.string().refine((_v) => {
34
+ return true;
35
+ })]);
36
+ exports.SourceName = Z.string().min(2).max(32);
37
+ exports.IceServer = Z.string().min(5).max(256).startsWith("stun:");
38
+ exports.SrtPassphrase = Z.union([Z.string().length(0), Z.string().min(10).max(255)]);
39
+ exports.LanguageTagWithCountry = Z.string().regex(/^[a-z]{2,3}-[A-Z]{2}$/, "Must be a language tag");
40
+ exports.LanguageTagOptionalCountry = Z.string().regex(/^[a-z]{2,3}(-[A-Z]{2})?$/, "Must be a language code/tag");
41
+ exports.Hostname = Z.string().min(2).max(2048);
42
+ exports.Iface = Z.string().min(1).max(32);
43
+ function unique(key) {
44
+ return {
45
+ key,
46
+ constraint: 'unique'
47
+ };
48
+ }
49
+ exports.unique = unique;
50
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/extension/validation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAwB;AAExB,yCAAwB;AAEX,QAAA,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,KAAK,EAAE,wDAAwD,CAAC,CAAA;AAC1I,QAAA,YAAY,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,IAAI,GAAG,IAAI,KAAK,GAAG,OAAO,EAAE,mEAAmE,CAAC,CAAA;AAEzJ,QAAA,aAAa,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,IAAI,GAAG,IAAI,KAAK,GAAG,OAAO,EAAE,kEAAkE,CAAC,CAAA;AAGzJ,QAAA,SAAS,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAE7C,QAAA,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;QACjF,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC,CAAC,CAAC;AAEQ,QAAA,UAAU,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACvC,QAAA,SAAS,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAE3D,QAAA,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAE7E,QAAA,sBAAsB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,uBAAuB,EAAE,wBAAwB,CAAC,CAAC;AAC7F,QAAA,0BAA0B,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,0BAA0B,EAAE,6BAA6B,CAAC,CAAC;AAEzG,QAAA,QAAQ,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAEvC,QAAA,KAAK,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAE/C,SAAgB,MAAM,CAAI,GAA8B;IACtD,OAAO;QACL,GAAG;QACH,UAAU,EAAE,QAAQ;KACrB,CAAA;AACH,CAAC;AALD,wBAKC"}
@@ -0,0 +1,2 @@
1
+ import { RuntimeSystem } from '../extension/runtime-system';
2
+ export default function registration(r: RuntimeSystem): Promise<void>;
@@ -0,0 +1,11 @@
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
+ const runtime_1 = __importDefault(require("../test/_util/runtime"));
7
+ async function registration(r) {
8
+ await (0, runtime_1.default)(r);
9
+ }
10
+ exports.default = registration;
11
+ //# sourceMappingURL=test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/library/test.ts"],"names":[],"mappings":";;;;;AACA,oEAA2D;AAE5C,KAAK,UAAU,YAAY,CAAC,CAAgB;IACzD,MAAM,IAAA,iBAAsB,EAAC,CAAC,CAAC,CAAC;AAClC,CAAC;AAFD,+BAEC"}