@cardmagic/messages 1.3.0 → 1.4.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.
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=formatter.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatter.test.d.ts","sourceRoot":"","sources":["../src/formatter.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,131 @@
1
+ import { describe, it, expect, beforeAll } from 'vitest';
2
+ import chalk from 'chalk';
3
+ import { formatSearchResult, formatStats, formatNoResults, formatIndexProgress, } from './formatter.js';
4
+ beforeAll(() => {
5
+ chalk.level = 0;
6
+ });
7
+ function makeMessage(overrides = {}) {
8
+ return {
9
+ id: 1,
10
+ text: 'Hello there',
11
+ sender: 'John',
12
+ chatName: 'John Smith',
13
+ chatId: 100,
14
+ date: 1704067200,
15
+ isFromMe: false,
16
+ ...overrides,
17
+ };
18
+ }
19
+ function makeSearchResultWithContext(overrides = {}, context = {}) {
20
+ const message = makeMessage(overrides);
21
+ return {
22
+ result: {
23
+ message,
24
+ score: 5.0,
25
+ matchedTerms: ['hello'],
26
+ },
27
+ before: context.before || [],
28
+ after: context.after || [],
29
+ };
30
+ }
31
+ describe('formatSearchResult', () => {
32
+ it('includes the chat name', () => {
33
+ const output = formatSearchResult(makeSearchResultWithContext({ chatName: 'Alice' }), 0);
34
+ expect(output).toContain('Alice');
35
+ });
36
+ it('includes the message text', () => {
37
+ const output = formatSearchResult(makeSearchResultWithContext({ text: 'Important message' }), 0);
38
+ expect(output).toContain('Important message');
39
+ });
40
+ it('includes the sender name', () => {
41
+ const output = formatSearchResult(makeSearchResultWithContext({ sender: 'Bob', isFromMe: false }), 0);
42
+ expect(output).toContain('Bob');
43
+ });
44
+ it('shows "You" for outgoing messages', () => {
45
+ const output = formatSearchResult(makeSearchResultWithContext({ isFromMe: true }), 0);
46
+ expect(output).toContain('You');
47
+ });
48
+ it('includes context messages before', () => {
49
+ const before = [makeMessage({ text: 'Before message', sender: 'Eve' })];
50
+ const output = formatSearchResult(makeSearchResultWithContext({}, { before }), 0);
51
+ expect(output).toContain('Before message');
52
+ });
53
+ it('includes context messages after', () => {
54
+ const after = [makeMessage({ text: 'After message', sender: 'Eve' })];
55
+ const output = formatSearchResult(makeSearchResultWithContext({}, { after }), 0);
56
+ expect(output).toContain('After message');
57
+ });
58
+ it('truncates long sender names', () => {
59
+ const longSender = 'A'.repeat(25);
60
+ const output = formatSearchResult(makeSearchResultWithContext({ sender: longSender, isFromMe: false }), 0);
61
+ expect(output).toContain('...');
62
+ });
63
+ });
64
+ describe('formatStats', () => {
65
+ it('includes message count', () => {
66
+ const stats = {
67
+ totalMessages: 1234,
68
+ totalChats: 56,
69
+ totalContacts: 78,
70
+ indexedAt: new Date('2024-01-01'),
71
+ oldestMessage: new Date('2020-01-01'),
72
+ newestMessage: new Date('2024-01-01'),
73
+ };
74
+ const output = formatStats(stats);
75
+ expect(output).toContain('1,234');
76
+ expect(output).toContain('56');
77
+ expect(output).toContain('78');
78
+ });
79
+ it('includes date range', () => {
80
+ const stats = {
81
+ totalMessages: 100,
82
+ totalChats: 10,
83
+ totalContacts: 5,
84
+ indexedAt: new Date('2024-06-15T12:00:00Z'),
85
+ oldestMessage: new Date('2023-06-15T12:00:00Z'),
86
+ newestMessage: new Date('2024-06-15T12:00:00Z'),
87
+ };
88
+ const output = formatStats(stats);
89
+ expect(output).toContain('Date range:');
90
+ expect(output).toMatch(/\d{4}/); // contains years
91
+ });
92
+ });
93
+ describe('formatNoResults', () => {
94
+ it('includes the query in the message', () => {
95
+ const output = formatNoResults('test query');
96
+ expect(output).toContain('test query');
97
+ });
98
+ it('indicates no messages were found', () => {
99
+ const output = formatNoResults('foo');
100
+ expect(output.toLowerCase()).toContain('no messages found');
101
+ });
102
+ });
103
+ describe('formatIndexProgress', () => {
104
+ it('shows reading phase with progress', () => {
105
+ const output = formatIndexProgress('reading', 50, 200);
106
+ expect(output).toContain('Reading messages');
107
+ expect(output).toContain('25%');
108
+ expect(output).toContain('50');
109
+ expect(output).toContain('200');
110
+ });
111
+ it('shows FTS indexing phase', () => {
112
+ const output = formatIndexProgress('indexing-fts', 100, 100);
113
+ expect(output).toContain('Building search index');
114
+ expect(output).toContain('100%');
115
+ });
116
+ it('shows fuzzy indexing phase', () => {
117
+ const output = formatIndexProgress('indexing-fuzzy', 75, 100);
118
+ expect(output).toContain('Building fuzzy index');
119
+ expect(output).toContain('75%');
120
+ });
121
+ it('shows done phase', () => {
122
+ const output = formatIndexProgress('done', 100, 100);
123
+ expect(output).toContain('Done');
124
+ });
125
+ it('handles unknown phases gracefully', () => {
126
+ const output = formatIndexProgress('custom-phase', 50, 100);
127
+ expect(output).toContain('custom-phase');
128
+ expect(output).toContain('50%');
129
+ });
130
+ });
131
+ //# sourceMappingURL=formatter.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatter.test.js","sourceRoot":"","sources":["../src/formatter.test.ts"],"names":[],"mappings":"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"}
package/dist/indexer.d.ts CHANGED
@@ -1,4 +1,7 @@
1
1
  import type { IndexStats } from './types.js';
