mirra-cc-bridge 1.0.0 → 1.0.2

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;AAihBH;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA0B7E"}
1
+ {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../src/commands/hook.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAsyBH;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA0B7E"}
@@ -418,6 +418,239 @@ async function extractTranscriptSummary(transcriptPath) {
418
418
  return null;
419
419
  }
420
420
  }
421
+ /**
422
+ * Generate a human-readable description for a tool use
423
+ */
424
+ function generateToolDescription(toolName, input) {
425
+ if (!input)
426
+ return toolName;
427
+ switch (toolName) {
428
+ case 'Bash':
429
+ return input.command ? `Run: ${truncateString(input.command, 60)}` : 'Run command';
430
+ case 'Read':
431
+ return input.file_path ? `Read: ${getFileName(input.file_path)}` : 'Read file';
432
+ case 'Write':
433
+ return input.file_path ? `Write: ${getFileName(input.file_path)}` : 'Write file';
434
+ case 'Edit':
435
+ return input.file_path ? `Edit: ${getFileName(input.file_path)}` : 'Edit file';
436
+ case 'Glob':
437
+ return input.pattern ? `Find: ${input.pattern}` : 'Find files';
438
+ case 'Grep':
439
+ return input.pattern ? `Search: ${truncateString(input.pattern, 40)}` : 'Search content';
440
+ case 'Task':
441
+ return input.description || 'Run agent task';
442
+ case 'WebFetch':
443
+ return input.url ? `Fetch: ${truncateString(input.url, 50)}` : 'Fetch URL';
444
+ case 'WebSearch':
445
+ return input.query ? `Search: ${truncateString(input.query, 40)}` : 'Web search';
446
+ default:
447
+ return toolName;
448
+ }
449
+ }
450
+ /**
451
+ * Get filename from path
452
+ */
453
+ function getFileName(filePath) {
454
+ const parts = filePath.split('/');
455
+ return parts[parts.length - 1] || filePath;
456
+ }
457
+ /**
458
+ * Truncate string to max length
459
+ */
460
+ function truncateString(str, maxLen) {
461
+ if (str.length <= maxLen)
462
+ return str;
463
+ return str.substring(0, maxLen - 3) + '...';
464
+ }
465
+ /**
466
+ * Format tool input for display in step detail
467
+ */
468
+ function formatToolInput(toolName, input) {
469
+ if (!input)
470
+ return undefined;
471
+ switch (toolName) {
472
+ case 'Bash':
473
+ return input.command;
474
+ case 'Read':
475
+ case 'Write':
476
+ case 'Edit':
477
+ return input.file_path;
478
+ case 'Glob':
479
+ return input.pattern;
480
+ case 'Grep':
481
+ return `${input.pattern}${input.path ? ` in ${input.path}` : ''}`;
482
+ default:
483
+ return undefined;
484
+ }
485
+ }
486
+ /**
487
+ * Truncate output for display (max 500 chars)
488
+ */
489
+ function truncateOutput(output, maxLen = 500) {
490
+ if (output === undefined || output === null)
491
+ return '';
492
+ const str = typeof output === 'string' ? output : JSON.stringify(output, null, 2);
493
+ if (str.length <= maxLen)
494
+ return str;
495
+ return str.substring(0, maxLen - 3) + '...';
496
+ }
497
+ /**
498
+ * Parse transcript to build execution card data
499
+ * Extracts tool_use blocks and matches them with tool_result blocks
500
+ */
501
+ async function parseTranscriptForExecutionCard(transcriptPath, sessionId) {
502
+ try {
503
+ const fs = await Promise.resolve().then(() => __importStar(require('fs/promises')));
504
+ const content = await fs.readFile(transcriptPath, 'utf-8');
505
+ const lines = content.trim().split('\n').filter(line => line.trim());
506
+ if (lines.length === 0) {
507
+ return null;
508
+ }
509
+ // Parse all entries
510
+ const entries = [];
511
+ for (const line of lines) {
512
+ try {
513
+ entries.push(JSON.parse(line));
514
+ }
515
+ catch {
516
+ // Skip unparseable lines
517
+ }
518
+ }
519
+ if (entries.length === 0) {
520
+ return null;
521
+ }
522
+ // Track tool uses and their results
523
+ const toolUseMap = new Map();
524
+ const steps = [];
525
+ const toolCounts = {};
526
+ const errors = [];
527
+ let hasThinking = false;
528
+ let thinkingSummary;
529
+ let stepIndex = 0;
530
+ // Process entries to extract tool uses and results
531
+ for (const entry of entries) {
532
+ if (!entry.message?.content || !Array.isArray(entry.message.content)) {
533
+ continue;
534
+ }
535
+ for (const block of entry.message.content) {
536
+ // Track thinking blocks
537
+ if (block.type === 'thinking' && block.thinking) {
538
+ hasThinking = true;
539
+ if (!thinkingSummary) {
540
+ thinkingSummary = truncateString(block.thinking, 200);
541
+ }
542
+ }
543
+ // Track tool_use blocks (assistant initiating tool calls)
544
+ if (block.type === 'tool_use' && block.id && block.name) {
545
+ toolUseMap.set(block.id, {
546
+ toolName: block.name,
547
+ input: block.input,
548
+ timestamp: entry.timestamp,
549
+ });
550
+ // Count tool usage
551
+ toolCounts[block.name] = (toolCounts[block.name] || 0) + 1;
552
+ }
553
+ // Track tool_result blocks (results of tool calls)
554
+ if (block.type === 'tool_result' && block.tool_use_id) {
555
+ const toolUse = toolUseMap.get(block.tool_use_id);
556
+ if (toolUse) {
557
+ const isError = block.is_error === true;
558
+ const outputContent = typeof block.content === 'string'
559
+ ? block.content
560
+ : Array.isArray(block.content)
561
+ ? block.content.map(c => c.text || '').join('\n')
562
+ : '';
563
+ // Interactive tools that don't work in headless mode should be marked as "skipped", not "error"
564
+ const interactiveTools = ['AskUserQuestion', 'EnterPlanMode', 'ExitPlanMode'];
565
+ const isInteractiveTool = interactiveTools.includes(toolUse.toolName);
566
+ const isSkipped = isError && isInteractiveTool;
567
+ // Determine status
568
+ let status = 'success';
569
+ let description;
570
+ if (isSkipped) {
571
+ status = 'skipped';
572
+ description = 'Not available in remote mode';
573
+ }
574
+ else if (isError) {
575
+ status = 'error';
576
+ description = 'Failed';
577
+ }
578
+ // Create step
579
+ const step = {
580
+ id: `step-${stepIndex++}`,
581
+ title: generateToolDescription(toolUse.toolName, toolUse.input),
582
+ description,
583
+ status,
584
+ icon: toolUse.toolName.toLowerCase(),
585
+ detail: formatToolInput(toolUse.toolName, toolUse.input),
586
+ timestamp: toolUse.timestamp,
587
+ };
588
+ steps.push(step);
589
+ // Only track real errors (not skipped interactive tools)
590
+ if (isError && !isSkipped) {
591
+ errors.push({
592
+ tool: toolUse.toolName,
593
+ message: truncateOutput(outputContent, 200),
594
+ timestamp: toolUse.timestamp,
595
+ });
596
+ }
597
+ }
598
+ }
599
+ }
600
+ }
601
+ // If no steps were found, don't create a card
602
+ if (steps.length === 0) {
603
+ return null;
604
+ }
605
+ // Limit to 50 steps max
606
+ const displaySteps = steps.slice(0, 50);
607
+ // Build badges
608
+ const badges = [];
609
+ // Add step count badge
610
+ badges.push({
611
+ label: `${steps.length} step${steps.length !== 1 ? 's' : ''}`,
612
+ variant: 'default',
613
+ });
614
+ // Add tool summary badge (top 2 tools)
615
+ const sortedTools = Object.entries(toolCounts)
616
+ .sort((a, b) => b[1] - a[1])
617
+ .slice(0, 2);
618
+ if (sortedTools.length > 0) {
619
+ badges.push({
620
+ label: sortedTools.map(([name, count]) => `${name}: ${count}`).join(', '),
621
+ variant: 'info',
622
+ });
623
+ }
624
+ // Build summary stats
625
+ const summary = {};
626
+ for (const [tool, count] of Object.entries(toolCounts)) {
627
+ summary[tool] = count;
628
+ }
629
+ return {
630
+ displayType: 'card',
631
+ templateId: 'execution_details',
632
+ data: {
633
+ title: 'Execution Details',
634
+ subtitle: hasThinking ? 'With extended thinking' : undefined,
635
+ badges,
636
+ steps: displaySteps,
637
+ summary,
638
+ defaultExpanded: false,
639
+ },
640
+ metadata: {
641
+ sessionId,
642
+ hasThinking,
643
+ thinkingSummary,
644
+ errorCount: errors.length,
645
+ totalSteps: steps.length,
646
+ },
647
+ };
648
+ }
649
+ catch (error) {
650
+ // If we can't parse the transcript, return null
651
+ return null;
652
+ }
653
+ }
421
654
  /**
422
655
  * Handle Stop hook - session ended
423
656
  *
@@ -428,7 +661,7 @@ async function extractTranscriptSummary(transcriptPath) {
428
661
  async function handleStop(stdinData) {
429
662
  const sessionId = getSessionId();
430
663
  let stopData = null;
431
- let summary = null;
664
+ let executionCard = null;
432
665
  // Try to parse the JSON metadata from Claude Code
433
666
  try {
434
667
  stopData = JSON.parse(stdinData.trim());
@@ -436,34 +669,32 @@ async function handleStop(stdinData) {
436
669
  catch {
437
670
  // Not JSON, use as plain text
438
671
  }
439
- // If we have a transcript path, extract a summary
672
+ // If we have a transcript path, extract execution card
673
+ // Note: We don't extract summary text because the notification hook already sent Claude's output
440
674
  if (stopData?.transcript_path) {
441
- summary = await extractTranscriptSummary(stopData.transcript_path);
675
+ executionCard = await parseTranscriptForExecutionCard(stopData.transcript_path, sessionId);
442
676
  }
443
- // Build a user-friendly message
444
- let messageContent;
445
- if (summary) {
446
- // Include the summary with a clear header
447
- messageContent = `**Claude Code finished**\n\n${summary}\n\n---\n_Reply to continue the conversation._`;
448
- }
449
- else {
450
- // Fallback to a generic message with context if available
451
- const cwdInfo = stopData?.cwd ? ` in \`${stopData.cwd}\`` : '';
452
- messageContent = `**Claude Code session ended**${cwdInfo}\n\n_Reply with further instructions to start a new task._`;
677
+ // Only send a message if we have an execution card with meaningful content
678
+ // The notification hook already sent Claude's response, so we only add the card
679
+ if (!executionCard || !executionCard.data.steps || executionCard.data.steps.length === 0) {
680
+ // No meaningful card data, skip sending to avoid duplicate messages
681
+ return;
453
682
  }
683
+ // Get working directory from stop data
684
+ const workingDir = stopData?.cwd || process.cwd();
685
+ const cwdName = workingDir.split('/').pop() || 'Claude Code';
686
+ // Build a minimal status message - just indicate session ended with execution card
454
687
  const message = {
455
688
  type: 'claude_code_status',
456
689
  sessionId,
457
690
  timestamp: new Date().toISOString(),
458
691
  data: {
459
692
  status: 'stopped',
460
- message: messageContent,
693
+ message: `[${cwdName}] _Session completed. Expand card for execution details._`,
461
694
  },
462
695
  };
463
- // Get working directory from stop data
464
- const workingDir = stopData?.cwd || process.cwd();
465
- // Send the stop message
466
- await sendToMirra(message, workingDir);
696
+ // Send only the execution card
697
+ await sendToMirra(message, workingDir, executionCard);
467
698
  }
468
699
  /**
469
700
  * Main hook handler
@@ -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":"register.d.ts","sourceRoot":"","sources":["../../src/commands/register.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,UAAU,eAAe;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA6KD;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA+KxE;AAED,UAAU,yBAAyB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+K1F"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/commands/register.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,UAAU,eAAe;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA6KD;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA2FxE;AAED,UAAU,yBAAyB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2F1F"}
@@ -47,6 +47,7 @@ const os = __importStar(require("os"));
47
47
  const sdk_1 = require("@mirra-messenger/sdk");
48
48
  const config_1 = require("../config");
49
49
  const tunnel_1 = require("../tunnel");
50
+ const resource_methods_1 = require("../resource-methods");
50
51
  /**
51
52
  * Prompt for input
52
53
  */
