@voxagent/bridge 0.4.1 → 0.6.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 (63) hide show
  1. package/README.md +32 -0
  2. package/dist/cli.js +44 -7
  3. package/dist/cli.js.map +1 -1
  4. package/dist/config.d.ts +15 -1
  5. package/dist/config.d.ts.map +1 -1
  6. package/dist/config.js +15 -1
  7. package/dist/config.js.map +1 -1
  8. package/dist/drivers/claude.d.ts +8 -0
  9. package/dist/drivers/claude.d.ts.map +1 -1
  10. package/dist/drivers/claude.js +105 -32
  11. package/dist/drivers/claude.js.map +1 -1
  12. package/dist/drivers/codex.js +1 -1
  13. package/dist/drivers/codex.js.map +1 -1
  14. package/dist/drivers/inbox.d.ts +26 -0
  15. package/dist/drivers/inbox.d.ts.map +1 -0
  16. package/dist/drivers/inbox.js +53 -0
  17. package/dist/drivers/inbox.js.map +1 -0
  18. package/dist/drivers/types.d.ts +9 -0
  19. package/dist/drivers/types.d.ts.map +1 -1
  20. package/dist/history.d.ts +31 -0
  21. package/dist/history.d.ts.map +1 -0
  22. package/dist/history.js +170 -0
  23. package/dist/history.js.map +1 -0
  24. package/dist/live/frontend.d.ts +136 -0
  25. package/dist/live/frontend.d.ts.map +1 -0
  26. package/dist/live/frontend.js +529 -0
  27. package/dist/live/frontend.js.map +1 -0
  28. package/dist/live/mixer.d.ts +38 -0
  29. package/dist/live/mixer.d.ts.map +1 -0
  30. package/dist/live/mixer.js +113 -0
  31. package/dist/live/mixer.js.map +1 -0
  32. package/dist/live/pcm.d.ts +34 -0
  33. package/dist/live/pcm.d.ts.map +1 -0
  34. package/dist/live/pcm.js +66 -0
  35. package/dist/live/pcm.js.map +1 -0
  36. package/dist/live/prompts.d.ts +65 -0
  37. package/dist/live/prompts.d.ts.map +1 -0
  38. package/dist/live/prompts.js +148 -0
  39. package/dist/live/prompts.js.map +1 -0
  40. package/dist/live/session.d.ts +132 -0
  41. package/dist/live/session.d.ts.map +1 -0
  42. package/dist/live/session.js +300 -0
  43. package/dist/live/session.js.map +1 -0
  44. package/dist/live/speakers.d.ts +54 -0
  45. package/dist/live/speakers.d.ts.map +1 -0
  46. package/dist/live/speakers.js +138 -0
  47. package/dist/live/speakers.js.map +1 -0
  48. package/dist/live/transcript.d.ts +40 -0
  49. package/dist/live/transcript.d.ts.map +1 -0
  50. package/dist/live/transcript.js +72 -0
  51. package/dist/live/transcript.js.map +1 -0
  52. package/dist/protocol.d.ts +63 -4
  53. package/dist/protocol.d.ts.map +1 -1
  54. package/dist/protocol.js.map +1 -1
  55. package/dist/room.d.ts +25 -0
  56. package/dist/room.d.ts.map +1 -1
  57. package/dist/room.js +218 -5
  58. package/dist/room.js.map +1 -1
  59. package/dist/version.d.ts +8 -0
  60. package/dist/version.d.ts.map +1 -0
  61. package/dist/version.js +19 -0
  62. package/dist/version.js.map +1 -0
  63. package/package.json +5 -2
