@soulcraft/sdk 2.0.1 → 2.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.
Files changed (92) hide show
  1. package/dist/client/index.d.ts +5 -38
  2. package/dist/client/index.d.ts.map +1 -1
  3. package/dist/client/index.js +5 -47
  4. package/dist/client/index.js.map +1 -1
  5. package/dist/client/namespace-proxy.d.ts +3 -4
  6. package/dist/client/namespace-proxy.d.ts.map +1 -1
  7. package/dist/client/namespace-proxy.js +3 -4
  8. package/dist/client/namespace-proxy.js.map +1 -1
  9. package/dist/index.d.ts +6 -6
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +4 -4
  12. package/dist/index.js.map +1 -1
  13. package/dist/modules/hall/admin.d.ts +39 -0
  14. package/dist/modules/hall/admin.d.ts.map +1 -0
  15. package/dist/modules/hall/admin.js +115 -0
  16. package/dist/modules/hall/admin.js.map +1 -0
  17. package/dist/modules/hall/browser.d.ts +83 -27
  18. package/dist/modules/hall/browser.d.ts.map +1 -1
  19. package/dist/modules/hall/browser.js +238 -49
  20. package/dist/modules/hall/browser.js.map +1 -1
  21. package/dist/modules/hall/media.d.ts +164 -0
  22. package/dist/modules/hall/media.d.ts.map +1 -0
  23. package/dist/modules/hall/media.js +182 -0
  24. package/dist/modules/hall/media.js.map +1 -0
  25. package/dist/modules/hall/server.d.ts +119 -6
  26. package/dist/modules/hall/server.d.ts.map +1 -1
  27. package/dist/modules/hall/server.js +299 -9
  28. package/dist/modules/hall/server.js.map +1 -1
  29. package/dist/modules/hall/types.d.ts +705 -25
  30. package/dist/modules/hall/types.d.ts.map +1 -1
  31. package/dist/modules/hall/types.js +12 -7
  32. package/dist/modules/hall/types.js.map +1 -1
  33. package/dist/server/hall-handlers.d.ts +60 -14
  34. package/dist/server/hall-handlers.d.ts.map +1 -1
  35. package/dist/server/hall-handlers.js +61 -12
  36. package/dist/server/hall-handlers.js.map +1 -1
  37. package/dist/server/hono-router.d.ts +2 -9
  38. package/dist/server/hono-router.d.ts.map +1 -1
  39. package/dist/server/hono-router.js +2 -46
  40. package/dist/server/hono-router.js.map +1 -1
  41. package/dist/server/index.d.ts +4 -19
  42. package/dist/server/index.d.ts.map +1 -1
  43. package/dist/server/index.js +10 -29
  44. package/dist/server/index.js.map +1 -1
  45. package/dist/types.d.ts +2 -41
  46. package/dist/types.d.ts.map +1 -1
  47. package/docs/ADR-005-hall-integration.md +449 -0
  48. package/package.json +1 -1
  49. package/dist/client/create-client-sdk.d.ts +0 -113
  50. package/dist/client/create-client-sdk.d.ts.map +0 -1
  51. package/dist/client/create-client-sdk.js +0 -169
  52. package/dist/client/create-client-sdk.js.map +0 -1
  53. package/dist/modules/app-context/index.d.ts +0 -214
  54. package/dist/modules/app-context/index.d.ts.map +0 -1
  55. package/dist/modules/app-context/index.js +0 -569
  56. package/dist/modules/app-context/index.js.map +0 -1
  57. package/dist/modules/billing/firestore-provider.d.ts +0 -60
  58. package/dist/modules/billing/firestore-provider.d.ts.map +0 -1
  59. package/dist/modules/billing/firestore-provider.js +0 -315
  60. package/dist/modules/billing/firestore-provider.js.map +0 -1
  61. package/dist/modules/brainy/proxy.d.ts +0 -48
  62. package/dist/modules/brainy/proxy.d.ts.map +0 -1
  63. package/dist/modules/brainy/proxy.js +0 -95
  64. package/dist/modules/brainy/proxy.js.map +0 -1
  65. package/dist/server/create-sdk.d.ts +0 -74
  66. package/dist/server/create-sdk.d.ts.map +0 -1
  67. package/dist/server/create-sdk.js +0 -104
  68. package/dist/server/create-sdk.js.map +0 -1
  69. package/dist/server/from-license.d.ts +0 -252
  70. package/dist/server/from-license.d.ts.map +0 -1
  71. package/dist/server/from-license.js +0 -349
  72. package/dist/server/from-license.js.map +0 -1
  73. package/dist/server/handlers.d.ts +0 -312
  74. package/dist/server/handlers.d.ts.map +0 -1
  75. package/dist/server/handlers.js +0 -376
  76. package/dist/server/handlers.js.map +0 -1
  77. package/dist/server/postmessage-handler.d.ts +0 -152
  78. package/dist/server/postmessage-handler.d.ts.map +0 -1
  79. package/dist/server/postmessage-handler.js +0 -138
  80. package/dist/server/postmessage-handler.js.map +0 -1
  81. package/dist/transports/http.d.ts +0 -86
  82. package/dist/transports/http.d.ts.map +0 -1
  83. package/dist/transports/http.js +0 -137
  84. package/dist/transports/http.js.map +0 -1
  85. package/dist/transports/postmessage.d.ts +0 -159
  86. package/dist/transports/postmessage.d.ts.map +0 -1
  87. package/dist/transports/postmessage.js +0 -207
  88. package/dist/transports/postmessage.js.map +0 -1
  89. package/dist/transports/workshop.d.ts +0 -173
  90. package/dist/transports/workshop.d.ts.map +0 -1
  91. package/dist/transports/workshop.js +0 -307
  92. package/dist/transports/workshop.js.map +0 -1
