@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.
Files changed (83) hide show
  1. package/LICENSE +21 -0
  2. package/api-report/ofocus-sdk.api.md +496 -1
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/commands/archive.d.ts +48 -0
  5. package/dist/commands/archive.d.ts.map +1 -0
  6. package/dist/commands/archive.js +132 -0
  7. package/dist/commands/archive.js.map +1 -0
  8. package/dist/commands/attachments.d.ts +67 -0
  9. package/dist/commands/attachments.d.ts.map +1 -0
  10. package/dist/commands/attachments.js +160 -0
  11. package/dist/commands/attachments.js.map +1 -0
  12. package/dist/commands/defer.d.ts +37 -0
  13. package/dist/commands/defer.d.ts.map +1 -0
  14. package/dist/commands/defer.js +198 -0
  15. package/dist/commands/defer.js.map +1 -0
  16. package/dist/commands/deferred.d.ts +18 -0
  17. package/dist/commands/deferred.d.ts.map +1 -0
  18. package/dist/commands/deferred.js +146 -0
  19. package/dist/commands/deferred.js.map +1 -0
  20. package/dist/commands/duplicate.d.ts +15 -0
  21. package/dist/commands/duplicate.d.ts.map +1 -0
  22. package/dist/commands/duplicate.js +49 -0
  23. package/dist/commands/duplicate.js.map +1 -0
  24. package/dist/commands/focus.d.ts +26 -0
  25. package/dist/commands/focus.d.ts.map +1 -0
  26. package/dist/commands/focus.js +182 -0
  27. package/dist/commands/focus.js.map +1 -0
  28. package/dist/commands/folders-crud.d.ts +18 -0
  29. package/dist/commands/folders-crud.d.ts.map +1 -0
  30. package/dist/commands/folders-crud.js +117 -0
  31. package/dist/commands/folders-crud.js.map +1 -0
  32. package/dist/commands/forecast.d.ts +20 -0
  33. package/dist/commands/forecast.d.ts.map +1 -0
  34. package/dist/commands/forecast.js +145 -0
  35. package/dist/commands/forecast.js.map +1 -0
  36. package/dist/commands/open.d.ts +17 -0
  37. package/dist/commands/open.d.ts.map +1 -0
  38. package/dist/commands/open.js +88 -0
  39. package/dist/commands/open.js.map +1 -0
  40. package/dist/commands/projects-crud.d.ts +30 -0
  41. package/dist/commands/projects-crud.d.ts.map +1 -0
  42. package/dist/commands/projects-crud.js +209 -0
  43. package/dist/commands/projects-crud.js.map +1 -0
  44. package/dist/commands/quick.d.ts +41 -0
  45. package/dist/commands/quick.d.ts.map +1 -0
  46. package/dist/commands/quick.js +257 -0
  47. package/dist/commands/quick.js.map +1 -0
  48. package/dist/commands/review.d.ts +18 -0
  49. package/dist/commands/review.d.ts.map +1 -1
  50. package/dist/commands/review.js +87 -1
  51. package/dist/commands/review.js.map +1 -1
  52. package/dist/commands/stats.d.ts +48 -0
  53. package/dist/commands/stats.d.ts.map +1 -0
  54. package/dist/commands/stats.js +212 -0
  55. package/dist/commands/stats.js.map +1 -0
  56. package/dist/commands/sync.d.ts +32 -0
  57. package/dist/commands/sync.d.ts.map +1 -0
  58. package/dist/commands/sync.js +63 -0
  59. package/dist/commands/sync.js.map +1 -0
  60. package/dist/commands/taskpaper.d.ts +46 -0
  61. package/dist/commands/taskpaper.d.ts.map +1 -0
  62. package/dist/commands/taskpaper.js +359 -0
  63. package/dist/commands/taskpaper.js.map +1 -0
  64. package/dist/commands/templates.d.ts +134 -0
  65. package/dist/commands/templates.d.ts.map +1 -0
  66. package/dist/commands/templates.js +252 -0
  67. package/dist/commands/templates.js.map +1 -0
  68. package/dist/commands/url.d.ts +16 -0
  69. package/dist/commands/url.d.ts.map +1 -0
  70. package/dist/commands/url.js +96 -0
  71. package/dist/commands/url.js.map +1 -0
  72. package/dist/index.d.ts +38 -5
  73. package/dist/index.d.ts.map +1 -1
  74. package/dist/index.js +30 -3
  75. package/dist/index.js.map +1 -1
  76. package/dist/types.d.ts +27 -0
  77. package/dist/types.d.ts.map +1 -1
  78. package/dist/validation.d.ts +1 -1
  79. package/dist/validation.d.ts.map +1 -1
  80. package/dist/validation.js +3 -1
  81. package/dist/validation.js.map +1 -1
  82. package/package.json +12 -12
  83. package/dist/ofocus-sdk.d.ts +0 -608
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 mnorth
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -4,6 +4,17 @@
4
4
 
