@doist/todoist-cli 1.67.1 → 1.69.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 (98) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +10 -0
  3. package/dist/commands/auth/status.js +3 -3
  4. package/dist/commands/auth/status.js.map +1 -1
  5. package/dist/commands/auth/store-wrap.js +1 -1
  6. package/dist/commands/auth/store-wrap.js.map +1 -1
  7. package/dist/commands/billing/format.d.ts +28 -0
  8. package/dist/commands/billing/format.d.ts.map +1 -0
  9. package/dist/commands/billing/format.js +89 -0
  10. package/dist/commands/billing/format.js.map +1 -0
  11. package/dist/commands/billing/index.d.ts +3 -0
  12. package/dist/commands/billing/index.d.ts.map +1 -0
  13. package/dist/commands/billing/index.js +45 -0
  14. package/dist/commands/billing/index.js.map +1 -0
  15. package/dist/commands/billing/plan.d.ts +3 -0
  16. package/dist/commands/billing/plan.d.ts.map +1 -0
  17. package/dist/commands/billing/plan.js +22 -0
  18. package/dist/commands/billing/plan.js.map +1 -0
  19. package/dist/commands/billing/prices.d.ts +3 -0
  20. package/dist/commands/billing/prices.d.ts.map +1 -0
  21. package/dist/commands/billing/prices.js +22 -0
  22. package/dist/commands/billing/prices.js.map +1 -0
  23. package/dist/commands/billing/pricing.d.ts +7 -0
  24. package/dist/commands/billing/pricing.d.ts.map +1 -0
  25. package/dist/commands/billing/pricing.js +43 -0
  26. package/dist/commands/billing/pricing.js.map +1 -0
  27. package/dist/commands/billing/subscription.d.ts +3 -0
  28. package/dist/commands/billing/subscription.d.ts.map +1 -0
  29. package/dist/commands/billing/subscription.js +37 -0
  30. package/dist/commands/billing/subscription.js.map +1 -0
  31. package/dist/commands/config/view.js +3 -3
  32. package/dist/commands/config/view.js.map +1 -1
  33. package/dist/commands/doctor.js +1 -1
  34. package/dist/commands/doctor.js.map +1 -1
  35. package/dist/commands/user/aliases.d.ts +11 -0
  36. package/dist/commands/user/aliases.d.ts.map +1 -0
  37. package/dist/commands/user/aliases.js +11 -0
  38. package/dist/commands/user/aliases.js.map +1 -0
  39. package/dist/commands/user/current.d.ts +15 -4
  40. package/dist/commands/user/current.d.ts.map +1 -1
  41. package/dist/commands/user/current.js +58 -29
  42. package/dist/commands/user/current.js.map +1 -1
  43. package/dist/commands/user/index.d.ts.map +1 -1
  44. package/dist/commands/user/index.js +25 -30
  45. package/dist/commands/user/index.js.map +1 -1
  46. package/dist/commands/user/list.d.ts +14 -5
  47. package/dist/commands/user/list.d.ts.map +1 -1
  48. package/dist/commands/user/list.js +33 -39
  49. package/dist/commands/user/list.js.map +1 -1
  50. package/dist/commands/user/project-account.d.ts +17 -0
  51. package/dist/commands/user/project-account.d.ts.map +1 -0
  52. package/dist/commands/user/project-account.js +18 -0
  53. package/dist/commands/user/project-account.js.map +1 -0
  54. package/dist/commands/user/remove.d.ts +12 -1
  55. package/dist/commands/user/remove.d.ts.map +1 -1
  56. package/dist/commands/user/remove.js +28 -28
  57. package/dist/commands/user/remove.js.map +1 -1
  58. package/dist/commands/user/use.d.ts +10 -1
  59. package/dist/commands/user/use.d.ts.map +1 -1
  60. package/dist/commands/user/use.js +13 -15
  61. package/dist/commands/user/use.js.map +1 -1
  62. package/dist/index.js +29 -8
  63. package/dist/index.js.map +1 -1
  64. package/dist/lib/api/core.d.ts.map +1 -1
  65. package/dist/lib/api/core.js +12 -1
  66. package/dist/lib/api/core.js.map +1 -1
  67. package/dist/lib/auth-flags.d.ts +3 -0
  68. package/dist/lib/auth-flags.d.ts.map +1 -1
  69. package/dist/lib/auth-flags.js +5 -0
  70. package/dist/lib/auth-flags.js.map +1 -1
  71. package/dist/lib/auth-store.d.ts.map +1 -1
  72. package/dist/lib/auth-store.js +19 -2
  73. package/dist/lib/auth-store.js.map +1 -1
  74. package/dist/lib/auth.d.ts.map +1 -1
  75. package/dist/lib/auth.js +4 -12
  76. package/dist/lib/auth.js.map +1 -1
  77. package/dist/lib/completion.js +7 -6
  78. package/dist/lib/completion.js.map +1 -1
  79. package/dist/lib/config.d.ts +1 -1
  80. package/dist/lib/config.d.ts.map +1 -1
  81. package/dist/lib/config.js +1 -1
  82. package/dist/lib/config.js.map +1 -1
  83. package/dist/lib/oauth-scopes.d.ts +8 -1
  84. package/dist/lib/oauth-scopes.d.ts.map +1 -1
  85. package/dist/lib/oauth-scopes.js +10 -3
  86. package/dist/lib/oauth-scopes.js.map +1 -1
  87. package/dist/lib/permissions.d.ts.map +1 -1
  88. package/dist/lib/permissions.js +6 -0
  89. package/dist/lib/permissions.js.map +1 -1
  90. package/dist/lib/skills/content.d.ts +1 -1
  91. package/dist/lib/skills/content.d.ts.map +1 -1
  92. package/dist/lib/skills/content.js +28 -10
  93. package/dist/lib/skills/content.js.map +1 -1
  94. package/dist/lib/users.d.ts +14 -0
  95. package/dist/lib/users.d.ts.map +1 -1
  96. package/dist/lib/users.js +30 -2
  97. package/dist/lib/users.js.map +1 -1
  98. package/package.json +3 -3
