@doist/todoist-cli 1.62.2 → 1.63.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.
Files changed (65) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/commands/auth/helpers.d.ts +8 -1
  3. package/dist/commands/auth/helpers.d.ts.map +1 -1
  4. package/dist/commands/auth/helpers.js +9 -2
  5. package/dist/commands/auth/helpers.js.map +1 -1
  6. package/dist/commands/auth/index.d.ts.map +1 -1
  7. package/dist/commands/auth/index.js +15 -8
  8. package/dist/commands/auth/index.js.map +1 -1
  9. package/dist/commands/auth/login.d.ts +2 -1
  10. package/dist/commands/auth/login.d.ts.map +1 -1
  11. package/dist/commands/auth/login.js +2 -11
  12. package/dist/commands/auth/login.js.map +1 -1
  13. package/dist/commands/auth/logout.d.ts +10 -1
  14. package/dist/commands/auth/logout.d.ts.map +1 -1
  15. package/dist/commands/auth/logout.js +18 -6
  16. package/dist/commands/auth/logout.js.map +1 -1
  17. package/dist/commands/auth/status.d.ts +17 -3
  18. package/dist/commands/auth/status.d.ts.map +1 -1
  19. package/dist/commands/auth/status.js +116 -35
  20. package/dist/commands/auth/status.js.map +1 -1
  21. package/dist/commands/folder/index.d.ts.map +1 -1
  22. package/dist/commands/folder/index.js +1 -9
  23. package/dist/commands/folder/index.js.map +1 -1
  24. package/dist/commands/project/create.d.ts +1 -1
  25. package/dist/commands/project/create.d.ts.map +1 -1
  26. package/dist/commands/project/create.js +2 -7
  27. package/dist/commands/project/create.js.map +1 -1
  28. package/dist/commands/project/helpers.d.ts +27 -1
  29. package/dist/commands/project/helpers.d.ts.map +1 -1
  30. package/dist/commands/project/helpers.js +77 -0
  31. package/dist/commands/project/helpers.js.map +1 -1
  32. package/dist/commands/project/index.d.ts.map +1 -1
  33. package/dist/commands/project/index.js +24 -0
  34. package/dist/commands/project/index.js.map +1 -1
  35. package/dist/commands/project/reorder.d.ts +9 -0
  36. package/dist/commands/project/reorder.d.ts.map +1 -0
  37. package/dist/commands/project/reorder.js +80 -0
  38. package/dist/commands/project/reorder.js.map +1 -0
  39. package/dist/commands/project/update.d.ts +1 -0
  40. package/dist/commands/project/update.d.ts.map +1 -1
  41. package/dist/commands/project/update.js +58 -5
  42. package/dist/commands/project/update.js.map +1 -1
  43. package/dist/lib/api/projects-sync.d.ts +6 -0
  44. package/dist/lib/api/projects-sync.d.ts.map +1 -0
  45. package/dist/lib/api/projects-sync.js +15 -0
  46. package/dist/lib/api/projects-sync.js.map +1 -0
  47. package/dist/lib/auth-store.d.ts +1 -0
  48. package/dist/lib/auth-store.d.ts.map +1 -1
  49. package/dist/lib/auth-store.js +5 -1
  50. package/dist/lib/auth-store.js.map +1 -1
  51. package/dist/lib/errors.d.ts +1 -1
  52. package/dist/lib/errors.d.ts.map +1 -1
  53. package/dist/lib/errors.js.map +1 -1
  54. package/dist/lib/order.d.ts +2 -0
  55. package/dist/lib/order.d.ts.map +1 -0
  56. package/dist/lib/order.js +11 -0
  57. package/dist/lib/order.js.map +1 -0
  58. package/dist/lib/skills/content.d.ts +1 -1
  59. package/dist/lib/skills/content.d.ts.map +1 -1
  60. package/dist/lib/skills/content.js +13 -2
  61. package/dist/lib/skills/content.js.map +1 -1
  62. package/dist/lib/usage-tracking.d.ts.map +1 -1
  63. package/dist/lib/usage-tracking.js +4 -3
  64. package/dist/lib/usage-tracking.js.map +1 -1
  65. package/package.json +4 -4
@@ -1,2 +1,79 @@
1
+ import { isWorkspaceProject, } from '@doist/todoist-sdk';
2
+ import { CliError } from '../../lib/errors.js';
3
+ import { paginate } from '../../lib/pagination.js';
4
+ import { resolveProjectRef } from '../../lib/refs.js';
1
5
  export const VIEW_STYLE_CHOICES = ['list', 'board', 'calendar'];
