@doist/todoist-cli 1.38.1 → 1.39.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 (283) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/commands/activity.d.ts.map +1 -1
  3. package/dist/commands/activity.js +2 -1
  4. package/dist/commands/activity.js.map +1 -1
  5. package/dist/commands/attachment.d.ts.map +1 -1
  6. package/dist/commands/attachment.js +4 -3
  7. package/dist/commands/attachment.js.map +1 -1
  8. package/dist/commands/auth/status.d.ts.map +1 -1
  9. package/dist/commands/auth/status.js +18 -41
  10. package/dist/commands/auth/status.js.map +1 -1
  11. package/dist/commands/comment/add.d.ts.map +1 -1
  12. package/dist/commands/comment/add.js +6 -4
  13. package/dist/commands/comment/add.js.map +1 -1
  14. package/dist/commands/comment/browse.d.ts.map +1 -1
  15. package/dist/commands/comment/browse.js +2 -1
  16. package/dist/commands/comment/browse.js.map +1 -1
  17. package/dist/commands/comment/delete.d.ts.map +1 -1
  18. package/dist/commands/comment/delete.js +2 -1
  19. package/dist/commands/comment/delete.js.map +1 -1
  20. package/dist/commands/comment/index.d.ts.map +1 -1
  21. package/dist/commands/comment/index.js +8 -1
  22. package/dist/commands/comment/index.js.map +1 -1
  23. package/dist/commands/comment/update.d.ts.map +1 -1
  24. package/dist/commands/comment/update.js +2 -1
  25. package/dist/commands/comment/update.js.map +1 -1
  26. package/dist/commands/doctor.d.ts +9 -0
  27. package/dist/commands/doctor.d.ts.map +1 -0
  28. package/dist/commands/doctor.js +249 -0
  29. package/dist/commands/doctor.js.map +1 -0
  30. package/dist/commands/filter/create.d.ts.map +1 -1
  31. package/dist/commands/filter/create.js +2 -1
  32. package/dist/commands/filter/create.js.map +1 -1
  33. package/dist/commands/filter/delete.d.ts.map +1 -1
  34. package/dist/commands/filter/delete.js +2 -1
  35. package/dist/commands/filter/delete.js.map +1 -1
  36. package/dist/commands/filter/helpers.d.ts.map +1 -1
  37. package/dist/commands/filter/helpers.js +5 -5
  38. package/dist/commands/filter/helpers.js.map +1 -1
  39. package/dist/commands/filter/list.d.ts.map +1 -1
  40. package/dist/commands/filter/list.js +2 -1
  41. package/dist/commands/filter/list.js.map +1 -1
  42. package/dist/commands/filter/update.d.ts.map +1 -1
  43. package/dist/commands/filter/update.js +4 -2
  44. package/dist/commands/filter/update.js.map +1 -1
  45. package/dist/commands/filter/view.d.ts.map +1 -1
  46. package/dist/commands/filter/view.js +3 -4
  47. package/dist/commands/filter/view.js.map +1 -1
  48. package/dist/commands/label/create.d.ts.map +1 -1
  49. package/dist/commands/label/create.js +2 -1
  50. package/dist/commands/label/create.js.map +1 -1
  51. package/dist/commands/label/delete.d.ts.map +1 -1
  52. package/dist/commands/label/delete.js +2 -1
  53. package/dist/commands/label/delete.js.map +1 -1
  54. package/dist/commands/label/helpers.js +5 -5
  55. package/dist/commands/label/helpers.js.map +1 -1
  56. package/dist/commands/label/index.d.ts.map +1 -1
  57. package/dist/commands/label/index.js +8 -1
  58. package/dist/commands/label/index.js.map +1 -1
  59. package/dist/commands/label/list.d.ts.map +1 -1
  60. package/dist/commands/label/list.js +2 -1
  61. package/dist/commands/label/list.js.map +1 -1
  62. package/dist/commands/label/update.d.ts.map +1 -1
  63. package/dist/commands/label/update.js +4 -2
  64. package/dist/commands/label/update.js.map +1 -1
  65. package/dist/commands/notification/accept.d.ts.map +1 -1
  66. package/dist/commands/notification/accept.js +3 -3
  67. package/dist/commands/notification/accept.js.map +1 -1
  68. package/dist/commands/notification/helpers.js +2 -2
  69. package/dist/commands/notification/helpers.js.map +1 -1
  70. package/dist/commands/notification/list.d.ts.map +1 -1
  71. package/dist/commands/notification/list.js +3 -2
  72. package/dist/commands/notification/list.js.map +1 -1
  73. package/dist/commands/notification/read.d.ts.map +1 -1
  74. package/dist/commands/notification/read.js +3 -2
  75. package/dist/commands/notification/read.js.map +1 -1
  76. package/dist/commands/notification/reject.d.ts.map +1 -1
  77. package/dist/commands/notification/reject.js +3 -3
  78. package/dist/commands/notification/reject.js.map +1 -1
  79. package/dist/commands/project/activity-stats.d.ts.map +1 -1
  80. package/dist/commands/project/activity-stats.js +2 -2
  81. package/dist/commands/project/activity-stats.js.map +1 -1
  82. package/dist/commands/project/archive.d.ts.map +1 -1
  83. package/dist/commands/project/archive.js +2 -1
  84. package/dist/commands/project/archive.js.map +1 -1
  85. package/dist/commands/project/collaborators.d.ts.map +1 -1
  86. package/dist/commands/project/collaborators.js +2 -2
  87. package/dist/commands/project/collaborators.js.map +1 -1
  88. package/dist/commands/project/create.d.ts.map +1 -1
  89. package/dist/commands/project/create.js +4 -2
  90. package/dist/commands/project/create.js.map +1 -1
  91. package/dist/commands/project/delete.d.ts.map +1 -1
  92. package/dist/commands/project/delete.js +4 -2
  93. package/dist/commands/project/delete.js.map +1 -1
  94. package/dist/commands/project/index.d.ts.map +1 -1
  95. package/dist/commands/project/index.js +8 -1
  96. package/dist/commands/project/index.js.map +1 -1
  97. package/dist/commands/project/list.d.ts.map +1 -1
  98. package/dist/commands/project/list.js +2 -1
  99. package/dist/commands/project/list.js.map +1 -1
  100. package/dist/commands/project/move.d.ts.map +1 -1
  101. package/dist/commands/project/move.js +10 -9
  102. package/dist/commands/project/move.js.map +1 -1
  103. package/dist/commands/project/unarchive.d.ts.map +1 -1
  104. package/dist/commands/project/unarchive.js +2 -1
  105. package/dist/commands/project/unarchive.js.map +1 -1
  106. package/dist/commands/project/update.d.ts.map +1 -1
  107. package/dist/commands/project/update.js +4 -2
  108. package/dist/commands/project/update.js.map +1 -1
  109. package/dist/commands/reminder/add.d.ts.map +1 -1
  110. package/dist/commands/reminder/add.js +10 -20
  111. package/dist/commands/reminder/add.js.map +1 -1
  112. package/dist/commands/reminder/delete.d.ts.map +1 -1
  113. package/dist/commands/reminder/delete.js +4 -4
  114. package/dist/commands/reminder/delete.js.map +1 -1
  115. package/dist/commands/reminder/helpers.d.ts.map +1 -1
  116. package/dist/commands/reminder/helpers.js +3 -3
  117. package/dist/commands/reminder/helpers.js.map +1 -1
  118. package/dist/commands/reminder/index.d.ts.map +1 -1
  119. package/dist/commands/reminder/index.js +4 -3
  120. package/dist/commands/reminder/index.js.map +1 -1
  121. package/dist/commands/reminder/list.d.ts.map +1 -1
  122. package/dist/commands/reminder/list.js +2 -1
  123. package/dist/commands/reminder/list.js.map +1 -1
  124. package/dist/commands/reminder/update.d.ts.map +1 -1
  125. package/dist/commands/reminder/update.js +7 -11
  126. package/dist/commands/reminder/update.js.map +1 -1
  127. package/dist/commands/section/archive.d.ts.map +1 -1
  128. package/dist/commands/section/archive.js +2 -1
  129. package/dist/commands/section/archive.js.map +1 -1
  130. package/dist/commands/section/create.d.ts.map +1 -1
  131. package/dist/commands/section/create.js +2 -1
  132. package/dist/commands/section/create.js.map +1 -1
  133. package/dist/commands/section/delete.d.ts.map +1 -1
  134. package/dist/commands/section/delete.js +4 -2
  135. package/dist/commands/section/delete.js.map +1 -1
  136. package/dist/commands/section/index.d.ts.map +1 -1
  137. package/dist/commands/section/index.js +2 -1
  138. package/dist/commands/section/index.js.map +1 -1
  139. package/dist/commands/section/unarchive.d.ts.map +1 -1
  140. package/dist/commands/section/unarchive.js +2 -1
  141. package/dist/commands/section/unarchive.js.map +1 -1
  142. package/dist/commands/section/update.d.ts.map +1 -1
  143. package/dist/commands/section/update.js +2 -1
  144. package/dist/commands/section/update.js.map +1 -1
  145. package/dist/commands/settings/helpers.d.ts.map +1 -1
  146. package/dist/commands/settings/helpers.js +6 -5
  147. package/dist/commands/settings/helpers.js.map +1 -1
  148. package/dist/commands/settings/update.d.ts.map +1 -1
  149. package/dist/commands/settings/update.js +2 -2
  150. package/dist/commands/settings/update.js.map +1 -1
  151. package/dist/commands/skill/install.d.ts.map +1 -1
  152. package/dist/commands/skill/install.js +3 -3
  153. package/dist/commands/skill/install.js.map +1 -1
  154. package/dist/commands/skill/uninstall.d.ts.map +1 -1
  155. package/dist/commands/skill/uninstall.js +3 -3
  156. package/dist/commands/skill/uninstall.js.map +1 -1
  157. package/dist/commands/skill/update.d.ts.map +1 -1
  158. package/dist/commands/skill/update.js +4 -4
  159. package/dist/commands/skill/update.js.map +1 -1
  160. package/dist/commands/stats/goals.d.ts.map +1 -1
  161. package/dist/commands/stats/goals.js +3 -2
  162. package/dist/commands/stats/goals.js.map +1 -1
  163. package/dist/commands/stats/vacation.d.ts.map +1 -1
  164. package/dist/commands/stats/vacation.js +2 -1
  165. package/dist/commands/stats/vacation.js.map +1 -1
  166. package/dist/commands/task/add.d.ts.map +1 -1
  167. package/dist/commands/task/add.js +8 -6
  168. package/dist/commands/task/add.js.map +1 -1
  169. package/dist/commands/task/complete.d.ts.map +1 -1
  170. package/dist/commands/task/complete.js +2 -1
  171. package/dist/commands/task/complete.js.map +1 -1
  172. package/dist/commands/task/delete.d.ts.map +1 -1
  173. package/dist/commands/task/delete.js +2 -1
  174. package/dist/commands/task/delete.js.map +1 -1
  175. package/dist/commands/task/helpers.d.ts.map +1 -1
  176. package/dist/commands/task/helpers.js +3 -3
  177. package/dist/commands/task/helpers.js.map +1 -1
  178. package/dist/commands/task/index.d.ts.map +1 -1
  179. package/dist/commands/task/index.js +14 -7
  180. package/dist/commands/task/index.js.map +1 -1
  181. package/dist/commands/task/move.d.ts.map +1 -1
  182. package/dist/commands/task/move.js +4 -2
  183. package/dist/commands/task/move.js.map +1 -1
  184. package/dist/commands/task/reschedule.d.ts.map +1 -1
  185. package/dist/commands/task/reschedule.js +6 -4
  186. package/dist/commands/task/reschedule.js.map +1 -1
  187. package/dist/commands/task/uncomplete.d.ts.map +1 -1
  188. package/dist/commands/task/uncomplete.js +2 -1
  189. package/dist/commands/task/uncomplete.js.map +1 -1
  190. package/dist/commands/task/update.d.ts.map +1 -1
  191. package/dist/commands/task/update.js +5 -3
  192. package/dist/commands/task/update.js.map +1 -1
  193. package/dist/commands/template/create.d.ts.map +1 -1
  194. package/dist/commands/template/create.js +7 -6
  195. package/dist/commands/template/create.js.map +1 -1
  196. package/dist/commands/template/import-file.d.ts.map +1 -1
  197. package/dist/commands/template/import-file.js +6 -5
  198. package/dist/commands/template/import-file.js.map +1 -1
  199. package/dist/commands/template/import-id.d.ts.map +1 -1
  200. package/dist/commands/template/import-id.js +3 -2
  201. package/dist/commands/template/import-id.js.map +1 -1
  202. package/dist/commands/template/index.d.ts.map +1 -1
  203. package/dist/commands/template/index.js +5 -4
  204. package/dist/commands/template/index.js.map +1 -1
  205. package/dist/commands/update/action.d.ts.map +1 -1
  206. package/dist/commands/update/action.js +3 -41
  207. package/dist/commands/update/action.js.map +1 -1
  208. package/dist/commands/view.d.ts.map +1 -1
  209. package/dist/commands/view.js +2 -2
  210. package/dist/commands/view.js.map +1 -1
  211. package/dist/commands/workspace/index.d.ts.map +1 -1
  212. package/dist/commands/workspace/index.js +4 -3
  213. package/dist/commands/workspace/index.js.map +1 -1
  214. package/dist/commands/workspace/users.d.ts.map +1 -1
  215. package/dist/commands/workspace/users.js +2 -1
  216. package/dist/commands/workspace/users.js.map +1 -1
  217. package/dist/index.js +13 -9
  218. package/dist/index.js.map +1 -1
  219. package/dist/lib/api/stats.d.ts.map +1 -1
  220. package/dist/lib/api/stats.js +4 -3
  221. package/dist/lib/api/stats.js.map +1 -1
  222. package/dist/lib/api/uploads.d.ts.map +1 -1
  223. package/dist/lib/api/uploads.js +2 -1
  224. package/dist/lib/api/uploads.js.map +1 -1
  225. package/dist/lib/api/user-settings.d.ts.map +1 -1
  226. package/dist/lib/api/user-settings.js +2 -1
  227. package/dist/lib/api/user-settings.js.map +1 -1
  228. package/dist/lib/auth.d.ts +7 -1
  229. package/dist/lib/auth.d.ts.map +1 -1
  230. package/dist/lib/auth.js +50 -4
  231. package/dist/lib/auth.js.map +1 -1
  232. package/dist/lib/collaborators.d.ts.map +1 -1
  233. package/dist/lib/collaborators.js +4 -4
  234. package/dist/lib/collaborators.js.map +1 -1
  235. package/dist/lib/config.d.ts +1 -0
  236. package/dist/lib/config.d.ts.map +1 -1
  237. package/dist/lib/config.js +42 -0
  238. package/dist/lib/config.js.map +1 -1
  239. package/dist/lib/errors.d.ts +10 -2
  240. package/dist/lib/errors.d.ts.map +1 -1
  241. package/dist/lib/errors.js +3 -1
  242. package/dist/lib/errors.js.map +1 -1
  243. package/dist/lib/global-args.d.ts +38 -0
  244. package/dist/lib/global-args.d.ts.map +1 -0
  245. package/dist/lib/global-args.js +143 -0
  246. package/dist/lib/global-args.js.map +1 -0
  247. package/dist/lib/logger.d.ts.map +1 -1
  248. package/dist/lib/logger.js +2 -12
  249. package/dist/lib/logger.js.map +1 -1
  250. package/dist/lib/oauth.d.ts.map +1 -1
  251. package/dist/lib/oauth.js +2 -1
  252. package/dist/lib/oauth.js.map +1 -1
  253. package/dist/lib/output.d.ts +3 -3
  254. package/dist/lib/output.d.ts.map +1 -1
  255. package/dist/lib/output.js +24 -16
  256. package/dist/lib/output.js.map +1 -1
  257. package/dist/lib/permissions.d.ts.map +1 -1
  258. package/dist/lib/permissions.js +2 -1
  259. package/dist/lib/permissions.js.map +1 -1
  260. package/dist/lib/progress.d.ts.map +1 -1
  261. package/dist/lib/progress.js +6 -23
  262. package/dist/lib/progress.js.map +1 -1
  263. package/dist/lib/refs.d.ts.map +1 -1
  264. package/dist/lib/refs.js +11 -11
  265. package/dist/lib/refs.js.map +1 -1
  266. package/dist/lib/skills/content.d.ts +1 -1
  267. package/dist/lib/skills/content.d.ts.map +1 -1
  268. package/dist/lib/skills/content.js +6 -1
  269. package/dist/lib/skills/content.js.map +1 -1
  270. package/dist/lib/skills/create-installer.d.ts.map +1 -1
  271. package/dist/lib/skills/create-installer.js +4 -3
  272. package/dist/lib/skills/create-installer.js.map +1 -1
  273. package/dist/lib/spinner.d.ts.map +1 -1
  274. package/dist/lib/spinner.js +1 -23
  275. package/dist/lib/spinner.js.map +1 -1
  276. package/dist/lib/task-list.d.ts.map +1 -1
  277. package/dist/lib/task-list.js +4 -3
  278. package/dist/lib/task-list.js.map +1 -1
  279. package/dist/lib/update.d.ts +17 -0
  280. package/dist/lib/update.d.ts.map +1 -0
  281. package/dist/lib/update.js +44 -0
  282. package/dist/lib/update.js.map +1 -0
  283. package/package.json +2 -2
