omnifocus-mcp-server 1.0.7 → 1.2.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.
- package/README.md +3 -2
- package/dist/omnifocus/client.d.ts +6 -3
- package/dist/omnifocus/client.d.ts.map +1 -1
- package/dist/omnifocus/client.js +10 -7
- package/dist/omnifocus/client.js.map +1 -1
- package/dist/omnifocus/executor.d.ts +11 -0
- package/dist/omnifocus/executor.d.ts.map +1 -1
- package/dist/omnifocus/executor.js +40 -14
- package/dist/omnifocus/executor.js.map +1 -1
- package/dist/omnifocus/scripts/database.d.ts +7 -0
- package/dist/omnifocus/scripts/database.d.ts.map +1 -1
- package/dist/omnifocus/scripts/database.js +35 -11
- package/dist/omnifocus/scripts/database.js.map +1 -1
- package/dist/omnifocus/scripts/perspectives.d.ts +1 -2
- package/dist/omnifocus/scripts/perspectives.d.ts.map +1 -1
- package/dist/omnifocus/scripts/perspectives.js +4 -10
- package/dist/omnifocus/scripts/perspectives.js.map +1 -1
- package/dist/omnifocus/scripts/projects.d.ts.map +1 -1
- package/dist/omnifocus/scripts/projects.js +6 -3
- package/dist/omnifocus/scripts/projects.js.map +1 -1
- package/dist/omnifocus/scripts/tasks.d.ts +1 -1
- package/dist/omnifocus/scripts/tasks.d.ts.map +1 -1
- package/dist/omnifocus/scripts/tasks.js +28 -15
- package/dist/omnifocus/scripts/tasks.js.map +1 -1
- package/dist/omnifocus/serializers.d.ts +2 -2
- package/dist/omnifocus/serializers.d.ts.map +1 -1
- package/dist/omnifocus/serializers.js +15 -0
- package/dist/omnifocus/serializers.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +10 -0
- package/dist/server.js.map +1 -1
- package/dist/tools/database.d.ts.map +1 -1
- package/dist/tools/database.js +12 -0
- package/dist/tools/database.js.map +1 -1
- package/dist/tools/perspectives.d.ts.map +1 -1
- package/dist/tools/perspectives.js +2 -5
- package/dist/tools/perspectives.js.map +1 -1
- package/dist/tools/projects.d.ts.map +1 -1
- package/dist/tools/projects.js +2 -0
- package/dist/tools/projects.js.map +1 -1
- package/dist/tools/tasks.d.ts.map +1 -1
- package/dist/tools/tasks.js +25 -5
- package/dist/tools/tasks.js.map +1 -1
- package/dist/types/omnifocus.d.ts +14 -4
- package/dist/types/omnifocus.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -15,6 +15,8 @@ const taskFilterLogicFn = `
|
|
|
15
15
|
var _dueBefore = args.dueBefore ? new Date(args.dueBefore) : null;
|
|
16
16
|
var _deferAfter = args.deferAfter ? new Date(args.deferAfter) : null;
|
|
17
17
|
var _deferBefore = args.deferBefore ? new Date(args.deferBefore) : null;
|
|
18
|
+
var _plannedAfter = args.plannedAfter ? new Date(args.plannedAfter) : null;
|
|
19
|
+
var _plannedBefore = args.plannedBefore ? new Date(args.plannedBefore) : null;
|
|
18
20
|
var _searchQuery = args.search ? args.search.toLowerCase() : null;
|
|
19
21
|
|
|
20
22
|
var tasks = source.filter(function(t) {
|
|
@@ -33,9 +35,9 @@ const taskFilterLogicFn = `
|
|
|
33
35
|
if (t.taskStatus === Task.Status.Completed || t.taskStatus === Task.Status.Dropped) return false;
|
|
34
36
|
}
|
|
35
37
|
|
|
36
|
-
//
|
|
37
|
-
if (args.flagged === true && !t.
|
|
38
|
-
if (args.flagged === false && t.
|
|
38
|
+
// Match effectiveFlagged so children of a flagged project surface (mirrors OmniFocus's Flagged perspective).
|
|
39
|
+
if (args.flagged === true && !t.effectiveFlagged) return false;
|
|
40
|
+
if (args.flagged === false && t.effectiveFlagged) return false;
|
|
39
41
|
|
|
40
42
|
// Filter by available
|
|
41
43
|
if (args.available === true && t.taskStatus !== Task.Status.Available) return false;
|
|
@@ -58,13 +60,17 @@ const taskFilterLogicFn = `
|
|
|
58
60
|
}
|
|
59
61
|
}
|
|
60
62
|
|
|
61
|
-
//
|
|
62
|
-
if (_dueAfter && (!t.
|
|
63
|
-
if (_dueBefore && (!t.
|
|
63
|
+
// Match effectiveDueDate so tasks inheriting a project's due date are included.
|
|
64
|
+
if (_dueAfter && (!t.effectiveDueDate || t.effectiveDueDate < _dueAfter)) return false;
|
|
65
|
+
if (_dueBefore && (!t.effectiveDueDate || t.effectiveDueDate > _dueBefore)) return false;
|
|
64
66
|
|
|
65
|
-
//
|
|
66
|
-
if (_deferAfter && (!t.
|
|
67
|
-
if (_deferBefore && (!t.
|
|
67
|
+
// Match effectiveDeferDate so tasks inheriting a project's defer date are included.
|
|
68
|
+
if (_deferAfter && (!t.effectiveDeferDate || t.effectiveDeferDate < _deferAfter)) return false;
|
|
69
|
+
if (_deferBefore && (!t.effectiveDeferDate || t.effectiveDeferDate > _deferBefore)) return false;
|
|
70
|
+
|
|
71
|
+
// Match effectivePlannedDate so tasks inheriting a project's planned date are included.
|
|
72
|
+
if (_plannedAfter && (!t.effectivePlannedDate || t.effectivePlannedDate < _plannedAfter)) return false;
|
|
73
|
+
if (_plannedBefore && (!t.effectivePlannedDate || t.effectivePlannedDate > _plannedBefore)) return false;
|
|
68
74
|
|
|
69
75
|
// Filter by search query
|
|
70
76
|
if (_searchQuery) {
|
|
@@ -125,7 +131,7 @@ export function buildGetTaskScript(args) {
|
|
|
125
131
|
})()`;
|
|
126
132
|
}
|
|
127
133
|
export function buildCreateTaskScript(args) {
|
|
128
|
-
validateDateArgs(args, ["deferDate", "dueDate"]);
|
|
134
|
+
validateDateArgs(args, ["deferDate", "dueDate", "plannedDate"]);
|
|
129
135
|
const argsJson = JSON.stringify(args);
|
|
130
136
|
return `(() => {
|
|
131
137
|
var args = JSON.parse(${JSON.stringify(argsJson)});
|
|
@@ -137,6 +143,7 @@ export function buildCreateTaskScript(args) {
|
|
|
137
143
|
if (args.flagged !== undefined) task.flagged = args.flagged;
|
|
138
144
|
if (args.deferDate) task.deferDate = new Date(args.deferDate);
|
|
139
145
|
if (args.dueDate) task.dueDate = new Date(args.dueDate);
|
|
146
|
+
if (args.plannedDate) task.plannedDate = new Date(args.plannedDate);
|
|
140
147
|
if (args.estimatedMinutes !== undefined) task.estimatedMinutes = args.estimatedMinutes;
|
|
141
148
|
if (args.completedByChildren !== undefined) task.completedByChildren = args.completedByChildren;
|
|
142
149
|
|
|
@@ -172,7 +179,7 @@ export function buildCreateTaskScript(args) {
|
|
|
172
179
|
})()`;
|
|
173
180
|
}
|
|
174
181
|
export function buildUpdateTaskScript(args) {
|
|
175
|
-
validateDateArgs(args, ["deferDate", "dueDate"]);
|
|
182
|
+
validateDateArgs(args, ["deferDate", "dueDate", "plannedDate"]);
|
|
176
183
|
const argsJson = JSON.stringify(args);
|
|
177
184
|
return `(() => {
|
|
178
185
|
var args = JSON.parse(${JSON.stringify(argsJson)});
|
|
@@ -186,6 +193,7 @@ export function buildUpdateTaskScript(args) {
|
|
|
186
193
|
if (args.flagged !== undefined) task.flagged = args.flagged;
|
|
187
194
|
if (args.deferDate !== undefined) task.deferDate = args.deferDate ? new Date(args.deferDate) : null;
|
|
188
195
|
if (args.dueDate !== undefined) task.dueDate = args.dueDate ? new Date(args.dueDate) : null;
|
|
196
|
+
if (args.plannedDate !== undefined) task.plannedDate = args.plannedDate ? new Date(args.plannedDate) : null;
|
|
189
197
|
if (args.estimatedMinutes !== undefined) task.estimatedMinutes = args.estimatedMinutes;
|
|
190
198
|
if (args.sequential !== undefined) task.sequential = args.sequential;
|
|
191
199
|
if (args.completedByChildren !== undefined) task.completedByChildren = args.completedByChildren;
|
|
@@ -202,15 +210,19 @@ export function buildUpdateTaskScript(args) {
|
|
|
202
210
|
return JSON.stringify(serializeTask(task));
|
|
203
211
|
})()`;
|
|
204
212
|
}
|
|
205
|
-
export function buildCompleteTaskScript(id) {
|
|
206
|
-
const argsJson = JSON.stringify({ id });
|
|
213
|
+
export function buildCompleteTaskScript(id, completionDate) {
|
|
214
|
+
const argsJson = JSON.stringify({ id, completionDate: completionDate ?? null });
|
|
207
215
|
return `(() => {
|
|
208
216
|
var args = JSON.parse(${JSON.stringify(argsJson)});
|
|
209
217
|
${serializeTaskFn}
|
|
210
218
|
|
|
211
219
|
var task = byId(flattenedTasks, args.id);
|
|
212
220
|
if (!task) throw new Error("Task not found: " + args.id);
|
|
213
|
-
|
|
221
|
+
if (args.completionDate) {
|
|
222
|
+
task.markComplete(new Date(args.completionDate));
|
|
223
|
+
} else {
|
|
224
|
+
task.markComplete();
|
|
225
|
+
}
|
|
214
226
|
return JSON.stringify(serializeTask(task));
|
|
215
227
|
})()`;
|
|
216
228
|
}
|
|
@@ -443,7 +455,7 @@ export function buildRemoveTaskNotificationScript(taskId, notificationId) {
|
|
|
443
455
|
export function buildBatchCreateTasksScript(args) {
|
|
444
456
|
function validateBatchTaskDates(tasks) {
|
|
445
457
|
for (const task of tasks) {
|
|
446
|
-
validateDateArgs(task, ["deferDate", "dueDate"]);
|
|
458
|
+
validateDateArgs(task, ["deferDate", "dueDate", "plannedDate"]);
|
|
447
459
|
if (Array.isArray(task.children)) {
|
|
448
460
|
validateBatchTaskDates(task.children);
|
|
449
461
|
}
|
|
@@ -473,6 +485,7 @@ export function buildBatchCreateTasksScript(args) {
|
|
|
473
485
|
if (item.flagged !== undefined) task.flagged = item.flagged;
|
|
474
486
|
if (item.deferDate) task.deferDate = new Date(item.deferDate);
|
|
475
487
|
if (item.dueDate) task.dueDate = new Date(item.dueDate);
|
|
488
|
+
if (item.plannedDate) task.plannedDate = new Date(item.plannedDate);
|
|
476
489
|
if (item.estimatedMinutes !== undefined) task.estimatedMinutes = item.estimatedMinutes;
|
|
477
490
|
if (item.completedByChildren !== undefined) task.completedByChildren = item.completedByChildren;
|
|
478
491
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../../src/omnifocus/scripts/tasks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAElI,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,oFAAoF;AACpF,iGAAiG;AACjG,MAAM,iBAAiB,GAAG
|
|
1
|
+
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../../src/omnifocus/scripts/tasks.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Maps are hoisted outside serializer functions to avoid re-allocation per call.
|
|
6
6
|
*/
|
|
7
|
-
export declare const serializeTaskFn = "\nvar _taskMethodMap = {};\n_taskMethodMap[Task.RepetitionMethod.Fixed] = \"fixed\";\n_taskMethodMap[Task.RepetitionMethod.StartAfterCompletion] = \"startAfterCompletion\";\n_taskMethodMap[Task.RepetitionMethod.DueAfterCompletion] = \"dueAfterCompletion\";\n\nfunction serializeTask(task) {\n var rr = null;\n if (task.repetitionRule) {\n rr = {\n ruleString: task.repetitionRule.ruleString,\n method: _taskMethodMap[task.repetitionRule.method] || \"fixed\"\n };\n }\n var cp = task.containingProject;\n return {\n id: task.id.primaryKey,\n name: task.name,\n note: task.note,\n url: \"omnifocus:///task/\" + task.id.primaryKey,\n flagged: task.flagged,\n completed: task.taskStatus === Task.Status.Completed,\n dropped: task.taskStatus === Task.Status.Dropped,\n deferDate: task.deferDate ? task.deferDate.toISOString() : null,\n dueDate: task.dueDate ? task.dueDate.toISOString() : null,\n completionDate: task.completionDate ? task.completionDate.toISOString() : null,\n droppedDate: task.droppedDate ? task.droppedDate.toISOString() : null,\n added: task.added ? task.added.toISOString() : null,\n modified: task.modified ? task.modified.toISOString() : null,\n effectiveDueDate: task.effectiveDueDate ? task.effectiveDueDate.toISOString() : null,\n effectiveDeferDate: task.effectiveDeferDate ? task.effectiveDeferDate.toISOString() : null,\n effectiveFlagged: task.effectiveFlagged,\n estimatedMinutes: task.estimatedMinutes,\n containingProjectId: cp ? cp.id.primaryKey : null,\n containingProjectName: cp ? cp.name : null,\n parentTaskId: task.parent ? (task.parent.id ? task.parent.id.primaryKey : null) : null,\n tags: task.tags.map(function(t) { return { id: t.id.primaryKey, name: t.name }; }),\n hasChildren: task.hasChildren,\n sequential: task.sequential,\n completedByChildren: task.completedByChildren,\n inInbox: task.inInbox,\n repetitionRule: rr\n };\n}";
|
|
7
|
+
export declare const serializeTaskFn = "\nvar _taskMethodMap = {};\n_taskMethodMap[Task.RepetitionMethod.Fixed] = \"fixed\";\n_taskMethodMap[Task.RepetitionMethod.StartAfterCompletion] = \"startAfterCompletion\";\n_taskMethodMap[Task.RepetitionMethod.DueAfterCompletion] = \"dueAfterCompletion\";\n\nvar _taskStatusMap = {};\n_taskStatusMap[Task.Status.Available] = \"available\";\n_taskStatusMap[Task.Status.Blocked] = \"blocked\";\n_taskStatusMap[Task.Status.Completed] = \"completed\";\n_taskStatusMap[Task.Status.Dropped] = \"dropped\";\n_taskStatusMap[Task.Status.Next] = \"next\";\n_taskStatusMap[Task.Status.DueSoon] = \"dueSoon\";\n_taskStatusMap[Task.Status.Overdue] = \"overdue\";\n\nfunction serializeTask(task) {\n var rr = null;\n if (task.repetitionRule) {\n rr = {\n ruleString: task.repetitionRule.ruleString,\n method: _taskMethodMap[task.repetitionRule.method] || \"fixed\"\n };\n }\n var cp = task.containingProject;\n return {\n id: task.id.primaryKey,\n name: task.name,\n note: task.note,\n url: \"omnifocus:///task/\" + task.id.primaryKey,\n flagged: task.flagged,\n completed: task.taskStatus === Task.Status.Completed,\n dropped: task.taskStatus === Task.Status.Dropped,\n taskStatus: _taskStatusMap[task.taskStatus] || \"unknown\",\n deferDate: task.deferDate ? task.deferDate.toISOString() : null,\n dueDate: task.dueDate ? task.dueDate.toISOString() : null,\n plannedDate: task.plannedDate ? task.plannedDate.toISOString() : null,\n completionDate: task.completionDate ? task.completionDate.toISOString() : null,\n droppedDate: task.droppedDate ? task.droppedDate.toISOString() : null,\n added: task.added ? task.added.toISOString() : null,\n modified: task.modified ? task.modified.toISOString() : null,\n effectiveDueDate: task.effectiveDueDate ? task.effectiveDueDate.toISOString() : null,\n effectiveDeferDate: task.effectiveDeferDate ? task.effectiveDeferDate.toISOString() : null,\n effectivePlannedDate: task.effectivePlannedDate ? task.effectivePlannedDate.toISOString() : null,\n effectiveFlagged: task.effectiveFlagged,\n effectivelyCompleted: task.effectivelyCompleted,\n effectivelyDropped: task.effectivelyDropped,\n estimatedMinutes: task.estimatedMinutes,\n containingProjectId: cp ? cp.id.primaryKey : null,\n containingProjectName: cp ? cp.name : null,\n parentTaskId: task.parent ? (task.parent.id ? task.parent.id.primaryKey : null) : null,\n tags: task.tags.map(function(t) { return { id: t.id.primaryKey, name: t.name }; }),\n hasChildren: task.hasChildren,\n sequential: task.sequential,\n completedByChildren: task.completedByChildren,\n inInbox: task.inInbox,\n repetitionRule: rr\n };\n}";
|
|
8
8
|
export declare const serializeTaskWithChildrenFn = "\nfunction serializeTaskWithChildren(task, depth, maxDepth) {\n var result = serializeTask(task);\n result.children = [];\n if (task.hasChildren && (maxDepth === 0 || depth < maxDepth)) {\n var kids = task.children;\n for (var i = 0; i < kids.length; i++) {\n result.children.push(serializeTaskWithChildren(kids[i], depth + 1, maxDepth));\n }\n }\n return result;\n}";
|
|
9
|
-
export declare const serializeProjectFn = "\nvar _projectStatusMap = {};\n_projectStatusMap[Project.Status.Active] = \"active\";\n_projectStatusMap[Project.Status.OnHold] = \"onHold\";\n_projectStatusMap[Project.Status.Done] = \"done\";\n_projectStatusMap[Project.Status.Dropped] = \"dropped\";\n\nfunction serializeProject(project) {\n var ri = null;\n if (project.reviewInterval) {\n ri = { steps: project.reviewInterval.steps, unit: project.reviewInterval.unit + \"\" };\n }\n\n var ft = project.flattenedTasks;\n return {\n id: project.id.primaryKey,\n name: project.name,\n note: project.note,\n url: \"omnifocus:///task/\" + project.id.primaryKey,\n status: _projectStatusMap[project.status] || \"active\",\n flagged: project.flagged,\n completed: project.status === Project.Status.Done,\n deferDate: project.deferDate ? project.deferDate.toISOString() : null,\n dueDate: project.dueDate ? project.dueDate.toISOString() : null,\n completionDate: project.completionDate ? project.completionDate.toISOString() : null,\n droppedDate: project.droppedDate ? project.droppedDate.toISOString() : null,\n added: project.task.added ? project.task.added.toISOString() : null,\n modified: project.task.modified ? project.task.modified.toISOString() : null,\n estimatedMinutes: project.estimatedMinutes,\n containingFolderId: project.parentFolder ? project.parentFolder.id.primaryKey : null,\n containingFolderName: project.parentFolder ? project.parentFolder.name : null,\n tags: project.task.tags.map(function(t) { return { id: t.id.primaryKey, name: t.name }; }),\n sequential: project.sequential,\n singleActionList: project.containsSingletonActions,\n completedByChildren: project.completedByChildren,\n taskCount: ft.length,\n remainingTaskCount: ft.filter(function(t) { return t.taskStatus === Task.Status.Available || t.taskStatus === Task.Status.Blocked; }).length,\n lastReviewDate: project.lastReviewDate ? project.lastReviewDate.toISOString() : null,\n nextReviewDate: project.nextReviewDate ? project.nextReviewDate.toISOString() : null,\n reviewInterval: ri\n };\n}";
|
|
9
|
+
export declare const serializeProjectFn = "\nvar _projectStatusMap = {};\n_projectStatusMap[Project.Status.Active] = \"active\";\n_projectStatusMap[Project.Status.OnHold] = \"onHold\";\n_projectStatusMap[Project.Status.Done] = \"done\";\n_projectStatusMap[Project.Status.Dropped] = \"dropped\";\n\nfunction serializeProject(project) {\n var ri = null;\n if (project.reviewInterval) {\n ri = { steps: project.reviewInterval.steps, unit: project.reviewInterval.unit + \"\" };\n }\n\n var ft = project.flattenedTasks;\n return {\n id: project.id.primaryKey,\n name: project.name,\n note: project.note,\n url: \"omnifocus:///task/\" + project.id.primaryKey,\n status: _projectStatusMap[project.status] || \"active\",\n flagged: project.flagged,\n completed: project.status === Project.Status.Done,\n deferDate: project.deferDate ? project.deferDate.toISOString() : null,\n dueDate: project.dueDate ? project.dueDate.toISOString() : null,\n plannedDate: project.plannedDate ? project.plannedDate.toISOString() : null,\n completionDate: project.completionDate ? project.completionDate.toISOString() : null,\n droppedDate: project.droppedDate ? project.droppedDate.toISOString() : null,\n added: project.task.added ? project.task.added.toISOString() : null,\n modified: project.task.modified ? project.task.modified.toISOString() : null,\n estimatedMinutes: project.estimatedMinutes,\n containingFolderId: project.parentFolder ? project.parentFolder.id.primaryKey : null,\n containingFolderName: project.parentFolder ? project.parentFolder.name : null,\n tags: project.task.tags.map(function(t) { return { id: t.id.primaryKey, name: t.name }; }),\n sequential: project.sequential,\n singleActionList: project.containsSingletonActions,\n completedByChildren: project.completedByChildren,\n taskCount: ft.length,\n remainingTaskCount: ft.filter(function(t) { return t.taskStatus === Task.Status.Available || t.taskStatus === Task.Status.Blocked; }).length,\n lastReviewDate: project.lastReviewDate ? project.lastReviewDate.toISOString() : null,\n nextReviewDate: project.nextReviewDate ? project.nextReviewDate.toISOString() : null,\n reviewInterval: ri\n };\n}";
|
|
10
10
|
export declare const serializeFolderFn = "\nfunction serializeFolder(folder) {\n var statusVal = \"active\";\n if (folder.status === Folder.Status.Dropped) statusVal = \"dropped\";\n return {\n id: folder.id.primaryKey,\n name: folder.name,\n url: \"omnifocus:///folder/\" + folder.id.primaryKey,\n status: statusVal,\n parentFolderId: folder.parent && folder.parent.constructor === Folder ? folder.parent.id.primaryKey : null,\n childFolderIds: folder.folders.map(function(f) { return f.id.primaryKey; }),\n projectIds: folder.projects.map(function(p) { return p.id.primaryKey; }),\n projectCount: folder.flattenedProjects.length,\n folderCount: folder.folders.length\n };\n}";
|
|
11
11
|
export declare const serializeFolderWithChildrenFn = "\nfunction serializeFolderWithChildren(folder, depth, maxDepth) {\n var result = serializeFolder(folder);\n result.childFolders = [];\n result.projects = folder.projects.map(function(p) { return serializeProject(p); });\n if (maxDepth === 0 || depth < maxDepth) {\n result.childFolders = folder.folders.map(function(f) { return serializeFolderWithChildren(f, depth + 1, maxDepth); });\n }\n return result;\n}";
|
|
12
12
|
export declare const serializeTagFn = "\nvar _tagStatusMap = {};\n_tagStatusMap[Tag.Status.Active] = \"active\";\n_tagStatusMap[Tag.Status.OnHold] = \"onHold\";\n_tagStatusMap[Tag.Status.Dropped] = \"dropped\";\n\nfunction serializeTag(tag) {\n return {\n id: tag.id.primaryKey,\n name: tag.name,\n url: \"omnifocus:///tag/\" + tag.id.primaryKey,\n status: _tagStatusMap[tag.status] || \"active\",\n parentTagId: tag.parent && tag.parent.constructor === Tag ? tag.parent.id.primaryKey : null,\n childTagIds: tag.children.map(function(c) { return c.id.primaryKey; }),\n allowsNextAction: tag.allowsNextAction,\n availableTaskCount: tag.availableTasks.length,\n remainingTaskCount: tag.remainingTasks.length\n };\n}";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializers.d.ts","sourceRoot":"","sources":["../../src/omnifocus/serializers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"serializers.d.ts","sourceRoot":"","sources":["../../src/omnifocus/serializers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,eAAe,gqFAyD1B,CAAC;AAEH,eAAO,MAAM,2BAA2B,sYAWtC,CAAC;AAEH,eAAO,MAAM,kBAAkB,ypEA0C7B,CAAC;AAEH,eAAO,MAAM,iBAAiB,8pBAe5B,CAAC;AAEH,eAAO,MAAM,6BAA6B,saASxC,CAAC;AAEH,eAAO,MAAM,cAAc,osBAkBzB,CAAC;AAEH,eAAO,MAAM,0BAA0B,wTAQrC,CAAC;AAEH,eAAO,MAAM,sBAAsB,wIAMjC,CAAC;AAEH,eAAO,MAAM,2BAA2B,s1BAsBtC,CAAC"}
|
|
@@ -10,6 +10,15 @@ _taskMethodMap[Task.RepetitionMethod.Fixed] = "fixed";
|
|
|
10
10
|
_taskMethodMap[Task.RepetitionMethod.StartAfterCompletion] = "startAfterCompletion";
|
|
11
11
|
_taskMethodMap[Task.RepetitionMethod.DueAfterCompletion] = "dueAfterCompletion";
|
|
12
12
|
|
|
13
|
+
var _taskStatusMap = {};
|
|
14
|
+
_taskStatusMap[Task.Status.Available] = "available";
|
|
15
|
+
_taskStatusMap[Task.Status.Blocked] = "blocked";
|
|
16
|
+
_taskStatusMap[Task.Status.Completed] = "completed";
|
|
17
|
+
_taskStatusMap[Task.Status.Dropped] = "dropped";
|
|
18
|
+
_taskStatusMap[Task.Status.Next] = "next";
|
|
19
|
+
_taskStatusMap[Task.Status.DueSoon] = "dueSoon";
|
|
20
|
+
_taskStatusMap[Task.Status.Overdue] = "overdue";
|
|
21
|
+
|
|
13
22
|
function serializeTask(task) {
|
|
14
23
|
var rr = null;
|
|
15
24
|
if (task.repetitionRule) {
|
|
@@ -27,15 +36,20 @@ function serializeTask(task) {
|
|
|
27
36
|
flagged: task.flagged,
|
|
28
37
|
completed: task.taskStatus === Task.Status.Completed,
|
|
29
38
|
dropped: task.taskStatus === Task.Status.Dropped,
|
|
39
|
+
taskStatus: _taskStatusMap[task.taskStatus] || "unknown",
|
|
30
40
|
deferDate: task.deferDate ? task.deferDate.toISOString() : null,
|
|
31
41
|
dueDate: task.dueDate ? task.dueDate.toISOString() : null,
|
|
42
|
+
plannedDate: task.plannedDate ? task.plannedDate.toISOString() : null,
|
|
32
43
|
completionDate: task.completionDate ? task.completionDate.toISOString() : null,
|
|
33
44
|
droppedDate: task.droppedDate ? task.droppedDate.toISOString() : null,
|
|
34
45
|
added: task.added ? task.added.toISOString() : null,
|
|
35
46
|
modified: task.modified ? task.modified.toISOString() : null,
|
|
36
47
|
effectiveDueDate: task.effectiveDueDate ? task.effectiveDueDate.toISOString() : null,
|
|
37
48
|
effectiveDeferDate: task.effectiveDeferDate ? task.effectiveDeferDate.toISOString() : null,
|
|
49
|
+
effectivePlannedDate: task.effectivePlannedDate ? task.effectivePlannedDate.toISOString() : null,
|
|
38
50
|
effectiveFlagged: task.effectiveFlagged,
|
|
51
|
+
effectivelyCompleted: task.effectivelyCompleted,
|
|
52
|
+
effectivelyDropped: task.effectivelyDropped,
|
|
39
53
|
estimatedMinutes: task.estimatedMinutes,
|
|
40
54
|
containingProjectId: cp ? cp.id.primaryKey : null,
|
|
41
55
|
containingProjectName: cp ? cp.name : null,
|
|
@@ -84,6 +98,7 @@ function serializeProject(project) {
|
|
|
84
98
|
completed: project.status === Project.Status.Done,
|
|
85
99
|
deferDate: project.deferDate ? project.deferDate.toISOString() : null,
|
|
86
100
|
dueDate: project.dueDate ? project.dueDate.toISOString() : null,
|
|
101
|
+
plannedDate: project.plannedDate ? project.plannedDate.toISOString() : null,
|
|
87
102
|
completionDate: project.completionDate ? project.completionDate.toISOString() : null,
|
|
88
103
|
droppedDate: project.droppedDate ? project.droppedDate.toISOString() : null,
|
|
89
104
|
added: project.task.added ? project.task.added.toISOString() : null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializers.js","sourceRoot":"","sources":["../../src/omnifocus/serializers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG
|
|
1
|
+
{"version":3,"file":"serializers.js","sourceRoot":"","sources":["../../src/omnifocus/serializers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyD7B,CAAC;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG;;;;;;;;;;;EAWzC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0ChC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;EAe/B,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAAG;;;;;;;;;EAS3C,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;EAkB5B,CAAC;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;;;EAQxC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;;;;EAMpC,CAAC;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG;;;;;;;;;;;;;;;;;;;;;;EAsBzC,CAAC"}
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAiBxD,wBAAgB,YAAY,IAAI;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,eAAe,CAAA;CAAE,CAiB7E"}
|
package/dist/server.js
CHANGED
|
@@ -6,10 +6,20 @@ import { registerResources } from "./resources.js";
|
|
|
6
6
|
import { registerPrompts } from "./prompts.js";
|
|
7
7
|
const require = createRequire(import.meta.url);
|
|
8
8
|
const { version } = require("../package.json");
|
|
9
|
+
const SERVER_INSTRUCTIONS = `OmniFocus MCP server. Reads and mutates the local OmniFocus database via Omni Automation; mutations are local-only until OmniFocus syncs.
|
|
10
|
+
|
|
11
|
+
Sync discipline:
|
|
12
|
+
- After ANY chain of mutations (creating, updating, completing, deleting, moving tasks/projects/folders/tags), call sync_database ONCE at the end of the chain to push changes to OmniSync and propagate them to other devices.
|
|
13
|
+
- This applies especially after batch_create_tasks, batch_complete_tasks, batch_delete_tasks, or any sequence of multiple individual mutations.
|
|
14
|
+
- Do NOT call sync_database after every single mutation — sync once at the end. Multiple back-to-back syncs are wasteful.
|
|
15
|
+
- Read-only operations (list_*, get_*, search, dump_database, get_*_summary) do NOT need a sync afterward.
|
|
16
|
+
- The batch_* tools also accept an optional 'sync: true' parameter as a shortcut that auto-syncs after the batch completes.`;
|
|
9
17
|
export function createServer() {
|
|
10
18
|
const server = new McpServer({
|
|
11
19
|
name: "omnifocus-mcp-server",
|
|
12
20
|
version,
|
|
21
|
+
}, {
|
|
22
|
+
instructions: SERVER_INSTRUCTIONS,
|
|
13
23
|
});
|
|
14
24
|
const client = new OmniFocusClient();
|
|
15
25
|
registerAllTools(server, client);
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAEtE,MAAM,UAAU,YAAY;IAC1B,MAAM,MAAM,GAAG,IAAI,SAAS,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAEtE,MAAM,mBAAmB,GAAG;;;;;;;4HAOgG,CAAC;AAE7H,MAAM,UAAU,YAAY;IAC1B,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B;QACE,IAAI,EAAE,sBAAsB;QAC5B,OAAO;KACR,EACD;QACE,YAAY,EAAE,mBAAmB;KAClC,CACF,CAAC;IAEF,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,eAAe,CAAC,MAAM,CAAC,CAAC;IAExB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC5B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/tools/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/tools/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI,CA4FtF"}
|
package/dist/tools/database.js
CHANGED
|
@@ -56,5 +56,17 @@ export function registerDatabaseTools(server, client) {
|
|
|
56
56
|
return { content: [{ type: "text", text: message }], isError: true };
|
|
57
57
|
}
|
|
58
58
|
});
|
|
59
|
+
server.tool("sync_database", "Trigger an OmniFocus sync to push local changes to OmniSync and pull updates from other devices. CALL THIS ONCE at the end of any session that mutated data — especially after batch_create_tasks, batch_complete_tasks, batch_delete_tasks, or any sequence of multiple create/update/delete/move operations. Do NOT call after every individual mutation; sync once at the end of the chain. Returns immediately while sync runs in the background.", {}, async () => {
|
|
60
|
+
try {
|
|
61
|
+
const result = await client.syncDatabase();
|
|
62
|
+
return {
|
|
63
|
+
content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
const { message } = formatMcpError(error);
|
|
68
|
+
return { content: [{ type: "text", text: message }], isError: true };
|
|
69
|
+
}
|
|
70
|
+
});
|
|
59
71
|
}
|
|
60
72
|
//# sourceMappingURL=database.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/tools/database.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/tools/database.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"perspectives.d.ts","sourceRoot":"","sources":["../../src/tools/perspectives.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"perspectives.d.ts","sourceRoot":"","sources":["../../src/tools/perspectives.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI,CAgCzF"}
|
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { formatMcpError } from "../utils/errors.js";
|
|
3
3
|
export function registerPerspectiveTools(server, client) {
|
|
4
|
-
server.tool("list_perspectives", "List perspectives in OmniFocus.
|
|
5
|
-
includeBuiltIn: z.boolean().optional().describe("Include custom perspectives whose names match built-in perspective names (default true). Note: actual built-in perspectives are not available via the API."),
|
|
6
|
-
includeCustom: z.boolean().optional().describe("Include custom perspectives (default true)"),
|
|
7
|
-
}, async (args) => {
|
|
4
|
+
server.tool("list_perspectives", "List custom perspectives in OmniFocus. Built-in perspectives (Inbox, Projects, Tags, Forecast, Flagged, Review, Nearby) are not enumerable via the API — use dedicated tools instead (get_inbox_tasks, get_flagged_tasks, get_review_queue, list_projects, list_tags, or list_tasks with date filters for Forecast).", {}, async () => {
|
|
8
5
|
try {
|
|
9
|
-
const perspectives = await client.listPerspectives(
|
|
6
|
+
const perspectives = await client.listPerspectives();
|
|
10
7
|
return { content: [{ type: "text", text: JSON.stringify(perspectives, null, 2) }] };
|
|
11
8
|
}
|
|
12
9
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"perspectives.js","sourceRoot":"","sources":["../../src/tools/perspectives.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,UAAU,wBAAwB,CAAC,MAAiB,EAAE,MAAuB;IACjF,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,
|
|
1
|
+
{"version":3,"file":"perspectives.js","sourceRoot":"","sources":["../../src/tools/perspectives.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,UAAU,wBAAwB,CAAC,MAAiB,EAAE,MAAuB;IACjF,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,sTAAsT,EACtT,EAAE,EACF,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,gBAAgB,EAAE,CAAC;YACrD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC/F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YAC1C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAChF,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,kJAAkJ,EAClJ;QACE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;KAClD,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACjB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YACrD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACxF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YAC1C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAChF,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/tools/projects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/tools/projects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI,CAmOrF"}
|
package/dist/tools/projects.js
CHANGED
|
@@ -40,6 +40,7 @@ export function registerProjectTools(server, client) {
|
|
|
40
40
|
completedByChildren: z.boolean().optional().describe("Auto-complete when all children are completed"),
|
|
41
41
|
deferDate: z.string().optional().describe("Defer date (ISO 8601)"),
|
|
42
42
|
dueDate: z.string().optional().describe("Due date (ISO 8601)"),
|
|
43
|
+
plannedDate: z.string().optional().describe("Planned date (ISO 8601)"),
|
|
43
44
|
flagged: z.boolean().optional().describe("Whether to flag the project"),
|
|
44
45
|
tags: z.array(z.string()).optional().describe("Tag names to apply"),
|
|
45
46
|
reviewInterval: z
|
|
@@ -69,6 +70,7 @@ export function registerProjectTools(server, client) {
|
|
|
69
70
|
completedByChildren: z.boolean().optional().describe("Auto-complete when all children are completed"),
|
|
70
71
|
deferDate: z.string().nullable().optional().describe("New defer date (ISO 8601) or null to clear"),
|
|
71
72
|
dueDate: z.string().nullable().optional().describe("New due date (ISO 8601) or null to clear"),
|
|
73
|
+
plannedDate: z.string().nullable().optional().describe("New planned date (ISO 8601) or null to clear"),
|
|
72
74
|
flagged: z.boolean().optional().describe("New flagged status"),
|
|
73
75
|
reviewInterval: z
|
|
74
76
|
.object({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/tools/projects.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/tools/projects.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,UAAU,oBAAoB,CAAC,MAAiB,EAAE,MAAuB;IAC7E,MAAM,CAAC,IAAI,CACT,eAAe,EACf,wFAAwF,EACxF;QACE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QACvG,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QAC1E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QAC9E,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;QACnF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QACvF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;KACxE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACjD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC3F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YAC1C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAChF,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,aAAa,EACb,iEAAiE,EACjE;QACE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;KAC9D,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAClD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YAC1C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAChF,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,mCAAmC,EACnC;QACE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QACzC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QAChE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAC5D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAChE,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;QACvF,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QACzF,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;QACrG,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAClE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QAC9D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QACtE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;QACvE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QACnE,cAAc,EAAE,CAAC;aACd,MAAM,CAAC;YACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;YAC7D,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,sCAAsC,CAAC;SAChG,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CAAC,iBAAiB,CAAC;KAC/B,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACjD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YAC1C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAChF,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,0CAA0C,EAC1C;QACE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QACzC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACxD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACxD,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QACjG,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;QACvF,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QACzF,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;QACrG,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;QAClG,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;QAC9F,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;QACtG,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAC9D,cAAc,EAAE,CAAC;aACd,MAAM,CAAC;YACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;YAC7D,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,sCAAsC,CAAC;SAChG,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CAAC,qBAAqB,CAAC;KACnC,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACjD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YAC1C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAChF,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,oCAAoC,EACpC;QACE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;KACtD,EACD,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;QACf,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YACjD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YAC1C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAChF,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,cAAc,EACd,uCAAuC,EACvC;QACE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;KAClD,EACD,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;QACf,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC7C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YAC1C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAChF,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,cAAc,EACd,sCAAsC,EACtC;QACE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QACxD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;KAC3D,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;QAChC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAC9D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YAC1C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAChF,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,6CAA6C,EAC7C;QACE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;KACpD,EACD,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;QACf,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YAC9C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACzF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YAC1C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAChF,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,sCAAsC,EACtC,EAAE,EACF,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;YAC/C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC3F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YAC1C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAChF,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,eAAe,EACf,4DAA4D,EAC5D;QACE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;KAC9D,EACD,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;QACf,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAC9C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YAC1C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAChF,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,+CAA+C,EAC/C;QACE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAChD,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;KACrG,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YACjD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACxF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YAC1C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAChF,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../src/tools/tasks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../src/tools/tasks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAwBzD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI,CAkdlF"}
|
package/dist/tools/tasks.js
CHANGED
|
@@ -10,6 +10,7 @@ const batchTaskItemSchema = z.lazy(() => z.object({
|
|
|
10
10
|
flagged: z.boolean().optional().describe("Whether to flag"),
|
|
11
11
|
deferDate: z.string().optional().describe("Defer date (ISO 8601)"),
|
|
12
12
|
dueDate: z.string().optional().describe("Due date (ISO 8601)"),
|
|
13
|
+
plannedDate: z.string().optional().describe("Planned date (ISO 8601)"),
|
|
13
14
|
estimatedMinutes: z.number().min(0).optional().describe("Estimated duration in minutes"),
|
|
14
15
|
completedByChildren: z.boolean().optional().describe("Auto-complete when children complete"),
|
|
15
16
|
tags: z.array(z.string()).optional().describe("Tag names"),
|
|
@@ -29,6 +30,8 @@ export function registerTaskTools(server, client) {
|
|
|
29
30
|
dueBefore: z.string().optional().describe("Filter tasks due before this ISO date"),
|
|
30
31
|
deferAfter: z.string().optional().describe("Filter tasks deferred after this ISO date"),
|
|
31
32
|
deferBefore: z.string().optional().describe("Filter tasks deferred before this ISO date"),
|
|
33
|
+
plannedAfter: z.string().optional().describe("Filter tasks planned after this ISO date"),
|
|
34
|
+
plannedBefore: z.string().optional().describe("Filter tasks planned before this ISO date"),
|
|
32
35
|
search: z.string().optional().describe("Full-text search in task name and note"),
|
|
33
36
|
taskStatus: z.enum(["available", "remaining", "completed", "dropped"]).optional().describe("Filter by task status"),
|
|
34
37
|
limit: z.number().min(1).max(1000).optional().describe("Maximum results (default 100)"),
|
|
@@ -63,6 +66,7 @@ export function registerTaskTools(server, client) {
|
|
|
63
66
|
flagged: z.boolean().optional().describe("Whether to flag the task"),
|
|
64
67
|
deferDate: z.string().optional().describe("Defer date (ISO 8601)"),
|
|
65
68
|
dueDate: z.string().optional().describe("Due date (ISO 8601)"),
|
|
69
|
+
plannedDate: z.string().optional().describe("Planned date (ISO 8601)"),
|
|
66
70
|
estimatedMinutes: z.number().min(0).optional().describe("Estimated duration in minutes"),
|
|
67
71
|
completedByChildren: z.boolean().optional().describe("Auto-complete when all children are completed"),
|
|
68
72
|
projectId: z.string().optional().describe("Project ID to add task to"),
|
|
@@ -86,6 +90,7 @@ export function registerTaskTools(server, client) {
|
|
|
86
90
|
flagged: z.boolean().optional().describe("New flagged status"),
|
|
87
91
|
deferDate: z.string().nullable().optional().describe("New defer date (ISO 8601) or null to clear"),
|
|
88
92
|
dueDate: z.string().nullable().optional().describe("New due date (ISO 8601) or null to clear"),
|
|
93
|
+
plannedDate: z.string().nullable().optional().describe("New planned date (ISO 8601) or null to clear"),
|
|
89
94
|
estimatedMinutes: z.number().min(0).nullable().optional().describe("New estimated minutes or null to clear"),
|
|
90
95
|
sequential: z.boolean().optional().describe("Whether subtasks must be completed in order"),
|
|
91
96
|
completedByChildren: z.boolean().optional().describe("Auto-complete when all children are completed"),
|
|
@@ -105,9 +110,13 @@ export function registerTaskTools(server, client) {
|
|
|
105
110
|
});
|
|
106
111
|
server.tool("complete_task", "Mark a task as completed", {
|
|
107
112
|
id: z.string().describe("The task ID to complete"),
|
|
108
|
-
|
|
113
|
+
completionDate: z
|
|
114
|
+
.string()
|
|
115
|
+
.optional()
|
|
116
|
+
.describe("Optional ISO 8601 completion date to backdate the completion (defaults to now)"),
|
|
117
|
+
}, async ({ id, completionDate }) => {
|
|
109
118
|
try {
|
|
110
|
-
const task = await client.completeTask(id);
|
|
119
|
+
const task = await client.completeTask(id, completionDate);
|
|
111
120
|
return { content: [{ type: "text", text: JSON.stringify(task, null, 2) }] };
|
|
112
121
|
}
|
|
113
122
|
catch (error) {
|
|
@@ -257,9 +266,12 @@ export function registerTaskTools(server, client) {
|
|
|
257
266
|
projectId: z.string().optional().describe("Project ID to add tasks to"),
|
|
258
267
|
projectName: z.string().optional().describe("Project name to add tasks to"),
|
|
259
268
|
parentTaskId: z.string().optional().describe("Parent task ID for subtasks"),
|
|
260
|
-
|
|
269
|
+
sync: z.boolean().optional().describe("Trigger an OmniFocus sync after the batch completes (default false). Skips on error."),
|
|
270
|
+
}, async ({ sync, ...args }) => {
|
|
261
271
|
try {
|
|
262
272
|
const tasks = await client.batchCreateTasks(args);
|
|
273
|
+
if (sync)
|
|
274
|
+
await client.syncDatabase();
|
|
263
275
|
return { content: [{ type: "text", text: JSON.stringify(tasks, null, 2) }] };
|
|
264
276
|
}
|
|
265
277
|
catch (error) {
|
|
@@ -306,9 +318,12 @@ export function registerTaskTools(server, client) {
|
|
|
306
318
|
});
|
|
307
319
|
server.tool("batch_delete_tasks", "Delete multiple tasks at once. More efficient than deleting one by one.", {
|
|
308
320
|
taskIds: z.array(z.string()).min(1).describe("Array of task IDs to delete"),
|
|
309
|
-
|
|
321
|
+
sync: z.boolean().optional().describe("Trigger an OmniFocus sync after the batch completes (default false). Skips on error."),
|
|
322
|
+
}, async ({ sync, ...args }) => {
|
|
310
323
|
try {
|
|
311
324
|
const results = await client.batchDeleteTasks(args);
|
|
325
|
+
if (sync)
|
|
326
|
+
await client.syncDatabase();
|
|
312
327
|
return { content: [{ type: "text", text: JSON.stringify(results, null, 2) }] };
|
|
313
328
|
}
|
|
314
329
|
catch (error) {
|
|
@@ -318,9 +333,12 @@ export function registerTaskTools(server, client) {
|
|
|
318
333
|
});
|
|
319
334
|
server.tool("batch_complete_tasks", "Complete multiple tasks at once. More efficient than completing one by one.", {
|
|
320
335
|
taskIds: z.array(z.string()).min(1).describe("Array of task IDs to complete"),
|
|
321
|
-
|
|
336
|
+
sync: z.boolean().optional().describe("Trigger an OmniFocus sync after the batch completes (default false). Skips on error."),
|
|
337
|
+
}, async ({ sync, ...args }) => {
|
|
322
338
|
try {
|
|
323
339
|
const results = await client.batchCompleteTasks(args);
|
|
340
|
+
if (sync)
|
|
341
|
+
await client.syncDatabase();
|
|
324
342
|
return { content: [{ type: "text", text: JSON.stringify(results, null, 2) }] };
|
|
325
343
|
}
|
|
326
344
|
catch (error) {
|
|
@@ -340,6 +358,8 @@ export function registerTaskTools(server, client) {
|
|
|
340
358
|
dueBefore: z.string().optional().describe("Filter tasks due before this ISO date"),
|
|
341
359
|
deferAfter: z.string().optional().describe("Filter tasks deferred after this ISO date"),
|
|
342
360
|
deferBefore: z.string().optional().describe("Filter tasks deferred before this ISO date"),
|
|
361
|
+
plannedAfter: z.string().optional().describe("Filter tasks planned after this ISO date"),
|
|
362
|
+
plannedBefore: z.string().optional().describe("Filter tasks planned before this ISO date"),
|
|
343
363
|
search: z.string().optional().describe("Full-text search in task name and note"),
|
|
344
364
|
taskStatus: z.enum(["available", "remaining", "completed", "dropped"]).optional().describe("Filter by task status"),
|
|
345
365
|
}, async (args) => {
|