omnifocus-mcp-server 1.0.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/LICENSE +21 -0
- package/README.md +165 -0
- package/dist/config.d.ts +20 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +20 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -0
- package/dist/omnifocus/cache.d.ts +26 -0
- package/dist/omnifocus/cache.d.ts.map +1 -0
- package/dist/omnifocus/cache.js +68 -0
- package/dist/omnifocus/cache.js.map +1 -0
- package/dist/omnifocus/client.d.ts +84 -0
- package/dist/omnifocus/client.d.ts.map +1 -0
- package/dist/omnifocus/client.js +340 -0
- package/dist/omnifocus/client.js.map +1 -0
- package/dist/omnifocus/executor.d.ts +11 -0
- package/dist/omnifocus/executor.d.ts.map +1 -0
- package/dist/omnifocus/executor.js +62 -0
- package/dist/omnifocus/executor.js.map +1 -0
- package/dist/omnifocus/scripts/database.d.ts +6 -0
- package/dist/omnifocus/scripts/database.d.ts.map +1 -0
- package/dist/omnifocus/scripts/database.js +161 -0
- package/dist/omnifocus/scripts/database.js.map +1 -0
- package/dist/omnifocus/scripts/folders.d.ts +7 -0
- package/dist/omnifocus/scripts/folders.d.ts.map +1 -0
- package/dist/omnifocus/scripts/folders.js +73 -0
- package/dist/omnifocus/scripts/folders.js.map +1 -0
- package/dist/omnifocus/scripts/perspectives.d.ts +4 -0
- package/dist/omnifocus/scripts/perspectives.d.ts.map +1 -0
- package/dist/omnifocus/scripts/perspectives.js +62 -0
- package/dist/omnifocus/scripts/perspectives.js.map +1 -0
- package/dist/omnifocus/scripts/projects.d.ts +13 -0
- package/dist/omnifocus/scripts/projects.d.ts.map +1 -0
- package/dist/omnifocus/scripts/projects.js +235 -0
- package/dist/omnifocus/scripts/projects.js.map +1 -0
- package/dist/omnifocus/scripts/tags.d.ts +7 -0
- package/dist/omnifocus/scripts/tags.d.ts.map +1 -0
- package/dist/omnifocus/scripts/tags.js +91 -0
- package/dist/omnifocus/scripts/tags.js.map +1 -0
- package/dist/omnifocus/scripts/tasks.d.ts +23 -0
- package/dist/omnifocus/scripts/tasks.d.ts.map +1 -0
- package/dist/omnifocus/scripts/tasks.js +560 -0
- package/dist/omnifocus/scripts/tasks.js.map +1 -0
- package/dist/omnifocus/serializers.d.ts +16 -0
- package/dist/omnifocus/serializers.d.ts.map +1 -0
- package/dist/omnifocus/serializers.js +181 -0
- package/dist/omnifocus/serializers.js.map +1 -0
- package/dist/prompts.d.ts +3 -0
- package/dist/prompts.d.ts.map +1 -0
- package/dist/prompts.js +49 -0
- package/dist/prompts.js.map +1 -0
- package/dist/resources.d.ts +4 -0
- package/dist/resources.d.ts.map +1 -0
- package/dist/resources.js +48 -0
- package/dist/resources.js.map +1 -0
- package/dist/server.d.ts +7 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +20 -0
- package/dist/server.js.map +1 -0
- package/dist/tools/database.d.ts +4 -0
- package/dist/tools/database.d.ts.map +1 -0
- package/dist/tools/database.js +60 -0
- package/dist/tools/database.js.map +1 -0
- package/dist/tools/folders.d.ts +4 -0
- package/dist/tools/folders.d.ts.map +1 -0
- package/dist/tools/folders.js +67 -0
- package/dist/tools/folders.js.map +1 -0
- package/dist/tools/index.d.ts +4 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +15 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/perspectives.d.ts +4 -0
- package/dist/tools/perspectives.d.ts.map +1 -0
- package/dist/tools/perspectives.js +30 -0
- package/dist/tools/perspectives.js.map +1 -0
- package/dist/tools/projects.d.ts +4 -0
- package/dist/tools/projects.d.ts.map +1 -0
- package/dist/tools/projects.js +175 -0
- package/dist/tools/projects.js.map +1 -0
- package/dist/tools/tags.d.ts +4 -0
- package/dist/tools/tags.d.ts.map +1 -0
- package/dist/tools/tags.js +70 -0
- package/dist/tools/tags.js.map +1 -0
- package/dist/tools/tasks.d.ts +4 -0
- package/dist/tools/tasks.d.ts.map +1 -0
- package/dist/tools/tasks.js +356 -0
- package/dist/tools/tasks.js.map +1 -0
- package/dist/types/omnifocus.d.ts +313 -0
- package/dist/types/omnifocus.d.ts.map +1 -0
- package/dist/types/omnifocus.js +3 -0
- package/dist/types/omnifocus.js.map +1 -0
- package/dist/utils/dates.d.ts +23 -0
- package/dist/utils/dates.d.ts.map +1 -0
- package/dist/utils/dates.js +44 -0
- package/dist/utils/dates.js.map +1 -0
- package/dist/utils/errors.d.ts +25 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +76 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/logger.d.ts +7 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +30 -0
- package/dist/utils/logger.js.map +1 -0
- package/package.json +53 -0
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { serializeFolderFn, serializeFolderWithChildrenFn, serializeProjectFn } from "../serializers.js";
|
|
2
|
+
export function buildListFoldersScript() {
|
|
3
|
+
return `(() => {
|
|
4
|
+
${serializeFolderFn}
|
|
5
|
+
|
|
6
|
+
var folders = flattenedFolders.slice();
|
|
7
|
+
return JSON.stringify(folders.map(serializeFolder));
|
|
8
|
+
})()`;
|
|
9
|
+
}
|
|
10
|
+
export function buildGetFolderScript(id) {
|
|
11
|
+
const argsJson = JSON.stringify({ id });
|
|
12
|
+
return `(() => {
|
|
13
|
+
var args = JSON.parse(${JSON.stringify(argsJson)});
|
|
14
|
+
${serializeFolderFn}
|
|
15
|
+
${serializeProjectFn}
|
|
16
|
+
${serializeFolderWithChildrenFn}
|
|
17
|
+
|
|
18
|
+
var folder = byId(flattenedFolders, args.id);
|
|
19
|
+
if (!folder) throw new Error("Folder not found: " + args.id);
|
|
20
|
+
return JSON.stringify(serializeFolderWithChildren(folder, 0, 0));
|
|
21
|
+
})()`;
|
|
22
|
+
}
|
|
23
|
+
export function buildCreateFolderScript(args) {
|
|
24
|
+
const argsJson = JSON.stringify(args);
|
|
25
|
+
return `(() => {
|
|
26
|
+
var args = JSON.parse(${JSON.stringify(argsJson)});
|
|
27
|
+
${serializeFolderFn}
|
|
28
|
+
|
|
29
|
+
var parent = null;
|
|
30
|
+
if (args.parentFolderId) {
|
|
31
|
+
parent = byId(flattenedFolders, args.parentFolderId);
|
|
32
|
+
if (!parent) throw new Error("Parent folder not found: " + args.parentFolderId);
|
|
33
|
+
} else if (args.parentFolderName) {
|
|
34
|
+
var matches = flattenedFolders.filter(function(f) { return f.name === args.parentFolderName; });
|
|
35
|
+
if (matches.length === 0) throw new Error("Parent folder not found: " + args.parentFolderName);
|
|
36
|
+
parent = matches[0];
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
var folder = new Folder(args.name, parent ? parent.ending : library.ending);
|
|
40
|
+
return JSON.stringify(serializeFolder(folder));
|
|
41
|
+
})()`;
|
|
42
|
+
}
|
|
43
|
+
export function buildUpdateFolderScript(args) {
|
|
44
|
+
const argsJson = JSON.stringify(args);
|
|
45
|
+
return `(() => {
|
|
46
|
+
var args = JSON.parse(${JSON.stringify(argsJson)});
|
|
47
|
+
${serializeFolderFn}
|
|
48
|
+
|
|
49
|
+
var folder = byId(flattenedFolders, args.id);
|
|
50
|
+
if (!folder) throw new Error("Folder not found: " + args.id);
|
|
51
|
+
|
|
52
|
+
if (args.name !== undefined) folder.name = args.name;
|
|
53
|
+
|
|
54
|
+
if (args.status !== undefined) {
|
|
55
|
+
if (args.status === "active") folder.status = Folder.Status.Active;
|
|
56
|
+
else if (args.status === "dropped") folder.status = Folder.Status.Dropped;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return JSON.stringify(serializeFolder(folder));
|
|
60
|
+
})()`;
|
|
61
|
+
}
|
|
62
|
+
export function buildDeleteFolderScript(id) {
|
|
63
|
+
const argsJson = JSON.stringify({ id });
|
|
64
|
+
return `(() => {
|
|
65
|
+
var args = JSON.parse(${JSON.stringify(argsJson)});
|
|
66
|
+
|
|
67
|
+
var folder = byId(flattenedFolders, args.id);
|
|
68
|
+
if (!folder) throw new Error("Folder not found: " + args.id);
|
|
69
|
+
deleteObject(folder);
|
|
70
|
+
return JSON.stringify({ deleted: true, id: args.id });
|
|
71
|
+
})()`;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=folders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"folders.js","sourceRoot":"","sources":["../../../src/omnifocus/scripts/folders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAGzG,MAAM,UAAU,sBAAsB;IACpC,OAAO;IACL,iBAAiB;;;;KAIhB,CAAC;AACN,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,EAAU;IAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACxC,OAAO;0BACiB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;IAC9C,iBAAiB;IACjB,kBAAkB;IAClB,6BAA6B;;;;;KAK5B,CAAC;AACN,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAAsB;IAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACtC,OAAO;0BACiB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;IAC9C,iBAAiB;;;;;;;;;;;;;;KAchB,CAAC;AACN,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAAsB;IAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACtC,OAAO;0BACiB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;IAC9C,iBAAiB;;;;;;;;;;;;;KAahB,CAAC;AACN,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,EAAU;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACxC,OAAO;0BACiB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;;;;;;KAM7C,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ListPerspectivesArgs } from "../../types/omnifocus.js";
|
|
2
|
+
export declare function buildListPerspectivesScript(args?: ListPerspectivesArgs): string;
|
|
3
|
+
export declare function buildGetPerspectiveTasksScript(name: string): string;
|
|
4
|
+
//# sourceMappingURL=perspectives.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"perspectives.d.ts","sourceRoot":"","sources":["../../../src/omnifocus/scripts/perspectives.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAErE,wBAAgB,2BAA2B,CAAC,IAAI,GAAE,oBAAyB,GAAG,MAAM,CAgBnF;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA0CnE"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { serializePerspectiveFn, serializeTaskFn } from "../serializers.js";
|
|
2
|
+
export function buildListPerspectivesScript(args = {}) {
|
|
3
|
+
const argsJson = JSON.stringify(args);
|
|
4
|
+
return `(() => {
|
|
5
|
+
var args = JSON.parse(${JSON.stringify(argsJson)});
|
|
6
|
+
${serializePerspectiveFn}
|
|
7
|
+
|
|
8
|
+
var builtInNames = ["Inbox","Projects","Tags","Forecast","Flagged","Review","Nearby"];
|
|
9
|
+
var perspectives = Perspective.Custom.all.slice();
|
|
10
|
+
if (args.includeBuiltIn === false) {
|
|
11
|
+
perspectives = perspectives.filter(function(p) { return builtInNames.indexOf(p.name) === -1; });
|
|
12
|
+
}
|
|
13
|
+
if (args.includeCustom === false) {
|
|
14
|
+
perspectives = perspectives.filter(function(p) { return builtInNames.indexOf(p.name) !== -1; });
|
|
15
|
+
}
|
|
16
|
+
return JSON.stringify(perspectives.map(serializePerspective));
|
|
17
|
+
})()`;
|
|
18
|
+
}
|
|
19
|
+
export function buildGetPerspectiveTasksScript(name) {
|
|
20
|
+
const argsJson = JSON.stringify({ name });
|
|
21
|
+
return `(() => {
|
|
22
|
+
var args = JSON.parse(${JSON.stringify(argsJson)});
|
|
23
|
+
${serializeTaskFn}
|
|
24
|
+
|
|
25
|
+
var perspectives = Perspective.Custom.all.filter(function(p) { return p.name === args.name; });
|
|
26
|
+
if (perspectives.length === 0) throw new Error("Perspective not found: " + args.name);
|
|
27
|
+
|
|
28
|
+
var win = document.windows[0];
|
|
29
|
+
if (!win) throw new Error("No OmniFocus window available");
|
|
30
|
+
|
|
31
|
+
// NOTE: This mutates the user's active OmniFocus window by changing its perspective.
|
|
32
|
+
// Save and restore the original perspective to minimize disruption.
|
|
33
|
+
var originalPerspective = win.perspective;
|
|
34
|
+
win.perspective = perspectives[0];
|
|
35
|
+
|
|
36
|
+
// Read content after perspective switch
|
|
37
|
+
var content = win.content;
|
|
38
|
+
if (!content || !content.trees || content.trees.length === 0) {
|
|
39
|
+
return JSON.stringify([]);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
var tasks = [];
|
|
43
|
+
function collectTasks(trees) {
|
|
44
|
+
for (var i = 0; i < trees.length; i++) {
|
|
45
|
+
var node = trees[i];
|
|
46
|
+
if (node.value && node.value.constructor === Task) {
|
|
47
|
+
tasks.push(serializeTask(node.value));
|
|
48
|
+
}
|
|
49
|
+
if (node.children && node.children.length > 0) {
|
|
50
|
+
collectTasks(node.children);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
collectTasks(content.trees);
|
|
55
|
+
|
|
56
|
+
// Restore the original perspective
|
|
57
|
+
if (originalPerspective) win.perspective = originalPerspective;
|
|
58
|
+
|
|
59
|
+
return JSON.stringify(tasks);
|
|
60
|
+
})()`;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=perspectives.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"perspectives.js","sourceRoot":"","sources":["../../../src/omnifocus/scripts/perspectives.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAG5E,MAAM,UAAU,2BAA2B,CAAC,OAA6B,EAAE;IACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACtC,OAAO;0BACiB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;IAC9C,sBAAsB;;;;;;;;;;;KAWrB,CAAC;AACN,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,IAAY;IACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,OAAO;0BACiB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;IAC9C,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAqCd,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ListProjectsArgs, CreateProjectArgs, UpdateProjectArgs, GetProjectTasksArgs } from "../../types/omnifocus.js";
|
|
2
|
+
export declare function buildListProjectsScript(args: ListProjectsArgs): string;
|
|
3
|
+
export declare function buildGetProjectScript(idOrName: string): string;
|
|
4
|
+
export declare function buildCreateProjectScript(args: CreateProjectArgs): string;
|
|
5
|
+
export declare function buildUpdateProjectScript(args: UpdateProjectArgs): string;
|
|
6
|
+
export declare function buildCompleteProjectScript(id: string): string;
|
|
7
|
+
export declare function buildDropProjectScript(id: string): string;
|
|
8
|
+
export declare function buildMoveProjectScript(projectId: string, folderId: string): string;
|
|
9
|
+
export declare function buildDeleteProjectScript(id: string): string;
|
|
10
|
+
export declare function buildGetReviewQueueScript(): string;
|
|
11
|
+
export declare function buildMarkReviewedScript(id: string): string;
|
|
12
|
+
export declare function buildGetProjectTasksScript(args: GetProjectTasksArgs): string;
|
|
13
|
+
//# sourceMappingURL=projects.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../../src/omnifocus/scripts/projects.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG5H,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CA8CtE;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAc9D;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CA8CxE;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CA8BxE;AAED,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAW7D;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAWzD;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAelF;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAU3D;AAED,wBAAgB,yBAAyB,IAAI,MAAM,CAWlD;AAED,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAW1D;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CAgB5E"}
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
import { serializeProjectFn, serializeTaskFn } from "../serializers.js";
|
|
2
|
+
import { validateDateArgs } from "../../utils/dates.js";
|
|
3
|
+
export function buildListProjectsScript(args) {
|
|
4
|
+
const argsJson = JSON.stringify(args);
|
|
5
|
+
return `(() => {
|
|
6
|
+
var args = JSON.parse(${JSON.stringify(argsJson)});
|
|
7
|
+
${serializeProjectFn}
|
|
8
|
+
|
|
9
|
+
var projects = flattenedProjects.slice();
|
|
10
|
+
|
|
11
|
+
// Filter by status
|
|
12
|
+
if (args.status === "active") {
|
|
13
|
+
projects = projects.filter(function(p) { return p.status === Project.Status.Active; });
|
|
14
|
+
} else if (args.status === "onHold") {
|
|
15
|
+
projects = projects.filter(function(p) { return p.status === Project.Status.OnHold; });
|
|
16
|
+
} else if (args.status === "done") {
|
|
17
|
+
projects = projects.filter(function(p) { return p.status === Project.Status.Done; });
|
|
18
|
+
} else if (args.status === "dropped") {
|
|
19
|
+
projects = projects.filter(function(p) { return p.status === Project.Status.Dropped; });
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
// Filter by folder
|
|
23
|
+
if (args.folderId) {
|
|
24
|
+
projects = projects.filter(function(p) {
|
|
25
|
+
return p.parentFolder && p.parentFolder.id.primaryKey === args.folderId;
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
if (args.folderName) {
|
|
29
|
+
projects = projects.filter(function(p) {
|
|
30
|
+
return p.parentFolder && p.parentFolder.name === args.folderName;
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// Search
|
|
35
|
+
if (args.search) {
|
|
36
|
+
var query = args.search.toLowerCase();
|
|
37
|
+
projects = projects.filter(function(p) {
|
|
38
|
+
return p.name.toLowerCase().indexOf(query) !== -1 || (p.note || "").toLowerCase().indexOf(query) !== -1;
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// Pagination
|
|
43
|
+
var offset = args.offset || 0;
|
|
44
|
+
var limit = args.limit || 100;
|
|
45
|
+
projects = projects.slice(offset, offset + limit);
|
|
46
|
+
|
|
47
|
+
return JSON.stringify(projects.map(serializeProject));
|
|
48
|
+
})()`;
|
|
49
|
+
}
|
|
50
|
+
export function buildGetProjectScript(idOrName) {
|
|
51
|
+
const argsJson = JSON.stringify({ idOrName });
|
|
52
|
+
return `(() => {
|
|
53
|
+
var args = JSON.parse(${JSON.stringify(argsJson)});
|
|
54
|
+
${serializeProjectFn}
|
|
55
|
+
|
|
56
|
+
var project = byId(flattenedProjects, args.idOrName);
|
|
57
|
+
if (!project) {
|
|
58
|
+
var matches = flattenedProjects.filter(function(p) { return p.name === args.idOrName; });
|
|
59
|
+
if (matches.length > 0) project = matches[0];
|
|
60
|
+
}
|
|
61
|
+
if (!project) throw new Error("Project not found: " + args.idOrName);
|
|
62
|
+
return JSON.stringify(serializeProject(project));
|
|
63
|
+
})()`;
|
|
64
|
+
}
|
|
65
|
+
export function buildCreateProjectScript(args) {
|
|
66
|
+
validateDateArgs(args, ["deferDate", "dueDate"]);
|
|
67
|
+
const argsJson = JSON.stringify(args);
|
|
68
|
+
return `(() => {
|
|
69
|
+
var args = JSON.parse(${JSON.stringify(argsJson)});
|
|
70
|
+
${serializeProjectFn}
|
|
71
|
+
|
|
72
|
+
var folder = null;
|
|
73
|
+
if (args.folderId) {
|
|
74
|
+
folder = byId(flattenedFolders, args.folderId);
|
|
75
|
+
if (!folder) throw new Error("Folder not found: " + args.folderId);
|
|
76
|
+
} else if (args.folderName) {
|
|
77
|
+
var folders = flattenedFolders.filter(function(f) { return f.name === args.folderName; });
|
|
78
|
+
if (folders.length === 0) throw new Error("Folder not found: " + args.folderName);
|
|
79
|
+
folder = folders[0];
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
var project = new Project(args.name, folder ? folder.ending : library.ending);
|
|
83
|
+
|
|
84
|
+
if (args.note !== undefined) project.note = args.note;
|
|
85
|
+
if (args.sequential !== undefined) project.sequential = args.sequential;
|
|
86
|
+
if (args.singleActionList === true) project.containsSingletonActions = true;
|
|
87
|
+
if (args.completedByChildren !== undefined) project.completedByChildren = args.completedByChildren;
|
|
88
|
+
if (args.deferDate) project.deferDate = new Date(args.deferDate);
|
|
89
|
+
if (args.dueDate) project.dueDate = new Date(args.dueDate);
|
|
90
|
+
if (args.flagged !== undefined) project.flagged = args.flagged;
|
|
91
|
+
|
|
92
|
+
if (args.reviewInterval) {
|
|
93
|
+
project.reviewInterval = new Project.ReviewInterval(args.reviewInterval.steps, args.reviewInterval.unit);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
if (args.tags && args.tags.length > 0) {
|
|
97
|
+
args.tags.forEach(function(tagName) {
|
|
98
|
+
var matches = flattenedTags.filter(function(t) { return t.name === tagName; });
|
|
99
|
+
if (matches.length > 0) {
|
|
100
|
+
project.task.addTag(matches[0]);
|
|
101
|
+
} else {
|
|
102
|
+
var newTag = new Tag(tagName);
|
|
103
|
+
tags.push(newTag);
|
|
104
|
+
project.task.addTag(newTag);
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
return JSON.stringify(serializeProject(project));
|
|
110
|
+
})()`;
|
|
111
|
+
}
|
|
112
|
+
export function buildUpdateProjectScript(args) {
|
|
113
|
+
validateDateArgs(args, ["deferDate", "dueDate"]);
|
|
114
|
+
const argsJson = JSON.stringify(args);
|
|
115
|
+
return `(() => {
|
|
116
|
+
var args = JSON.parse(${JSON.stringify(argsJson)});
|
|
117
|
+
${serializeProjectFn}
|
|
118
|
+
|
|
119
|
+
var project = byId(flattenedProjects, args.id);
|
|
120
|
+
if (!project) throw new Error("Project not found: " + args.id);
|
|
121
|
+
|
|
122
|
+
if (args.name !== undefined) project.name = args.name;
|
|
123
|
+
if (args.note !== undefined) project.note = args.note;
|
|
124
|
+
if (args.sequential !== undefined) project.sequential = args.sequential;
|
|
125
|
+
if (args.singleActionList !== undefined) project.containsSingletonActions = args.singleActionList;
|
|
126
|
+
if (args.completedByChildren !== undefined) project.completedByChildren = args.completedByChildren;
|
|
127
|
+
if (args.flagged !== undefined) project.flagged = args.flagged;
|
|
128
|
+
if (args.deferDate !== undefined) project.deferDate = args.deferDate ? new Date(args.deferDate) : null;
|
|
129
|
+
if (args.dueDate !== undefined) project.dueDate = args.dueDate ? new Date(args.dueDate) : null;
|
|
130
|
+
|
|
131
|
+
if (args.status === "active") project.status = Project.Status.Active;
|
|
132
|
+
else if (args.status === "onHold") project.status = Project.Status.OnHold;
|
|
133
|
+
else if (args.status === "done") project.status = Project.Status.Done;
|
|
134
|
+
else if (args.status === "dropped") project.status = Project.Status.Dropped;
|
|
135
|
+
|
|
136
|
+
if (args.reviewInterval) {
|
|
137
|
+
project.reviewInterval = new Project.ReviewInterval(args.reviewInterval.steps, args.reviewInterval.unit);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
return JSON.stringify(serializeProject(project));
|
|
141
|
+
})()`;
|
|
142
|
+
}
|
|
143
|
+
export function buildCompleteProjectScript(id) {
|
|
144
|
+
const argsJson = JSON.stringify({ id });
|
|
145
|
+
return `(() => {
|
|
146
|
+
var args = JSON.parse(${JSON.stringify(argsJson)});
|
|
147
|
+
${serializeProjectFn}
|
|
148
|
+
|
|
149
|
+
var project = byId(flattenedProjects, args.id);
|
|
150
|
+
if (!project) throw new Error("Project not found: " + args.id);
|
|
151
|
+
project.status = Project.Status.Done;
|
|
152
|
+
return JSON.stringify(serializeProject(project));
|
|
153
|
+
})()`;
|
|
154
|
+
}
|
|
155
|
+
export function buildDropProjectScript(id) {
|
|
156
|
+
const argsJson = JSON.stringify({ id });
|
|
157
|
+
return `(() => {
|
|
158
|
+
var args = JSON.parse(${JSON.stringify(argsJson)});
|
|
159
|
+
${serializeProjectFn}
|
|
160
|
+
|
|
161
|
+
var project = byId(flattenedProjects, args.id);
|
|
162
|
+
if (!project) throw new Error("Project not found: " + args.id);
|
|
163
|
+
project.status = Project.Status.Dropped;
|
|
164
|
+
return JSON.stringify(serializeProject(project));
|
|
165
|
+
})()`;
|
|
166
|
+
}
|
|
167
|
+
export function buildMoveProjectScript(projectId, folderId) {
|
|
168
|
+
const argsJson = JSON.stringify({ projectId, folderId });
|
|
169
|
+
return `(() => {
|
|
170
|
+
var args = JSON.parse(${JSON.stringify(argsJson)});
|
|
171
|
+
${serializeProjectFn}
|
|
172
|
+
|
|
173
|
+
var project = byId(flattenedProjects, args.projectId);
|
|
174
|
+
if (!project) throw new Error("Project not found: " + args.projectId);
|
|
175
|
+
|
|
176
|
+
var folder = byId(flattenedFolders, args.folderId);
|
|
177
|
+
if (!folder) throw new Error("Folder not found: " + args.folderId);
|
|
178
|
+
|
|
179
|
+
moveSections([project], folder.ending);
|
|
180
|
+
return JSON.stringify(serializeProject(project));
|
|
181
|
+
})()`;
|
|
182
|
+
}
|
|
183
|
+
export function buildDeleteProjectScript(id) {
|
|
184
|
+
const argsJson = JSON.stringify({ id });
|
|
185
|
+
return `(() => {
|
|
186
|
+
var args = JSON.parse(${JSON.stringify(argsJson)});
|
|
187
|
+
|
|
188
|
+
var project = byId(flattenedProjects, args.id);
|
|
189
|
+
if (!project) throw new Error("Project not found: " + args.id);
|
|
190
|
+
deleteObject(project);
|
|
191
|
+
return JSON.stringify({ deleted: true, id: args.id });
|
|
192
|
+
})()`;
|
|
193
|
+
}
|
|
194
|
+
export function buildGetReviewQueueScript() {
|
|
195
|
+
return `(() => {
|
|
196
|
+
${serializeProjectFn}
|
|
197
|
+
|
|
198
|
+
var now = new Date();
|
|
199
|
+
var projects = flattenedProjects.filter(function(p) {
|
|
200
|
+
return p.status === Project.Status.Active && p.nextReviewDate && p.nextReviewDate <= now;
|
|
201
|
+
});
|
|
202
|
+
|
|
203
|
+
return JSON.stringify(projects.map(serializeProject));
|
|
204
|
+
})()`;
|
|
205
|
+
}
|
|
206
|
+
export function buildMarkReviewedScript(id) {
|
|
207
|
+
const argsJson = JSON.stringify({ id });
|
|
208
|
+
return `(() => {
|
|
209
|
+
var args = JSON.parse(${JSON.stringify(argsJson)});
|
|
210
|
+
${serializeProjectFn}
|
|
211
|
+
|
|
212
|
+
var project = byId(flattenedProjects, args.id);
|
|
213
|
+
if (!project) throw new Error("Project not found: " + args.id);
|
|
214
|
+
project.markReviewed();
|
|
215
|
+
return JSON.stringify(serializeProject(project));
|
|
216
|
+
})()`;
|
|
217
|
+
}
|
|
218
|
+
export function buildGetProjectTasksScript(args) {
|
|
219
|
+
const argsJson = JSON.stringify(args);
|
|
220
|
+
return `(() => {
|
|
221
|
+
var args = JSON.parse(${JSON.stringify(argsJson)});
|
|
222
|
+
${serializeTaskFn}
|
|
223
|
+
|
|
224
|
+
var project = byId(flattenedProjects, args.projectId);
|
|
225
|
+
if (!project) throw new Error("Project not found: " + args.projectId);
|
|
226
|
+
|
|
227
|
+
var tasks = project.flattenedTasks.slice();
|
|
228
|
+
if (!args.includeCompleted) {
|
|
229
|
+
tasks = tasks.filter(function(t) { return t.taskStatus !== Task.Status.Completed && t.taskStatus !== Task.Status.Dropped; });
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
return JSON.stringify(tasks.map(serializeTask));
|
|
233
|
+
})()`;
|
|
234
|
+
}
|
|
235
|
+
//# sourceMappingURL=projects.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projects.js","sourceRoot":"","sources":["../../../src/omnifocus/scripts/projects.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { CreateTagArgs, UpdateTagArgs } from "../../types/omnifocus.js";
|
|
2
|
+
export declare function buildListTagsScript(): string;
|
|
3
|
+
export declare function buildGetTagScript(id: string): string;
|
|
4
|
+
export declare function buildCreateTagScript(args: CreateTagArgs): string;
|
|
5
|
+
export declare function buildUpdateTagScript(args: UpdateTagArgs): string;
|
|
6
|
+
export declare function buildDeleteTagScript(id: string): string;
|
|
7
|
+
//# sourceMappingURL=tags.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../../src/omnifocus/scripts/tags.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE7E,wBAAgB,mBAAmB,IAAI,MAAM,CAO5C;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAWpD;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAoChE;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAoBhE;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAUvD"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { serializeTagFn, serializeTagWithChildrenFn } from "../serializers.js";
|
|
2
|
+
export function buildListTagsScript() {
|
|
3
|
+
return `(() => {
|
|
4
|
+
${serializeTagFn}
|
|
5
|
+
|
|
6
|
+
var tags = flattenedTags.slice();
|
|
7
|
+
return JSON.stringify(tags.map(serializeTag));
|
|
8
|
+
})()`;
|
|
9
|
+
}
|
|
10
|
+
export function buildGetTagScript(id) {
|
|
11
|
+
const argsJson = JSON.stringify({ id });
|
|
12
|
+
return `(() => {
|
|
13
|
+
var args = JSON.parse(${JSON.stringify(argsJson)});
|
|
14
|
+
${serializeTagFn}
|
|
15
|
+
${serializeTagWithChildrenFn}
|
|
16
|
+
|
|
17
|
+
var tag = byId(flattenedTags, args.id);
|
|
18
|
+
if (!tag) throw new Error("Tag not found: " + args.id);
|
|
19
|
+
return JSON.stringify(serializeTagWithChildren(tag, 0, 0));
|
|
20
|
+
})()`;
|
|
21
|
+
}
|
|
22
|
+
export function buildCreateTagScript(args) {
|
|
23
|
+
const argsJson = JSON.stringify(args);
|
|
24
|
+
return `(() => {
|
|
25
|
+
var args = JSON.parse(${JSON.stringify(argsJson)});
|
|
26
|
+
${serializeTagFn}
|
|
27
|
+
|
|
28
|
+
var parent = null;
|
|
29
|
+
if (args.parentTagId) {
|
|
30
|
+
parent = byId(flattenedTags, args.parentTagId);
|
|
31
|
+
if (!parent) throw new Error("Parent tag not found: " + args.parentTagId);
|
|
32
|
+
} else if (args.parentTagName) {
|
|
33
|
+
var matches = flattenedTags.filter(function(t) { return t.name === args.parentTagName; });
|
|
34
|
+
if (matches.length === 0) throw new Error("Parent tag not found: " + args.parentTagName);
|
|
35
|
+
parent = matches[0];
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
var tag;
|
|
39
|
+
if (parent) {
|
|
40
|
+
tag = new Tag(args.name, parent.ending);
|
|
41
|
+
} else {
|
|
42
|
+
tag = new Tag(args.name);
|
|
43
|
+
tags.push(tag);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
if (args.allowsNextAction !== undefined) {
|
|
47
|
+
tag.allowsNextAction = args.allowsNextAction;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if (args.status) {
|
|
51
|
+
if (args.status === "active") tag.status = Tag.Status.Active;
|
|
52
|
+
else if (args.status === "onHold") tag.status = Tag.Status.OnHold;
|
|
53
|
+
else if (args.status === "dropped") tag.status = Tag.Status.Dropped;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
return JSON.stringify(serializeTag(tag));
|
|
57
|
+
})()`;
|
|
58
|
+
}
|
|
59
|
+
export function buildUpdateTagScript(args) {
|
|
60
|
+
const argsJson = JSON.stringify(args);
|
|
61
|
+
return `(() => {
|
|
62
|
+
var args = JSON.parse(${JSON.stringify(argsJson)});
|
|
63
|
+
${serializeTagFn}
|
|
64
|
+
|
|
65
|
+
var tag = byId(flattenedTags, args.id);
|
|
66
|
+
if (!tag) throw new Error("Tag not found: " + args.id);
|
|
67
|
+
|
|
68
|
+
if (args.name !== undefined) tag.name = args.name;
|
|
69
|
+
if (args.allowsNextAction !== undefined) tag.allowsNextAction = args.allowsNextAction;
|
|
70
|
+
|
|
71
|
+
if (args.status !== undefined) {
|
|
72
|
+
if (args.status === "active") tag.status = Tag.Status.Active;
|
|
73
|
+
else if (args.status === "onHold") tag.status = Tag.Status.OnHold;
|
|
74
|
+
else if (args.status === "dropped") tag.status = Tag.Status.Dropped;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
return JSON.stringify(serializeTag(tag));
|
|
78
|
+
})()`;
|
|
79
|
+
}
|
|
80
|
+
export function buildDeleteTagScript(id) {
|
|
81
|
+
const argsJson = JSON.stringify({ id });
|
|
82
|
+
return `(() => {
|
|
83
|
+
var args = JSON.parse(${JSON.stringify(argsJson)});
|
|
84
|
+
|
|
85
|
+
var tag = byId(flattenedTags, args.id);
|
|
86
|
+
if (!tag) throw new Error("Tag not found: " + args.id);
|
|
87
|
+
deleteObject(tag);
|
|
88
|
+
return JSON.stringify({ deleted: true, id: args.id });
|
|
89
|
+
})()`;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=tags.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../../../src/omnifocus/scripts/tags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAG/E,MAAM,UAAU,mBAAmB;IACjC,OAAO;IACL,cAAc;;;;KAIb,CAAC;AACN,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,EAAU;IAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACxC,OAAO;0BACiB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;IAC9C,cAAc;IACd,0BAA0B;;;;;KAKzB,CAAC;AACN,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAmB;IACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACtC,OAAO;0BACiB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;IAC9C,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA+Bb,CAAC;AACN,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAmB;IACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACtC,OAAO;0BACiB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;IAC9C,cAAc;;;;;;;;;;;;;;;KAeb,CAAC;AACN,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,EAAU;IAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACxC,OAAO;0BACiB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;;;;;;KAM7C,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { ListTasksArgs, CreateTaskArgs, UpdateTaskArgs, GetTaskArgs, MoveTasksArgs, DuplicateTasksArgs, SetTaskTagsArgs, AddTaskNotificationArgs, BatchCreateTasksArgs, BatchDeleteTasksArgs, BatchCompleteTasksArgs } from "../../types/omnifocus.js";
|
|
2
|
+
export declare function buildListTasksScript(args: ListTasksArgs): string;
|
|
3
|
+
export declare function buildGetTaskCountScript(args: ListTasksArgs): string;
|
|
4
|
+
export declare function buildGetTaskScript(args: string | GetTaskArgs): string;
|
|
5
|
+
export declare function buildCreateTaskScript(args: CreateTaskArgs): string;
|
|
6
|
+
export declare function buildUpdateTaskScript(args: UpdateTaskArgs): string;
|
|
7
|
+
export declare function buildCompleteTaskScript(id: string): string;
|
|
8
|
+
export declare function buildUncompleteTaskScript(id: string): string;
|
|
9
|
+
export declare function buildDropTaskScript(id: string): string;
|
|
10
|
+
export declare function buildDeleteTaskScript(id: string): string;
|
|
11
|
+
export declare function buildMoveTasksScript(args: MoveTasksArgs): string;
|
|
12
|
+
export declare function buildDuplicateTasksScript(args: DuplicateTasksArgs): string;
|
|
13
|
+
export declare function buildSetTaskTagsScript(args: SetTaskTagsArgs): string;
|
|
14
|
+
export declare function buildAddTaskNotificationScript(args: AddTaskNotificationArgs): string;
|
|
15
|
+
export declare function buildAppendTaskNoteScript(taskId: string, text: string): string;
|
|
16
|
+
export declare function buildConvertTaskToProjectScript(taskId: string): string;
|
|
17
|
+
export declare function buildGetTodayCompletedTasksScript(): string;
|
|
18
|
+
export declare function buildListTaskNotificationsScript(taskId: string): string;
|
|
19
|
+
export declare function buildRemoveTaskNotificationScript(taskId: string, notificationId: string): string;
|
|
20
|
+
export declare function buildBatchCreateTasksScript(args: BatchCreateTasksArgs): string;
|
|
21
|
+
export declare function buildBatchDeleteTasksScript(args: BatchDeleteTasksArgs): string;
|
|
22
|
+
export declare function buildBatchCompleteTasksScript(args: BatchCompleteTasksArgs): string;
|
|
23
|
+
//# sourceMappingURL=tasks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../../src/omnifocus/scripts/tasks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,kBAAkB,EAAE,eAAe,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AA6E5P,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAchE;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAQnE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,CA4BrE;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CA8ClE;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CA8BlE;AAED,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAW1D;AAED,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAW5D;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAWtD;AAED,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAUxD;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAgChE;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM,CA4B1E;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAoCpE;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,uBAAuB,GAAG,MAAM,CAsBpF;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAW9E;AAED,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAYtE;AAED,wBAAgB,iCAAiC,IAAI,MAAM,CAW1D;AAED,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAWvE;AAED,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAoBhG;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,CA4E9E;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAkB9E;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,sBAAsB,GAAG,MAAM,CAmBlF"}
|