@@ -4,7 +4,8 @@
4
4
  *
5
5
  * `HallClient` maintains a single authenticated WebSocket connection from the product
6
6
  * backend to `hall.soulcraft.com`. All room management (createRoom, closeRoom, session
7
- * tokens, recording) goes through this connection.
7
+ * tokens, recording), pub/sub (topics, presence), broadcast control (promote/demote),
8
+ * and media pipeline notifications go through this connection.
8
9
  *
9
10
  * This module is **server-only** — it uses WebSocket, reconnect timers, and the
10
11
  * product shared secret, none of which should ever reach a browser bundle.
@@ -45,6 +46,13 @@ export class HallRoomImpl {
45
46
  peerJoined: new Set(),
46
47
  peerLeft: new Set(),
47
48
  recordingManifest: new Set(),
49
+ peerPromoted: new Set(),
50
+ peerDemoted: new Set(),
51
+ viewerCount: new Set(),
52
+ screenShareThumbnail: new Set(),
53
+ chatHistory: new Set(),
54
+ mediaReady: new Set(),
55
+ mediaError: new Set(),
48
56
  closed: new Set(),
49
57
  };
50
58
  constructor(roomId, sessionId) {
@@ -78,8 +86,9 @@ export class HallRoomImpl {
78
86
  * Product-backend WebSocket client for the Hall real-time communication server.
79
87
  *
80
88
  * Create one instance per product process. Maintains a single authenticated control-plane
81
- * WebSocket to `hall.soulcraft.com`. All room management and event routing goes through
82
- * this single connection — do not create multiple instances per product.
89
+ * WebSocket to `hall.soulcraft.com`. All room management, pub/sub, broadcast control,
90
+ * and event routing goes through this single connection — do not create multiple instances
91
+ * per product.
83
92
  *
84
93
  * Auto-reconnects on unexpected disconnect (configurable via `reconnectDelayMs`).
85
94
  * In-flight promises are rejected on disconnect; register `onReconnect` to re-create rooms.
@@ -98,8 +107,17 @@ export class HallClient {
98
107
  #pendingCloseRoom = new Map();
99
108
  #pendingSessionToken = new Map();
100
109
  #pendingRoomList = [];
110
+ #pendingPubsubToken = [];
101
111
  #disconnectListeners = new Set();
102
112
  #reconnectListeners = new Set();
113
+ #tokenRevokedListeners = new Set();
114
+ #pubsubListeners = {
115
+ topicSubscribed: new Set(),
116
+ topicUnsubscribed: new Set(),
117
+ topicMessage: new Set(),
118
+ presenceUpdate: new Set(),
119
+ presenceSnapshot: new Set(),
120
+ };
103
121
  /**
104
122
  * @param options - Connection options: url, productName, secret, and optional reconnectDelayMs.
105
123
  */
@@ -158,7 +176,7 @@ export class HallClient {
158
176
  * Create a new room on the Hall server.
159
177
  *
160
178
  * @param roomId - Unique room identifier (e.g. Brainy session entity ID).
161
- * @param options - Room configuration: peer limit, transcription, recording, concept list.
179
+ * @param options - Room configuration: peer limit, transcription, recording, broadcast, concept list.
162
180
  * @returns The HallRoom handle — register event listeners on it immediately.
163
181
  * @throws {Error} If a room with the same ID already exists or the server returns an error.
164
182
  */
@@ -202,6 +220,7 @@ export class HallClient {
202
220
  getRoom(roomId) {
203
221
  return this.#rooms.get(roomId);
204
222
  }
223
+ // ── Session tokens ─────────────────────────────────────────────────────────
205
224
  /**
206
225
  * Mint a short-lived HMAC session token for a browser peer.
207
226
  * Pass `{ token, hallUrl }` to the browser — **never** the product secret.
@@ -209,16 +228,18 @@ export class HallClient {
209
228
  * @param roomId - The room the browser peer will join.
210
229
  * @param peerId - The peer's unique identifier (e.g. authenticated user ID).
211
230
  * @param ttlSecs - Token lifetime in seconds (default: 300).
231
+ * @param role - Optional role hint: `"participant"`, `"viewer"`, or undefined (auto).
212
232
  * @returns `{ token, expiresAt }` — send `token` and `this.url` to the browser.
213
233
  */
214
- createSessionToken(roomId, peerId, ttlSecs) {
234
+ createSessionToken(roomId, peerId, ttlSecs, role) {
215
235
  this.#requireConnected();
216
236
  const key = `${roomId}:${peerId}`;
217
237
  return new Promise((resolve, reject) => {
218
238
  this.#pendingSessionToken.set(key, { resolve, reject });
219
- this.#send({ t: 'createSessionToken', d: { roomId, peerId, ttlSecs } });
239
+ this.#send({ t: 'createSessionToken', d: { roomId, peerId, ttlSecs, role } });
220
240
  });
221
241
  }
242
+ // ── Recording ──────────────────────────────────────────────────────────────
222
243
  /**
223
244
  * Start per-track MKV recording for an active room.
224
245
  * The room emits `recordingManifest` when `stopRecording` is called.
@@ -228,8 +249,6 @@ export class HallClient {
228
249
  startRecording(roomId) {
229
250
  this.#requireConnected();
230
251
  return new Promise((resolve, _reject) => {
231
- // Hall sends `recordingStarted` as an informational ack — errors arrive as
232
- // t:'error' messages and are routed to #rejectFirstPending.
233
252
  this.#send({ t: 'startRecording', d: { roomId } });
234
253
  resolve();
235
254
  });
@@ -247,6 +266,196 @@ export class HallClient {
247
266
  resolve();
248
267
  });
249
268
  }
269
+ // ── Pub/Sub ────────────────────────────────────────────────────────────────
270
+ /**
271
+ * Subscribe to a pub/sub topic. Topics are product-scoped.
272
+ *
273
+ * @param topic - Topic name to subscribe to.
274
+ * @param metadata - Optional presence metadata visible to other subscribers.
275
+ */
276
+ subscribeTopic(topic, metadata) {
277
+ this.#requireConnected();
278
+ this.#send({ t: 'subscribeTopic', d: { topic, metadata } });
279
+ }
280
+ /**
281
+ * Unsubscribe from a pub/sub topic.
282
+ *
283
+ * @param topic - Topic name to unsubscribe from.
284
+ */
285
+ unsubscribeTopic(topic) {
286
+ this.#requireConnected();
287
+ this.#send({ t: 'unsubscribeTopic', d: { topic } });
288
+ }
289
+ /**
290
+ * Broadcast a message to all subscribers of a pub/sub topic.
291
+ *
292
+ * @param topic - Topic to broadcast to.
293
+ * @param payload - Arbitrary JSON payload delivered to all subscribers.
294
+ */
295
+ broadcastTopic(topic, payload) {
296
+ this.#requireConnected();
297
+ this.#send({ t: 'broadcastTopic', d: { topic, payload } });
298
+ }
299
+ /**
300
+ * Request a snapshot of all current subscribers on a topic.
301
+ *
302
+ * @param topic - Topic to query presence for.
303
+ */
304
+ getPresence(topic) {
305
+ this.#requireConnected();
306
+ this.#send({ t: 'getPresence', d: { topic } });
307
+ }
308
+ /**
309
+ * Register a listener for pub/sub events on the product connection.
310
+ *
311
+ * @param event - The pub/sub event name.
312
+ * @param listener - Callback invoked with the typed event payload.
313
+ */
314
+ onPubsub(event, listener) {
315
+ ;
316
+ this.#pubsubListeners[event].add(listener);
317
+ }
318
+ /**
319
+ * Issue a browser pub/sub token.
320
+ *
321
+ * @param peerId - Peer ID the token is issued for.
322
+ * @param allowedTopics - Optional topic whitelist.
323
+ * @param ttlSecs - Token lifetime in seconds (default: 300).
324
+ * @returns `{ token, expiresAt }`.
325
+ */
326
+ createPubsubToken(peerId, allowedTopics, ttlSecs) {
327
+ this.#requireConnected();
328
+ return new Promise((resolve, reject) => {
329
+ this.#pendingPubsubToken.push({ resolve, reject });
330
+ this.#send({ t: 'createPubsubToken', d: { peerId, allowedTopics, ttlSecs } });
331
+ });
332
+ }
333
+ // ── Broadcast control ──────────────────────────────────────────────────────
334
+ /**
335
+ * Promote a viewer to a full bidirectional participant.
336
+ *
337
+ * @param roomId - Room containing the peer.
338
+ * @param peerId - Peer ID to promote.
339
+ */
340
+ promotePeer(roomId, peerId) {
341
+ this.#requireConnected();
342
+ this.#send({ t: 'promotePeer', d: { roomId, peerId } });
343
+ }
344
+ /**
345
+ * Demote a participant to a receive-only viewer.
346
+ *
347
+ * @param roomId - Room containing the peer.
348
+ * @param peerId - Peer ID to demote.
349
+ */
350
+ demotePeer(roomId, peerId) {
351
+ this.#requireConnected();
352
+ this.#send({ t: 'demotePeer', d: { roomId, peerId } });
353
+ }
354
+ // ── Screen sharing ─────────────────────────────────────────────────────────
355
+ /**
356
+ * Set the screen share simulcast strategy for a peer.
357
+ *
358
+ * @param roomId - Room containing the screensharing peer.
359
+ * @param peerId - Peer sharing their screen.
360
+ * @param mode - `"static"` (resolution) or `"motion"` (framerate).
361
+ */
362
+ setScreenShareMode(roomId, peerId, mode) {
363
+ this.#requireConnected();
364
+ this.#send({ t: 'setScreenShareMode', d: { roomId, peerId, mode } });
365
+ }
366
+ // ── Chat history ───────────────────────────────────────────────────────────
367
+ /**
368
+ * Request historical chat messages for a room.
369
+ *
370
+ * @param roomId - Room to get chat history for.
371
+ * @param lastN - Maximum number of recent messages to return.
372
+ */
373
+ getChatHistory(roomId, lastN) {
374
+ this.#requireConnected();
375
+ this.#send({ t: 'getChatHistory', d: { roomId, lastN } });
376
+ }
377
+ // ── Token revocation ──────────────────────────────────────────────────────
378
+ /**
379
+ * Revoke a session token. The token becomes invalid immediately.
380
+ *
381
+ * @param token - The session token string to revoke.
382
+ */
383
+ revokeToken(token) {
384
+ this.#requireConnected();
385
+ this.#send({ t: 'revokeToken', d: { token } });
386
+ }
387
+ /**
388
+ * Register a listener for token revocation confirmations.
389
+ *
390
+ * @param listener - Called with the token hash on confirmation.
391
+ */
392
+ onTokenRevoked(listener) {
393
+ this.#tokenRevokedListeners.add(listener);
394
+ }
395
+ // ── WHIP ingestion ────────────────────────────────────────────────────────
396
+ /**
397
+ * Create a WHIP ingest session for an external publisher.
398
+ * Uses HTTP POST to `/whip/{roomId}` with the product secret.
399
+ *
400
+ * @param roomId - Room to publish into.
401
+ * @param sdpOffer - Raw SDP offer from the publisher.
402
+ * @returns WHIP session with resourceId and answerSdp.
403
+ */
404
+ async createWhipSession(roomId, sdpOffer) {
405
+ const httpUrl = this.url.replace(/^ws/, 'http');
406
+ const res = await fetch(`${httpUrl}/whip/${encodeURIComponent(roomId)}`, {
407
+ method: 'POST',
408
+ headers: {
409
+ 'Content-Type': 'application/sdp',
410
+ 'Authorization': `Bearer ${this.#secret}`,
411
+ },
412
+ body: sdpOffer,
413
+ });
414
+ if (!res.ok) {
415
+ throw new Error(`WHIP offer failed: ${res.status} ${await res.text()}`);
416
+ }
417
+ const location = res.headers.get('Location') ?? '';
418
+ const resourceId = location.split('/').pop() ?? '';
419
+ const answerSdp = await res.text();
420
+ // Extract peer ID from the session (Hall generates whip-{uuid}).
421
+ const peerId = `whip-${resourceId}`;
422
+ return { resourceId, answerSdp, roomId, peerId };
423
+ }
424
+ /**
425
+ * Send a trickle ICE candidate to an active WHIP session.
426
+ *
427
+ * @param roomId - Room the WHIP session belongs to.
428
+ * @param resourceId - Resource ID from createWhipSession.
429
+ * @param candidate - ICE candidate in trickle-ice-sdpfrag format.
430
+ */
431
+ async addWhipIceCandidate(roomId, resourceId, candidate) {
432
+ const httpUrl = this.url.replace(/^ws/, 'http');
433
+ const res = await fetch(`${httpUrl}/whip/${encodeURIComponent(roomId)}/${encodeURIComponent(resourceId)}`, {
434
+ method: 'PATCH',
435
+ headers: {
436
+ 'Content-Type': 'application/trickle-ice-sdpfrag',
437
+ },
438
+ body: candidate,
439
+ });
440
+ if (!res.ok) {
441
+ throw new Error(`WHIP ICE failed: ${res.status} ${await res.text()}`);
442
+ }
443
+ }
444
+ /**
445
+ * Tear down a WHIP session and remove the publisher peer.
446
+ *
447
+ * @param roomId - Room the WHIP session belongs to.
448
+ * @param resourceId - Resource ID from createWhipSession.
449
+ */
450
+ async closeWhipSession(roomId, resourceId) {
451
+ const httpUrl = this.url.replace(/^ws/, 'http');
452
+ const res = await fetch(`${httpUrl}/whip/${encodeURIComponent(roomId)}/${encodeURIComponent(resourceId)}`, {
453
+ method: 'DELETE',
454
+ });
455
+ if (!res.ok) {
456
+ throw new Error(`WHIP delete failed: ${res.status} ${await res.text()}`);
457
+ }
458
+ }
250
459
  // ── Private: socket management ─────────────────────────────────────────────
251
460
  #openSocket() {
252
461
  const ws = new WebSocket(`${this.url}/ws/product`);
@@ -313,6 +522,17 @@ export class HallClient {
313
522
  throw new Error('Hall: not authenticated — await hall.connect() first');
314
523
  }
315
524
  }
525
+ // ── Private: pub/sub event dispatch ────────────────────────────────────────
526
+ #dispatchPubsub(event, payload) {
527
+ for (const listener of this.#pubsubListeners[event]) {
528
+ try {
529
+ listener(payload);
530
+ }
531
+ catch (e) {
532
+ console.error(`[Hall] uncaught error in pubsub '${event}' listener:`, e);
533
+ }
534
+ }
535
+ }
316
536
  // ── Private: message routing ───────────────────────────────────────────────
317
537
  #handleMessage(msg) {
318
538
  switch (msg.t) {
@@ -367,6 +587,7 @@ export class HallClient {
367
587
  console.warn(`[Hall] server error ${msg.d.code}: ${msg.d.message}`);
368
588
  this.#rejectFirstPending(new Error(msg.d.message));
369
589
  break;
590
+ // ── Room events ──────────────────────────────────────────────────────
370
591
  case 'transcript':
371
592
  this.#dispatchRoomEvent(msg.d.roomId, 'transcript', msg.d);
372
593
  break;
@@ -388,6 +609,64 @@ export class HallClient {
388
609
  case 'recordingManifest':
389
610
  this.#dispatchRoomEvent(msg.d.roomId, 'recordingManifest', msg.d.manifest);
390
611
  break;
612
+ case 'peerPromoted':
613
+ this.#dispatchRoomEvent(msg.d.roomId, 'peerPromoted', msg.d);
614
+ break;
615
+ case 'peerDemoted':
616
+ this.#dispatchRoomEvent(msg.d.roomId, 'peerDemoted', msg.d);
617
+ break;
618
+ case 'viewerCount':
619
+ this.#dispatchRoomEvent(msg.d.roomId, 'viewerCount', msg.d);
620
+ break;
621
+ case 'screenShareThumbnail':
622
+ this.#dispatchRoomEvent(msg.d.roomId, 'screenShareThumbnail', msg.d);
623
+ break;
624
+ case 'chatHistory':
625
+ this.#dispatchRoomEvent(msg.d.roomId, 'chatHistory', msg.d);
626
+ break;
627
+ case 'mediaReady':
628
+ // Media events are room-scoped — dispatch to all rooms (media is product-level).
629
+ // Products typically only have one active room per media upload, so this is fine.
630
+ for (const room of this.#rooms.values()) {
631
+ room._dispatch('mediaReady', msg.d);
632
+ }
633
+ break;
634
+ case 'mediaError':
635
+ for (const room of this.#rooms.values()) {
636
+ room._dispatch('mediaError', msg.d);
637
+ }
638
+ break;
639
+ // ── Pub/Sub events ───────────────────────────────────────────────────
640
+ case 'topicSubscribed':
641
+ this.#dispatchPubsub('topicSubscribed', msg.d);
642
+ break;
643
+ case 'topicUnsubscribed':
644
+ this.#dispatchPubsub('topicUnsubscribed', msg.d);
645
+ break;
646
+ case 'topicMessage':
647
+ this.#dispatchPubsub('topicMessage', msg.d);
648
+ break;
649
+ case 'presenceUpdate':
650
+ this.#dispatchPubsub('presenceUpdate', msg.d);
651
+ break;
652
+ case 'presenceSnapshot':
653
+ this.#dispatchPubsub('presenceSnapshot', msg.d);
654
+ break;
655
+ case 'pubsubToken': {
656
+ const pending = this.#pendingPubsubToken.shift();
657
+ pending?.resolve({ token: msg.d.token, expiresAt: msg.d.expiresAt });
658
+ break;
659
+ }
660
+ case 'tokenRevoked':
661
+ for (const listener of this.#tokenRevokedListeners) {
662
+ try {
663
+ listener(msg.d);
664
+ }
665
+ catch (e) {
666
+ console.error('[Hall] uncaught error in tokenRevoked listener:', e);
667
+ }
668
+ }
669
+ break;
391
670
  case 'recordingStarted':
392
671
  case 'dataSent':
393
672
  // Informational acks — no pending promise to resolve.
@@ -412,6 +691,8 @@ export class HallClient {
412
691
  this.#pendingSessionToken.clear();
413
692
  this.#pendingRoomList.forEach((p) => p.reject(err));
414
693
  this.#pendingRoomList.length = 0;
694
+ this.#pendingPubsubToken.forEach((p) => p.reject(err));
695
+ this.#pendingPubsubToken.length = 0;
415
696
  }
416
697
  #rejectFirstPending(err) {
417
698
  for (const [key, p] of this.#pendingCreateRoom) {
@@ -429,7 +710,16 @@ export class HallClient {
429
710
  p.reject(err);
430
711
  return;
431
712
  }
432
- this.#pendingRoomList.shift()?.reject(err);
713
+ const listPending = this.#pendingRoomList.shift();
714
+ if (listPending) {
715
+ listPending.reject(err);
716
+ return;
717
+ }
718
+ const pubsubPending = this.#pendingPubsubToken.shift();
719
+ if (pubsubPending) {
720
+ pubsubPending.reject(err);
721
+ return;
722
+ }
433
723
  }
434
724
  }
435
725
  // ─── Factory ──────────────────────────────────────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/modules/hall/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/modules/hall/server.ts"],"names":[],"mappings":"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"}