mirra-cc-bridge 0.1.3 → 0.1.5
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/cli.js +33 -6
- package/dist/cli.js.map +1 -1
- package/dist/commands/hook.d.ts.map +1 -1
- package/dist/commands/hook.js +42 -25
- package/dist/commands/hook.js.map +1 -1
- package/dist/commands/index.d.ts +1 -1
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +2 -1
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/register.d.ts +9 -0
- package/dist/commands/register.d.ts.map +1 -1
- package/dist/commands/register.js +174 -0
- package/dist/commands/register.js.map +1 -1
- package/dist/commands/remove-hooks.d.ts +8 -0
- package/dist/commands/remove-hooks.d.ts.map +1 -0
- package/dist/commands/remove-hooks.js +75 -0
- package/dist/commands/remove-hooks.js.map +1 -0
- package/dist/commands/setup-hooks.d.ts.map +1 -1
- package/dist/commands/setup-hooks.js +6 -15
- package/dist/commands/setup-hooks.js.map +1 -1
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +97 -10
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +22 -2
- package/dist/commands/status.js.map +1 -1
- package/dist/tunnel.d.ts +34 -0
- package/dist/tunnel.d.ts.map +1 -0
- package/dist/tunnel.js +318 -0
- package/dist/tunnel.js.map +1 -0
- package/package.json +6 -3
|
@@ -30,7 +30,8 @@ function createHookEntry(command, matcher = '') {
|
|
|
30
30
|
}
|
|
31
31
|
const MIRRA_HOOKS = {
|
|
32
32
|
Notification: createHookEntry('mirra-cc-bridge hook notification'),
|
|
33
|
-
PostToolUse
|
|
33
|
+
// PostToolUse hook removed - we only notify on user-actionable events
|
|
34
|
+
// (questions and task completion summaries via Notification hook)
|
|
34
35
|
Stop: createHookEntry('mirra-cc-bridge hook stop'),
|
|
35
36
|
};
|
|
36
37
|
/**
|
|
@@ -69,6 +70,7 @@ async function setupHooks() {
|
|
|
69
70
|
}
|
|
70
71
|
let hooksAdded = 0;
|
|
71
72
|
// Add Notification hook (fires when Claude sends a message/notification)
|
|
73
|
+
// This handles both questions from Claude and task completion summaries
|
|
72
74
|
if (!hookExists(settings.hooks.Notification)) {
|
|
73
75
|
settings.hooks.Notification = [
|
|
74
76
|
...(settings.hooks.Notification || []),
|
|
@@ -80,18 +82,8 @@ async function setupHooks() {
|
|
|
80
82
|
else {
|
|
81
83
|
console.log(chalk_1.default.gray(' - Notification hook already exists'));
|
|
82
84
|
}
|
|
83
|
-
//
|
|
84
|
-
|
|
85
|
-
settings.hooks.PostToolUse = [
|
|
86
|
-
...(settings.hooks.PostToolUse || []),
|
|
87
|
-
MIRRA_HOOKS.PostToolUse,
|
|
88
|
-
];
|
|
89
|
-
console.log(chalk_1.default.green('[+]') + ' Added PostToolUse hook');
|
|
90
|
-
hooksAdded++;
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
console.log(chalk_1.default.gray(' - PostToolUse hook already exists'));
|
|
94
|
-
}
|
|
85
|
+
// PostToolUse hook removed - individual tool completions are too noisy
|
|
86
|
+
// Users only need to be notified when they need to act (questions/summaries)
|
|
95
87
|
// Add Stop hook
|
|
96
88
|
if (!hookExists(settings.hooks.Stop)) {
|
|
97
89
|
settings.hooks.Stop = [...(settings.hooks.Stop || []), MIRRA_HOOKS.Stop];
|
|
@@ -111,8 +103,7 @@ async function setupHooks() {
|
|
|
111
103
|
console.log(chalk_1.default.gray('\nAll hooks were already configured.'));
|
|
112
104
|
}
|
|
113
105
|
console.log(chalk_1.default.gray('\nHooks configured:'));
|
|
114
|
-
console.log(chalk_1.default.gray(' Notification - Sends Claude
|
|
115
|
-
console.log(chalk_1.default.gray(' PostToolUse - Sends tool results'));
|
|
106
|
+
console.log(chalk_1.default.gray(' Notification - Sends Claude questions and summaries to Mirra'));
|
|
116
107
|
console.log(chalk_1.default.gray(' Stop - Notifies when session ends'));
|
|
117
108
|
// Mark hooks as configured
|
|
118
109
|
(0, config_1.setConfigValue)('hooksConfigured', true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-hooks.js","sourceRoot":"","sources":["../../src/commands/setup-hooks.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;
|
|
1
|
+
{"version":3,"file":"setup-hooks.js","sourceRoot":"","sources":["../../src/commands/setup-hooks.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;AAUH,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAkLD;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAqFtE"}
|
package/dist/commands/start.js
CHANGED
|
@@ -12,8 +12,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.startServer = startServer;
|
|
13
13
|
const chalk_1 = __importDefault(require("chalk"));
|
|
14
14
|
const express_1 = __importDefault(require("express"));
|
|
15
|
+
const sdk_1 = require("@mirra-messenger/sdk");
|
|
15
16
|
const config_1 = require("../config");
|
|
16
17
|
const session_manager_1 = require("../session-manager");
|
|
18
|
+
const tunnel_1 = require("../tunnel");
|
|
17
19
|
let sessionManager;
|
|
18
20
|
/**
|
|
19
21
|
* Create the Express app with routes
|
|
@@ -108,6 +110,67 @@ function createApp() {
|
|
|
108
110
|
});
|
|
109
111
|
return app;
|
|
110
112
|
}
|
|
113
|
+
/**
|
|
114
|
+
* Update the resource endpoint with a new tunnel URL
|
|
115
|
+
*/
|
|
116
|
+
async function updateResourceEndpoint(sdk, resourceId, tunnelUrl) {
|
|
117
|
+
try {
|
|
118
|
+
await sdk.resources.update({
|
|
119
|
+
id: resourceId,
|
|
120
|
+
endpoint: {
|
|
121
|
+
baseUrl: tunnelUrl,
|
|
122
|
+
authentication: 'none',
|
|
123
|
+
methods: [
|
|
124
|
+
{
|
|
125
|
+
name: 'spawnSession',
|
|
126
|
+
httpMethod: 'POST',
|
|
127
|
+
path: '/sessions',
|
|
128
|
+
description: 'Spawn a new Claude Code session',
|
|
129
|
+
parameters: {
|
|
130
|
+
workingDir: { type: 'string', required: false },
|
|
131
|
+
initialPrompt: { type: 'string', required: true },
|
|
132
|
+
recipientId: { type: 'string', required: true },
|
|
133
|
+
},
|
|
134
|
+
response: { type: 'object' },
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
name: 'sendInput',
|
|
138
|
+
httpMethod: 'POST',
|
|
139
|
+
path: '/sessions/{sessionId}/input',
|
|
140
|
+
description: 'Send input to a session',
|
|
141
|
+
parameters: {
|
|
142
|
+
sessionId: { type: 'string', required: true },
|
|
143
|
+
input: { type: 'string', required: true },
|
|
144
|
+
},
|
|
145
|
+
response: { type: 'object' },
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
name: 'killSession',
|
|
149
|
+
httpMethod: 'DELETE',
|
|
150
|
+
path: '/sessions/{sessionId}',
|
|
151
|
+
description: 'Kill a session',
|
|
152
|
+
parameters: {
|
|
153
|
+
sessionId: { type: 'string', required: true },
|
|
154
|
+
},
|
|
155
|
+
response: { type: 'object' },
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
name: 'listSessions',
|
|
159
|
+
httpMethod: 'GET',
|
|
160
|
+
path: '/sessions',
|
|
161
|
+
description: 'List active sessions',
|
|
162
|
+
parameters: {},
|
|
163
|
+
response: { type: 'array' },
|
|
164
|
+
},
|
|
165
|
+
],
|
|
166
|
+
},
|
|
167
|
+
});
|
|
168
|
+
console.log(chalk_1.default.green('[+] Resource endpoint updated'));
|
|
169
|
+
}
|
|
170
|
+
catch (error) {
|
|
171
|
+
console.log(chalk_1.default.yellow(`[!] Could not update resource endpoint: ${error.message}`));
|
|
172
|
+
}
|
|
173
|
+
}
|
|
111
174
|
/**
|
|
112
175
|
* Start the bridge server
|
|
113
176
|
*/
|
|
@@ -121,23 +184,34 @@ async function startServer(options) {
|
|
|
121
184
|
}
|
|
122
185
|
// Initialize session manager with API key and pcResourceId
|
|
123
186
|
sessionManager = new session_manager_1.SessionManager(config.apiKey, config.pcResourceId);
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
187
|
+
let tunnelUrl = null;
|
|
188
|
+
const sdk = new sdk_1.MirraSDK({ apiKey: config.apiKey });
|
|
189
|
+
// Auto-start tunnel (uses API key for authentication)
|
|
190
|
+
console.log(chalk_1.default.gray('Starting tunnel...'));
|
|
191
|
+
try {
|
|
192
|
+
tunnelUrl = await (0, tunnel_1.startTunnel)(port);
|
|
193
|
+
// Update resource endpoint with new tunnel URL if registered
|
|
194
|
+
if (config.pcResourceId) {
|
|
195
|
+
console.log(chalk_1.default.gray('Updating resource endpoint...'));
|
|
196
|
+
await updateResourceEndpoint(sdk, config.pcResourceId, tunnelUrl);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
catch (error) {
|
|
200
|
+
console.log(chalk_1.default.yellow(`[!] Could not start tunnel: ${error.message}`));
|
|
201
|
+
console.log(chalk_1.default.gray(' Remote control from Mirra will not work.'));
|
|
202
|
+
console.log(chalk_1.default.gray(' Local server will still start.\n'));
|
|
127
203
|
}
|
|
128
204
|
// Create and start Express app
|
|
129
205
|
const app = createApp();
|
|
130
206
|
const server = app.listen(port, () => {
|
|
131
207
|
console.log(chalk_1.default.green('[+]') + ` Server listening on port ${port}`);
|
|
132
|
-
console.log(chalk_1.default.gray(` http://localhost:${port}`));
|
|
208
|
+
console.log(chalk_1.default.gray(` Local: http://localhost:${port}`));
|
|
209
|
+
if (tunnelUrl) {
|
|
210
|
+
console.log(chalk_1.default.gray(` Tunnel: ${tunnelUrl}`));
|
|
211
|
+
}
|
|
133
212
|
});
|
|
134
213
|
// Save port to config
|
|
135
214
|
(0, config_1.setConfigValue)('server', { port });
|
|
136
|
-
// Handle tunnel if enabled
|
|
137
|
-
if (options.tunnel && config?.pcResourceId) {
|
|
138
|
-
console.log(chalk_1.default.gray('\n[!] Tunnel support not yet implemented'));
|
|
139
|
-
console.log(chalk_1.default.gray(' Use ngrok manually: ngrok http ' + port));
|
|
140
|
-
}
|
|
141
215
|
// Log endpoints
|
|
142
216
|
console.log(chalk_1.default.gray('\nEndpoints:'));
|
|
143
217
|
console.log(chalk_1.default.gray(' GET /health health check'));
|
|
@@ -146,11 +220,24 @@ async function startServer(options) {
|
|
|
146
220
|
console.log(chalk_1.default.gray(' GET /sessions/:id get session'));
|
|
147
221
|
console.log(chalk_1.default.gray(' POST /sessions/:id/input send input'));
|
|
148
222
|
console.log(chalk_1.default.gray(' DELETE /sessions/:id kill session'));
|
|
149
|
-
|
|
223
|
+
if (tunnelUrl && config.pcResourceId) {
|
|
224
|
+
console.log(chalk_1.default.green('\n> Bridge running (bidirectional)'));
|
|
225
|
+
console.log(chalk_1.default.gray(' Claude Code output syncs to Mirra'));
|
|
226
|
+
console.log(chalk_1.default.gray(' Remote control from Mirra enabled'));
|
|
227
|
+
}
|
|
228
|
+
else {
|
|
229
|
+
console.log(chalk_1.default.green('\n> Bridge running (one-way)'));
|
|
230
|
+
console.log(chalk_1.default.gray(' Claude Code output syncs to Mirra'));
|
|
231
|
+
}
|
|
150
232
|
console.log(chalk_1.default.gray(' Ctrl+C to stop\n'));
|
|
151
233
|
// Handle shutdown
|
|
152
234
|
const shutdown = async () => {
|
|
153
235
|
console.log(chalk_1.default.gray('\n\nShutting down...'));
|
|
236
|
+
// Stop tunnel first
|
|
237
|
+
if ((0, tunnel_1.getTunnelUrl)()) {
|
|
238
|
+
await (0, tunnel_1.stopTunnel)();
|
|
239
|
+
}
|
|
240
|
+
// Kill all sessions
|
|
154
241
|
await sessionManager.killAllSessions();
|
|
155
242
|
server.close(() => {
|
|
156
243
|
console.log(chalk_1.default.green('[+] Server stopped'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA;;GAEG;AAoCH;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA;;GAEG;AAoCH;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CA4GhD"}
|
package/dist/commands/status.js
CHANGED
|
@@ -100,6 +100,15 @@ async function showStatus() {
|
|
|
100
100
|
console.log(chalk_1.default.red(' [-] claude_code: not configured'));
|
|
101
101
|
console.log(chalk_1.default.gray(' run: mirra-cc-bridge setup-hooks'));
|
|
102
102
|
}
|
|
103
|
+
// Tunnel status (uses API key, no separate config needed)
|
|
104
|
+
console.log(chalk_1.default.gray('\n[tunnel]'));
|
|
105
|
+
if (config?.apiKey) {
|
|
106
|
+
console.log(chalk_1.default.green(' [+] mirra: ') + 'ready (uses API key)');
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
console.log(chalk_1.default.gray(' [-] mirra: not configured'));
|
|
110
|
+
console.log(chalk_1.default.gray(' run: mirra-cc-bridge setup'));
|
|
111
|
+
}
|
|
103
112
|
// PC Resource status
|
|
104
113
|
console.log(chalk_1.default.gray('\n[resource]'));
|
|
105
114
|
if (config?.pcResourceId) {
|
|
@@ -139,8 +148,19 @@ async function showStatus() {
|
|
|
139
148
|
console.log(chalk_1.default.gray('\n' + '─'.repeat(50)));
|
|
140
149
|
const configured = !!config?.apiKey;
|
|
141
150
|
const hooksOk = checkHooksConfigured();
|
|
142
|
-
|
|
143
|
-
|
|
151
|
+
const resourceOk = !!config?.pcResourceId;
|
|
152
|
+
if (configured && hooksOk && resourceOk) {
|
|
153
|
+
console.log(chalk_1.default.green('\n> Ready (bidirectional)'));
|
|
154
|
+
console.log(chalk_1.default.gray(' - Claude Code output syncs to Mirra app'));
|
|
155
|
+
console.log(chalk_1.default.gray(' - Remote control from Mirra enabled'));
|
|
156
|
+
}
|
|
157
|
+
else if (configured && hooksOk) {
|
|
158
|
+
console.log(chalk_1.default.green('\n> Ready (one-way)'));
|
|
159
|
+
console.log(chalk_1.default.gray(' - Claude Code output syncs to Mirra app'));
|
|
160
|
+
if (!resourceOk) {
|
|
161
|
+
console.log(chalk_1.default.gray(' - Remote control not configured'));
|
|
162
|
+
console.log(chalk_1.default.gray(' run: mirra-cc-bridge setup'));
|
|
163
|
+
}
|
|
144
164
|
}
|
|
145
165
|
else {
|
|
146
166
|
console.log(chalk_1.default.yellow('\n> Setup incomplete'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCH,
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
|
package/dist/tunnel.d.ts
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tunnel management - connects to Mirra's tunnel service for remote access
|
|
3
|
+
*
|
|
4
|
+
* Uses WebSocket connection to Mirra's server instead of ngrok.
|
|
5
|
+
* No external dependencies or account signup required.
|
|
6
|
+
*/
|
|
7
|
+
type RequestHandler = (method: string, path: string, headers: Record<string, string>, body?: string) => Promise<{
|
|
8
|
+
statusCode: number;
|
|
9
|
+
headers: Record<string, string>;
|
|
10
|
+
body?: string;
|
|
11
|
+
}>;
|
|
12
|
+
/**
|
|
13
|
+
* Set the handler for incoming HTTP requests
|
|
14
|
+
*/
|
|
15
|
+
export declare function setRequestHandler(handler: RequestHandler): void;
|
|
16
|
+
/**
|
|
17
|
+
* Connect to Mirra's tunnel service
|
|
18
|
+
*/
|
|
19
|
+
export declare function startTunnel(port: number): Promise<string>;
|
|
20
|
+
/**
|
|
21
|
+
* Stop the tunnel connection
|
|
22
|
+
*/
|
|
23
|
+
export declare function stopTunnel(): Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* Check if tunnel is active
|
|
26
|
+
*/
|
|
27
|
+
export declare function isTunnelActive(): boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Get the current tunnel URL
|
|
30
|
+
*/
|
|
31
|
+
export declare function getTunnelUrl(): string | null;
|
|
32
|
+
export declare function saveAuthToken(_authToken: string): void;
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=tunnel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tunnel.d.ts","sourceRoot":"","sources":["../src/tunnel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAqDH,KAAK,cAAc,GAAG,CACpB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,IAAI,CAAC,EAAE,MAAM,KACV,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAIrF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAE/D;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAwG/D;AA2HD;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAgBhD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAExC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,GAAG,IAAI,CAE5C;AAGD,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAGtD"}
|