5
5
  ```ts
6
6
 
7
+ // @public
8
+ export function addAttachment(taskId: string, filePath: string): Promise<CliOutput<AddAttachmentResult>>;
9
+
10
+ // @public
11
+ export interface AddAttachmentResult {
12
+ attached: boolean;
13
+ fileName: string;
14
+ taskId: string;
15
+ taskName: string;
16
+ }
17
+
7
18
  // @public
8
19
  export function addToInbox(title: string, options?: InboxOptions): Promise<CliOutput<OFTask>>;
9
20
 
@@ -17,6 +28,25 @@ export interface AppleScriptResult<T> {
17
28
  success: boolean;
18
29
  }
19
30
 
31
+ // @public
32
+ export interface ArchiveOptions {
33
+ completedBefore?: string | undefined;
34
+ droppedBefore?: string | undefined;
35
+ dryRun?: boolean | undefined;
36
+ project?: string | undefined;
37
+ }
38
+
39
+ // @public
40
+ export interface ArchiveResult {
41
+ archivePath: string | null;
42
+ dryRun: boolean;
43
+ projectsArchived: number;
44
+ tasksArchived: number;
45
+ }
46
+
47
+ // @public
48
+ export function archiveTasks(options?: ArchiveOptions): Promise<CliOutput<ArchiveResult>>;
49
+
20
50
  // @public
21
51
  export interface BatchCompleteItem {
22
52
  // (undocumented)
@@ -25,6 +55,18 @@ export interface BatchCompleteItem {
25
55
  taskName: string;
26
56
  }
27
57
 
58
+ // @public
59
+ export interface BatchDeferItem {
60
+ // (undocumented)
61
+ newDeferDate: string;
62
+ // (undocumented)
63
+ previousDeferDate: string | null;
64
+ // (undocumented)
65
+ taskId: string;
66
+ // (undocumented)
67
+ taskName: string;
68
+ }
69
+
28
70
  // @public
29
71
  export interface BatchDeleteItem {
30
72
  // (undocumented)
@@ -82,6 +124,15 @@ export interface CommandInfo {
82
124
  usage: string;
83
125
  }
84
126
 
127
+ // @public
128
+ export function compactDatabase(): Promise<CliOutput<CompactResult>>;
129
+
130
+ // @public
131
+ export interface CompactResult {
132
+ compacted: boolean;
133
+ message: string;
134
+ }
135
+
85
136
  // @public
86
137
  export interface CompleteResult {
87
138
  // (undocumented)
@@ -112,6 +163,24 @@ export interface CreateFolderOptions {
112
163
  parentFolderName?: string | undefined;
113
164
  }
114
165
 
166
+ // @public
167
+ export function createFromTemplate(options: CreateFromTemplateOptions): Promise<CliOutput<CreateFromTemplateResult>>;
168
+
169
+ // @public
170
+ export interface CreateFromTemplateOptions {
171
+ baseDate?: string | undefined;
172
+ folder?: string | undefined;
173
+ projectName?: string | undefined;
174
+ templateName: string;
175
+ }
176
+
177
+ // @public
178
+ export interface CreateFromTemplateResult {
179
+ projectId: string;
180
+ projectName: string;
181
+ tasksCreated: number;
182
+ }
183
+
115
184
  // @public
116
185
  export function createProject(name: string, options?: CreateProjectOptions): Promise<CliOutput<OFProject>>;
117
186
 
@@ -147,6 +216,59 @@ export interface CreateTagOptions {
147
216
  parentTagName?: string | undefined;
148
217
  }
149
218
 
219
+ // @public
220
+ export interface DeferOptions {
221
+ days?: number | undefined;
222
+ to?: string | undefined;
223
+ }
224
+
225
+ // @public
226
+ export interface DeferredQueryOptions {
227
+ blockedOnly?: boolean | undefined;
228
+ deferredAfter?: string | undefined;
229
+ deferredBefore?: string | undefined;
230
+ }
231
+
232
+ // @public
233
+ export interface DeferResult {
234
+ // (undocumented)
235
+ newDeferDate: string;
236
+ // (undocumented)
237
+ previousDeferDate: string | null;
238
+ // (undocumented)
239
+ taskId: string;
240
+ // (undocumented)
241
+ taskName: string;
242
+ }
243
+
244
+ // @public
245
+ export function deferTask(taskId: string, options?: DeferOptions): Promise<CliOutput<DeferResult>>;
246
+
247
+ // @public
248
+ export function deferTasks(taskIds: string[], options?: DeferOptions): Promise<CliOutput<BatchResult<BatchDeferItem>>>;
249
+
250
+ // @public
251
+ export function deleteFolder(folderId: string): Promise<CliOutput<DeleteFolderResult>>;
252
+
253
+ // @public
254
+ export interface DeleteFolderResult {
255
+ // (undocumented)
256
+ deleted: true;
257
+ // (undocumented)
258
+ folderId: string;
259
+ }
260
+
261
+ // @public
262
+ export function deleteProject(projectId: string): Promise<CliOutput<DeleteProjectResult>>;
263
+
264
+ // @public
265
+ export interface DeleteProjectResult {
266
+ // (undocumented)
267
+ deleted: true;
268
+ // (undocumented)
269
+ projectId: string;
270
+ }
271
+
150
272
  // @public
151
273
  export interface DeleteResult {
152
274
  // (undocumented)
@@ -172,6 +294,28 @@ export function deleteTask(taskId: string): Promise<CliOutput<DeleteResult>>;
172
294
  // @public
173
295
  export function deleteTasks(taskIds: string[]): Promise<CliOutput<BatchResult<BatchDeleteItem>>>;
174
296
 
297
+ // @public
298
+ export function deleteTemplate(name: string): CliOutput<DeleteTemplateResult>;
299
+
300
+ // @public
301
+ export interface DeleteTemplateResult {
302
+ deleted: boolean;
303
+ name: string;
304
+ }
305
+
306
+ // @public
307
+ export function dropProject(projectId: string): Promise<CliOutput<DropProjectResult>>;
308
+
309
+ // @public
310
+ export interface DropProjectResult {
311
+ // (undocumented)
312
+ dropped: boolean;
313
+ // (undocumented)
314
+ projectId: string;
315
+ // (undocumented)
316
+ projectName: string;
317
+ }
318
+
175
319
  // @public
176
320
  export interface DropResult {
177
321
  // (undocumented)
@@ -185,6 +329,25 @@ export interface DropResult {
185
329
  // @public
186
330
  export function dropTask(taskId: string): Promise<CliOutput<DropResult>>;
187
331
 
332
+ // @public
333
+ export function duplicateTask(taskId: string, options?: DuplicateTaskOptions): Promise<CliOutput<DuplicateTaskResult>>;
334
+
335
+ // @public
336
+ export interface DuplicateTaskOptions {
337
+ // (undocumented)
338
+ includeSubtasks?: boolean | undefined;
339
+ }
340
+
341
+ // @public
342
+ export interface DuplicateTaskResult {
343
+ // (undocumented)
344
+ newTaskId: string;
345
+ // (undocumented)
346
+ newTaskName: string;
347
+ // (undocumented)
348
+ originalTaskId: string;
349
+ }
350
+
188
351
  // @public
189
352
  const ErrorCode: {
190
353
  readonly TASK_NOT_FOUND: "TASK_NOT_FOUND";
@@ -211,18 +374,68 @@ export { ErrorCode as ErrorCodeType }
211
374
  // @public
212
375
  export function escapeAppleScript(str: string): string;
213
376
 
377
+ // @public
378
+ export function exportTaskPaper(options?: TaskPaperExportOptions): Promise<CliOutput<TaskPaperExportResult>>;
379
+
214
380
  // @public
215
381
  export function failure<T = null>(error: CliError): CliOutput<T>;
216
382
 
217
383
  // @public
218
384
  export function failureMessage<T = null>(message: string): CliOutput<T>;
219
385
 
386
+ // @public
387
+ function focus_2(target: string, options?: {
388
+ byId?: boolean | undefined;
389
+ }): Promise<CliOutput<FocusResult>>;
390
+ export { focus_2 as focus }
391
+
392
+ // @public
393
+ export interface FocusResult {
394
+ // (undocumented)
395
+ focused: boolean;
396
+ // (undocumented)
397
+ targetId: string | null;
398
+ // (undocumented)
399
+ targetName: string | null;
400
+ // (undocumented)
401
+ targetType: "project" | "folder" | null;
402
+ }
403
+
220
404
  // @public
221
405
  export interface FolderQueryOptions {
222
406
  // (undocumented)
223
407
  parent?: string | undefined;
224
408
  }
225
409
 
410
+ // @public
411
+ export interface ForecastOptions {
412
+ days?: number | undefined;
413
+ end?: string | undefined;
414
+ includeDeferred?: boolean | undefined;
415
+ start?: string | undefined;
416
+ }
417
+
418
+ // @public
419
+ export function generateUrl(id: string): Promise<CliOutput<UrlResult>>;
420
+
421
+ // @public
422
+ export function getFocused(): Promise<CliOutput<FocusResult>>;
423
+
424
+ // @public
425
+ export function getReviewInterval(projectId: string): Promise<CliOutput<ReviewIntervalResult>>;
426
+
427
+ // @public
428
+ export function getStats(options?: StatsOptions): Promise<CliOutput<StatsResult>>;
429
+
430
+ // @public
431
+ export function getSyncStatus(): Promise<CliOutput<SyncStatus>>;
432
+
433
+ // @public
434
+ export function getTemplate(name: string): CliOutput<ProjectTemplate>;
435
+
436
+ // @public
437
+ export function importTaskPaper(content: string, options?: TaskPaperImportOptions): Promise<CliOutput<TaskPaperImportResult>>;
438
+
226
439
  // @public
227
440
  export interface InboxOptions {
228
441
  // (undocumented)
@@ -244,12 +457,38 @@ export interface InboxOptions {
244
457
  // @public
245
458
  export const jsonHelpers = "\non jsonString(val)\n if val is \"\" or val is missing value or val is \"missing value\" then\n return \"null\"\n else\n return \"\\\"\" & my escapeJson(val) & \"\\\"\"\n end if\nend jsonString\n\non jsonArray(theList)\n if (count of theList) is 0 then\n return \"[]\"\n end if\n set output to \"[\"\n repeat with i from 1 to count of theList\n if i > 1 then set output to output & \",\"\n set output to output & \"\\\"\" & (my escapeJson(item i of theList)) & \"\\\"\"\n end repeat\n return output & \"]\"\nend jsonArray\n\non escapeJson(str)\n set output to \"\"\n repeat with c in characters of (str as string)\n if c is \"\\\"\" then\n set output to output & \"\\\\\\\"\"\n else if c is \"\\\\\" then\n set output to output & \"\\\\\\\\\"\n else if c is return then\n set output to output & \"\\\\n\"\n else if c is linefeed then\n set output to output & \"\\\\n\"\n else\n set output to output & c\n end if\n end repeat\n return output\nend escapeJson\n";
246
459
 
460
+ // @public
461
+ export function listAttachments(taskId: string): Promise<CliOutput<ListAttachmentsResult>>;
462
+
463
+ // @public
464
+ export interface ListAttachmentsResult {
465
+ attachments: OFAttachment[];
466
+ taskId: string;
467
+ taskName: string;
468
+ }
469
+
247
470
  // @public
248
471
  export function listPerspectives(): Promise<CliOutput<OFPerspective[]>>;
249
472
 
473
+ // @public
474
+ export function listTemplates(): CliOutput<ListTemplatesResult>;
475
+
476
+ // @public
477
+ export interface ListTemplatesResult {
478
+ templates: TemplateSummary[];
479
+ }
480
+
250
481
  // @public
251
482
  export function moveTaskToParent(taskId: string, parentTaskId: string): Promise<CliOutput<OFTaskWithChildren>>;
252
483
 
484
+ // @public
485
+ export interface OFAttachment {
486
+ id: string;
487
+ name: string;
488
+ size: number | null;
489
+ type: string | null;
490
+ }
491
+
253
492
  // @public
254
493
  export interface OFFolder {
255
494
  // (undocumented)
@@ -358,9 +597,49 @@ export function omniFocusScript(body: string): string;
358
597
  // @public
359
598
  export function omniFocusScriptWithHelpers(body: string): string;
360
599
 
600
+ // @public
601
+ export function openItem(id: string): Promise<CliOutput<OpenResult>>;
602
+
603
+ // @public
604
+ export interface OpenResult {
605
+ // (undocumented)
606
+ id: string;
607
+ // (undocumented)
608
+ name: string;
609
+ // (undocumented)
610
+ opened: true;
611
+ // (undocumented)
612
+ type: "task" | "project" | "folder" | "tag";
613
+ }
614
+
361
615
  // @public
362
616
  export function parseAppleScriptError(rawError: string): CliError;
363
617
 
618
+ // @public
619
+ export interface ParsedQuickInput {
620
+ // (undocumented)
621
+ defer: string | null;
622
+ // (undocumented)
623
+ due: string | null;
624
+ // (undocumented)
625
+ estimatedMinutes: number | null;
626
+ // (undocumented)
627
+ flagged: boolean;
628
+ // (undocumented)
629
+ note: string | null;
630
+ // (undocumented)
631
+ project: string | null;
632
+ // (undocumented)
633
+ repeat: RepetitionRule | null;
634
+ // (undocumented)
635
+ tags: string[];
636
+ // (undocumented)
637
+ title: string;
638
+ }
639
+
640
+ // @public
641
+ export function parseQuickInput(input: string): ParsedQuickInput;
642
+
364
643
  // @public
365
644
  export interface PerspectiveQueryOptions {
366
645
  // (undocumented)
@@ -377,9 +656,27 @@ export interface ProjectQueryOptions {
377
656
  status?: "active" | "on-hold" | "completed" | "dropped" | undefined;
378
657
  }
379
658
 
659
+ // @public
660
+ export interface ProjectTemplate {
661
+ createdAt: string;
662
+ defaultFolder: string | null;
663
+ description: string | null;
664
+ name: string;
665
+ note: string | null;
666
+ sequential: boolean;
667
+ sourceProject: string | null;
668
+ tasks: TemplateTask[];
669
+ }
670
+
671
+ // @public
672
+ export function queryDeferred(options?: DeferredQueryOptions): Promise<CliOutput<OFTask[]>>;
673
+
380
674
  // @public
381
675
  export function queryFolders(options?: FolderQueryOptions): Promise<CliOutput<OFFolder[]>>;
382
676
 
677
+ // @public
678
+ export function queryForecast(options?: ForecastOptions): Promise<CliOutput<OFTask[]>>;
679
+
383
680
  // @public
384
681
  export function queryPerspective(name: string, options?: PerspectiveQueryOptions): Promise<CliOutput<OFTask[]>>;
385
682
 
@@ -398,6 +695,24 @@ export function queryTags(options?: TagQueryOptions): Promise<CliOutput<OFTag[]>
398
695
  // @public
399
696
  export function queryTasks(options?: TaskQueryOptions): Promise<CliOutput<OFTask[]>>;
400
697
 
698
+ // @public
699
+ export function quickCapture(input: string, options?: QuickOptions): Promise<CliOutput<OFTask>>;
700
+
701
+ // @public
702
+ export interface QuickOptions {
703
+ note?: string | undefined;
704
+ }
705
+
706
+ // @public
707
+ export function removeAttachment(taskId: string, attachmentIdOrName: string): Promise<CliOutput<RemoveAttachmentResult>>;
708
+
709
+ // @public
710
+ export interface RemoveAttachmentResult {
711
+ attachmentName: string;
712
+ removed: boolean;
713
+ taskId: string;
714
+ }
715
+
401
716
  // @public
402
717
  export interface RepetitionRule {
403
718
  // (undocumented)
@@ -412,6 +727,16 @@ export interface RepetitionRule {
412
727
  repeatMethod: "due-again" | "defer-another";
413
728
  }
414
729
 
730
+ // @public
731
+ export interface ReviewIntervalResult {
732
+ // (undocumented)
733
+ projectId: string;
734
+ // (undocumented)
735
+ projectName: string;
736
+ // (undocumented)
737
+ reviewIntervalDays: number;
738
+ }
739
+
415
740
  // @public
416
741
  export function reviewProject(projectId: string): Promise<CliOutput<ReviewResult>>;
417
742
 
@@ -433,6 +758,23 @@ export function runAppleScript<T>(script: string): Promise<AppleScriptResult<T>>
433
758
  // @public
434
759
  export function runAppleScriptFile<T>(filePath: string, args?: string[]): Promise<AppleScriptResult<T>>;
435
760
 
761
+ // @public
762
+ export function saveTemplate(options: SaveTemplateOptions): Promise<CliOutput<SaveTemplateResult>>;
763
+
764
+ // @public
765
+ export interface SaveTemplateOptions {
766
+ description?: string | undefined;
767
+ name: string;
768
+ sourceProject: string;
769
+ }
770
+
771
+ // @public
772
+ export interface SaveTemplateResult {
773
+ name: string;
774
+ path: string;
775
+ taskCount: number;
776
+ }
777
+
436
778
  // @public
437
779
  export interface SearchOptions {
438
780
  // (undocumented)
@@ -446,6 +788,33 @@ export interface SearchOptions {
446
788
  // @public
447
789
  export function searchTasks(query: string, options?: SearchOptions): Promise<CliOutput<OFTask[]>>;
448
790
 
791
+ // @public
792
+ export function setReviewInterval(projectId: string, days: number): Promise<CliOutput<ReviewIntervalResult>>;
793
+
794
+ // @public
795
+ export interface StatsOptions {
796
+ period?: "day" | "week" | "month" | "year" | undefined;
797
+ project?: string | undefined;
798
+ since?: string | undefined;
799
+ until?: string | undefined;
800
+ }
801
+
802
+ // @public
803
+ export interface StatsResult {
804
+ periodEnd: string;
805
+ periodStart: string;
806
+ projectFilter: string | null;
807
+ projectsActive: number;
808
+ projectsOnHold: number;
809
+ tasksAvailable: number;
810
+ tasksCompleted: number;
811
+ tasksDueThisWeek: number;
812
+ tasksDueToday: number;
813
+ tasksFlagged: number;
814
+ tasksOverdue: number;
815
+ tasksRemaining: number;
816
+ }
817
+
449
818
  // @public
450
819
  export interface SubtaskQueryOptions {
451
820
  // (undocumented)
@@ -457,12 +826,59 @@ export interface SubtaskQueryOptions {
457
826
  // @public
458
827
  export function success<T>(data: T): CliOutput<T>;
459
828
 
829
+ // @public
830
+ export interface SyncResult {
831
+ message: string;
832
+ triggered: boolean;
833
+ }
834
+
835
+ // @public
836
+ export interface SyncStatus {
837
+ accountName: string | null;
838
+ lastSync: string | null;
839
+ syncEnabled: boolean;
840
+ syncing: boolean;
841
+ }
842
+
460
843
  // @public
461
844
  export interface TagQueryOptions {
462
845
  // (undocumented)
463
846
  parent?: string | undefined;
464
847
  }
465
848
 
849
+ // @public
850
+ export interface TaskPaperExportOptions {
851
+ includeCompleted?: boolean | undefined;
852
+ includeDropped?: boolean | undefined;
853
+ project?: string | undefined;
854
+ }
855
+
856
+ // @public
857
+ export interface TaskPaperExportResult {
858
+ // (undocumented)
859
+ content: string;
860
+ // (undocumented)
861
+ projectCount: number;
862
+ // (undocumented)
863
+ taskCount: number;
864
+ }
865
+
866
+ // @public
867
+ export interface TaskPaperImportOptions {
868
+ createProjects?: boolean | undefined;
869
+ defaultProject?: string | undefined;
870
+ }
871
+
872
+ // @public
873
+ export interface TaskPaperImportResult {
874
+ // (undocumented)
875
+ errors: string[];
876
+ // (undocumented)
877
+ projectsCreated: number;
878
+ // (undocumented)
879
+ tasksCreated: number;
880
+ }
881
+
466
882
  // @public
467
883
  export interface TaskQueryOptions {
468
884
  // (undocumented)
@@ -507,6 +923,73 @@ export interface TaskUpdateOptions {
507
923
  title?: string | undefined;
508
924
  }
509
925
 
926
+ // @public
927
+ export interface TemplateSummary {
928
+ // (undocumented)
929
+ createdAt: string;
930
+ // (undocumented)
931
+ description: string | null;
932
+ // (undocumented)
933
+ name: string;
934
+ // (undocumented)
935
+ sourceProject: string | null;
936
+ // (undocumented)
937
+ taskCount: number;
938
+ }
939
+
940
+ // @public
941
+ export interface TemplateTask {
942
+ deferOffsetDays: number | null;
943
+ dueOffsetDays: number | null;
944
+ estimatedMinutes: number | null;
945
+ flagged: boolean;
946
+ note: string | null;
947
+ tags: string[];
948
+ title: string;
949
+ }
950
+
951
+ // @public
952
+ export function triggerSync(): Promise<CliOutput<SyncResult>>;
953
+
954
+ // @public
955
+ export function unfocus(): Promise<CliOutput<FocusResult>>;
956
+
957
+ // @public
958
+ export function updateFolder(folderId: string, options: UpdateFolderOptions): Promise<CliOutput<OFFolder>>;
959
+
960
+ // @public
961
+ export interface UpdateFolderOptions {
962
+ // (undocumented)
963
+ name?: string | undefined;
964
+ // (undocumented)
965
+ parentFolderId?: string | undefined;
966
+ // (undocumented)
967
+ parentFolderName?: string | undefined;
968
+ }
969
+
970
+ // @public
971
+ export function updateProject(projectId: string, options: UpdateProjectOptions): Promise<CliOutput<OFProject>>;
972
+
973
+ // @public
974
+ export interface UpdateProjectOptions {
975
+ // (undocumented)
976
+ deferDate?: string | undefined;
977
+ // (undocumented)
978
+ dueDate?: string | undefined;
979
+ // (undocumented)
980
+ folderId?: string | undefined;
981
+ // (undocumented)
982
+ folderName?: string | undefined;
983
+ // (undocumented)
984
+ name?: string | undefined;
985
+ // (undocumented)
986
+ note?: string | undefined;
987
+ // (undocumented)
988
+ sequential?: boolean | undefined;
989
+ // (undocumented)
990
+ status?: "active" | "on-hold" | "completed" | "dropped" | undefined;
991
+ }
992
+
510
993
  // @public
511
994
  export function updateTag(tagId: string, options: UpdateTagOptions): Promise<CliOutput<OFTag>>;
512
995
 
@@ -526,6 +1009,18 @@ export function updateTask(taskId: string, options: TaskUpdateOptions): Promise<
526
1009
  // @public
527
1010
  export function updateTasks(taskIds: string[], options: TaskUpdateOptions): Promise<CliOutput<BatchResult<BatchCompleteItem>>>;
528
1011
 
1012
+ // @public
1013
+ export interface UrlResult {
1014
+ // (undocumented)
1015
+ id: string;
1016
+ // (undocumented)
1017
+ name: string;
1018
+ // (undocumented)
1019
+ type: "task" | "project" | "folder" | "tag";
1020
+ // (undocumented)
1021
+ url: string;
1022
+ }
1023
+
529
1024
  // @public
530
1025
  export function validateDateString(dateStr: string): CliError | null;
531
1026
 
@@ -536,7 +1031,7 @@ export function validateEstimatedMinutes(minutes: number | undefined): CliError
536
1031
  export function validateFolderName(name: string | undefined): CliError | null;
537
1032
 
538
1033
  // @public
539
- export function validateId(id: string, type: "task" | "project" | "tag"): CliError | null;
1034
+ export function validateId(id: string, type: "task" | "project" | "tag" | "folder" | "item"): CliError | null;
540
1035
 
541
1036
  // @public
542
1037
  export function validateProjectName(name: string | undefined): CliError | null;