6
+ /**
7
+ * Resolve a project reference for use as a parent. Rejects workspace projects
8
+ * — only personal projects can have sub-projects.
9
+ */
10
+ export async function resolvePersonalParent(api, parentRef) {
11
+ const parentProject = await resolveProjectRef(api, parentRef);
12
+ if (isWorkspaceProject(parentProject)) {
13
+ throw new CliError('WORKSPACE_NO_SUBPROJECTS', 'Workspace projects cannot be used as a parent.', ['Sub-projects are only supported under personal projects.']);
14
+ }
15
+ return parentProject;
16
+ }
17
+ /**
18
+ * Load every personal project the user has access to (paginated). Used by
19
+ * commands that need to traverse the project hierarchy in memory rather than
20
+ * making N round trips.
21
+ */
22
+ export async function loadPersonalProjects(api) {
23
+ const { results } = await paginate((cursor, limit) => api.getProjects({ cursor: cursor ?? undefined, limit }), { limit: Number.MAX_SAFE_INTEGER, startCursor: undefined });
24
+ return results.filter((p) => !isWorkspaceProject(p));
25
+ }
26
+ /**
27
+ * Returns true if `candidateId` is a descendant of `ancestorId` within the
28
+ * given project set. Walks the parent chain in memory; bails on cycles.
29
+ */
30
+ export function isDescendantOf(projects, candidateId, ancestorId) {
31
+ const byId = new Map(projects.map((p) => [p.id, p]));
32
+ let current = byId.get(candidateId);
33
+ const visited = new Set();
34
+ while (current?.parentId && !visited.has(current.id)) {
35
+ visited.add(current.id);
36
+ if (current.parentId === ancestorId)
37
+ return true;
38
+ current = byId.get(current.parentId);
39
+ }
40
+ return false;
41
+ }
42
+ export function isPersonal(p) {
43
+ return !isWorkspaceProject(p);
44
+ }
45
+ /**
46
+ * Resolve a project reference against an in-memory personal-project list,
47
+ * avoiding extra round trips when the caller has already paginated the
48
+ * full list (e.g. `project reorder`). Mirrors the matching rules of
49
+ * `resolveProjectRef` (id prefix → exact name → substring name) but is
50
+ * scoped to personal projects only.
51
+ */
52
+ export function resolvePersonalFromList(projects, ref) {
53
+ if (!ref.trim()) {
54
+ throw new CliError('INVALID_PROJECT', 'project reference cannot be empty.');
55
+ }
56
+ if (ref.startsWith('id:')) {
57
+ const id = ref.slice(3);
58
+ const match = projects.find((p) => p.id === id);
59
+ if (!match) {
60
+ throw new CliError('PROJECT_NOT_FOUND', `Personal project "${ref}" not found.`);
61
+ }
62
+ return match;
63
+ }
64
+ const lower = ref.toLowerCase();
65
+ const exact = projects.filter((p) => p.name.toLowerCase() === lower);
66
+ if (exact.length === 1)
67
+ return exact[0];
68
+ if (exact.length > 1) {
69
+ throw new CliError('AMBIGUOUS_PROJECT', `Multiple projects match "${ref}" exactly:`, exact.slice(0, 5).map((p) => `"${p.name}" (id:${p.id})`));
70
+ }
71
+ const partial = projects.filter((p) => p.name.toLowerCase().includes(lower));
72
+ if (partial.length === 1)
73
+ return partial[0];
74
+ if (partial.length > 1) {
75
+ throw new CliError('AMBIGUOUS_PROJECT', `Multiple projects match "${ref}":`, partial.slice(0, 5).map((p) => `"${p.name}" (id:${p.id})`));
76
+ }
77
+ throw new CliError('PROJECT_NOT_FOUND', `Personal project "${ref}" not found.`);
78
+ }
2
79
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/commands/project/helpers.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,kBAAkB,GAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/commands/project/helpers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/project/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAA;AAwB3C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2Q7D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/project/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAA;AA0B3C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqS7D"}
@@ -1,6 +1,7 @@
1
1
  import { Option } from 'commander';
2
2
  import { withCaseInsensitiveChoices } from '../../lib/completion.js';
3
3
  import { CURSOR_DESCRIPTION } from '../../lib/constants.js';
4
+ import { parseOrderArg } from '../../lib/order.js';
4
5
  import { showProjectActivityStats } from './activity-stats.js';
5
6
  import { analyzeHealth } from './analyze-health.js';
6
7
  import { archiveProject } from './archive.js';
@@ -18,6 +19,7 @@ import { listProjects } from './list.js';
18
19
  import { moveProject } from './move.js';
19
20
  import { showPermissions } from './permissions.js';
20
21
  import { showProjectProgress } from './progress.js';
22
+ import { reorderProject } from './reorder.js';
21
23
  import { unarchiveProject } from './unarchive.js';
22
24
  import { updateProject } from './update.js';
23
25
  import { viewProject } from './view.js';
@@ -110,6 +112,8 @@ Examples:
110
112
  .option('--no-favorite', 'Remove from favorites')
111
113
  .option('--folder <ref>', 'Move into a folder by name or id:xxx (workspace projects only)')
112
114
  .option('--no-folder', 'Remove from folder (workspace projects only)')
115
+ .option('--parent <ref>', 'Re-nest under a personal parent project (name or id:xxx)')
116
+ .option('--no-parent', 'Move to top level (no parent)')
113
117
  .addOption(withCaseInsensitiveChoices(new Option('--view-style <style>', 'View style (list, board, or calendar)'), VIEW_STYLE_CHOICES))
114
118
  .option('--json', 'Output the updated project as JSON')
115
119
  .option('--dry-run', 'Preview what would happen without executing')
@@ -168,6 +172,26 @@ Examples:
168
172
  }
169
173
  return moveProject(ref, options);
170
174
  });
175
+ const reorderCmd = project
176
+ .command('reorder [ref]')
177
+ .description('Reorder a personal project among its siblings')
178
+ .option('--before <ref>', 'Place before this sibling (name or id:xxx)')
179
+ .option('--after <ref>', 'Place after this sibling (name or id:xxx)')
180
+ .option('--position <n>', 'Move to a 0-indexed position among siblings', parseOrderArg)
181
+ .option('--json', 'Output the new ordering as JSON')
182
+ .option('--dry-run', 'Preview what would happen without executing')
183
+ .addHelpText('after', `
184
+ Examples:
185
+ td project reorder "Roadmap" --before "Marketing"
186
+ td project reorder "Roadmap" --after "Marketing"
187
+ td project reorder "Roadmap" --position 0`)
188
+ .action((ref, options) => {
189
+ if (!ref) {
190
+ reorderCmd.help();
191
+ return;
192
+ }
193
+ return reorderProject(ref, options);
194
+ });
171
195
  project
172
196
  .command('archived')
