@noteplanco/noteplan-mcp 1.1.20 → 1.1.21

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 (45) hide show
  1. package/README.md +2 -0
  2. package/dist/noteplan/file-reader.d.ts.map +1 -1
  3. package/dist/noteplan/file-reader.js +47 -1
  4. package/dist/noteplan/file-reader.js.map +1 -1
  5. package/dist/noteplan/frontmatter-parser.d.ts +5 -2
  6. package/dist/noteplan/frontmatter-parser.d.ts.map +1 -1
  7. package/dist/noteplan/frontmatter-parser.js +106 -32
  8. package/dist/noteplan/frontmatter-parser.js.map +1 -1
  9. package/dist/noteplan/frontmatter-parser.test.js +216 -0
  10. package/dist/noteplan/frontmatter-parser.test.js.map +1 -1
  11. package/dist/server.d.ts.map +1 -1
  12. package/dist/server.js +70 -2
  13. package/dist/server.js.map +1 -1
  14. package/dist/tools/notes.d.ts +2 -0
  15. package/dist/tools/notes.d.ts.map +1 -1
  16. package/dist/tools/notes.js +20 -1
  17. package/dist/tools/notes.js.map +1 -1
  18. package/dist/tools/notes.test.js +11 -0
  19. package/dist/tools/notes.test.js.map +1 -1
  20. package/dist/tools/plugins.d.ts +3 -3
  21. package/dist/tools/plugins.d.ts.map +1 -1
  22. package/dist/tools/plugins.js +206 -74
  23. package/dist/tools/plugins.js.map +1 -1
  24. package/dist/tools/tasks.d.ts +131 -0
  25. package/dist/tools/tasks.d.ts.map +1 -1
  26. package/dist/tools/tasks.js +203 -0
  27. package/dist/tools/tasks.js.map +1 -1
  28. package/dist/tools/tasks.test.d.ts +2 -0
  29. package/dist/tools/tasks.test.d.ts.map +1 -0
  30. package/dist/tools/tasks.test.js +51 -0
  31. package/dist/tools/tasks.test.js.map +1 -0
  32. package/dist/utils/confirmation-tokens.d.ts.map +1 -1
  33. package/dist/utils/confirmation-tokens.js +6 -0
  34. package/dist/utils/confirmation-tokens.js.map +1 -1
  35. package/dist/utils/confirmation-tokens.test.js +42 -0
  36. package/dist/utils/confirmation-tokens.test.js.map +1 -1
  37. package/dist/utils/server-config.d.ts +9 -0
  38. package/dist/utils/server-config.d.ts.map +1 -0
  39. package/dist/utils/server-config.js +17 -0
  40. package/dist/utils/server-config.js.map +1 -0
  41. package/dist/utils/server-config.test.d.ts +2 -0
  42. package/dist/utils/server-config.test.d.ts.map +1 -0
  43. package/dist/utils/server-config.test.js +51 -0
  44. package/dist/utils/server-config.test.js.map +1 -0
  45. package/package.json +1 -1
