@todoist/sdk 0.0.1 → 19.0.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 (335) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +293 -29
  3. package/dist/esm/authentication.js +307 -0
  4. package/dist/esm/clients/activity-client.js +60 -0
  5. package/dist/esm/clients/app-client.js +366 -0
  6. package/dist/esm/clients/backup-client.js +47 -0
  7. package/dist/esm/clients/base-client.js +29 -0
  8. package/dist/esm/clients/billing-client.js +160 -0
  9. package/dist/esm/clients/comment-client.js +92 -0
  10. package/dist/esm/clients/email-client.js +41 -0
  11. package/dist/esm/clients/filter-client.js +26 -0
  12. package/dist/esm/clients/folder-client.js +80 -0
  13. package/dist/esm/clients/id-mapping-client.js +37 -0
  14. package/dist/esm/clients/insights-client.js +89 -0
  15. package/dist/esm/clients/label-client.js +131 -0
  16. package/dist/esm/clients/productivity-client.js +24 -0
  17. package/dist/esm/clients/project-client.js +284 -0
  18. package/dist/esm/clients/reminder-client.js +204 -0
  19. package/dist/esm/clients/section-client.js +121 -0
  20. package/dist/esm/clients/task-client.js +264 -0
  21. package/dist/esm/clients/template-client.js +89 -0
  22. package/dist/esm/clients/ui-extension-client.js +110 -0
  23. package/dist/esm/clients/upload-client.js +153 -0
  24. package/dist/esm/clients/view-options-client.js +21 -0
  25. package/dist/esm/clients/workspace-client.js +384 -0
  26. package/dist/esm/consts/endpoints.js +193 -0
  27. package/dist/esm/index.js +5 -0
  28. package/dist/esm/test-utils/asserts.js +8 -0
  29. package/dist/esm/test-utils/msw-setup.js +88 -0
  30. package/dist/esm/test-utils/obsidian-fetch-adapter.js +51 -0
  31. package/dist/esm/test-utils/test-defaults.js +368 -0
  32. package/dist/esm/test-utils/transport-seam.js +15 -0
  33. package/dist/esm/test-utils/webhook-fixtures.js +26 -0
  34. package/dist/esm/todoist-api.js +1757 -0
  35. package/dist/esm/transport/fetch-with-retry.js +216 -0
  36. package/dist/esm/transport/http-client.js +140 -0
  37. package/dist/esm/transport/http-dispatcher.js +158 -0
  38. package/dist/esm/transport/sync-request.js +106 -0
  39. package/dist/esm/types/activity/index.js +2 -0
  40. package/dist/esm/types/activity/requests.js +1 -0
  41. package/dist/esm/types/activity/types.js +45 -0
  42. package/dist/esm/types/apps/index.js +2 -0
  43. package/dist/esm/types/apps/requests.js +1 -0
  44. package/dist/esm/types/apps/types.js +255 -0
  45. package/dist/esm/types/backups/index.js +2 -0
  46. package/dist/esm/types/backups/requests.js +1 -0
  47. package/dist/esm/types/backups/types.js +5 -0
  48. package/dist/esm/types/billing/index.js +2 -0
  49. package/dist/esm/types/billing/requests.js +1 -0
  50. package/dist/esm/types/billing/types.js +89 -0
  51. package/dist/esm/types/comments/index.js +2 -0
  52. package/dist/esm/types/comments/requests.js +1 -0
  53. package/dist/esm/types/comments/types.js +57 -0
  54. package/dist/esm/types/common.js +7 -0
  55. package/dist/esm/types/emails/index.js +1 -0
  56. package/dist/esm/types/emails/requests.js +2 -0
  57. package/dist/esm/types/errors.js +41 -0
  58. package/dist/esm/types/folders/index.js +1 -0
  59. package/dist/esm/types/folders/requests.js +1 -0
  60. package/dist/esm/types/http.js +20 -0
  61. package/dist/esm/types/id-mappings/index.js +2 -0
  62. package/dist/esm/types/id-mappings/requests.js +17 -0
  63. package/dist/esm/types/id-mappings/types.js +9 -0
  64. package/dist/esm/types/index.js +24 -0
  65. package/dist/esm/types/insights/index.js +2 -0
  66. package/dist/esm/types/insights/requests.js +1 -0
  67. package/dist/esm/types/insights/types.js +77 -0
  68. package/dist/esm/types/labels/index.js +2 -0
  69. package/dist/esm/types/labels/requests.js +1 -0
  70. package/dist/esm/types/labels/types.js +8 -0
  71. package/dist/esm/types/productivity/index.js +1 -0
  72. package/dist/esm/types/productivity/types.js +65 -0
  73. package/dist/esm/types/projects/index.js +2 -0
  74. package/dist/esm/types/projects/requests.js +1 -0
  75. package/dist/esm/types/projects/types.js +65 -0
  76. package/dist/esm/types/reminders/index.js +1 -0
  77. package/dist/esm/types/reminders/requests.js +92 -0
  78. package/dist/esm/types/sections/index.js +2 -0
  79. package/dist/esm/types/sections/requests.js +1 -0
  80. package/dist/esm/types/sections/types.js +23 -0
  81. package/dist/esm/types/sync/commands/calendars.js +1 -0
  82. package/dist/esm/types/sync/commands/filters.js +1 -0
  83. package/dist/esm/types/sync/commands/folders.js +1 -0
  84. package/dist/esm/types/sync/commands/index.js +18 -0
  85. package/dist/esm/types/sync/commands/labels.js +2 -0
  86. package/dist/esm/types/sync/commands/notes.js +1 -0
  87. package/dist/esm/types/sync/commands/notifications.js +1 -0
  88. package/dist/esm/types/sync/commands/others.js +1 -0
  89. package/dist/esm/types/sync/commands/project-view-options.js +1 -0
  90. package/dist/esm/types/sync/commands/projects.js +1 -0
  91. package/dist/esm/types/sync/commands/reminders.js +1 -0
  92. package/dist/esm/types/sync/commands/sections.js +1 -0
  93. package/dist/esm/types/sync/commands/shared.js +16 -0
  94. package/dist/esm/types/sync/commands/sharing.js +1 -0
  95. package/dist/esm/types/sync/commands/tasks.js +1 -0
  96. package/dist/esm/types/sync/commands/view-options.js +1 -0
  97. package/dist/esm/types/sync/commands/workspace-filters.js +1 -0
  98. package/dist/esm/types/sync/commands/workspaces.js +1 -0
  99. package/dist/esm/types/sync/index.js +6 -0
  100. package/dist/esm/types/sync/request.js +1 -0
  101. package/dist/esm/types/sync/resource-types.js +36 -0
  102. package/dist/esm/types/sync/resources/calendars.js +24 -0
  103. package/dist/esm/types/sync/resources/collaborators.js +21 -0
  104. package/dist/esm/types/sync/resources/completed-info.js +21 -0
  105. package/dist/esm/types/sync/resources/filters.js +12 -0
  106. package/dist/esm/types/sync/resources/folders.js +10 -0
  107. package/dist/esm/types/sync/resources/index.js +18 -0
  108. package/dist/esm/types/sync/resources/labels.js +7 -0
  109. package/dist/esm/types/sync/resources/live-notifications.js +35 -0
  110. package/dist/esm/types/sync/resources/notes.js +18 -0
  111. package/dist/esm/types/sync/resources/reminders.js +58 -0
  112. package/dist/esm/types/sync/resources/suggestions.js +33 -0
  113. package/dist/esm/types/sync/resources/tooltips.js +5 -0
  114. package/dist/esm/types/sync/resources/user-plan-limits.js +21 -0
  115. package/dist/esm/types/sync/resources/user-settings.js +41 -0
  116. package/dist/esm/types/sync/resources/user-status.js +22 -0
  117. package/dist/esm/types/sync/resources/user.js +109 -0
  118. package/dist/esm/types/sync/resources/view-options.js +128 -0
  119. package/dist/esm/types/sync/resources/workspace-filters.js +17 -0
  120. package/dist/esm/types/sync/resources/workspaces.js +69 -0
  121. package/dist/esm/types/sync/response.js +57 -0
  122. package/dist/esm/types/sync/user-preferences.js +68 -0
  123. package/dist/esm/types/tasks/index.js +2 -0
  124. package/dist/esm/types/tasks/requests.js +1 -0
  125. package/dist/esm/types/tasks/types.js +56 -0
  126. package/dist/esm/types/templates/index.js +1 -0
  127. package/dist/esm/types/templates/requests.js +1 -0
  128. package/dist/esm/types/ui-extensions/index.js +2 -0
  129. package/dist/esm/types/ui-extensions/requests.js +1 -0
  130. package/dist/esm/types/ui-extensions/types.js +74 -0
  131. package/dist/esm/types/uploads/index.js +1 -0
  132. package/dist/esm/types/uploads/requests.js +1 -0
  133. package/dist/esm/types/users/index.js +1 -0
  134. package/dist/esm/types/users/types.js +49 -0
  135. package/dist/esm/types/webhooks/comments.js +93 -0
  136. package/dist/esm/types/webhooks/envelope.js +23 -0
  137. package/dist/esm/types/webhooks/filters.js +27 -0
  138. package/dist/esm/types/webhooks/index.js +9 -0
  139. package/dist/esm/types/webhooks/labels.js +51 -0
  140. package/dist/esm/types/webhooks/projects.js +33 -0
  141. package/dist/esm/types/webhooks/reminders.js +32 -0
  142. package/dist/esm/types/webhooks/sections.js +50 -0
  143. package/dist/esm/types/webhooks/tasks.js +65 -0
  144. package/dist/esm/types/webhooks/types.js +52 -0
  145. package/dist/esm/types/workspaces/index.js +2 -0
  146. package/dist/esm/types/workspaces/requests.js +1 -0
  147. package/dist/esm/types/workspaces/types.js +151 -0
  148. package/dist/esm/utils/activity-helpers.js +53 -0
  149. package/dist/esm/utils/case-conversion.js +84 -0
  150. package/dist/esm/utils/colors.js +145 -0
  151. package/dist/esm/utils/file-response.js +29 -0
  152. package/dist/esm/utils/filter-queries.js +231 -0
  153. package/dist/esm/utils/filter-query-definitions.js +2789 -0
  154. package/dist/esm/utils/headers.js +42 -0
  155. package/dist/esm/utils/index.js +11 -0
  156. package/dist/esm/utils/multipart-upload.js +267 -0
  157. package/dist/esm/utils/person-names.js +61 -0
  158. package/dist/esm/utils/processing-helpers.js +12 -0
  159. package/dist/esm/utils/project-helpers.js +29 -0
  160. package/dist/esm/utils/request-helpers.js +43 -0
  161. package/dist/esm/utils/sanitization.js +131 -0
  162. package/dist/esm/utils/sync-helpers.js +19 -0
  163. package/dist/esm/utils/task-sorting.js +280 -0
  164. package/dist/esm/utils/uncompletable-helpers.js +54 -0
  165. package/dist/esm/utils/url-helpers.js +196 -0
  166. package/dist/esm/utils/validators.js +102 -0
  167. package/dist/esm/utils/view-options.js +15 -0
  168. package/dist/esm/utils/webhook-parser.js +56 -0
  169. package/dist/types/authentication.d.ts +262 -0
  170. package/dist/types/clients/activity-client.d.ts +12 -0
  171. package/dist/types/clients/app-client.d.ts +37 -0
  172. package/dist/types/clients/backup-client.d.ts +14 -0
  173. package/dist/types/clients/base-client.d.ts +23 -0
  174. package/dist/types/clients/billing-client.d.ts +22 -0
  175. package/dist/types/clients/comment-client.d.ts +15 -0
  176. package/dist/types/clients/email-client.d.ts +13 -0
  177. package/dist/types/clients/filter-client.d.ts +10 -0
  178. package/dist/types/clients/folder-client.d.ts +16 -0
  179. package/dist/types/clients/id-mapping-client.d.ts +13 -0
  180. package/dist/types/clients/insights-client.d.ts +18 -0
  181. package/dist/types/clients/label-client.d.ts +19 -0
  182. package/dist/types/clients/productivity-client.d.ts +12 -0
  183. package/dist/types/clients/project-client.d.ts +22 -0
  184. package/dist/types/clients/reminder-client.d.ts +25 -0
  185. package/dist/types/clients/section-client.d.ts +18 -0
  186. package/dist/types/clients/task-client.d.ts +25 -0
  187. package/dist/types/clients/template-client.d.ts +17 -0
  188. package/dist/types/clients/ui-extension-client.d.ts +18 -0
  189. package/dist/types/clients/upload-client.d.ts +17 -0
  190. package/dist/types/clients/view-options-client.d.ts +8 -0
  191. package/dist/types/clients/workspace-client.d.ts +43 -0
  192. package/dist/types/consts/endpoints.d.ts +120 -0
  193. package/dist/types/index.d.ts +6 -0
  194. package/dist/types/test-utils/asserts.d.ts +1 -0
  195. package/dist/types/test-utils/msw-setup.d.ts +33 -0
  196. package/dist/types/test-utils/obsidian-fetch-adapter.d.ts +29 -0
  197. package/dist/types/test-utils/test-defaults.d.ts +286 -0
  198. package/dist/types/test-utils/transport-seam.d.ts +1 -0
  199. package/dist/types/test-utils/webhook-fixtures.d.ts +13 -0
  200. package/dist/types/todoist-api.d.ts +1437 -0
  201. package/dist/types/transport/fetch-with-retry.d.ts +12 -0
  202. package/dist/types/transport/http-client.d.ts +25 -0
  203. package/dist/types/transport/http-dispatcher.d.ts +65 -0
  204. package/dist/types/transport/sync-request.d.ts +31 -0
  205. package/dist/types/types/activity/index.d.ts +2 -0
  206. package/dist/types/types/activity/requests.d.ts +85 -0
  207. package/dist/types/types/activity/types.d.ts +56 -0
  208. package/dist/types/types/apps/index.d.ts +2 -0
  209. package/dist/types/types/apps/requests.d.ts +99 -0
  210. package/dist/types/types/apps/types.d.ts +450 -0
  211. package/dist/types/types/backups/index.d.ts +2 -0
  212. package/dist/types/types/backups/requests.d.ts +16 -0
  213. package/dist/types/types/backups/types.d.ts +7 -0
  214. package/dist/types/types/billing/index.d.ts +2 -0
  215. package/dist/types/types/billing/requests.d.ts +62 -0
  216. package/dist/types/types/billing/types.d.ts +207 -0
  217. package/dist/types/types/comments/index.d.ts +2 -0
  218. package/dist/types/types/comments/requests.d.ts +64 -0
  219. package/dist/types/types/comments/types.d.ts +141 -0
  220. package/dist/types/types/common.d.ts +13 -0
  221. package/dist/types/types/emails/index.d.ts +1 -0
  222. package/dist/types/types/emails/requests.d.ts +30 -0
  223. package/dist/types/types/errors.d.ts +29 -0
  224. package/dist/types/types/folders/index.d.ts +1 -0
  225. package/dist/types/types/folders/requests.d.ts +20 -0
  226. package/dist/types/types/http.d.ts +104 -0
  227. package/dist/types/types/id-mappings/index.d.ts +2 -0
  228. package/dist/types/types/id-mappings/requests.d.ts +28 -0
  229. package/dist/types/types/id-mappings/types.d.ts +13 -0
  230. package/dist/types/types/index.d.ts +24 -0
  231. package/dist/types/types/insights/index.d.ts +2 -0
  232. package/dist/types/types/insights/requests.d.ts +26 -0
  233. package/dist/types/types/insights/types.d.ts +167 -0
  234. package/dist/types/types/labels/index.d.ts +2 -0
  235. package/dist/types/types/labels/requests.d.ts +75 -0
  236. package/dist/types/types/labels/types.d.ts +13 -0
  237. package/dist/types/types/productivity/index.d.ts +1 -0
  238. package/dist/types/types/productivity/types.d.ts +115 -0
  239. package/dist/types/types/projects/index.d.ts +2 -0
  240. package/dist/types/types/projects/requests.d.ts +206 -0
  241. package/dist/types/types/projects/types.d.ts +286 -0
  242. package/dist/types/types/reminders/index.d.ts +1 -0
  243. package/dist/types/types/reminders/requests.d.ts +205 -0
  244. package/dist/types/types/sections/index.d.ts +2 -0
  245. package/dist/types/types/sections/requests.d.ts +49 -0
  246. package/dist/types/types/sections/types.d.ts +70 -0
  247. package/dist/types/types/sync/commands/calendars.d.ts +14 -0
  248. package/dist/types/types/sync/commands/filters.d.ts +24 -0
  249. package/dist/types/types/sync/commands/folders.d.ts +20 -0
  250. package/dist/types/types/sync/commands/index.d.ts +167 -0
  251. package/dist/types/types/sync/commands/labels.d.ts +32 -0
  252. package/dist/types/types/sync/commands/notes.d.ts +27 -0
  253. package/dist/types/types/sync/commands/notifications.d.ts +10 -0
  254. package/dist/types/types/sync/commands/others.d.ts +61 -0
  255. package/dist/types/types/sync/commands/project-view-options.d.ts +13 -0
  256. package/dist/types/types/sync/commands/projects.d.ts +96 -0
  257. package/dist/types/types/sync/commands/reminders.d.ts +51 -0
  258. package/dist/types/types/sync/commands/sections.d.ts +36 -0
  259. package/dist/types/types/sync/commands/shared.d.ts +51 -0
  260. package/dist/types/types/sync/commands/sharing.d.ts +16 -0
  261. package/dist/types/types/sync/commands/tasks.d.ts +78 -0
  262. package/dist/types/types/sync/commands/view-options.d.ts +18 -0
  263. package/dist/types/types/sync/commands/workspace-filters.d.ts +25 -0
  264. package/dist/types/types/sync/commands/workspaces.d.ts +82 -0
  265. package/dist/types/types/sync/index.d.ts +6 -0
  266. package/dist/types/types/sync/request.d.ts +7 -0
  267. package/dist/types/types/sync/resource-types.d.ts +5 -0
  268. package/dist/types/types/sync/resources/calendars.d.ts +38 -0
  269. package/dist/types/types/sync/resources/collaborators.d.ts +45 -0
  270. package/dist/types/types/sync/resources/completed-info.d.ts +33 -0
  271. package/dist/types/types/sync/resources/filters.d.ts +13 -0
  272. package/dist/types/types/sync/resources/folders.d.ts +11 -0
  273. package/dist/types/types/sync/resources/index.d.ts +18 -0
  274. package/dist/types/types/sync/resources/labels.d.ts +12 -0
  275. package/dist/types/types/sync/resources/live-notifications.d.ts +32 -0
  276. package/dist/types/types/sync/resources/notes.d.ts +34 -0
  277. package/dist/types/types/sync/resources/reminders.d.ts +213 -0
  278. package/dist/types/types/sync/resources/suggestions.d.ts +96 -0
  279. package/dist/types/types/sync/resources/tooltips.d.ts +6 -0
  280. package/dist/types/types/sync/resources/user-plan-limits.d.ts +47 -0
  281. package/dist/types/types/sync/resources/user-settings.d.ts +40 -0
  282. package/dist/types/types/sync/resources/user-status.d.ts +46 -0
  283. package/dist/types/types/sync/resources/user.d.ts +151 -0
  284. package/dist/types/types/sync/resources/view-options.d.ts +157 -0
  285. package/dist/types/types/sync/resources/workspace-filters.d.ts +18 -0
  286. package/dist/types/types/sync/resources/workspaces.d.ts +142 -0
  287. package/dist/types/types/sync/response.d.ts +930 -0
  288. package/dist/types/types/sync/user-preferences.d.ts +39 -0
  289. package/dist/types/types/tasks/index.d.ts +2 -0
  290. package/dist/types/types/tasks/requests.d.ts +197 -0
  291. package/dist/types/types/tasks/types.d.ts +162 -0
  292. package/dist/types/types/templates/index.d.ts +1 -0
  293. package/dist/types/types/templates/requests.d.ts +92 -0
  294. package/dist/types/types/ui-extensions/index.d.ts +2 -0
  295. package/dist/types/types/ui-extensions/requests.d.ts +108 -0
  296. package/dist/types/types/ui-extensions/types.d.ts +185 -0
  297. package/dist/types/types/uploads/index.d.ts +1 -0
  298. package/dist/types/types/uploads/requests.d.ts +32 -0
  299. package/dist/types/types/users/index.d.ts +1 -0
  300. package/dist/types/types/users/types.d.ts +67 -0
  301. package/dist/types/types/webhooks/comments.d.ts +1600 -0
  302. package/dist/types/types/webhooks/envelope.d.ts +34 -0
  303. package/dist/types/types/webhooks/filters.d.ts +99 -0
  304. package/dist/types/types/webhooks/index.d.ts +9 -0
  305. package/dist/types/types/webhooks/labels.d.ts +160 -0
  306. package/dist/types/types/webhooks/projects.d.ts +365 -0
  307. package/dist/types/types/webhooks/reminders.d.ts +82 -0
  308. package/dist/types/types/webhooks/sections.d.ts +372 -0
  309. package/dist/types/types/webhooks/tasks.d.ts +981 -0
  310. package/dist/types/types/webhooks/types.d.ts +2606 -0
  311. package/dist/types/types/workspaces/index.d.ts +2 -0
  312. package/dist/types/types/workspaces/requests.d.ts +260 -0
  313. package/dist/types/types/workspaces/types.d.ts +266 -0
  314. package/dist/types/utils/activity-helpers.d.ts +28 -0
  315. package/dist/types/utils/case-conversion.d.ts +20 -0
  316. package/dist/types/utils/colors.d.ts +201 -0
  317. package/dist/types/utils/file-response.d.ts +15 -0
  318. package/dist/types/utils/filter-queries.d.ts +42 -0
  319. package/dist/types/utils/filter-query-definitions.d.ts +27 -0
  320. package/dist/types/utils/headers.d.ts +20 -0
  321. package/dist/types/utils/index.d.ts +15 -0
  322. package/dist/types/utils/multipart-upload.d.ts +58 -0
  323. package/dist/types/utils/person-names.d.ts +52 -0
  324. package/dist/types/utils/processing-helpers.d.ts +1 -0
  325. package/dist/types/utils/project-helpers.d.ts +21 -0
  326. package/dist/types/utils/request-helpers.d.ts +33 -0
  327. package/dist/types/utils/sanitization.d.ts +52 -0
  328. package/dist/types/utils/sync-helpers.d.ts +17 -0
  329. package/dist/types/utils/task-sorting.d.ts +46 -0
  330. package/dist/types/utils/uncompletable-helpers.d.ts +30 -0
  331. package/dist/types/utils/url-helpers.d.ts +120 -0
  332. package/dist/types/utils/validators.d.ts +1922 -0
  333. package/dist/types/utils/view-options.d.ts +11 -0
  334. package/dist/types/utils/webhook-parser.d.ts +48 -0
  335. package/package.json +87 -8
