mirra-cc-bridge 0.1.8 → 0.2.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 +1 @@
1
- {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../src/commands/hook.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAiPH;;GAEG;AACH,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB7E"}
1
+ {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../src/commands/hook.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA8hBH;;GAEG;AACH,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB7E"}
@@ -63,17 +63,34 @@ function getGroupId() {
63
63
  }
64
64
  throw new Error('Group not configured. Run `mirra-cc-bridge configure` to select where to send output.');
65
65
  }
66
+ /**
67
+ * Check if this is a Mirra-spawned session (has pty access for responses)
68
+ */
69
+ function isMirraSpawnedSession() {
70
+ return !!process.env.MIRRA_SESSION_ID;
71
+ }
66
72
  /**
67
73
  * Get session ID
74
+ * Priority:
75
+ * 1. Environment variable (Mirra-spawned sessions via spawnSession)
76
+ * 2. Persisted local session ID from config (direct Claude Code usage)
77
+ * 3. Generate new local session ID (first run)
68
78
  */
69
79
  function getSessionId() {
70
- // Check environment variable first
80
+ // Priority 1: Environment variable (Mirra-spawned sessions)
71
81
  const envSession = process.env.MIRRA_SESSION_ID;
72
82
  if (envSession) {
73
83
  return envSession;
74
84
  }
75
- // Generate a default session ID based on timestamp
76
- return `cc_local_${Date.now()}`;
85
+ // Priority 2: Persisted local session ID from config
86
+ const localSession = (0, config_1.getLocalSession)();
87
+ if (localSession?.sessionId) {
88
+ return localSession.sessionId;
89
+ }
90
+ // Priority 3: Generate new stable session ID
91
+ // This requires groupId to be configured
92
+ const groupId = getGroupId();
93
+ return (0, config_1.getOrCreateLocalSessionId)(groupId);
77
94
  }
78
95
  /**
79
96
  * Extract text content from a message for display
@@ -96,22 +113,131 @@ function extractTextContent(message) {
96
113
  }
97
114
  }
98
115
  /**
99
- * Map message type to app-compatible display type
116
+ * Parse permission prompt from Claude Code notification
117
+ * Extracts tool name, command/path, and message from the notification
100
118
  */
101
- function getDisplayType(messageType) {
102
- switch (messageType) {
103
- case 'claude_code_output':
104
- return 'card'; // Use card for notifications/questions
105
- case 'claude_code_status':
106
- return 'card'; // Use card for status updates
107
- default:
108
- return 'card';
119
+ function parsePermissionPrompt(notificationData, sessionId) {
120
+ // Only handle permission_prompt notifications
121
+ if (notificationData.notification_type !== 'permission_prompt') {
122
+ return null;
123
+ }
124
+ const message = notificationData.message || '';
125
+ // Parse the message to extract tool and details
126
+ // Common patterns:
127
+ // - "Claude needs your permission to use Bash"
128
+ // - "Claude needs your permission to use Edit"
129
+ // - "Claude needs your permission to use Write"
130
+ // - "Claude needs your permission to use Read"
131
+ let tool = 'Unknown';
132
+ let command;
133
+ let filePath;
134
+ // Extract tool name from message
135
+ const toolMatch = message.match(/permission to use (\w+)/i);
136
+ if (toolMatch) {
137
+ tool = toolMatch[1];
138
+ }
139
+ // For Bash, try to extract the command (usually follows in the notification)
140
+ if (tool === 'Bash') {
141
+ // The full notification JSON might have more details
142
+ // For now, we'll use the message as-is
143
+ command = message;
144
+ }
145
+ // For file operations, try to extract the path
146
+ if (['Edit', 'Write', 'Read'].includes(tool)) {
147
+ // Look for a path pattern in the message
148
+ const pathMatch = message.match(/(?:file|path):\s*([^\s]+)/i);
149
+ if (pathMatch) {
150
+ filePath = pathMatch[1];
151
+ }
152
+ }
153
+ return {
154
+ tool,
155
+ command,
156
+ filePath,
157
+ message,
158
+ sessionId,
159
+ };
160
+ }
161
+ /**
162
+ * Build structured data for permission prompt
163
+ * Creates a selectable list with Allow, Allow Always, and Deny options
164
+ */
165
+ function buildPermissionStructuredData(prompt) {
166
+ // Build descriptive subtitle based on tool type
167
+ let subtitle = prompt.message;
168
+ if (prompt.command && prompt.tool === 'Bash') {
169
+ subtitle = prompt.command;
170
+ }
171
+ else if (prompt.filePath) {
172
+ subtitle = prompt.filePath;
109
173
  }
174
+ const items = [
175
+ {
176
+ id: 'allow',
177
+ title: 'Allow',
178
+ subtitle: `Grant permission for this operation`,
179
+ icon: 'checkmark-circle',
180
+ badgeVariant: 'success',
181
+ metadata: {
182
+ action: 'allow',
183
+ tool: prompt.tool,
184
+ command: prompt.command,
185
+ filePath: prompt.filePath,
186
+ },
187
+ },
188
+ {
189
+ id: 'allow_always',
190
+ title: 'Allow Always',
191
+ subtitle: 'Trust this tool for the session',
192
+ icon: 'shield-checkmark',
193
+ badgeVariant: 'primary',
194
+ metadata: {
195
+ action: 'allow_always',
196
+ tool: prompt.tool,
197
+ },
198
+ },
199
+ {
200
+ id: 'deny',
201
+ title: 'Deny',
202
+ subtitle: 'Block this operation',
203
+ icon: 'close-circle',
204
+ badgeVariant: 'error',
205
+ metadata: {
206
+ action: 'deny',
207
+ tool: prompt.tool,
208
+ },
209
+ },
210
+ ];
211
+ return {
212
+ displayType: 'list',
213
+ templateId: 'cc_permission_prompt',
214
+ data: {
215
+ items,
216
+ },
217
+ interactions: {
218
+ allowSelection: true,
219
+ allowMultiSelect: false,
220
+ },
221
+ metadata: {
222
+ sessionId: prompt.sessionId,
223
+ promptType: 'permission',
224
+ tool: prompt.tool,
225
+ originalMessage: prompt.message,
226
+ timestamp: new Date().toISOString(),
227
+ },
228
+ };
110
229
  }
111
230
  /**
112
231
  * Send a message to Mirra via the messaging adapter
232
+ *
233
+ * For permission prompts, includes structuredData with selectable options.
234
+ * The mobile app renders these as a tappable list (Allow/Deny buttons).
235
+ *
236
+ * For other notifications, sends plain text with automation metadata.
237
+ *
238
+ * @param requestId - Optional request ID for permission prompts (used for response routing)
113
239
  */
114
- async function sendToMirra(message) {
240
+ async function sendToMirra(message, structuredData, requestId) {
115
241
  const sdk = getSDK();
116
242
  const groupId = getGroupId();
117
243
  const sessionId = getSessionId();
@@ -127,23 +253,92 @@ async function sendToMirra(message) {
127
253
  // Critical for Flow-based reply routing: allows Flows to filter
128
254
  // replies to this specific Claude Code session
129
255
  sessionId,
256
+ // Include requestId for permission response routing
257
+ ...(requestId && { requestId }),
258
+ },
259
+ // Include structuredData for permission prompts (displayType: 'list' only)
260
+ ...(structuredData && { structuredData: [structuredData] }),
261
+ });
262
+ }
263
+ // ============================================================================
264
+ // Permission Response Polling (for local sessions)
265
+ // ============================================================================
266
+ const POLL_INTERVAL_MS = 1000; // Poll every 1 second
267
+ const POLL_TIMEOUT_MS = 2 * 60 * 60 * 1000; // 2 hour timeout
268
+ const REMINDER_INTERVAL_MS = 15 * 60 * 1000; // Send reminder every 15 minutes
269
+ /**
270
+ * Poll for a permission response from Mirra
271
+ *
272
+ * This can block for up to 2 hours, which is intentional for async remote use cases.
273
+ * The user might be away from their computer (on a plane, playing with kids, etc.)
274
+ * and will respond from Mirra when they have time.
275
+ *
276
+ * Sends periodic reminders to Mirra so the user knows the session is still waiting.
277
+ *
278
+ * Returns the action if received, or null if timeout/error
279
+ */
280
+ async function pollForPermissionResponse(requestId, sessionId, tool) {
281
+ const startTime = Date.now();
282
+ let lastReminderTime = startTime;
283
+ while (Date.now() - startTime < POLL_TIMEOUT_MS) {
284
+ const request = (0, config_1.getPendingPermissionRequest)(requestId);
285
+ if (request?.response) {
286
+ // Response received - clean up and return
287
+ (0, config_1.removePendingPermissionRequest)(requestId);
288
+ return request.response.action;
289
+ }
290
+ // Send periodic reminders to Mirra
291
+ const now = Date.now();
292
+ if (now - lastReminderTime >= REMINDER_INTERVAL_MS) {
293
+ const waitingMinutes = Math.floor((now - startTime) / 60000);
294
+ await sendWaitingReminder(sessionId, tool, waitingMinutes);
295
+ lastReminderTime = now;
296
+ }
297
+ // Wait before next poll
298
+ await new Promise(resolve => setTimeout(resolve, POLL_INTERVAL_MS));
299
+ }
300
+ // Timeout after 2 hours - clean up and return null
301
+ (0, config_1.removePendingPermissionRequest)(requestId);
302
+ return null;
303
+ }
304
+ /**
305
+ * Send a "still waiting" reminder to Mirra
306
+ */
307
+ async function sendWaitingReminder(sessionId, tool, waitingMinutes) {
308
+ try {
309
+ const sdk = getSDK();
310
+ const groupId = getGroupId();
311
+ await sdk.mirraMessaging.sendMessage({
312
+ groupId,
313
+ content: `⏳ Still waiting for permission response (${waitingMinutes} min)\n\nTool: ${tool}\n\nReply to the permission prompt above to continue.`,
314
+ automation: {
315
+ source: 'claude-code',
316
+ flowTitle: 'Claude Code',
317
+ isAutomated: true,
318
+ sessionId,
319
+ },
320
+ });
321
+ }
322
+ catch {
323
+ // Ignore errors sending reminders - don't break the polling loop
324
+ }
325
+ }
326
+ /**
327
+ * Send timeout notification to Mirra
328
+ * This is sent after 2 hours of waiting with no response
329
+ */
330
+ async function sendTimeoutNotification(sessionId, tool) {
331
+ const sdk = getSDK();
332
+ const groupId = getGroupId();
333
+ await sdk.mirraMessaging.sendMessage({
334
+ groupId,
335
+ content: `⏰ Permission request timed out after 2 hours.\n\nTool: ${tool}\n\nThe operation was denied. You may need to restart the task if you still want to proceed.`,
336
+ automation: {
337
+ source: 'claude-code',
338
+ flowTitle: 'Claude Code',
339
+ isAutomated: true,
340
+ sessionId,
130
341
  },
131
- structuredData: [{
132
- displayType: getDisplayType(message.type),
133
- templateId: `cc_${message.type}`,
134
- data: {
135
- ...message.data,
136
- // Include source info for potential custom rendering
137
- sourceType: 'claude_code',
138
- originalType: message.type,
139
- },
140
- metadata: {
141
- sessionId: message.sessionId,
142
- timestamp: message.timestamp,
143
- type: message.type,
144
- source: 'claude_code',
145
- }
146
- }]
147
342
  });
148
343
  }
149
344
  /**
@@ -154,6 +349,12 @@ async function sendToMirra(message) {
154
349
  * - notification_type: Type of notification (permission_prompt, assistant_response, etc.)
155
350
  * - session_id: Claude Code session identifier
156
351
  * - cwd: Current working directory
352
+ *
353
+ * For permission_prompt notifications, we build structured data with selectable
354
+ * options (Allow, Allow Always, Deny) that the mobile app renders as buttons.
355
+ *
356
+ * For local sessions (not Mirra-spawned), we poll for the user's response
357
+ * and output it to stdout for Claude Code to process.
157
358
  */
158
359
  async function handlePostMessage(stdinData) {
159
360
  if (!stdinData.trim()) {
@@ -171,9 +372,11 @@ async function handlePostMessage(stdinData) {
171
372
  // Not JSON, use raw text (legacy support)
172
373
  humanReadableMessage = stdinData;
173
374
  }
375
+ const sessionId = getSessionId();
376
+ const isLocalSession = !isMirraSpawnedSession();
174
377
  const message = {
175
378
  type: 'claude_code_output',
176
- sessionId: getSessionId(),
379
+ sessionId,
177
380
  timestamp: new Date().toISOString(),
178
381
  data: {
179
382
  content: humanReadableMessage,
@@ -184,7 +387,52 @@ async function handlePostMessage(stdinData) {
184
387
  workingDirectory: notificationData?.cwd,
185
388
  },
186
389
  };
187
- await sendToMirra(message);
390
+ // Build structured data for permission prompts
391
+ let structuredData;
392
+ let permissionPrompt = null;
393
+ let requestId;
394
+ if (notificationData) {
395
+ permissionPrompt = parsePermissionPrompt(notificationData, sessionId);
396
+ if (permissionPrompt) {
397
+ structuredData = buildPermissionStructuredData(permissionPrompt);
398
+ // For local sessions, store a pending request for polling
399
+ if (isLocalSession) {
400
+ requestId = (0, config_1.storePendingPermissionRequest)(sessionId);
401
+ // Add requestId to structured data metadata for response routing
402
+ if (structuredData.metadata) {
403
+ structuredData.metadata.requestId = requestId;
404
+ }
405
+ }
406
+ }
407
+ }
408
+ // Send message to Mirra
409
+ await sendToMirra(message, structuredData, requestId);
410
+ // For local sessions with permission prompts, poll for response
411
+ // This can block for up to 2 hours - intentional for async remote use cases
412
+ if (isLocalSession && permissionPrompt && requestId) {
413
+ const response = await pollForPermissionResponse(requestId, sessionId, permissionPrompt.tool);
414
+ if (response) {
415
+ // Output the response to stdout for Claude Code to process
416
+ // Claude Code permission hook expects JSON output with the decision
417
+ const hookResponse = {
418
+ decision: response === 'deny' ? 'deny' : 'allow',
419
+ allow_forever: response === 'allow_always',
420
+ };
421
+ process.stdout.write(JSON.stringify(hookResponse));
422
+ }
423
+ else {
424
+ // Timeout after 2 hours - notify Mirra and deny
425
+ // We deny rather than letting Claude Code "ask locally" because the user
426
+ // isn't at their computer - all follow-up must go through Mirra
427
+ await sendTimeoutNotification(sessionId, permissionPrompt.tool);
428
+ // Return explicit deny so Claude Code knows the decision
429
+ const hookResponse = {
430
+ decision: 'deny',
431
+ allow_forever: false,
432
+ };
433
+ process.stdout.write(JSON.stringify(hookResponse));
434
+ }
435
+ }
188
436
  }
189
437
  /**
190
438
  * Handle PostToolUse hook - tool execution results
@@ -1 +1 @@
1
- {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/commands/hook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/commands/hook.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;AAiiBH,gCAoBC;AAnjBD,8CAAgD;AAChD,sCAOmB;AAUnB;;GAEG;AACH,KAAK,UAAU,SAAS;IACtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,IAAI,GAAG,EAAE,CAAC;QAEd,sCAAsC;QACtC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACnC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;gBACjC,IAAI,IAAI,KAAK,CAAC;YAChB,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBAC3B,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,gBAAgB;YAChB,OAAO,CAAC,EAAE,CAAC,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,MAAM;IACb,MAAM,MAAM,GAAG,IAAA,mBAAU,GAAE,CAAC;IAC5B,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,IAAI,cAAQ,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,UAAU;IACjB,+EAA+E;IAC/E,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAC9C,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,sBAAsB;IACtB,MAAM,MAAM,GAAG,IAAA,mBAAU,GAAE,CAAC;IAC5B,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,MAAM,IAAI,KAAK,CACb,uFAAuF,CACxF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB;IAC5B,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;AACxC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,YAAY;IACnB,4DAA4D;IAC5D,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAChD,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,qDAAqD;IACrD,MAAM,YAAY,GAAG,IAAA,wBAAe,GAAE,CAAC;IACvC,IAAI,YAAY,EAAE,SAAS,EAAE,CAAC;QAC5B,OAAO,YAAY,CAAC,SAAS,CAAC;IAChC,CAAC;IAED,6CAA6C;IAC7C,yCAAyC;IACzC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,OAAO,IAAA,kCAAyB,EAAC,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,OAAgE;IAC1F,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,oBAAoB;YACvB,OAAQ,OAA4B,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QAC1D,KAAK,kBAAkB;YACrB,MAAM,IAAI,GAAG,OAA4B,CAAC;YAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YAChC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAClG,CAAC;YACD,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,aAAa,CAAC;QAC7C,KAAK,oBAAoB;YACvB,OAAQ,OAA4B,CAAC,IAAI,CAAC,OAAO,IAAI,WAAY,OAA4B,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAC9G;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB,CAC5B,gBAAwC,EACxC,SAAiB;IAEjB,8CAA8C;IAC9C,IAAI,gBAAgB,CAAC,iBAAiB,KAAK,mBAAmB,EAAE,CAAC;QAC/D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,IAAI,EAAE,CAAC;IAE/C,gDAAgD;IAChD,mBAAmB;IACnB,+CAA+C;IAC/C,+CAA+C;IAC/C,gDAAgD;IAChD,+CAA+C;IAE/C,IAAI,IAAI,GAAG,SAAS,CAAC;IACrB,IAAI,OAA2B,CAAC;IAChC,IAAI,QAA4B,CAAC;IAEjC,iCAAiC;IACjC,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC5D,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IAED,6EAA6E;IAC7E,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,qDAAqD;QACrD,uCAAuC;QACvC,OAAO,GAAG,OAAO,CAAC;IACpB,CAAC;IAED,+CAA+C;IAC/C,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,yCAAyC;QACzC,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC9D,IAAI,SAAS,EAAE,CAAC;YACd,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI;QACJ,OAAO;QACP,QAAQ;QACR,OAAO;QACP,SAAS;KACV,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,6BAA6B,CAAC,MAA4B;IACjE,gDAAgD;IAChD,IAAI,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC;IAC9B,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC7C,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC;IAC5B,CAAC;SAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC3B,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC7B,CAAC;IAED,MAAM,KAAK,GAAyB;QAClC;YACE,EAAE,EAAE,OAAO;YACX,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,qCAAqC;YAC/C,IAAI,EAAE,kBAAkB;YACxB,YAAY,EAAE,SAAS;YACvB,QAAQ,EAAE;gBACR,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B;SACF;QACD;YACE,EAAE,EAAE,cAAc;YAClB,KAAK,EAAE,cAAc;YACrB,QAAQ,EAAE,iCAAiC;YAC3C,IAAI,EAAE,kBAAkB;YACxB,YAAY,EAAE,SAAS;YACvB,QAAQ,EAAE;gBACR,MAAM,EAAE,cAAc;gBACtB,IAAI,EAAE,MAAM,CAAC,IAAI;aAClB;SACF;QACD;YACE,EAAE,EAAE,MAAM;YACV,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,sBAAsB;YAChC,IAAI,EAAE,cAAc;YACpB,YAAY,EAAE,OAAO;YACrB,QAAQ,EAAE;gBACR,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,MAAM,CAAC,IAAI;aAClB;SACF;KACF,CAAC;IAEF,OAAO;QACL,WAAW,EAAE,MAAM;QACnB,UAAU,EAAE,sBAAsB;QAClC,IAAI,EAAE;YACJ,KAAK;SACN;QACD,YAAY,EAAE;YACZ,cAAc,EAAE,IAAI;YACpB,gBAAgB,EAAE,KAAK;SACxB;QACD,QAAQ,EAAE;YACR,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,UAAU,EAAE,YAAY;YACxB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,eAAe,EAAE,MAAM,CAAC,OAAO;YAC/B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,WAAW,CACxB,OAAgE,EAChE,cAA+B,EAC/B,SAAkB;IAElB,MAAM,GAAG,GAAG,MAAM,EAAS,CAAC;IAC5B,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IAEjC,gCAAgC;IAChC,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAEhD,MAAM,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC;QACnC,OAAO;QACP,OAAO,EAAE,WAAW;QACpB,UAAU,EAAE;YACV,MAAM,EAAE,aAAa;YACrB,SAAS,EAAE,aAAa;YACxB,WAAW,EAAE,IAAI,EAAE,qDAAqD;YACxE,gEAAgE;YAChE,+CAA+C;YAC/C,SAAS;YACT,oDAAoD;YACpD,GAAG,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;SAChC;QACD,2EAA2E;QAC3E,GAAG,CAAC,cAAc,IAAI,EAAE,cAAc,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC;KAC5D,CAAC,CAAC;AACL,CAAC;AAED,+EAA+E;AAC/E,mDAAmD;AACnD,+EAA+E;AAE/E,MAAM,gBAAgB,GAAG,IAAI,CAAC,CAAC,sBAAsB;AACrD,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,iBAAiB;AAC7D,MAAM,oBAAoB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,iCAAiC;AAE9E;;;;;;;;;;GAUG;AACH,KAAK,UAAU,yBAAyB,CACtC,SAAiB,EACjB,SAAiB,EACjB,IAAY;IAEZ,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,IAAI,gBAAgB,GAAG,SAAS,CAAC;IAEjC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,eAAe,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,IAAA,oCAA2B,EAAC,SAAS,CAAC,CAAC;QAEvD,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;YACtB,0CAA0C;YAC1C,IAAA,uCAA8B,EAAC,SAAS,CAAC,CAAC;YAC1C,OAAO,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;QACjC,CAAC;QAED,mCAAmC;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,GAAG,GAAG,gBAAgB,IAAI,oBAAoB,EAAE,CAAC;YACnD,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC;YAC7D,MAAM,mBAAmB,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;YAC3D,gBAAgB,GAAG,GAAG,CAAC;QACzB,CAAC;QAED,wBAAwB;QACxB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,mDAAmD;IACnD,IAAA,uCAA8B,EAAC,SAAS,CAAC,CAAC;IAC1C,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,mBAAmB,CAAC,SAAiB,EAAE,IAAY,EAAE,cAAsB;IACxF,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,EAAS,CAAC;QAC5B,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAE7B,MAAM,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC;YACnC,OAAO;YACP,OAAO,EAAE,4CAA4C,cAAc,kBAAkB,IAAI,uDAAuD;YAChJ,UAAU,EAAE;gBACV,MAAM,EAAE,aAAa;gBACrB,SAAS,EAAE,aAAa;gBACxB,WAAW,EAAE,IAAI;gBACjB,SAAS;aACV;SACF,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,iEAAiE;IACnE,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,uBAAuB,CAAC,SAAiB,EAAE,IAAY;IACpE,MAAM,GAAG,GAAG,MAAM,EAAS,CAAC;IAC5B,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,MAAM,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC;QACnC,OAAO;QACP,OAAO,EAAE,0DAA0D,IAAI,8FAA8F;QACrK,UAAU,EAAE;YACV,MAAM,EAAE,aAAa;YACrB,SAAS,EAAE,aAAa;YACxB,WAAW,EAAE,IAAI;YACjB,SAAS;SACV;KACF,CAAC,CAAC;AACL,CAAC;AAcD;;;;;;;;;;;;;;GAcG;AACH,KAAK,UAAU,iBAAiB,CAAC,SAAiB;IAChD,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;QACtB,OAAO,CAAC,kBAAkB;IAC5B,CAAC;IAED,yCAAyC;IACzC,IAAI,gBAAgB,GAAkC,IAAI,CAAC;IAC3D,IAAI,oBAA4B,CAAC;IAEjC,IAAI,CAAC;QACH,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACzC,2DAA2D;QAC3D,oBAAoB,GAAG,gBAAgB,EAAE,OAAO,IAAI,SAAS,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,0CAA0C;QAC1C,oBAAoB,GAAG,SAAS,CAAC;IACnC,CAAC;IAED,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,cAAc,GAAG,CAAC,qBAAqB,EAAE,CAAC;IAEhD,MAAM,OAAO,GAAqB;QAChC,IAAI,EAAE,oBAAoB;QAC1B,SAAS;QACT,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,IAAI,EAAE;YACJ,OAAO,EAAE,oBAAoB;YAC7B,IAAI,EAAE,WAAW;YACjB,6CAA6C;YAC7C,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB;YACrD,eAAe,EAAE,gBAAgB,EAAE,UAAU;YAC7C,gBAAgB,EAAE,gBAAgB,EAAE,GAAG;SACxC;KACF,CAAC;IAEF,+CAA+C;IAC/C,IAAI,cAA0C,CAAC;IAC/C,IAAI,gBAAgB,GAAgC,IAAI,CAAC;IACzD,IAAI,SAA6B,CAAC;IAElC,IAAI,gBAAgB,EAAE,CAAC;QACrB,gBAAgB,GAAG,qBAAqB,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;QACtE,IAAI,gBAAgB,EAAE,CAAC;YACrB,cAAc,GAAG,6BAA6B,CAAC,gBAAgB,CAAC,CAAC;YAEjE,0DAA0D;YAC1D,IAAI,cAAc,EAAE,CAAC;gBACnB,SAAS,GAAG,IAAA,sCAA6B,EAAC,SAAS,CAAC,CAAC;gBACrD,iEAAiE;gBACjE,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC;oBAC5B,cAAc,CAAC,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;gBAChD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,MAAM,WAAW,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;IAEtD,gEAAgE;IAChE,4EAA4E;IAC5E,IAAI,cAAc,IAAI,gBAAgB,IAAI,SAAS,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,MAAM,yBAAyB,CAAC,SAAS,EAAE,SAAS,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAE9F,IAAI,QAAQ,EAAE,CAAC;YACb,2DAA2D;YAC3D,oEAAoE;YACpE,MAAM,YAAY,GAAG;gBACnB,QAAQ,EAAE,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;gBAChD,aAAa,EAAE,QAAQ,KAAK,cAAc;aAC3C,CAAC;YACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,gDAAgD;YAChD,yEAAyE;YACzE,gEAAgE;YAChE,MAAM,uBAAuB,CAAC,SAAS,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAEhE,yDAAyD;YACzD,MAAM,YAAY,GAAG;gBACnB,QAAQ,EAAE,MAAM;gBAChB,aAAa,EAAE,KAAK;aACrB,CAAC;YACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,iBAAiB,CAAC,UAAkB,EAAE,SAAkB;IACrE,oDAAoD;IACpD,+DAA+D;IAC/D,OAAO;AACT,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,UAAU,CAAC,SAAiB;IACzC,MAAM,OAAO,GAAqB;QAChC,IAAI,EAAE,oBAAoB;QAC1B,SAAS,EAAE,YAAY,EAAE;QACzB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,IAAI,EAAE;YACJ,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,eAAe;SAC7C;KACF,CAAC;IAEF,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,UAAU,CAAC,KAAa,EAAE,IAAc;IAC5D,MAAM,SAAS,GAAG,MAAM,SAAS,EAAE,CAAC;IAEpC,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,cAAc,CAAC;QACpB,KAAK,cAAc,EAAG,iBAAiB;YACrC,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;YACnC,MAAM;QAER,KAAK,WAAW;YACd,MAAM,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,MAAM;QAER,KAAK,MAAM;YACT,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC;YAC5B,MAAM;QAER;YACE,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAC;IACpD,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAuMD;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAgGtE"}
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAoBH,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AA8eD;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAyItE"}