@@ -33,7 +33,7 @@ export const createPluginSchema = z.object({
33
33
  pluginId: z.string().describe('Plugin ID (e.g., "mcp.dashboard")'),
34
34
  pluginName: z.string().describe('Display name of the plugin'),
35
35
  commandName: z.string().describe('The command name'),
36
- html: z.string().describe('Full HTML content for the plugin view'),
36
+ html: z.string().optional().describe('Full HTML content for the plugin view. If omitted, creates a command-bar plugin instead.'),
37
37
  icon: z.string().optional().describe('Font Awesome icon name (e.g., "chart-bar")'),
38
38
  iconColor: z.string().optional().describe('Tailwind color like "blue-500"'),
39
39
  displayMode: z
@@ -146,62 +146,102 @@ export function createPlugin(args) {
146
146
  const pluginsPath = getPluginsPath();
147
147
  const pluginDir = path.join(pluginsPath, pluginId);
148
148
  fs.mkdirSync(pluginDir, { recursive: true });
149
- // Build the plugin.json manifest
150
149
  const jsFunction = toSafeJsIdentifier(commandName);
151
- const manifest = {
152
- 'plugin.id': pluginId,
153
- 'plugin.name': pluginName,
154
- 'plugin.description': `Created by MCP: ${pluginName}`,
155
- 'plugin.author': 'MCP',
156
- 'plugin.version': '1.0.0',
157
- 'plugin.script': 'script.js',
158
- 'plugin.icon': icon ?? 'puzzle-piece',
159
- 'plugin.commands': [
160
- {
161
- name: commandName,
162
- description: pluginName,
163
- jsFunction,
164
- sidebarView: {
165
- title: pluginName,
166
- icon: icon ?? 'puzzle-piece',
167
- ...(iconColor ? { iconColor } : {}),
150
+ const effectiveIcon = icon ?? 'puzzle-piece';
151
+ if (html) {
152
+ // --- HTML plugin: write index.html + plugin.json + script.js shim ---
153
+ fs.writeFileSync(path.join(pluginDir, 'index.html'), html, 'utf-8');
154
+ const sidebarView = {
155
+ title: pluginName,
156
+ icon: effectiveIcon,
157
+ };
158
+ if (iconColor)
159
+ sidebarView.iconColor = iconColor;
160
+ const manifest = {
161
+ 'plugin.id': pluginId,
162
+ 'plugin.name': pluginName,
163
+ 'plugin.description': `Created by MCP: ${pluginName}`,
164
+ 'plugin.author': 'MCP',
165
+ 'plugin.version': '1.0.0',
166
+ 'plugin.icon': effectiveIcon,
167
+ // New HTML plugin fields (NotePlan 3.21+)
168
+ 'plugin.type': 'html',
169
+ 'plugin.html': 'index.html',
170
+ 'plugin.sidebarView': true,
171
+ // Legacy shim fields (backward compat with NotePlan < 3.21)
172
+ 'plugin.script': 'script.js',
173
+ 'plugin.commands': [
174
+ {
175
+ name: commandName,
176
+ description: pluginName,
177
+ jsFunction,
178
+ sidebarView,
168
179
  },
169
- },
170
- ],
171
- };
172
- if (iconColor) {
173
- manifest['plugin.iconColor'] = iconColor;
174
- }
175
- fs.writeFileSync(path.join(pluginDir, 'plugin.json'), JSON.stringify(manifest, null, 2), 'utf-8');
176
- // Build script.js
177
- // Escape backticks and template literal expressions in the HTML for safe embedding
178
- const escapedHtml = html.replace(/\\/g, '\\\\').replace(/`/g, '\\`').replace(/\$\{/g, '\\${');
179
- // For showInMainWindow, we pass an options object with id for sidebar pinning
180
- // Include icon/iconColor so the navigation bar shows the correct icon
181
- const mainWindowOptions = { id: `main:${pluginId}:${pluginName}` };
182
- if (icon)
183
- mainWindowOptions.icon = icon;
184
- if (iconColor)
185
- mainWindowOptions.iconColor = iconColor;
186
- let scriptJs;
187
- if (displayMode === 'main') {
188
- scriptJs = `// Generated by MCP
180
+ ],
181
+ };
182
+ if (iconColor) {
183
+ manifest['plugin.iconColor'] = iconColor;
184
+ }
185
+ fs.writeFileSync(path.join(pluginDir, 'plugin.json'), JSON.stringify(manifest, null, 2), 'utf-8');
186
+ // Generate script.js shim (backward compat with NotePlan < 3.21)
187
+ const escapedHtml = escapeTemplateHtml(html);
188
+ const mainWindowOptions = { id: `main:${pluginId}:${pluginName}` };
189
+ if (icon)
190
+ mainWindowOptions.icon = icon;
191
+ if (iconColor)
192
+ mainWindowOptions.iconColor = iconColor;
193
+ let scriptJs;
194
+ if (displayMode === 'main') {
195
+ scriptJs = `// Auto-generated shim for backward compatibility with NotePlan < 3.21
196
+ // Do not edit — modify index.html instead
189
197
  globalThis.${jsFunction} = async function() {
190
198
  const html = \`${escapedHtml}\`;
191
199
  await HTMLView.showInMainWindow(html, ${JSON.stringify(pluginName)}, ${JSON.stringify(mainWindowOptions)});
192
200
  };
193
201
  `;
194
- }
195
- else {
196
- const showMethod = displayMode === 'window' ? 'showWindow' : 'showInSplitView';
197
- scriptJs = `// Generated by MCP
202
+ }
203
+ else {
204
+ const showMethod = displayMode === 'window' ? 'showWindow' : 'showInSplitView';
205
+ scriptJs = `// Auto-generated shim for backward compatibility with NotePlan < 3.21
206
+ // Do not edit — modify index.html instead
198
207
  globalThis.${jsFunction} = async function() {
199
208
  const html = \`${escapedHtml}\`;
200
209
  await HTMLView.${showMethod}(html, ${JSON.stringify(pluginName)});
201
210
  };
202
211
  `;
212
+ }
213
+ fs.writeFileSync(path.join(pluginDir, 'script.js'), scriptJs, 'utf-8');
214
+ }
215
+ else {
216
+ // --- Command-bar plugin: write plugin.json + skeleton script.js ---
217
+ const manifest = {
218
+ 'plugin.id': pluginId,
219
+ 'plugin.name': pluginName,
220
+ 'plugin.description': `Created by MCP: ${pluginName}`,
221
+ 'plugin.author': 'MCP',
222
+ 'plugin.version': '1.0.0',
223
+ 'plugin.icon': effectiveIcon,
224
+ 'plugin.script': 'script.js',
225
+ 'plugin.commands': [
226
+ {
227
+ name: commandName,
228
+ description: pluginName,
229
+ jsFunction,
230
+ },
231
+ ],
232
+ };
233
+ if (iconColor) {
234
+ manifest['plugin.iconColor'] = iconColor;
235
+ }
236
+ fs.writeFileSync(path.join(pluginDir, 'plugin.json'), JSON.stringify(manifest, null, 2), 'utf-8');
237
+ const scriptJs = `// Generated by MCP
238
+ globalThis.${jsFunction} = async function() {
239
+ // TODO: Implement command logic
240
+ console.log("${pluginName} executed");
241
+ };
242
+ `;
243
+ fs.writeFileSync(path.join(pluginDir, 'script.js'), scriptJs, 'utf-8');
203
244
  }
204
- fs.writeFileSync(path.join(pluginDir, 'script.js'), scriptJs, 'utf-8');
205
245
  const result = {
206
246
  success: true,
207
247
  message: `Plugin "${pluginName}" created successfully`,
@@ -400,9 +440,6 @@ export function getPluginSource(args) {
400
440
  if (!fs.existsSync(manifestPath)) {
401
441
  return { success: false, error: `plugin.json not found in plugin folder "${pluginId}"` };
402
442
  }
403
- if (!fs.existsSync(scriptPath)) {
404
- return { success: false, error: `script.js not found in plugin folder "${pluginId}"` };
405
- }
406
443
  let pluginJson;
407
444
  try {
408
445
  pluginJson = JSON.parse(fs.readFileSync(manifestPath, 'utf-8'));
@@ -410,25 +447,40 @@ export function getPluginSource(args) {
410
447
  catch (e) {
411
448
  return { success: false, error: `Failed to parse plugin.json: ${e.message}` };
412
449
  }
413
- const scriptJs = fs.readFileSync(scriptPath, 'utf-8');
414
- const bounds = findHtmlTemplateBounds(scriptJs);
450
+ // Check for HTML-type plugin with index.html (new format)
451
+ const indexHtmlPath = path.join(pluginDir, 'index.html');
452
+ const isHtmlPlugin = pluginJson['plugin.type'] === 'html' && fs.existsSync(indexHtmlPath);
415
453
  // Get the source content and determine type
416
454
  let source;
417
455
  let mcpGenerated;
418
456
  let displayMode;
419
- if (bounds) {
420
- const escapedHtml = scriptJs.slice(bounds.start, bounds.end);
421
- source = unescapeTemplateHtml(escapedHtml);
457
+ if (isHtmlPlugin) {
458
+ // New format: read index.html directly
459
+ source = fs.readFileSync(indexHtmlPath, 'utf-8');
422
460
  mcpGenerated = true;
423
461
  displayMode = 'main';
424
- if (scriptJs.includes('HTMLView.showWindow('))
425
- displayMode = 'window';
426
- else if (scriptJs.includes('HTMLView.showInSplitView('))
427
- displayMode = 'split';
428
462
  }
429
463
  else {
430
- source = scriptJs;
431
- mcpGenerated = false;
464
+ // Legacy format: extract from script.js template literal
465
+ if (!fs.existsSync(scriptPath)) {
466
+ return { success: false, error: `script.js not found in plugin folder "${pluginId}"` };
467
+ }
468
+ const scriptJs = fs.readFileSync(scriptPath, 'utf-8');
469
+ const bounds = findHtmlTemplateBounds(scriptJs);
470
+ if (bounds) {
471
+ const escapedHtml = scriptJs.slice(bounds.start, bounds.end);
472
+ source = unescapeTemplateHtml(escapedHtml);
473
+ mcpGenerated = true;
474
+ displayMode = 'main';
475
+ if (scriptJs.includes('HTMLView.showWindow('))
476
+ displayMode = 'window';
477
+ else if (scriptJs.includes('HTMLView.showInSplitView('))
478
+ displayMode = 'split';
479
+ }
480
+ else {
481
+ source = scriptJs;
482
+ mcpGenerated = false;
483
+ }
432
484
  }
433
485
  const allLines = source.split('\n');
434
486
  const totalLines = allLines.length;
@@ -578,6 +630,58 @@ function escapeTemplateHtml(html) {
578
630
  // Same order as createPlugin: \ → \\, ` → \`, ${ → \${
579
631
  return html.replace(/\\/g, '\\\\').replace(/`/g, '\\`').replace(/\$\{/g, '\\${');
580
632
  }
633
+ /**
634
+ * Regenerate the script.js shim from index.html content for backward compatibility.
635
+ * Called after updating an HTML-type plugin's index.html.
636
+ */
637
+ function regenerateShim(pluginDir, html, pluginJson) {
638
+ const commands = pluginJson['plugin.commands'];
639
+ if (!commands || commands.length === 0)
640
+ return;
641
+ const command = commands[0];
642
+ const jsFunction = command.jsFunction;
643
+ const pluginName = pluginJson['plugin.name'] ?? '';
644
+ const pluginId = pluginJson['plugin.id'] ?? '';
645
+ const pluginIcon = pluginJson['plugin.icon'];
646
+ const pluginIconColor = pluginJson['plugin.iconColor'];
647
+ const escapedHtml = escapeTemplateHtml(html);
648
+ const mainWindowOptions = { id: `main:${pluginId}:${pluginName}` };
649
+ if (pluginIcon)
650
+ mainWindowOptions.icon = pluginIcon;
651
+ if (pluginIconColor)
652
+ mainWindowOptions.iconColor = pluginIconColor;
653
+ // Detect display mode from existing script.js if possible
654
+ const existingScriptPath = path.join(pluginDir, 'script.js');
655
+ let displayMode = 'main';
656
+ if (fs.existsSync(existingScriptPath)) {
657
+ const existing = fs.readFileSync(existingScriptPath, 'utf-8');
658
+ if (existing.includes('HTMLView.showWindow('))
659
+ displayMode = 'window';
660
+ else if (existing.includes('HTMLView.showInSplitView('))
661
+ displayMode = 'split';
662
+ }
663
+ let scriptJs;
664
+ if (displayMode === 'main') {
665
+ scriptJs = `// Auto-generated shim for backward compatibility with NotePlan < 3.21
666
+ // Do not edit — modify index.html instead
667
+ globalThis.${jsFunction} = async function() {
668
+ const html = \`${escapedHtml}\`;
669
+ await HTMLView.showInMainWindow(html, ${JSON.stringify(pluginName)}, ${JSON.stringify(mainWindowOptions)});
670
+ };
671
+ `;
672
+ }
673
+ else {
674
+ const showMethod = displayMode === 'window' ? 'showWindow' : 'showInSplitView';
675
+ scriptJs = `// Auto-generated shim for backward compatibility with NotePlan < 3.21
676
+ // Do not edit — modify index.html instead
677
+ globalThis.${jsFunction} = async function() {
678
+ const html = \`${escapedHtml}\`;
679
+ await HTMLView.${showMethod}(html, ${JSON.stringify(pluginName)});
680
+ };
681
+ `;
682
+ }
683
+ fs.writeFileSync(existingScriptPath, scriptJs, 'utf-8');
684
+ }
581
685
  /**
582
686
  * When a patch find string doesn't match, try to locate a near-miss.
583
687
  * Uses progressively shorter prefixes of each line to find the divergence
@@ -653,21 +757,41 @@ export function updatePluginHtml(args) {
653
757
  if (!fs.existsSync(pluginDir)) {
654
758
  return { success: false, error: `Plugin "${pluginId}" not found` };
655
759
  }
760
+ // Detect HTML-type plugin (new format with index.html)
761
+ const manifestPath = path.join(pluginDir, 'plugin.json');
762
+ let pluginJson = null;
763
+ if (fs.existsSync(manifestPath)) {
764
+ try {
765
+ pluginJson = JSON.parse(fs.readFileSync(manifestPath, 'utf-8'));
766
+ }
767
+ catch { /* ignore */ }
768
+ }
769
+ const indexHtmlPath = path.join(pluginDir, 'index.html');
770
+ const isHtmlPlugin = pluginJson?.['plugin.type'] === 'html' && fs.existsSync(indexHtmlPath);
656
771
  const scriptPath = path.join(pluginDir, 'script.js');
657
- if (!fs.existsSync(scriptPath)) {
658
- return { success: false, error: `script.js not found in plugin folder "${pluginId}"` };
772
+ let html;
773
+ let legacyScriptJs = null;
774
+ let legacyBounds = null;
775
+ if (isHtmlPlugin) {
776
+ // New format: read index.html directly
777
+ html = fs.readFileSync(indexHtmlPath, 'utf-8');
659
778
  }
660
- const scriptJs = fs.readFileSync(scriptPath, 'utf-8');
661
- const bounds = findHtmlTemplateBounds(scriptJs);
662
- if (!bounds) {
663
- return {
664
- success: false,
665
- error: 'This plugin was not generated by MCP (no `const html = \\`...\\`` pattern found). Use noteplan_get_plugin_source to read the full source and noteplan_create_plugin to rewrite it.',
666
- };
779
+ else {
780
+ // Legacy format: extract from script.js template literal
781
+ if (!fs.existsSync(scriptPath)) {
782
+ return { success: false, error: `script.js not found in plugin folder "${pluginId}"` };
783
+ }
784
+ legacyScriptJs = fs.readFileSync(scriptPath, 'utf-8');
785
+ legacyBounds = findHtmlTemplateBounds(legacyScriptJs);
786
+ if (!legacyBounds) {
787
+ return {
788
+ success: false,
789
+ error: 'This plugin was not generated by MCP (no `const html = \\`...\\`` pattern found). Use noteplan_get_plugin_source to read the full source and noteplan_create_plugin to rewrite it.',
790
+ };
791
+ }
792
+ const escapedHtml = legacyScriptJs.slice(legacyBounds.start, legacyBounds.end);
793
+ html = unescapeTemplateHtml(escapedHtml);
667
794
  }
668
- // Extract and unescape the HTML
669
- const escapedHtml = scriptJs.slice(bounds.start, bounds.end);
670
- let html = unescapeTemplateHtml(escapedHtml);
671
795
  // Apply patches sequentially
672
796
  const patchResults = [];
673
797
  let appliedCount = 0;
@@ -695,10 +819,18 @@ export function updatePluginHtml(args) {
695
819
  patches: patchResults,
696
820
  };
697
821
  }
698
- // Re-escape and write back
699
- const newEscapedHtml = escapeTemplateHtml(html);
700
- const newScriptJs = scriptJs.slice(0, bounds.start) + newEscapedHtml + scriptJs.slice(bounds.end);
701
- fs.writeFileSync(scriptPath, newScriptJs, 'utf-8');
822
+ // Write back the patched HTML
823
+ if (isHtmlPlugin) {
824
+ // New format: write index.html directly, then regenerate script.js shim
825
+ fs.writeFileSync(indexHtmlPath, html, 'utf-8');
826
+ regenerateShim(pluginDir, html, pluginJson);
827
+ }
828
+ else {
829
+ // Legacy format: re-escape and write back into script.js
830
+ const newEscapedHtml = escapeTemplateHtml(html);
831
+ const newScriptJs = legacyScriptJs.slice(0, legacyBounds.start) + newEscapedHtml + legacyScriptJs.slice(legacyBounds.end);
832
+ fs.writeFileSync(scriptPath, newScriptJs, 'utf-8');
833
+ }
702
834
  const result = {
703
835
  success: true,
704
836
  appliedCount,
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/tools/plugins.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/tools/plugins.ts"],"names":[],"mappings":"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"}
@@ -386,4 +386,135 @@ export declare function updateTask(params: z.infer<typeof updateTaskSchema>): {
386
386
  error?: undefined;
387
387
  candidates?: undefined;
388
388
  };
389
+ /**
390
+ * Strip all `@repeat(...)` tags from a line, then trim.
391
+ * This produces the "base content" used for equality comparison,
392
+ * mirroring Swift's `line.replace(regex: tag, with: "")`.
393
+ */
394
+ export declare function stripRepeatTags(line: string): string;
395
+ /**
396
+ * Check whether a line contains a `@repeat(...)` tag.
397
+ */
398
+ export declare function hasRepeatTag(line: string): boolean;
399
+ export declare const deleteRecurringTaskSchema: z.ZodEffects<z.ZodObject<{
400
+ id: z.ZodOptional<z.ZodString>;
401
+ filename: z.ZodOptional<z.ZodString>;
402
+ title: z.ZodOptional<z.ZodString>;
403
+ date: z.ZodOptional<z.ZodString>;
404
+ query: z.ZodOptional<z.ZodString>;
405
+ lineIndex: z.ZodOptional<z.ZodNumber>;
406
+ line: z.ZodOptional<z.ZodNumber>;
407
+ taskQuery: z.ZodOptional<z.ZodString>;
408
+ space: z.ZodOptional<z.ZodString>;
409
+ deleteSource: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
410
+ }, "strip", z.ZodTypeAny, {
411
+ deleteSource: boolean;
412
+ space?: string | undefined;
413
+ title?: string | undefined;
414
+ line?: number | undefined;
415
+ lineIndex?: number | undefined;
416
+ id?: string | undefined;
417
+ filename?: string | undefined;
418
+ date?: string | undefined;
419
+ query?: string | undefined;
420
+ taskQuery?: string | undefined;
421
+ }, {
422
+ space?: string | undefined;
423
+ title?: string | undefined;
424
+ line?: number | undefined;
425
+ lineIndex?: number | undefined;
426
+ id?: string | undefined;
427
+ filename?: string | undefined;
428
+ date?: string | undefined;
429
+ query?: string | undefined;
430
+ taskQuery?: string | undefined;
431
+ deleteSource?: boolean | undefined;
432
+ }>, {
433
+ deleteSource: boolean;
434
+ space?: string | undefined;
435
+ title?: string | undefined;
436
+ line?: number | undefined;
437
+ lineIndex?: number | undefined;
438
+ id?: string | undefined;
439
+ filename?: string | undefined;
440
+ date?: string | undefined;
441
+ query?: string | undefined;
442
+ taskQuery?: string | undefined;
443
+ }, {
444
+ space?: string | undefined;
445
+ title?: string | undefined;
446
+ line?: number | undefined;
447
+ lineIndex?: number | undefined;
448
+ id?: string | undefined;
449
+ filename?: string | undefined;
450
+ date?: string | undefined;
451
+ query?: string | undefined;
452
+ taskQuery?: string | undefined;
453
+ deleteSource?: boolean | undefined;
454
+ }>;
455
+ /**
456
+ * Delete a recurring task and all its future occurrences in calendar notes.
457
+ *
458
+ * Mirrors the Swift logic in CalendarHelper.deleteRepeatedTodos:
459
+ * 1. Find the task line in the source note
460
+ * 2. Verify it has an `@repeat(...)` tag
461
+ * 3. Strip the repeat tag to get the base content
462
+ * 4. Find all future calendar notes containing the same base content
463
+ * 5. Delete those matching lines from future notes
464
+ * 6. Optionally delete the line from the source note
465
+ */
466
+ export declare function deleteRecurringTask(params: z.infer<typeof deleteRecurringTaskSchema>): {
467
+ success: boolean;
468
+ error: string;
469
+ candidates: {
470
+ id: string;
471
+ title: string;
472
+ filename: string;
473
+ score: number;
474
+ }[] | undefined;
475
+ line?: undefined;
476
+ message?: undefined;
477
+ taskLine?: undefined;
478
+ baseContent?: undefined;
479
+ sourceDeleted?: undefined;
480
+ deletedFutureCount?: undefined;
481
+ affectedNotes?: undefined;
482
+ affectedNotesTruncated?: undefined;
483
+ } | {
484
+ success: boolean;
485
+ error: string;
486
+ candidates?: undefined;
487
+ line?: undefined;
488
+ message?: undefined;
489
+ taskLine?: undefined;
490
+ baseContent?: undefined;
491
+ sourceDeleted?: undefined;
492
+ deletedFutureCount?: undefined;
493
+ affectedNotes?: undefined;
494
+ affectedNotesTruncated?: undefined;
495
+ } | {
496
+ success: boolean;
497
+ error: string;
498
+ line: string;
499
+ candidates?: undefined;
500
+ message?: undefined;
501
+ taskLine?: undefined;
502
+ baseContent?: undefined;
503
+ sourceDeleted?: undefined;
504
+ deletedFutureCount?: undefined;
505
+ affectedNotes?: undefined;
506
+ affectedNotesTruncated?: undefined;
507
+ } | {
508
+ success: boolean;
509
+ message: string;
510
+ taskLine: string;
511
+ baseContent: string;
512
+ sourceDeleted: boolean;
513
+ deletedFutureCount: number;
514
+ affectedNotes: string[];
515
+ affectedNotesTruncated: boolean;
516
+ error?: undefined;
517
+ candidates?: undefined;
518
+ line?: undefined;
519
+ };
389
520
  //# sourceMappingURL=tasks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../src/tools/tasks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA2HxB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyBzB,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwB5B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BlC,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BxB,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyB7B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwC3B,CAAC;AAEH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,2BA2E9D;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,2BA2FpE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,2BA8HhF;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC;;;;;;;;;;;;EAoDlE;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4EtE;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;EA6ElE"}
1
+ {"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../src/tools/tasks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA4HxB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyBzB,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwB5B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BlC,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BxB,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyB7B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwC3B,CAAC;AAEH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,2BA2E9D;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,2BA2FpE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,2BA8HhF;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC;;;;;;;;;;;;EAoDlE;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4EtE;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;EA6ElE;AAYD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BpC,CAAC;AAEH;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiJpF"}