mstro-app 0.2.0 → 0.3.1

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 (153) hide show
  1. package/PRIVACY.md +126 -0
  2. package/README.md +24 -23
  3. package/bin/commands/login.js +79 -49
  4. package/bin/mstro.js +305 -39
  5. package/dist/server/cli/headless/claude-invoker.d.ts.map +1 -1
  6. package/dist/server/cli/headless/claude-invoker.js +137 -30
  7. package/dist/server/cli/headless/claude-invoker.js.map +1 -1
  8. package/dist/server/cli/headless/mcp-config.js +2 -2
  9. package/dist/server/cli/headless/mcp-config.js.map +1 -1
  10. package/dist/server/cli/headless/runner.d.ts +6 -1
  11. package/dist/server/cli/headless/runner.d.ts.map +1 -1
  12. package/dist/server/cli/headless/runner.js +59 -4
  13. package/dist/server/cli/headless/runner.js.map +1 -1
  14. package/dist/server/cli/headless/stall-assessor.d.ts +3 -1
  15. package/dist/server/cli/headless/stall-assessor.d.ts.map +1 -1
  16. package/dist/server/cli/headless/stall-assessor.js +20 -1
  17. package/dist/server/cli/headless/stall-assessor.js.map +1 -1
  18. package/dist/server/cli/headless/tool-watchdog.d.ts +4 -1
  19. package/dist/server/cli/headless/tool-watchdog.d.ts.map +1 -1
  20. package/dist/server/cli/headless/tool-watchdog.js +30 -24
  21. package/dist/server/cli/headless/tool-watchdog.js.map +1 -1
  22. package/dist/server/cli/headless/types.d.ts +20 -2
  23. package/dist/server/cli/headless/types.d.ts.map +1 -1
  24. package/dist/server/cli/improvisation-session-manager.d.ts +30 -3
  25. package/dist/server/cli/improvisation-session-manager.d.ts.map +1 -1
  26. package/dist/server/cli/improvisation-session-manager.js +224 -31
  27. package/dist/server/cli/improvisation-session-manager.js.map +1 -1
  28. package/dist/server/index.js +6 -4
  29. package/dist/server/index.js.map +1 -1
  30. package/dist/server/mcp/bouncer-cli.js +53 -14
  31. package/dist/server/mcp/bouncer-cli.js.map +1 -1
  32. package/dist/server/mcp/bouncer-integration.d.ts +1 -1
  33. package/dist/server/mcp/bouncer-integration.d.ts.map +1 -1
  34. package/dist/server/mcp/bouncer-integration.js +70 -7
  35. package/dist/server/mcp/bouncer-integration.js.map +1 -1
  36. package/dist/server/mcp/security-audit.d.ts +3 -3
  37. package/dist/server/mcp/security-audit.d.ts.map +1 -1
  38. package/dist/server/mcp/security-audit.js.map +1 -1
  39. package/dist/server/mcp/server.js +3 -2
  40. package/dist/server/mcp/server.js.map +1 -1
  41. package/dist/server/services/analytics.d.ts +2 -2
  42. package/dist/server/services/analytics.d.ts.map +1 -1
  43. package/dist/server/services/analytics.js +13 -1
  44. package/dist/server/services/analytics.js.map +1 -1
  45. package/dist/server/services/files.js +7 -7
  46. package/dist/server/services/files.js.map +1 -1
  47. package/dist/server/services/pathUtils.js +1 -1
  48. package/dist/server/services/pathUtils.js.map +1 -1
  49. package/dist/server/services/platform.d.ts +2 -2
  50. package/dist/server/services/platform.d.ts.map +1 -1
  51. package/dist/server/services/platform.js +13 -1
  52. package/dist/server/services/platform.js.map +1 -1
  53. package/dist/server/services/sentry.d.ts +1 -1
  54. package/dist/server/services/sentry.d.ts.map +1 -1
  55. package/dist/server/services/sentry.js.map +1 -1
  56. package/dist/server/services/terminal/pty-manager.d.ts +12 -0
  57. package/dist/server/services/terminal/pty-manager.d.ts.map +1 -1
  58. package/dist/server/services/terminal/pty-manager.js +81 -6
  59. package/dist/server/services/terminal/pty-manager.js.map +1 -1
  60. package/dist/server/services/websocket/file-explorer-handlers.d.ts +5 -0
  61. package/dist/server/services/websocket/file-explorer-handlers.d.ts.map +1 -0
  62. package/dist/server/services/websocket/file-explorer-handlers.js +518 -0
  63. package/dist/server/services/websocket/file-explorer-handlers.js.map +1 -0
  64. package/dist/server/services/websocket/file-utils.d.ts +4 -0
  65. package/dist/server/services/websocket/file-utils.d.ts.map +1 -1
  66. package/dist/server/services/websocket/file-utils.js +27 -8
  67. package/dist/server/services/websocket/file-utils.js.map +1 -1
  68. package/dist/server/services/websocket/git-handlers.d.ts +36 -0
  69. package/dist/server/services/websocket/git-handlers.d.ts.map +1 -0
  70. package/dist/server/services/websocket/git-handlers.js +797 -0
  71. package/dist/server/services/websocket/git-handlers.js.map +1 -0
  72. package/dist/server/services/websocket/git-pr-handlers.d.ts +4 -0
  73. package/dist/server/services/websocket/git-pr-handlers.d.ts.map +1 -0
  74. package/dist/server/services/websocket/git-pr-handlers.js +299 -0
  75. package/dist/server/services/websocket/git-pr-handlers.js.map +1 -0
  76. package/dist/server/services/websocket/git-worktree-handlers.d.ts +4 -0
  77. package/dist/server/services/websocket/git-worktree-handlers.d.ts.map +1 -0
  78. package/dist/server/services/websocket/git-worktree-handlers.js +353 -0
  79. package/dist/server/services/websocket/git-worktree-handlers.js.map +1 -0
  80. package/dist/server/services/websocket/handler-context.d.ts +32 -0
  81. package/dist/server/services/websocket/handler-context.d.ts.map +1 -0
  82. package/dist/server/services/websocket/handler-context.js +4 -0
  83. package/dist/server/services/websocket/handler-context.js.map +1 -0
  84. package/dist/server/services/websocket/handler.d.ts +27 -359
  85. package/dist/server/services/websocket/handler.d.ts.map +1 -1
  86. package/dist/server/services/websocket/handler.js +68 -2329
  87. package/dist/server/services/websocket/handler.js.map +1 -1
  88. package/dist/server/services/websocket/index.d.ts +1 -1
  89. package/dist/server/services/websocket/index.d.ts.map +1 -1
  90. package/dist/server/services/websocket/index.js.map +1 -1
  91. package/dist/server/services/websocket/session-handlers.d.ts +10 -0
  92. package/dist/server/services/websocket/session-handlers.d.ts.map +1 -0
  93. package/dist/server/services/websocket/session-handlers.js +508 -0
  94. package/dist/server/services/websocket/session-handlers.js.map +1 -0
  95. package/dist/server/services/websocket/settings-handlers.d.ts +6 -0
  96. package/dist/server/services/websocket/settings-handlers.d.ts.map +1 -0
  97. package/dist/server/services/websocket/settings-handlers.js +125 -0
  98. package/dist/server/services/websocket/settings-handlers.js.map +1 -0
  99. package/dist/server/services/websocket/tab-handlers.d.ts +10 -0
  100. package/dist/server/services/websocket/tab-handlers.d.ts.map +1 -0
  101. package/dist/server/services/websocket/tab-handlers.js +131 -0
  102. package/dist/server/services/websocket/tab-handlers.js.map +1 -0
  103. package/dist/server/services/websocket/terminal-handlers.d.ts +9 -0
  104. package/dist/server/services/websocket/terminal-handlers.d.ts.map +1 -0
  105. package/dist/server/services/websocket/terminal-handlers.js +220 -0
  106. package/dist/server/services/websocket/terminal-handlers.js.map +1 -0
  107. package/dist/server/services/websocket/types.d.ts +63 -2
  108. package/dist/server/services/websocket/types.d.ts.map +1 -1
  109. package/dist/server/utils/agent-manager.d.ts +22 -2
  110. package/dist/server/utils/agent-manager.d.ts.map +1 -1
  111. package/dist/server/utils/agent-manager.js +2 -2
  112. package/dist/server/utils/agent-manager.js.map +1 -1
  113. package/dist/server/utils/port-manager.js.map +1 -1
  114. package/hooks/bouncer.sh +17 -3
  115. package/package.json +7 -3
  116. package/server/README.md +176 -159
  117. package/server/cli/headless/claude-invoker.ts +172 -43
  118. package/server/cli/headless/mcp-config.ts +8 -8
  119. package/server/cli/headless/runner.ts +57 -4
  120. package/server/cli/headless/stall-assessor.ts +25 -0
  121. package/server/cli/headless/tool-watchdog.ts +33 -25
  122. package/server/cli/headless/types.ts +11 -2
  123. package/server/cli/improvisation-session-manager.ts +285 -37
  124. package/server/index.ts +15 -13
  125. package/server/mcp/README.md +59 -67
  126. package/server/mcp/bouncer-cli.ts +73 -20
  127. package/server/mcp/bouncer-integration.ts +99 -16
  128. package/server/mcp/security-audit.ts +4 -4
  129. package/server/mcp/server.ts +6 -5
  130. package/server/services/analytics.ts +16 -4
  131. package/server/services/files.ts +13 -13
  132. package/server/services/pathUtils.ts +2 -2
  133. package/server/services/platform.ts +17 -6
  134. package/server/services/sentry.ts +1 -1
  135. package/server/services/terminal/pty-manager.ts +88 -11
  136. package/server/services/websocket/file-explorer-handlers.ts +587 -0
  137. package/server/services/websocket/file-utils.ts +28 -9
  138. package/server/services/websocket/git-handlers.ts +924 -0
  139. package/server/services/websocket/git-pr-handlers.ts +363 -0
  140. package/server/services/websocket/git-worktree-handlers.ts +403 -0
  141. package/server/services/websocket/handler-context.ts +44 -0
  142. package/server/services/websocket/handler.ts +85 -2680
  143. package/server/services/websocket/index.ts +1 -1
  144. package/server/services/websocket/session-handlers.ts +575 -0
  145. package/server/services/websocket/settings-handlers.ts +150 -0
  146. package/server/services/websocket/tab-handlers.ts +150 -0
  147. package/server/services/websocket/terminal-handlers.ts +277 -0
  148. package/server/services/websocket/types.ts +137 -0
  149. package/server/utils/agent-manager.ts +6 -6
  150. package/server/utils/port-manager.ts +1 -1
  151. package/bin/release.sh +0 -110
  152. package/server/services/platform.test.ts +0 -1304
  153. package/server/services/websocket/handler.test.ts +0 -20
