@doist/todoist-cli 1.67.0 → 1.68.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 (58) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +13 -0
  3. package/dist/commands/billing/format.d.ts +28 -0
  4. package/dist/commands/billing/format.d.ts.map +1 -0
  5. package/dist/commands/billing/format.js +89 -0
  6. package/dist/commands/billing/format.js.map +1 -0
  7. package/dist/commands/billing/index.d.ts +3 -0
  8. package/dist/commands/billing/index.d.ts.map +1 -0
  9. package/dist/commands/billing/index.js +45 -0
  10. package/dist/commands/billing/index.js.map +1 -0
  11. package/dist/commands/billing/plan.d.ts +3 -0
  12. package/dist/commands/billing/plan.d.ts.map +1 -0
  13. package/dist/commands/billing/plan.js +22 -0
  14. package/dist/commands/billing/plan.js.map +1 -0
  15. package/dist/commands/billing/prices.d.ts +3 -0
  16. package/dist/commands/billing/prices.d.ts.map +1 -0
  17. package/dist/commands/billing/prices.js +22 -0
  18. package/dist/commands/billing/prices.js.map +1 -0
  19. package/dist/commands/billing/pricing.d.ts +7 -0
  20. package/dist/commands/billing/pricing.d.ts.map +1 -0
  21. package/dist/commands/billing/pricing.js +43 -0
  22. package/dist/commands/billing/pricing.js.map +1 -0
  23. package/dist/commands/billing/subscription.d.ts +3 -0
  24. package/dist/commands/billing/subscription.d.ts.map +1 -0
  25. package/dist/commands/billing/subscription.js +37 -0
  26. package/dist/commands/billing/subscription.js.map +1 -0
  27. package/dist/commands/task/index.d.ts.map +1 -1
  28. package/dist/commands/task/index.js +14 -4
  29. package/dist/commands/task/index.js.map +1 -1
  30. package/dist/index.js +5 -0
  31. package/dist/index.js.map +1 -1
  32. package/dist/lib/api/core.d.ts.map +1 -1
  33. package/dist/lib/api/core.js +12 -1
  34. package/dist/lib/api/core.js.map +1 -1
  35. package/dist/lib/auth-flags.d.ts +3 -0
  36. package/dist/lib/auth-flags.d.ts.map +1 -1
  37. package/dist/lib/auth-flags.js +5 -0
  38. package/dist/lib/auth-flags.js.map +1 -1
  39. package/dist/lib/auth-store.d.ts +11 -5
  40. package/dist/lib/auth-store.d.ts.map +1 -1
  41. package/dist/lib/auth-store.js +18 -18
  42. package/dist/lib/auth-store.js.map +1 -1
  43. package/dist/lib/config.d.ts +1 -1
  44. package/dist/lib/config.d.ts.map +1 -1
  45. package/dist/lib/config.js +1 -1
  46. package/dist/lib/config.js.map +1 -1
  47. package/dist/lib/oauth-scopes.d.ts +8 -1
  48. package/dist/lib/oauth-scopes.d.ts.map +1 -1
  49. package/dist/lib/oauth-scopes.js +10 -3
  50. package/dist/lib/oauth-scopes.js.map +1 -1
  51. package/dist/lib/permissions.d.ts.map +1 -1
  52. package/dist/lib/permissions.js +6 -0
  53. package/dist/lib/permissions.js.map +1 -1
  54. package/dist/lib/skills/content.d.ts +1 -1
  55. package/dist/lib/skills/content.d.ts.map +1 -1
  56. package/dist/lib/skills/content.js +17 -0
  57. package/dist/lib/skills/content.js.map +1 -1
  58. package/package.json +7 -6
@@ -32,6 +32,7 @@ td auth login --additional-scopes=app-management
32
32
  td auth login --read-only --additional-scopes=app-management
33
33
  td auth login --additional-scopes=backups
34
34
  td auth login --read-only --additional-scopes=backups
35
+ td auth login --additional-scopes=billing
35
36
  td auth login --additional-scopes=app-management,backups