173
197
  .description('List archived projects')
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/project/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/project/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,MAAM,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAA;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvC,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACnD,MAAM,OAAO,GAAG,OAAO;SAClB,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,iBAAiB,CAAC;SAC9B,WAAW,CACR,OAAO,EACP;;;;uCAI2B,CAC9B,CAAA;IAEL,OAAO;SACF,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,sCAAsC,CAAC;SACnD,MAAM,CAAC,kBAAkB,EAAE,yBAAyB,CAAC;SACrD,MAAM,CAAC,aAAa,EAAE,uCAAuC,CAAC;SAC9D,MAAM,CAAC,mBAAmB,EAAE,kBAAkB,CAAC;SAC/C,MAAM,CAAC,OAAO,EAAE,8BAA8B,CAAC;SAC/C,MAAM,CAAC,YAAY,EAAE,6BAA6B,CAAC;SACnD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,UAAU,EAAE,kCAAkC,CAAC;SACtD,MAAM,CAAC,QAAQ,EAAE,mCAAmC,CAAC;SACrD,MAAM,CAAC,aAAa,EAAE,oCAAoC,CAAC;SAC3D,MAAM,CAAC,YAAY,CAAC,CAAA;IAEzB,OAAO;SACF,OAAO,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;SAC1C,WAAW,CAAC,sBAAsB,CAAC;SACnC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,UAAU,EAAE,kCAAkC,CAAC;SACtD,MAAM,CAAC,QAAQ,EAAE,mCAAmC,CAAC;SACrD,MAAM,CAAC,YAAY,EAAE,2DAA2D,CAAC;SACjF,MAAM,CAAC,aAAa,EAAE,iCAAiC,CAAC;SACxD,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACrB,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,OAAO,CAAC,IAAI,EAAE,CAAA;YACd,OAAM;QACV,CAAC;QACD,OAAO,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACpC,CAAC,CAAC,CAAA;IAEN,MAAM,gBAAgB,GAAG,OAAO;SAC3B,OAAO,CAAC,qBAAqB,CAAC;SAC9B,WAAW,CAAC,4BAA4B,CAAC;SACzC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,UAAU,EAAE,kCAAkC,CAAC;SACtD,MAAM,CAAC,QAAQ,EAAE,mCAAmC,CAAC;SACrD,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACrB,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,gBAAgB,CAAC,IAAI,EAAE,CAAA;YACvB,OAAM;QACV,CAAC;QACD,OAAO,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC,CAAC,CAAA;IAEN,MAAM,SAAS,GAAG,OAAO;SACpB,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,mDAAmD,CAAC;SAChE,MAAM,CAAC,OAAO,EAAE,kBAAkB,CAAC;SACnC,MAAM,CAAC,WAAW,EAAE,6CAA6C,CAAC;SAClE,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACrB,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,SAAS,CAAC,IAAI,EAAE,CAAA;YAChB,OAAM;QACV,CAAC;QACD,OAAO,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;IAEN,MAAM,SAAS,GAAG,OAAO;SACpB,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,kBAAkB,CAAC;SAC/B,MAAM,CAAC,eAAe,EAAE,yBAAyB,CAAC;SAClD,MAAM,CAAC,iBAAiB,EAAE,eAAe,CAAC;SAC1C,MAAM,CAAC,YAAY,EAAE,kBAAkB,CAAC;SACxC,MAAM,CAAC,gBAAgB,EAAE,iCAAiC,CAAC;SAC3D,SAAS,CACN,0BAA0B,CACtB,IAAI,MAAM,CAAC,sBAAsB,EAAE,uCAAuC,CAAC,EAC3E,kBAAkB,CACrB,CACJ;SACA,MAAM,CAAC,QAAQ,EAAE,oCAAoC,CAAC;SACtD,MAAM,CAAC,WAAW,EAAE,6CAA6C,CAAC;SAClE,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;QAChB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAChB,SAAS,CAAC,IAAI,EAAE,CAAA;YAChB,OAAM;QACV,CAAC;QACD,OAAO,aAAa,CAAC,OAAO,CAAC,CAAA;IACjC,CAAC,CAAC,CAAA;IAEN,MAAM,SAAS,GAAG,OAAO;SACpB,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,kBAAkB,CAAC;SAC/B,MAAM,CAAC,eAAe,EAAE,UAAU,CAAC;SACnC,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC;SACtC,MAAM,CAAC,YAAY,EAAE,kBAAkB,CAAC;SACxC,MAAM,CAAC,eAAe,EAAE,uBAAuB,CAAC;SAChD,MAAM,CAAC,gBAAgB,EAAE,gEAAgE,CAAC;SAC1F,MAAM,CAAC,aAAa,EAAE,8CAA8C,CAAC;SACrE,MAAM,CAAC,gBAAgB,EAAE,0DAA0D,CAAC;SACpF,MAAM,CAAC,aAAa,EAAE,+BAA+B,CAAC;SACtD,SAAS,CACN,0BAA0B,CACtB,IAAI,MAAM,CAAC,sBAAsB,EAAE,uCAAuC,CAAC,EAC3E,kBAAkB,CACrB,CACJ;SACA,MAAM,CAAC,QAAQ,EAAE,oCAAoC,CAAC;SACtD,MAAM,CAAC,WAAW,EAAE,6CAA6C,CAAC;SAClE,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACrB,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,SAAS,CAAC,IAAI,EAAE,CAAA;YAChB,OAAM;QACV,CAAC;QACD,OAAO,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;IAEN,MAAM,UAAU,GAAG,OAAO;SACrB,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,mBAAmB,CAAC;SAChC,MAAM,CAAC,WAAW,EAAE,6CAA6C,CAAC;SAClE,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACrB,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,UAAU,CAAC,IAAI,EAAE,CAAA;YACjB,OAAM;QACV,CAAC;QACD,OAAO,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;IAEN,MAAM,YAAY,GAAG,OAAO;SACvB,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CAAC,qBAAqB,CAAC;SAClC,MAAM,CAAC,WAAW,EAAE,6CAA6C,CAAC;SAClE,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACrB,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,YAAY,CAAC,IAAI,EAAE,CAAA;YACnB,OAAM;QACV,CAAC;QACD,OAAO,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;IAEN,MAAM,SAAS,GAAG,OAAO;SACpB,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,yBAAyB,CAAC;SACtC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACZ,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,SAAS,CAAC,IAAI,EAAE,CAAA;YAChB,OAAM;QACV,CAAC;QACD,OAAO,aAAa,CAAC,GAAG,CAAC,CAAA;IAC7B,CAAC,CAAC,CAAA;IAEN,MAAM,OAAO,GAAG,OAAO;SAClB,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CAAC,6CAA6C,CAAC;SAC1D,MAAM,CAAC,sBAAsB,EAAE,mCAAmC,CAAC;SACnE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC;SAC3C,MAAM,CAAC,gBAAgB,EAAE,6CAA6C,CAAC;SACvE,MAAM,CAAC,sBAAsB,EAAE,8CAA8C,CAAC;SAC9E,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC;SAC/B,MAAM,CAAC,WAAW,EAAE,6CAA6C,CAAC;SAClE,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACrB,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,OAAO,CAAC,IAAI,EAAE,CAAA;YACd,OAAM;QACV,CAAC;QACD,OAAO,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACpC,CAAC,CAAC,CAAA;IAEN,MAAM,UAAU,GAAG,OAAO;SACrB,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,+CAA+C,CAAC;SAC5D,MAAM,CAAC,gBAAgB,EAAE,4CAA4C,CAAC;SACtE,MAAM,CAAC,eAAe,EAAE,2CAA2C,CAAC;SACpE,MAAM,CAAC,gBAAgB,EAAE,6CAA6C,EAAE,aAAa,CAAC;SACtF,MAAM,CAAC,QAAQ,EAAE,iCAAiC,CAAC;SACnD,MAAM,CAAC,WAAW,EAAE,6CAA6C,CAAC;SAClE,WAAW,CACR,OAAO,EACP;;;;4CAIgC,CACnC;SACA,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACrB,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,UAAU,CAAC,IAAI,EAAE,CAAA;YACjB,OAAM;QACV,CAAC;QACD,OAAO,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;IAEN,OAAO;SACF,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,wBAAwB,CAAC;SACrC,MAAM,CAAC,aAAa,EAAE,uCAAuC,CAAC;SAC9D,MAAM,CAAC,mBAAmB,EAAE,kBAAkB,CAAC;SAC/C,MAAM,CAAC,OAAO,EAAE,8BAA8B,CAAC;SAC/C,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,UAAU,EAAE,kCAAkC,CAAC;SACtD,MAAM,CAAC,QAAQ,EAAE,mCAAmC,CAAC;SACrD,MAAM,CAAC,aAAa,EAAE,oCAAoC,CAAC;SAC3D,MAAM,CAAC,oBAAoB,CAAC,CAAA;IAEjC,OAAO;SACF,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,yBAAyB,CAAC;SACtC,MAAM,CAAC,mBAAmB,EAAE,wCAAwC,CAAC;SACrE,MAAM,CAAC,UAAU,EAAE,4BAA4B,CAAC;SAChD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,aAAa,CAAC,CAAA;IAE1B,OAAO;SACF,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,0CAA0C,CAAC;SACvD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,eAAe,CAAC,CAAA;IAE5B,OAAO;SACF,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,uBAAuB,CAAC;SACpC,MAAM,CAAC,QAAQ,EAAE,mCAAmC,CAAC;SACrD,MAAM,CAAC,WAAW,EAAE,6CAA6C,CAAC;SAClE,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE;QACpB,OAAO,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;IAEN,MAAM,WAAW,GAAG,OAAO;SACtB,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,kCAAkC,CAAC;SAC/C,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACrB,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,WAAW,CAAC,IAAI,EAAE,CAAA;YAClB,OAAM;QACV,CAAC;QACD,OAAO,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;IAEN,MAAM,SAAS,GAAG,OAAO;SACpB,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,gDAAgD,CAAC;SAC7D,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACrB,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,SAAS,CAAC,IAAI,EAAE,CAAA;YAChB,OAAM;QACV,CAAC;QACD,OAAO,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC,CAAC,CAAA;IAEN,MAAM,gBAAgB,GAAG,OAAO;SAC3B,OAAO,CAAC,sBAAsB,CAAC;SAC/B,WAAW,CAAC,sEAAsE,CAAC;SACnF,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACrB,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,gBAAgB,CAAC,IAAI,EAAE,CAAA;YACvB,OAAM;QACV,CAAC;QACD,OAAO,wBAAwB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACjD,CAAC,CAAC,CAAA;IAEN,MAAM,gBAAgB,GAAG,OAAO;SAC3B,OAAO,CAAC,sBAAsB,CAAC;SAC/B,WAAW,CAAC,kCAAkC,CAAC;SAC/C,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,aAAa,EAAE,gCAAgC,CAAC;SACvD,MAAM,CAAC,kBAAkB,EAAE,8BAA8B,CAAC;SAC1D,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACrB,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,gBAAgB,CAAC,IAAI,EAAE,CAAA;YACvB,OAAM;QACV,CAAC;QACD,OAAO,wBAAwB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACjD,CAAC,CAAC,CAAA;IAEN,MAAM,gBAAgB,GAAG,OAAO;SAC3B,OAAO,CAAC,sBAAsB,CAAC;SAC/B,WAAW,CAAC,6CAA6C,CAAC;SAC1D,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,WAAW,EAAE,6CAA6C,CAAC;SAClE,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACrB,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,gBAAgB,CAAC,IAAI,EAAE,CAAA;YACvB,OAAM;QACV,CAAC;QACD,OAAO,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;AACV,CAAC"}
@@ -0,0 +1,9 @@
1
+ export type ReorderOptions = {
2
+ before?: string;
3
+ after?: string;
4
+ position?: number;
5
+ json?: boolean;
6
+ dryRun?: boolean;
7
+ };
8
+ export declare function reorderProject(ref: string, options: ReorderOptions): Promise<void>;
9
+ //# sourceMappingURL=reorder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reorder.d.ts","sourceRoot":"","sources":["../../../src/commands/project/reorder.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,cAAc,GAAG;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAmGxF"}
@@ -0,0 +1,80 @@
1
+ import { isWorkspaceProject } from '@doist/todoist-sdk';
2
+ import { getApi } from '../../lib/api/core.js';
3
+ import { reorderProjects } from '../../lib/api/projects-sync.js';
4
+ import { CliError } from '../../lib/errors.js';
5
+ import { isQuiet } from '../../lib/global-args.js';
6
+ import { formatJson } from '../../lib/output.js';
7
+ import { resolveProjectRef } from '../../lib/refs.js';
8
+ import { loadPersonalProjects, resolvePersonalFromList } from './helpers.js';
9
+ export async function reorderProject(ref, options) {
10
+ const flagCount = [options.before, options.after, options.position].filter((v) => v !== undefined).length;
11
+ if (flagCount === 0) {
12
+ throw new CliError('INVALID_OPTIONS', 'Specify exactly one of --before <ref>, --after <ref>, or --position <n>.');
13
+ }
14
+ if (flagCount > 1) {
15
+ throw new CliError('INVALID_OPTIONS', '--before, --after, and --position are mutually exclusive.');
16
+ }
17
+ const api = await getApi();
18
+ const target = await resolveProjectRef(api, ref);
19
+ if (isWorkspaceProject(target)) {
20
+ throw new CliError('WORKSPACE_REORDER_UNSUPPORTED', 'Reorder is only supported for personal projects.');
21
+ }
22
+ const allPersonal = await loadPersonalProjects(api);
23
+ const targetParentId = target.parentId ?? null;
24
+ const siblings = allPersonal
25
+ .filter((p) => (p.parentId ?? null) === targetParentId)
26
+ .sort((a, b) => a.childOrder - b.childOrder);
27
+ const oldIndex = siblings.findIndex((p) => p.id === target.id);
28
+ if (oldIndex === -1) {
29
+ throw new CliError('NOT_FOUND', 'Target project not found among siblings.');
30
+ }
31
+ let newIndex;
32
+ if (options.position !== undefined) {
33
+ newIndex = Math.min(options.position, siblings.length - 1);
34
+ }
35
+ else {
36
+ const siblingRef = (options.before ?? options.after);
37
+ const sibling = resolvePersonalFromList(allPersonal, siblingRef);
38
+ if (sibling.id === target.id) {
39
+ throw new CliError('INVALID_OPTIONS', 'Cannot reorder a project relative to itself.');
40
+ }
41
+ if ((sibling.parentId ?? null) !== targetParentId) {
42
+ throw new CliError('NOT_SIBLINGS', `Project "${sibling.name}" is not a sibling of "${target.name}".`);
43
+ }
44
+ const siblingIdx = siblings.findIndex((p) => p.id === sibling.id);
45
+ const adjusted = siblingIdx > oldIndex ? siblingIdx - 1 : siblingIdx;
46
+ newIndex = options.before !== undefined ? adjusted : adjusted + 1;
47
+ }
48
+ if (newIndex === oldIndex) {
49
+ if (options.json) {
50
+ console.log(formatJson(siblings.map((p, i) => ({ id: p.id, name: p.name, position: i }))));
51
+ return;
52
+ }
53
+ if (!isQuiet()) {
54
+ console.log(`No change: "${target.name}" already at position ${oldIndex}.`);
55
+ }
56
+ return;
57
+ }
58
+ const newOrder = [...siblings];
59
+ const [removed] = newOrder.splice(oldIndex, 1);
60
+ newOrder.splice(newIndex, 0, removed);
61
+ const items = newOrder.map((p, i) => ({ id: p.id, childOrder: i + 1 }));
62
+ if (options.dryRun) {
63
+ console.log(`Would reorder "${target.name}": position ${oldIndex} → ${newIndex}`);
64
+ console.log('New sibling order:');
65
+ for (let i = 0; i < newOrder.length; i++) {
66
+ const marker = newOrder[i].id === target.id ? '→' : ' ';
67
+ console.log(` ${marker} ${i}: ${newOrder[i].name} (id:${newOrder[i].id})`);
68
+ }
69
+ return;
70
+ }
71
+ await reorderProjects(items);
72
+ if (options.json) {
73
+ console.log(formatJson(newOrder.map((p, i) => ({ id: p.id, name: p.name, position: i }))));
74
+ return;
75
+ }
76
+ if (!isQuiet()) {
77
+ console.log(`Reordered "${target.name}" (id:${target.id}): position ${oldIndex} → ${newIndex} of ${siblings.length - 1}.`);
78
+ }
79
+ }
80
+ //# sourceMappingURL=reorder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reorder.js","sourceRoot":"","sources":["../../../src/commands/project/reorder.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export interface UpdateOptions {
4
4
  color?: ColorKey;