2
+ export declare function normalizePhone(phone: string): string;
3
+ export declare function extractTextFromAttributedBody(blob: Buffer): string | null;
4
+ export declare function extractTextFallback(blob: Buffer): string | null;
2
5
  export declare function ensureIndexDir(): void;
3
6
  export declare function getIndexDbPath(): string;
4
7
  export declare function getFuzzyIndexPath(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"indexer.d.ts","sourceRoot":"","sources":["../src/indexer.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAkB,UAAU,EAAE,MAAM,YAAY,CAAA;AAyO5D,wBAAgB,cAAc,IAAI,IAAI,CAIrC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAGD,wBAAgB,iBAAiB,IAAI,OAAO,CAgB3C;AAID,wBAAgB,WAAW,CACzB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,GAC7C,MAAM,GAAG,aAAa,GAAG,MAAM,CAiBjC;AAED,wBAAgB,QAAQ,IAAI,UAAU,GAAG,IAAI,CAY5C;AAMD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,SAAS,GAAG,cAAc,GAAG,gBAAgB,GAAG,MAAM,CAAA;CAC9D;AAED,wBAAgB,UAAU,CACxB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,GAC7C,UAAU,CAwSZ;AAGD,wBAAgB,WAAW,CACzB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,GAC7C,UAAU,GAAG,IAAI,CAqOnB"}
1
+ {"version":3,"file":"indexer.d.ts","sourceRoot":"","sources":["../src/indexer.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAkB,UAAU,EAAE,MAAM,YAAY,CAAA;AAI5D,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAWpD;AAyHD,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAgDzE;AAGD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAsC/D;AAQD,wBAAgB,cAAc,IAAI,IAAI,CAIrC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAGD,wBAAgB,iBAAiB,IAAI,OAAO,CAgB3C;AAID,wBAAgB,WAAW,CACzB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,GAC7C,MAAM,GAAG,aAAa,GAAG,MAAM,CAiBjC;AAED,wBAAgB,QAAQ,IAAI,UAAU,GAAG,IAAI,CAY5C;AAMD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,SAAS,GAAG,cAAc,GAAG,gBAAgB,GAAG,MAAM,CAAA;CAC9D;AAED,wBAAgB,UAAU,CACxB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,GAC7C,UAAU,CAwSZ;AAGD,wBAAgB,WAAW,CACzB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,GAC7C,UAAU,GAAG,IAAI,CAqOnB"}
package/dist/indexer.js CHANGED
@@ -6,7 +6,7 @@ import { join } from 'node:path';
6
6
  import { Unarchiver } from 'node-typedstream';
7
7
  import { appleToUnix } from './types.js';
8
8
  // Normalize phone number for matching (remove all non-digit characters except +)
9
- function normalizePhone(phone) {
9
+ export function normalizePhone(phone) {
10
10
  // Keep only digits and leading +
11
11
  const cleaned = phone.replace(/[^\d+]/g, '');
12
12
  // Remove leading + and country code 1 for US numbers for matching
@@ -114,7 +114,7 @@ function buildContactLookup() {
114
114
  return lookup;
115
115
  }
116
116
  // Extract plain text from NSAttributedString blob using node-typedstream
117
- function extractTextFromAttributedBody(blob) {
117
+ export function extractTextFromAttributedBody(blob) {
118
118
  if (!blob || blob.length === 0)
119
119
  return null;
120
120
  try {
@@ -161,7 +161,7 @@ function extractTextFromAttributedBody(blob) {
161
161
  }
162
162
  }
163
163
  // Fallback text extraction using pattern matching
164
- function extractTextFallback(blob) {
164
+ export function extractTextFallback(blob) {
165
165
  try {
166
166
  const blobStr = blob.toString('latin1');
167
167
  // Look for the pattern with + character that contains the text
@@ -1 +1 @@
1
- {"version":3,"file":"indexer.js","sourceRoot":"","sources":["../src/indexer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"indexer.js","sourceRoot":"","sources":["../src/indexer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=indexer.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexer.test.d.ts","sourceRoot":"","sources":["../src/indexer.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,73 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { normalizePhone, extractTextFallback } from './indexer.js';
3
+ describe('normalizePhone', () => {
4
+ it('strips non-digit characters except leading +', () => {
5
+ expect(normalizePhone('(555) 123-4567')).toBe('5551234567');
6
+ });
7
+ it('removes +1 country code from US numbers', () => {
8
+ expect(normalizePhone('+15551234567')).toBe('5551234567');
9
+ });
10
+ it('removes leading 1 from 11-digit US numbers', () => {
11
+ expect(normalizePhone('15551234567')).toBe('5551234567');
12
+ });
13
+ it('keeps international numbers without US prefix', () => {
14
+ expect(normalizePhone('+447911123456')).toBe('447911123456');
15
+ });
16
+ it('handles already clean numbers', () => {
17
+ expect(normalizePhone('5551234567')).toBe('5551234567');
18
+ });
19
+ it('strips dashes and spaces', () => {
20
+ expect(normalizePhone('555-123-4567')).toBe('5551234567');
21
+ });
22
+ it('strips dots', () => {
23
+ expect(normalizePhone('555.123.4567')).toBe('5551234567');
24
+ });
25
+ it('removes leading + from non-US numbers', () => {
26
+ expect(normalizePhone('+33612345678')).toBe('33612345678');
27
+ });
28
+ it('handles empty string', () => {
29
+ expect(normalizePhone('')).toBe('');
30
+ });
31
+ });
32
+ describe('extractTextFallback', () => {
33
+ it('returns null for empty buffer', () => {
34
+ expect(extractTextFallback(Buffer.alloc(0))).toBeNull();
35
+ });
36
+ it('returns null for buffer with only binary data', () => {
37
+ expect(extractTextFallback(Buffer.from([0x00, 0x01, 0x02, 0x03]))).toBeNull();
38
+ });
39
+ it('extracts text from the plus pattern', () => {
40
+ // Simulate the \x01+text\x86 pattern
41
+ const buf = Buffer.from('\x01+Hello this is a message\x86', 'latin1');
42
+ const result = extractTextFallback(buf);
43
+ expect(result).toBe('Hello this is a message');
44
+ });
45
+ it('falls back to longest readable sequence when no plus pattern', () => {
46
+ const buf = Buffer.concat([
47
+ Buffer.from([0x00, 0x01, 0x02]),
48
+ Buffer.from('This is readable text content', 'latin1'),
49
+ Buffer.from([0x00, 0x01]),
50
+ ]);
51
+ const result = extractTextFallback(buf);
52
+ expect(result).toBe('This is readable text content');
53
+ });
54
+ it('filters out NSString and other Objective-C class names', () => {
55
+ const buf = Buffer.concat([
56
+ Buffer.from('NSString', 'latin1'),
57
+ Buffer.from([0x00]),
58
+ Buffer.from('NSDictionary', 'latin1'),
59
+ Buffer.from([0x00]),
60
+ Buffer.from('Actual message text here', 'latin1'),
61
+ ]);
62
+ const result = extractTextFallback(buf);
63
+ expect(result).not.toContain('NSString');
64
+ expect(result).not.toContain('NSDictionary');
65
+ expect(result).toBe('Actual message text here');
66
+ });
67
+ it('cleans control characters from extracted text', () => {
68
+ const buf = Buffer.from('\x01+Hello\x00\x0Fworld\x86', 'latin1');
69
+ const result = extractTextFallback(buf);
70
+ expect(result).toBe('Helloworld');
71
+ });
72
+ });
73
+ //# sourceMappingURL=indexer.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexer.test.js","sourceRoot":"","sources":["../src/indexer.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.test.d.ts","sourceRoot":"","sources":["../src/types.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,56 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { appleToUnix, unixToDate, appleToDate, APPLE_EPOCH_OFFSET, NANOSECONDS_PER_SECOND, } from './types.js';
3
+ describe('appleToUnix', () => {
4
+ it('converts Apple epoch 0 nanoseconds to Unix epoch offset', () => {
5
+ expect(appleToUnix(0)).toBe(APPLE_EPOCH_OFFSET);
6
+ });
7
+ it('converts a known Apple nanosecond timestamp', () => {
8
+ // 2024-01-01 00:00:00 UTC = 1704067200 Unix seconds
9
+ // Apple seconds since 2001 = 725760000
10
+ // Apple nanoseconds = 725760000 * 1_000_000_000
11
+ const appleNanos = 725760000 * NANOSECONDS_PER_SECOND;
12
+ expect(appleToUnix(appleNanos)).toBe(1704067200);
13
+ });
14
+ it('floors fractional seconds from nanosecond division', () => {
15
+ // 1.5 seconds in nanoseconds
16
+ const appleNanos = 1.5 * NANOSECONDS_PER_SECOND;
17
+ expect(appleToUnix(appleNanos)).toBe(1 + APPLE_EPOCH_OFFSET);
18
+ });
19
+ it('handles zero correctly', () => {
20
+ // Apple epoch 0 = Jan 1, 2001 = Unix 978307200
21
+ expect(appleToUnix(0)).toBe(978307200);
22
+ });
23
+ });
24
+ describe('unixToDate', () => {
25
+ it('converts Unix epoch 0 to Jan 1 1970', () => {
26
+ const date = unixToDate(0);
27
+ expect(date.getUTCFullYear()).toBe(1970);
28
+ expect(date.getUTCMonth()).toBe(0);
29
+ expect(date.getUTCDate()).toBe(1);
30
+ });
31
+ it('converts a known Unix timestamp to the correct date', () => {
32
+ const date = unixToDate(1704067200); // 2024-01-01
33
+ expect(date.getUTCFullYear()).toBe(2024);
34
+ expect(date.getUTCMonth()).toBe(0);
35
+ expect(date.getUTCDate()).toBe(1);
36
+ });
37
+ it('returns a Date instance', () => {
38
+ expect(unixToDate(1000000)).toBeInstanceOf(Date);
39
+ });
40
+ });
41
+ describe('appleToDate', () => {
42
+ it('converts Apple epoch 0 to Jan 1 2001', () => {
43
+ const date = appleToDate(0);
44
+ expect(date.getUTCFullYear()).toBe(2001);
45
+ expect(date.getUTCMonth()).toBe(0);
46
+ expect(date.getUTCDate()).toBe(1);
47
+ });
48
+ it('composes appleToUnix and unixToDate correctly', () => {
49
+ const appleNanos = 725760000 * NANOSECONDS_PER_SECOND;
50
+ const date = appleToDate(appleNanos);
51
+ expect(date.getUTCFullYear()).toBe(2024);
52
+ expect(date.getUTCMonth()).toBe(0);
53
+ expect(date.getUTCDate()).toBe(1);
54
+ });
55
+ });
56
+ //# sourceMappingURL=types.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.test.js","sourceRoot":"","sources":["../src/types.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cardmagic/messages",
3
- "version": "1.3.0",
3
+ "version": "1.4.0",
4
4
  "mcpName": "io.github.cardmagic/messages",
5
5
  "description": "Fuzzy search and browse Apple Messages/iMessage from CLI or MCP server",
6
6
  "license": "MIT",
@@ -57,6 +57,7 @@
57
57
  "devDependencies": {
58
58
  "@types/better-sqlite3": "7.6.13",
59
59
  "@types/node": "^25",
60
+ "@vitest/coverage-v8": "^4.0.18",
60
61
  "oxlint": "^1.36.0",
61
62
  "typescript": "^5.7.0",
62
63
  "vitest": "^4.0.16"