@scardis/omnifocus-mcp 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/schemas/shapes.d.ts +3 -33
- package/dist/schemas/shapes.d.ts.map +1 -1
- package/dist/schemas/shapes.js +3 -5
- package/dist/schemas/shapes.js.map +1 -1
- package/dist/server.js +3 -5
- package/dist/server.js.map +1 -1
- package/dist/tools/createTask.d.ts +1 -11
- package/dist/tools/createTask.d.ts.map +1 -1
- package/dist/tools/editTask.d.ts +1 -11
- package/dist/tools/editTask.d.ts.map +1 -1
- package/dist/tools/index.d.ts +2 -22
- package/dist/tools/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/server.json +3 -3
- package/src/schemas/shapes.ts +8 -12
- package/src/server.ts +3 -5
- package/src/snippets/edit_task.js +4 -6
- package/src/tools/editTask.ts +1 -1
- package/test/integration/taskRecurrence.int.test.ts +1 -1
- package/test/unit/schemas.recurrence.test.ts +2 -24
package/dist/schemas/shapes.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
export declare const RepetitionRuleInput: z.
|
|
2
|
+
export declare const RepetitionRuleInput: z.ZodObject<{
|
|
3
3
|
frequency: z.ZodEnum<["daily", "weekly", "monthly", "yearly"]>;
|
|
4
4
|
interval: z.ZodDefault<z.ZodNumber>;
|
|
5
5
|
daysOfWeek: z.ZodOptional<z.ZodArray<z.ZodEnum<["sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"]>, "many">>;
|
|
@@ -14,16 +14,6 @@ export declare const RepetitionRuleInput: z.ZodEffects<z.ZodObject<{
|
|
|
14
14
|
method: "fixed" | "dueDate" | "start";
|
|
15
15
|
interval?: number | undefined;
|
|
16
16
|
daysOfWeek?: ("sunday" | "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday")[] | undefined;
|
|
17
|
-
}>, {
|
|
18
|
-
frequency: "daily" | "weekly" | "monthly" | "yearly";
|
|
19
|
-
interval: number;
|
|
20
|
-
method: "fixed" | "dueDate" | "start";
|
|
21
|
-
daysOfWeek?: ("sunday" | "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday")[] | undefined;
|
|
22
|
-
}, {
|
|
23
|
-
frequency: "daily" | "weekly" | "monthly" | "yearly";
|
|
24
|
-
method: "fixed" | "dueDate" | "start";
|
|
25
|
-
interval?: number | undefined;
|
|
26
|
-
daysOfWeek?: ("sunday" | "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday")[] | undefined;
|
|
27
17
|
}>;
|
|
28
18
|
export declare const RepetitionRuleDetail: z.ZodObject<{
|
|
29
19
|
frequency: z.ZodEnum<["daily", "weekly", "monthly", "yearly"]>;
|
|
@@ -170,7 +160,7 @@ export declare const CreateTaskInput: z.ZodEffects<z.ZodObject<{
|
|
|
170
160
|
projectId: z.ZodOptional<z.ZodString>;
|
|
171
161
|
parentTaskId: z.ZodOptional<z.ZodString>;
|
|
172
162
|
tagIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
173
|
-
repetitionRule: z.ZodOptional<z.
|
|
163
|
+
repetitionRule: z.ZodOptional<z.ZodObject<{
|
|
174
164
|
frequency: z.ZodEnum<["daily", "weekly", "monthly", "yearly"]>;
|
|
175
165
|
interval: z.ZodDefault<z.ZodNumber>;
|
|
176
166
|
daysOfWeek: z.ZodOptional<z.ZodArray<z.ZodEnum<["sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"]>, "many">>;
|
|
@@ -185,16 +175,6 @@ export declare const CreateTaskInput: z.ZodEffects<z.ZodObject<{
|
|
|
185
175
|
method: "fixed" | "dueDate" | "start";
|
|
186
176
|
interval?: number | undefined;
|
|
187
177
|
daysOfWeek?: ("sunday" | "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday")[] | undefined;
|
|
188
|
-
}>, {
|
|
189
|
-
frequency: "daily" | "weekly" | "monthly" | "yearly";
|
|
190
|
-
interval: number;
|
|
191
|
-
method: "fixed" | "dueDate" | "start";
|
|
192
|
-
daysOfWeek?: ("sunday" | "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday")[] | undefined;
|
|
193
|
-
}, {
|
|
194
|
-
frequency: "daily" | "weekly" | "monthly" | "yearly";
|
|
195
|
-
method: "fixed" | "dueDate" | "start";
|
|
196
|
-
interval?: number | undefined;
|
|
197
|
-
daysOfWeek?: ("sunday" | "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday")[] | undefined;
|
|
198
178
|
}>>;
|
|
199
179
|
}, "strip", z.ZodTypeAny, {
|
|
200
180
|
name: string;
|
|
@@ -275,7 +255,7 @@ export declare const EditTaskInput: z.ZodObject<{
|
|
|
275
255
|
dueDate: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
276
256
|
estimatedMinutes: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
277
257
|
tagIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
278
|
-
repetitionRule: z.ZodOptional<z.ZodNullable<z.
|
|
258
|
+
repetitionRule: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
279
259
|
frequency: z.ZodEnum<["daily", "weekly", "monthly", "yearly"]>;
|
|
280
260
|
interval: z.ZodDefault<z.ZodNumber>;
|
|
281
261
|
daysOfWeek: z.ZodOptional<z.ZodArray<z.ZodEnum<["sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"]>, "many">>;
|
|
@@ -290,16 +270,6 @@ export declare const EditTaskInput: z.ZodObject<{
|
|
|
290
270
|
method: "fixed" | "dueDate" | "start";
|
|
291
271
|
interval?: number | undefined;
|
|
292
272
|
daysOfWeek?: ("sunday" | "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday")[] | undefined;
|
|
293
|
-
}>, {
|
|
294
|
-
frequency: "daily" | "weekly" | "monthly" | "yearly";
|
|
295
|
-
interval: number;
|
|
296
|
-
method: "fixed" | "dueDate" | "start";
|
|
297
|
-
daysOfWeek?: ("sunday" | "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday")[] | undefined;
|
|
298
|
-
}, {
|
|
299
|
-
frequency: "daily" | "weekly" | "monthly" | "yearly";
|
|
300
|
-
method: "fixed" | "dueDate" | "start";
|
|
301
|
-
interval?: number | undefined;
|
|
302
|
-
daysOfWeek?: ("sunday" | "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday")[] | undefined;
|
|
303
273
|
}>>>;
|
|
304
274
|
}, "strip", z.ZodTypeAny, {
|
|
305
275
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shapes.d.ts","sourceRoot":"","sources":["../../src/schemas/shapes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiBxB,eAAO,MAAM,mBAAmB
|
|
1
|
+
{"version":3,"file":"shapes.d.ts","sourceRoot":"","sources":["../../src/schemas/shapes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiBxB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;EAK9B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;EAK/B,CAAC;AAIH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;EAStB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;EAK1B,CAAC;AAEH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBrB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBxB,CAAC;AAEL,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWxB,CAAC;AAIH,eAAO,MAAM,mBAAmB;;;;;;;;;EAG9B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW7B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW3B,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;EASvB,CAAC;AAEJ,eAAO,MAAM,gBAAgB;;;;;;;;;EAG3B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;EAE5B,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;EAEzB,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EAI7B,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;EAQzB,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAexB,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;EAG5B,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;EAG1B,CAAC;AAIH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;EAMxB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;EAQvB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;EAGzB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;EAQrB,CAAC;AAIL,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;EAMrB,CAAC;AAEH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;EAOpB,CAAC;AAIH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;EAK3B,CAAC"}
|
package/dist/schemas/shapes.js
CHANGED
|
@@ -4,14 +4,12 @@ import { IdSchema, ProjectType, ProjectStatus, TaskStatus, TagStatus, FolderStat
|
|
|
4
4
|
const RepetitionFrequency = z.enum(["daily", "weekly", "monthly", "yearly"]);
|
|
5
5
|
const RepetitionMethod = z.enum(["fixed", "dueDate", "start"]);
|
|
6
6
|
const DayOfWeek = z.enum(["sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"]);
|
|
7
|
-
export const RepetitionRuleInput = z
|
|
8
|
-
.object({
|
|
7
|
+
export const RepetitionRuleInput = z.object({
|
|
9
8
|
frequency: RepetitionFrequency,
|
|
10
9
|
interval: z.number().int().positive().default(1),
|
|
11
|
-
daysOfWeek: z.array(DayOfWeek).optional(),
|
|
10
|
+
daysOfWeek: z.array(DayOfWeek).optional().describe("Only valid when frequency is 'weekly'"),
|
|
12
11
|
method: RepetitionMethod,
|
|
13
|
-
})
|
|
14
|
-
.refine((d) => d.daysOfWeek === undefined || d.frequency === "weekly", { message: "daysOfWeek is only valid when frequency is 'weekly'" });
|
|
12
|
+
});
|
|
15
13
|
export const RepetitionRuleDetail = z.object({
|
|
16
14
|
frequency: RepetitionFrequency,
|
|
17
15
|
interval: z.number(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shapes.js","sourceRoot":"","sources":["../../src/schemas/shapes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,QAAQ,EACR,WAAW,EACX,aAAa,EACb,UAAU,EACV,SAAS,EACT,YAAY,EACZ,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,gFAAgF;AAEhF,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC7E,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;AAC/D,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;AAEzG,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC
|
|
1
|
+
{"version":3,"file":"shapes.js","sourceRoot":"","sources":["../../src/schemas/shapes.ts"],"names":[],"mappings":"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"}
|
package/dist/server.js
CHANGED
|
@@ -7,18 +7,16 @@ const server = new McpServer({
|
|
|
7
7
|
version: "0.1.0",
|
|
8
8
|
});
|
|
9
9
|
for (const tool of allTools) {
|
|
10
|
-
//
|
|
11
|
-
//
|
|
10
|
+
// Unwrap ZodEffects from .refine() to get the underlying ZodObject.
|
|
11
|
+
// The MCP SDK's zodToJsonSchema handles ZodObject correctly but not ZodEffects.
|
|
12
12
|
const baseSchema = tool.inputSchema instanceof z.ZodEffects
|
|
13
13
|
? tool.inputSchema._def.schema
|
|
14
14
|
: tool.inputSchema;
|
|
15
|
-
const inputShape = baseSchema.shape;
|
|
16
15
|
server.registerTool(tool.name, {
|
|
17
16
|
description: tool.description,
|
|
18
|
-
inputSchema:
|
|
17
|
+
inputSchema: baseSchema,
|
|
19
18
|
}, async (args) => {
|
|
20
19
|
try {
|
|
21
|
-
// Validate input (already parsed by MCP SDK, re-parse for our shape)
|
|
22
20
|
const input = tool.inputSchema.parse(args);
|
|
23
21
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
24
22
|
const result = await tool.handler(input);
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AAEH,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;IAC5B,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AAEH,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;IAC5B,oEAAoE;IACpE,gFAAgF;IAChF,MAAM,UAAU,GACd,IAAI,CAAC,WAAW,YAAY,CAAC,CAAC,UAAU;QACtC,CAAC,CAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAyB;QAClD,CAAC,CAAE,IAAI,CAAC,WAA8B,CAAC;IAE3C,MAAM,CAAC,YAAY,CACjB,IAAI,CAAC,IAAI,EACT;QACE,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,WAAW,EAAE,UAAU;KACxB,EACD,KAAK,EAAE,IAA6B,EAAE,EAAE;QACtC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3C,8DAA8D;YAC9D,MAAM,MAAM,GAAG,MAAO,IAAI,CAAC,OAA4C,CAAC,KAAK,CAAC,CAAC;YAC/E,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;qBACtC;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GACX,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACnD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,UAAU,OAAO,EAAE;qBAC1B;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC;AAED,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC"}
|
|
@@ -16,7 +16,7 @@ export declare const createTaskTool: {
|
|
|
16
16
|
projectId: z.ZodOptional<z.ZodString>;
|
|
17
17
|
parentTaskId: z.ZodOptional<z.ZodString>;
|
|
18
18
|
tagIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
19
|
-
repetitionRule: z.ZodOptional<z.
|
|
19
|
+
repetitionRule: z.ZodOptional<z.ZodObject<{
|
|
20
20
|
frequency: z.ZodEnum<["daily", "weekly", "monthly", "yearly"]>;
|
|
21
21
|
interval: z.ZodDefault<z.ZodNumber>;
|
|
22
22
|
daysOfWeek: z.ZodOptional<z.ZodArray<z.ZodEnum<["sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"]>, "many">>;
|
|
@@ -31,16 +31,6 @@ export declare const createTaskTool: {
|
|
|
31
31
|
method: "fixed" | "dueDate" | "start";
|
|
32
32
|
interval?: number | undefined;
|
|
33
33
|
daysOfWeek?: ("sunday" | "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday")[] | undefined;
|
|
34
|
-
}>, {
|
|
35
|
-
frequency: "daily" | "weekly" | "monthly" | "yearly";
|
|
36
|
-
interval: number;
|
|
37
|
-
method: "fixed" | "dueDate" | "start";
|
|
38
|
-
daysOfWeek?: ("sunday" | "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday")[] | undefined;
|
|
39
|
-
}, {
|
|
40
|
-
frequency: "daily" | "weekly" | "monthly" | "yearly";
|
|
41
|
-
method: "fixed" | "dueDate" | "start";
|
|
42
|
-
interval?: number | undefined;
|
|
43
|
-
daysOfWeek?: ("sunday" | "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday")[] | undefined;
|
|
44
34
|
}>>;
|
|
45
35
|
}, "strip", z.ZodTypeAny, {
|
|
46
36
|
name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createTask.d.ts","sourceRoot":"","sources":["../../src/tools/createTask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAElE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAElE,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC,CAGrC;AAED,eAAO,MAAM,cAAc
|
|
1
|
+
{"version":3,"file":"createTask.d.ts","sourceRoot":"","sources":["../../src/tools/createTask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAElE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAElE,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC,CAGrC;AAED,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMjB,CAAC"}
|
package/dist/tools/editTask.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ export declare const editTaskTool: {
|
|
|
15
15
|
dueDate: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
16
16
|
estimatedMinutes: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
17
17
|
tagIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
18
|
-
repetitionRule: z.ZodOptional<z.ZodNullable<z.
|
|
18
|
+
repetitionRule: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
19
19
|
frequency: z.ZodEnum<["daily", "weekly", "monthly", "yearly"]>;
|
|
20
20
|
interval: z.ZodDefault<z.ZodNumber>;
|
|
21
21
|
daysOfWeek: z.ZodOptional<z.ZodArray<z.ZodEnum<["sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"]>, "many">>;
|
|
@@ -30,16 +30,6 @@ export declare const editTaskTool: {
|
|
|
30
30
|
method: "fixed" | "dueDate" | "start";
|
|
31
31
|
interval?: number | undefined;
|
|
32
32
|
daysOfWeek?: ("sunday" | "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday")[] | undefined;
|
|
33
|
-
}>, {
|
|
34
|
-
frequency: "daily" | "weekly" | "monthly" | "yearly";
|
|
35
|
-
interval: number;
|
|
36
|
-
method: "fixed" | "dueDate" | "start";
|
|
37
|
-
daysOfWeek?: ("sunday" | "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday")[] | undefined;
|
|
38
|
-
}, {
|
|
39
|
-
frequency: "daily" | "weekly" | "monthly" | "yearly";
|
|
40
|
-
method: "fixed" | "dueDate" | "start";
|
|
41
|
-
interval?: number | undefined;
|
|
42
|
-
daysOfWeek?: ("sunday" | "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday")[] | undefined;
|
|
43
33
|
}>>>;
|
|
44
34
|
}, "strip", z.ZodTypeAny, {
|
|
45
35
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editTask.d.ts","sourceRoot":"","sources":["../../src/tools/editTask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEhE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE9D,wBAAsB,eAAe,CACnC,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC,CAGrC;AAED,eAAO,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"editTask.d.ts","sourceRoot":"","sources":["../../src/tools/editTask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEhE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE9D,wBAAsB,eAAe,CACnC,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC,CAGrC;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMf,CAAC"}
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -259,7 +259,7 @@ export declare const allTools: readonly [{
|
|
|
259
259
|
projectId: import("zod").ZodOptional<import("zod").ZodString>;
|
|
260
260
|
parentTaskId: import("zod").ZodOptional<import("zod").ZodString>;
|
|
261
261
|
tagIds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
|
|
262
|
-
repetitionRule: import("zod").ZodOptional<import("zod").
|
|
262
|
+
repetitionRule: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
263
263
|
frequency: import("zod").ZodEnum<["daily", "weekly", "monthly", "yearly"]>;
|
|
264
264
|
interval: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
265
265
|
daysOfWeek: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodEnum<["sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"]>, "many">>;
|
|
@@ -274,16 +274,6 @@ export declare const allTools: readonly [{
|
|
|
274
274
|
method: "fixed" | "dueDate" | "start";
|
|
275
275
|
interval?: number | undefined;
|
|
276
276
|
daysOfWeek?: ("sunday" | "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday")[] | undefined;
|
|
277
|
-
}>, {
|
|
278
|
-
frequency: "daily" | "weekly" | "monthly" | "yearly";
|
|
279
|
-
interval: number;
|
|
280
|
-
method: "fixed" | "dueDate" | "start";
|
|
281
|
-
daysOfWeek?: ("sunday" | "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday")[] | undefined;
|
|
282
|
-
}, {
|
|
283
|
-
frequency: "daily" | "weekly" | "monthly" | "yearly";
|
|
284
|
-
method: "fixed" | "dueDate" | "start";
|
|
285
|
-
interval?: number | undefined;
|
|
286
|
-
daysOfWeek?: ("sunday" | "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday")[] | undefined;
|
|
287
277
|
}>>;
|
|
288
278
|
}, "strip", import("zod").ZodTypeAny, {
|
|
289
279
|
name: string;
|
|
@@ -368,7 +358,7 @@ export declare const allTools: readonly [{
|
|
|
368
358
|
dueDate: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
369
359
|
estimatedMinutes: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
|
|
370
360
|
tagIds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
|
|
371
|
-
repetitionRule: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").
|
|
361
|
+
repetitionRule: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodObject<{
|
|
372
362
|
frequency: import("zod").ZodEnum<["daily", "weekly", "monthly", "yearly"]>;
|
|
373
363
|
interval: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
374
364
|
daysOfWeek: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodEnum<["sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"]>, "many">>;
|
|
@@ -383,16 +373,6 @@ export declare const allTools: readonly [{
|
|
|
383
373
|
method: "fixed" | "dueDate" | "start";
|
|
384
374
|
interval?: number | undefined;
|
|
385
375
|
daysOfWeek?: ("sunday" | "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday")[] | undefined;
|
|
386
|
-
}>, {
|
|
387
|
-
frequency: "daily" | "weekly" | "monthly" | "yearly";
|
|
388
|
-
interval: number;
|
|
389
|
-
method: "fixed" | "dueDate" | "start";
|
|
390
|
-
daysOfWeek?: ("sunday" | "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday")[] | undefined;
|
|
391
|
-
}, {
|
|
392
|
-
frequency: "daily" | "weekly" | "monthly" | "yearly";
|
|
393
|
-
method: "fixed" | "dueDate" | "start";
|
|
394
|
-
interval?: number | undefined;
|
|
395
|
-
daysOfWeek?: ("sunday" | "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday")[] | undefined;
|
|
396
376
|
}>>>;
|
|
397
377
|
}, "strip", import("zod").ZodTypeAny, {
|
|
398
378
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AA8BnD,eAAO,MAAM,QAAQ
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AA8BnD,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BX,CAAC"}
|
package/package.json
CHANGED
package/server.json
CHANGED
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
|
|
3
3
|
"name": "io.github.steveardis/omnifocus",
|
|
4
4
|
"title": "OmniFocus",
|
|
5
|
-
"description": "MCP server for OmniFocus
|
|
5
|
+
"description": "Full CRUD MCP server for OmniFocus via Omni Automation — tasks, projects, folders, tags, recurrence.",
|
|
6
6
|
"repository": {
|
|
7
7
|
"url": "https://github.com/steveardis/omnifocus-mcp",
|
|
8
8
|
"source": "github"
|
|
9
9
|
},
|
|
10
|
-
"version": "0.1.
|
|
10
|
+
"version": "0.1.1",
|
|
11
11
|
"packages": [
|
|
12
12
|
{
|
|
13
13
|
"registryType": "npm",
|
|
14
14
|
"identifier": "@scardis/omnifocus-mcp",
|
|
15
|
-
"version": "0.1.
|
|
15
|
+
"version": "0.1.1",
|
|
16
16
|
"transport": {
|
|
17
17
|
"type": "stdio"
|
|
18
18
|
}
|
package/src/schemas/shapes.ts
CHANGED
|
@@ -15,17 +15,12 @@ const RepetitionFrequency = z.enum(["daily", "weekly", "monthly", "yearly"]);
|
|
|
15
15
|
const RepetitionMethod = z.enum(["fixed", "dueDate", "start"]);
|
|
16
16
|
const DayOfWeek = z.enum(["sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"]);
|
|
17
17
|
|
|
18
|
-
export const RepetitionRuleInput = z
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
})
|
|
25
|
-
.refine(
|
|
26
|
-
(d) => d.daysOfWeek === undefined || d.frequency === "weekly",
|
|
27
|
-
{ message: "daysOfWeek is only valid when frequency is 'weekly'" }
|
|
28
|
-
);
|
|
18
|
+
export const RepetitionRuleInput = z.object({
|
|
19
|
+
frequency: RepetitionFrequency,
|
|
20
|
+
interval: z.number().int().positive().default(1),
|
|
21
|
+
daysOfWeek: z.array(DayOfWeek).optional().describe("Only valid when frequency is 'weekly'"),
|
|
22
|
+
method: RepetitionMethod,
|
|
23
|
+
});
|
|
29
24
|
|
|
30
25
|
export const RepetitionRuleDetail = z.object({
|
|
31
26
|
frequency: RepetitionFrequency,
|
|
@@ -100,7 +95,8 @@ export const EditTaskInput = z.object({
|
|
|
100
95
|
dueDate: z.string().datetime().nullable().optional(),
|
|
101
96
|
estimatedMinutes: z.number().int().positive().nullable().optional(),
|
|
102
97
|
tagIds: z.array(IdSchema).optional(),
|
|
103
|
-
repetitionRule: RepetitionRuleInput.
|
|
98
|
+
repetitionRule: RepetitionRuleInput.optional(),
|
|
99
|
+
clearRepetitionRule: z.literal(true).optional().describe("Set to true to clear the task's repetition rule"),
|
|
104
100
|
});
|
|
105
101
|
|
|
106
102
|
// ─── Project ─────────────────────────────────────────────────────────────────
|
package/src/server.ts
CHANGED
|
@@ -9,23 +9,21 @@ const server = new McpServer({
|
|
|
9
9
|
});
|
|
10
10
|
|
|
11
11
|
for (const tool of allTools) {
|
|
12
|
-
//
|
|
13
|
-
//
|
|
12
|
+
// Unwrap ZodEffects from .refine() to get the underlying ZodObject.
|
|
13
|
+
// The MCP SDK's zodToJsonSchema handles ZodObject correctly but not ZodEffects.
|
|
14
14
|
const baseSchema =
|
|
15
15
|
tool.inputSchema instanceof z.ZodEffects
|
|
16
16
|
? (tool.inputSchema._def.schema as z.AnyZodObject)
|
|
17
17
|
: (tool.inputSchema as z.AnyZodObject);
|
|
18
|
-
const inputShape = baseSchema.shape;
|
|
19
18
|
|
|
20
19
|
server.registerTool(
|
|
21
20
|
tool.name,
|
|
22
21
|
{
|
|
23
22
|
description: tool.description,
|
|
24
|
-
inputSchema:
|
|
23
|
+
inputSchema: baseSchema,
|
|
25
24
|
},
|
|
26
25
|
async (args: Record<string, unknown>) => {
|
|
27
26
|
try {
|
|
28
|
-
// Validate input (already parsed by MCP SDK, re-parse for our shape)
|
|
29
27
|
const input = tool.inputSchema.parse(args);
|
|
30
28
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
31
29
|
const result = await (tool.handler as (input: any) => Promise<unknown>)(input);
|
|
@@ -134,12 +134,10 @@
|
|
|
134
134
|
});
|
|
135
135
|
}
|
|
136
136
|
|
|
137
|
-
if (
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
task.repetitionRule = new Task.RepetitionRule(buildRrule(args.repetitionRule), buildMethod(args.repetitionRule.method));
|
|
142
|
-
}
|
|
137
|
+
if (args.clearRepetitionRule === true) {
|
|
138
|
+
task.repetitionRule = null;
|
|
139
|
+
} else if (args.repetitionRule) {
|
|
140
|
+
task.repetitionRule = new Task.RepetitionRule(buildRrule(args.repetitionRule), buildMethod(args.repetitionRule.method));
|
|
143
141
|
}
|
|
144
142
|
|
|
145
143
|
return JSON.stringify({ ok: true, data: taskDetail(task) });
|
package/src/tools/editTask.ts
CHANGED
|
@@ -14,7 +14,7 @@ export async function editTaskHandler(
|
|
|
14
14
|
export const editTaskTool = {
|
|
15
15
|
name: "edit_task",
|
|
16
16
|
description:
|
|
17
|
-
"Edit an existing task by its stable ID. Only fields included in the call are changed; omitted fields are left unchanged. When tagIds is provided it replaces the full tag set. Pass null for deferDate, dueDate, or estimatedMinutes to clear those fields.",
|
|
17
|
+
"Edit an existing task by its stable ID. Only fields included in the call are changed; omitted fields are left unchanged. When tagIds is provided it replaces the full tag set. Pass null for deferDate, plannedDate, dueDate, or estimatedMinutes to clear those fields. To set a repetition rule, pass repetitionRule with frequency/interval/method. To clear repetition, pass clearRepetitionRule: true.",
|
|
18
18
|
inputSchema: EditTaskInput,
|
|
19
19
|
handler: editTaskHandler,
|
|
20
20
|
} as const;
|
|
@@ -83,7 +83,7 @@ describe("task recurrence (integration)", () => {
|
|
|
83
83
|
|
|
84
84
|
const cleared = await runSnippet("edit_task", {
|
|
85
85
|
id: task.id,
|
|
86
|
-
|
|
86
|
+
clearRepetitionRule: true,
|
|
87
87
|
});
|
|
88
88
|
const updated = TaskDetail.parse(cleared);
|
|
89
89
|
expect(updated.repetitionRule).toBeNull();
|
|
@@ -36,28 +36,6 @@ describe("RepetitionRuleInput schema", () => {
|
|
|
36
36
|
expect(result.interval).toBe(1);
|
|
37
37
|
});
|
|
38
38
|
|
|
39
|
-
it("rejects daysOfWeek on non-weekly frequency", () => {
|
|
40
|
-
expect(() =>
|
|
41
|
-
RepetitionRuleInput.parse({
|
|
42
|
-
frequency: "daily",
|
|
43
|
-
interval: 1,
|
|
44
|
-
daysOfWeek: ["monday"],
|
|
45
|
-
method: "fixed",
|
|
46
|
-
})
|
|
47
|
-
).toThrow();
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
it("rejects daysOfWeek on monthly frequency", () => {
|
|
51
|
-
expect(() =>
|
|
52
|
-
RepetitionRuleInput.parse({
|
|
53
|
-
frequency: "monthly",
|
|
54
|
-
interval: 1,
|
|
55
|
-
daysOfWeek: ["tuesday"],
|
|
56
|
-
method: "fixed",
|
|
57
|
-
})
|
|
58
|
-
).toThrow();
|
|
59
|
-
});
|
|
60
|
-
|
|
61
39
|
it("rejects interval of zero", () => {
|
|
62
40
|
expect(() =>
|
|
63
41
|
RepetitionRuleInput.parse({ frequency: "daily", interval: 0, method: "fixed" })
|
|
@@ -112,9 +90,9 @@ describe("EditTaskInput with repetitionRule", () => {
|
|
|
112
90
|
).not.toThrow();
|
|
113
91
|
});
|
|
114
92
|
|
|
115
|
-
it("accepts edit with
|
|
93
|
+
it("accepts edit with clearRepetitionRule true (clear rule)", () => {
|
|
116
94
|
expect(() =>
|
|
117
|
-
EditTaskInput.parse({ id: "abc",
|
|
95
|
+
EditTaskInput.parse({ id: "abc", clearRepetitionRule: true })
|
|
118
96
|
).not.toThrow();
|
|
119
97
|
});
|
|
120
98
|
});
|