@@ -0,0 +1,40 @@
1
+ /**
2
+ * @file What GPT-Live heard and said, grouped into speaker-labelled lines.
3
+ *
4
+ * GPT-Live's `session.delegation.created` carries an ID and a timestamp but
5
+ * no task text — the app is expected to work out the request from the
6
+ * transcript. This keeps GPT-Live's own input/output transcript fragments
7
+ * (session-timeline timestamps, no speaker labels), labels input fragments
8
+ * with the speaker tracker's best guess, and renders them as lines for the
9
+ * backend prompt and for reseeding a replacement session.
10
+ */
11
+ export type LiveLineRole = 'room' | 'assistant';
12
+ export interface LiveTranscriptLine {
13
+ role: LiveLineRole;
14
+ /** Display name for room lines; null when nobody could be identified. */
15
+ speaker: string | null;
16
+ text: string;
17
+ startMs: number;
18
+ endMs: number;
19
+ }
20
+ export declare class LiveTranscript {
21
+ private lines;
22
+ addFragment(role: LiveLineRole, speaker: string | null, delta: string, startMs: number, endMs: number): void;
23
+ /** Lines that ended after `sinceMs`, oldest first. */
24
+ linesSince(sinceMs: number): LiveTranscriptLine[];
25
+ recent(count: number): LiveTranscriptLine[];
26
+ get size(): number;
27
+ clear(): void;
28
+ }
29
+ /**
30
+ * The slice of the conversation a delegation is about: everything since
31
+ * shortly before the previous hand-off (at least a few lines), and the
32
+ * last identified room speaker as the likely requester.
33
+ */
34
+ export declare function pickDelegationContext(transcript: LiveTranscript, previousDelegationMs: number, offsetMs: number): {
35
+ heard: LiveTranscriptLine[];
36
+ requester: string | null;
37
+ };
38
+ /** One line as plain text, e.g. `Kay: can you check the build`. */
39
+ export declare function formatLine(line: LiveTranscriptLine, assistantName: string): string;
40
+ //# sourceMappingURL=transcript.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transcript.d.ts","sourceRoot":"","sources":["../../src/live/transcript.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,WAAW,CAAC;AAEhD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,YAAY,CAAC;IACnB,yEAAyE;IACzE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAMD,qBAAa,cAAc;IACzB,OAAO,CAAC,KAAK,CAA4B;IAEzC,WAAW,CACT,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,IAAI;IAmBP,sDAAsD;IACtD,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,EAAE;IAIjD,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB,EAAE;IAI3C,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,KAAK,IAAI,IAAI;CAGd;AAMD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,cAAc,EAC1B,oBAAoB,EAAE,MAAM,EAC5B,QAAQ,EAAE,MAAM,GACf;IAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAM3D;AAED,mEAAmE;AACnE,wBAAgB,UAAU,CAAC,IAAI,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAGlF"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * @file What GPT-Live heard and said, grouped into speaker-labelled lines.
3
+ *
4
+ * GPT-Live's `session.delegation.created` carries an ID and a timestamp but
5
+ * no task text — the app is expected to work out the request from the
6
+ * transcript. This keeps GPT-Live's own input/output transcript fragments
7
+ * (session-timeline timestamps, no speaker labels), labels input fragments
8
+ * with the speaker tracker's best guess, and renders them as lines for the
9
+ * backend prompt and for reseeding a replacement session.
10
+ */
11
+ /** A pause this long between fragments starts a new line. */
12
+ const LINE_GAP_MS = 1500;
13
+ const MAX_LINES = 400;
14
+ export class LiveTranscript {
15
+ lines = [];
16
+ addFragment(role, speaker, delta, startMs, endMs) {
17
+ if (!delta)
18
+ return;
19
+ // Continue the latest line from the same source unless there was a
20
+ // pause. Fragments from the other role may interleave (full duplex),
21
+ // so look back for this role's newest line rather than only the last.
22
+ for (let i = this.lines.length - 1; i >= 0; i--) {
23
+ const line = this.lines[i];
24
+ if (line.role !== role)
25
+ continue;
26
+ if (line.speaker === speaker && startMs - line.endMs < LINE_GAP_MS) {
27
+ line.text += delta;
28
+ line.endMs = Math.max(line.endMs, endMs);
29
+ return;
30
+ }
31
+ break;
32
+ }
33
+ this.lines.push({ role, speaker, text: delta, startMs, endMs });
34
+ if (this.lines.length > MAX_LINES)
35
+ this.lines.splice(0, this.lines.length - MAX_LINES);
36
+ }
37
+ /** Lines that ended after `sinceMs`, oldest first. */
38
+ linesSince(sinceMs) {
39
+ return this.lines.filter((line) => line.endMs > sinceMs);
40
+ }
41
+ recent(count) {
42
+ return this.lines.slice(-count);
43
+ }
44
+ get size() {
45
+ return this.lines.length;
46
+ }
47
+ clear() {
48
+ this.lines = [];
49
+ }
50
+ }
51
+ /** Overlap with the previous hand-off, so a correction keeps its context. */
52
+ const DELEGATION_OVERLAP_MS = 8_000;
53
+ const MIN_HEARD_LINES = 6;
54
+ /**
55
+ * The slice of the conversation a delegation is about: everything since
56
+ * shortly before the previous hand-off (at least a few lines), and the
57
+ * last identified room speaker as the likely requester.
58
+ */
59
+ export function pickDelegationContext(transcript, previousDelegationMs, offsetMs) {
60
+ const since = Math.max(0, Math.min(previousDelegationMs, offsetMs) - DELEGATION_OVERLAP_MS);
61
+ let heard = transcript.linesSince(since);
62
+ if (heard.length < MIN_HEARD_LINES)
63
+ heard = transcript.recent(MIN_HEARD_LINES);
64
+ const lastRoomLine = [...heard].reverse().find((line) => line.role === 'room' && line.speaker);
65
+ return { heard, requester: lastRoomLine?.speaker ?? null };
66
+ }
67
+ /** One line as plain text, e.g. `Kay: can you check the build`. */
68
+ export function formatLine(line, assistantName) {
69
+ const who = line.role === 'assistant' ? `${assistantName} (voice assistant)` : line.speaker ?? 'Someone';
70
+ return `${who}: ${line.text.trim()}`;
71
+ }
72
+ //# sourceMappingURL=transcript.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transcript.js","sourceRoot":"","sources":["../../src/live/transcript.ts"],"names":[],"mappings":"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"}
@@ -58,7 +58,9 @@ export interface CapabilitiesInfo {
58
58
  * (bridges >= 0.4.0). Browsers then publish every local final as
59
59
  * `transcript.final` instead of running the wake regex themselves.
60
60
  * `jev` = TypeSafe classifier, `regex` = ported wake-phrase fallback
61
- * (no TypeSafe key on the host), `shadow` = regex decides, jev is logged.
61
+ * (no TypeSafe key on the host), `shadow` = regex decides, jev is logged,
62
+ * `live` = GPT-Live hears the room itself and decides (`--voice-mode
63
+ * live`); browsers still forward finals as speaker-labelled context.
62
64
  * Absent on older bridges — the browser keeps the legacy
63
65
  * `prompt.user_turn` path.
64
66
  */
@@ -66,7 +68,7 @@ export interface CapabilitiesInfo {
66
68
  mode: TriggerMode;
67
69
  };
68
70
  }
