@cardmagic/notes 1.0.1

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 @@
1
+ {"version":3,"file":"indexer.js","sourceRoot":"","sources":["../src/indexer.ts"],"names":[],"mappings":"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"}
package/dist/mcp.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export declare function runMcpServer(): Promise<void>;
2
+ //# sourceMappingURL=mcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAsDA,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAmRlD"}
package/dist/mcp.js ADDED
@@ -0,0 +1,274 @@
1
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
2
+ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
3
+ import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
4
+ import { searchNotes, getRecentNotes, getNoteById, getNotesInFolder, listFolders, getNoteStats, } from './searcher.js';
5
+ function formatNoteForMcp(note) {
6
+ const lines = [];
7
+ const pinned = note.isPinned ? '📌 ' : '';
8
+ const locked = note.isLocked ? ' 🔒' : '';
9
+ lines.push(`${pinned}${note.title || 'Untitled'}${locked}`);
10
+ lines.push(`📁 ${note.folder}`);
11
+ if (note.snippet) {
12
+ lines.push(`Snippet: ${note.snippet}`);
13
+ }
14
+ lines.push(`Modified: ${new Date(note.modifiedAt * 1000).toISOString()}`);
15
+ lines.push(`ID: ${note.id}`);
16
+ return lines.join('\n');
17
+ }
18
+ function formatSearchResultForMcp(result) {
19
+ const lines = [];
20
+ const pinned = result.isPinned ? '📌 ' : '';
21
+ const locked = result.isLocked ? ' 🔒' : '';
22
+ lines.push(`${pinned}${result.title || 'Untitled'}${locked}`);
23
+ lines.push(`📁 ${result.folder}`);
24
+ if (result.snippet) {
25
+ lines.push(`Snippet: ${result.snippet}`);
26
+ }
27
+ lines.push(`Score: ${result.score.toFixed(2)}`);
28
+ lines.push(`Matched: ${result.matchedTerms.join(', ')}`);
29
+ lines.push(`Modified: ${new Date(result.modifiedAt * 1000).toISOString()}`);
30
+ lines.push(`ID: ${result.id}`);
31
+ return lines.join('\n');
32
+ }
33
+ export async function runMcpServer() {
34
+ const server = new Server({
35
+ name: 'notes',
36
+ version: '1.0.0',
37
+ }, {
38
+ capabilities: {
39
+ tools: {},
40
+ },
41
+ });
42
+ server.setRequestHandler(ListToolsRequestSchema, async () => ({
43
+ tools: [
44
+ {
45
+ name: 'search_notes',
46
+ description: 'Search through Apple Notes with fuzzy matching. Searches note titles, snippets, and body text.',
47
+ inputSchema: {
48
+ type: 'object',
49
+ properties: {
50
+ query: {
51
+ type: 'string',
52
+ description: 'Search query - supports fuzzy matching and typos',
53
+ },
54
+ folder: {
55
+ type: 'string',
56
+ description: 'Optional folder name to filter results',
57
+ },
58
+ after: {
59
+ type: 'string',
60
+ description: 'Optional date filter (YYYY-MM-DD) - only notes modified after this date',
61
+ },
62
+ limit: {
63
+ type: 'number',
64
+ description: 'Maximum number of results (default: 20)',
65
+ },
66
+ },
67
+ required: ['query'],
68
+ },
69
+ },
70
+ {
71
+ name: 'recent_notes',
72
+ description: 'Get the most recently modified Apple Notes',
73
+ inputSchema: {
74
+ type: 'object',
75
+ properties: {
76
+ limit: {
77
+ type: 'number',
78
+ description: 'Maximum number of notes to return (default: 20)',
79
+ },
80
+ },
81
+ },
82
+ },
83
+ {
84
+ name: 'read_note',
85
+ description: 'Read the full content of a specific note by its ID',
86
+ inputSchema: {
87
+ type: 'object',
88
+ properties: {
89
+ id: {
90
+ type: 'number',
91
+ description: 'The note ID to read',
92
+ },
93
+ },
94
+ required: ['id'],
95
+ },
96
+ },
97
+ {
98
+ name: 'list_folders',
99
+ description: 'List all Apple Notes folders with note counts',
100
+ inputSchema: {
101
+ type: 'object',
102
+ properties: {
103
+ limit: {
104
+ type: 'number',
105
+ description: 'Maximum number of folders to return (default: 50)',
106
+ },
107
+ },
108
+ },
109
+ },
110
+ {
111
+ name: 'notes_in_folder',
112
+ description: 'List notes in a specific folder',
113
+ inputSchema: {
114
+ type: 'object',
115
+ properties: {
116
+ folder: {
117
+ type: 'string',
118
+ description: 'Folder name to list notes from',
119
+ },
120
+ after: {
121
+ type: 'string',
122
+ description: 'Optional date filter (YYYY-MM-DD)',
123
+ },
124
+ limit: {
125
+ type: 'number',
126
+ description: 'Maximum number of notes to return (default: 50)',
127
+ },
128
+ },
129
+ required: ['folder'],
130
+ },
131
+ },
132
+ {
133
+ name: 'get_note_stats',
134
+ description: 'Get statistics about the Apple Notes index',
135
+ inputSchema: {
136
+ type: 'object',
137
+ properties: {},
138
+ },
139
+ },
140
+ ],
141
+ }));
142
+ server.setRequestHandler(CallToolRequestSchema, async (request) => {
143
+ const { name, arguments: args } = request.params;
144
+ try {
145
+ switch (name) {
146
+ case 'search_notes': {
147
+ const query = args?.query;
148
+ const folder = args?.folder;
149
+ const after = args?.after;
150
+ const limit = args?.limit || 20;
151
+ const results = await searchNotes(query, { limit, folder, after });
152
+ if (results.length === 0) {
153
+ return {
154
+ content: [{ type: 'text', text: `No results found for "${query}"` }],
155
+ };
156
+ }
157
+ const formatted = results.map(formatSearchResultForMcp).join('\n\n---\n\n');
158
+ return {
159
+ content: [{ type: 'text', text: `Found ${results.length} notes:\n\n${formatted}` }],
160
+ };
161
+ }
162
+ case 'recent_notes': {
163
+ const limit = args?.limit || 20;
164
+ const notes = await getRecentNotes(limit);
165
+ if (notes.length === 0) {
166
+ return {
167
+ content: [{ type: 'text', text: 'No notes found.' }],
168
+ };
169
+ }
170
+ const formatted = notes.map(formatNoteForMcp).join('\n\n---\n\n');
171
+ return {
172
+ content: [{ type: 'text', text: `${notes.length} recent notes:\n\n${formatted}` }],
173
+ };
174
+ }
175
+ case 'read_note': {
176
+ const id = args?.id;
177
+ const note = await getNoteById(id);
178
+ if (!note) {
179
+ return {
180
+ content: [{ type: 'text', text: `Note with ID ${id} not found.` }],
181
+ };
182
+ }
183
+ const lines = [];
184
+ const pinned = note.isPinned ? '📌 ' : '';
185
+ const locked = note.isLocked ? ' 🔒' : '';
186
+ lines.push(`# ${pinned}${note.title || 'Untitled'}${locked}`);
187
+ lines.push('');
188
+ lines.push(`**Folder:** ${note.folder}`);
189
+ lines.push(`**Created:** ${new Date(note.createdAt * 1000).toISOString()}`);
190
+ lines.push(`**Modified:** ${new Date(note.modifiedAt * 1000).toISOString()}`);
191
+ if (note.snippet) {
192
+ lines.push('');
193
+ lines.push(`**Snippet:** ${note.snippet}`);
194
+ }
195
+ if (note.body) {
196
+ lines.push('');
197
+ lines.push('## Content');
198
+ lines.push('');
199
+ lines.push(note.body);
200
+ }
201
+ return {
202
+ content: [{ type: 'text', text: lines.join('\n') }],
203
+ };
204
+ }
205
+ case 'list_folders': {
206
+ const limit = args?.limit || 50;
207
+ const folders = await listFolders(limit);
208
+ if (folders.length === 0) {
209
+ return {
210
+ content: [{ type: 'text', text: 'No folders found.' }],
211
+ };
212
+ }
213
+ const lines = folders.map(f => `📁 ${f.name} (${f.noteCount} notes, last modified: ${new Date(f.lastModified * 1000).toISOString()})`);
214
+ return {
215
+ content: [{ type: 'text', text: `${folders.length} folders:\n\n${lines.join('\n')}` }],
216
+ };
217
+ }
218
+ case 'notes_in_folder': {
219
+ const folder = args?.folder;
220
+ const after = args?.after;
221
+ const limit = args?.limit || 50;
222
+ const notes = await getNotesInFolder(folder, { limit, after });
223
+ if (notes.length === 0) {
224
+ return {
225
+ content: [{ type: 'text', text: `No notes found in folder "${folder}".` }],
226
+ };
227
+ }
228
+ const formatted = notes.map(formatNoteForMcp).join('\n\n---\n\n');
229
+ return {
230
+ content: [{ type: 'text', text: `${notes.length} notes in "${folder}":\n\n${formatted}` }],
231
+ };
232
+ }
233
+ case 'get_note_stats': {
234
+ const stats = await getNoteStats();
235
+ if (!stats) {
236
+ return {
237
+ content: [{ type: 'text', text: 'No index found. The index will be built on first search.' }],
238
+ };
239
+ }
240
+ const lines = [
241
+ '📊 Apple Notes Index Statistics',
242
+ '',
243
+ `Total Notes: ${stats.totalNotes}`,
244
+ `Total Folders: ${stats.totalFolders}`,
245
+ `Indexed At: ${stats.indexedAt}`,
246
+ ];
247
+ if (stats.oldestNote) {
248
+ lines.push(`Oldest Note: ${stats.oldestNote}`);
249
+ }
250
+ if (stats.newestNote) {
251
+ lines.push(`Newest Note: ${stats.newestNote}`);
252
+ }
253
+ return {
254
+ content: [{ type: 'text', text: lines.join('\n') }],
255
+ };
256
+ }
257
+ default:
258
+ return {
259
+ content: [{ type: 'text', text: `Unknown tool: ${name}` }],
260
+ isError: true,
261
+ };
262
+ }
263
+ }
264
+ catch (error) {
265
+ return {
266
+ content: [{ type: 'text', text: `Error: ${error.message}` }],
267
+ isError: true,
268
+ };
269
+ }
270
+ });
271
+ const transport = new StdioServerTransport();
272
+ await server.connect(transport);
273
+ }
274
+ //# sourceMappingURL=mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,WAAW,EACX,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,YAAY,GACb,MAAM,eAAe,CAAC;AAGvB,SAAS,gBAAgB,CAAC,IAAiB;IACzC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1C,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,IAAI,UAAU,GAAG,MAAM,EAAE,CAAC,CAAC;IAC5D,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAEhC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC1E,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAE7B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAoB;IACpD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5C,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,UAAU,GAAG,MAAM,EAAE,CAAC,CAAC;IAC9D,KAAK,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAElC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAChD,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzD,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC5E,KAAK,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IAE/B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB;QACE,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,OAAO;KACjB,EACD;QACE,YAAY,EAAE;YACZ,KAAK,EAAE,EAAE;SACV;KACF,CACF,CAAC;IAEF,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAC5D,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,gGAAgG;gBAC7G,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,kDAAkD;yBAChE;wBACD,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,wCAAwC;yBACtD;wBACD,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,yEAAyE;yBACvF;wBACD,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,yCAAyC;yBACvD;qBACF;oBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;iBACpB;aACF;YACD;gBACE,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,4CAA4C;gBACzD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,iDAAiD;yBAC/D;qBACF;iBACF;aACF;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,oDAAoD;gBACjE,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,EAAE,EAAE;4BACF,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,qBAAqB;yBACnC;qBACF;oBACD,QAAQ,EAAE,CAAC,IAAI,CAAC;iBACjB;aACF;YACD;gBACE,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,+CAA+C;gBAC5D,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,mDAAmD;yBACjE;qBACF;iBACF;aACF;YACD;gBACE,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,iCAAiC;gBAC9C,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,gCAAgC;yBAC9C;wBACD,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,mCAAmC;yBACjD;wBACD,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,iDAAiD;yBAC/D;qBACF;oBACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;iBACrB;aACF;YACD;gBACE,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,4CAA4C;gBACzD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,EAAE;iBACf;aACF;SACF;KACF,CAAC,CAAC,CAAC;IAEJ,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QAEjD,IAAI,CAAC;YACH,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,cAAc,CAAC,CAAC,CAAC;oBACpB,MAAM,KAAK,GAAG,IAAI,EAAE,KAAe,CAAC;oBACpC,MAAM,MAAM,GAAG,IAAI,EAAE,MAA4B,CAAC;oBAClD,MAAM,KAAK,GAAG,IAAI,EAAE,KAA2B,CAAC;oBAChD,MAAM,KAAK,GAAI,IAAI,EAAE,KAAgB,IAAI,EAAE,CAAC;oBAE5C,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;oBAEnE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACzB,OAAO;4BACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,yBAAyB,KAAK,GAAG,EAAE,CAAC;yBACrE,CAAC;oBACJ,CAAC;oBAED,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAC5E,OAAO;wBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,OAAO,CAAC,MAAM,cAAc,SAAS,EAAE,EAAE,CAAC;qBACpF,CAAC;gBACJ,CAAC;gBAED,KAAK,cAAc,CAAC,CAAC,CAAC;oBACpB,MAAM,KAAK,GAAI,IAAI,EAAE,KAAgB,IAAI,EAAE,CAAC;oBAC5C,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,CAAC;oBAE1C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACvB,OAAO;4BACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;yBACrD,CAAC;oBACJ,CAAC;oBAED,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAClE,OAAO;wBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,qBAAqB,SAAS,EAAE,EAAE,CAAC;qBACnF,CAAC;gBACJ,CAAC;gBAED,KAAK,WAAW,CAAC,CAAC,CAAC;oBACjB,MAAM,EAAE,GAAG,IAAI,EAAE,EAAY,CAAC;oBAC9B,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,EAAE,CAAC,CAAC;oBAEnC,IAAI,CAAC,IAAI,EAAE,CAAC;wBACV,OAAO;4BACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;yBACnE,CAAC;oBACJ,CAAC;oBAED,MAAM,KAAK,GAAa,EAAE,CAAC;oBAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBAE1C,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,GAAG,IAAI,CAAC,KAAK,IAAI,UAAU,GAAG,MAAM,EAAE,CAAC,CAAC;oBAC9D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACf,KAAK,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;oBACzC,KAAK,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;oBAC5E,KAAK,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;oBAE9E,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;wBACjB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBACf,KAAK,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC7C,CAAC;oBAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;wBACd,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBACf,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBACzB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBACf,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACxB,CAAC;oBAED,OAAO;wBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;qBACpD,CAAC;gBACJ,CAAC;gBAED,KAAK,cAAc,CAAC,CAAC,CAAC;oBACpB,MAAM,KAAK,GAAI,IAAI,EAAE,KAAgB,IAAI,EAAE,CAAC;oBAC5C,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;oBAEzC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACzB,OAAO;4BACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;yBACvD,CAAC;oBACJ,CAAC;oBAED,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAC5B,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,SAAS,0BAA0B,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,GAAG,CACvG,CAAC;oBAEF,OAAO;wBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,gBAAgB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;qBACvF,CAAC;gBACJ,CAAC;gBAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;oBACvB,MAAM,MAAM,GAAG,IAAI,EAAE,MAAgB,CAAC;oBACtC,MAAM,KAAK,GAAG,IAAI,EAAE,KAA2B,CAAC;oBAChD,MAAM,KAAK,GAAI,IAAI,EAAE,KAAgB,IAAI,EAAE,CAAC;oBAE5C,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;oBAE/D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACvB,OAAO;4BACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,6BAA6B,MAAM,IAAI,EAAE,CAAC;yBAC3E,CAAC;oBACJ,CAAC;oBAED,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAClE,OAAO;wBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,cAAc,MAAM,SAAS,SAAS,EAAE,EAAE,CAAC;qBAC3F,CAAC;gBACJ,CAAC;gBAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;oBACtB,MAAM,KAAK,GAAG,MAAM,YAAY,EAAE,CAAC;oBAEnC,IAAI,CAAC,KAAK,EAAE,CAAC;wBACX,OAAO;4BACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,0DAA0D,EAAE,CAAC;yBAC9F,CAAC;oBACJ,CAAC;oBAED,MAAM,KAAK,GAAG;wBACZ,iCAAiC;wBACjC,EAAE;wBACF,gBAAgB,KAAK,CAAC,UAAU,EAAE;wBAClC,kBAAkB,KAAK,CAAC,YAAY,EAAE;wBACtC,eAAe,KAAK,CAAC,SAAS,EAAE;qBACjC,CAAC;oBAEF,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;wBACrB,KAAK,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;oBACjD,CAAC;oBACD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;wBACrB,KAAK,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;oBACjD,CAAC;oBAED,OAAO;wBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;qBACpD,CAAC;gBACJ,CAAC;gBAED;oBACE,OAAO;wBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,IAAI,EAAE,EAAE,CAAC;wBAC1D,OAAO,EAAE,IAAI;qBACd,CAAC;YACN,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAW,KAAe,CAAC,OAAO,EAAE,EAAE,CAAC;gBACvE,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { IndexedNote, SearchResult, FolderInfo, IndexStats } from './types.js';
2
+ export declare function closeConnections(): void;
3
+ export interface SearchOptions {
4
+ limit?: number;
5
+ folder?: string;
6
+ after?: string;
7
+ }
8
+ export declare function searchNotes(query: string, options?: SearchOptions): Promise<SearchResult[]>;
9
+ export declare function getRecentNotes(limit?: number): Promise<IndexedNote[]>;
10
+ export declare function getNoteById(id: number): Promise<IndexedNote | null>;
11
+ export declare function getNotesInFolder(folderName: string, options?: {
12
+ limit?: number;
13
+ after?: string;
14
+ }): Promise<IndexedNote[]>;
15
+ export declare function listFolders(limit?: number): Promise<FolderInfo[]>;
16
+ export declare function getNoteStats(): Promise<IndexStats | null>;
17
+ //# sourceMappingURL=searcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"searcher.d.ts","sourceRoot":"","sources":["../src/searcher.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AA4CpF,wBAAgB,gBAAgB,IAAI,IAAI,CAMvC;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,WAAW,CAC/B,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,EAAE,CAAC,CAyEzB;AAED,wBAAsB,cAAc,CAAC,KAAK,SAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAkCvE;AAED,wBAAsB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAqCzE;AAED,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/C,OAAO,CAAC,WAAW,EAAE,CAAC,CAgDxB;AAED,wBAAsB,WAAW,CAAC,KAAK,SAAK,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CA2BnE;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAG/D"}
@@ -0,0 +1,203 @@
1
+ import Database from 'better-sqlite3';
2
+ import { readFileSync, existsSync } from 'node:fs';
3
+ import MiniSearch from 'minisearch';
4
+ import { ensureIndex, getIndexDbPath, getFuzzyIndexPath, getStats } from './indexer.js';
5
+ let cachedDb = null;
6
+ let cachedMiniSearch = null;
7
+ function getDb() {
8
+ if (cachedDb) {
9
+ return cachedDb;
10
+ }
11
+ const dbPath = getIndexDbPath();
12
+ if (!existsSync(dbPath)) {
13
+ throw new Error('Index not found. Run "notes index" first.');
14
+ }
15
+ cachedDb = new Database(dbPath, { readonly: true });
16
+ return cachedDb;
17
+ }
18
+ function getMiniSearch() {
19
+ if (cachedMiniSearch) {
20
+ return cachedMiniSearch;
21
+ }
22
+ const indexPath = getFuzzyIndexPath();
23
+ if (!existsSync(indexPath)) {
24
+ throw new Error('Fuzzy index not found. Run "notes index" first.');
25
+ }
26
+ const data = JSON.parse(readFileSync(indexPath, 'utf-8'));
27
+ cachedMiniSearch = MiniSearch.loadJS(data, {
28
+ fields: ['title', 'snippet', 'body', 'folder'],
29
+ storeFields: ['id', 'title', 'snippet', 'folder', 'createdAt', 'modifiedAt', 'isPinned', 'isLocked'],
30
+ searchOptions: {
31
+ fuzzy: 0.2,
32
+ prefix: true,
33
+ boost: { title: 3, snippet: 2, body: 1, folder: 1 },
34
+ },
35
+ });
36
+ return cachedMiniSearch;
37
+ }
38
+ export function closeConnections() {
39
+ if (cachedDb) {
40
+ cachedDb.close();
41
+ cachedDb = null;
42
+ }
43
+ cachedMiniSearch = null;
44
+ }
45
+ export async function searchNotes(query, options = {}) {
46
+ await ensureIndex();
47
+ const { limit = 20, folder, after } = options;
48
+ const miniSearch = getMiniSearch();
49
+ const db = getDb();
50
+ // Use MiniSearch for fuzzy search
51
+ const searchResults = miniSearch.search(query, { fuzzy: 0.2, prefix: true });
52
+ if (searchResults.length === 0) {
53
+ return [];
54
+ }
55
+ // Get full note data from SQLite
56
+ const ids = searchResults.slice(0, limit * 2).map(r => r.id);
57
+ const placeholders = ids.map(() => '?').join(',');
58
+ let sql = `
59
+ SELECT id, title, snippet, body, folder, created_at, modified_at, is_pinned, is_locked
60
+ FROM notes
61
+ WHERE id IN (${placeholders})
62
+ `;
63
+ const params = [...ids];
64
+ if (folder) {
65
+ sql += ' AND folder LIKE ?';
66
+ params.push(`%${folder}%`);
67
+ }
68
+ if (after) {
69
+ const afterDate = new Date(after);
70
+ if (!isNaN(afterDate.getTime())) {
71
+ sql += ' AND modified_at >= ?';
72
+ params.push(Math.floor(afterDate.getTime() / 1000));
73
+ }
74
+ }
75
+ const stmt = db.prepare(sql);
76
+ const rows = stmt.all(...params);
77
+ // Build results with scores
78
+ const results = rows.map(row => {
79
+ const searchResult = searchResults.find(sr => sr.id === row.id);
80
+ return {
81
+ id: row.id,
82
+ title: row.title,
83
+ snippet: row.snippet,
84
+ body: row.body,
85
+ folder: row.folder,
86
+ createdAt: row.created_at,
87
+ modifiedAt: row.modified_at,
88
+ isPinned: row.is_pinned === 1,
89
+ isLocked: row.is_locked === 1,
90
+ score: searchResult?.score || 0,
91
+ matchedTerms: searchResult?.terms || [],
92
+ };
93
+ });
94
+ // Sort by score and limit
95
+ return results
96
+ .sort((a, b) => b.score - a.score)
97
+ .slice(0, limit);
98
+ }
99
+ export async function getRecentNotes(limit = 20) {
100
+ await ensureIndex();
101
+ const db = getDb();
102
+ const stmt = db.prepare(`
103
+ SELECT id, title, snippet, body, folder, created_at, modified_at, is_pinned, is_locked
104
+ FROM notes
105
+ ORDER BY modified_at DESC
106
+ LIMIT ?
107
+ `);
108
+ const rows = stmt.all(limit);
109
+ return rows.map(row => ({
110
+ id: row.id,
111
+ title: row.title,
112
+ snippet: row.snippet,
113
+ body: row.body,
114
+ folder: row.folder,
115
+ createdAt: row.created_at,
116
+ modifiedAt: row.modified_at,
117
+ isPinned: row.is_pinned === 1,
118
+ isLocked: row.is_locked === 1,
119
+ }));
120
+ }
121
+ export async function getNoteById(id) {
122
+ await ensureIndex();
123
+ const db = getDb();
124
+ const stmt = db.prepare(`
125
+ SELECT id, title, snippet, body, folder, created_at, modified_at, is_pinned, is_locked
126
+ FROM notes
127
+ WHERE id = ?
128
+ `);
129
+ const row = stmt.get(id);
130
+ if (!row) {
131
+ return null;
132
+ }
133
+ return {
134
+ id: row.id,
135
+ title: row.title,
136
+ snippet: row.snippet,
137
+ body: row.body,
138
+ folder: row.folder,
139
+ createdAt: row.created_at,
140
+ modifiedAt: row.modified_at,
141
+ isPinned: row.is_pinned === 1,
142
+ isLocked: row.is_locked === 1,
143
+ };
144
+ }
145
+ export async function getNotesInFolder(folderName, options = {}) {
146
+ await ensureIndex();
147
+ const { limit = 50, after } = options;
148
+ const db = getDb();
149
+ let sql = `
150
+ SELECT id, title, snippet, body, folder, created_at, modified_at, is_pinned, is_locked
151
+ FROM notes
152
+ WHERE folder LIKE ?
153
+ `;
154
+ const params = [`%${folderName}%`];
155
+ if (after) {
156
+ const afterDate = new Date(after);
157
+ if (!isNaN(afterDate.getTime())) {
158
+ sql += ' AND modified_at >= ?';
159
+ params.push(Math.floor(afterDate.getTime() / 1000));
160
+ }
161
+ }
162
+ sql += ' ORDER BY modified_at DESC LIMIT ?';
163
+ params.push(limit);
164
+ const stmt = db.prepare(sql);
165
+ const rows = stmt.all(...params);
166
+ return rows.map(row => ({
167
+ id: row.id,
168
+ title: row.title,
169
+ snippet: row.snippet,
170
+ body: row.body,
171
+ folder: row.folder,
172
+ createdAt: row.created_at,
173
+ modifiedAt: row.modified_at,
174
+ isPinned: row.is_pinned === 1,
175
+ isLocked: row.is_locked === 1,
176
+ }));
177
+ }
178
+ export async function listFolders(limit = 50) {
179
+ await ensureIndex();
180
+ const db = getDb();
181
+ const stmt = db.prepare(`
182
+ SELECT
183
+ folder as name,
184
+ COUNT(*) as noteCount,
185
+ MAX(modified_at) as lastModified
186
+ FROM notes
187
+ GROUP BY folder
188
+ ORDER BY lastModified DESC
189
+ LIMIT ?
190
+ `);
191
+ const rows = stmt.all(limit);
192
+ return rows.map((row, index) => ({
193
+ id: index + 1,
194
+ name: row.name,
195
+ noteCount: row.noteCount,
196
+ lastModified: row.lastModified,
197
+ }));
198
+ }
199
+ export async function getNoteStats() {
200
+ await ensureIndex();
201
+ return getStats();
202
+ }
203
+ //# sourceMappingURL=searcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"searcher.js","sourceRoot":"","sources":["../src/searcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ export declare function appleToUnix(appleTimestamp: number): number;
2
+ export declare function appleToDate(appleTimestamp: number): Date;
3
+ export declare function unixToApple(unixTimestamp: number): number;
4
+ export interface RawNote {
5
+ rowid: number;
6
+ title: string | null;
7
+ snippet: string | null;
8
+ folderId: number | null;
9
+ folderName: string | null;
10
+ creationDate: number | null;
11
+ modificationDate: number | null;
12
+ isPinned: number;
13
+ isPasswordProtected: number;
14
+ data: Buffer | null;
15
+ }
16
+ export interface IndexedNote {
17
+ id: number;
18
+ title: string;
19
+ snippet: string;
20
+ body: string;
21
+ folder: string;
22
+ createdAt: number;
23
+ modifiedAt: number;
24
+ isPinned: boolean;
25
+ isLocked: boolean;
26
+ }
27
+ export interface SearchResult extends IndexedNote {
28
+ score: number;
29
+ matchedTerms: string[];
30
+ }
31
+ export interface FolderInfo {
32
+ id: number;
33
+ name: string;
34
+ noteCount: number;
35
+ lastModified: number;
36
+ }
37
+ export interface IndexStats {
38
+ totalNotes: number;
39
+ totalFolders: number;
40
+ indexedAt: string;
41
+ oldestNote: string | null;
42
+ newestNote: string | null;
43
+ }
44
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAKA,wBAAgB,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAExD;AAED,wBAAgB,WAAW,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B"}
package/dist/types.js ADDED
@@ -0,0 +1,14 @@
1
+ // Apple uses a different epoch: January 1, 2001
2
+ // Unix epoch is January 1, 1970
3
+ // Difference is 978307200 seconds
4
+ const APPLE_EPOCH_OFFSET = 978307200;
5
+ export function appleToUnix(appleTimestamp) {
6
+ return Math.floor(appleTimestamp) + APPLE_EPOCH_OFFSET;
7
+ }
8
+ export function appleToDate(appleTimestamp) {
9
+ return new Date(appleToUnix(appleTimestamp) * 1000);
10
+ }
11
+ export function unixToApple(unixTimestamp) {
12
+ return unixTimestamp - APPLE_EPOCH_OFFSET;
13
+ }
14
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,gCAAgC;AAChC,kCAAkC;AAClC,MAAM,kBAAkB,GAAG,SAAS,CAAC;AAErC,MAAM,UAAU,WAAW,CAAC,cAAsB;IAChD,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,cAAsB;IAChD,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,aAAqB;IAC/C,OAAO,aAAa,GAAG,kBAAkB,CAAC;AAC5C,CAAC"}