@@ -0,0 +1,249 @@
1
+ import { readFile } from 'node:fs/promises';
2
+ import { TodoistApi } from '@doist/todoist-sdk';
3
+ import chalk from 'chalk';
4
+ import packageJson from '../../package.json' with { type: 'json' };
5
+ import { CONFIG_PATH, NoTokenError, TOKEN_ENV_VAR, probeApiToken } from '../lib/auth.js';
6
+ import { validateConfigForDoctor } from '../lib/config.js';
7
+ import { compareVersions, fetchLatestVersion, getConfiguredUpdateChannel, isNewer, } from '../lib/update.js';
8
+ function summarize(checks) {
9
+ return checks.reduce((summary, check) => {
10
+ if (check.status === 'pass')
11
+ summary.passed += 1;
12
+ if (check.status === 'warn')
13
+ summary.warned += 1;
14
+ if (check.status === 'fail')
15
+ summary.failed += 1;
16
+ if (check.status === 'skip')
17
+ summary.skipped += 1;
18
+ return summary;
19
+ }, { passed: 0, warned: 0, failed: 0, skipped: 0 });
20
+ }
21
+ function buildSummaryLine(summary) {
22
+ const parts = [`${summary.passed} passed`];
23
+ if (summary.warned > 0)
24
+ parts.push(`${summary.warned} warnings`);
25
+ if (summary.failed > 0)
26
+ parts.push(`${summary.failed} failed`);
27
+ if (summary.skipped > 0)
28
+ parts.push(`${summary.skipped} skipped`);
29
+ return parts.join(', ');
30
+ }
31
+ function formatStatus(status) {
32
+ switch (status) {
33
+ case 'pass':
34
+ return chalk.green('PASS');
35
+ case 'warn':
36
+ return chalk.yellow('WARN');
37
+ case 'fail':
38
+ return chalk.red('FAIL');
39
+ case 'skip':
40
+ return chalk.gray('SKIP');
41
+ }
42
+ }
43
+ function isNoTokenError(error) {
44
+ return (error instanceof NoTokenError ||
45
+ (error instanceof Error && error.message.includes('No API token found')));
46
+ }
47
+ function checkNodeVersion() {
48
+ const required = packageJson.engines.node;
49
+ const match = required.match(/^>=\s*v?(\d+\.\d+\.\d+)$/);
50
+ if (!match) {
51
+ return {
52
+ name: 'node',
53
+ status: 'warn',
54
+ message: `Could not verify Node.js version against unsupported engine range "${required}"`,
55
+ details: { currentVersion: process.version, requiredVersion: required },
56
+ };
57
+ }
58
+ const minimumVersion = match[1];
59
+ const currentVersion = process.version;
60
+ const ok = compareVersions(currentVersion, minimumVersion) >= 0;
61
+ if (ok) {
62
+ return null;
63
+ }
64
+ return {
65
+ name: 'node',
66
+ status: 'fail',
67
+ message: `Node.js ${currentVersion} does not satisfy ${required}`,
68
+ details: { currentVersion, requiredVersion: required },
69
+ };
70
+ }
71
+ async function checkConfigFile() {
72
+ try {
73
+ const content = await readFile(CONFIG_PATH, 'utf-8');
74
+ const parsed = JSON.parse(content);
75
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
76
+ return {
77
+ name: 'config',
78
+ status: 'fail',
79
+ message: `Config file must contain a JSON object (${CONFIG_PATH})`,
80
+ details: { path: CONFIG_PATH },
81
+ };
82
+ }
83
+ const issues = validateConfigForDoctor(parsed);
84
+ return {
85
+ name: 'config',
86
+ status: issues.length > 0 ? 'warn' : 'pass',
87
+ message: issues.length > 0
88
+ ? `Config file is readable but ${issues.join('; ')} (${CONFIG_PATH})`
89
+ : `Config file is readable (${CONFIG_PATH})`,
90
+ details: { path: CONFIG_PATH, exists: true, issues },
91
+ };
92
+ }
93
+ catch (error) {
94
+ if (error instanceof Error && 'code' in error && error.code === 'ENOENT') {
95
+ return null;
96
+ }
97
+ const message = error instanceof Error ? error.message : String(error);
98
+ return {
99
+ name: 'config',
100
+ status: 'fail',
101
+ message: `Could not read config file ${CONFIG_PATH}: ${message}`,
102
+ details: { path: CONFIG_PATH },
103
+ };
104
+ }
105
+ }
106
+ async function checkAuthentication(offline) {
107
+ let token;
108
+ let metadata;
109
+ try {
110
+ const probe = await probeApiToken();
111
+ token = probe.token;
112
+ metadata = probe.metadata;
113
+ }
114
+ catch (error) {
115
+ if (isNoTokenError(error)) {
116
+ return {
117
+ name: 'auth',
118
+ status: 'warn',
119
+ message: `No Todoist credentials found. Set ${TOKEN_ENV_VAR} or run td auth login`,
120
+ };
121
+ }
122
+ const message = error instanceof Error ? error.message : String(error);
123
+ return {
124
+ name: 'auth',
125
+ status: 'fail',
126
+ message: `Could not load saved credentials: ${message}`,
127
+ };
128
+ }
129
+ const details = {
130
+ source: metadata.source,
131
+ authMode: metadata.authMode,
132
+ };
133
+ if (metadata.authScope)
134
+ details.authScope = metadata.authScope;
135
+ if (offline) {
136
+ return {
137
+ name: 'auth',
138
+ status: metadata.source === 'config-file' ? 'warn' : 'skip',
139
+ message: metadata.source === 'config-file'
140
+ ? 'Token found in config-file fallback; skipped API validation (--offline)'
141
+ : `Auth validation skipped (--offline); credentials found via ${metadata.source}`,
142
+ details,
143
+ };
144
+ }
145
+ try {
146
+ const api = new TodoistApi(token);
147
+ const user = await api.getUser();
148
+ details.email = user.email;
149
+ details.fullName = user.fullName;
150
+ return {
151
+ name: 'auth',
152
+ status: metadata.source === 'config-file' ? 'warn' : 'pass',
153
+ message: metadata.source === 'config-file'
154
+ ? `Authenticated as ${user.email}, but token is stored in plaintext config fallback`
155
+ : `Authenticated as ${user.email} via ${metadata.source}`,
156
+ details,
157
+ };
158
+ }
159
+ catch (error) {
160
+ const message = error instanceof Error ? error.message : String(error);
161
+ return {
162
+ name: 'auth',
163
+ status: 'fail',
164
+ message: `Stored credentials failed validation: ${message}`,
165
+ details,
166
+ };
167
+ }
168
+ }
169
+ async function checkForUpdates(offline) {
170
+ const currentVersion = packageJson.version;
171
+ const channel = await getConfiguredUpdateChannel();
172
+ if (offline) {
173
+ return {
174
+ name: 'update',
175
+ status: 'skip',
176
+ message: `Skipped npm registry check (--offline); current version is v${currentVersion}`,
177
+ details: { currentVersion, channel },
178
+ };
179
+ }
180
+ try {
181
+ const latestVersion = await fetchLatestVersion(channel);
182
+ if (isNewer(currentVersion, latestVersion)) {
183
+ return {
184
+ name: 'update',
185
+ status: 'warn',
186
+ message: `Update available on ${channel}: v${currentVersion} -> v${latestVersion}`,
187
+ details: { currentVersion, latestVersion, channel },
188
+ };
189
+ }
190
+ if (currentVersion === latestVersion) {
191
+ return {
192
+ name: 'update',
193
+ status: 'pass',
194
+ message: `CLI is up to date on ${channel} (v${currentVersion})`,
195
+ details: { currentVersion, latestVersion, channel },
196
+ };
197
+ }
198
+ return {
199
+ name: 'update',
200
+ status: 'pass',
201
+ message: `CLI version v${currentVersion} is ahead of ${channel} tag v${latestVersion}`,
202
+ details: { currentVersion, latestVersion, channel },
203
+ };
204
+ }
205
+ catch (error) {
206
+ const message = error instanceof Error ? error.message : String(error);
207
+ return {
208
+ name: 'update',
209
+ status: 'warn',
210
+ message: `Could not check npm registry for updates: ${message}`,
211
+ details: { currentVersion, channel },
212
+ };
213
+ }
214
+ }
215
+ async function runDoctorChecks(options) {
216
+ return [
217
+ checkNodeVersion(),
218
+ await checkConfigFile(),
219
+ await checkAuthentication(Boolean(options.offline)),
220
+ await checkForUpdates(Boolean(options.offline)),
221
+ ].filter((check) => check !== null);
222
+ }
223
+ export async function doctorAction(options) {
224
+ const checks = await runDoctorChecks(options);
225
+ const summary = summarize(checks);
226
+ const ok = summary.failed === 0;
227
+ if (options.json) {
228
+ console.log(JSON.stringify({ ok, summary, checks }, null, 2));
229
+ }
230
+ else {
231
+ for (const check of checks) {
232
+ console.log(`${formatStatus(check.status)} ${check.message}`);
233
+ }
234
+ const overallStatus = ok ? chalk.green('Doctor summary:') : chalk.red('Doctor summary:');
235
+ console.log(`${overallStatus} ${buildSummaryLine(summary)}`);
236
+ }
237
+ if (!ok) {
238
+ process.exitCode = 1;
239
+ }
240
+ }
241
+ export function registerDoctorCommand(program) {
242
+ program
243
+ .command('doctor')
244
+ .description('Diagnose common CLI setup and environment issues')
245
+ .option('--json', 'Output diagnostic results as JSON')
246
+ .option('--offline', 'Skip network checks against Todoist and npm')
247
+ .action(doctorAction);
248
+ }
249
+ //# sourceMappingURL=doctor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/filter/create.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAG3E,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAA;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BxE"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/filter/create.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAI3E,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAA;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BxE"}
@@ -1,6 +1,7 @@
1
1
  import chalk from 'chalk';