69
- export type TriggerMode = 'jev' | 'regex' | 'shadow';
71
+ export type TriggerMode = 'jev' | 'regex' | 'shadow' | 'live';
70
72
  export interface BridgeHelloEvent {
71
73
  type: 'bridge.hello';
72
74
  protocolVersion: typeof PROTOCOL_VERSION;
@@ -230,7 +232,60 @@ export interface AgentTriggerDecisionEvent {
230
232
  /** In shadow mode: what jev would have done while the regex decided. */
231
233
  shadowAction?: TriggerActionKind;
232
234
  }
233
- export type BridgeOutboundEvent = BridgeHelloEvent | BridgeByeEvent | AgentRunStartEvent | AgentTextDeltaEvent | AgentTextDoneEvent | AgentToolUseStartEvent | AgentToolUseProgressEvent | AgentToolUseEndEvent | AgentThinkingDeltaEvent | AgentRunEndEvent | AgentUsageEvent | AgentPermissionRequestEvent | AgentPermissionResolvedEvent | AgentAttentionEvent | AgentTriggerDecisionEvent;
235
+ /** A tool call as the agent panel's Activity tab shows it. */
236
+ export interface SnapshotTool {
237
+ runId: string;
238
+ toolUseId: string;
239
+ name: string;
240
+ /** Large values arrive truncated to a string. */
241
+ input: unknown;
242
+ status: 'running' | 'success' | 'error';
243
+ output: unknown;
244
+ latencyMs?: number;
245
+ startedAtMs: number;
246
+ }
247
+ /** The run in flight when the snapshot was taken. */
248
+ export interface SnapshotRun {
249
+ runId: string;
250
+ promptId: string;
251
+ startedAtMs: number;
252
+ /** Text the agent has written so far in this run. */
253
+ text: string;
254
+ /** `speaking` = writing text (spoken aloud under TTS, not under GPT-Live). */
255
+ status: 'thinking' | 'speaking' | 'acting';
256
+ model?: string;
257
+ effort?: number;
258
+ }
259
+ export interface SnapshotPermission extends Omit<AgentPermissionRequestEvent, 'type'> {
260
+ createdAtMs: number;
261
+ }
262
+ /**
263
+ * Everything the agent panel shows, sent to one browser that asked for it
264
+ * with `bridge.snapshot_request` — after a refresh or a late join, when it
265
+ * missed the live events. Budgeted to fit one data-channel message.
266
+ */
267
+ export interface BridgeSnapshotEvent {
268
+ type: 'bridge.snapshot';
269
+ /** The requester's identity; any other browser ignores the snapshot. */
270
+ forIdentity: string;
271
+ /** Finished replies, oldest first. */
272
+ responses: {
273
+ runId: string;
274
+ text: string;
275
+ createdAtMs: number;
276
+ }[];
277
+ activeRun: SnapshotRun | null;
278
+ /** Tool calls, oldest first. */
279
+ tools: SnapshotTool[];
280
+ usage: {
281
+ inputTokens: number;
282
+ outputTokens: number;
283
+ cachedInputTokens: number;
284
+ runs: number;
285
+ };
286
+ pendingPermissions: SnapshotPermission[];
287
+ }
288
+ export type BridgeOutboundEvent = BridgeHelloEvent | BridgeByeEvent | AgentRunStartEvent | AgentTextDeltaEvent | AgentTextDoneEvent | AgentToolUseStartEvent | AgentToolUseProgressEvent | AgentToolUseEndEvent | AgentThinkingDeltaEvent | AgentRunEndEvent | AgentUsageEvent | AgentPermissionRequestEvent | AgentPermissionResolvedEvent | AgentAttentionEvent | AgentTriggerDecisionEvent | BridgeSnapshotEvent;
234
289
  export interface PromptUserTurnEvent {
235
290
  type: 'prompt.user_turn';
236
291
  promptId: string;
@@ -308,7 +363,11 @@ export interface PermissionResponseEvent {
308
363
  requestId: string;
309
364
  decision: 'allow' | 'deny';
310
365
  }
311
- export type BridgeInboundEvent = PromptUserTurnEvent | PromptInterruptEvent | PromptCancelPendingEvent | PermissionResponseEvent | TranscriptFinalEvent | TranscriptActivityEvent | NudgeResponseEvent;
366
+ /** A browser that just (re)joined asks the bridge for `bridge.snapshot`. Bridges >= 0.6.0. */
367
+ export interface BridgeSnapshotRequestEvent {
368
+ type: 'bridge.snapshot_request';
369
+ }
370
+ export type BridgeInboundEvent = BridgeSnapshotRequestEvent | PromptUserTurnEvent | PromptInterruptEvent | PromptCancelPendingEvent | PermissionResponseEvent | TranscriptFinalEvent | TranscriptActivityEvent | NudgeResponseEvent;
312
371
  export type BridgeEvent = BridgeOutboundEvent | BridgeInboundEvent;
313
372
  /**
314
373
  * Encodes an event for transmission over the LiveKit data channel.
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAU,CAAC;AAE3C;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,iBAA0B,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,QAAiB,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,OAAO,GAAG,qBAAqB,GAAG,MAAM,EAAE,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,OAAO,QAAQ,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;AACpD,CAAC;AAwVD;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAkB;IAClD,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAmB;IACnD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAuB,CAAC;QACtD,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACjD,OAAO,MAAqB,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAU,CAAC;AAE3C;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,iBAA0B,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,QAAiB,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,OAAO,GAAG,qBAAqB,GAAG,MAAM,EAAE,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,OAAO,QAAQ,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;AACpD,CAAC;AAiZD;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAkB;IAClD,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAmB;IACnD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAuB,CAAC;QACtD,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACjD,OAAO,MAAqB,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
package/dist/room.d.ts CHANGED
@@ -10,6 +10,10 @@
10
10
  * - data channel (text deltas, tool events) for UI
11
11
  * - TTS engine (text deltas) → AudioSource (PCM frames) for voice
12
12
  * - cloud action ingest (tool start/end) for the persisted timeline
13
+ *
14
+ * `--voice-mode live` swaps steps 2 and 4: GPT-Live (live/frontend.ts)
15
+ * hears the room and speaks, and its delegations become the prompts. Run
16
+ * text then goes back to GPT-Live as context instead of into TTS.
13
17
  */
14
18
  import type { BridgeConfig } from './config.js';
15
19
  import type { AgentDriver } from './drivers/index.js';
@@ -52,10 +56,29 @@ export declare class BridgeRoomRuntime {
52
56
  */
53
57
  private trigger;
54
58
  private jev;
59
+ /** GPT-Live voice front end under `--voice-mode live`; replaces TTS + trigger. */
60
+ private live;
61
+ /** promptId → GPT-Live delegation ID, for runs a delegation started. */
62
+ private delegationByPrompt;
63
+ /** What the agent panel has shown, replayed to browsers that refresh or join late. */
64
+ private readonly history;
55
65
  constructor(options: RoomRuntimeOptions);
56
66
  private createTriggerEngine;
57
67
  start(): Promise<void>;
58
68
  shutdown(reason?: 'shutdown' | 'error'): Promise<void>;
69
+ private startLiveVoice;
70
+ private handleMetadataChanged;
71
+ private applyMuteFromMetadata;
72
+ /**
73
+ * GPT-Live handed off a task. Idle agent: a new run. Agent already
74
+ * working: the hand-off goes into that run as a new message and the agent
75
+ * decides what it means (a correction, a separate request to do next, or
76
+ * "stop") — nothing is cancelled. Backends that can't take mid-run input
77
+ * (Codex), or a run that is already wrapping up, queue it instead.
78
+ */
79
+ private startDelegatedRun;
80
+ /** Live mode: hand the settled run's reply back to GPT-Live to speak. */
81
+ private reportLiveOutcome;
59
82
  private handleDisconnect;
60
83
  private handleDataReceived;
61
84
  /**
@@ -99,6 +122,8 @@ export declare class BridgeRoomRuntime {
99
122
  private runPrompt;
100
123
  private pumpAudio;
101
124
  private handleDriverEvent;
125
+ /** Replays the panel's state to one browser (refresh / late join). */
126
+ private sendSnapshot;
102
127
  private publishEvent;
103
128
  private ingestActionStart;
104
129
  private ingestActionEnd;
@@ -1 +1 @@
1
- {"version":3,"file":"room.d.ts","sourceRoot":"","sources":["../src/room.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAWH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,oBAAoB,CAAC;AAEnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAML,KAAK,gBAAgB,EAEtB,MAAM,eAAe,CAAC;AAMvB,UAAU,kBAAkB;IAC1B,MAAM,EAAE,YAAY,CAAC;IACrB,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,YAAY,EAAE,gBAAgB,CAAC;IAC/B,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AA6BD,qBAAa,iBAAiB;IA6BhB,OAAO,CAAC,QAAQ,CAAC,OAAO;IA5BpC,OAAO,CAAC,IAAI,CAAO;IACnB,OAAO,CAAC,KAAK,CAAoC;IACjD,OAAO,CAAC,GAAG,CAA0B;IACrC,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,cAAc,CAA6B;IACnD;;;;;;;;;OASG;IACH,OAAO,CAAC,qBAAqB,CAA0B;IACvD,oEAAoE;IACpE,OAAO,CAAC,KAAK,CAAmC;IAChD;;;;OAIG;IACH,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,GAAG,CAA8B;gBAEZ,OAAO,EAAE,kBAAkB;IAKxD,OAAO,CAAC,mBAAmB;IA0CrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkEtB,QAAQ,CAAC,MAAM,GAAE,UAAU,GAAG,OAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCxE,OAAO,CAAC,gBAAgB,CAKtB;IAEF,OAAO,CAAC,kBAAkB,CAgCxB;IAEF;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,iBAAiB;IAoBzB;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAUnB,uEAAuE;YACzD,QAAQ;YAMR,aAAa;YAqCb,YAAY;IAU1B;;;;;;;;;;;;;;;;;;;OAmBG;YACW,kBAAkB;YAgBlB,SAAS;YAoIT,SAAS;YAcT,iBAAiB;YAwIjB,YAAY;YAgBZ,iBAAiB;YASjB,eAAe;YASf,UAAU;CAuBzB"}
1
+ {"version":3,"file":"room.d.ts","sourceRoot":"","sources":["../src/room.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAWH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,oBAAoB,CAAC;AAKnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAML,KAAK,gBAAgB,EAEtB,MAAM,eAAe,CAAC;AAMvB,UAAU,kBAAkB;IAC1B,MAAM,EAAE,YAAY,CAAC;IACrB,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,YAAY,EAAE,gBAAgB,CAAC;IAC/B,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AA8BD,qBAAa,iBAAiB;IAmChB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAlCpC,OAAO,CAAC,IAAI,CAAO;IACnB,OAAO,CAAC,KAAK,CAAoC;IACjD,OAAO,CAAC,GAAG,CAA0B;IACrC,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,cAAc,CAA6B;IACnD;;;;;;;;;OASG;IACH,OAAO,CAAC,qBAAqB,CAA0B;IACvD,oEAAoE;IACpE,OAAO,CAAC,KAAK,CAAmC;IAChD;;;;OAIG;IACH,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,GAAG,CAA8B;IACzC,kFAAkF;IAClF,OAAO,CAAC,IAAI,CAAkC;IAC9C,wEAAwE;IACxE,OAAO,CAAC,kBAAkB,CAAkC;IAC5D,sFAAsF;IACtF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;gBAEnB,OAAO,EAAE,kBAAkB;IAKxD,OAAO,CAAC,mBAAmB;IA0CrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA2EtB,QAAQ,CAAC,MAAM,GAAE,UAAU,GAAG,OAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;YAwC1D,cAAc;IAoC5B,OAAO,CAAC,qBAAqB,CAM3B;IAEF,OAAO,CAAC,qBAAqB;IAU7B;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IA+BzB,yEAAyE;IACzE,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,gBAAgB,CAKtB;IAEF,OAAO,CAAC,kBAAkB,CAoCxB;IAEF;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,iBAAiB;IAoBzB;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAUnB,uEAAuE;YACzD,QAAQ;YAMR,aAAa;YAqCb,YAAY;IAU1B;;;;;;;;;;;;;;;;;;;OAmBG;YACW,kBAAkB;YAgBlB,SAAS;YAmJT,SAAS;YAcT,iBAAiB;IA4I/B,sEAAsE;YACxD,YAAY;YAyBZ,YAAY;YAiBZ,iBAAiB;YASjB,eAAe;YASf,UAAU;CAuBzB"}