@@ -1,374 +1,42 @@
1
- import type { WSContext } from './types.js';
2
- export interface UsageReport {
3
- tokensUsed: number;
4
- sessionId?: string;
5
- movementId?: string;
6
- }
7
- export type UsageReporter = (report: UsageReport) => void;
8
- export declare class WebSocketImproviseHandler {
9
- private sessions;
10
- private connections;
11
- private autocompleteService;
1
+ /**
2
+ * WebSocket Handler for Improvisation Sessions
3
+ *
4
+ * Thin orchestrator that routes WebSocket messages to domain-specific handlers.
5
+ * Owns shared state (sessions, connections, etc.) and satisfies the HandlerContext interface.
6
+ */
7
+ import type { ChildProcess } from 'node:child_process';
8
+ import type { ImprovisationSessionManager } from '../../cli/improvisation-session-manager.js';
9
+ import { AutocompleteService } from './autocomplete.js';
10
+ import type { HandlerContext, UsageReporter } from './handler-context.js';
11
+ import { SessionRegistry } from './session-registry.js';
12
+ import type { WebSocketResponse, WSContext } from './types.js';
13
+ export type { UsageReport, UsageReporter } from './handler-context.js';
14
+ export declare class WebSocketImproviseHandler implements HandlerContext {
15
+ sessions: Map<string, ImprovisationSessionManager>;
16
+ connections: Map<WSContext, Map<string, string>>;
17
+ autocompleteService: AutocompleteService;
12
18
  private frecencyPath;
13
- private usageReporter;
14
- /** Per-tab selected git directory (tabId -> directory path) */
15
- private gitDirectories;
16
- /** Persistent tab→session mapping that survives WS disconnections */
19
+ usageReporter: UsageReporter | null;
20
+ gitDirectories: Map<string, string>;
17
21
  private sessionRegistry;
18
- /** All connected WS contexts (for broadcasting to all clients) */
19
- private allConnections;
22
+ allConnections: Set<WSContext>;
23
+ activeSearches: Map<string, ChildProcess>;
24
+ terminalListenerCleanups: Map<string, () => void>;
25
+ terminalSubscribers: Map<string, Set<WSContext>>;
20
26
  constructor();
21
- /**
22
- * Lazily initialize session registry for a working directory
23
- */
24
- private getRegistry;
25
- /**
26
- * Set the usage reporter callback for sending usage data to platform
27
- */
27
+ getRegistry(workingDir: string): SessionRegistry;
28
28
  setUsageReporter(reporter: UsageReporter): void;
29
- /**
30
- * Load frecency data from disk
31
- */
32
29
  private loadFrecencyData;
33
- /**
34
- * Save frecency data to disk
35
- */
36
30
  private saveFrecencyData;
37
- /**
38
- * Record a file selection for frecency scoring
39
- */
40
31
  recordFileSelection(filePath: string): void;
41
- /**
42
- * Handle new WebSocket connection
43
- */
44
32
  handleConnection(ws: WSContext, _workingDir: string): void;
45
- /**
46
- * Handle incoming WebSocket message
47
- */
48
33
  handleMessage(ws: WSContext, message: string, workingDir: string): Promise<void>;
49
- /**
50
- * Dispatch a parsed message to the appropriate handler
51
- */
52
34
  private dispatchMessage;
53
- /**
54
- * Handle session-related messages (execute, cancel, history, new, approve, reject)
55
- */
56
- private handleSessionMessage;
57
- /**
58
- * Handle history/session listing messages
59
- */
60
- private handleHistoryMessage;
61
- /**
62
- * Handle file-related messages (autocomplete, readFile, recordSelection, notifications)
63
- */
64
- private handleFileMessage;
65
- private handleReadFile;
66
- /**
67
- * Handle terminal messages
68
- */
69
- private handleTerminalMessage;
70
- /**
71
- * Handle file explorer operations with success/error response pattern
72
- */
73
- private sendFileResult;
74
- private handleListDirectory;
75
- private handleWriteFile;
76
- private handleCreateFile;
77
- private handleCreateDirectory;
78
- private handleDeleteFile;
79
- private handleRenameFile;
80
- private handleNotifyFileOpened;
81
- private handleFileExplorerMessage;
82
- /**
83
- * Get a session or throw
84
- */
85
- private requireSession;
86
- /**
87
- * Set up event listeners for a session
88
- */
89
- private setupSessionListeners;
90
- /**
91
- * Resume a historical session for conversation continuity
92
- * Falls back to creating a new session if the historical session cannot be found
93
- * (e.g., server restarted before the session was saved to disk)
94
- */
95
- private resumeHistoricalSession;
96
- /**
97
- * Initialize a tab with its own session.
98
- * Checks (in order): per-connection map → session registry → disk history → new session.
99
- */
100
- private initializeTab;
101
- /**
102
- * Reattach to an existing in-memory session.
103
- * Sends output history (completed movements + in-progress events) for state restoration.
104
- */
105
- private reattachSession;
106
- /**
107
- * Build OutputLine-compatible history from a session's completed movements.
108
- * Converts MovementRecords into the same format the web client uses for display.
109
- */
110
- private buildOutputHistory;
111
- /**
112
- * Send a message to all connected clients EXCEPT the sender.
113
- * Used for multi-client sync (e.g., tab created by one client, others should know).
114
- */
115
- private broadcastToOthers;
116
- /**
117
- * Send a message to ALL connected clients (including sender).
118
- */
119
- private broadcastToAll;
120
- /**
121
- * Return current machine-wide settings to the requesting client.
122
- */
123
- private handleGetSettings;
124
- /**
125
- * Update settings and broadcast to all connected clients.
126
- */
127
- private handleUpdateSettings;
128
- /**
129
- * Get session for a specific tab
130
- */
131
- private getSession;
132
- /**
133
- * Handle connection close
134
- * Note: Sessions are NOT destroyed — they persist for reconnection.
135
- * Only the per-connection tab mapping is removed.
136
- */
137
35
  handleClose(ws: WSContext): void;
138
- /**
139
- * Send message to WebSocket client
140
- */
141
- private send;
142
- /**
143
- * Get count of all historical sessions without reading file contents
144
- */
145
- private getSessionsCount;
146
- /**
147
- * Get paginated list of historical sessions from disk
148
- * Returns minimal metadata - movements are stripped to just userPrompt preview
149
- */
150
- private getSessionsList;
151
- /**
152
- * Get a full session by ID (includes all movement data)
153
- */
154
- private getSessionById;
155
- /**
156
- * Delete a single session from disk
157
- */
158
- private deleteSession;
159
- /**
160
- * Clear all sessions from disk
161
- */
162
- private clearAllSessions;
163
- /**
164
- * Search sessions using grep on the history directory
165
- * Searches through session file contents for matching text
166
- * Returns paginated results with minimal metadata
167
- */
168
- private movementMatchesQuery;
169
- private buildSessionSummary;
170
- private searchSessions;
171
- /**
172
- * Cleanup session
173
- */
36
+ send(ws: WSContext, response: WebSocketResponse): void;
37
+ broadcastToOthers(sender: WSContext, response: WebSocketResponse): void;
38
+ broadcastToAll(response: WebSocketResponse): void;
174
39
  cleanupSession(sessionId: string): void;
175
- /**
176
- * Clean up stale sessions
177
- */
178
40
  cleanupStaleSessions(): void;
179
- /**
180
- * Handle getActiveTabs — returns all registered tabs and their state.
181
- * Used by new clients (multi-device, multi-browser) to discover existing tabs.
182
- */
183
- private handleGetActiveTabs;
184
- /**
185
- * Handle syncTabMeta — update tab metadata (name) from a client.
186
- */
187
- private handleSyncTabMeta;
188
- /**
189
- * Handle syncPromptText — relay prompt text changes to all clients.
190
- * Ephemeral: not persisted, just broadcast for live collaboration.
191
- */
192
- private handleSyncPromptText;
193
- /**
194
- * Handle removeTab — client is removing a tab.
195
- */
196
- private handleRemoveTab;
197
- /**
198
- * Handle markTabViewed — a client has viewed a tab's completed output.
199
- * Persists viewed state and broadcasts to all clients so the green dot
200
- * disappears on every device.
201
- */
202
- private handleMarkTabViewed;
203
- /**
204
- * Handle createTab — CLI registers the tab and broadcasts to all clients.
205
- *
206
- * When optimisticTabId is provided, CLI reuses that ID as the authoritative tab ID.
207
- * The requesting client already created a local tab with this ID (optimistic UI),
208
- * so there's no reconciliation needed — the tab ID is the same everywhere.
209
- * The initTab flow (useTabInit) will handle session creation for the requesting client.
210
- *
211
- * Other clients that don't have this tab will add it via the tabCreated broadcast.
212
- */
213
- private handleCreateTab;
214
- /**
215
- * Handle reorderTabs — client is reordering tabs.
216
- */
217
- private handleReorderTabs;
218
- /**
219
- * Generate a notification summary using Claude Haiku
220
- * Sends the result as a notificationSummary message
221
- */
222
- private generateNotificationSummary;
223
- /**
224
- * Create a fallback summary when AI summarization fails
225
- */
226
- private createFallbackSummary;
227
- /**
228
- * Handle git-related messages
229
- */
230
- private handleGitMessage;
231
- /**
232
- * Execute a git command and return stdout
233
- */
234
- private executeGitCommand;
235
- /** Map of simple escape sequences to their character values */
236
- private static readonly ESCAPE_CHARS;
237
- /**
238
- * Unquote a git-quoted path (C-style quoting)
239
- * Git quotes paths containing spaces, special chars, or non-ASCII with double quotes
240
- * and uses backslash escapes inside (e.g., \", \\, \n, \t, \nnn for octal)
241
- */
242
- private unquoteGitPath;
243
- /** Check if position i starts an octal escape sequence (\nnn) */
244
- private isOctalEscape;
245
- /**
246
- * Parse git status --porcelain output into structured format
247
- */
248
- private parseGitStatus;
249
- /**
250
- * Handle git status request
251
- */
252
- private handleGitStatus;
253
- /**
254
- * Handle git stage request
255
- */
256
- private handleGitStage;
257
- /**
258
- * Handle git unstage request
259
- */
260
- private handleGitUnstage;
261
- /**
262
- * Handle git commit request (with user-provided message)
263
- */
264
- private handleGitCommit;
265
- /**
266
- * Handle git commit with AI-generated message
267
- * Uses Claude Code to analyze staged changes and generate a commit message
268
- */
269
- private handleGitCommitWithAI;
270
- /**
271
- * Extract the actual commit message from Claude's output.
272
- * Sometimes Claude outputs reasoning before the actual message, so we need to parse it.
273
- */
274
- private extractCommitMessage;
275
- /**
276
- * Strip injected coauthor/attribution lines from a commit message.
277
- * The Claude Code CLI appends "Co-Authored-By" lines to LLM output.
278
- * We detect and remove them by matching known marker strings.
279
- */
280
- private stripCoauthorLines;
281
- /**
282
- * Handle git push request
283
- */
284
- private handleGitPush;
285
- /**
286
- * Handle git log request
287
- */
288
- private handleGitLog;
289
- /** Directories to skip when scanning for git repos */
290
- private static readonly SKIP_DIRS;
291
- /** Get the current branch name for a git repository */
292
- private getRepoBranch;
293
- /** Check if a directory name should be skipped when scanning */
294
- private shouldSkipDir;
295
- /** Recursively scan directories for git repositories */
296
- private scanForGitRepos;
297
- /**
298
- * Discover git repositories in the working directory and subdirectories
299
- */
300
- private handleGitDiscoverRepos;
301
- /**
302
- * Set the git directory for operations
303
- */
304
- private handleGitSetDirectory;
305
- /**
306
- * Get remote info for PR creation (remote URL, provider, default branch)
307
- */
308
- private handleGitGetRemoteInfo;
309
- private getDefaultBranch;
310
- private checkGitCliStatus;
311
- private listRemoteBranches;
312
- /** Check if a binary runs successfully (exit code 0) */
313
- private spawnCheck;
314
- /** Detect which CLI binary to use for PR creation based on remote URL */
315
- private detectPRCliBin;
316
- /** Send PR success and optionally persist base branch */
317
- private sendPRCreated;
318
- /**
319
- * Create a pull/merge request using gh CLI (GitHub) or open browser URL (fallback)
320
- */
321
- private handleGitCreatePR;
322
- /** Attempt to create a PR/MR via CLI. Returns { created, url, error } */
323
- private tryCliPRCreate;
324
- /** Classify a CLI PR creation error into a user-facing message */
325
- private classifyCliPRError;
326
- /** Spawn a process and capture stdout/stderr */
327
- private spawnWithOutput;
328
- /** Build a browser URL for PR creation (fallback when no CLI) */
329
- private buildBrowserPRUrl;
330
- /**
331
- * Generate a PR title and description using Haiku, based on the diff against the base branch.
332
- */
333
- private handleGitGeneratePRDescription;
334
- /**
335
- * Initialize a new terminal session or reconnect to existing one
336
- */
337
- private handleTerminalInit;
338
- /**
339
- * Reconnect to an existing terminal session
340
- */
341
- private handleTerminalReconnect;
342
- /**
343
- * List all active terminal sessions
344
- */
345
- private handleTerminalList;
346
- /**
347
- * Handle terminal input
348
- */
349
- private handleTerminalInput;
350
- /**
351
- * Handle terminal resize
352
- */
353
- private handleTerminalResize;
354
- /**
355
- * Handle terminal close
356
- */
357
- private handleTerminalClose;
358
- private terminalListenerCleanups;
359
- private terminalSubscribers;
360
- /**
361
- * Add a WS connection as a subscriber for terminal output.
362
- */
363
- private addTerminalSubscriber;
364
- /**
365
- * Remove a WS subscriber from a terminal and clean up if no subscribers remain.
366
- */
367
- private removeTerminalSubscriber;
368
- /**
369
- * Set up PTY event listeners that broadcast to all subscribers.
370
- * Only creates listeners once per terminal (idempotent).
371
- */
372
- private setupTerminalBroadcastListeners;
373
41
  }
374
42
  //# sourceMappingURL=handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../server/services/websocket/handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../server/services/websocket/handler.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIvD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AAE9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGxD,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAIxD,OAAO,KAAK,EAAkC,iBAAiB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE/F,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEvE,qBAAa,yBAA0B,YAAW,cAAc;IAC9D,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAa;IAC/D,WAAW,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAa;IAC7D,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,OAAO,CAAC,YAAY,CAAS;IAC7B,aAAa,EAAE,aAAa,GAAG,IAAI,CAAQ;IAC3C,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IAChD,OAAO,CAAC,eAAe,CAAgC;IACvD,cAAc,EAAE,GAAG,CAAC,SAAS,CAAC,CAAa;IAC3C,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAa;IACtD,wBAAwB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAa;IAC9D,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAa;;IAQ7D,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe;IAOhD,gBAAgB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAI/C,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,gBAAgB;IAYxB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAK3C,gBAAgB,CAAC,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAKpD,aAAa,CACjB,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC;YAkBF,eAAe;IAiH7B,WAAW,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI;IAMhC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAQtD,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAQvE,cAAc,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAMjD,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIvC,oBAAoB,IAAI,IAAI;CAE7B"}