browser-debug-mcp-bridge 1.5.0 → 1.9.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.
@@ -1,4 +1,40 @@
1
1
  import { initializeSchema, getSchemaVersion, clearDatabase, SCHEMA_VERSION } from './schema.js';
2
+ function getColumnNames(db, tableName) {
3
+ const rows = db.prepare(`PRAGMA table_info('${tableName}')`).all();
4
+ return new Set(rows.map((row) => row.name));
5
+ }
6
+ function normalizeOriginCandidate(value) {
7
+ if (typeof value !== 'string' || value.trim().length === 0) {
8
+ return null;
9
+ }
10
+ try {
11
+ const parsed = new URL(value);
12
+ if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') {
13
+ return null;
14
+ }
15
+ return parsed.origin;
16
+ }
17
+ catch {
18
+ return null;
19
+ }
20
+ }
21
+ function extractEventOrigin(payload) {
22
+ const candidates = [
23
+ payload.origin,
24
+ payload.url,
25
+ payload.to,
26
+ payload.href,
27
+ payload.location,
28
+ payload.requestUrl,
29
+ ];
30
+ for (const candidate of candidates) {
31
+ const origin = normalizeOriginCandidate(candidate);
32
+ if (origin) {
33
+ return origin;
34
+ }
35
+ }
36
+ return null;
37
+ }
2
38
  const migrations = [
3
39
  {
4
40
  version: 1,
@@ -76,7 +112,161 @@ const migrations = [
76
112
  CREATE INDEX IF NOT EXISTS idx_snapshots_png_path ON snapshots(png_path);
77
113
  `);
78
114
  },
79
- }
115
+ },
116
+ {
117
+ version: 4,
118
+ name: 'event_origin_and_tab_scope',
119
+ up: (db) => {
120
+ const eventColumns = getColumnNames(db, 'events');
121
+ if (!eventColumns.has('tab_id')) {
122
+ db.exec('ALTER TABLE events ADD COLUMN tab_id INTEGER;');
123
+ }
124
+ if (!eventColumns.has('origin')) {
125
+ db.exec('ALTER TABLE events ADD COLUMN origin TEXT;');
126
+ }
127
+ const networkColumns = getColumnNames(db, 'network');
128
+ if (!networkColumns.has('origin')) {
129
+ db.exec('ALTER TABLE network ADD COLUMN origin TEXT;');
130
+ }
131
+ db.exec(`
132
+ CREATE INDEX IF NOT EXISTS idx_events_tab_id ON events(tab_id);
133
+ CREATE INDEX IF NOT EXISTS idx_events_origin ON events(origin);
134
+ CREATE INDEX IF NOT EXISTS idx_events_session_origin_ts ON events(session_id, origin, ts);
135
+ CREATE INDEX IF NOT EXISTS idx_network_origin ON network(origin);
136
+ CREATE INDEX IF NOT EXISTS idx_network_session_origin_ts ON network(session_id, origin, ts_start);
137
+ `);
138
+ const updateEvent = db.prepare(`
139
+ UPDATE events
140
+ SET tab_id = COALESCE(?, tab_id), origin = COALESCE(?, origin)
141
+ WHERE event_id = ?
142
+ `);
143
+ const updateNetwork = db.prepare('UPDATE network SET origin = ? WHERE request_id = ?');
144
+ const runBackfill = db.transaction(() => {
145
+ const eventRows = db.prepare(`
146
+ SELECT event_id, payload_json, tab_id, origin
147
+ FROM events
148
+ WHERE tab_id IS NULL OR origin IS NULL
149
+ `).all();
150
+ for (const row of eventRows) {
151
+ let payload = {};
152
+ try {
153
+ const parsed = JSON.parse(row.payload_json);
154
+ if (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {
155
+ payload = parsed;
156
+ }
157
+ }
158
+ catch {
159
+ payload = {};
160
+ }
161
+ const tabIdCandidate = payload.tabId;
162
+ const tabId = typeof tabIdCandidate === 'number' && Number.isFinite(tabIdCandidate)
163
+ ? Math.floor(tabIdCandidate)
164
+ : null;
165
+ const origin = extractEventOrigin(payload);
166
+ updateEvent.run(tabId, origin, row.event_id);
167
+ }
168
+ const networkRows = db.prepare(`
169
+ SELECT request_id, url
170
+ FROM network
171
+ WHERE origin IS NULL
172
+ `).all();
173
+ for (const row of networkRows) {
174
+ const origin = normalizeOriginCandidate(row.url);
175
+ if (origin) {
176
+ updateNetwork.run(origin, row.request_id);
177
+ }
178
+ }
179
+ });
180
+ runBackfill();
181
+ },
182
+ },
183
+ {
184
+ version: 5,
185
+ name: 'network_trace_and_body_capture',
186
+ up: (db) => {
187
+ const networkColumns = getColumnNames(db, 'network');
188
+ if (!networkColumns.has('trace_id')) {
189
+ db.exec('ALTER TABLE network ADD COLUMN trace_id TEXT;');
190
+ }
191
+ if (!networkColumns.has('tab_id')) {
192
+ db.exec('ALTER TABLE network ADD COLUMN tab_id INTEGER;');
193
+ }
194
+ if (!networkColumns.has('request_content_type')) {
195
+ db.exec('ALTER TABLE network ADD COLUMN request_content_type TEXT;');
196
+ }
197
+ if (!networkColumns.has('request_body_text')) {
198
+ db.exec('ALTER TABLE network ADD COLUMN request_body_text TEXT;');
199
+ }
200
+ if (!networkColumns.has('request_body_json')) {
201
+ db.exec('ALTER TABLE network ADD COLUMN request_body_json TEXT;');
202
+ }
203
+ if (!networkColumns.has('request_body_bytes')) {
204
+ db.exec('ALTER TABLE network ADD COLUMN request_body_bytes INTEGER;');
205
+ }
206
+ if (!networkColumns.has('request_body_truncated')) {
207
+ db.exec('ALTER TABLE network ADD COLUMN request_body_truncated INTEGER NOT NULL DEFAULT 0;');
208
+ }
209
+ if (!networkColumns.has('request_body_chunk_ref')) {
210
+ db.exec('ALTER TABLE network ADD COLUMN request_body_chunk_ref TEXT;');
211
+ }
212
+ if (!networkColumns.has('response_content_type')) {
213
+ db.exec('ALTER TABLE network ADD COLUMN response_content_type TEXT;');
214
+ }
215
+ if (!networkColumns.has('response_body_text')) {
216
+ db.exec('ALTER TABLE network ADD COLUMN response_body_text TEXT;');
217
+ }
218
+ if (!networkColumns.has('response_body_json')) {
219
+ db.exec('ALTER TABLE network ADD COLUMN response_body_json TEXT;');
220
+ }
221
+ if (!networkColumns.has('response_body_bytes')) {
222
+ db.exec('ALTER TABLE network ADD COLUMN response_body_bytes INTEGER;');
223
+ }
224
+ if (!networkColumns.has('response_body_truncated')) {
225
+ db.exec('ALTER TABLE network ADD COLUMN response_body_truncated INTEGER NOT NULL DEFAULT 0;');
226
+ }
227
+ if (!networkColumns.has('response_body_chunk_ref')) {
228
+ db.exec('ALTER TABLE network ADD COLUMN response_body_chunk_ref TEXT;');
229
+ }
230
+ db.exec(`
231
+ CREATE INDEX IF NOT EXISTS idx_network_trace_id ON network(trace_id);
232
+ CREATE INDEX IF NOT EXISTS idx_network_session_trace_ts ON network(session_id, trace_id, ts_start);
233
+ CREATE INDEX IF NOT EXISTS idx_network_tab_id ON network(tab_id);
234
+ `);
235
+ db.exec(`
236
+ CREATE TABLE IF NOT EXISTS body_chunks (
237
+ chunk_ref TEXT PRIMARY KEY,
238
+ session_id TEXT NOT NULL,
239
+ request_id TEXT,
240
+ trace_id TEXT,
241
+ body_kind TEXT NOT NULL CHECK(body_kind IN ('request', 'response')),
242
+ content_type TEXT,
243
+ body_text TEXT NOT NULL,
244
+ body_bytes INTEGER NOT NULL,
245
+ truncated INTEGER NOT NULL DEFAULT 0,
246
+ created_at INTEGER NOT NULL,
247
+ FOREIGN KEY (session_id) REFERENCES sessions(session_id) ON DELETE CASCADE
248
+ );
249
+ `);
250
+ db.exec(`
251
+ CREATE INDEX IF NOT EXISTS idx_body_chunks_session_id ON body_chunks(session_id);
252
+ CREATE INDEX IF NOT EXISTS idx_body_chunks_request_id ON body_chunks(request_id);
253
+ CREATE INDEX IF NOT EXISTS idx_body_chunks_trace_id ON body_chunks(trace_id);
254
+ `);
255
+ },
256
+ },
257
+ {
258
+ version: 6,
259
+ name: 'session_pause_resume_state',
260
+ up: (db) => {
261
+ const sessionColumns = getColumnNames(db, 'sessions');
262
+ if (!sessionColumns.has('paused_at')) {
263
+ db.exec('ALTER TABLE sessions ADD COLUMN paused_at INTEGER;');
264
+ }
265
+ db.exec(`
266
+ CREATE INDEX IF NOT EXISTS idx_sessions_paused_at ON sessions(paused_at);
267
+ `);
268
+ },
269
+ },
80
270
  ];
81
271
  export function runMigrations(db) {
82
272
  const currentVersion = getSchemaVersion(db) || 0;
@@ -1 +1 @@
1
- {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/db/migrations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAQhG,MAAM,UAAU,GAAgB;IAC9B;QACE,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,gBAAgB;QACtB,EAAE,EAAE,gBAAgB;KACrB;IACD;QACE,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,uBAAuB;QAC7B,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;YACT,MAAM,eAAe,GAAI,EAAE,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,GAAG,EAA8B,CAAC,IAAI,CACzG,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,CACrC,CAAC;YACF,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,EAAE,CAAC,IAAI,CAAC;;SAEP,CAAC,CAAC;YACL,CAAC;YACD,EAAE,CAAC,IAAI,CAAC;;OAEP,CAAC,CAAC;YACH,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;OAUP,CAAC,CAAC;YACH,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;OAUP,CAAC,CAAC;QACL,CAAC;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,mBAAmB;QACzB,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;YACT,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;OAuBP,CAAC,CAAC;YACH,EAAE,CAAC,IAAI,CAAC;;;;OAIP,CAAC,CAAC;QACL,CAAC;KACF;CACF,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,EAAY;IACxC,MAAM,cAAc,GAAG,gBAAgB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAEjD,MAAM,iBAAiB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,cAAc,CAAC,CAAC;IAE7E,KAAK,MAAM,SAAS,IAAI,iBAAiB,EAAE,CAAC;QAC1C,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAEjB,MAAM,aAAa,GAAG,EAAE,CAAC,OAAO,CAAC;;;KAGhC,CAAC,CAAC;QACH,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,EAAY;IAC7C,aAAa,CAAC,EAAE,CAAC,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAAY;IACxC,aAAa,CAAC,EAAE,CAAC,CAAC;IAClB,kBAAkB,CAAC,EAAE,CAAC,CAAC;AACzB,CAAC;AAED,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/db/migrations.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
- export const SCHEMA_VERSION = 3;
1
+ export const SCHEMA_VERSION = 6;
2
2
  export const CREATE_TABLES_SQL = `
3
3
  -- Sessions table
4
4
  CREATE TABLE IF NOT EXISTS sessions (
5
5
  session_id TEXT PRIMARY KEY,
6
6
  created_at INTEGER NOT NULL,
7
+ paused_at INTEGER,
7
8
  ended_at INTEGER,
8
9
  tab_id INTEGER,
9
10
  window_id INTEGER,
@@ -62,6 +63,8 @@ CREATE INDEX IF NOT EXISTS idx_events_session_type ON events(session_id, type);
62
63
  CREATE TABLE IF NOT EXISTS network (
63
64
  request_id TEXT PRIMARY KEY,
64
65
  session_id TEXT NOT NULL,
66
+ trace_id TEXT,
67
+ tab_id INTEGER,
65
68
  ts_start INTEGER NOT NULL,
66
69
  duration_ms INTEGER,
67
70
  method TEXT NOT NULL,
@@ -70,6 +73,18 @@ CREATE TABLE IF NOT EXISTS network (
70
73
  initiator TEXT CHECK(initiator IN ('fetch', 'xhr', 'img', 'script', 'other')),
71
74
  error_class TEXT CHECK(error_class IN ('timeout', 'cors', 'dns', 'blocked', 'http_error', 'unknown')),
72
75
  response_size_est INTEGER,
76
+ request_content_type TEXT,
77
+ request_body_text TEXT,
78
+ request_body_json TEXT,
79
+ request_body_bytes INTEGER,
80
+ request_body_truncated INTEGER NOT NULL DEFAULT 0,
81
+ request_body_chunk_ref TEXT,
82
+ response_content_type TEXT,
83
+ response_body_text TEXT,
84
+ response_body_json TEXT,
85
+ response_body_bytes INTEGER,
86
+ response_body_truncated INTEGER NOT NULL DEFAULT 0,
87
+ response_body_chunk_ref TEXT,
73
88
  FOREIGN KEY (session_id) REFERENCES sessions(session_id) ON DELETE CASCADE
74
89
  );
75
90
 
@@ -79,6 +94,24 @@ CREATE INDEX IF NOT EXISTS idx_network_ts_start ON network(ts_start);
79
94
  CREATE INDEX IF NOT EXISTS idx_network_error_class ON network(error_class);
80
95
  CREATE INDEX IF NOT EXISTS idx_network_session_error ON network(session_id, error_class);
81
96
 
97
+ CREATE TABLE IF NOT EXISTS body_chunks (
98
+ chunk_ref TEXT PRIMARY KEY,
99
+ session_id TEXT NOT NULL,
100
+ request_id TEXT,
101
+ trace_id TEXT,
102
+ body_kind TEXT NOT NULL CHECK(body_kind IN ('request', 'response')),
103
+ content_type TEXT,
104
+ body_text TEXT NOT NULL,
105
+ body_bytes INTEGER NOT NULL,
106
+ truncated INTEGER NOT NULL DEFAULT 0,
107
+ created_at INTEGER NOT NULL,
108
+ FOREIGN KEY (session_id) REFERENCES sessions(session_id) ON DELETE CASCADE
109
+ );
110
+
111
+ CREATE INDEX IF NOT EXISTS idx_body_chunks_session_id ON body_chunks(session_id);
112
+ CREATE INDEX IF NOT EXISTS idx_body_chunks_request_id ON body_chunks(request_id);
113
+ CREATE INDEX IF NOT EXISTS idx_body_chunks_trace_id ON body_chunks(trace_id);
114
+
82
115
  -- Error fingerprints table
83
116
  CREATE TABLE IF NOT EXISTS error_fingerprints (
84
117
  fingerprint TEXT PRIMARY KEY,
@@ -146,6 +179,7 @@ export function getSchemaVersion(db) {
146
179
  export function clearDatabase(db) {
147
180
  db.exec(`
148
181
  DELETE FROM error_fingerprints;
182
+ DELETE FROM body_chunks;
149
183
  DELETE FROM network;
150
184
  DELETE FROM snapshots;
151
185
  DELETE FROM events;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAEhC,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiIhC,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,EAAY;IAC3C,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAAY;IAC3C,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC;;;GAG9B,CAAC,CAAC,GAAG,EAAE,CAAC;IAET,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,kEAAkE,CAAC,CAAC,GAAG,EAAqC,CAAC;IACvI,OAAO,MAAM,EAAE,OAAO,IAAI,IAAI,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAAY;IACxC,EAAE,CAAC,IAAI,CAAC;;;;;;;;GAQP,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAEhC,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkKhC,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,EAAY;IAC3C,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAAY;IAC3C,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC;;;GAG9B,CAAC,CAAC,GAAG,EAAE,CAAC;IAET,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,kEAAkE,CAAC,CAAC,GAAG,EAAqC,CAAC;IACvI,OAAO,MAAM,EAAE,OAAO,IAAI,IAAI,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAAY;IACxC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;GASP,CAAC,CAAC;AACL,CAAC"}
@@ -10,6 +10,7 @@ const fastify = Fastify({
10
10
  logger: process.env.MCP_STDIO_MODE === '1' ? false : true
11
11
  });
12
12
  const PORT = process.env.PORT ? parseInt(process.env.PORT, 10) : 8065;
13
+ const HOST = process.env.HOST || '127.0.0.1';
13
14
  let wsManager = null;
14
15
  const startedAt = Date.now();
15
16
  let cleanupInterval = null;
@@ -202,7 +203,7 @@ fastify.get('/sessions', async (request) => {
202
203
  const limit = Number.isFinite(rawLimit) ? Math.min(Math.max(Math.floor(rawLimit), 1), 200) : 20;
203
204
  const offset = Number.isFinite(rawOffset) ? Math.max(Math.floor(rawOffset), 0) : 0;
204
205
  const rows = db.prepare(`
205
- SELECT session_id, created_at, ended_at, url_last, pinned
206
+ SELECT session_id, created_at, paused_at, ended_at, url_last, pinned
206
207
  FROM sessions
207
208
  ORDER BY created_at DESC
208
209
  LIMIT ? OFFSET ?
@@ -218,7 +219,9 @@ fastify.get('/sessions', async (request) => {
218
219
  sessions: page.map((row) => ({
219
220
  sessionId: row.session_id,
220
221
  createdAt: row.created_at,
222
+ pausedAt: row.paused_at,
221
223
  endedAt: row.ended_at,
224
+ status: row.ended_at ? 'ended' : row.paused_at ? 'paused' : 'active',
222
225
  urlLast: row.url_last,
223
226
  pinned: row.pinned === 1,
224
227
  })),
@@ -269,6 +272,8 @@ fastify.get('/sessions/:sessionId/entries', async (request) => {
269
272
  ), CHAR(13), ' ') AS summary,
270
273
  json_object(
271
274
  'requestId', request_id,
275
+ 'traceId', trace_id,
276
+ 'tabId', tab_id,
272
277
  'timestamp', ts_start,
273
278
  'durationMs', duration_ms,
274
279
  'method', method,
@@ -276,7 +281,19 @@ fastify.get('/sessions/:sessionId/entries', async (request) => {
276
281
  'status', status,
277
282
  'initiator', initiator,
278
283
  'errorClass', error_class,
279
- 'responseSizeEst', response_size_est
284
+ 'responseSizeEst', response_size_est,
285
+ 'request', json_object(
286
+ 'contentType', request_content_type,
287
+ 'bodyBytes', request_body_bytes,
288
+ 'truncated', request_body_truncated,
289
+ 'bodyChunkRef', request_body_chunk_ref
290
+ ),
291
+ 'response', json_object(
292
+ 'contentType', response_content_type,
293
+ 'bodyBytes', response_body_bytes,
294
+ 'truncated', response_body_truncated,
295
+ 'bodyChunkRef', response_body_chunk_ref
296
+ )
280
297
  ) AS raw_json
281
298
  FROM network
282
299
  WHERE session_id = ?
@@ -358,8 +375,8 @@ export async function startServer() {
358
375
  }, 'Auto cleanup removed old sessions to enforce limits');
359
376
  }
360
377
  }, settings.cleanupIntervalMinutes * 60_000);
361
- await fastify.listen({ port: PORT, host: '0.0.0.0' });
362
- fastify.log.info(`Server listening on port ${PORT}`);
378
+ await fastify.listen({ port: PORT, host: HOST });
379
+ fastify.log.info(`Server listening on ${HOST}:${PORT}`);
363
380
  wsManager = new WebSocketManager();
364
381
  wsManager.initialize(fastify);
365
382
  }
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}