5
5
  favorite?: boolean;
6
6
  folder?: string | false;
7
+ parent?: string | false;
7
8
  viewStyle?: string;
8
9
  json?: boolean;
9
10
  dryRun?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/commands/project/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,QAAQ,EAAyB,MAAM,oBAAoB,CAAA;AAQ7F,MAAM,WAAW,aAAa;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,QAAQ,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA+DtF"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/commands/project/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,QAAQ,EAAyB,MAAM,oBAAoB,CAAA;AAU7F,MAAM,WAAW,aAAa;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,QAAQ,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA0HtF"}
@@ -1,10 +1,12 @@
1
1
  import { isWorkspaceProject } from '@doist/todoist-sdk';
2
2
  import { getApi } from '../../lib/api/core.js';
3
+ import { moveProjectParent } from '../../lib/api/projects-sync.js';
3
4
  import { CliError } from '../../lib/errors.js';
4
5
  import { isQuiet } from '../../lib/global-args.js';
5
6
  import { formatJson, printDryRun } from '../../lib/output.js';
6
7
  import { resolveProjectRef } from '../../lib/refs.js';
7
8
  import { resolveFolderByRef } from '../folder/helpers.js';
9
+ import { isDescendantOf, loadPersonalProjects, resolvePersonalParent } from './helpers.js';
8
10
  export async function updateProject(ref, options) {
9
11
  const api = await getApi();
10
12
  const project = await resolveProjectRef(api, ref);
@@ -33,7 +35,33 @@ export async function updateProject(ref, options) {
33
35
  args.folderId = folder.id;
34
36
  }
35
37
  }