36
37
  td auth login --callback-port 9000 # override the OAuth callback port
37
38
  td auth login --json # emit the new account record as JSON
@@ -51,6 +52,7 @@ Opt-in OAuth scopes are requested via \`--additional-scopes=<list>\` (comma-sepa
51
52
 
52
53
  - \`app-management\` — adds the \`dev:app_console\` scope (manage your registered Todoist apps — rotate secrets, edit webhooks, etc.). Required by \`td apps list\` and \`td apps view\`.
53
54
  - \`backups\` — adds the \`backups:read\` scope (list and download Todoist backups). Required by \`td backup list\` and \`td backup download\`.
55
+ - \`billing\` — adds the \`billing:read_write\` scope, or \`billing:read\` when combined with \`--read-only\` (view subscription, plan, and pricing). Required by \`td billing\` subcommands.
54
56
 
55
57
  Combine freely with \`--read-only\` to keep data access read-only while still granting an opt-in scope (e.g. \`td auth login --read-only --additional-scopes=backups\`). When a command fails for lack of a scope, the error suggests a re-login command that preserves whichever flags were originally used.
56
58
 
@@ -89,6 +91,7 @@ Resolution order: \`--user <ref>\` > \`user.defaultUser\` from config > the only
89
91
  - Account and tooling: \`td stats\`, \`td settings ...\`, \`td config view\`, \`td user ...\`, \`td completion ...\`, \`td view <todoist-url>\`, \`td doctor\`, \`td update\`, \`td changelog\`
90
92
  - Developer apps: \`td apps list/view\` (requires \`td auth login --additional-scopes=app-management\`)
91
93
  - Backups: \`td backup list/download\` (requires \`td auth login --additional-scopes=backups\`)
94
+ - Billing: \`td billing subscription/plan/prices/pricing\` (requires \`td auth login --additional-scopes=billing\`)
92
95
 
93
96
  ## References
94
97
 
@@ -135,6 +138,7 @@ Choosing between \`task add\` and \`task quickadd\`:
135
138
  - Use \`td task add\` when you need flags that Quick Add syntax can't express (\`--deadline\`, \`--description\`, \`--parent\`, \`--duration\`, \`--uncompletable\`, \`--order\`), when the text is being composed programmatically, or when you need explicit \`id:\` / URL references for project/section/parent.
136
139
  - \`td task quickadd\` supports \`--stdin\`, \`--json\`, and \`--dry-run\` only; everything else is embedded in the text.
137
140
  - The top-level \`td add <text>\` is a human shorthand for \`td task quickadd\` — same parser, same flag surface (\`--stdin\`, \`--json\`, \`--dry-run\`). Agents should prefer \`td task quickadd\` / \`qa\` for discoverability alongside the other task subcommands.
141
+ - \`--due\` on \`task add\` / \`task update\` is **sent verbatim** to the API as \`due_string\` — the CLI does not parse or rewrite it. The server's \`due_string\` parser handles simple inputs ("2026-06-01", "tomorrow", "every Monday") but does **not** unpack some more complex clauses (i.e. \`starting <date>\`).
138
142
 
139
143
  Useful task flags:
140
144
  - \`--stdin\` on \`task add\` reads the task description from stdin; on \`task quickadd\` (and the top-level \`td add\`) it reads the full natural-language text from stdin.
@@ -337,6 +341,19 @@ The \`apps\` command surface manages the user's registered Todoist developer app
337
341
 
338
342
  The OAuth \`client_id\` is **public** and always shown. The four sensitive credentials — client secret, verification token, test access token, distribution token — are **hidden by default**. In plain mode each of those lines renders a \`(hidden — pass --include-secrets to reveal)\` hint; in \`--json\` / \`--ndjson\` the \`clientSecret\`, \`verificationToken\`, \`distributionToken\`, and \`testToken\` keys are omitted from the payload entirely. With \`--include-secrets\`, the values are rendered / emitted normally — in that mode a non-existent test token reads as \`(not created)\`. Webhook configuration is always included when configured (callback URL, event list, version); a missing webhook renders as \`(not configured)\` in plain output and \`null\` in JSON.
339
343
 
344
+ ### Billing
345
+ \`\`\`bash
346
+ td billing # subscription (default subcommand)
347
+ td billing subscription --json
348
+ td billing plan
349
+ td billing prices
350
+ td billing pricing --formatted
351
+ \`\`\`
352
+
353
+ The \`billing\` command surface is **read-only** and requires the \`billing\` OAuth scope — re-run \`td auth login --additional-scopes=billing\` to grant it. A normal login grants \`billing:read_write\`; adding \`--read-only\` narrows it to \`billing:read\`. Either satisfies these read commands. Without the scope, calls fail with a \`MISSING_SCOPE\` error whose hint preserves any previously used flags. All subcommands accept \`--json\` / \`--ndjson\`, which dump the raw SDK payload verbatim.
354
+
355
+ \`td billing subscription\` (the default subcommand) shows the current plan, status, activation method, expiration date, plan price, invoice credit balance, and billing-portal URLs when present. \`td billing plan\` shows Pro plan status, downgrade date, and the per-cycle price list. \`td billing prices\` lists available Pro and Teams prices by billing cycle. \`td billing pricing\` shows current and legacy pricing keyed by version; \`--formatted\` returns localized price strings instead of minor-unit numbers.
356
+
340
357
  ### Settings, Stats, And Utilities
341
358
  \`\`\`bash
342
359
  td stats
@@ -1 +1 @@
1
- {"version":3,"file":"content.js","sourceRoot":"","sources":["../../../src/lib/skills/content.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAA;AACvC,MAAM,CAAC,MAAM,iBAAiB,GAC1B,iRAAiR,CAAA;AACrR,MAAM,CAAC,MAAM,mBAAmB,GAC5B,iGAAiG,CAAA;AAErG,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgX5B,CAAA"}
1
+ {"version":3,"file":"content.js","sourceRoot":"","sources":["../../../src/lib/skills/content.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAA;AACvC,MAAM,CAAC,MAAM,iBAAiB,GAC1B,iRAAiR,CAAA;AACrR,MAAM,CAAC,MAAM,mBAAmB,GAC5B,iGAAiG,CAAA;AAErG,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiY5B,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@doist/todoist-cli",
3
- "version": "1.67.0",
3
+ "version": "1.68.0",
4
4
  "description": "TypeScript CLI for Todoist",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -51,8 +51,8 @@
51
51
  "CHANGELOG.md"
52
52
  ],
53
53
  "dependencies": {
54
- "@doist/cli-core": "0.16.1",
55
- "@doist/todoist-sdk": "10.2.0",
54
+ "@doist/cli-core": "0.21.0",
55
+ "@doist/todoist-sdk": "10.3.0",
56
56
  "@napi-rs/keyring": "1.3.0",
57
57
  "@pnpm/tabtab": "0.5.4",
58
58
  "chalk": "5.6.2",
@@ -60,17 +60,18 @@
60
60
  "date-fns": "4.1.0",
61
61
  "marked": "18.0.3",
62
62
  "marked-terminal-renderer": "2.2.0",
63
+ "oauth4webapi": "3.8.6",
63
64
  "open": "11.0.0"
64
65
  },
65
66
  "devDependencies": {
66
67
  "@semantic-release/changelog": "6.0.3",
67
68
  "@semantic-release/exec": "7.1.0",
68
69
  "@semantic-release/git": "10.0.1",
69
- "@types/node": "25.7.0",
70
+ "@types/node": "25.8.0",
70
71
  "conventional-changelog-conventionalcommits": "9.3.1",
71
72
  "lefthook": "2.1.6",
72
- "oxfmt": "0.49.0",
73
- "oxlint": "1.64.0",
73
+ "oxfmt": "0.50.0",
74
+ "oxlint": "1.65.0",
74
75
  "semantic-release": "25.0.3",
75
76
  "typescript": "6.0.3",
76
77
  "vitest": "4.1.6"