mirra-cc-bridge 0.1.9 → 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.
- package/dist/commands/hook.d.ts.map +1 -1
- package/dist/commands/hook.js +149 -6
- package/dist/commands/hook.js.map +1 -1
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +320 -19
- package/dist/commands/start.js.map +1 -1
- package/dist/config.d.ts +35 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +125 -0
- package/dist/config.js.map +1 -1
- package/dist/types.d.ts +24 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../src/commands/hook.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
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"}
|
package/dist/commands/hook.js
CHANGED
|
@@ -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
|
-
//
|
|
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
|
-
//
|
|
76
|
-
|
|
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
|
|
@@ -217,8 +234,10 @@ function buildPermissionStructuredData(prompt) {
|
|
|
217
234
|
* The mobile app renders these as a tappable list (Allow/Deny buttons).
|
|
218
235
|
*
|
|
219
236
|
* For other notifications, sends plain text with automation metadata.
|
|
237
|
+
*
|
|
238
|
+
* @param requestId - Optional request ID for permission prompts (used for response routing)
|
|
220
239
|
*/
|
|
221
|
-
async function sendToMirra(message, structuredData) {
|
|
240
|
+
async function sendToMirra(message, structuredData, requestId) {
|
|
222
241
|
const sdk = getSDK();
|
|
223
242
|
const groupId = getGroupId();
|
|
224
243
|
const sessionId = getSessionId();
|
|
@@ -234,11 +253,94 @@ async function sendToMirra(message, structuredData) {
|
|
|
234
253
|
// Critical for Flow-based reply routing: allows Flows to filter
|
|
235
254
|
// replies to this specific Claude Code session
|
|
236
255
|
sessionId,
|
|
256
|
+
// Include requestId for permission response routing
|
|
257
|
+
...(requestId && { requestId }),
|
|
237
258
|
},
|
|
238
259
|
// Include structuredData for permission prompts (displayType: 'list' only)
|
|
239
260
|
...(structuredData && { structuredData: [structuredData] }),
|
|
240
261
|
});
|
|
241
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,
|
|
341
|
+
},
|
|
342
|
+
});
|
|
343
|
+
}
|
|
242
344
|
/**
|
|
243
345
|
* Handle PostMessage hook - Claude's response text
|
|
244
346
|
*
|
|
@@ -250,6 +352,9 @@ async function sendToMirra(message, structuredData) {
|
|
|
250
352
|
*
|
|
251
353
|
* For permission_prompt notifications, we build structured data with selectable
|
|
252
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.
|
|
253
358
|
*/
|
|
254
359
|
async function handlePostMessage(stdinData) {
|
|
255
360
|
if (!stdinData.trim()) {
|
|
@@ -268,6 +373,7 @@ async function handlePostMessage(stdinData) {
|
|
|
268
373
|
humanReadableMessage = stdinData;
|
|
269
374
|
}
|
|
270
375
|
const sessionId = getSessionId();
|
|
376
|
+
const isLocalSession = !isMirraSpawnedSession();
|
|
271
377
|
const message = {
|
|
272
378
|
type: 'claude_code_output',
|
|
273
379
|
sessionId,
|
|
@@ -283,13 +389,50 @@ async function handlePostMessage(stdinData) {
|
|
|
283
389
|
};
|
|
284
390
|
// Build structured data for permission prompts
|
|
285
391
|
let structuredData;
|
|
392
|
+
let permissionPrompt = null;
|
|
393
|
+
let requestId;
|
|
286
394
|
if (notificationData) {
|
|
287
|
-
|
|
395
|
+
permissionPrompt = parsePermissionPrompt(notificationData, sessionId);
|
|
288
396
|
if (permissionPrompt) {
|
|
289
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));
|
|
290
434
|
}
|
|
291
435
|
}
|
|
292
|
-
await sendToMirra(message, structuredData);
|
|
293
436
|
}
|
|
294
437
|
/**
|
|
295
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":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
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"}
|
package/dist/commands/start.js
CHANGED
|
@@ -5,6 +5,39 @@
|
|
|
5
5
|
* This server receives commands from the Mirra mobile app via the PC resource.
|
|
6
6
|
* It manages Claude Code sessions and creates Flows for reply routing.
|
|
7
7
|
*/
|
|
8
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
+
if (k2 === undefined) k2 = k;
|
|
10
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
}) : (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
}));
|
|
19
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
20
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
21
|
+
}) : function(o, v) {
|
|
22
|
+
o["default"] = v;
|
|
23
|
+
});
|
|
24
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
+
var ownKeys = function(o) {
|
|
26
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
+
var ar = [];
|
|
28
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
return ownKeys(o);
|
|
32
|
+
};
|
|
33
|
+
return function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
})();
|
|
8
41
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
42
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
43
|
};
|
|
@@ -12,11 +45,108 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
45
|
exports.startServer = startServer;
|
|
13
46
|
const chalk_1 = __importDefault(require("chalk"));
|
|
14
47
|
const express_1 = __importDefault(require("express"));
|
|
48
|
+
const os = __importStar(require("os"));
|
|
15
49
|
const sdk_1 = require("@mirra-messenger/sdk");
|
|
16
50
|
const config_1 = require("../config");
|
|
17
51
|
const session_manager_1 = require("../session-manager");
|
|
18
52
|
const tunnel_1 = require("../tunnel");
|
|
19
53
|
let sessionManager;
|
|
54
|
+
let localSessionFlowId;
|
|
55
|
+
// ============================================================================
|
|
56
|
+
// Local Session Flow Provisioning
|
|
57
|
+
// ============================================================================
|
|
58
|
+
/**
|
|
59
|
+
* Create a Flow for routing replies to local Claude Code sessions
|
|
60
|
+
* This enables Mirra users to respond to permission prompts from direct Claude Code usage
|
|
61
|
+
*/
|
|
62
|
+
async function ensureLocalSessionFlow(sdk, groupId, pcResourceId) {
|
|
63
|
+
try {
|
|
64
|
+
// Get or create stable local session ID
|
|
65
|
+
const sessionId = (0, config_1.getOrCreateLocalSessionId)(groupId);
|
|
66
|
+
const existingSession = (0, config_1.getLocalSession)();
|
|
67
|
+
// Check if Flow already exists and is valid
|
|
68
|
+
if (existingSession?.flowId) {
|
|
69
|
+
try {
|
|
70
|
+
const existingFlow = await sdk.flows.get(existingSession.flowId);
|
|
71
|
+
if (existingFlow && existingFlow.status === 'active') {
|
|
72
|
+
console.log(chalk_1.default.gray(` Using existing local session Flow: ${existingSession.flowId}`));
|
|
73
|
+
localSessionFlowId = existingSession.flowId;
|
|
74
|
+
return existingSession.flowId;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
// Flow doesn't exist or is invalid - create a new one
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
// Fetch the router script ID
|
|
82
|
+
const routerResult = await sdk.scripts.getSystemScript('claude-code-router');
|
|
83
|
+
const routerScriptId = routerResult.scriptId;
|
|
84
|
+
// Create new Flow for local session
|
|
85
|
+
const flow = await sdk.flows.createEventFlow({
|
|
86
|
+
title: `Claude Code Local Session`,
|
|
87
|
+
description: 'Routes mobile replies to local Claude Code sessions (direct usage)',
|
|
88
|
+
status: 'active',
|
|
89
|
+
trigger: {
|
|
90
|
+
type: 'event',
|
|
91
|
+
config: {
|
|
92
|
+
eventSource: 'mirra',
|
|
93
|
+
rootCondition: {
|
|
94
|
+
operator: 'and',
|
|
95
|
+
conditions: [
|
|
96
|
+
{
|
|
97
|
+
// Match replies to messages from this local session
|
|
98
|
+
field: 'mirra.replyTo.automation.sessionId',
|
|
99
|
+
operator: 'equals',
|
|
100
|
+
value: sessionId,
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
// Only in the configured group
|
|
104
|
+
field: 'mirra.groupId',
|
|
105
|
+
operator: 'equals',
|
|
106
|
+
value: groupId,
|
|
107
|
+
},
|
|
108
|
+
],
|
|
109
|
+
},
|
|
110
|
+
},
|
|
111
|
+
},
|
|
112
|
+
scriptId: routerScriptId,
|
|
113
|
+
scriptInput: {
|
|
114
|
+
sessionId,
|
|
115
|
+
pcResourceId,
|
|
116
|
+
isLocalSession: true,
|
|
117
|
+
},
|
|
118
|
+
});
|
|
119
|
+
// Save Flow ID to config
|
|
120
|
+
(0, config_1.setLocalSessionFlowId)(flow.id);
|
|
121
|
+
localSessionFlowId = flow.id;
|
|
122
|
+
console.log(chalk_1.default.green(` [+] Local session routing enabled`));
|
|
123
|
+
console.log(chalk_1.default.gray(` Session ID: ${sessionId}`));
|
|
124
|
+
console.log(chalk_1.default.gray(` Flow ID: ${flow.id}`));
|
|
125
|
+
return flow.id;
|
|
126
|
+
}
|
|
127
|
+
catch (error) {
|
|
128
|
+
console.log(chalk_1.default.yellow(` [!] Could not create local session Flow: ${error.message}`));
|
|
129
|
+
console.log(chalk_1.default.gray(` Local Claude Code sessions will not receive Mirra responses`));
|
|
130
|
+
return undefined;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Delete the local session Flow
|
|
135
|
+
*/
|
|
136
|
+
async function deleteLocalSessionFlow(sdk) {
|
|
137
|
+
const localSession = (0, config_1.getLocalSession)();
|
|
138
|
+
const flowId = localSessionFlowId || localSession?.flowId;
|
|
139
|
+
if (!flowId) {
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
try {
|
|
143
|
+
await sdk.flows.delete(flowId);
|
|
144
|
+
console.log(chalk_1.default.gray(` Deleted local session Flow: ${flowId}`));
|
|
145
|
+
}
|
|
146
|
+
catch (error) {
|
|
147
|
+
console.log(chalk_1.default.yellow(` Could not delete local session Flow: ${error.message}`));
|
|
148
|
+
}
|
|
149
|
+
}
|
|
20
150
|
/**
|
|
21
151
|
* Create the Express app with routes
|
|
22
152
|
*/
|
|
@@ -128,13 +258,39 @@ function createApp() {
|
|
|
128
258
|
res.status(400).json({ error: `Invalid action: ${action}. Must be allow, allow_always, or deny` });
|
|
129
259
|
return;
|
|
130
260
|
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
261
|
+
// Check if this is a local session (by checking if we have a matching managed session)
|
|
262
|
+
const managedSession = sessionManager.getSession(sessionId);
|
|
263
|
+
if (managedSession) {
|
|
264
|
+
// Managed session - send response directly to pty
|
|
265
|
+
await sessionManager.sendUserResponse(sessionId, {
|
|
266
|
+
sessionId,
|
|
267
|
+
action: action,
|
|
268
|
+
tool: selection.metadata?.tool,
|
|
269
|
+
command: selection.metadata?.command,
|
|
270
|
+
filePath: selection.metadata?.filePath,
|
|
271
|
+
});
|
|
272
|
+
console.log(chalk_1.default.gray(`[Managed Session ${sessionId}] Permission response: ${action}`));
|
|
273
|
+
}
|
|
274
|
+
else {
|
|
275
|
+
// Local session - store response for hook polling
|
|
276
|
+
const requestId = selection.metadata?.requestId;
|
|
277
|
+
if (requestId) {
|
|
278
|
+
const stored = (0, config_1.storePermissionResponse)(requestId, action);
|
|
279
|
+
if (stored) {
|
|
280
|
+
console.log(chalk_1.default.gray(`[Local Session ${sessionId}] Permission response stored: ${action} (requestId: ${requestId})`));
|
|
281
|
+
}
|
|
282
|
+
else {
|
|
283
|
+
console.log(chalk_1.default.yellow(`[Local Session ${sessionId}] Could not store response - request not found or expired`));
|
|
284
|
+
res.status(404).json({ error: 'Permission request not found or expired' });
|
|
285
|
+
return;
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
else {
|
|
289
|
+
console.log(chalk_1.default.yellow(`[Local Session ${sessionId}] No requestId provided - cannot route response`));
|
|
290
|
+
res.status(400).json({ error: 'requestId is required for local session responses' });
|
|
291
|
+
return;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
138
294
|
res.json({ success: true, action });
|
|
139
295
|
}
|
|
140
296
|
catch (error) {
|
|
@@ -227,11 +383,114 @@ function validateSetup(config) {
|
|
|
227
383
|
if (!(0, config_1.hooksConfigured)()) {
|
|
228
384
|
missing.push('Claude Code hooks not configured');
|
|
229
385
|
}
|
|
230
|
-
|
|
231
|
-
missing.push('PC not registered as Mirra resource');
|
|
232
|
-
}
|
|
386
|
+
// Note: pcResourceId is no longer required - we auto-register if missing
|
|
233
387
|
return { valid: missing.length === 0, missing };
|
|
234
388
|
}
|
|
389
|
+
/**
|
|
390
|
+
* Auto-register this PC as a Mirra resource if not already registered
|
|
391
|
+
* This enables users to call spawnSession from Mirra to start sessions on this PC
|
|
392
|
+
*/
|
|
393
|
+
async function autoRegisterIfNeeded(sdk, tunnelUrl) {
|
|
394
|
+
const config = (0, config_1.loadConfig)();
|
|
395
|
+
// Already registered - just update the endpoint
|
|
396
|
+
if (config?.pcResourceId) {
|
|
397
|
+
return config.pcResourceId;
|
|
398
|
+
}
|
|
399
|
+
console.log(chalk_1.default.gray('Auto-registering PC as Mirra resource...'));
|
|
400
|
+
try {
|
|
401
|
+
const pcName = `${os.hostname()} - Claude Code`;
|
|
402
|
+
// Create new resource
|
|
403
|
+
const resource = await sdk.resources.create({
|
|
404
|
+
name: pcName,
|
|
405
|
+
description: `Claude Code on ${os.hostname()}`,
|
|
406
|
+
resourceType: 'integration',
|
|
407
|
+
category: 'development',
|
|
408
|
+
isPrivate: true,
|
|
409
|
+
endpoint: {
|
|
410
|
+
baseUrl: tunnelUrl,
|
|
411
|
+
authentication: 'none',
|
|
412
|
+
methods: [
|
|
413
|
+
{
|
|
414
|
+
name: 'spawnSession',
|
|
415
|
+
httpMethod: 'POST',
|
|
416
|
+
path: '/sessions',
|
|
417
|
+
description: 'Spawn a new Claude Code session',
|
|
418
|
+
parameters: {
|
|
419
|
+
workingDir: { type: 'string', required: false },
|
|
420
|
+
initialPrompt: { type: 'string', required: true },
|
|
421
|
+
groupId: { type: 'string', required: true },
|
|
422
|
+
},
|
|
423
|
+
response: { type: 'object' },
|
|
424
|
+
},
|
|
425
|
+
{
|
|
426
|
+
name: 'sendInput',
|
|
427
|
+
httpMethod: 'POST',
|
|
428
|
+
path: '/sessions/{sessionId}/input',
|
|
429
|
+
description: 'Send input to a session',
|
|
430
|
+
parameters: {
|
|
431
|
+
sessionId: { type: 'string', required: true },
|
|
432
|
+
input: { type: 'string', required: true },
|
|
433
|
+
},
|
|
434
|
+
response: { type: 'object' },
|
|
435
|
+
},
|
|
436
|
+
{
|
|
437
|
+
name: 'killSession',
|
|
438
|
+
httpMethod: 'DELETE',
|
|
439
|
+
path: '/sessions/{sessionId}',
|
|
440
|
+
description: 'Kill a session',
|
|
441
|
+
parameters: {
|
|
442
|
+
sessionId: { type: 'string', required: true },
|
|
443
|
+
},
|
|
444
|
+
response: { type: 'object' },
|
|
445
|
+
},
|
|
446
|
+
{
|
|
447
|
+
name: 'listSessions',
|
|
448
|
+
httpMethod: 'GET',
|
|
449
|
+
path: '/sessions',
|
|
450
|
+
description: 'List active sessions',
|
|
451
|
+
parameters: {},
|
|
452
|
+
response: { type: 'array' },
|
|
453
|
+
},
|
|
454
|
+
{
|
|
455
|
+
name: 'respond',
|
|
456
|
+
httpMethod: 'POST',
|
|
457
|
+
path: '/respond',
|
|
458
|
+
description: 'Respond to a permission prompt (allow/deny)',
|
|
459
|
+
parameters: {
|
|
460
|
+
sessionId: { type: 'string', required: true },
|
|
461
|
+
selection: { type: 'object', required: true },
|
|
462
|
+
},
|
|
463
|
+
response: { type: 'object' },
|
|
464
|
+
},
|
|
465
|
+
],
|
|
466
|
+
},
|
|
467
|
+
pricing: { model: 'free' },
|
|
468
|
+
});
|
|
469
|
+
// Save resource ID
|
|
470
|
+
(0, config_1.setConfigValue)('pcResourceId', resource.id);
|
|
471
|
+
console.log(chalk_1.default.green(' [+] PC registered as Mirra resource'));
|
|
472
|
+
console.log(chalk_1.default.gray(` Resource ID: ${resource.id}`));
|
|
473
|
+
// Auto-install the resource for the user
|
|
474
|
+
try {
|
|
475
|
+
await sdk.resources.install(resource.id);
|
|
476
|
+
console.log(chalk_1.default.green(' [+] Resource auto-installed'));
|
|
477
|
+
}
|
|
478
|
+
catch (e) {
|
|
479
|
+
if (e.message?.includes('already installed')) {
|
|
480
|
+
// Already installed - fine
|
|
481
|
+
}
|
|
482
|
+
else {
|
|
483
|
+
console.log(chalk_1.default.yellow(` [!] Could not auto-install: ${e.message}`));
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
return resource.id;
|
|
487
|
+
}
|
|
488
|
+
catch (error) {
|
|
489
|
+
console.log(chalk_1.default.yellow(` [!] Auto-registration failed: ${error.message}`));
|
|
490
|
+
console.log(chalk_1.default.gray(' You can manually register with: mirra-cc-bridge register'));
|
|
491
|
+
return undefined;
|
|
492
|
+
}
|
|
493
|
+
}
|
|
235
494
|
/**
|
|
236
495
|
* Start the bridge server
|
|
237
496
|
*/
|
|
@@ -254,17 +513,15 @@ async function startServer(options) {
|
|
|
254
513
|
console.log(chalk_1.default.gray(' mirra-cc-bridge register - Register PC as Mirra resource\n'));
|
|
255
514
|
process.exit(1);
|
|
256
515
|
}
|
|
257
|
-
// Initialize session manager with API key
|
|
258
|
-
|
|
516
|
+
// Initialize session manager with API key
|
|
517
|
+
// pcResourceId will be set after auto-registration if needed
|
|
518
|
+
sessionManager = new session_manager_1.SessionManager(config.apiKey);
|
|
259
519
|
let tunnelUrl = null;
|
|
260
520
|
const sdk = new sdk_1.MirraSDK({ apiKey: config.apiKey });
|
|
261
521
|
// Start tunnel (required for bidirectional communication)
|
|
262
522
|
console.log(chalk_1.default.gray('Starting tunnel...'));
|
|
263
523
|
try {
|
|
264
524
|
tunnelUrl = await (0, tunnel_1.startTunnel)(port);
|
|
265
|
-
// Update resource endpoint with new tunnel URL
|
|
266
|
-
console.log(chalk_1.default.gray('Updating resource endpoint...'));
|
|
267
|
-
await updateResourceEndpoint(sdk, config.pcResourceId, tunnelUrl);
|
|
268
525
|
}
|
|
269
526
|
catch (error) {
|
|
270
527
|
console.error(chalk_1.default.red(`\nFailed to start tunnel: ${error.message}`));
|
|
@@ -272,6 +529,33 @@ async function startServer(options) {
|
|
|
272
529
|
console.log(chalk_1.default.gray('Please check your network connection and try again.\n'));
|
|
273
530
|
process.exit(1);
|
|
274
531
|
}
|
|
532
|
+
// Auto-register PC as resource if not registered
|
|
533
|
+
// This enables Mirra users to call spawnSession on this PC
|
|
534
|
+
let pcResourceId = config.pcResourceId;
|
|
535
|
+
if (!pcResourceId) {
|
|
536
|
+
pcResourceId = await autoRegisterIfNeeded(sdk, tunnelUrl);
|
|
537
|
+
}
|
|
538
|
+
// Update resource endpoint with new tunnel URL (if we have a resource)
|
|
539
|
+
if (pcResourceId) {
|
|
540
|
+
console.log(chalk_1.default.gray('Updating resource endpoint...'));
|
|
541
|
+
await updateResourceEndpoint(sdk, pcResourceId, tunnelUrl);
|
|
542
|
+
}
|
|
543
|
+
else {
|
|
544
|
+
console.log(chalk_1.default.yellow(' [!] No PC resource - remote spawn disabled'));
|
|
545
|
+
console.log(chalk_1.default.gray(' Run `mirra-cc-bridge register` to enable remote control'));
|
|
546
|
+
}
|
|
547
|
+
// Set up local session Flow for direct Claude Code usage
|
|
548
|
+
console.log(chalk_1.default.gray('Setting up local session routing...'));
|
|
549
|
+
if (config.groupId && pcResourceId) {
|
|
550
|
+
await ensureLocalSessionFlow(sdk, config.groupId, pcResourceId);
|
|
551
|
+
}
|
|
552
|
+
else if (!config.groupId) {
|
|
553
|
+
console.log(chalk_1.default.yellow(' [!] No groupId configured - local session routing disabled'));
|
|
554
|
+
console.log(chalk_1.default.gray(' Run `mirra-cc-bridge configure` to set a default group'));
|
|
555
|
+
}
|
|
556
|
+
else {
|
|
557
|
+
console.log(chalk_1.default.yellow(' [!] No PC resource - local session routing disabled'));
|
|
558
|
+
}
|
|
275
559
|
// Create and start Express app
|
|
276
560
|
const app = createApp();
|
|
277
561
|
const server = app.listen(port, () => {
|
|
@@ -292,13 +576,26 @@ async function startServer(options) {
|
|
|
292
576
|
console.log(chalk_1.default.gray(' POST /sessions/:id/input send input'));
|
|
293
577
|
console.log(chalk_1.default.gray(' DELETE /sessions/:id kill session'));
|
|
294
578
|
console.log(chalk_1.default.gray(' POST /respond respond to permission prompt'));
|
|
295
|
-
// Show connection status
|
|
579
|
+
// Show connection status
|
|
296
580
|
console.log(chalk_1.default.bold('\nConnection Status:'));
|
|
297
581
|
console.log(chalk_1.default.green(' [+] Hooks configured') + chalk_1.default.gray(' - Claude Code output syncs to Mirra'));
|
|
298
582
|
console.log(chalk_1.default.green(' [+] Tunnel connected') + chalk_1.default.gray(` - ${tunnelUrl}`));
|
|
299
|
-
|
|
583
|
+
if (pcResourceId) {
|
|
584
|
+
console.log(chalk_1.default.green(' [+] PC registered') + chalk_1.default.gray(' - Can receive commands from Mirra'));
|
|
585
|
+
}
|
|
586
|
+
else {
|
|
587
|
+
console.log(chalk_1.default.yellow(' [-] PC not registered') + chalk_1.default.gray(' - Remote spawn disabled'));
|
|
588
|
+
}
|
|
589
|
+
if (localSessionFlowId) {
|
|
590
|
+
console.log(chalk_1.default.green(' [+] Local session routing') + chalk_1.default.gray(' - Direct Claude Code syncs to Mirra'));
|
|
591
|
+
}
|
|
300
592
|
console.log(chalk_1.default.green.bold('\n> Ready'));
|
|
301
|
-
|
|
593
|
+
if (pcResourceId) {
|
|
594
|
+
console.log(chalk_1.default.gray(' Two-way communication with Mirra enabled'));
|
|
595
|
+
}
|
|
596
|
+
else {
|
|
597
|
+
console.log(chalk_1.default.gray(' One-way sync enabled (Claude Code → Mirra)'));
|
|
598
|
+
}
|
|
302
599
|
console.log(chalk_1.default.gray(' Ctrl+C to stop\n'));
|
|
303
600
|
// Handle shutdown
|
|
304
601
|
const shutdown = async () => {
|
|
@@ -307,8 +604,12 @@ async function startServer(options) {
|
|
|
307
604
|
if ((0, tunnel_1.getTunnelUrl)()) {
|
|
308
605
|
await (0, tunnel_1.stopTunnel)();
|
|
309
606
|
}
|
|
310
|
-
// Kill all sessions
|
|
607
|
+
// Kill all managed sessions
|
|
311
608
|
await sessionManager.killAllSessions();
|
|
609
|
+
// Clean up local session Flow and state
|
|
610
|
+
console.log(chalk_1.default.gray('Cleaning up local session...'));
|
|
611
|
+
await deleteLocalSessionFlow(sdk);
|
|
612
|
+
(0, config_1.clearLocalSession)();
|
|
312
613
|
server.close(() => {
|
|
313
614
|
console.log(chalk_1.default.green('[+] Server stopped'));
|
|
314
615
|
process.exit(0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Configuration management for Mirra CC Bridge
|
|
3
3
|
*/
|
|
4
|
-
import { BridgeConfig } from './types';
|
|
4
|
+
import { BridgeConfig, LocalSession, PendingPermissionRequest } from './types';
|
|
5
5
|
/**
|
|
6
6
|
* Load configuration from file
|
|
7
7
|
*/
|
|
@@ -34,4 +34,38 @@ export declare function getConfigPath(): string;
|
|
|
34
34
|
* Get the config directory path
|
|
35
35
|
*/
|
|
36
36
|
export declare function getConfigDir(): string;
|
|
37
|
+
/**
|
|
38
|
+
* Get or create a stable local session ID
|
|
39
|
+
* This ensures the same session ID is used across hook invocations
|
|
40
|
+
*/
|
|
41
|
+
export declare function getOrCreateLocalSessionId(groupId: string): string;
|
|
42
|
+
/**
|
|
43
|
+
* Get current local session info
|
|
44
|
+
*/
|
|
45
|
+
export declare function getLocalSession(): LocalSession | undefined;
|
|
46
|
+
/**
|
|
47
|
+
* Set the Flow ID for the local session
|
|
48
|
+
*/
|
|
49
|
+
export declare function setLocalSessionFlowId(flowId: string): void;
|
|
50
|
+
/**
|
|
51
|
+
* Clear local session state (for cleanup on shutdown)
|
|
52
|
+
*/
|
|
53
|
+
export declare function clearLocalSession(): void;
|
|
54
|
+
/**
|
|
55
|
+
* Store a pending permission request
|
|
56
|
+
* Returns the request ID for polling
|
|
57
|
+
*/
|
|
58
|
+
export declare function storePendingPermissionRequest(sessionId: string): string;
|
|
59
|
+
/**
|
|
60
|
+
* Get a pending permission request by ID
|
|
61
|
+
*/
|
|
62
|
+
export declare function getPendingPermissionRequest(requestId: string): PendingPermissionRequest | undefined;
|
|
63
|
+
/**
|
|
64
|
+
* Store response for a pending permission request
|
|
65
|
+
*/
|
|
66
|
+
export declare function storePermissionResponse(requestId: string, action: 'allow' | 'allow_always' | 'deny'): boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Remove a pending permission request (after it's been handled)
|
|
69
|
+
*/
|
|
70
|
+
export declare function removePendingPermissionRequest(requestId: string): void;
|
|
37
71
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAU/E;;GAEG;AACH,wBAAgB,UAAU,IAAI,YAAY,GAAG,IAAI,CAYhD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAIrD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,YAAY,EACzD,GAAG,EAAE,CAAC,GACL,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAG7B;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,YAAY,EACzD,GAAG,EAAE,CAAC,EACN,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GACrB,IAAI,CAIN;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAGtC;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAGzC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAMD;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAsBjE;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,YAAY,GAAG,SAAS,CAG1D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAM1D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAQxC;AAQD;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CA0BvE;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,wBAAwB,GAAG,SAAS,CAGnG;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,OAAO,GAAG,cAAc,GAAG,MAAM,GACxC,OAAO,CAkBT;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAQtE"}
|
package/dist/config.js
CHANGED
|
@@ -11,6 +11,14 @@ exports.isConfigured = isConfigured;
|
|
|
11
11
|
exports.hooksConfigured = hooksConfigured;
|
|
12
12
|
exports.getConfigPath = getConfigPath;
|
|
13
13
|
exports.getConfigDir = getConfigDir;
|
|
14
|
+
exports.getOrCreateLocalSessionId = getOrCreateLocalSessionId;
|
|
15
|
+
exports.getLocalSession = getLocalSession;
|
|
16
|
+
exports.setLocalSessionFlowId = setLocalSessionFlowId;
|
|
17
|
+
exports.clearLocalSession = clearLocalSession;
|
|
18
|
+
exports.storePendingPermissionRequest = storePendingPermissionRequest;
|
|
19
|
+
exports.getPendingPermissionRequest = getPendingPermissionRequest;
|
|
20
|
+
exports.storePermissionResponse = storePermissionResponse;
|
|
21
|
+
exports.removePendingPermissionRequest = removePendingPermissionRequest;
|
|
14
22
|
const os_1 = require("os");
|
|
15
23
|
const fs_1 = require("fs");
|
|
16
24
|
const path_1 = require("path");
|
|
@@ -85,4 +93,121 @@ function getConfigPath() {
|
|
|
85
93
|
function getConfigDir() {
|
|
86
94
|
return CONFIG_DIR;
|
|
87
95
|
}
|
|
96
|
+
// ============================================================================
|
|
97
|
+
// Local Session Management
|
|
98
|
+
// ============================================================================
|
|
99
|
+
/**
|
|
100
|
+
* Get or create a stable local session ID
|
|
101
|
+
* This ensures the same session ID is used across hook invocations
|
|
102
|
+
*/
|
|
103
|
+
function getOrCreateLocalSessionId(groupId) {
|
|
104
|
+
const config = loadConfig();
|
|
105
|
+
// Return existing session ID if it exists and matches the group
|
|
106
|
+
if (config?.localSession?.sessionId && config.localSession.groupId === groupId) {
|
|
107
|
+
return config.localSession.sessionId;
|
|
108
|
+
}
|
|
109
|
+
// Generate new stable session ID
|
|
110
|
+
const sessionId = `cc_local_${Date.now()}_${Math.random().toString(36).substring(2, 8)}`;
|
|
111
|
+
const localSession = {
|
|
112
|
+
sessionId,
|
|
113
|
+
groupId,
|
|
114
|
+
createdAt: new Date().toISOString(),
|
|
115
|
+
};
|
|
116
|
+
const newConfig = config || {};
|
|
117
|
+
newConfig.localSession = localSession;
|
|
118
|
+
saveConfig(newConfig);
|
|
119
|
+
return sessionId;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Get current local session info
|
|
123
|
+
*/
|
|
124
|
+
function getLocalSession() {
|
|
125
|
+
const config = loadConfig();
|
|
126
|
+
return config?.localSession;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Set the Flow ID for the local session
|
|
130
|
+
*/
|
|
131
|
+
function setLocalSessionFlowId(flowId) {
|
|
132
|
+
const config = loadConfig();
|
|
133
|
+
if (config?.localSession) {
|
|
134
|
+
config.localSession.flowId = flowId;
|
|
135
|
+
saveConfig(config);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Clear local session state (for cleanup on shutdown)
|
|
140
|
+
*/
|
|
141
|
+
function clearLocalSession() {
|
|
142
|
+
const config = loadConfig();
|
|
143
|
+
if (config) {
|
|
144
|
+
delete config.localSession;
|
|
145
|
+
// Also clear any pending permission requests
|
|
146
|
+
delete config.pendingPermissionRequests;
|
|
147
|
+
saveConfig(config);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
// ============================================================================
|
|
151
|
+
// Pending Permission Request Management
|
|
152
|
+
// ============================================================================
|
|
153
|
+
const PERMISSION_REQUEST_TIMEOUT_MS = 2 * 60 * 60 * 1000; // 2 hours
|
|
154
|
+
/**
|
|
155
|
+
* Store a pending permission request
|
|
156
|
+
* Returns the request ID for polling
|
|
157
|
+
*/
|
|
158
|
+
function storePendingPermissionRequest(sessionId) {
|
|
159
|
+
const config = loadConfig() || {};
|
|
160
|
+
const requestId = `req_${Date.now()}_${Math.random().toString(36).substring(2, 8)}`;
|
|
161
|
+
const now = new Date();
|
|
162
|
+
const request = {
|
|
163
|
+
requestId,
|
|
164
|
+
sessionId,
|
|
165
|
+
createdAt: now.toISOString(),
|
|
166
|
+
expiresAt: new Date(now.getTime() + PERMISSION_REQUEST_TIMEOUT_MS).toISOString(),
|
|
167
|
+
};
|
|
168
|
+
if (!config.pendingPermissionRequests) {
|
|
169
|
+
config.pendingPermissionRequests = [];
|
|
170
|
+
}
|
|
171
|
+
// Clean up expired requests while we're at it
|
|
172
|
+
config.pendingPermissionRequests = config.pendingPermissionRequests.filter(r => new Date(r.expiresAt) > now);
|
|
173
|
+
config.pendingPermissionRequests.push(request);
|
|
174
|
+
saveConfig(config);
|
|
175
|
+
return requestId;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Get a pending permission request by ID
|
|
179
|
+
*/
|
|
180
|
+
function getPendingPermissionRequest(requestId) {
|
|
181
|
+
const config = loadConfig();
|
|
182
|
+
return config?.pendingPermissionRequests?.find(r => r.requestId === requestId);
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Store response for a pending permission request
|
|
186
|
+
*/
|
|
187
|
+
function storePermissionResponse(requestId, action) {
|
|
188
|
+
const config = loadConfig();
|
|
189
|
+
if (!config?.pendingPermissionRequests) {
|
|
190
|
+
return false;
|
|
191
|
+
}
|
|
192
|
+
const request = config.pendingPermissionRequests.find(r => r.requestId === requestId);
|
|
193
|
+
if (!request) {
|
|
194
|
+
return false;
|
|
195
|
+
}
|
|
196
|
+
request.response = {
|
|
197
|
+
action,
|
|
198
|
+
respondedAt: new Date().toISOString(),
|
|
199
|
+
};
|
|
200
|
+
saveConfig(config);
|
|
201
|
+
return true;
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Remove a pending permission request (after it's been handled)
|
|
205
|
+
*/
|
|
206
|
+
function removePendingPermissionRequest(requestId) {
|
|
207
|
+
const config = loadConfig();
|
|
208
|
+
if (config?.pendingPermissionRequests) {
|
|
209
|
+
config.pendingPermissionRequests = config.pendingPermissionRequests.filter(r => r.requestId !== requestId);
|
|
210
|
+
saveConfig(config);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
88
213
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAmBH,gCAYC;AAKD,gCAIC;AAKD,wCAKC;AAKD,wCAOC;AAKD,oCAGC;AAKD,0CAGC;AAKD,sCAEC;AAKD,oCAEC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,6 +1,28 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Types for Mirra Claude Code Bridge
|
|
3
3
|
*/
|
|
4
|
+
/**
|
|
5
|
+
* Local session info for direct Claude Code usage (not spawned by bridge)
|
|
6
|
+
*/
|
|
7
|
+
export interface LocalSession {
|
|
8
|
+
sessionId: string;
|
|
9
|
+
flowId?: string;
|
|
10
|
+
groupId: string;
|
|
11
|
+
createdAt: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Pending permission request awaiting user response
|
|
15
|
+
*/
|
|
16
|
+
export interface PendingPermissionRequest {
|
|
17
|
+
requestId: string;
|
|
18
|
+
sessionId: string;
|
|
19
|
+
createdAt: string;
|
|
20
|
+
expiresAt: string;
|
|
21
|
+
response?: {
|
|
22
|
+
action: 'allow' | 'allow_always' | 'deny';
|
|
23
|
+
respondedAt: string;
|
|
24
|
+
};
|
|
25
|
+
}
|
|
4
26
|
export interface BridgeConfig {
|
|
5
27
|
apiKey: string;
|
|
6
28
|
userId?: string;
|
|
@@ -16,6 +38,8 @@ export interface BridgeConfig {
|
|
|
16
38
|
server?: {
|
|
17
39
|
port: number;
|
|
18
40
|
};
|
|
41
|
+
localSession?: LocalSession;
|
|
42
|
+
pendingPermissionRequests?: PendingPermissionRequest[];
|
|
19
43
|
}
|
|
20
44
|
export interface Session {
|
|
21
45
|
id: string;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE;QACP,QAAQ,EAAE,OAAO,GAAG,YAAY,CAAC;QACjC,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,MAAM,CAAC,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mirra-cc-bridge",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Bridge Claude Code to Mirra Messenger on iOS or Android - control your coding sessions from text messages and voice calls",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|