@ofocus/sdk 0.1.0 → 0.3.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/api-report/ofocus-sdk.api.md +496 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/commands/archive.d.ts +48 -0
- package/dist/commands/archive.d.ts.map +1 -0
- package/dist/commands/archive.js +132 -0
- package/dist/commands/archive.js.map +1 -0
- package/dist/commands/attachments.d.ts +67 -0
- package/dist/commands/attachments.d.ts.map +1 -0
- package/dist/commands/attachments.js +160 -0
- package/dist/commands/attachments.js.map +1 -0
- package/dist/commands/defer.d.ts +37 -0
- package/dist/commands/defer.d.ts.map +1 -0
- package/dist/commands/defer.js +198 -0
- package/dist/commands/defer.js.map +1 -0
- package/dist/commands/deferred.d.ts +18 -0
- package/dist/commands/deferred.d.ts.map +1 -0
- package/dist/commands/deferred.js +146 -0
- package/dist/commands/deferred.js.map +1 -0
- package/dist/commands/duplicate.d.ts +15 -0
- package/dist/commands/duplicate.d.ts.map +1 -0
- package/dist/commands/duplicate.js +49 -0
- package/dist/commands/duplicate.js.map +1 -0
- package/dist/commands/focus.d.ts +26 -0
- package/dist/commands/focus.d.ts.map +1 -0
- package/dist/commands/focus.js +182 -0
- package/dist/commands/focus.js.map +1 -0
- package/dist/commands/folders-crud.d.ts +18 -0
- package/dist/commands/folders-crud.d.ts.map +1 -0
- package/dist/commands/folders-crud.js +117 -0
- package/dist/commands/folders-crud.js.map +1 -0
- package/dist/commands/forecast.d.ts +20 -0
- package/dist/commands/forecast.d.ts.map +1 -0
- package/dist/commands/forecast.js +145 -0
- package/dist/commands/forecast.js.map +1 -0
- package/dist/commands/open.d.ts +17 -0
- package/dist/commands/open.d.ts.map +1 -0
- package/dist/commands/open.js +88 -0
- package/dist/commands/open.js.map +1 -0
- package/dist/commands/projects-crud.d.ts +30 -0
- package/dist/commands/projects-crud.d.ts.map +1 -0
- package/dist/commands/projects-crud.js +209 -0
- package/dist/commands/projects-crud.js.map +1 -0
- package/dist/commands/quick.d.ts +41 -0
- package/dist/commands/quick.d.ts.map +1 -0
- package/dist/commands/quick.js +257 -0
- package/dist/commands/quick.js.map +1 -0
- package/dist/commands/review.d.ts +18 -0
- package/dist/commands/review.d.ts.map +1 -1
- package/dist/commands/review.js +87 -1
- package/dist/commands/review.js.map +1 -1
- package/dist/commands/stats.d.ts +48 -0
- package/dist/commands/stats.d.ts.map +1 -0
- package/dist/commands/stats.js +212 -0
- package/dist/commands/stats.js.map +1 -0
- package/dist/commands/sync.d.ts +32 -0
- package/dist/commands/sync.d.ts.map +1 -0
- package/dist/commands/sync.js +63 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/commands/taskpaper.d.ts +46 -0
- package/dist/commands/taskpaper.d.ts.map +1 -0
- package/dist/commands/taskpaper.js +359 -0
- package/dist/commands/taskpaper.js.map +1 -0
- package/dist/commands/templates.d.ts +134 -0
- package/dist/commands/templates.d.ts.map +1 -0
- package/dist/commands/templates.js +252 -0
- package/dist/commands/templates.js.map +1 -0
- package/dist/commands/url.d.ts +16 -0
- package/dist/commands/url.d.ts.map +1 -0
- package/dist/commands/url.js +96 -0
- package/dist/commands/url.js.map +1 -0
- package/dist/index.d.ts +38 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +30 -3
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +27 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/validation.d.ts +1 -1
- package/dist/validation.d.ts.map +1 -1
- package/dist/validation.js +3 -1
- package/dist/validation.js.map +1 -1
- package/package.json +12 -12
- package/dist/ofocus-sdk.d.ts +0 -608
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
import * as fs from "node:fs";
|
|
2
|
+
import * as path from "node:path";
|
|
3
|
+
import * as os from "node:os";
|
|
4
|
+
import { success, failureMessage } from "../result.js";
|
|
5
|
+
import { queryTasks } from "./tasks.js";
|
|
6
|
+
import { queryProjects } from "./projects.js";
|
|
7
|
+
import { createProject } from "./create-project.js";
|
|
8
|
+
import { escapeAppleScript } from "../escape.js";
|
|
9
|
+
import { runAppleScript, omniFocusScriptWithHelpers } from "../applescript.js";
|
|
10
|
+
/**
|
|
11
|
+
* Get the templates directory path.
|
|
12
|
+
*/
|
|
13
|
+
function getTemplatesDir() {
|
|
14
|
+
return path.join(os.homedir(), ".config", "ofocus", "templates");
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Ensure the templates directory exists.
|
|
18
|
+
*/
|
|
19
|
+
function ensureTemplatesDir() {
|
|
20
|
+
const dir = getTemplatesDir();
|
|
21
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Get the path for a template file.
|
|
25
|
+
*/
|
|
26
|
+
function getTemplatePath(name) {
|
|
27
|
+
const sanitized = name.replace(/[^a-zA-Z0-9_-]/g, "_");
|
|
28
|
+
return path.join(getTemplatesDir(), `${sanitized}.json`);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Calculate day offset from a reference date.
|
|
32
|
+
*/
|
|
33
|
+
function calculateDayOffset(dateStr, referenceDate) {
|
|
34
|
+
if (!dateStr)
|
|
35
|
+
return null;
|
|
36
|
+
const date = new Date(dateStr);
|
|
37
|
+
if (isNaN(date.getTime()))
|
|
38
|
+
return null;
|
|
39
|
+
const diffMs = date.getTime() - referenceDate.getTime();
|
|
40
|
+
const diffDays = Math.round(diffMs / (1000 * 60 * 60 * 24));
|
|
41
|
+
return diffDays;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Calculate a date from an offset.
|
|
45
|
+
*/
|
|
46
|
+
function calculateDateFromOffset(offsetDays, baseDate) {
|
|
47
|
+
if (offsetDays === null)
|
|
48
|
+
return null;
|
|
49
|
+
const date = new Date(baseDate);
|
|
50
|
+
date.setDate(date.getDate() + offsetDays);
|
|
51
|
+
return date.toISOString().split("T")[0] ?? null;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Convert an OmniFocus task to a template task.
|
|
55
|
+
*/
|
|
56
|
+
function taskToTemplateTask(task, referenceDate) {
|
|
57
|
+
return {
|
|
58
|
+
title: task.name,
|
|
59
|
+
note: task.note,
|
|
60
|
+
flagged: task.flagged,
|
|
61
|
+
estimatedMinutes: task.estimatedMinutes,
|
|
62
|
+
tags: task.tags,
|
|
63
|
+
deferOffsetDays: calculateDayOffset(task.deferDate, referenceDate),
|
|
64
|
+
dueOffsetDays: calculateDayOffset(task.dueDate, referenceDate),
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Save a project as a template.
|
|
69
|
+
*/
|
|
70
|
+
export async function saveTemplate(options) {
|
|
71
|
+
const { name, sourceProject, description } = options;
|
|
72
|
+
// Find the source project
|
|
73
|
+
const projectsResult = await queryProjects({});
|
|
74
|
+
if (!projectsResult.success) {
|
|
75
|
+
return failureMessage(projectsResult.error?.message ?? "Failed to query projects");
|
|
76
|
+
}
|
|
77
|
+
const projects = projectsResult.data ?? [];
|
|
78
|
+
const project = projects.find((p) => p.id === sourceProject || p.name === sourceProject);
|
|
79
|
+
if (!project) {
|
|
80
|
+
return failureMessage(`Project not found: ${sourceProject}`);
|
|
81
|
+
}
|
|
82
|
+
// Get all tasks for this project
|
|
83
|
+
const tasksResult = await queryTasks({ project: project.name });
|
|
84
|
+
if (!tasksResult.success) {
|
|
85
|
+
return failureMessage(tasksResult.error?.message ?? "Failed to query tasks");
|
|
86
|
+
}
|
|
87
|
+
const allTasks = tasksResult.data ?? [];
|
|
88
|
+
const referenceDate = new Date();
|
|
89
|
+
// Convert tasks to template format (flat structure for simplicity)
|
|
90
|
+
const templateTasks = allTasks.map((t) => taskToTemplateTask(t, referenceDate));
|
|
91
|
+
// Create the template
|
|
92
|
+
const template = {
|
|
93
|
+
name,
|
|
94
|
+
description: description ?? null,
|
|
95
|
+
sequential: project.sequential,
|
|
96
|
+
note: project.note,
|
|
97
|
+
defaultFolder: project.folderName,
|
|
98
|
+
tasks: templateTasks,
|
|
99
|
+
createdAt: new Date().toISOString(),
|
|
100
|
+
sourceProject: project.name,
|
|
101
|
+
};
|
|
102
|
+
// Save to file
|
|
103
|
+
ensureTemplatesDir();
|
|
104
|
+
const templatePath = getTemplatePath(name);
|
|
105
|
+
fs.writeFileSync(templatePath, JSON.stringify(template, null, 2));
|
|
106
|
+
return success({
|
|
107
|
+
name,
|
|
108
|
+
taskCount: templateTasks.length,
|
|
109
|
+
path: templatePath,
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* List all available templates.
|
|
114
|
+
*/
|
|
115
|
+
export function listTemplates() {
|
|
116
|
+
ensureTemplatesDir();
|
|
117
|
+
const dir = getTemplatesDir();
|
|
118
|
+
const files = fs.readdirSync(dir).filter((f) => f.endsWith(".json"));
|
|
119
|
+
const templates = [];
|
|
120
|
+
for (const file of files) {
|
|
121
|
+
const filePath = path.join(dir, file);
|
|
122
|
+
const content = fs.readFileSync(filePath, "utf-8");
|
|
123
|
+
const template = JSON.parse(content);
|
|
124
|
+
templates.push({
|
|
125
|
+
name: template.name,
|
|
126
|
+
description: template.description,
|
|
127
|
+
taskCount: template.tasks.length,
|
|
128
|
+
createdAt: template.createdAt,
|
|
129
|
+
sourceProject: template.sourceProject,
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
return success({ templates });
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Get a template by name.
|
|
136
|
+
*/
|
|
137
|
+
export function getTemplate(name) {
|
|
138
|
+
ensureTemplatesDir();
|
|
139
|
+
const templatePath = getTemplatePath(name);
|
|
140
|
+
if (!fs.existsSync(templatePath)) {
|
|
141
|
+
return failureMessage(`Template not found: ${name}`);
|
|
142
|
+
}
|
|
143
|
+
const content = fs.readFileSync(templatePath, "utf-8");
|
|
144
|
+
const template = JSON.parse(content);
|
|
145
|
+
return success(template);
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Create a task directly in a project via AppleScript.
|
|
149
|
+
*/
|
|
150
|
+
async function createTaskInProject(projectName, task, baseDate) {
|
|
151
|
+
const dueDate = calculateDateFromOffset(task.dueOffsetDays, baseDate);
|
|
152
|
+
const deferDate = calculateDateFromOffset(task.deferOffsetDays, baseDate);
|
|
153
|
+
const properties = [`name:"${escapeAppleScript(task.title)}"`];
|
|
154
|
+
if (task.note) {
|
|
155
|
+
properties.push(`note:"${escapeAppleScript(task.note)}"`);
|
|
156
|
+
}
|
|
157
|
+
if (task.flagged) {
|
|
158
|
+
properties.push("flagged:true");
|
|
159
|
+
}
|
|
160
|
+
if (dueDate) {
|
|
161
|
+
properties.push(`due date:date "${dueDate}"`);
|
|
162
|
+
}
|
|
163
|
+
if (deferDate) {
|
|
164
|
+
properties.push(`defer date:date "${deferDate}"`);
|
|
165
|
+
}
|
|
166
|
+
if (task.estimatedMinutes !== null) {
|
|
167
|
+
properties.push(`estimated minutes:${String(task.estimatedMinutes)}`);
|
|
168
|
+
}
|
|
169
|
+
let tagScript = "";
|
|
170
|
+
if (task.tags.length > 0) {
|
|
171
|
+
for (const tagName of task.tags) {
|
|
172
|
+
tagScript += `
|
|
173
|
+
try
|
|
174
|
+
set theTag to first flattened tag whose name is "${escapeAppleScript(tagName)}"
|
|
175
|
+
add theTag to tags of newTask
|
|
176
|
+
end try
|
|
177
|
+
`;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
const script = `
|
|
181
|
+
set proj to first flattened project whose name is "${escapeAppleScript(projectName)}"
|
|
182
|
+
set newTask to make new task at end of tasks of proj with properties {${properties.join(", ")}}
|
|
183
|
+
${tagScript}
|
|
184
|
+
return "ok"
|
|
185
|
+
`;
|
|
186
|
+
const result = await runAppleScript(omniFocusScriptWithHelpers(script));
|
|
187
|
+
return result.success;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Create a new project from a template.
|
|
191
|
+
*/
|
|
192
|
+
export async function createFromTemplate(options) {
|
|
193
|
+
const { templateName, projectName, folder, baseDate } = options;
|
|
194
|
+
// Load the template
|
|
195
|
+
const templateResult = getTemplate(templateName);
|
|
196
|
+
if (!templateResult.success) {
|
|
197
|
+
return failureMessage(templateResult.error?.message ?? "Failed to load template");
|
|
198
|
+
}
|
|
199
|
+
const template = templateResult.data;
|
|
200
|
+
if (!template) {
|
|
201
|
+
return failureMessage("Template data is empty");
|
|
202
|
+
}
|
|
203
|
+
const newProjectName = projectName ?? template.name;
|
|
204
|
+
const targetFolder = folder ?? template.defaultFolder ?? undefined;
|
|
205
|
+
// Validate and parse baseDate
|
|
206
|
+
const baseDateObj = baseDate ? new Date(baseDate) : new Date();
|
|
207
|
+
if (baseDate && Number.isNaN(baseDateObj.getTime())) {
|
|
208
|
+
return failureMessage(`Invalid base date: ${baseDate}`);
|
|
209
|
+
}
|
|
210
|
+
// Create the project
|
|
211
|
+
const projectResult = await createProject(newProjectName, {
|
|
212
|
+
folderName: targetFolder,
|
|
213
|
+
sequential: template.sequential,
|
|
214
|
+
note: template.note ?? undefined,
|
|
215
|
+
});
|
|
216
|
+
if (!projectResult.success) {
|
|
217
|
+
return failureMessage(projectResult.error?.message ?? "Failed to create project");
|
|
218
|
+
}
|
|
219
|
+
const createdProject = projectResult.data;
|
|
220
|
+
if (!createdProject) {
|
|
221
|
+
return failureMessage("Created project data is empty");
|
|
222
|
+
}
|
|
223
|
+
// Create tasks from template
|
|
224
|
+
let tasksCreated = 0;
|
|
225
|
+
for (const templateTask of template.tasks) {
|
|
226
|
+
const success = await createTaskInProject(newProjectName, templateTask, baseDateObj);
|
|
227
|
+
if (success) {
|
|
228
|
+
tasksCreated++;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
return success({
|
|
232
|
+
projectName: newProjectName,
|
|
233
|
+
tasksCreated,
|
|
234
|
+
projectId: createdProject.id,
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Delete a template.
|
|
239
|
+
*/
|
|
240
|
+
export function deleteTemplate(name) {
|
|
241
|
+
ensureTemplatesDir();
|
|
242
|
+
const templatePath = getTemplatePath(name);
|
|
243
|
+
if (!fs.existsSync(templatePath)) {
|
|
244
|
+
return failureMessage(`Template not found: ${name}`);
|
|
245
|
+
}
|
|
246
|
+
fs.unlinkSync(templatePath);
|
|
247
|
+
return success({
|
|
248
|
+
name,
|
|
249
|
+
deleted: true,
|
|
250
|
+
});
|
|
251
|
+
}
|
|
252
|
+
//# sourceMappingURL=templates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/commands/templates.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { CliOutput } from "../types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Result from URL generation.
|
|
4
|
+
*/
|
|
5
|
+
export interface UrlResult {
|
|
6
|
+
id: string;
|
|
7
|
+
type: "task" | "project" | "folder" | "tag";
|
|
8
|
+
url: string;
|
|
9
|
+
name: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Generate an OmniFocus URL scheme deep link for a task, project, folder, or tag.
|
|
13
|
+
* Returns the omnifocus:/// URL that can be used to open the item in OmniFocus.
|
|
14
|
+
*/
|
|
15
|
+
export declare function generateUrl(id: string): Promise<CliOutput<UrlResult>>;
|
|
16
|
+
//# sourceMappingURL=url.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../src/commands/url.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAK7C;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,KAAK,CAAC;IAC5C,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAsBD;;;GAGG;AACH,wBAAsB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CA+E3E"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { success, failure } from "../result.js";
|
|
2
|
+
import { ErrorCode, createError } from "../errors.js";
|
|
3
|
+
import { runAppleScript, omniFocusScriptWithHelpers } from "../applescript.js";
|
|
4
|
+
/**
|
|
5
|
+
* Validate an ID for URL operations (can be any OmniFocus item type).
|
|
6
|
+
*/
|
|
7
|
+
function validateUrlId(id) {
|
|
8
|
+
if (!id || id.trim() === "") {
|
|
9
|
+
return { code: "INVALID_ID_FORMAT", message: "ID cannot be empty" };
|
|
10
|
+
}
|
|
11
|
+
// IDs should be alphanumeric with possible dashes/underscores
|
|
12
|
+
const idPattern = /^[a-zA-Z0-9_-]+$/;
|
|
13
|
+
if (!idPattern.test(id)) {
|
|
14
|
+
return {
|
|
15
|
+
code: "INVALID_ID_FORMAT",
|
|
16
|
+
message: `Invalid ID format: ${id}`,
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Generate an OmniFocus URL scheme deep link for a task, project, folder, or tag.
|
|
23
|
+
* Returns the omnifocus:/// URL that can be used to open the item in OmniFocus.
|
|
24
|
+
*/
|
|
25
|
+
export async function generateUrl(id) {
|
|
26
|
+
// Validate ID
|
|
27
|
+
const error = validateUrlId(id);
|
|
28
|
+
if (error) {
|
|
29
|
+
return failure(createError(ErrorCode.INVALID_ID_FORMAT, error.message));
|
|
30
|
+
}
|
|
31
|
+
const script = `
|
|
32
|
+
set itemId to "${id}"
|
|
33
|
+
set itemType to ""
|
|
34
|
+
set itemName to ""
|
|
35
|
+
set itemUrl to ""
|
|
36
|
+
|
|
37
|
+
-- Try task first
|
|
38
|
+
try
|
|
39
|
+
set theItem to first flattened task whose id is itemId
|
|
40
|
+
set itemType to "task"
|
|
41
|
+
set itemName to name of theItem
|
|
42
|
+
set itemUrl to "omnifocus:///task/" & itemId
|
|
43
|
+
end try
|
|
44
|
+
|
|
45
|
+
-- Try project
|
|
46
|
+
if itemType is "" then
|
|
47
|
+
try
|
|
48
|
+
set theItem to first flattened project whose id is itemId
|
|
49
|
+
set itemType to "project"
|
|
50
|
+
set itemName to name of theItem
|
|
51
|
+
set itemUrl to "omnifocus:///project/" & itemId
|
|
52
|
+
end try
|
|
53
|
+
end if
|
|
54
|
+
|
|
55
|
+
-- Try folder
|
|
56
|
+
if itemType is "" then
|
|
57
|
+
try
|
|
58
|
+
set theItem to first flattened folder whose id is itemId
|
|
59
|
+
set itemType to "folder"
|
|
60
|
+
set itemName to name of theItem
|
|
61
|
+
set itemUrl to "omnifocus:///folder/" & itemId
|
|
62
|
+
end try
|
|
63
|
+
end if
|
|
64
|
+
|
|
65
|
+
-- Try tag
|
|
66
|
+
if itemType is "" then
|
|
67
|
+
try
|
|
68
|
+
set theItem to first flattened tag whose id is itemId
|
|
69
|
+
set itemType to "tag"
|
|
70
|
+
set itemName to name of theItem
|
|
71
|
+
set itemUrl to "omnifocus:///tag/" & itemId
|
|
72
|
+
end try
|
|
73
|
+
end if
|
|
74
|
+
|
|
75
|
+
if itemType is "" then
|
|
76
|
+
error "Item not found with ID: " & itemId
|
|
77
|
+
end if
|
|
78
|
+
|
|
79
|
+
return "{" & ¬
|
|
80
|
+
"\\"id\\": \\"" & itemId & "\\"," & ¬
|
|
81
|
+
"\\"type\\": \\"" & itemType & "\\"," & ¬
|
|
82
|
+
"\\"url\\": \\"" & itemUrl & "\\"," & ¬
|
|
83
|
+
"\\"name\\": \\"" & (my escapeJson(itemName)) & "\\"" & ¬
|
|
84
|
+
"}"
|
|
85
|
+
`;
|
|
86
|
+
const result = await runAppleScript(omniFocusScriptWithHelpers(script));
|
|
87
|
+
if (!result.success) {
|
|
88
|
+
return failure(result.error ??
|
|
89
|
+
createError(ErrorCode.UNKNOWN_ERROR, "Failed to generate URL"));
|
|
90
|
+
}
|
|
91
|
+
if (result.data === undefined) {
|
|
92
|
+
return failure(createError(ErrorCode.UNKNOWN_ERROR, "No result returned"));
|
|
93
|
+
}
|
|
94
|
+
return success(result.data);
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=url.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"url.js","sourceRoot":"","sources":["../../src/commands/url.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAY/E;;GAEG;AACH,SAAS,aAAa,CAAC,EAAU;IAC/B,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC5B,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;IACtE,CAAC;IAED,8DAA8D;IAC9D,MAAM,SAAS,GAAG,kBAAkB,CAAC;IACrC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACxB,OAAO;YACL,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,sBAAsB,EAAE,EAAE;SACpC,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,EAAU;IAC1C,cAAc;IACd,MAAM,KAAK,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;IAChC,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,MAAM,GAAG;qBACI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDpB,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,cAAc,CACjC,0BAA0B,CAAC,MAAM,CAAC,CACnC,CAAC;IAEF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,OAAO,CACZ,MAAM,CAAC,KAAK;YACV,WAAW,CAAC,SAAS,CAAC,aAAa,EAAE,wBAAwB,CAAC,CACjE,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type { CliOutput, CliError, CommandInfo, OFTask, OFProject, OFTag, OFPerspective, OFFolder, OFTaskWithChildren, InboxOptions, TaskQueryOptions, ProjectQueryOptions, TagQueryOptions, TaskUpdateOptions, CreateProjectOptions, CreateFolderOptions, FolderQueryOptions, CreateTagOptions, UpdateTagOptions, SubtaskQueryOptions, BatchResult, RepetitionRule, SearchOptions, ReviewResult, } from "./types.js";
|
|
1
|
+
export type { CliOutput, CliError, CommandInfo, OFTask, OFProject, OFTag, OFPerspective, OFFolder, OFTaskWithChildren, InboxOptions, TaskQueryOptions, ProjectQueryOptions, TagQueryOptions, TaskUpdateOptions, CreateProjectOptions, CreateFolderOptions, FolderQueryOptions, CreateTagOptions, UpdateTagOptions, SubtaskQueryOptions, BatchResult, RepetitionRule, SearchOptions, ReviewResult, UpdateProjectOptions, UpdateFolderOptions, DuplicateTaskOptions, } from "./types.js";
|
|
2
2
|
export { ErrorCode, createError, parseAppleScriptError } from "./errors.js";
|
|
3
3
|
export type { ErrorCode as ErrorCodeType } from "./errors.js";
|
|
4
4
|
export { success, failure, failureMessage } from "./result.js";
|
|
@@ -15,16 +15,49 @@ export type { CompleteResult } from "./commands/complete.js";
|
|
|
15
15
|
export { updateTask } from "./commands/update.js";
|
|
16
16
|
export { createProject } from "./commands/create-project.js";
|
|
17
17
|
export { createFolder, queryFolders } from "./commands/folders.js";
|
|
18
|
+
export { updateProject, deleteProject, dropProject, } from "./commands/projects-crud.js";
|
|
19
|
+
export type { DeleteProjectResult, DropProjectResult, } from "./commands/projects-crud.js";
|
|
20
|
+
export { updateFolder, deleteFolder } from "./commands/folders-crud.js";
|
|
21
|
+
export type { DeleteFolderResult } from "./commands/folders-crud.js";
|
|
18
22
|
export { dropTask, deleteTask } from "./commands/drop.js";
|
|
19
23
|
export type { DropResult, DeleteResult } from "./commands/drop.js";
|
|
20
24
|
export { createTag, updateTag, deleteTag } from "./commands/tags-crud.js";
|
|
21
25
|
export type { DeleteTagResult } from "./commands/tags-crud.js";
|
|
22
26
|
export { createSubtask, querySubtasks, moveTaskToParent, } from "./commands/subtasks.js";
|
|
23
|
-
export { completeTasks, updateTasks, deleteTasks
|
|
24
|
-
export type { BatchCompleteItem, BatchDeleteItem
|
|
25
|
-
export { buildRRule, buildRepetitionRuleScript } from "./commands/repetition.js";
|
|
27
|
+
export { completeTasks, updateTasks, deleteTasks } from "./commands/batch.js";
|
|
28
|
+
export type { BatchCompleteItem, BatchDeleteItem } from "./commands/batch.js";
|
|
29
|
+
export { buildRRule, buildRepetitionRuleScript, } from "./commands/repetition.js";
|
|
26
30
|
export { searchTasks } from "./commands/search.js";
|
|
27
31
|
export { listPerspectives, queryPerspective } from "./commands/perspectives.js";
|
|
28
32
|
export type { PerspectiveQueryOptions } from "./commands/perspectives.js";
|
|
29
|
-
export { reviewProject, queryProjectsForReview } from "./commands/review.js";
|
|
33
|
+
export { reviewProject, queryProjectsForReview, getReviewInterval, setReviewInterval, } from "./commands/review.js";
|
|
34
|
+
export type { ReviewIntervalResult } from "./commands/review.js";
|
|
35
|
+
export { queryForecast } from "./commands/forecast.js";
|
|
36
|
+
export type { ForecastOptions } from "./commands/forecast.js";
|
|
37
|
+
export { focus, unfocus, getFocused } from "./commands/focus.js";
|
|
38
|
+
export type { FocusResult } from "./commands/focus.js";
|
|
39
|
+
export { queryDeferred } from "./commands/deferred.js";
|
|
40
|
+
export type { DeferredQueryOptions } from "./commands/deferred.js";
|
|
41
|
+
export { generateUrl } from "./commands/url.js";
|
|
42
|
+
export type { UrlResult } from "./commands/url.js";
|
|
43
|
+
export { deferTask, deferTasks } from "./commands/defer.js";
|
|
44
|
+
export type { DeferOptions, DeferResult, BatchDeferItem, } from "./commands/defer.js";
|
|
45
|
+
export { quickCapture, parseQuickInput } from "./commands/quick.js";
|
|
46
|
+
export type { ParsedQuickInput, QuickOptions } from "./commands/quick.js";
|
|
47
|
+
export { exportTaskPaper, importTaskPaper } from "./commands/taskpaper.js";
|
|
48
|
+
export type { TaskPaperExportOptions, TaskPaperExportResult, TaskPaperImportOptions, TaskPaperImportResult, } from "./commands/taskpaper.js";
|
|
49
|
+
export { getStats } from "./commands/stats.js";
|
|
50
|
+
export type { StatsOptions, StatsResult } from "./commands/stats.js";
|
|
51
|
+
export { saveTemplate, listTemplates, getTemplate, createFromTemplate, deleteTemplate, } from "./commands/templates.js";
|
|
52
|
+
export type { TemplateTask, ProjectTemplate, TemplateSummary, SaveTemplateOptions, SaveTemplateResult, ListTemplatesResult, CreateFromTemplateOptions, CreateFromTemplateResult, DeleteTemplateResult, } from "./commands/templates.js";
|
|
53
|
+
export { addAttachment, listAttachments, removeAttachment, } from "./commands/attachments.js";
|
|
54
|
+
export type { OFAttachment, AddAttachmentResult, ListAttachmentsResult, RemoveAttachmentResult, } from "./commands/attachments.js";
|
|
55
|
+
export { archiveTasks, compactDatabase } from "./commands/archive.js";
|
|
56
|
+
export type { ArchiveOptions, ArchiveResult, CompactResult, } from "./commands/archive.js";
|
|
57
|
+
export { getSyncStatus, triggerSync } from "./commands/sync.js";
|
|
58
|
+
export type { SyncStatus, SyncResult } from "./commands/sync.js";
|
|
59
|
+
export { duplicateTask } from "./commands/duplicate.js";
|
|
60
|
+
export type { DuplicateTaskResult } from "./commands/duplicate.js";
|
|
61
|
+
export { openItem } from "./commands/open.js";
|
|
62
|
+
export type { OpenResult } from "./commands/open.js";
|
|
30
63
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,SAAS,EACT,QAAQ,EACR,WAAW,EACX,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,EACb,QAAQ,EACR,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,aAAa,EACb,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -17,6 +17,10 @@ export { updateTask } from "./commands/update.js";
|
|
|
17
17
|
// Phase 1: Projects & Folders
|
|
18
18
|
export { createProject } from "./commands/create-project.js";
|
|
19
19
|
export { createFolder, queryFolders } from "./commands/folders.js";
|
|
20
|
+
// Phase 1: Project CRUD
|
|
21
|
+
export { updateProject, deleteProject, dropProject, } from "./commands/projects-crud.js";
|
|
22
|
+
// Phase 1: Folder CRUD
|
|
23
|
+
export { updateFolder, deleteFolder } from "./commands/folders-crud.js";
|
|
20
24
|
// Phase 1: Drop/Delete Tasks
|
|
21
25
|
export { dropTask, deleteTask } from "./commands/drop.js";
|
|
22
26
|
// Phase 1: Tags CRUD
|
|
@@ -24,13 +28,36 @@ export { createTag, updateTag, deleteTag } from "./commands/tags-crud.js";
|
|
|
24
28
|
// Phase 2: Subtasks
|
|
25
29
|
export { createSubtask, querySubtasks, moveTaskToParent, } from "./commands/subtasks.js";
|
|
26
30
|
// Phase 3: Batch Operations
|
|
27
|
-
export { completeTasks, updateTasks, deleteTasks
|
|
31
|
+
export { completeTasks, updateTasks, deleteTasks } from "./commands/batch.js";
|
|
28
32
|
// Phase 3: Repetition helpers
|
|
29
|
-
export { buildRRule, buildRepetitionRuleScript } from "./commands/repetition.js";
|
|
33
|
+
export { buildRRule, buildRepetitionRuleScript, } from "./commands/repetition.js";
|
|
30
34
|
// Phase 4: Search
|
|
31
35
|
export { searchTasks } from "./commands/search.js";
|
|
32
36
|
// Phase 4: Perspectives
|
|
33
37
|
export { listPerspectives, queryPerspective } from "./commands/perspectives.js";
|
|
34
38
|
// Phase 4: Review
|
|
35
|
-
export { reviewProject, queryProjectsForReview } from "./commands/review.js";
|
|
39
|
+
export { reviewProject, queryProjectsForReview, getReviewInterval, setReviewInterval, } from "./commands/review.js";
|
|
40
|
+
// Phase 5: Forecast, Focus, Deferred
|
|
41
|
+
export { queryForecast } from "./commands/forecast.js";
|
|
42
|
+
export { focus, unfocus, getFocused } from "./commands/focus.js";
|
|
43
|
+
export { queryDeferred } from "./commands/deferred.js";
|
|
44
|
+
export { generateUrl } from "./commands/url.js";
|
|
45
|
+
export { deferTask, deferTasks } from "./commands/defer.js";
|
|
46
|
+
// Phase 6: Quick Capture
|
|
47
|
+
export { quickCapture, parseQuickInput } from "./commands/quick.js";
|
|
48
|
+
// Phase 6: TaskPaper Import/Export
|
|
49
|
+
export { exportTaskPaper, importTaskPaper } from "./commands/taskpaper.js";
|
|
50
|
+
// Phase 6: Statistics
|
|
51
|
+
export { getStats } from "./commands/stats.js";
|
|
52
|
+
// Phase 7: Templates
|
|
53
|
+
export { saveTemplate, listTemplates, getTemplate, createFromTemplate, deleteTemplate, } from "./commands/templates.js";
|
|
54
|
+
// Phase 8: Attachments
|
|
55
|
+
export { addAttachment, listAttachments, removeAttachment, } from "./commands/attachments.js";
|
|
56
|
+
// Phase 8: Archive & Cleanup
|
|
57
|
+
export { archiveTasks, compactDatabase } from "./commands/archive.js";
|
|
58
|
+
// Phase 8: Sync
|
|
59
|
+
export { getSyncStatus, triggerSync } from "./commands/sync.js";
|
|
60
|
+
// Phase 9: Task Utilities
|
|
61
|
+
export { duplicateTask } from "./commands/duplicate.js";
|
|
62
|
+
export { openItem } from "./commands/open.js";
|
|
36
63
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -225,4 +225,31 @@ export interface ReviewResult {
|
|
|
225
225
|
lastReviewed: string;
|
|
226
226
|
nextReviewDate: string | null;
|
|
227
227
|
}
|
|
228
|
+
/**
|
|
229
|
+
* Options for updating a project.
|
|
230
|
+
*/
|
|
231
|
+
export interface UpdateProjectOptions {
|
|
232
|
+
name?: string | undefined;
|
|
233
|
+
note?: string | undefined;
|
|
234
|
+
status?: "active" | "on-hold" | "completed" | "dropped" | undefined;
|
|
235
|
+
folderId?: string | undefined;
|
|
236
|
+
folderName?: string | undefined;
|
|
237
|
+
sequential?: boolean | undefined;
|
|
238
|
+
dueDate?: string | undefined;
|
|
239
|
+
deferDate?: string | undefined;
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Options for updating a folder.
|
|
243
|
+
*/
|
|
244
|
+
export interface UpdateFolderOptions {
|
|
245
|
+
name?: string | undefined;
|
|
246
|
+
parentFolderId?: string | undefined;
|
|
247
|
+
parentFolderName?: string | undefined;
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Options for duplicating a task.
|
|
251
|
+
*/
|
|
252
|
+
export interface DuplicateTaskOptions {
|
|
253
|
+
includeSubtasks?: boolean | undefined;
|
|
254
|
+
}
|
|
228
255
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/validation.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { type CliError } from "./errors.js";
|
|
|
4
4
|
* IDs are alphanumeric with possible dashes/underscores.
|
|
5
5
|
* Returns null if valid, or a CliError if invalid.
|
|
6
6
|
*/
|
|
7
|
-
export declare function validateId(id: string, type: "task" | "project" | "tag"): CliError | null;
|
|
7
|
+
export declare function validateId(id: string, type: "task" | "project" | "tag" | "folder" | "item"): CliError | null;
|
|
8
8
|
/**
|
|
9
9
|
* Validate a date string for use with AppleScript.
|
|
10
10
|
* Returns null if valid (or empty), or a CliError if invalid.
|
package/dist/validation.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAA0B,MAAM,aAAa,CAAC;AAEpE;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAA0B,MAAM,aAAa,CAAC;AAEpE;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GACnD,QAAQ,GAAG,IAAI,CAoBjB;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CA4BnE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,QAAQ,GAAG,IAAI,CAwBxE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,IAAI,CAe7E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,IAAI,CAe5E;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAe7D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EACA;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC,GACD,SAAS,GACZ,QAAQ,GAAG,IAAI,CAgEjB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,QAAQ,GAAG,IAAI,CAcjB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAkBlE"}
|
package/dist/validation.js
CHANGED
|
@@ -133,7 +133,9 @@ export function validateRepetitionRule(rule) {
|
|
|
133
133
|
}
|
|
134
134
|
}
|
|
135
135
|
if (rule.dayOfMonth !== undefined) {
|
|
136
|
-
if (rule.dayOfMonth < 1 ||
|
|
136
|
+
if (rule.dayOfMonth < 1 ||
|
|
137
|
+
rule.dayOfMonth > 31 ||
|
|
138
|
+
!Number.isInteger(rule.dayOfMonth)) {
|
|
137
139
|
return createError(ErrorCode.VALIDATION_ERROR, `Invalid day of month: ${String(rule.dayOfMonth)}`, "Day of month must be an integer 1-31");
|
|
138
140
|
}
|
|
139
141
|
}
|