36
- if (Object.keys(args).length === 0) {
38
+ let newParentId;
39
+ let newParentName;
40
+ if (options.parent !== undefined) {
41
+ if (isWorkspaceProject(project)) {
42
+ throw new CliError('WORKSPACE_NO_SUBPROJECTS', 'Workspace projects cannot be nested under another project.', ['Sub-projects are only supported for personal projects.']);
43
+ }
44
+ const currentParentId = project.parentId ?? null;
45
+ if (options.parent === false) {
46
+ if (currentParentId !== null)
47
+ newParentId = null;
48
+ }
49
+ else {
50
+ const parentProject = await resolvePersonalParent(api, options.parent);
51
+ if (parentProject.id === project.id) {
52
+ throw new CliError('INVALID_OPTIONS', 'Cannot set a project as its own parent.');
53
+ }
54
+ if (parentProject.id !== currentParentId) {
55
+ const allPersonal = await loadPersonalProjects(api);
56
+ if (isDescendantOf(allPersonal, parentProject.id, project.id)) {
57
+ throw new CliError('INVALID_OPTIONS', `Cannot nest "${project.name}" under "${parentProject.name}": that would create a cycle.`);
58
+ }
59
+ newParentId = parentProject.id;
60
+ newParentName = parentProject.name;
61
+ }
62
+ }
63
+ }
64
+ if (Object.keys(args).length === 0 && newParentId === undefined) {
37
65
  throw new CliError('NO_CHANGES', 'No changes specified.');
38
66
  }
39
67
  if (options.dryRun) {
@@ -47,16 +75,41 @@ export async function updateProject(ref, options) {
47
75
  : args.folderId !== undefined
48
76
  ? args.folderId
49
77
  : undefined,
78
+ Parent: newParentId === null
79
+ ? '(none)'
80
+ : newParentId !== undefined
81
+ ? (newParentName ?? newParentId)
82
+ : undefined,
50
83
  'View style': args.viewStyle,
51
84
  });
52
85
  return;
53
86
  }
