@noteplanco/noteplan-mcp 1.1.7 → 1.1.9

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.
Files changed (79) hide show
  1. package/dist/noteplan/embeddings.d.ts +8 -0
  2. package/dist/noteplan/embeddings.d.ts.map +1 -1
  3. package/dist/noteplan/embeddings.js +3 -3
  4. package/dist/noteplan/embeddings.js.map +1 -1
  5. package/dist/noteplan/file-reader.d.ts +6 -0
  6. package/dist/noteplan/file-reader.d.ts.map +1 -1
  7. package/dist/noteplan/file-reader.js +15 -0
  8. package/dist/noteplan/file-reader.js.map +1 -1
  9. package/dist/noteplan/file-writer.d.ts.map +1 -1
  10. package/dist/noteplan/file-writer.js +13 -1
  11. package/dist/noteplan/file-writer.js.map +1 -1
  12. package/dist/noteplan/file-writer.test.js +4 -0
  13. package/dist/noteplan/file-writer.test.js.map +1 -1
  14. package/dist/noteplan/frontmatter-parser.d.ts +4 -4
  15. package/dist/noteplan/frontmatter-parser.d.ts.map +1 -1
  16. package/dist/noteplan/frontmatter-parser.js +11 -14
  17. package/dist/noteplan/frontmatter-parser.js.map +1 -1
  18. package/dist/noteplan/frontmatter-parser.test.js +92 -0
  19. package/dist/noteplan/frontmatter-parser.test.js.map +1 -1
  20. package/dist/noteplan/markdown-parser.d.ts.map +1 -1
  21. package/dist/noteplan/markdown-parser.js +4 -2
  22. package/dist/noteplan/markdown-parser.js.map +1 -1
  23. package/dist/noteplan/markdown-parser.test.js +129 -0
  24. package/dist/noteplan/markdown-parser.test.js.map +1 -1
  25. package/dist/noteplan/sqlite-loader.d.ts +11 -2
  26. package/dist/noteplan/sqlite-loader.d.ts.map +1 -1
  27. package/dist/noteplan/sqlite-loader.js +143 -15
  28. package/dist/noteplan/sqlite-loader.js.map +1 -1
  29. package/dist/noteplan/sqlite-writer.d.ts.map +1 -1
  30. package/dist/noteplan/sqlite-writer.js +3 -0
  31. package/dist/noteplan/sqlite-writer.js.map +1 -1
  32. package/dist/noteplan/template-docs.d.ts +35 -0
  33. package/dist/noteplan/template-docs.d.ts.map +1 -0
  34. package/dist/noteplan/template-docs.js +184 -0
  35. package/dist/noteplan/template-docs.js.map +1 -0
  36. package/dist/noteplan/unified-store.d.ts +2 -0
  37. package/dist/noteplan/unified-store.d.ts.map +1 -1
  38. package/dist/noteplan/unified-store.js +30 -7
  39. package/dist/noteplan/unified-store.js.map +1 -1
  40. package/dist/server.d.ts.map +1 -1
  41. package/dist/server.js +307 -65
  42. package/dist/server.js.map +1 -1
  43. package/dist/tools/calendar.d.ts +2 -2
  44. package/dist/tools/events.d.ts +16 -16
  45. package/dist/tools/events.d.ts.map +1 -1
  46. package/dist/tools/events.js +17 -2
  47. package/dist/tools/events.js.map +1 -1
  48. package/dist/tools/notes.d.ts +327 -45
  49. package/dist/tools/notes.d.ts.map +1 -1
  50. package/dist/tools/notes.js +391 -51
  51. package/dist/tools/notes.js.map +1 -1
  52. package/dist/tools/notes.test.js +959 -1
  53. package/dist/tools/notes.test.js.map +1 -1
  54. package/dist/tools/plugins.d.ts.map +1 -1
  55. package/dist/tools/plugins.js +1 -0
  56. package/dist/tools/plugins.js.map +1 -1
  57. package/dist/tools/search.d.ts +2 -2
  58. package/dist/tools/search.d.ts.map +1 -1
  59. package/dist/tools/search.js +32 -4
  60. package/dist/tools/search.js.map +1 -1
  61. package/dist/tools/tasks.d.ts +86 -10
  62. package/dist/tools/tasks.d.ts.map +1 -1
  63. package/dist/tools/tasks.js +84 -25
  64. package/dist/tools/tasks.js.map +1 -1
  65. package/dist/tools/templates.d.ts +64 -3
  66. package/dist/tools/templates.d.ts.map +1 -1
  67. package/dist/tools/templates.js +73 -1
  68. package/dist/tools/templates.js.map +1 -1
  69. package/dist/tools/ui-automation.d.ts +74 -0
  70. package/dist/tools/ui-automation.d.ts.map +1 -0
  71. package/dist/tools/ui-automation.js +209 -0
  72. package/dist/tools/ui-automation.js.map +1 -0
  73. package/dist/utils/version.d.ts +1 -0
  74. package/dist/utils/version.d.ts.map +1 -1
  75. package/dist/utils/version.js +89 -27
  76. package/dist/utils/version.js.map +1 -1
  77. package/docs/templates.db.gz +0 -0
  78. package/docs/x-callback-url.md +318 -0
  79. package/package.json +1 -1