package/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ ## [1.69.0](https://github.com/Doist/todoist-cli/compare/v1.68.0...v1.69.0) (2026-05-24)
2
+
3
+ ### Features
4
+
5
+ * rename `td user` to `td accounts` and adopt cli-core account attachers ([#360](https://github.com/Doist/todoist-cli/issues/360)) ([73a0b77](https://github.com/Doist/todoist-cli/commit/73a0b771daa46f4fe3be4a303c91580f97c6b3d3))
6
+
7
+ ## [1.68.0](https://github.com/Doist/todoist-cli/compare/v1.67.1...v1.68.0) (2026-05-23)
8
+
9
+ ### Features
10
+
11
+ * **billing:** add billing commands and billing OAuth scope ([#356](https://github.com/Doist/todoist-cli/issues/356)) ([41ab8ba](https://github.com/Doist/todoist-cli/commit/41ab8ba4f0043773a697cf5e45eb819da7f56ded))
12
+
1
13
  ## [1.67.1](https://github.com/Doist/todoist-cli/compare/v1.67.0...v1.67.1) (2026-05-22)
2
14
 
3
15
  ### Bug Fixes
package/README.md CHANGED
@@ -84,6 +84,16 @@ td auth login --read-only
84
84
 
85
85
  In read-only mode, commands that change Todoist data (create/update/delete/complete/move/archive, etc.) are blocked by the CLI.
86
86
 
87
+ Some commands need opt-in OAuth scopes, requested via `--additional-scopes=<list>` (comma-separated):
88
+
89
+ ```bash
90
+ td auth login --additional-scopes=app-management # td apps ...
91
+ td auth login --additional-scopes=backups # td backup ...
92
+ td auth login --additional-scopes=billing # td billing ...
93
+ ```
94
+
95
+ Run `td auth login --help` for the full list. When a command fails for lack of a scope, the error suggests a re-login command that preserves whichever flags were originally used.
96
+
87
97
  ### Alternative methods
88
98
 
89
99
  **Manual token:** Get your API token from [Todoist Settings > Integrations > Developer](https://todoist.com/app/settings/integrations/developer):
@@ -5,7 +5,7 @@ import { createApiForToken, getApi } from '../../lib/api/core.js';
5
5
  import { toTodoistAccount, } from '../../lib/auth-store.js';
6
6
  import { getAuthMetadata, listStoredUsers, readConfig, } from '../../lib/auth.js';
7
7
  import { getRequestedUserRef } from '../../lib/global-args.js';
8
- import { getDefaultUserId } from '../../lib/users.js';
8
+ import { getEffectiveDefaultUserId } from '../../lib/users.js';
9
9
  function formatAuthMode(authMode, authScope) {
10
10
  if (authMode === 'read-only') {
11
11
  return `read-only (OAuth scope ${authScope ?? 'data:read'})`;
@@ -29,7 +29,7 @@ async function gatherStatusData(token) {
29
29
  listStoredUsers(),
30
30
  readConfig(),
31
31
  ]);
32
- return { user, metadata, storedUsers, defaultUserId: getDefaultUserId(config) };
32
+ return { user, metadata, storedUsers, defaultUserId: getEffectiveDefaultUserId(config) };
33
33
  }
34
34
  function buildStatusText(data) {
35
35
  const { user, metadata, storedUsers, defaultUserId } = data;
@@ -56,7 +56,7 @@ function buildStatusText(data) {
56
56
  const marker = other.id === defaultUserId ? chalk.dim(' (default)') : '';
57
57
  lines.push(` ${other.email} ${chalk.dim(`(id:${other.id})`)}${marker}`);
58
58
  }
59
- lines.push(chalk.dim('Use `td user use <id|email>` to switch default, or `--user <ref>` per command.'));
59
+ lines.push(chalk.dim('Use `td accounts use <id|email>` to switch default, or `--user <ref>` per command.'));
60
60
  }
61
61
  return lines;
62
62
  }
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/commands/auth/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/commands/auth/status.ts"],"names":[],"mappings":"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"}
@@ -34,7 +34,7 @@ export function withUserRefAware(store) {
34
34
  const targetRef = ref ?? getRequestedUserRef();
35
35
  if (targetRef !== undefined)
36
36
  await requireExists(targetRef);
37
- await store.clear(targetRef);
37
+ return store.clear(targetRef);
38
38
  },
39
39
  });
40
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"store-wrap.js","sourceRoot":"","sources":["../../../src/commands/auth/store-wrap.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAEpE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAwB;IACrD,KAAK,UAAU,aAAa,CAAC,GAAW;QACpC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;QAClC,IACI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAC1B,YAAY,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,CAC9D,EACH,CAAC;YACC,MAAM,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAA;QACpC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAsB,EAAE;QAC5D,MAAM,EAAE,KAAK,EAAE,GAAY,EAAE,EAAE;YAC3B,MAAM,SAAS,GAAG,GAAG,IAAI,mBAAmB,EAAE,CAAA;YAC9C,IAAI,SAAS,KAAK,SAAS;gBAAE,MAAM,aAAa,CAAC,SAAS,CAAC,CAAA;YAC3D,OAAO,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QAClC,CAAC;QACD,KAAK,EAAE,KAAK,EAAE,GAAY,EAAE,EAAE;YAC1B,MAAM,SAAS,GAAG,GAAG,IAAI,mBAAmB,EAAE,CAAA;YAC9C,IAAI,SAAS,KAAK,SAAS;gBAAE,MAAM,aAAa,CAAC,SAAS,CAAC,CAAA;YAC3D,MAAM,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QAChC,CAAC;KACJ,CAAC,CAAA;AACN,CAAC"}
1
+ {"version":3,"file":"store-wrap.js","sourceRoot":"","sources":["../../../src/commands/auth/store-wrap.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAEpE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAwB;IACrD,KAAK,UAAU,aAAa,CAAC,GAAW;QACpC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;QAClC,IACI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAC1B,YAAY,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,CAC9D,EACH,CAAC;YACC,MAAM,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAA;QACpC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAsB,EAAE;QAC5D,MAAM,EAAE,KAAK,EAAE,GAAY,EAAE,EAAE;YAC3B,MAAM,SAAS,GAAG,GAAG,IAAI,mBAAmB,EAAE,CAAA;YAC9C,IAAI,SAAS,KAAK,SAAS;gBAAE,MAAM,aAAa,CAAC,SAAS,CAAC,CAAA;YAC3D,OAAO,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QAClC,CAAC;QACD,KAAK,EAAE,KAAK,EAAE,GAAY,EAAE,EAAE;YAC1B,MAAM,SAAS,GAAG,GAAG,IAAI,mBAAmB,EAAE,CAAA;YAC9C,IAAI,SAAS,KAAK,SAAS;gBAAE,MAAM,aAAa,CAAC,SAAS,CAAC,CAAA;YAC3D,OAAO,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QACjC,CAAC;KACJ,CAAC,CAAA;AACN,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { PriceListing, TodoistApi } from '@doist/todoist-sdk';
2
+ import type { ViewOptions } from '../../lib/options.js';
3
+ export type BillingViewOptions = Pick<ViewOptions, 'json' | 'ndjson'>;
4
+ /**
5
+ * Resolve the locale used to format money, from the user's Todoist language
6
+ * (e.g. `pt_BR` → `pt-BR` for `Intl`). Only fetched for human output — machine
7
+ * output dumps the raw payload, so it skips the extra `getUser` call entirely.
8
+ * Returns `undefined` (the `Intl` default locale) when no fetch is made.
9
+ */
10
+ export declare function resolveLocale(api: TodoistApi, options: BillingViewOptions): Promise<string | undefined>;
11
+ /**
12
+ * Emit the raw payload as JSON (`--json`) or NDJSON (`--ndjson`) and report
13
+ * whether machine output was produced, so callers can early-return before
14
+ * rendering the human view. Reuses the shared `output.ts` helpers so billing
15
+ * machine output matches the rest of the CLI.
16
+ */
17
+ export declare function outputMachine(payload: object, options: BillingViewOptions): boolean;
18
+ /**
19
+ * Format an amount given in a currency's minor units (e.g. cents) as money.
20
+ * Mirrors todoist-web's `formatPrice`: the divisor comes from the currency's
21
+ * fraction digits (so JPY isn't rendered 100× too small), and whole amounts
22
+ * drop the decimals (`$6`, not `$6.00`). `locale` comes from the user's
23
+ * Todoist language; `undefined` uses the `Intl` default.
24
+ */
25
+ export declare function formatMoney(minorUnits: number, currency: string, locale?: string): string;
26
+ /** Render a single billing-cycle price listing, e.g. `monthly: $6, €6`. */
27
+ export declare function formatListing(listing: PriceListing, locale?: string): string;
28
+ //# sourceMappingURL=format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../src/commands/billing/format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAGvD,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAA;AAErE;;;;;GAKG;AACH,wBAAsB,aAAa,CAC/B,GAAG,EAAE,UAAU,EACf,OAAO,EAAE,kBAAkB,GAC5B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAI7B;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAUnF;AAyCD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAUzF;AAED,2EAA2E;AAC3E,wBAAgB,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAK5E"}
@@ -0,0 +1,89 @@
1
+ import { formatJson, formatNdjson } from '../../lib/output.js';
2
+ /**
3
+ * Resolve the locale used to format money, from the user's Todoist language
4
+ * (e.g. `pt_BR` → `pt-BR` for `Intl`). Only fetched for human output — machine
5
+ * output dumps the raw payload, so it skips the extra `getUser` call entirely.
6
+ * Returns `undefined` (the `Intl` default locale) when no fetch is made.
7
+ */
8
+ export async function resolveLocale(api, options) {
9
+ if (options.json || options.ndjson)
10
+ return undefined;
11
+ const user = await api.getUser();
12
+ return user.lang.replace(/_/g, '-');
13
+ }
14
+ /**
15
+ * Emit the raw payload as JSON (`--json`) or NDJSON (`--ndjson`) and report
16
+ * whether machine output was produced, so callers can early-return before
17
+ * rendering the human view. Reuses the shared `output.ts` helpers so billing
18
+ * machine output matches the rest of the CLI.
19
+ */
20
+ export function outputMachine(payload, options) {
21
+ if (options.json) {
22
+ console.log(formatJson(payload));
23
+ return true;
24
+ }
25
+ if (options.ndjson) {
26
+ console.log(formatNdjson([payload]));
27
+ return true;
28
+ }
29
+ return false;
30
+ }
31
+ // `Intl.NumberFormat` construction is comparatively slow, and `formatMoney` is
32
+ // called in nested loops (pricing), so cache per currency + decimal-mode.
33
+ const formatterCache = new Map();
34
+ const fractionDigitsCache = new Map();
35
+ /**
36
+ * Number of fraction digits the currency uses (USD→2, JPY→0, BHD→3). Doubles
37
+ * as the minor-unit exponent: the divisor to convert minor units to major is
38
+ * `10 ** fractionDigits`.
39
+ */
40
+ function currencyFractionDigits(currency) {
41
+ let digits = fractionDigitsCache.get(currency);
42
+ if (digits === undefined) {
43
+ digits =
44
+ new Intl.NumberFormat('en-US', { style: 'currency', currency }).resolvedOptions()
45
+ .maximumFractionDigits ?? 2;
46
+ fractionDigitsCache.set(currency, digits);
47
+ }
48
+ return digits;
49
+ }
50
+ function getFormatter(locale, currency, minimumFractionDigits) {
51
+ const key = `${locale ?? ''}|${currency}|${minimumFractionDigits}`;
52
+ let formatter = formatterCache.get(key);
53
+ if (!formatter) {
54
+ formatter = new Intl.NumberFormat(locale, {
55
+ style: 'currency',
56
+ currency,
57
+ minimumFractionDigits,
58
+ });
59
+ formatterCache.set(key, formatter);
60
+ }
61
+ return formatter;
62
+ }
63
+ /**
64
+ * Format an amount given in a currency's minor units (e.g. cents) as money.
65
+ * Mirrors todoist-web's `formatPrice`: the divisor comes from the currency's
66
+ * fraction digits (so JPY isn't rendered 100× too small), and whole amounts
67
+ * drop the decimals (`$6`, not `$6.00`). `locale` comes from the user's
68
+ * Todoist language; `undefined` uses the `Intl` default.
69
+ */
70
+ export function formatMoney(minorUnits, currency, locale) {
71
+ const code = currency.toUpperCase();
72
+ try {
73
+ const major = minorUnits / 10 ** currencyFractionDigits(code);
74
+ return getFormatter(locale, code, Number.isInteger(major) ? 0 : 2).format(major);
75
+ }
76
+ catch {
77
+ // Unknown/invalid currency code — Intl throws. Fall back to the raw
78
+ // minor-unit number rather than guessing a divisor.
79
+ return `${code} ${minorUnits}`;
80
+ }
81
+ }
82
+ /** Render a single billing-cycle price listing, e.g. `monthly: $6, €6`. */
83
+ export function formatListing(listing, locale) {
84
+ const prices = listing.prices
85
+ .map((p) => formatMoney(p.unitAmount, p.currency, locale))
86
+ .join(', ');
87
+ return `${listing.billingCycle}: ${prices}`;
88
+ }
89
+ //# sourceMappingURL=format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/commands/billing/format.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerBillingCommand(program: Command): void;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/billing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAMnC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8C7D"}
@@ -0,0 +1,45 @@
1
+ import { viewPlan } from './plan.js';
2
+ import { viewPrices } from './prices.js';
3
+ import { viewPricing } from './pricing.js';
4
+ import { viewSubscription } from './subscription.js';
5
+ export function registerBillingCommand(program) {
6
+ const billing = program
7
+ .command('billing')
8
+ .description('View billing and subscription information')
9
+ .addHelpText('after', `
10
+ Examples:
11
+ td billing
12
+ td billing subscription --json
13
+ td billing plan
14
+ td billing prices
15
+ td billing pricing --formatted
16
+
17
+ Requires authenticating with the billing scope:
18
+ td auth login --additional-scopes=billing`);
19
+ billing
20
+ .command('subscription', { isDefault: true })
21
+ .description('Show your current subscription status and plan')
22
+ .option('--json', 'Output as JSON')
23
+ .option('--ndjson', 'Output as newline-delimited JSON')
24
+ .action(viewSubscription);
25
+ billing
26
+ .command('plan')
27
+ .description('Show your Pro plan and billing details')
28
+ .option('--json', 'Output as JSON')
29
+ .option('--ndjson', 'Output as newline-delimited JSON')
30
+ .action(viewPlan);
31
+ billing
32
+ .command('prices')
33
+ .description('Show available Pro and Teams prices')
34
+ .option('--json', 'Output as JSON')
35
+ .option('--ndjson', 'Output as newline-delimited JSON')
36
+ .action(viewPrices);
37
+ billing
38
+ .command('pricing')
39
+ .description('Show current and legacy pricing by version')
40
+ .option('--formatted', 'Return localized formatted price strings')
41
+ .option('--json', 'Output as JSON')
42
+ .option('--ndjson', 'Output as newline-delimited JSON')
43
+ .action(viewPricing);
44
+ }
45
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/billing/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACnD,MAAM,OAAO,GAAG,OAAO;SAClB,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,2CAA2C,CAAC;SACxD,WAAW,CACR,OAAO,EACP;;;;;;;;;4CASgC,CACnC,CAAA;IAEL,OAAO;SACF,OAAO,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;SAC5C,WAAW,CAAC,gDAAgD,CAAC;SAC7D,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,UAAU,EAAE,kCAAkC,CAAC;SACtD,MAAM,CAAC,gBAAgB,CAAC,CAAA;IAE7B,OAAO;SACF,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,wCAAwC,CAAC;SACrD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,UAAU,EAAE,kCAAkC,CAAC;SACtD,MAAM,CAAC,QAAQ,CAAC,CAAA;IAErB,OAAO;SACF,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,qCAAqC,CAAC;SAClD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,UAAU,EAAE,kCAAkC,CAAC;SACtD,MAAM,CAAC,UAAU,CAAC,CAAA;IAEvB,OAAO;SACF,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,4CAA4C,CAAC;SACzD,MAAM,CAAC,aAAa,EAAE,0CAA0C,CAAC;SACjE,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,UAAU,EAAE,kCAAkC,CAAC;SACtD,MAAM,CAAC,WAAW,CAAC,CAAA;AAC5B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type BillingViewOptions } from './format.js';
2
+ export declare function viewPlan(options?: BillingViewOptions): Promise<void>;
3
+ //# sourceMappingURL=plan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../src/commands/billing/plan.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,kBAAkB,EAA+C,MAAM,aAAa,CAAA;AAElG,wBAAsB,QAAQ,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmB9E"}
@@ -0,0 +1,22 @@
1
+ import chalk from 'chalk';
2
+ import { getApi } from '../../lib/api/core.js';
3
+ import { formatListing, outputMachine, resolveLocale } from './format.js';
4
+ export async function viewPlan(options = {}) {
5
+ const api = await getApi();
6
+ const locale = await resolveLocale(api, options);
7
+ const details = await api.getProPlanDetails();
8
+ if (outputMachine(details, options))
9
+ return;
10
+ console.log(chalk.bold('Pro plan'));
11
+ console.log('');
12
+ console.log(` Status: ${details.currentPlanStatus}`);
13
+ console.log(` Downgrade at: ${details.downgradeAt ?? chalk.dim('(none)')}`);
14
+ if (details.priceList.length > 0) {
15
+ console.log('');
16
+ console.log(chalk.bold(' Prices'));
17
+ for (const listing of details.priceList) {
18
+ console.log(` ${formatListing(listing, locale)}`);
19
+ }
20
+ }
21
+ }
22
+ //# sourceMappingURL=plan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/commands/billing/plan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAA2B,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAElG,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,UAA8B,EAAE;IAC3D,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;IAC1B,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAChD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,iBAAiB,EAAE,CAAA;IAE7C,IAAI,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC;QAAE,OAAM;IAE3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;IACnC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,OAAO,CAAC,GAAG,CAAC,yBAAyB,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAA;IACjE,OAAO,CAAC,GAAG,CAAC,yBAAyB,OAAO,CAAC,WAAW,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IAElF,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;QACnC,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,OAAO,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;QACxD,CAAC;IACL,CAAC;AACL,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type BillingViewOptions } from './format.js';
2
+ export declare function viewPrices(options?: BillingViewOptions): Promise<void>;
3
+ //# sourceMappingURL=prices.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prices.d.ts","sourceRoot":"","sources":["../../../src/commands/billing/prices.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,kBAAkB,EAA+C,MAAM,aAAa,CAAA;AAElG,wBAAsB,UAAU,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBhF"}
@@ -0,0 +1,22 @@
1
+ import chalk from 'chalk';
2
+ import { getApi } from '../../lib/api/core.js';
3
+ import { formatListing, outputMachine, resolveLocale } from './format.js';
4
+ export async function viewPrices(options = {}) {
5
+ const api = await getApi();
6
+ const locale = await resolveLocale(api, options);
7
+ const prices = await api.getPrices();
8
+ if (outputMachine(prices, options))
9
+ return;
10
+ console.log(chalk.bold('Prices'));
11
+ console.log('');
12
+ console.log(chalk.bold(' Pro'));
13
+ for (const listing of prices.pro) {
14
+ console.log(` ${formatListing(listing, locale)}`);
15
+ }
16
+ console.log('');
17
+ console.log(chalk.bold(' Teams'));
18
+ for (const listing of prices.teams) {
19
+ console.log(` ${formatListing(listing, locale)}`);
20
+ }
21
+ }
22
+ //# sourceMappingURL=prices.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prices.js","sourceRoot":"","sources":["../../../src/commands/billing/prices.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAA2B,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAElG,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,UAA8B,EAAE;IAC7D,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;IAC1B,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAChD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,SAAS,EAAE,CAAA;IAEpC,IAAI,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC;QAAE,OAAM;IAE1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IACjC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;IAChC,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,OAAO,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;IACxD,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;IAClC,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,OAAO,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;IACxD,CAAC;AACL,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { type BillingViewOptions } from './format.js';
2
+ interface PricingOptions extends BillingViewOptions {
3
+ formatted?: boolean;
4
+ }
5
+ export declare function viewPricing(options?: PricingOptions): Promise<void>;
6
+ export {};
7
+ //# sourceMappingURL=pricing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pricing.d.ts","sourceRoot":"","sources":["../../../src/commands/billing/pricing.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,kBAAkB,EAA6C,MAAM,aAAa,CAAA;AAEhG,UAAU,cAAe,SAAQ,kBAAkB;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,wBAAsB,WAAW,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiC7E"}
@@ -0,0 +1,43 @@
1
+ import chalk from 'chalk';
2
+ import { getApi } from '../../lib/api/core.js';
3
+ import { formatMoney, outputMachine, resolveLocale } from './format.js';
4
+ export async function viewPricing(options = {}) {
5
+ const api = await getApi();
6
+ // `--formatted` returns pre-localized strings, so locale (and the getUser
7
+ // fetch it costs) is only needed for the numeric formatting branch.
8
+ const locale = options.formatted ? undefined : await resolveLocale(api, options);
9
+ const pricing = await api.getPricing({ formatted: options.formatted });
10
+ if (outputMachine(pricing, options))
11
+ return;
12
+ const { latestPro, latestBiz, sessionPro, sessionBiz, ...versions } = pricing;
13
+ console.log(chalk.bold('Pricing'));
14
+ console.log('');
15
+ console.log(` Latest Pro: ${latestPro}`);
16
+ console.log(` Latest Business: ${latestBiz}`);
17
+ console.log(` Session Pro: ${sessionPro}`);
18
+ console.log(` Session Business: ${sessionBiz}`);
19
+ for (const [version, plans] of Object.entries(versions)) {
20
+ // Only render keys that look like version pointers (v1, v25, …). Any
21
+ // other top-level field the SDK might add — scalar or object — is
22
+ // metadata, not a pricing version, and must not be rendered as one.
23
+ if (!/^v\d+/.test(version))
24
+ continue;
25
+ console.log('');
26
+ console.log(chalk.bold(` ${version}`));
27
+ for (const [plan, currencies] of Object.entries(plans)) {
28
+ for (const [currency, terms] of Object.entries(currencies)) {
29
+ const monthly = formatTerm(terms.monthly, currency, locale);
30
+ const yearly = formatTerm(terms.yearly, currency, locale);
31
+ console.log(` ${plan} (${currency.toUpperCase()}): ${monthly}/mo, ${yearly}/yr`);
32
+ }
33
+ }
34
+ }
35
+ }
36
+ /**
37
+ * Pricing amounts are minor units (numbers) by default, or pre-formatted
38
+ * localized strings when the endpoint is called with `--formatted`.
39
+ */
40
+ function formatTerm(value, currency, locale) {
41
+ return typeof value === 'number' ? formatMoney(value, currency, locale) : value;
42
+ }
43
+ //# sourceMappingURL=pricing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pricing.js","sourceRoot":"","sources":["../../../src/commands/billing/pricing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAA2B,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAMhG,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,UAA0B,EAAE;IAC1D,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;IAC1B,0EAA0E;IAC1E,oEAAoE;IACpE,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAChF,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAA;IAEtE,IAAI,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC;QAAE,OAAM;IAE3C,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAA;IAE7E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;IAClC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,OAAO,CAAC,GAAG,CAAC,yBAAyB,SAAS,EAAE,CAAC,CAAA;IACjD,OAAO,CAAC,GAAG,CAAC,yBAAyB,SAAS,EAAE,CAAC,CAAA;IACjD,OAAO,CAAC,GAAG,CAAC,yBAAyB,UAAU,EAAE,CAAC,CAAA;IAClD,OAAO,CAAC,GAAG,CAAC,yBAAyB,UAAU,EAAE,CAAC,CAAA;IAElD,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtD,qEAAqE;QACrE,kEAAkE;QAClE,oEAAoE;QACpE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,SAAQ;QACpC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAA;QACvC,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACrD,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBACzD,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;gBAC3D,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;gBACzD,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,WAAW,EAAE,MAAM,OAAO,QAAQ,MAAM,KAAK,CAAC,CAAA;YACvF,CAAC;QACL,CAAC;IACL,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAS,UAAU,CAAC,KAAsB,EAAE,QAAgB,EAAE,MAAe;IACzE,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;AACnF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type BillingViewOptions } from './format.js';
2
+ export declare function viewSubscription(options?: BillingViewOptions): Promise<void>;
3
+ //# sourceMappingURL=subscription.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription.d.ts","sourceRoot":"","sources":["../../../src/commands/billing/subscription.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,kBAAkB,EAA6C,MAAM,aAAa,CAAA;AAEhG,wBAAsB,gBAAgB,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmCtF"}
@@ -0,0 +1,37 @@
1
+ import chalk from 'chalk';
2
+ import { getApi } from '../../lib/api/core.js';
3
+ import { formatMoney, outputMachine, resolveLocale } from './format.js';
4
+ export async function viewSubscription(options = {}) {
5
+ const api = await getApi();
6
+ const locale = await resolveLocale(api, options);
7
+ const info = await api.getSubscriptionInfo();
8
+ if (outputMachine(info, options))
9
+ return;
10
+ console.log(chalk.bold('Subscription'));
11
+ console.log('');
12
+ console.log(` Plan: ${info.plan}`);
13
+ console.log(` Status: ${info.status}`);
14
+ console.log(` Activation: ${info.activationMethod}`);
15
+ console.log(` Expires: ${info.expirationDate ?? chalk.dim('(none)')}`);
16
+ if (info.planPrice) {
17
+ const { rawAmount, currency, billingCycle } = info.planPrice;
18
+ const cycle = billingCycle ? `/${billingCycle === 'yearly' ? 'yr' : 'mo'}` : '';
19
+ console.log(` Price: ${formatMoney(rawAmount, currency, locale)}${cycle}`);
20
+ }
21
+ else {
22
+ console.log(` Price: ${chalk.dim('(none)')}`);
23
+ }
24
+ if (info.invoiceCreditBalance && Object.keys(info.invoiceCreditBalance).length > 0) {
25
+ const credits = Object.entries(info.invoiceCreditBalance)
26
+ .map(([currency, amount]) => formatMoney(amount, currency, locale))
27
+ .join(', ');
28
+ console.log(` Credit balance: ${credits}`);
29
+ }
30
+ if (info.hasBillingPortal && info.billingPortalUrl) {
31
+ console.log(` Billing portal: ${info.billingPortalUrl}`);
32
+ }
33
+ if (info.hasBillingPortalSwitchToAnnual && info.billingPortalSwitchToAnnualUrl) {
34
+ console.log(` Switch to annual: ${info.billingPortalSwitchToAnnualUrl}`);
35
+ }
36
+ }
37
+ //# sourceMappingURL=subscription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription.js","sourceRoot":"","sources":["../../../src/commands/billing/subscription.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAA2B,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhG,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,UAA8B,EAAE;IACnE,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;IAC1B,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAChD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,mBAAmB,EAAE,CAAA;IAE5C,IAAI,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC;QAAE,OAAM;IAExC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAA;IACvC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;IACjD,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;IACnD,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAA;IAC7D,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IAElF,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,SAAS,CAAA;QAC5D,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QAC/E,OAAO,CAAC,GAAG,CAAC,yBAAyB,WAAW,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC,CAAA;IAC5F,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC/D,CAAC;IAED,IAAI,IAAI,CAAC,oBAAoB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC;aACpD,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;aAClE,IAAI,CAAC,IAAI,CAAC,CAAA;QACf,OAAO,CAAC,GAAG,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAA;IACnD,CAAC;IAED,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAA;IACjE,CAAC;IACD,IAAI,IAAI,CAAC,8BAA8B,IAAI,IAAI,CAAC,8BAA8B,EAAE,CAAC;QAC7E,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,CAAC,8BAA8B,EAAE,CAAC,CAAA;IAC/E,CAAC;AACL,CAAC"}
@@ -2,7 +2,7 @@ import { SecureStoreUnavailableError } from '@doist/cli-core/auth';
2
2
  import chalk from 'chalk';
3
3
  import { listStoredUsers, NoTokenError, probeApiToken, TOKEN_ENV_VAR, } from '../../lib/auth.js';
4
4
  import { getConfigPath, readConfigStrict } from '../../lib/config.js';
5
- import { getDefaultUserId, NoUserSelectedError } from '../../lib/users.js';
5
+ import { getEffectiveDefaultUserId, NoUserSelectedError } from '../../lib/users.js';
6
6
  const SECURE_STORE_DESCRIPTION = 'system credential manager';
7
7
  function maskToken(token) {
8
8
  if (token.length < 5)
@@ -57,7 +57,7 @@ function renderTokenLine(token, showToken) {
57
57
  case 'unavailable':
58
58
  return chalk.dim(`unknown — ${token.reason}`);
59
59
  case 'ambiguous':
60
- return chalk.dim('multiple stored accounts; pass --user <id|email> or set a default with `td user use`');
60
+ return chalk.dim('multiple stored accounts; pass --user <id|email> or set a default with `td accounts use`');
61
61
  case 'missing':
62
62
  return formatValue(undefined);
63
63
  }
@@ -170,7 +170,7 @@ export async function viewConfig(options) {
170
170
  }
171
171
  const token = await probeTokenPresence();
172
172
  const users = await listStoredUsers();
173
- const defaultUserId = getDefaultUserId(config);
173
+ const defaultUserId = getEffectiveDefaultUserId(config);
174
174
  if (read.state === 'missing' && token.state === 'missing' && users.length === 0) {
175
175
  console.log(`${chalk.dim('Config file:')} ${getConfigPath()} ${chalk.dim('(not created yet)')}`);
176
176
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/commands/config/view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/commands/config/view.ts"],"names":[],"mappings":"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"}
@@ -126,7 +126,7 @@ async function checkAuthentication(offline) {
126
126
  return {
127
127
  name: 'auth',
128
128
  status: 'warn',
129
- message: 'Multiple stored Todoist accounts but no default. Set one with `td user use <id|email>` or pass --user.',
129
+ message: 'Multiple stored Todoist accounts but no default. Set one with `td accounts use <id|email>` or pass --user.',
130
130
  };
131
131
  }
132
132
  const message = error instanceof Error ? error.message : String(error);