54
- const updated = await api.updateProject(project.id, args);
87
+ let updatedName = project.name;
88
+ if (Object.keys(args).length > 0) {
89
+ const updated = await api.updateProject(project.id, args);
90
+ updatedName = updated.name;
91
+ if (options.json && newParentId === undefined) {
92
+ console.log(formatJson(updated, 'project'));
93
+ return;
94
+ }
95
+ }
96
+ if (newParentId !== undefined) {
97
+ await moveProjectParent(project.id, newParentId);
98
+ }
55
99
  if (options.json) {
56
- console.log(formatJson(updated, 'project'));
100
+ const refreshed = await resolveProjectRef(api, `id:${project.id}`);
101
+ console.log(formatJson(refreshed, 'project'));
57
102
  return;
58
103
  }
59
- if (!isQuiet())
60
- console.log(`Updated: ${updated.name} (id:${project.id})`);
104
+ if (!isQuiet()) {
105
+ let msg = `Updated: ${updatedName} (id:${project.id})`;
106
+ if (newParentId === null) {
107
+ msg += ' → moved to top level';
108
+ }
109
+ else if (newParentId !== undefined) {
110
+ msg += ` → moved under "${newParentName}"`;
111
+ }
112
+ console.log(msg);
113
+ }
61
114
  }
62
115
  //# sourceMappingURL=update.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/project/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/project/update.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare function moveProjectParent(id: string, parentId: string | null): Promise<void>;