@@ -0,0 +1,39 @@
1
+ import { z } from 'zod';
2
+ /** Available date format options. */
3
+ export declare const DATE_FORMATS: readonly ["DD/MM/YYYY", "MM/DD/YYYY"];
4
+ /** User date format preference. */
5
+ export type DateFormat = (typeof DATE_FORMATS)[number];
6
+ /** Available time format options. */
7
+ export declare const TIME_FORMATS: readonly ["24h", "12h"];
8
+ /** User time format preference. */
9
+ export type TimeFormat = (typeof TIME_FORMATS)[number];
10
+ /** Available days of the week. */
11
+ export declare const DAYS_OF_WEEK: readonly ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"];
12
+ /** Day of the week. */
13
+ export type DayOfWeek = (typeof DAYS_OF_WEEK)[number];
14
+ export declare const DATE_FORMAT_FROM_API: {
15
+ readonly 0: "DD/MM/YYYY";
16
+ readonly 1: "MM/DD/YYYY";
17
+ };
18
+ export declare const TIME_FORMAT_FROM_API: {
19
+ readonly 0: "24h";
20
+ readonly 1: "12h";
21
+ };
22
+ export declare const DAY_OF_WEEK_FROM_API: {
23
+ readonly 1: "Monday";
24
+ readonly 2: "Tuesday";
25
+ readonly 3: "Wednesday";
26
+ readonly 4: "Thursday";
27
+ readonly 5: "Friday";
28
+ readonly 6: "Saturday";
29
+ readonly 7: "Sunday";
30
+ };
31
+ export declare const DATE_FORMAT_TO_API: Record<DateFormat, 0 | 1>;
32
+ export declare const TIME_FORMAT_TO_API: Record<TimeFormat, 0 | 1>;
33
+ export declare const DAY_OF_WEEK_TO_API: Record<DayOfWeek, 1 | 2 | 3 | 4 | 5 | 6 | 7>;
34
+ /** Zod read-schema: parse API 0/1 integer, emit boolean */
35
+ export declare const BooleanFromZeroOneSchema: z.ZodPipe<z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<1>]>, z.ZodTransform<boolean, 0 | 1>>;
36
+ /** Zod read-schemas: parse API numbers, emit descriptive strings */
37
+ export declare const DateFormatSchema: z.ZodPipe<z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<1>]>, z.ZodTransform<"DD/MM/YYYY" | "MM/DD/YYYY", 0 | 1>>;
38
+ export declare const TimeFormatSchema: z.ZodPipe<z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<1>]>, z.ZodTransform<"24h" | "12h", 0 | 1>>;
39
+ export declare const DayOfWeekSchema: z.ZodPipe<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>, z.ZodLiteral<5>, z.ZodLiteral<6>, z.ZodLiteral<7>]>, z.ZodTransform<"Monday" | "Tuesday" | "Wednesday" | "Thursday" | "Friday" | "Saturday" | "Sunday", 1 | 2 | 3 | 4 | 5 | 6 | 7>>;
@@ -0,0 +1,2 @@
1
+ export * from './types.js';
2
+ export * from './requests.js';
@@ -0,0 +1,197 @@
1
+ import type { RequireAllOrNone, RequireOneOrNone, RequireExactlyOne } from 'type-fest';
2
+ import type { Duration, Task } from './types.js';
3
+ /**
4
+ * Arguments for creating a new task.
5
+ * @see https://developer.todoist.com/api/v1/#tag/Tasks/operation/create_task_api_v1_tasks_post
6
+ */
7
+ export type AddTaskArgs = {
8
+ content: string;
9
+ description?: string;
10
+ projectId?: string;
11
+ sectionId?: string;
12
+ parentId?: string;
13
+ order?: number;
14
+ labels?: string[];
15
+ priority?: number;
16
+ assigneeId?: string;
17
+ dueString?: string;
18
+ dueLang?: string;
19
+ deadlineLang?: string;
20
+ deadlineDate?: string;
21
+ isUncompletable?: boolean;
22
+ } & RequireOneOrNone<{
23
+ dueDate?: string;
24
+ dueDatetime?: string;
25
+ }> & RequireAllOrNone<{
26
+ duration?: Duration['amount'];
27
+ durationUnit?: Duration['unit'];
28
+ }>;
29
+ /**
30
+ * Arguments for retrieving tasks.
31
+ * @see https://developer.todoist.com/api/v1/#tag/Tasks/operation/get_tasks_api_v1_tasks_get
32
+ */
33
+ export type GetTasksArgs = {
34
+ projectId?: string;
35
+ sectionId?: string;
36
+ parentId?: string;
37
+ label?: string;
38
+ ids?: string[];
39
+ cursor?: string | null;
40
+ limit?: number;
41
+ };
42
+ /**
43
+ * Arguments for retrieving tasks by filter.
44
+ * @see https://developer.todoist.com/api/v1/#tag/Tasks/operation/get_tasks_by_filter_api_v1_tasks_filter_get
45
+ */
46
+ export type GetTasksByFilterArgs = {
47
+ query: string;
48
+ lang?: string;
49
+ cursor?: string | null;
50
+ limit?: number;
51
+ };
52
+ /**
53
+ * Arguments for retrieving completed tasks by completion date.
54
+ * @see https://developer.todoist.com/api/v1/#tag/Tasks/operation/tasks_completed_by_completion_date_api_v1_tasks_completed_by_completion_date_get
55
+ */
56
+ export type GetCompletedTasksByCompletionDateArgs = {
57
+ since: string;
58
+ until: string;
59
+ workspaceId?: string | null;
60
+ projectId?: string | null;
61
+ sectionId?: string | null;
62
+ parentId?: string | null;
63
+ filterQuery?: string | null;
64
+ filterLang?: string | null;
65
+ cursor?: string | null;
66
+ limit?: number;
67
+ publicKey?: string | null;
68
+ };
69
+ /**
70
+ * Arguments for retrieving completed tasks by due date.
71
+ * @see https://developer.todoist.com/api/v1/#tag/Tasks/operation/tasks_completed_by_due_date_api_v1_tasks_completed_by_due_date_get
72
+ */
73
+ export type GetCompletedTasksByDueDateArgs = {
74
+ since: string;
75
+ until: string;
76
+ workspaceId?: string | null;
77
+ projectId?: string | null;
78
+ sectionId?: string | null;
79
+ parentId?: string | null;
80
+ filterQuery?: string | null;
81
+ filterLang?: string | null;
82
+ cursor?: string | null;
83
+ limit?: number;
84
+ };
85
+ /**
86
+ * Arguments for searching completed tasks.
87
+ */
88
+ export type SearchCompletedTasksArgs = {
89
+ query: string;
90
+ cursor?: string | null;
91
+ limit?: number;
92
+ };
93
+ /**
94
+ * @see https://developer.todoist.com/api/v1/#tag/Tasks/operation/get_tasks_api_v1_tasks_get
95
+ */
96
+ export type GetTasksResponse = {
97
+ results: Task[];
98
+ nextCursor: string | null;
99
+ };
100
+ /**
101
+ * @see https://developer.todoist.com/api/v1/#tag/Tasks/operation/tasks_completed_by_due_date_api_v1_tasks_completed_by_due_date_get
102
+ * @see https://developer.todoist.com/api/v1/#tag/Tasks/operation/tasks_completed_by_completion_date_api_v1_tasks_completed_by_completion_date_get
103
+ */
104
+ export type GetCompletedTasksResponse = {
105
+ items: Task[];
106
+ nextCursor: string | null;
107
+ };
108
+ /**
109
+ * Arguments for updating a task.
110
+ * @see https://developer.todoist.com/api/v1/#tag/Tasks/operation/update_task_api_v1_tasks__task_id__post
111
+ */
112
+ export type UpdateTaskArgs = {
113
+ content?: string;
114
+ description?: string;
115
+ labels?: string[];
116
+ priority?: number;
117
+ /**
118
+ * Sort order of the task within its parent/project.
119
+ * Internally mapped to `child_order` in the API payload.
120
+ */
121
+ order?: number;
122
+ /**
123
+ * Natural language due date.
124
+ * Use `"no date"` to clear a due date, or `null` as an SDK alias for the same behavior.
125
+ */
126
+ dueString?: (string & {}) | 'no date' | null;
127
+ dueLang?: string | null;
128
+ assigneeId?: string | null;
129
+ /**
130
+ * Deadline date in `YYYY-MM-DD` format.
131
+ * Use `null` to clear a task deadline.
132
+ */
133
+ deadlineDate?: string | null;
134
+ deadlineLang?: string | null;
135
+ isUncompletable?: boolean;
136
+ } & RequireOneOrNone<{
137
+ dueDate?: string;
138
+ dueDatetime?: string;
139
+ }> & RequireAllOrNone<{
140
+ duration?: Duration['amount'];
141
+ durationUnit?: Duration['unit'];
142
+ }>;
143
+ /**
144
+ * Arguments for quick adding a task.
145
+ * @see https://developer.todoist.com/api/v1/#tag/Tasks/operation/quick_add_api_v1_tasks_quick_post
146
+ */
147
+ export type QuickAddTaskArgs = {
148
+ text: string;
149
+ note?: string;
150
+ reminder?: string;
151
+ autoReminder?: boolean;
152
+ meta?: boolean;
153
+ isUncompletable?: boolean;
154
+ };
155
+ /**
156
+ * Response from quick adding a task.
157
+ * @see https://developer.todoist.com/api/v1/#tag/Tasks/operation/quick_add_api_v1_tasks_quick_post
158
+ */
159
+ /**
160
+ * Arguments for moving a task.
161
+ * @see https://developer.todoist.com/api/v1/#tag/Tasks/operation/move_task_api_v1_tasks__task_id__move_post
162
+ */
163
+ export type MoveTaskArgs = RequireExactlyOne<{
164
+ projectId?: string;
165
+ sectionId?: string;
166
+ parentId?: string;
167
+ }>;
168
+ /**
169
+ * Arguments for getting all completed tasks.
170
+ * @see https://developer.todoist.com/api/v1/#tag/Tasks/operation/get_all_completed_items_api_v1_tasks_completed_get
171
+ */
172
+ export type GetAllCompletedTasksArgs = {
173
+ /** Filter by project ID. */
174
+ projectId?: string | null;
175
+ /** Filter by label name. */
176
+ label?: string | null;
177
+ /** Number of results to return (max 200, default 30). */
178
+ limit?: number;
179
+ /** Number of results to skip (default 0). */
180
+ offset?: number;
181
+ /** Return items completed after this date. */
182
+ since?: Date | null;
183
+ /** Return items completed before this date. */
184
+ until?: Date | null;
185
+ /** Include comment data in the response. */
186
+ annotateNotes?: boolean;
187
+ /** Include task data in the response. */
188
+ annotateItems?: boolean;
189
+ };
190
+ /**
191
+ * Response from getting all completed tasks.
192
+ */
193
+ export type GetAllCompletedTasksResponse = {
194
+ projects: Record<string, Record<string, unknown>>;
195
+ sections: Record<string, Record<string, unknown>>;
196
+ items: Task[];
197
+ };
@@ -0,0 +1,162 @@
1
+ import { z } from 'zod';
2
+ export declare const DueDateSchema: z.ZodObject<{
3
+ isRecurring: z.ZodBoolean;
4
+ string: z.ZodString;
5
+ date: z.ZodString;
6
+ datetime: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7
+ timezone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
8
+ lang: z.ZodOptional<z.ZodNullable<z.ZodString>>;
9
+ }, z.core.$strip>;
10
+ /**
11
+ * Represents a due date for a task.
12
+ * @see https://developer.todoist.com/api/v1/#tag/Tasks/operation/get_tasks_api_v1_tasks_get
13
+ */
14
+ export type DueDate = z.infer<typeof DueDateSchema>;
15
+ /** Available duration units for task deadlines. */
16
+ export declare const DURATION_UNITS: readonly ["minute", "day"];
17
+ /** Unit of time for a task duration. */
18
+ export type DurationUnit = (typeof DURATION_UNITS)[number];
19
+ export declare const DurationSchema: z.ZodObject<{
20
+ amount: z.ZodNumber;
21
+ unit: z.ZodEnum<{
22
+ minute: "minute";
23
+ day: "day";
24
+ }>;
25
+ }, z.core.$strip>;
26
+ /**
27
+ * Represents a duration for a task deadline.
28
+ * @see https://developer.todoist.com/api/v1/#tag/Tasks
29
+ */
30
+ export type Duration = z.infer<typeof DurationSchema>;
31
+ export declare const DeadlineSchema: z.ZodObject<{
32
+ date: z.ZodString;
33
+ lang: z.ZodString;
34
+ }, z.core.$strip>;
35
+ /**
36
+ * Represents a task deadline.
37
+ */
38
+ export type Deadline = z.infer<typeof DeadlineSchema>;
39
+ export declare const TaskSchema: z.ZodPipe<z.ZodObject<{
40
+ id: z.ZodString;
41
+ userId: z.ZodString;
42
+ projectId: z.ZodString;
43
+ sectionId: z.ZodNullable<z.ZodString>;
44
+ parentId: z.ZodNullable<z.ZodString>;
45
+ addedByUid: z.ZodNullable<z.ZodString>;
46
+ assignedByUid: z.ZodNullable<z.ZodString>;
47
+ responsibleUid: z.ZodNullable<z.ZodString>;
48
+ labels: z.ZodArray<z.ZodString>;
49
+ deadline: z.ZodNullable<z.ZodObject<{
50
+ date: z.ZodString;
51
+ lang: z.ZodString;
52
+ }, z.core.$strip>>;
53
+ duration: z.ZodNullable<z.ZodObject<{
54
+ amount: z.ZodNumber;
55
+ unit: z.ZodEnum<{
56
+ minute: "minute";
57
+ day: "day";
58
+ }>;
59
+ }, z.core.$strip>>;
60
+ checked: z.ZodBoolean;
61
+ isDeleted: z.ZodBoolean;
62
+ addedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
63
+ completedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
64
+ updatedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
65
+ due: z.ZodNullable<z.ZodObject<{
66
+ isRecurring: z.ZodBoolean;
67
+ string: z.ZodString;
68
+ date: z.ZodString;
69
+ datetime: z.ZodOptional<z.ZodNullable<z.ZodString>>;
70
+ timezone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
71
+ lang: z.ZodOptional<z.ZodNullable<z.ZodString>>;
72
+ }, z.core.$strip>>;
73
+ priority: z.ZodNumber;
74
+ childOrder: z.ZodNumber;
75
+ content: z.ZodString;
76
+ description: z.ZodString;
77
+ dayOrder: z.ZodNumber;
78
+ isCollapsed: z.ZodBoolean;
79
+ isUncompletable: z.ZodDefault<z.ZodBoolean>;
80
+ }, z.core.$strip>, z.ZodTransform<{
81
+ isUncompletable: boolean;
82
+ url: string;
83
+ id: string;
84
+ userId: string;
85
+ projectId: string;
86
+ sectionId: string | null;
87
+ parentId: string | null;
88
+ addedByUid: string | null;
89
+ assignedByUid: string | null;
90
+ responsibleUid: string | null;
91
+ labels: string[];
92
+ deadline: {
93
+ date: string;
94
+ lang: string;
95
+ } | null;
96
+ duration: {
97
+ amount: number;
98
+ unit: "minute" | "day";
99
+ } | null;
100
+ checked: boolean;
101
+ isDeleted: boolean;
102
+ addedAt: Date | null;
103
+ completedAt: Date | null;
104
+ updatedAt: Date | null;
105
+ due: {
106
+ isRecurring: boolean;
107
+ string: string;
108
+ date: string;
109
+ datetime?: string | null | undefined;
110
+ timezone?: string | null | undefined;
111
+ lang?: string | null | undefined;
112
+ } | null;
113
+ priority: number;
114
+ childOrder: number;
115
+ content: string;
116
+ description: string;
117
+ dayOrder: number;
118
+ isCollapsed: boolean;
119
+ }, {
120
+ id: string;
121
+ userId: string;
122
+ projectId: string;
123
+ sectionId: string | null;
124
+ parentId: string | null;
125
+ addedByUid: string | null;
126
+ assignedByUid: string | null;
127
+ responsibleUid: string | null;
128
+ labels: string[];
129
+ deadline: {
130
+ date: string;
131
+ lang: string;
132
+ } | null;
133
+ duration: {
134
+ amount: number;
135
+ unit: "minute" | "day";
136
+ } | null;
137
+ checked: boolean;
138
+ isDeleted: boolean;
139
+ addedAt: Date | null;
140
+ completedAt: Date | null;
141
+ updatedAt: Date | null;
142
+ due: {
143
+ isRecurring: boolean;
144
+ string: string;
145
+ date: string;
146
+ datetime?: string | null | undefined;
147
+ timezone?: string | null | undefined;
148
+ lang?: string | null | undefined;
149
+ } | null;
150
+ priority: number;
151
+ childOrder: number;
152
+ content: string;
153
+ description: string;
154
+ dayOrder: number;
155
+ isCollapsed: boolean;
156
+ isUncompletable: boolean;
157
+ }>>;
158
+ /**
159
+ * Represents a task in Todoist.
160
+ * @see https://developer.todoist.com/api/v1/#tag/Tasks
161
+ */
162
+ export type Task = z.infer<typeof TaskSchema>;
@@ -0,0 +1 @@
1
+ export * from './requests.js';
@@ -0,0 +1,92 @@
1
+ import type { Comment } from '../comments/types.js';
2
+ import type { PersonalProject, WorkspaceProject } from '../projects/types.js';
3
+ import type { Section } from '../sections/types.js';
4
+ import type { Task } from '../tasks/types.js';
5
+ /**
6
+ * Arguments for exporting a project as a template file.
7
+ * @see https://developer.todoist.com/api/v1/#tag/Templates/operation/export_as_file_api_v1_templates_file_get
8
+ */
9
+ export type ExportTemplateFileArgs = {
10
+ /** The project ID to export. */
11
+ projectId: string;
12
+ /** Whether to use relative dates in the export. */
13
+ useRelativeDates?: boolean;
14
+ };
15
+ /**
16
+ * Arguments for exporting a project as a template URL.
17
+ * @see https://developer.todoist.com/api/v1/#tag/Templates/operation/export_as_url_api_v1_templates_url_get
18
+ */
19
+ export type ExportTemplateUrlArgs = {
20
+ /** The project ID to export. */
21
+ projectId: string;
22
+ /** Whether to use relative dates in the export. */
23
+ useRelativeDates?: boolean;
24
+ };
25
+ /**
26
+ * Response from exporting a project as a template URL.
27
+ */
28
+ export type ExportTemplateUrlResponse = {
29
+ fileName: string;
30
+ fileUrl: string;
31
+ };
32
+ /**
33
+ * Arguments for creating a project from a template file.
34
+ * @see https://developer.todoist.com/api/v1/#tag/Templates/operation/create_project_from_file_api_v1_templates_create_project_from_file_post
35
+ */
36
+ export type CreateProjectFromTemplateArgs = {
37
+ /** Name for the new project. */
38
+ name: string;
39
+ /** The template file content. */
40
+ file: Buffer | NodeJS.ReadableStream | string | Blob;
41
+ /** Optional file name (required for Buffer/Stream). */
42
+ fileName?: string;
43
+ /** Optional workspace ID. */
44
+ workspaceId?: string | null;
45
+ };
46
+ /**
47
+ * Response from creating a project from a template.
48
+ */
49
+ export type CreateProjectFromTemplateResponse = {
50
+ status: string;
51
+ projectId: string;
52
+ templateType: string;
53
+ projects: (PersonalProject | WorkspaceProject)[];
54
+ sections: Section[];
55
+ tasks: Task[];
56
+ comments: Comment[];
57
+ };
58
+ /**
59
+ * Arguments for importing a template file into an existing project.
60
+ * @see https://developer.todoist.com/api/v1/#tag/Templates/operation/import_into_project_from_file_api_v1_templates_import_into_project_from_file_post
61
+ */
62
+ export type ImportTemplateIntoProjectArgs = {
63
+ /** The project ID to import into. */
64
+ projectId: string;
65
+ /** The template file content. */
66
+ file: Buffer | NodeJS.ReadableStream | string | Blob;
67
+ /** Optional file name (required for Buffer/Stream). */
68
+ fileName?: string;
69
+ };
70
+ /**
71
+ * Arguments for importing a template by ID into an existing project.
72
+ * @see https://developer.todoist.com/api/v1/#tag/Templates/operation/import_into_project_from_template_id_api_v1_templates_import_into_project_from_template_id_post
73
+ */
74
+ export type ImportTemplateFromIdArgs = {
75
+ /** The project ID to import into. */
76
+ projectId: string;
77
+ /** The template ID to import. */
78
+ templateId: string;
79
+ /** Locale for the import (default: 'en'). */
80
+ locale?: string;
81
+ };
82
+ /**
83
+ * Response from importing a template into a project.
84
+ */
85
+ export type ImportTemplateResponse = {
86
+ status: string;
87
+ templateType: string;
88
+ projects: (PersonalProject | WorkspaceProject)[];
89
+ sections: Section[];
90
+ tasks: Task[];
91
+ comments: Comment[];
92
+ };
@@ -0,0 +1,2 @@
1
+ export * from './types.js';
2
+ export * from './requests.js';
@@ -0,0 +1,108 @@
1
+ import type { ComposerExtensionContext, ContextMenuExtensionContext, UiExtensionType } from './types.js';
2
+ import { UiExtensionTypeEnum } from './types.js';
3
+ /**
4
+ * Fields common to every UI extension variant — shared across all add/update
5
+ * request shapes.
6
+ */
7
+ type BaseUiExtensionFields = {
8
+ /** HTTPS URL the extension loads. */
9
+ url: string;
10
+ /** Extension display name. */
11
+ name: string;
12
+ /** Extension description. */
13
+ description: string;
14
+ /** Rendered width in pixels. */
15
+ width?: number | null;
16
+ /** Rendered height in pixels. */
17
+ height?: number | null;
18
+ /** Optional HTTPS URL for the extension icon. */
19
+ icon?: string | null;
20
+ /** Extension definition version. Defaults to the backend default. */
21
+ defVersion?: number;
22
+ /** Minimum Cardist renderer version required, as a decimal version string (e.g. `'0.60'`). */
23
+ minimumCardistVersion?: string;
24
+ /** Optional client-specified extension ID (server generates one if omitted). */
25
+ extensionId?: string | null;
26
+ };
27
+ /** Arguments for adding a context-menu UI extension. */
28
+ export type AddContextMenuExtensionArgs = BaseUiExtensionFields & {
29
+ /** The developer application (integration) ID the extension belongs to. */
30
+ integrationId: string;
31
+ extensionType: typeof UiExtensionTypeEnum.ContextMenu;
32
+ /** Where the extension appears. */
33
+ contextType: ContextMenuExtensionContext;
34
+ };
35
+ /** Arguments for adding a composer UI extension. */
36
+ export type AddComposerExtensionArgs = BaseUiExtensionFields & {
37
+ /** The developer application (integration) ID the extension belongs to. */
38
+ integrationId: string;
39
+ extensionType: typeof UiExtensionTypeEnum.Composer;
40
+ /** Which composer the extension appears in. */
41
+ composerType: ComposerExtensionContext;
42
+ };
43
+ /** Arguments for adding a settings UI extension. */
44
+ export type AddSettingsExtensionArgs = BaseUiExtensionFields & {
45
+ /** The developer application (integration) ID the extension belongs to. */
46
+ integrationId: string;
47
+ extensionType: typeof UiExtensionTypeEnum.Settings;
48
+ };
49
+ /**
50
+ * Arguments for adding a new UI extension to a developer application.
51
+ * Discriminated on `extensionType` so impossible combinations
52
+ * (e.g. `settings` + `contextType`) fail at compile time.
53
+ */
54
+ export type AddUiExtensionArgs = AddContextMenuExtensionArgs | AddComposerExtensionArgs | AddSettingsExtensionArgs;
55
+ /**
56
+ * Fields that are optional on every update variant.
57
+ */
58
+ type UpdateUiExtensionFields = {
59
+ url?: string;
60
+ name?: string;
61
+ description?: string;
62
+ width?: number | null;
63
+ height?: number | null;
64
+ icon?: string | null;
65
+ defVersion?: number;
66
+ minimumCardistVersion?: string;
67
+ extensionId?: string | null;
68
+ };
69
+ /**
70
+ * Arguments for updating a context-menu UI extension.
71
+ * `extensionType` is required to discriminate the variant — callers
72
+ * already have it from the fetched `UiExtension`.
73
+ */
74
+ export type UpdateContextMenuExtensionArgs = UpdateUiExtensionFields & {
75
+ extensionType: typeof UiExtensionTypeEnum.ContextMenu;
76
+ contextType?: ContextMenuExtensionContext;
77
+ };
78
+ /**
79
+ * Arguments for updating a composer UI extension.
80
+ */
81
+ export type UpdateComposerExtensionArgs = UpdateUiExtensionFields & {
82
+ extensionType: typeof UiExtensionTypeEnum.Composer;
83
+ composerType?: ComposerExtensionContext;
84
+ };
85
+ /**
86
+ * Arguments for updating a settings UI extension.
87
+ */
88
+ export type UpdateSettingsExtensionArgs = UpdateUiExtensionFields & {
89
+ extensionType: typeof UiExtensionTypeEnum.Settings;
90
+ };
91
+ /**
92
+ * Arguments for updating a UI extension — all value fields are optional
93
+ * but `extensionType` is required so TypeScript can discriminate which
94
+ * variant-specific fields (`contextType`, `composerType`) apply.
95
+ */
96
+ export type UpdateUiExtensionArgs = UpdateContextMenuExtensionArgs | UpdateComposerExtensionArgs | UpdateSettingsExtensionArgs;
97
+ export type { UiExtensionType };
98
+ /**
99
+ * Arguments for uploading a UI extension icon.
100
+ */
101
+ export type UploadUiExtensionIconArgs = {
102
+ /** The UI extension ID. */
103
+ uiExtensionId: string;
104
+ /** The icon file to upload (Buffer, Stream, or file path). */
105
+ file: Buffer | NodeJS.ReadableStream | string | Blob;
106
+ /** The file name (required for Buffer/Stream uploads). */
107
+ fileName?: string;
108
+ };