2
2
  import { addFilter } from '../../lib/api/filters.js';
3
- import { formatJson, isQuiet, printDryRun } from '../../lib/output.js';
3
+ import { isQuiet } from '../../lib/global-args.js';
4
+ import { formatJson, printDryRun } from '../../lib/output.js';
4
5
  export async function createFilter(options) {
5
6
  if (options.dryRun) {
6
7
  printDryRun('create filter', {
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/filter/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,SAAS,EAAyB,MAAM,0BAA0B,CAAA;AAC3E,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAWtE,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAsB;IACrD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,WAAW,CAAC,eAAe,EAAE;YACzB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;SACjD,CAAC,CAAA;QACF,OAAM;IACV,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC;QAC3B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,UAAU,EAAE,OAAO,CAAC,QAAQ;KAC/B,CAAC,CAAA;IAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;QACzC,OAAM;IACV,CAAC;IAED,IAAI,OAAO,EAAE,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACtB,OAAM;IACV,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;IACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;AACpD,CAAC"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/filter/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,SAAS,EAAyB,MAAM,0BAA0B,CAAA;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAW7D,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAsB;IACrD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,WAAW,CAAC,eAAe,EAAE;YACzB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;SACjD,CAAC,CAAA;QACF,OAAM;IACV,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC;QAC3B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,UAAU,EAAE,OAAO,CAAC,QAAQ;KAC/B,CAAC,CAAA;IAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;QACzC,OAAM;IACV,CAAC;IAED,IAAI,OAAO,EAAE,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACtB,OAAM;IACV,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;IACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;AACpD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/commands/filter/delete.ts"],"names":[],"mappings":"AAKA,wBAAsB,eAAe,CACjC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7C,OAAO,CAAC,IAAI,CAAC,CAiBf"}
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/commands/filter/delete.ts"],"names":[],"mappings":"AAMA,wBAAsB,eAAe,CACjC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7C,OAAO,CAAC,IAAI,CAAC,CAiBf"}
@@ -1,6 +1,7 @@
1
1
  import chalk from 'chalk';
2
2
  import { deleteFilter } from '../../lib/api/filters.js';
3
- import { isQuiet, printDryRun } from '../../lib/output.js';
3
+ import { isQuiet } from '../../lib/global-args.js';
4
+ import { printDryRun } from '../../lib/output.js';
4
5
  import { resolveFilterRef } from './helpers.js';
5
6
  export async function deleteFilterCmd(nameOrId, options) {
6
7
  const filter = await resolveFilterRef(nameOrId);
@@ -1 +1 @@
1
- {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/filter/delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAE/C,MAAM,CAAC,KAAK,UAAU,eAAe,CACjC,QAAgB,EAChB,OAA4C;IAE5C,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IAE/C,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,WAAW,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;QAC1E,OAAM;IACV,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;QAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;QAChD,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;QACpC,OAAM;IACV,CAAC;IAED,MAAM,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC7B,IAAI,CAAC,OAAO,EAAE;QAAE,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,IAAI,QAAQ,MAAM,CAAC,EAAE,GAAG,CAAC,CAAA;AAC5E,CAAC"}
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/filter/delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAE/C,MAAM,CAAC,KAAK,UAAU,eAAe,CACjC,QAAgB,EAChB,OAA4C;IAE5C,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IAE/C,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,WAAW,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;QAC1E,OAAM;IACV,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;QAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;QAChD,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;QACpC,OAAM;IACV,CAAC;IAED,MAAM,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC7B,IAAI,CAAC,OAAO,EAAE;QAAE,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,IAAI,QAAQ,MAAM,CAAC,EAAE,GAAG,CAAC,CAAA;AAC5E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/commands/filter/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,0BAA0B,CAAA;AAIpE,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA+BxE"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/commands/filter/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,0BAA0B,CAAA;AAIpE,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA6BxE"}
@@ -1,5 +1,5 @@
1
1
  import { fetchFilters } from '../../lib/api/filters.js';
2
- import { formatError } from '../../lib/output.js';
2
+ import { CliError } from '../../lib/errors.js';
3
3
  import { isIdRef, lenientIdRef, looksLikeRawId, parseTodoistUrl } from '../../lib/refs.js';
4
4
  export async function resolveFilterRef(nameOrId) {
5
5
  const filters = await fetchFilters();
@@ -7,7 +7,7 @@ export async function resolveFilterRef(nameOrId) {
7
7
  const id = lenientIdRef(nameOrId, 'filter');
8
8
  const filter = filters.find((f) => f.id === id);
9
9
  if (!filter)
10
- throw new Error(formatError('FILTER_NOT_FOUND', 'Filter not found.'));
10
+ throw new CliError('FILTER_NOT_FOUND', 'Filter not found.');
11
11
  return filter;
12
12
  }
13
13
  const lower = nameOrId.toLowerCase();
@@ -18,16 +18,16 @@ export async function resolveFilterRef(nameOrId) {
18
18
  if (partial.length === 1)
19
19
  return partial[0];
20
20
  if (partial.length > 1) {
21
- throw new Error(formatError('AMBIGUOUS_FILTER', `Multiple filters match "${nameOrId}".`, [
21
+ throw new CliError('AMBIGUOUS_FILTER', `Multiple filters match "${nameOrId}".`, [
22
22
  'Use id:xxx to specify exactly',
23
23
  ...partial.slice(0, 5).map((f) => `${f.name} (id:${f.id})`),
24
- ]));
24
+ ]);
25
25
  }
26
26
  if (looksLikeRawId(nameOrId)) {
27
27
  const byId = filters.find((f) => f.id === nameOrId);
28
28
  if (byId)
29
29
  return byId;
30
30
  }
31
- throw new Error(formatError('FILTER_NOT_FOUND', `Filter "${nameOrId}" not found.`));
31
+ throw new CliError('FILTER_NOT_FOUND', `Filter "${nameOrId}" not found.`);
32
32
  }
33
33
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/commands/filter/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAE1F,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,QAAgB;IACnD,MAAM,OAAO,GAAG,MAAM,YAAY,EAAE,CAAA;IAEpC,IAAI,eAAe,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjD,MAAM,EAAE,GAAG,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;QAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QAC/C,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC,CAAA;QAClF,OAAO,MAAM,CAAA;IACjB,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAA;IACpC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAA;IACjE,IAAI,KAAK;QAAE,OAAO,KAAK,CAAA;IAEvB,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;IAC3E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAA;IAC3C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACX,WAAW,CAAC,kBAAkB,EAAE,2BAA2B,QAAQ,IAAI,EAAE;YACrE,+BAA+B;YAC/B,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;SAC9D,CAAC,CACL,CAAA;IACL,CAAC;IAED,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAA;QACnD,IAAI,IAAI;YAAE,OAAO,IAAI,CAAA;IACzB,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,kBAAkB,EAAE,WAAW,QAAQ,cAAc,CAAC,CAAC,CAAA;AACvF,CAAC"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/commands/filter/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAE1F,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,QAAgB;IACnD,MAAM,OAAO,GAAG,MAAM,YAAY,EAAE,CAAA;IAEpC,IAAI,eAAe,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjD,MAAM,EAAE,GAAG,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;QAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QAC/C,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAA;QACxE,OAAO,MAAM,CAAA;IACjB,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAA;IACpC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAA;IACjE,IAAI,KAAK;QAAE,OAAO,KAAK,CAAA;IAEvB,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;IAC3E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAA;IAC3C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,2BAA2B,QAAQ,IAAI,EAAE;YAC5E,+BAA+B;YAC/B,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;SAC9D,CAAC,CAAA;IACN,CAAC;IAED,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAA;QACnD,IAAI,IAAI;YAAE,OAAO,IAAI,CAAA;IACzB,CAAC;IAED,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,WAAW,QAAQ,cAAc,CAAC,CAAA;AAC7E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/filter/list.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAIhE,wBAAsB,WAAW,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2C9E"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/filter/list.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAIhE,wBAAsB,WAAW,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2C9E"}
@@ -1,6 +1,7 @@
1
1
  import chalk from 'chalk';
2
2
  import { fetchFilters } from '../../lib/api/filters.js';
3
- import { formatPaginatedJson, formatPaginatedNdjson, isAccessible } from '../../lib/output.js';
3
+ import { isAccessible } from '../../lib/global-args.js';
4
+ import { formatPaginatedJson, formatPaginatedNdjson } from '../../lib/output.js';
4
5
  import { filterUrl } from '../../lib/urls.js';
5
6
  export async function listFilters(options) {
6
7
  const filters = await fetchFilters();
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/filter/list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEvD,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC9F,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAE7C,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAA6B;IAC3D,MAAM,OAAO,GAAG,MAAM,YAAY,EAAE,CAAA;IAEpC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CACP,mBAAmB,CACf,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,EACtC,QAAQ,EACR,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,QAAQ,CACnB,CACJ,CAAA;QACD,OAAM;IACV,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CACP,qBAAqB,CACjB,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,EACtC,QAAQ,EACR,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,QAAQ,CACnB,CACJ,CAAA;QACD,OAAM;IACV,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;QAChC,OAAM;IACV,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;QACvC,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU;YAC1B,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,GAAG,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAC7D,CAAC,CAAC,MAAM,CAAC,IAAI,CAAA;QACjB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,CAAA;QAC5C,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,IAAI,KAAK,KAAK,EAAE,CAAC,CAAA;QACvC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;QACvD,CAAC;IACL,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/filter/list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEvD,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAE7C,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAA6B;IAC3D,MAAM,OAAO,GAAG,MAAM,YAAY,EAAE,CAAA;IAEpC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CACP,mBAAmB,CACf,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,EACtC,QAAQ,EACR,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,QAAQ,CACnB,CACJ,CAAA;QACD,OAAM;IACV,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CACP,qBAAqB,CACjB,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,EACtC,QAAQ,EACR,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,QAAQ,CACnB,CACJ,CAAA;QACD,OAAM;IACV,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;QAChC,OAAM;IACV,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;QACvC,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU;YAC1B,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,GAAG,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAC7D,CAAC,CAAC,MAAM,CAAC,IAAI,CAAA;QACjB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,CAAA;QAC5C,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,IAAI,KAAK,KAAK,EAAE,CAAC,CAAA;QACvC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;QACvD,CAAC;IACL,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/commands/filter/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAgB,MAAM,0BAA0B,CAAA;AAI9E,MAAM,WAAW,aAAa;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAA;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA6B7F"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/commands/filter/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAgB,MAAM,0BAA0B,CAAA;AAM9E,MAAM,WAAW,aAAa;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAA;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA6B7F"}
@@ -1,5 +1,7 @@
1
1
  import { updateFilter } from '../../lib/api/filters.js';
2
- import { formatError, isQuiet, printDryRun } from '../../lib/output.js';
2
+ import { CliError } from '../../lib/errors.js';
3
+ import { isQuiet } from '../../lib/global-args.js';
4
+ import { printDryRun } from '../../lib/output.js';
3
5
  import { resolveFilterRef } from './helpers.js';
4
6
  export async function updateFilterCmd(nameOrId, options) {
5
7
  const filter = await resolveFilterRef(nameOrId);
@@ -13,7 +15,7 @@ export async function updateFilterCmd(nameOrId, options) {
13
15
  if (options.favorite !== undefined)
14
16
  args.isFavorite = options.favorite;
15
17
  if (Object.keys(args).length === 0) {
16
- throw new Error(formatError('NO_CHANGES', 'No changes specified.'));
18
+ throw new CliError('NO_CHANGES', 'No changes specified.');
17
19
  }
18
20
  if (options.dryRun) {
19
21
  printDryRun('update filter', {
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/filter/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC9E,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAU/C,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,QAAgB,EAAE,OAAsB;IAC1E,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IAE/C,MAAM,IAAI,GAAqB,EAAE,CAAA;IACjC,IAAI,OAAO,CAAC,IAAI;QAAE,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;IAC1C,IAAI,OAAO,CAAC,KAAK;QAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;IAC7C,IAAI,OAAO,CAAC,KAAK;QAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;IAC7C,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;QAAE,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAA;IAEtE,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAAC,CAAA;IACvE,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,WAAW,CAAC,eAAe,EAAE;YACzB,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;SAChF,CAAC,CAAA;QACF,OAAM;IACV,CAAC;IAED,MAAM,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;IACnC,IAAI,CAAC,OAAO,EAAE;QACV,OAAO,CAAC,GAAG,CACP,YAAY,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,MAAM,CAAC,EAAE,GAAG,CAC1F,CAAA;AACT,CAAC"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/filter/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAU/C,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,QAAgB,EAAE,OAAsB;IAC1E,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IAE/C,MAAM,IAAI,GAAqB,EAAE,CAAA;IACjC,IAAI,OAAO,CAAC,IAAI;QAAE,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;IAC1C,IAAI,OAAO,CAAC,KAAK;QAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;IAC7C,IAAI,OAAO,CAAC,KAAK;QAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;IAC7C,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;QAAE,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAA;IAEtE,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,QAAQ,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAAA;IAC7D,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,WAAW,CAAC,eAAe,EAAE;YACzB,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;SAChF,CAAC,CAAA;QACF,OAAM;IACV,CAAC;IAED,MAAM,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;IACnC,IAAI,CAAC,OAAO,EAAE;QACV,OAAO,CAAC,GAAG,CACP,YAAY,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,MAAM,CAAC,EAAE,GAAG,CAC1F,CAAA;AACT,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../src/commands/filter/view.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAYhE,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmG/F"}
1
+ {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../src/commands/filter/view.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAWhE,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmG/F"}
@@ -1,7 +1,8 @@
1
1
  import chalk from 'chalk';
2
2
  import { getApi } from '../../lib/api/core.js';
3
3
  import { CollaboratorCache, formatAssignee } from '../../lib/collaborators.js';
4
- import { formatError, formatNextCursorFooter, formatPaginatedJson, formatPaginatedNdjson, formatTaskRow, } from '../../lib/output.js';
4
+ import { CliError } from '../../lib/errors.js';
5
+ import { formatNextCursorFooter, formatPaginatedJson, formatPaginatedNdjson, formatTaskRow, } from '../../lib/output.js';
5
6
  import { LIMITS, paginate } from '../../lib/pagination.js';
6
7
  import { filterUrl } from '../../lib/urls.js';
7
8
  import { resolveFilterRef } from './helpers.js';
@@ -27,9 +28,7 @@ export async function showFilter(nameOrId, options) {
27
28
  catch (err) {
28
29
  const message = err instanceof Error ? err.message : String(err);
29
30
  if (message.includes('400')) {
30
- throw new Error(formatError('INVALID_FILTER_QUERY', `Filter query "${filter.query}" is invalid.`, [
31
- 'Check the Todoist filter syntax',
32
- ]));
31
+ throw new CliError('INVALID_FILTER_QUERY', `Filter query "${filter.query}" is invalid.`, ['Check the Todoist filter syntax']);
33
32
  }
34
33
  throw err;
35
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/commands/filter/view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,EAAgB,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAE9E,OAAO,EACH,WAAW,EACX,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,GAChB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAE/C,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,QAAgB,EAAE,OAA6B;IAC5E,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IAC/C,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;IAE1B,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG;QAC3B,CAAC,CAAC,MAAM,CAAC,gBAAgB;QACzB,CAAC,CAAC,OAAO,CAAC,KAAK;YACb,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;YAC7B,CAAC,CAAC,MAAM,CAAC,KAAK,CAAA;IAEpB,IAAI,KAAkE,CAAA;IACtE,IAAI,UAAyB,CAAA;IAE7B,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CACzB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CACd,GAAG,CAAC,gBAAgB,CAAC;YACjB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,IAAI,SAAS;YAC3B,KAAK;SACR,CAAC,EACN,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,MAAM,EAAE,CACtD,CAAA;QACD,KAAK,GAAG,MAAM,CAAC,OAAO,CAAA;QACtB,UAAU,GAAG,MAAM,CAAC,UAAU,CAAA;IAClC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAChE,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACX,WAAW,CAAC,sBAAsB,EAAE,iBAAiB,MAAM,CAAC,KAAK,eAAe,EAAE;gBAC9E,iCAAiC;aACpC,CAAC,CACL,CAAA;QACL,CAAC;QACD,MAAM,GAAG,CAAA;IACb,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CACP,mBAAmB,CACf,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,EAC9B,MAAM,EACN,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,QAAQ,CACnB,CACJ,CAAA;QACD,OAAM;IACV,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CACP,qBAAqB,CACjB,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,EAC9B,MAAM,EACN,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,QAAQ,CACnB,CACJ,CAAA;QACD,OAAM;IACV,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IAChD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACxD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAEf,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAA;QAC1C,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC,CAAA;QAC/C,OAAM;IACV,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,GAAG,CAAC,WAAW,EAAE,CAAA;IACrD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAmB,CAAA;IAC7C,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACvB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IAC3B,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAA;IACjD,MAAM,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,CAAA;IAEvD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,cAAc,CAAC;YAC5B,MAAM,EAAE,IAAI,CAAC,cAAc;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,iBAAiB;SAC3B,CAAC,CAAA;QACF,OAAO,CAAC,GAAG,CACP,aAAa,CAAC;YACV,IAAI;YACJ,WAAW,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI;YACjD,QAAQ,EAAE,QAAQ,IAAI,SAAS;YAC/B,OAAO,EAAE,OAAO,CAAC,QAAQ;SAC5B,CAAC,CACL,CAAA;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACnB,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC,CAAA;AACnD,CAAC"}
1
+ {"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/commands/filter/view.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/label/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAKlD,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,QAAQ,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BvE"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/label/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAMlD,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,QAAQ,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BvE"}
@@ -1,6 +1,7 @@
1
1
  import chalk from 'chalk';
2
2
  import { getApi } from '../../lib/api/core.js';
3
- import { formatJson, isQuiet, printDryRun } from '../../lib/output.js';
3
+ import { isQuiet } from '../../lib/global-args.js';
4
+ import { formatJson, printDryRun } from '../../lib/output.js';
4
5
  export async function createLabel(options) {
5
6
  if (options.dryRun) {
6
7
  printDryRun('create label', {
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/label/create.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAUtE,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAsB;IACpD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,WAAW,CAAC,cAAc,EAAE;YACxB,IAAI,EAAE,IAAI,OAAO,CAAC,IAAI,EAAE;YACxB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;SACjD,CAAC,CAAA;QACF,OAAM;IACV,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;IAE1B,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC;QAC7B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,UAAU,EAAE,OAAO,CAAC,QAAQ;KAC/B,CAAC,CAAA;IAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;QACvC,OAAM;IACV,CAAC;IAED,IAAI,OAAO,EAAE,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACrB,OAAM;IACV,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;IACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;AAC7C,CAAC"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/label/create.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAU7D,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAsB;IACpD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,WAAW,CAAC,cAAc,EAAE;YACxB,IAAI,EAAE,IAAI,OAAO,CAAC,IAAI,EAAE;YACxB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;SACjD,CAAC,CAAA;QACF,OAAM;IACV,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;IAE1B,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC;QAC7B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,UAAU,EAAE,OAAO,CAAC,QAAQ;KAC/B,CAAC,CAAA;IAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;QACvC,OAAM;IACV,CAAC;IAED,IAAI,OAAO,EAAE,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACrB,OAAM;IACV,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;IACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;AAC7C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/commands/label/delete.ts"],"names":[],"mappings":"AAIA,wBAAsB,WAAW,CAC7B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7C,OAAO,CAAC,IAAI,CAAC,CAiBf"}
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/commands/label/delete.ts"],"names":[],"mappings":"AAKA,wBAAsB,WAAW,CAC7B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7C,OAAO,CAAC,IAAI,CAAC,CAiBf"}
@@ -1,5 +1,6 @@
1
1
  import { getApi } from '../../lib/api/core.js';
2
- import { isQuiet, printDryRun } from '../../lib/output.js';
2
+ import { isQuiet } from '../../lib/global-args.js';
3
+ import { printDryRun } from '../../lib/output.js';
3
4
  import { resolveLabelRef } from './helpers.js';
4
5
  export async function deleteLabel(nameOrId, options) {
5
6
  const label = await resolveLabelRef(nameOrId);
@@ -1 +1 @@
1
- {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/label/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,MAAM,CAAC,KAAK,UAAU,WAAW,CAC7B,QAAgB,EAChB,OAA4C;IAE5C,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAA;IAE7C,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,WAAW,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QACxD,OAAM;IACV,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;QAC3C,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;QACpC,OAAM;IACV,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;IAC1B,MAAM,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC/B,IAAI,CAAC,OAAO,EAAE;QAAE,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC,EAAE,GAAG,CAAC,CAAA;AAC3E,CAAC"}
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/label/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,MAAM,CAAC,KAAK,UAAU,WAAW,CAC7B,QAAgB,EAChB,OAA4C;IAE5C,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAA;IAE7C,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,WAAW,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QACxD,OAAM;IACV,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;QAC3C,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;QACpC,OAAM;IACV,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;IAC1B,MAAM,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC/B,IAAI,CAAC,OAAO,EAAE;QAAE,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC,EAAE,GAAG,CAAC,CAAA;AAC3E,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { getApi } from '../../lib/api/core.js';
2
- import { formatError } from '../../lib/output.js';
2
+ import { CliError } from '../../lib/errors.js';
3
3
  import { paginate } from '../../lib/pagination.js';
4
4
  import { isIdRef, lenientIdRef, looksLikeRawId, parseTodoistUrl } from '../../lib/refs.js';
5
5
  // Resolves a label ref to a personal Label object. Used by delete/update/browse
@@ -12,7 +12,7 @@ export async function resolveLabelRef(nameOrId) {
12
12
  const id = lenientIdRef(nameOrId, 'label');
13
13
  const label = labels.find((l) => l.id === id);
14
14
  if (!label)
15
- throw new Error(formatError('LABEL_NOT_FOUND', 'Label not found.'));
15
+ throw new CliError('LABEL_NOT_FOUND', 'Label not found.');
16
16
  return label;
17
17
  }
18
18
  const name = nameOrId.startsWith('@') ? nameOrId.slice(1) : nameOrId;
@@ -25,7 +25,7 @@ export async function resolveLabelRef(nameOrId) {
25
25
  if (byId)
26
26
  return byId;
27
27
  }
28
- throw new Error(formatError('LABEL_NOT_FOUND', `Label "${nameOrId}" not found.`));
28
+ throw new CliError('LABEL_NOT_FOUND', `Label "${nameOrId}" not found.`);
29
29
  }
30
30
  // Resolves a label ref for viewing. Falls back to shared labels when no
31
31
  // personal label matches, since view only needs a name for the filter query.
@@ -37,7 +37,7 @@ export async function resolveLabelNameForView(nameOrId) {
37
37
  const id = lenientIdRef(nameOrId, 'label');
38
38
  const label = labels.find((l) => l.id === id);
39
39
  if (!label)
40
- throw new Error(formatError('LABEL_NOT_FOUND', 'Label not found.'));
40
+ throw new CliError('LABEL_NOT_FOUND', 'Label not found.');
41
41
  return { name: label.name, label };
42
42
  }
43
43
  const name = nameOrId.startsWith('@') ? nameOrId.slice(1) : nameOrId;
@@ -57,6 +57,6 @@ export async function resolveLabelNameForView(nameOrId) {
57
57
  const sharedMatch = sharedLabels.find((s) => s.toLowerCase() === lower);
58
58
  if (sharedMatch)
59
59
  return { name: sharedMatch, label: null };
60
- throw new Error(formatError('LABEL_NOT_FOUND', `Label "${nameOrId}" not found.`));
60
+ throw new CliError('LABEL_NOT_FOUND', `Label "${nameOrId}" not found.`);
61
61
  }
62
62
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/commands/label/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/commands/label/helpers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/label/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAQnC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAErC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuF3D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/label/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAQnC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAErC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiG3D"}
@@ -6,7 +6,14 @@ import { updateLabel } from './update.js';
6
6
  import { viewLabel } from './view.js';
7
7
  export { viewLabel } from './view.js';
8
8
  export function registerLabelCommand(program) {
9
- const label = program.command('label').description('Manage labels');
9
+ const label = program
10
+ .command('label')
11
+ .description('Manage labels')
12
+ .addHelpText('after', `
13
+ Examples:
14
+ td label list
15
+ td label create --name "urgent" --color red
16
+ td label view "urgent"`);
10
17
  label
11
18
  .command('view [ref]', { isDefault: true })
12
19
  .description('View label details and tasks')