@@ -244,61 +245,19 @@ async function registerPC(options) {
244
245
  // Check if already registered
245
246
  if (config.pcResourceId) {
246
247
  console.log(chalk_1.default.yellow('PC already registered. Updating...'));
247
- // Update existing resource
248
+ // Update existing resource with methods including examples
248
249
  await sdk.resources.update({
249
250
  id: config.pcResourceId,
250
251
  endpoint: {
251
252
  baseUrl: tunnelUrl,
252
253
  authentication: 'none', // The service will validate via other means
253
- methods: [
254
- {
255
- name: 'spawnSession',
256
- httpMethod: 'POST',
257
- path: '/sessions',
258
- description: 'Spawn a new Claude Code session',
259
- parameters: {
260
- workingDir: { type: 'string', required: false },
261
- initialPrompt: { type: 'string', required: true },
262
- recipientId: { type: 'string', required: true },
263
- },
264
- response: { type: 'object' },
265
- },
266
- {
267
- name: 'sendInput',
268
- httpMethod: 'POST',
269
- path: '/sessions/{sessionId}/input',
270
- description: 'Send input to a session',
271
- parameters: {
272
- sessionId: { type: 'string', required: true },
273
- input: { type: 'string', required: true },
274
- },
275
- response: { type: 'object' },
276
- },
277
- {
278
- name: 'killSession',
279
- httpMethod: 'DELETE',
280
- path: '/sessions/{sessionId}',
281
- description: 'Kill a session',
282
- parameters: {
283
- sessionId: { type: 'string', required: true },
284
- },
285
- response: { type: 'object' },
286
- },
287
- {
288
- name: 'listSessions',
289
- httpMethod: 'GET',
290
- path: '/sessions',
291
- description: 'List active sessions',
292
- parameters: {},
293
- response: { type: 'array' },
294
- },
295
- ],
254
+ methods: (0, resource_methods_1.toSDKMethods)((0, resource_methods_1.getBasicResourceMethods)()),
296
255
  },
297
256
  });
298
257
  console.log(chalk_1.default.green('\n[+] PC resource updated'));
299
258
  }
300
259
  else {
301
- // Create new resource
260
+ // Create new resource with methods including examples
302
261
  const resource = await sdk.resources.create({
303
262
  name: pcName,
304
263
  description: `Claude Code on ${os.hostname()}`,
@@ -308,49 +267,7 @@ async function registerPC(options) {
308
267
  endpoint: {
309
268
  baseUrl: tunnelUrl,
310
269
  authentication: 'none',
311
- methods: [
312
- {
313
- name: 'spawnSession',
314
- httpMethod: 'POST',
315
- path: '/sessions',
316
- description: 'Spawn a new Claude Code session',
317
- parameters: {
318
- workingDir: { type: 'string', required: false },
319
- initialPrompt: { type: 'string', required: true },
320
- recipientId: { type: 'string', required: true },
321
- },
322
- response: { type: 'object' },
323
- },
324
- {
325
- name: 'sendInput',
326
- httpMethod: 'POST',
327
- path: '/sessions/{sessionId}/input',
328
- description: 'Send input to a session',
329
- parameters: {
330
- sessionId: { type: 'string', required: true },
331
- input: { type: 'string', required: true },
332
- },
333
- response: { type: 'object' },
334
- },
335
- {
336
- name: 'killSession',
337
- httpMethod: 'DELETE',
338
- path: '/sessions/{sessionId}',
339
- description: 'Kill a session',
340
- parameters: {
341
- sessionId: { type: 'string', required: true },
342
- },
343
- response: { type: 'object' },
344
- },
345
- {
346
- name: 'listSessions',
347
- httpMethod: 'GET',
348
- path: '/sessions',
349
- description: 'List active sessions',
350
- parameters: {},
351
- response: { type: 'array' },
352
- },
353
- ],
270
+ methods: (0, resource_methods_1.toSDKMethods)((0, resource_methods_1.getBasicResourceMethods)()),
354
271
  },
355
272
  pricing: { model: 'free' },
356
273
  openApiSpec: generateOpenAPISpec(),
@@ -412,61 +329,19 @@ async function registerWithTunnel(options) {
412
329
  // Check if already registered
413
330
  if (config.pcResourceId) {
414
331
  console.log(chalk_1.default.yellow('PC already registered. Updating endpoint...'));
415
- // Update existing resource
332
+ // Update existing resource with methods including examples
416
333
  await sdk.resources.update({
417
334
  id: config.pcResourceId,
418
335
  endpoint: {
419
336
  baseUrl: tunnelUrl,
420
337
  authentication: 'none',
421
- methods: [
422
- {
423
- name: 'spawnSession',
424
- httpMethod: 'POST',
425
- path: '/sessions',
426
- description: 'Spawn a new Claude Code session',
427
- parameters: {
428
- workingDir: { type: 'string', required: false },
429
- initialPrompt: { type: 'string', required: true },
430
- recipientId: { type: 'string', required: true },
431
- },
432
- response: { type: 'object' },
433
- },
434
- {
435
- name: 'sendInput',
436
- httpMethod: 'POST',
437
- path: '/sessions/{sessionId}/input',
438
- description: 'Send input to a session',
439
- parameters: {
440
- sessionId: { type: 'string', required: true },
441
- input: { type: 'string', required: true },
442
- },
443
- response: { type: 'object' },
444
- },
445
- {
446
- name: 'killSession',
447
- httpMethod: 'DELETE',
448
- path: '/sessions/{sessionId}',
449
- description: 'Kill a session',
450
- parameters: {
451
- sessionId: { type: 'string', required: true },
452
- },
453
- response: { type: 'object' },
454
- },
455
- {
456
- name: 'listSessions',
457
- httpMethod: 'GET',
458
- path: '/sessions',
459
- description: 'List active sessions',
460
- parameters: {},
461
- response: { type: 'array' },
462
- },
463
- ],
338
+ methods: (0, resource_methods_1.toSDKMethods)((0, resource_methods_1.getBasicResourceMethods)()),
464
339
  },
465
340
  });
466
341
  console.log(chalk_1.default.green('\n[+] PC resource updated'));
467
342
  }
468
343
  else {
469
- // Create new resource
344
+ // Create new resource with methods including examples
470
345
  const resource = await sdk.resources.create({
471
346
  name: pcName,
472
347
  description: `Claude Code on ${os.hostname()}`,
@@ -476,49 +351,7 @@ async function registerWithTunnel(options) {
476
351
  endpoint: {
477
352
  baseUrl: tunnelUrl,
478
353
  authentication: 'none',
479
- methods: [
480
- {
481
- name: 'spawnSession',
482
- httpMethod: 'POST',
483
- path: '/sessions',
484
- description: 'Spawn a new Claude Code session',
485
- parameters: {
486
- workingDir: { type: 'string', required: false },
487
- initialPrompt: { type: 'string', required: true },
488
- recipientId: { type: 'string', required: true },
489
- },
490
- response: { type: 'object' },
491
- },
492
- {
493
- name: 'sendInput',
494
- httpMethod: 'POST',
495
- path: '/sessions/{sessionId}/input',
496
- description: 'Send input to a session',
497
- parameters: {
498
- sessionId: { type: 'string', required: true },
499
- input: { type: 'string', required: true },
500
- },
501
- response: { type: 'object' },
502
- },
503
- {
504
- name: 'killSession',
505
- httpMethod: 'DELETE',
506
- path: '/sessions/{sessionId}',
507
- description: 'Kill a session',
508
- parameters: {
509
- sessionId: { type: 'string', required: true },
510
- },
511
- response: { type: 'object' },
512
- },
513
- {
514
- name: 'listSessions',
515
- httpMethod: 'GET',
516
- path: '/sessions',
517
- description: 'List active sessions',
518
- parameters: {},
519
- response: { type: 'array' },
520
- },
521
- ],
354
+ methods: (0, resource_methods_1.toSDKMethods)((0, resource_methods_1.getBasicResourceMethods)()),
522
355
  },
523
356
  pricing: { model: 'free' },
524
357
  openApiSpec: generateOpenAPISpec(),