2
+ export declare function reorderProjects(items: Array<{
3
+ id: string;
4
+ childOrder: number;
5
+ }>): Promise<void>;
6
+ //# sourceMappingURL=projects-sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projects-sync.d.ts","sourceRoot":"","sources":["../../../src/lib/api/projects-sync.ts"],"names":[],"mappings":"AAGA,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAK1F;AAED,wBAAsB,eAAe,CACjC,KAAK,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,GACjD,OAAO,CAAC,IAAI,CAAC,CAKf"}
@@ -0,0 +1,15 @@
1
+ import { createCommand } from '@doist/todoist-sdk';
2
+ import { getApi } from './core.js';
3
+ export async function moveProjectParent(id, parentId) {
4
+ const api = await getApi();
5
+ await api.sync({
6
+ commands: [createCommand('project_move', { id, parentId })],
7
+ });
8
+ }
9
+ export async function reorderProjects(items) {
10
+ const api = await getApi();
11
+ await api.sync({
12
+ commands: [createCommand('project_reorder', { projects: items })],
13
+ });
14
+ }
15
+ //# sourceMappingURL=projects-sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projects-sync.js","sourceRoot":"","sources":["../../../src/lib/api/projects-sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,EAAU,EAAE,QAAuB;IACvE,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;IAC1B,MAAM,GAAG,CAAC,IAAI,CAAC;QACX,QAAQ,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;KAC9D,CAAC,CAAA;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACjC,KAAgD;IAEhD,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;IAC1B,MAAM,GAAG,CAAC,IAAI,CAAC;QACX,QAAQ,EAAE,CAAC,aAAa,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;KACpE,CAAC,CAAA;AACN,CAAC"}
@@ -43,6 +43,7 @@ export declare function accountToUpsertInput(account: TodoistAccount, token: str
43
43
  */
44
44
  export type TodoistTokenStore = TokenStore<TodoistAccount> & {
45
45
  getLastStorageResult(): TokenStorageResult | undefined;
46
+ getLastClearResult(): TokenStorageResult | undefined;
46
47
  };
47
48
  export declare function createTodoistTokenStore(): TodoistTokenStore;
48
49
  //# sourceMappingURL=auth-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth-store.d.ts","sourceRoot":"","sources":["../../src/lib/auth-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAIH,KAAK,kBAAkB,EAGvB,KAAK,eAAe,EACvB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAA+B,MAAM,aAAa,CAAA;AAIvF;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG;IACvC,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,QAAQ,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,QAAQ,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAA;CACzB,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,mBAAmB,GAAG,cAAc,CAS3E;AAED,mFAAmF;AACnF,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,eAAe,CAS5F;AAYD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,cAAc,CAAC,GAAG;IACzD,oBAAoB,IAAI,kBAAkB,GAAG,SAAS,CAAA;CACzD,CAAA;AAED,wBAAgB,uBAAuB,IAAI,iBAAiB,CAoD3D"}
1
+ {"version":3,"file":"auth-store.d.ts","sourceRoot":"","sources":["../../src/lib/auth-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAIH,KAAK,kBAAkB,EAGvB,KAAK,eAAe,EACvB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAA+B,MAAM,aAAa,CAAA;AAIvF;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG;IACvC,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,QAAQ,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,QAAQ,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAA;CACzB,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,mBAAmB,GAAG,cAAc,CAS3E;AAED,mFAAmF;AACnF,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,eAAe,CAS5F;AAYD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,cAAc,CAAC,GAAG;IACzD,oBAAoB,IAAI,kBAAkB,GAAG,SAAS,CAAA;IACtD,kBAAkB,IAAI,kBAAkB,GAAG,SAAS,CAAA;CACvD,CAAA;AAED,wBAAgB,uBAAuB,IAAI,iBAAiB,CAyD3D"}
@@ -40,6 +40,7 @@ function storedUserToAccount(user) {
40
40
  }
41
41
  export function createTodoistTokenStore() {
42
42
  let lastStorageResult;
43
+ let lastClearResult;
43
44
  return {
44
45
  /**
45
46
  * Pure view of persisted state. Deliberately ignores the global
@@ -81,11 +82,14 @@ export function createTodoistTokenStore() {
81
82
  lastStorageResult = result;
82
83
  },
83
84
  async clear() {
84
- await clearApiToken();
85
+ lastClearResult = await clearApiToken();
85
86
  },
86
87
  getLastStorageResult() {
87
88
  return lastStorageResult;
88
89
  },
90
+ getLastClearResult() {
91
+ return lastClearResult;
92
+ },
89
93
  };
90
94
  }
91
95
  //# sourceMappingURL=auth-store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth-store.js","sourceRoot":"","sources":["../../src/lib/auth-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth-store.js","sourceRoot":"","sources":["../../src/lib/auth-store.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ export type { ErrorType } from '@doist/cli-core';
6
6
  * This union provides intellisense suggestions while still accepting any string,
7
7
  * allowing dynamic codes (e.g., `${entity}_NOT_FOUND`) and future additions.
8
8
  */
9
- export type ErrorCode = 'AUTH_ERROR' | 'AUTH_FAILED' | 'INVALID_TOKEN' | 'NO_TOKEN' | 'READ_ONLY' | 'TOKEN_FROM_ENV' | 'API_ERROR' | 'INTERNAL_ERROR' | 'RATE_LIMITED' | 'REGISTRY_ERROR' | 'UPLOAD_FAILED' | 'CONFIRMATION_REQUIRED' | 'CONFLICTING_OPTIONS' | 'INVALID_AUTO_REMINDER' | 'INVALID_BOOLEAN' | 'INVALID_DATE' | 'INVALID_DATETIME' | 'INVALID_DATE_FORMAT' | 'INVALID_DAY' | 'INVALID_DURATION' | 'INVALID_GOAL' | 'INVALID_OPTIONS' | 'INVALID_ORDER' | 'INVALID_PRIORITY' | 'INVALID_REF' | 'INVALID_THEME' | 'INVALID_TIME_FORMAT' | 'INVALID_TYPE' | 'INVALID_URL' | 'INVALID_VISIBILITY' | 'INVALID_ROLE' | 'NOT_ADMIN' | 'MISSING_CONTENT' | 'MISSING_DESTINATION' | 'MISSING_FILE' | 'MISSING_ID' | 'MISSING_INVITATION_DATA' | 'MISSING_NAME' | 'MISSING_TEMPLATE_ID' | 'MISSING_TIME' | 'MISSING_TYPE' | 'ASSIGNEE_NOT_FOUND' | 'FILTER_NOT_FOUND' | 'LABEL_NOT_FOUND' | 'NOT_FOUND' | 'NOTIFICATION_NOT_FOUND' | 'PARENT_NOT_FOUND' | 'PROJECT_NOT_FOUND' | 'SECTION_NOT_FOUND' | 'TASK_NOT_FOUND' | 'WORKSPACE_NOT_FOUND' | 'FOLDER_NOT_FOUND' | 'AMBIGUOUS_ASSIGNEE' | 'AMBIGUOUS_FILTER' | 'AMBIGUOUS_FOLDER' | 'AMBIGUOUS_PROJECT' | 'AMBIGUOUS_SECTION' | 'AMBIGUOUS_TASK' | 'AMBIGUOUS_WORKSPACE' | 'ALREADY_EXISTS' | 'FETCH_FAILED' | 'FILE_NOT_FOUND' | 'FILE_READ_ERROR' | 'FILE_TOO_LARGE' | 'NO_CHANGES' | 'NO_DUE_DATE' | 'NO_DUE_TIME' | 'NO_URL' | 'NOT_INSTALLED' | 'NOT_SHARED' | 'PROJECT_ARCHIVED' | 'UNKNOWN_AGENT' | (string & {});
9
+ export type ErrorCode = 'AUTH_ERROR' | 'AUTH_FAILED' | 'INVALID_TOKEN' | 'NO_TOKEN' | 'READ_ONLY' | 'TOKEN_FROM_ENV' | 'API_ERROR' | 'INTERNAL_ERROR' | 'RATE_LIMITED' | 'REGISTRY_ERROR' | 'UPLOAD_FAILED' | 'CONFIRMATION_REQUIRED' | 'CONFLICTING_OPTIONS' | 'INVALID_AUTO_REMINDER' | 'INVALID_BOOLEAN' | 'INVALID_DATE' | 'INVALID_DATETIME' | 'INVALID_DATE_FORMAT' | 'INVALID_DAY' | 'INVALID_DURATION' | 'INVALID_GOAL' | 'INVALID_OPTIONS' | 'INVALID_ORDER' | 'INVALID_PRIORITY' | 'INVALID_REF' | 'INVALID_THEME' | 'INVALID_TIME_FORMAT' | 'INVALID_TYPE' | 'INVALID_URL' | 'INVALID_VISIBILITY' | 'INVALID_ROLE' | 'NOT_ADMIN' | 'NOT_SIBLINGS' | 'WORKSPACE_NO_SUBPROJECTS' | 'WORKSPACE_REORDER_UNSUPPORTED' | 'MISSING_CONTENT' | 'MISSING_DESTINATION' | 'MISSING_FILE' | 'MISSING_ID' | 'MISSING_INVITATION_DATA' | 'MISSING_NAME' | 'MISSING_TEMPLATE_ID' | 'MISSING_TIME' | 'MISSING_TYPE' | 'ASSIGNEE_NOT_FOUND' | 'FILTER_NOT_FOUND' | 'LABEL_NOT_FOUND' | 'NOT_FOUND' | 'NOTIFICATION_NOT_FOUND' | 'PARENT_NOT_FOUND' | 'PROJECT_NOT_FOUND' | 'SECTION_NOT_FOUND' | 'TASK_NOT_FOUND' | 'WORKSPACE_NOT_FOUND' | 'FOLDER_NOT_FOUND' | 'AMBIGUOUS_ASSIGNEE' | 'AMBIGUOUS_FILTER' | 'AMBIGUOUS_FOLDER' | 'AMBIGUOUS_PROJECT' | 'AMBIGUOUS_SECTION' | 'AMBIGUOUS_TASK' | 'AMBIGUOUS_WORKSPACE' | 'ALREADY_EXISTS' | 'FETCH_FAILED' | 'FILE_NOT_FOUND' | 'FILE_READ_ERROR' | 'FILE_TOO_LARGE' | 'NO_CHANGES' | 'NO_DUE_DATE' | 'NO_DUE_TIME' | 'NO_URL' | 'NOT_INSTALLED' | 'NOT_SHARED' | 'PROJECT_ARCHIVED' | 'UNKNOWN_AGENT' | (string & {});
10
10
  /**
11
11
  * Todoist-flavoured CliError that preserves the historical positional
12
12
  * `(code, message, hints?, type?)` signature used across hundreds of call
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE7F,OAAO,EAAE,YAAY,EAAE,CAAA;AACvB,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAEhD;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAEf,YAAY,GACZ,aAAa,GACb,eAAe,GACf,UAAU,GACV,WAAW,GACX,gBAAgB,GAEhB,WAAW,GACX,gBAAgB,GAChB,cAAc,GACd,gBAAgB,GAChB,eAAe,GAEf,uBAAuB,GACvB,qBAAqB,GACrB,uBAAuB,GACvB,iBAAiB,GACjB,cAAc,GACd,kBAAkB,GAClB,qBAAqB,GACrB,aAAa,GACb,kBAAkB,GAClB,cAAc,GACd,iBAAiB,GACjB,eAAe,GACf,kBAAkB,GAClB,aAAa,GACb,eAAe,GACf,qBAAqB,GACrB,cAAc,GACd,aAAa,GACb,oBAAoB,GACpB,cAAc,GACd,WAAW,GAEX,iBAAiB,GACjB,qBAAqB,GACrB,cAAc,GACd,YAAY,GACZ,yBAAyB,GACzB,cAAc,GACd,qBAAqB,GACrB,cAAc,GACd,cAAc,GAEd,oBAAoB,GACpB,kBAAkB,GAClB,iBAAiB,GACjB,WAAW,GACX,wBAAwB,GACxB,kBAAkB,GAClB,mBAAmB,GACnB,mBAAmB,GACnB,gBAAgB,GAChB,qBAAqB,GACrB,kBAAkB,GAElB,oBAAoB,GACpB,kBAAkB,GAClB,kBAAkB,GAClB,mBAAmB,GACnB,mBAAmB,GACnB,gBAAgB,GAChB,qBAAqB,GAErB,gBAAgB,GAChB,cAAc,GACd,gBAAgB,GAChB,iBAAiB,GACjB,gBAAgB,GAChB,YAAY,GACZ,aAAa,GACb,aAAa,GACb,QAAQ,GACR,eAAe,GACf,YAAY,GACZ,kBAAkB,GAClB,eAAe,GAEf,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;AAEnB;;;;;;;;;GASG;AACH,qBAAa,QAAS,SAAQ,YAAY,CAAC,SAAS,CAAC;gBAE7C,IAAI,EAAE,SAAS,GAAG,YAAY,EAC9B,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,EAAE,EAChB,IAAI,GAAE,SAAmB;CAIhC"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE7F,OAAO,EAAE,YAAY,EAAE,CAAA;AACvB,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAEhD;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAEf,YAAY,GACZ,aAAa,GACb,eAAe,GACf,UAAU,GACV,WAAW,GACX,gBAAgB,GAEhB,WAAW,GACX,gBAAgB,GAChB,cAAc,GACd,gBAAgB,GAChB,eAAe,GAEf,uBAAuB,GACvB,qBAAqB,GACrB,uBAAuB,GACvB,iBAAiB,GACjB,cAAc,GACd,kBAAkB,GAClB,qBAAqB,GACrB,aAAa,GACb,kBAAkB,GAClB,cAAc,GACd,iBAAiB,GACjB,eAAe,GACf,kBAAkB,GAClB,aAAa,GACb,eAAe,GACf,qBAAqB,GACrB,cAAc,GACd,aAAa,GACb,oBAAoB,GACpB,cAAc,GACd,WAAW,GACX,cAAc,GACd,0BAA0B,GAC1B,+BAA+B,GAE/B,iBAAiB,GACjB,qBAAqB,GACrB,cAAc,GACd,YAAY,GACZ,yBAAyB,GACzB,cAAc,GACd,qBAAqB,GACrB,cAAc,GACd,cAAc,GAEd,oBAAoB,GACpB,kBAAkB,GAClB,iBAAiB,GACjB,WAAW,GACX,wBAAwB,GACxB,kBAAkB,GAClB,mBAAmB,GACnB,mBAAmB,GACnB,gBAAgB,GAChB,qBAAqB,GACrB,kBAAkB,GAElB,oBAAoB,GACpB,kBAAkB,GAClB,kBAAkB,GAClB,mBAAmB,GACnB,mBAAmB,GACnB,gBAAgB,GAChB,qBAAqB,GAErB,gBAAgB,GAChB,cAAc,GACd,gBAAgB,GAChB,iBAAiB,GACjB,gBAAgB,GAChB,YAAY,GACZ,aAAa,GACb,aAAa,GACb,QAAQ,GACR,eAAe,GACf,YAAY,GACZ,kBAAkB,GAClB,eAAe,GAEf,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;AAEnB;;;;;;;;;GASG;AACH,qBAAa,QAAS,SAAQ,YAAY,CAAC,SAAS,CAAC;gBAE7C,IAAI,EAAE,SAAS,GAAG,YAAY,EAC9B,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,EAAE,EAChB,IAAI,GAAE,SAAmB;CAIhC"}
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAqC,MAAM,iBAAiB,CAAA;AAE7F,OAAO,EAAE,YAAY,EAAE,CAAA;AA2FvB;;;;;;;;;GASG;AACH,MAAM,OAAO,QAAS,SAAQ,YAAuB;IACjD,YACI,IAA8B,EAC9B,OAAe,EACf,KAAgB,EAChB,OAAkB,OAAO;QAEzB,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IACzC,CAAC;CACJ"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAqC,MAAM,iBAAiB,CAAA;AAE7F,OAAO,EAAE,YAAY,EAAE,CAAA;AA8FvB;;;;;;;;;GASG;AACH,MAAM,OAAO,QAAS,SAAQ,YAAuB;IACjD,YACI,IAA8B,EAC9B,OAAe,EACf,KAAgB,EAChB,OAAkB,OAAO;QAEzB,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IACzC,CAAC;CACJ"}
@@ -0,0 +1,2 @@
1
+ export declare function parseOrderArg(val: string): number;
2
+ //# sourceMappingURL=order.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order.d.ts","sourceRoot":"","sources":["../../src/lib/order.ts"],"names":[],"mappings":"AAEA,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQjD"}
@@ -0,0 +1,11 @@
1
+ import { CliError } from './errors.js';
2
+ export function parseOrderArg(val) {
3
+ const n = Number(val);
4
+ if (!Number.isInteger(n) || n < 0) {
5
+ throw new CliError('INVALID_ORDER', `Invalid order value: "${val}"`, [
6
+ 'Order must be a non-negative integer (e.g., 0 for top of list)',
7
+ ]);
8
+ }
9
+ return n;
10
+ }
11
+ //# sourceMappingURL=order.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order.js","sourceRoot":"","sources":["../../src/lib/order.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,MAAM,UAAU,aAAa,CAAC,GAAW;IACrC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;IACrB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,QAAQ,CAAC,eAAe,EAAE,yBAAyB,GAAG,GAAG,EAAE;YACjE,gEAAgE;SACnE,CAAC,CAAA;IACN,CAAC;IACD,OAAO,CAAC,CAAA;AACZ,CAAC"}