@@ -0,0 +1,318 @@
1
+ # NotePlan x-callback-url Reference
2
+
3
+ NotePlan supports the `noteplan://x-callback-url/` URL scheme for automation, deep linking, and integration with other apps. These URLs work on both macOS and iOS.
4
+
5
+ ## Base URL Format
6
+
7
+ ```
8
+ noteplan://x-callback-url/<action>?<param1>=<value1>&<param2>=<value2>
9
+ ```
10
+
11
+ All parameter values must be **percent-encoded** (URL-encoded). Use `%20` for spaces, `%0A` for newlines, `%23` for `#`, etc.
12
+
13
+ ## x-callback-url Support
14
+
15
+ All actions support the standard [x-callback-url](http://x-callback-url.com) parameters:
16
+ - **x-success** — URL to open when the action completes successfully. For `noteInfo`, the callback receives `?path=<path>&name=<name>`.
17
+
18
+ ---
19
+
20
+ ## Note Targeting Parameters
21
+
22
+ Many actions need to identify which note to act on. Use **one** of these parameters:
23
+
24
+ | Parameter | Description | Example |
25
+ |-----------|-------------|---------|
26
+ | `noteDate` | Date of a calendar note. Accepts `YYYYMMDD`, `YYYY-MM-DD`, `today`, `tomorrow`, `yesterday` | `noteDate=20250217` |
27
+ | `noteTitle` | Title of a project note (case-sensitive by default) | `noteTitle=My%20Note` |
28
+ | `fileName` | Filename/path of a note (with extension) | `fileName=Projects/todo.md` |
29
+ | `id` | Supabase note ID | `id=abc123` |
30
+
31
+ Additional targeting options:
32
+ - **caseSensitive** — `true` (default) or `false`, applies to `noteTitle` lookups
33
+ - **heading** / **subheading** — Jump to a specific heading within the note
34
+
35
+ ---
36
+
37
+ ## Actions
38
+
39
+ ### openNote
40
+
41
+ Open an existing note. If the note doesn't exist, it creates one (using `noteTitle` as the title).
42
+
43
+ ```
44
+ noteplan://x-callback-url/openNote?noteTitle=Meeting%20Notes
45
+ noteplan://x-callback-url/openNote?noteDate=today
46
+ noteplan://x-callback-url/openNote?fileName=Projects/roadmap.md
47
+ ```
48
+
49
+ | Parameter | Description |
50
+ |-----------|-------------|
51
+ | `noteDate` / `noteTitle` / `fileName` | Which note to open (see Note Targeting) |
52
+ | `heading` | Scroll to and highlight this heading |
53
+ | `subWindow` | `yes` to open in a new window (macOS) |
54
+ | `splitView` | `yes` to open in split view (macOS) |
55
+ | `reuseSplitView` | `yes` to reuse an existing split view |
56
+ | `useExistingSubWindow` | `yes` to reuse an existing sub window (macOS) |
57
+ | `view` | `daily` or `week` — override the view for calendar notes (macOS) |
58
+ | `timeframe` | `day`, `week`, `month`, `quarter`, `year` |
59
+ | `parent` | Teamspace/space parent identifier |
60
+ | `stayInSpace` | `yes` to stay in the current teamspace context |
61
+ | `highlightStart` | Character offset to highlight |
62
+ | `highlightLength` | Length of highlight range |
63
+ | `editorID` | Target a specific editor pane |
64
+ | `showEventsOnly` | `yes` to show only calendar events (iOS) |
65
+ | `shouldOpenTrashedNotes` | `yes` to allow opening trashed notes |
66
+
67
+ ---
68
+
69
+ ### addText
70
+
71
+ Append or prepend text to an existing note.
72
+
73
+ ```
74
+ noteplan://x-callback-url/addText?noteDate=today&text=*%20Buy%20groceries&mode=append&openNote=no
75
+ noteplan://x-callback-url/addText?noteTitle=Journal&text=Had%20a%20great%20day&mode=append
76
+ ```
77
+
78
+ | Parameter | Required | Description |
79
+ |-----------|----------|-------------|
80
+ | `noteDate` / `noteTitle` / `fileName` | Yes | Which note to modify |
81
+ | `text` | Yes | The text to add (percent-encoded) |
82
+ | `mode` | No | `append` (default) or `prepend` |
83
+ | `openNote` | No | `yes` to open the note after adding text, `no` (default) to stay in current app |
84
+
85
+ **Tips:**
86
+ - Use `%0A` for newlines in the text parameter
87
+ - Prefix tasks with `*%20` for bullet/task format (e.g., `text=*%20My%20task`)
88
+ - Use `mode=prepend` to add at the top of the note (after the heading for calendar notes)
89
+
90
+ ---
91
+
92
+ ### addNote
93
+
94
+ Create a new project note.
95
+
96
+ ```
97
+ noteplan://x-callback-url/addNote?noteTitle=Weekly%20Review&text=##%20Wins&openNote=yes
98
+ noteplan://x-callback-url/addNote?noteTitle=Meeting&text=Attendees&folder=Work
99
+ ```
100
+
101
+ | Parameter | Required | Description |
102
+ |-----------|----------|-------------|
103
+ | `noteTitle` | Yes | Title for the new note (a `#` heading is auto-prepended if missing) |
104
+ | `text` | No | Body content of the note |
105
+ | `folder` | No | Folder to create the note in (e.g., `Projects`, `Work/Active`) |
106
+ | `openNote` | No | `yes` to open after creation |
107
+ | `subWindow` | No | `yes` to open in a new window (macOS) |
108
+ | `splitView` | No | `yes` to open in split view (macOS) |
109
+
110
+ ---
111
+
112
+ ### addQuickTask (iOS only)
113
+
114
+ Opens the quick-add task editor, optionally pre-targeted to a specific note.
115
+
116
+ ```
117
+ noteplan://x-callback-url/addQuickTask?destination=today
118
+ noteplan://x-callback-url/addQuickTask?destination=tomorrow&heading=Tasks&position=beginning
119
+ noteplan://x-callback-url/addQuickTask?destination=customnote&noteTitle=Inbox
120
+ ```
121
+
122
+ | Parameter | Required | Description |
123
+ |-----------|----------|-------------|
124
+ | `destination` | No | `today` (default), `tomorrow`, `yesterday`, `thisWeek`, `nextWeek`, `thisMonth`, `nextMonth`, `thisQuarter`, `nextQuarter`, `thisYear`, `nextYear`, or `customnote` |
125
+ | `timeframe` | No | `day` (default), `week`, `month`, `quarter`, `year` — sets the note timeframe |
126
+ | `noteTitle` | No | Required when `destination=customnote` — the project note title |
127
+ | `heading` | No | Target heading section in the note |
128
+ | `position` | No | `beginning` (default) or `end` |
129
+ | `content` | No | Pre-fill the task content |
130
+ | `input` | No | `text` (default), `voice`, or `drawing` |
131
+ | `lineType` | No | `task` (default), `bullet`, `quote`, `empty`, `checklist` |
132
+ | `skipPostProcessing` | No | `true` (default) or `false` — skip AI post-processing for voice |
133
+ | `postProcessing` | No | Pre-selected post-processing mode for voice |
134
+ | `fast` | No | `true` to skip cache loading (used by widgets) |
135
+
136
+ ---
137
+
138
+ ### deleteNote
139
+
140
+ Move a note to trash (project notes) or clear content (calendar notes).
141
+
142
+ ```
143
+ noteplan://x-callback-url/deleteNote?noteTitle=Old%20Note
144
+ noteplan://x-callback-url/deleteNote?noteDate=20250101
145
+ noteplan://x-callback-url/deleteNote?fileName=Projects/archive.md
146
+ ```
147
+
148
+ | Parameter | Required | Description |
149
+ |-----------|----------|-------------|
150
+ | `noteDate` / `noteTitle` / `fileName` | Yes | Which note to delete |
151
+
152
+ ---
153
+
154
+ ### search
155
+
156
+ Open the search view with a keyword or open a saved filter.
157
+
158
+ ```
159
+ noteplan://x-callback-url/search?text=meeting%20notes&view=calendar
160
+ noteplan://x-callback-url/search?filter=Overdue%20Tasks
161
+ ```
162
+
163
+ | Parameter | Required | Description |
164
+ |-----------|----------|-------------|
165
+ | `text` | No* | Search keyword |
166
+ | `filter` | No* | Name of a saved filter/review to open |
167
+ | `view` | No | `calendar` or `notes` — which view to search in |
168
+
169
+ *One of `text` or `filter` is required.
170
+
171
+ ---
172
+
173
+ ### selectTag
174
+
175
+ Filter notes by a tag (hashtag or mention).
176
+
177
+ ```
178
+ noteplan://x-callback-url/selectTag?name=%23project
179
+ noteplan://x-callback-url/selectTag?name=%40waiting
180
+ ```
181
+
182
+ | Parameter | Required | Description |
183
+ |-----------|----------|-------------|
184
+ | `name` | Yes | The tag to filter by, including the `#` or `@` prefix |
185
+
186
+ ---
187
+
188
+ ### runPlugin
189
+
190
+ Execute a plugin command.
191
+
192
+ ```
193
+ noteplan://x-callback-url/runPlugin?pluginID=jgclark.NoteHelpers&command=jump%20to%20heading
194
+ noteplan://x-callback-url/runPlugin?pluginID=my.plugin&command=doThing&arg0=hello&arg1=world
195
+ ```
196
+
197
+ | Parameter | Required | Description |
198
+ |-----------|----------|-------------|
199
+ | `pluginID` | Yes | The plugin identifier |
200
+ | `command` | Yes | The command name to execute |
201
+ | `arg0`, `arg1`, ... | No | Positional arguments passed to the plugin command |
202
+
203
+ ---
204
+
205
+ ### installPlugin
206
+
207
+ Install or update a plugin from the online repository.
208
+
209
+ ```
210
+ noteplan://x-callback-url/installPlugin?plugin_id=jgclark.NoteHelpers
211
+ ```
212
+
213
+ | Parameter | Required | Description |
214
+ |-----------|----------|-------------|
215
+ | `plugin_id` | Yes | Plugin ID to install (also accepts `pluginID`, `pluginId`, `id`) |
216
+
217
+ ---
218
+
219
+ ### openView
220
+
221
+ Open a named view in NotePlan.
222
+
223
+ ```
224
+ noteplan://x-callback-url/openView?name=review
225
+ ```
226
+
227
+ | Parameter | Required | Description |
228
+ |-----------|----------|-------------|
229
+ | `name` | Yes | The view name to open |
230
+
231
+ ---
232
+
233
+ ### toggleSidebar
234
+
235
+ Toggle sidebar visibility.
236
+
237
+ ```
238
+ noteplan://x-callback-url/toggleSidebar
239
+ noteplan://x-callback-url/toggleSidebar?forceCollapse=yes
240
+ noteplan://x-callback-url/toggleSidebar?forceOpen=yes
241
+ ```
242
+
243
+ | Parameter | Required | Description |
244
+ |-----------|----------|-------------|
245
+ | `forceCollapse` | No | `yes` to force the sidebar closed |
246
+ | `forceOpen` | No | `yes` to force the sidebar open |
247
+ | `animated` | No | `no` to skip animation |
248
+
249
+ ---
250
+
251
+ ### setTheme
252
+
253
+ Set the active theme.
254
+
255
+ ```
256
+ noteplan://x-callback-url/setTheme?name=Nord&mode=dark
257
+ ```
258
+
259
+ | Parameter | Required | Description |
260
+ |-----------|----------|-------------|
261
+ | `name` | Yes | Theme filename |
262
+ | `mode` | No | `light`, `dark`, or `auto` (default) |
263
+
264
+ ---
265
+
266
+ ### closePluginWindow (macOS only)
267
+
268
+ Close plugin HTML windows.
269
+
270
+ ```
271
+ noteplan://x-callback-url/closePluginWindow?windowID=my-window
272
+ noteplan://x-callback-url/closePluginWindow?title=Dashboard
273
+ noteplan://x-callback-url/closePluginWindow
274
+ ```
275
+
276
+ | Parameter | Required | Description |
277
+ |-----------|----------|-------------|
278
+ | `windowID` | No | Specific window ID to close |
279
+ | `title` | No | Close window matching this title |
280
+
281
+ If no parameters are given, **all** plugin windows are closed.
282
+
283
+ ---
284
+
285
+ ### noteInfo
286
+
287
+ Returns information about the currently open note via the `x-success` callback.
288
+
289
+ ```
290
+ noteplan://x-callback-url/noteInfo?x-success=myapp://callback
291
+ ```
292
+
293
+ The `x-success` URL receives `?path=<encoded_path>&name=<encoded_name>`.
294
+
295
+ ---
296
+
297
+ ## Encoding Examples
298
+
299
+ | Content | Encoded |
300
+ |---------|---------|
301
+ | `Buy groceries` | `Buy%20groceries` |
302
+ | `# Heading` | `%23%20Heading` |
303
+ | Newline | `%0A` |
304
+ | `Task & notes` | `Task%20%26%20notes` |
305
+ | `[Link](url)` | `%5BLink%5D(url)` |
306
+
307
+ ### Multi-line text example
308
+
309
+ ```
310
+ noteplan://x-callback-url/addText?noteDate=today&text=%23%23%20Morning%0A-%20Coffee%0A-%20Read%20news&mode=prepend&openNote=no
311
+ ```
312
+
313
+ This prepends to today's note:
314
+ ```
315
+ ## Morning
316
+ - Coffee
317
+ - Read news
318
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@noteplanco/noteplan-mcp",
3
- "version": "1.1.7",
3
+ "version": "1.1.9",
4
4
  "description": "MCP server for NotePlan note and task management",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",