@doist/todoist-cli 1.62.1 → 1.63.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 (101) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/commands/auth/index.d.ts +1 -1
  3. package/dist/commands/auth/index.d.ts.map +1 -1
  4. package/dist/commands/auth/index.js +2 -13
  5. package/dist/commands/auth/index.js.map +1 -1
  6. package/dist/commands/auth/login.d.ts +13 -4
  7. package/dist/commands/auth/login.d.ts.map +1 -1
  8. package/dist/commands/auth/login.js +75 -48
  9. package/dist/commands/auth/login.js.map +1 -1
  10. package/dist/commands/folder/index.d.ts.map +1 -1
  11. package/dist/commands/folder/index.js +1 -9
  12. package/dist/commands/folder/index.js.map +1 -1
  13. package/dist/commands/project/create.d.ts +1 -1
  14. package/dist/commands/project/create.d.ts.map +1 -1
  15. package/dist/commands/project/create.js +2 -7
  16. package/dist/commands/project/create.js.map +1 -1
  17. package/dist/commands/project/helpers.d.ts +27 -1
  18. package/dist/commands/project/helpers.d.ts.map +1 -1
  19. package/dist/commands/project/helpers.js +77 -0
  20. package/dist/commands/project/helpers.js.map +1 -1
  21. package/dist/commands/project/index.d.ts.map +1 -1
  22. package/dist/commands/project/index.js +24 -0
  23. package/dist/commands/project/index.js.map +1 -1
  24. package/dist/commands/project/reorder.d.ts +9 -0
  25. package/dist/commands/project/reorder.d.ts.map +1 -0
  26. package/dist/commands/project/reorder.js +80 -0
  27. package/dist/commands/project/reorder.js.map +1 -0
  28. package/dist/commands/project/update.d.ts +1 -0
  29. package/dist/commands/project/update.d.ts.map +1 -1
  30. package/dist/commands/project/update.js +58 -5
  31. package/dist/commands/project/update.js.map +1 -1
  32. package/dist/commands/task/index.d.ts.map +1 -1
  33. package/dist/commands/task/index.js +1 -0
  34. package/dist/commands/task/index.js.map +1 -1
  35. package/dist/commands/task/update.d.ts +1 -1
  36. package/dist/commands/task/update.d.ts.map +1 -1
  37. package/dist/commands/task/update.js +6 -2
  38. package/dist/commands/task/update.js.map +1 -1
  39. package/dist/commands/update/index.d.ts +1 -1
  40. package/dist/commands/update/index.d.ts.map +1 -1
  41. package/dist/commands/update/index.js +11 -14
  42. package/dist/commands/update/index.js.map +1 -1
  43. package/dist/lib/api/projects-sync.d.ts +6 -0
  44. package/dist/lib/api/projects-sync.d.ts.map +1 -0
  45. package/dist/lib/api/projects-sync.js +15 -0
  46. package/dist/lib/api/projects-sync.js.map +1 -0
  47. package/dist/lib/auth-html.d.ts +11 -0
  48. package/dist/lib/auth-html.d.ts.map +1 -0
  49. package/dist/lib/{oauth-server.js → auth-html.js} +13 -97
  50. package/dist/lib/auth-html.js.map +1 -0
  51. package/dist/lib/auth-provider.d.ts +16 -0
  52. package/dist/lib/auth-provider.d.ts.map +1 -0
  53. package/dist/lib/auth-provider.js +59 -0
  54. package/dist/lib/auth-provider.js.map +1 -0
  55. package/dist/lib/auth-store.d.ts +48 -0
  56. package/dist/lib/auth-store.d.ts.map +1 -0
  57. package/dist/lib/auth-store.js +91 -0
  58. package/dist/lib/auth-store.js.map +1 -0
  59. package/dist/lib/auth.d.ts +4 -0
  60. package/dist/lib/auth.d.ts.map +1 -1
  61. package/dist/lib/auth.js +1 -1
  62. package/dist/lib/auth.js.map +1 -1
  63. package/dist/lib/errors.d.ts +1 -1
  64. package/dist/lib/errors.d.ts.map +1 -1
  65. package/dist/lib/errors.js.map +1 -1
  66. package/dist/lib/oauth-scopes.d.ts +21 -0
  67. package/dist/lib/oauth-scopes.d.ts.map +1 -1
  68. package/dist/lib/oauth-scopes.js +28 -0
  69. package/dist/lib/oauth-scopes.js.map +1 -1
  70. package/dist/lib/order.d.ts +2 -0
  71. package/dist/lib/order.d.ts.map +1 -0
  72. package/dist/lib/order.js +11 -0
  73. package/dist/lib/order.js.map +1 -0
  74. package/dist/lib/skills/content.d.ts +1 -1
  75. package/dist/lib/skills/content.d.ts.map +1 -1
  76. package/dist/lib/skills/content.js +18 -3
  77. package/dist/lib/skills/content.js.map +1 -1
  78. package/dist/lib/update.d.ts +7 -13
  79. package/dist/lib/update.d.ts.map +1 -1
  80. package/dist/lib/update.js +10 -36
  81. package/dist/lib/update.js.map +1 -1
  82. package/package.json +4 -4
  83. package/dist/commands/update/action.d.ts +0 -5
  84. package/dist/commands/update/action.d.ts.map +0 -1
  85. package/dist/commands/update/action.js +0 -112
  86. package/dist/commands/update/action.js.map +0 -1
  87. package/dist/commands/update/switch.d.ts +0 -5
  88. package/dist/commands/update/switch.d.ts.map +0 -1
  89. package/dist/commands/update/switch.js +0 -31
  90. package/dist/commands/update/switch.js.map +0 -1
  91. package/dist/lib/oauth-server.d.ts +0 -8
  92. package/dist/lib/oauth-server.d.ts.map +0 -1
  93. package/dist/lib/oauth-server.js.map +0 -1
  94. package/dist/lib/oauth.d.ts +0 -13
  95. package/dist/lib/oauth.d.ts.map +0 -1
  96. package/dist/lib/oauth.js +0 -51
  97. package/dist/lib/oauth.js.map +0 -1
  98. package/dist/lib/pkce.d.ts +0 -4
  99. package/dist/lib/pkce.d.ts.map +0 -1
  100. package/dist/lib/pkce.js +0 -19
  101. package/dist/lib/pkce.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ ## [1.63.0](https://github.com/Doist/todoist-cli/compare/v1.62.2...v1.63.0) (2026-05-12)
2
+
3
+ ### Features
4
+
5
+ * **project:** add `--parent` on update and new `reorder` command ([#330](https://github.com/Doist/todoist-cli/issues/330)) ([f32f56a](https://github.com/Doist/todoist-cli/commit/f32f56adefee35943cd9fc43b592b6ad75591240))
6
+
7
+ ## [1.62.2](https://github.com/Doist/todoist-cli/compare/v1.62.1...v1.62.2) (2026-05-11)
8
+
9
+ ### Bug Fixes
10
+
11
+ * **task:** add --no-labels flag to clear labels on update ([#327](https://github.com/Doist/todoist-cli/issues/327)) ([20d13af](https://github.com/Doist/todoist-cli/commit/20d13afac05970b98551cbf802ee47473e6d15b8)), closes [#326](https://github.com/Doist/todoist-cli/issues/326)
12
+
1
13
  ## [1.62.1](https://github.com/Doist/todoist-cli/compare/v1.62.0...v1.62.1) (2026-05-09)
2
14
 
3
15
  ### Bug Fixes
@@ -1,3 +1,3 @@
1
- import { Command } from 'commander';
1
+ import type { Command } from 'commander';
2
2
  export declare function registerAuthCommand(program: Command): void;
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAQnC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0C1D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAOxC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6B1D"}
@@ -1,22 +1,11 @@
1
- import { formatScopesHelp } from '../../lib/oauth-scopes.js';
2
- import { loginWithOAuth } from './login.js';
1
+ import { attachTodoistLoginCommand } from './login.js';
3
2
  import { logout } from './logout.js';
4
3
  import { showStatus } from './status.js';
5
4
  import { viewToken } from './token-view.js';
6
5
  import { loginWithToken } from './token.js';
7
6
  export function registerAuthCommand(program) {
8
7
  const auth = program.command('auth').description('Manage authentication');
9
- auth.command('login')
10
- .description('Authenticate with Todoist via OAuth')
11
- .option('--read-only', 'Authenticate with read-only scope (data:read)')
12
- .option('--additional-scopes <list>', 'Comma-separated opt-in OAuth scopes (see list below). The flag may be repeated; every occurrence is merged.',
13
- // Commander treats this as a scalar by default, so repeated uses
14
- // (`--additional-scopes=a --additional-scopes=b`) would silently
15
- // drop earlier values. Concatenate into one comma-separated string
16
- // and let parseScopesOption split/dedupe/validate as usual.
17
- (value, prev) => (prev ? `${prev},${value}` : value))
18
- .addHelpText('after', formatScopesHelp())
19
- .action(loginWithOAuth);
8
+ attachTodoistLoginCommand(auth);
20
9
  // `token` is a hybrid: it accepts a positional `[token]` (save) and also
21
10
  // exposes subcommands (`view`). Commander matches subcommand names before
22
11
  // falling through to the parent action, so `td auth token view` always
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/auth/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE3C,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAChD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAA;IAEzE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,qCAAqC,CAAC;SAClD,MAAM,CAAC,aAAa,EAAE,+CAA+C,CAAC;SACtE,MAAM,CACH,4BAA4B,EAC5B,6GAA6G;IAC7G,iEAAiE;IACjE,iEAAiE;IACjE,mEAAmE;IACnE,4DAA4D;IAC5D,CAAC,KAAa,EAAE,IAAwB,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CACnF;SACA,WAAW,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC;SACxC,MAAM,CAAC,cAAc,CAAC,CAAA;IAE3B,yEAAyE;IACzE,0EAA0E;IAC1E,uEAAuE;IACvE,qEAAqE;IACrE,uEAAuE;IACvE,2CAA2C;IAC3C,MAAM,QAAQ,GAAG,IAAI;SAChB,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,qEAAqE,CAAC;SAClF,MAAM,CAAC,cAAc,CAAC,CAAA;IAE3B,QAAQ;SACH,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CACR,+FAA+F,CAClG;SACA,MAAM,CAAC,SAAS,CAAC,CAAA;IAEtB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,oCAAoC,CAAC;SACjD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,UAAU,CAAC,CAAA;IAEvB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,mCAAmC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;AAC1F,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/auth/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE3C,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAChD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAA;IAEzE,yBAAyB,CAAC,IAAI,CAAC,CAAA;IAE/B,yEAAyE;IACzE,0EAA0E;IAC1E,uEAAuE;IACvE,qEAAqE;IACrE,uEAAuE;IACvE,2CAA2C;IAC3C,MAAM,QAAQ,GAAG,IAAI;SAChB,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,qEAAqE,CAAC;SAClF,MAAM,CAAC,cAAc,CAAC,CAAA;IAE3B,QAAQ;SACH,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CACR,+FAA+F,CAClG;SACA,MAAM,CAAC,SAAS,CAAC,CAAA;IAEtB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,oCAAoC,CAAC;SACjD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,UAAU,CAAC,CAAA;IAEvB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,mCAAmC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;AAC1F,CAAC"}
@@ -1,5 +1,14 @@
1
- export declare function loginWithOAuth(options?: {
2
- readOnly?: boolean;
3
- additionalScopes?: string;
4
- }): Promise<void>;
1
+ import type { Command } from 'commander';
2
+ /**
3
+ * Attach `td auth login` via cli-core's generic `attachLoginCommand`. The
4
+ * registrar wires `--read-only`, `--callback-port`, `--json`, `--ndjson` and
5
+ * drives `runOAuthFlow`; the bits below stay todoist-local: scope resolution
6
+ * (comma-joined, custom validators), branded HTML, multi-user store via
7
+ * `createTodoistTokenStore`, and the human-mode success line.
8
+ *
9
+ * `--additional-scopes` is attached after the registrar so the option lands on
10
+ * the same Commander view; cli-core surfaces it through the `flags` argument
11
+ * to `resolveScopes`.
12
+ */
13
+ export declare function attachTodoistLoginCommand(auth: Command): Command;
5
14
  //# sourceMappingURL=login.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/login.ts"],"names":[],"mappings":"AAUA,wBAAsB,cAAc,CAChC,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAO,GAChE,OAAO,CAAC,IAAI,CAAC,CAkDf"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/login.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAexC;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAiEhE"}
@@ -1,54 +1,81 @@
1
+ import { formatJson, formatNdjson } from '@doist/cli-core';
2
+ import { attachLoginCommand } from '@doist/cli-core/auth';
1
3
  import chalk from 'chalk';
2
4
  import open from 'open';
3
- import { createApiForToken } from '../../lib/api/core.js';
4
- import { upsertUser } from '../../lib/auth.js';
5
- import { parseScopesOption } from '../../lib/oauth-scopes.js';
6
- import { startCallbackServer } from '../../lib/oauth-server.js';
7
- import { buildAuthorizationUrl, exchangeCodeForToken, resolveAuthScope } from '../../lib/oauth.js';
8
- import { generateCodeChallenge, generateCodeVerifier, generateState } from '../../lib/pkce.js';
5
+ import { renderAuthErrorPage, renderAuthSuccessPage } from '../../lib/auth-html.js';
6
+ import { createTodoistAuthProvider } from '../../lib/auth-provider.js';
7
+ import { createTodoistTokenStore } from '../../lib/auth-store.js';
8
+ import { extractAdditionalScopes, formatScopesHelp, resolveAuthScope, } from '../../lib/oauth-scopes.js';
9
9
  import { logTokenStorageResult } from './helpers.js';
10
- export async function loginWithOAuth(options = {}) {
11
- const additionalScopes = options.additionalScopes
12
- ? parseScopesOption(options.additionalScopes)
13
- : [];
14
- const codeVerifier = generateCodeVerifier();
15
- const codeChallenge = generateCodeChallenge(codeVerifier);
16
- const state = generateState();
17
- console.log('Opening browser for Todoist authorization...');
18
- const { promise: callbackPromise, port, cleanup } = await startCallbackServer(state);
19
- const authUrl = buildAuthorizationUrl(codeChallenge, state, {
20
- readOnly: options.readOnly,
21
- additionalScopes,
22
- port,
10
+ const TODOIST_CALLBACK_PORT = 8765;
11
+ const TODOIST_CALLBACK_PORT_FALLBACK = 5;
12
+ /**
13
+ * Attach `td auth login` via cli-core's generic `attachLoginCommand`. The
14
+ * registrar wires `--read-only`, `--callback-port`, `--json`, `--ndjson` and
15
+ * drives `runOAuthFlow`; the bits below stay todoist-local: scope resolution
16
+ * (comma-joined, custom validators), branded HTML, multi-user store via
17
+ * `createTodoistTokenStore`, and the human-mode success line.
18
+ *
19
+ * `--additional-scopes` is attached after the registrar so the option lands on
20
+ * the same Commander view; cli-core surfaces it through the `flags` argument
21
+ * to `resolveScopes`.
22
+ */
23
+ export function attachTodoistLoginCommand(auth) {
24
+ const store = createTodoistTokenStore();
25
+ const login = attachLoginCommand(auth, {
26
+ provider: createTodoistAuthProvider(),
27
+ store,
28
+ preferredPort: TODOIST_CALLBACK_PORT,
29
+ portFallbackCount: TODOIST_CALLBACK_PORT_FALLBACK,
30
+ resolveScopes: ({ readOnly, flags }) => {
31
+ const additionalScopes = extractAdditionalScopes(flags);
32
+ // resolveAuthScope returns the comma-separated string Todoist expects;
33
+ // split into the array cli-core's PKCE provider re-joins (the provider
34
+ // is configured with `scopeSeparator: ','`).
35
+ return resolveAuthScope({ readOnly, additionalScopes }).split(',');
36
+ },
37
+ renderSuccess: renderAuthSuccessPage,
38
+ renderError: renderAuthErrorPage,
39
+ openBrowser: async (url) => {
40
+ await open(url);
41
+ },
42
+ onSuccess: ({ account, view }) => {
43
+ const storage = store.getLastStorageResult();
44
+ if (view.json) {
45
+ console.log(formatJson({ displayName: 'Todoist', account }));
46
+ }
47
+ else if (view.ndjson) {
48
+ console.log(formatNdjson([{ displayName: 'Todoist', account }]));
49
+ }
50
+ else {
51
+ const label = account.label ?? account.id;
52
+ console.log(`${chalk.green('✓')} Signed in to Todoist as ${chalk.cyan(label)}`);
53
+ }
54
+ // Surface keyring-fallback warnings regardless of view mode so a
55
+ // silent plaintext-storage fallback never goes unreported.
56
+ // `logTokenStorageResult` writes warnings to stderr, keeping the
57
+ // `--json` / `--ndjson` stdout envelope clean; the human "stored
58
+ // securely" confirmation is suppressed in machine-output mode.
59
+ if (storage) {
60
+ if (view.json || view.ndjson) {
61
+ if (storage.warning) {
62
+ console.error(chalk.yellow('Warning:'), storage.warning);
63
+ }
64
+ }
65
+ else {
66
+ logTokenStorageResult(storage, 'Token stored securely in the system credential manager');
67
+ }
68
+ }
69
+ },
23
70
  });
24
- try {
25
- await open(authUrl);
26
- console.log(chalk.dim('Waiting for authorization...'));
27
- const code = await callbackPromise;
28
- console.log(chalk.dim('Exchanging code for token...'));
29
- const accessToken = await exchangeCodeForToken(code, codeVerifier, port);
30
- const authFlags = [];
31
- if (options.readOnly)
32
- authFlags.push('read-only');
33
- authFlags.push(...additionalScopes);
34
- // Identify the user behind the new token before persisting.
35
- const probeApi = createApiForToken(accessToken);
36
- const user = await probeApi.getUser();
37
- const result = await upsertUser({
38
- id: user.id,
39
- email: user.email,
40
- token: accessToken,
41
- authMode: options.readOnly ? 'read-only' : 'read-write',
42
- authScope: resolveAuthScope({ readOnly: options.readOnly, additionalScopes }),
43
- authFlags,
44
- });
45
- const verb = result.replaced ? 'Updated credentials for' : 'Logged in as';
46
- console.log(chalk.green('✓'), `${verb} ${user.email}`);
47
- logTokenStorageResult(result, 'Token stored securely in the system credential manager');
48
- }
49
- catch (error) {
50
- cleanup();
51
- throw error;
52
- }
71
+ return login
72
+ .description('Authenticate with Todoist via OAuth')
73
+ .option('--additional-scopes <list>', 'Comma-separated opt-in OAuth scopes (see list below). The flag may be repeated; every occurrence is merged.',
74
+ // Commander treats this as a scalar by default, so repeated uses
75
+ // (`--additional-scopes=a --additional-scopes=b`) would silently drop
76
+ // earlier values. Concatenate into one comma-separated string and let
77
+ // parseScopesOption split/dedupe/validate as usual.
78
+ (value, prev) => prev && prev.length > 0 ? `${prev},${value}` : value)
79
+ .addHelpText('after', formatScopesHelp());
53
80
  }
54
81
  //# sourceMappingURL=login.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/commands/auth/login.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/commands/auth/login.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/folder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAoBnC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuH5D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/folder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAWnC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuH5D"}
@@ -1,19 +1,11 @@
1
1
  import { CURSOR_DESCRIPTION } from '../../lib/constants.js';
2
2
  import { CliError } from '../../lib/errors.js';
3
+ import { parseOrderArg } from '../../lib/order.js';
3
4
  import { createFolder } from './create.js';
4
5
  import { deleteFolder } from './delete.js';
5
6
  import { listFolders } from './list.js';
6
7
  import { updateFolder } from './update.js';
7
8
  import { viewFolder } from './view.js';
8
- function parseOrderArg(val) {
9
- const n = Number(val);
10
- if (!Number.isInteger(n) || n < 0) {
11
- throw new CliError('INVALID_ORDER', `Invalid order value: "${val}"`, [
12
- 'Order must be a non-negative integer (e.g., 0 for top of list)',
13
- ]);
14
- }
15
- return n;
16
- }
17
9
  export function registerFolderCommand(program) {
18
10
  const folder = program
19
11
  .command('folder')
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/folder/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/folder/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type ColorKey } from '@doist/todoist-sdk';
1
+ import type { ColorKey } from '@doist/todoist-sdk';
2
2
  export interface CreateOptions {
3
3
  name: string;
4
4
  color?: ColorKey;
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/project/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,QAAQ,EAAyB,MAAM,oBAAoB,CAAA;AAQ7F,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,QAAQ,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA+CzE"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/project/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,oBAAoB,CAAA;AAOpE,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,QAAQ,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAwCzE"}
@@ -1,10 +1,8 @@
1
- import { isWorkspaceProject } from '@doist/todoist-sdk';
2
1
  import chalk from 'chalk';
3
2
  import { getApi } from '../../lib/api/core.js';
4
- import { CliError } from '../../lib/errors.js';
5
3
  import { isQuiet } from '../../lib/global-args.js';
6
4
  import { formatJson, printDryRun } from '../../lib/output.js';
7
- import { resolveProjectRef } from '../../lib/refs.js';
5
+ import { resolvePersonalParent } from './helpers.js';
8
6
  export async function createProject(options) {
9
7
  if (options.dryRun) {
10
8
  printDryRun('create project', {
@@ -19,10 +17,7 @@ export async function createProject(options) {
19
17
  const api = await getApi();
20
18
  let parentId;
21
19
  if (options.parent) {
22
- const parentProject = await resolveProjectRef(api, options.parent);
23
- if (isWorkspaceProject(parentProject)) {
24
- throw new CliError('WORKSPACE_NO_SUBPROJECTS', 'Workspace projects do not support sub-projects.', ['Sub-projects are only supported for personal projects.']);
25
- }
20
+ const parentProject = await resolvePersonalParent(api, options.parent);
26
21
  parentId = parentProject.id;
27
22
  }
28
23
  const project = await api.addProject({
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/project/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAwC,MAAM,oBAAoB,CAAA;AAC7F,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAYrD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAsB;IACtD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,WAAW,CAAC,gBAAgB,EAAE;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YAC9C,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,YAAY,EAAE,OAAO,CAAC,SAAS;SAClC,CAAC,CAAA;QACF,OAAM;IACV,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;IAE1B,IAAI,QAA4B,CAAA;IAChC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;QAClE,IAAI,kBAAkB,CAAC,aAAa,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,QAAQ,CACd,0BAA0B,EAC1B,iDAAiD,EACjD,CAAC,wDAAwD,CAAC,CAC7D,CAAA;QACL,CAAC;QACD,QAAQ,GAAG,aAAa,CAAC,EAAE,CAAA;IAC/B,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC;QACjC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,UAAU,EAAE,OAAO,CAAC,QAAQ;QAC5B,QAAQ;QACR,SAAS,EAAE,OAAO,CAAC,SAA6B;KACnD,CAAC,CAAA;IAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAA;QAC3C,OAAM;IACV,CAAC;IAED,IAAI,OAAO,EAAE,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACvB,OAAM;IACV,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;IACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;AAC/C,CAAC"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/project/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;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAYpD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAsB;IACtD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,WAAW,CAAC,gBAAgB,EAAE;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YAC9C,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,YAAY,EAAE,OAAO,CAAC,SAAS;SAClC,CAAC,CAAA;QACF,OAAM;IACV,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;IAE1B,IAAI,QAA4B,CAAA;IAChC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,MAAM,aAAa,GAAG,MAAM,qBAAqB,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;QACtE,QAAQ,GAAG,aAAa,CAAC,EAAE,CAAA;IAC/B,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC;QACjC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,UAAU,EAAE,OAAO,CAAC,QAAQ;QAC5B,QAAQ;QACR,SAAS,EAAE,OAAO,CAAC,SAA6B;KACnD,CAAC,CAAA;IAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAA;QAC3C,OAAM;IACV,CAAC;IAED,IAAI,OAAO,EAAE,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACvB,OAAM;IACV,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;IACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;AAC/C,CAAC"}
@@ -1,3 +1,29 @@
1
- import type { ProjectViewStyle } from '@doist/todoist-sdk';
1
+ import { type PersonalProject, type ProjectViewStyle, type TodoistApi } from '@doist/todoist-sdk';
2
+ import type { Project } from '../../lib/api/core.js';
2
3
  export declare const VIEW_STYLE_CHOICES: ProjectViewStyle[];
4
+ /**
5
+ * Resolve a project reference for use as a parent. Rejects workspace projects
6
+ * — only personal projects can have sub-projects.
7
+ */
8
+ export declare function resolvePersonalParent(api: TodoistApi, parentRef: string): Promise<PersonalProject>;
9
+ /**
10
+ * Load every personal project the user has access to (paginated). Used by
11
+ * commands that need to traverse the project hierarchy in memory rather than
12
+ * making N round trips.
13
+ */
14
+ export declare function loadPersonalProjects(api: TodoistApi): Promise<PersonalProject[]>;
15
+ /**
16
+ * Returns true if `candidateId` is a descendant of `ancestorId` within the
17
+ * given project set. Walks the parent chain in memory; bails on cycles.
18
+ */
19
+ export declare function isDescendantOf(projects: PersonalProject[], candidateId: string, ancestorId: string): boolean;
20
+ export declare function isPersonal(p: Project): p is PersonalProject;
21
+ /**
22
+ * Resolve a project reference against an in-memory personal-project list,
23
+ * avoiding extra round trips when the caller has already paginated the
24
+ * full list (e.g. `project reorder`). Mirrors the matching rules of
25
+ * `resolveProjectRef` (id prefix → exact name → substring name) but is
26
+ * scoped to personal projects only.
27
+ */
28
+ export declare function resolvePersonalFromList(projects: PersonalProject[], ref: string): PersonalProject;
3
29
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/commands/project/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAE1D,eAAO,MAAM,kBAAkB,EAAE,gBAAgB,EAAkC,CAAA"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/commands/project/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,UAAU,EAClB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAKpD,eAAO,MAAM,kBAAkB,EAAE,gBAAgB,EAAkC,CAAA;AAEnF;;;GAGG;AACH,wBAAsB,qBAAqB,CACvC,GAAG,EAAE,UAAU,EACf,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,CAAC,CAU1B;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAMtF;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC1B,QAAQ,EAAE,eAAe,EAAE,EAC3B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACnB,OAAO,CAUT;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,eAAe,CAE3D;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,eAAe,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,eAAe,CAgCjG"}
@@ -1,2 +1,79 @@
1
+ import { isWorkspaceProject, } from '@doist/todoist-sdk';
2
+ import { CliError } from '../../lib/errors.js';
3
+ import { paginate } from '../../lib/pagination.js';
4
+ import { resolveProjectRef } from '../../lib/refs.js';
1
5
  export const VIEW_STYLE_CHOICES = ['list', 'board', 'calendar'];
6
+ /**
7
+ * Resolve a project reference for use as a parent. Rejects workspace projects
8
+ * — only personal projects can have sub-projects.
9
+ */
10
+ export async function resolvePersonalParent(api, parentRef) {
11
+ const parentProject = await resolveProjectRef(api, parentRef);
12
+ if (isWorkspaceProject(parentProject)) {
13
+ throw new CliError('WORKSPACE_NO_SUBPROJECTS', 'Workspace projects cannot be used as a parent.', ['Sub-projects are only supported under personal projects.']);
14
+ }
15
+ return parentProject;
16
+ }
17
+ /**
18
+ * Load every personal project the user has access to (paginated). Used by
19
+ * commands that need to traverse the project hierarchy in memory rather than
20
+ * making N round trips.
21
+ */
22
+ export async function loadPersonalProjects(api) {
23
+ const { results } = await paginate((cursor, limit) => api.getProjects({ cursor: cursor ?? undefined, limit }), { limit: Number.MAX_SAFE_INTEGER, startCursor: undefined });
24
+ return results.filter((p) => !isWorkspaceProject(p));
25
+ }
26
+ /**
27
+ * Returns true if `candidateId` is a descendant of `ancestorId` within the
28
+ * given project set. Walks the parent chain in memory; bails on cycles.
29
+ */
30
+ export function isDescendantOf(projects, candidateId, ancestorId) {
31
+ const byId = new Map(projects.map((p) => [p.id, p]));
32
+ let current = byId.get(candidateId);
33
+ const visited = new Set();
34
+ while (current?.parentId && !visited.has(current.id)) {
35
+ visited.add(current.id);
36
+ if (current.parentId === ancestorId)
37
+ return true;
38
+ current = byId.get(current.parentId);
39
+ }
40
+ return false;
41
+ }
42
+ export function isPersonal(p) {
43
+ return !isWorkspaceProject(p);
44
+ }
45
+ /**
46
+ * Resolve a project reference against an in-memory personal-project list,
47
+ * avoiding extra round trips when the caller has already paginated the
48
+ * full list (e.g. `project reorder`). Mirrors the matching rules of
49
+ * `resolveProjectRef` (id prefix → exact name → substring name) but is
50
+ * scoped to personal projects only.
51
+ */
52
+ export function resolvePersonalFromList(projects, ref) {
53
+ if (!ref.trim()) {
54
+ throw new CliError('INVALID_PROJECT', 'project reference cannot be empty.');
55
+ }
56
+ if (ref.startsWith('id:')) {
57
+ const id = ref.slice(3);
58
+ const match = projects.find((p) => p.id === id);
59
+ if (!match) {
60
+ throw new CliError('PROJECT_NOT_FOUND', `Personal project "${ref}" not found.`);
61
+ }
62
+ return match;
63
+ }
64
+ const lower = ref.toLowerCase();
65
+ const exact = projects.filter((p) => p.name.toLowerCase() === lower);
66
+ if (exact.length === 1)
67
+ return exact[0];
68
+ if (exact.length > 1) {
69
+ throw new CliError('AMBIGUOUS_PROJECT', `Multiple projects match "${ref}" exactly:`, exact.slice(0, 5).map((p) => `"${p.name}" (id:${p.id})`));
70
+ }
71
+ const partial = projects.filter((p) => p.name.toLowerCase().includes(lower));
72
+ if (partial.length === 1)
73
+ return partial[0];
74
+ if (partial.length > 1) {
75
+ throw new CliError('AMBIGUOUS_PROJECT', `Multiple projects match "${ref}":`, partial.slice(0, 5).map((p) => `"${p.name}" (id:${p.id})`));
76
+ }
77
+ throw new CliError('PROJECT_NOT_FOUND', `Personal project "${ref}" not found.`);
78
+ }
2
79
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/commands/project/helpers.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,kBAAkB,GAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/commands/project/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,kBAAkB,GAIrB,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAErD,MAAM,CAAC,MAAM,kBAAkB,GAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;AAEnF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACvC,GAAe,EACf,SAAiB;IAEjB,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;IAC7D,IAAI,kBAAkB,CAAC,aAAa,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,QAAQ,CACd,0BAA0B,EAC1B,gDAAgD,EAChD,CAAC,0DAA0D,CAAC,CAC/D,CAAA;IACL,CAAC;IACD,OAAO,aAAa,CAAA;AACxB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,GAAe;IACtD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,QAAQ,CAC9B,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,IAAI,SAAS,EAAE,KAAK,EAAE,CAAC,EAC1E,EAAE,KAAK,EAAE,MAAM,CAAC,gBAAgB,EAAE,WAAW,EAAE,SAAS,EAAE,CAC7D,CAAA;IACD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAwB,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAA;AAC9E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC1B,QAA2B,EAC3B,WAAmB,EACnB,UAAkB;IAElB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACpD,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;IACnC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;IACjC,OAAO,OAAO,EAAE,QAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACvB,IAAI,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,OAAO,IAAI,CAAA;QAChD,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACxC,CAAC;IACD,OAAO,KAAK,CAAA;AAChB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,CAAU;IACjC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAA;AACjC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAA2B,EAAE,GAAW;IAC5E,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;QACd,MAAM,IAAI,QAAQ,CAAC,iBAAiB,EAAE,oCAAoC,CAAC,CAAA;IAC/E,CAAC;IACD,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACvB,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,QAAQ,CAAC,mBAAmB,EAAE,qBAAqB,GAAG,cAAc,CAAC,CAAA;QACnF,CAAC;QACD,OAAO,KAAK,CAAA;IAChB,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;IAC/B,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAA;IACpE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAA;IACvC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,QAAQ,CACd,mBAAmB,EACnB,4BAA4B,GAAG,YAAY,EAC3C,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAC3D,CAAA;IACL,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;IAC5E,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,CACd,mBAAmB,EACnB,4BAA4B,GAAG,IAAI,EACnC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAC7D,CAAA;IACL,CAAC;IACD,MAAM,IAAI,QAAQ,CAAC,mBAAmB,EAAE,qBAAqB,GAAG,cAAc,CAAC,CAAA;AACnF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/project/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAA;AAwB3C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2Q7D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/project/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAA;AA0B3C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqS7D"}
@@ -1,6 +1,7 @@
1
1
  import { Option } from 'commander';
2
2
  import { withCaseInsensitiveChoices } from '../../lib/completion.js';
3
3
  import { CURSOR_DESCRIPTION } from '../../lib/constants.js';
4
+ import { parseOrderArg } from '../../lib/order.js';
4
5
  import { showProjectActivityStats } from './activity-stats.js';
5
6
  import { analyzeHealth } from './analyze-health.js';
6
7
  import { archiveProject } from './archive.js';
@@ -18,6 +19,7 @@ import { listProjects } from './list.js';
18
19
  import { moveProject } from './move.js';
19
20
  import { showPermissions } from './permissions.js';
20
21
  import { showProjectProgress } from './progress.js';
22
+ import { reorderProject } from './reorder.js';
21
23
  import { unarchiveProject } from './unarchive.js';
22
24
  import { updateProject } from './update.js';
23
25
  import { viewProject } from './view.js';
@@ -110,6 +112,8 @@ Examples:
110
112
  .option('--no-favorite', 'Remove from favorites')
111
113
  .option('--folder <ref>', 'Move into a folder by name or id:xxx (workspace projects only)')
112
114
  .option('--no-folder', 'Remove from folder (workspace projects only)')
115
+ .option('--parent <ref>', 'Re-nest under a personal parent project (name or id:xxx)')
116
+ .option('--no-parent', 'Move to top level (no parent)')
113
117
  .addOption(withCaseInsensitiveChoices(new Option('--view-style <style>', 'View style (list, board, or calendar)'), VIEW_STYLE_CHOICES))
114
118
  .option('--json', 'Output the updated project as JSON')
115
119
  .option('--dry-run', 'Preview what would happen without executing')
@@ -168,6 +172,26 @@ Examples:
168
172
  }
169
173
  return moveProject(ref, options);
170
174
  });
175
+ const reorderCmd = project
176
+ .command('reorder [ref]')
177
+ .description('Reorder a personal project among its siblings')
178
+ .option('--before <ref>', 'Place before this sibling (name or id:xxx)')
179
+ .option('--after <ref>', 'Place after this sibling (name or id:xxx)')
180
+ .option('--position <n>', 'Move to a 0-indexed position among siblings', parseOrderArg)
181
+ .option('--json', 'Output the new ordering as JSON')
182
+ .option('--dry-run', 'Preview what would happen without executing')
183
+ .addHelpText('after', `
184
+ Examples:
185
+ td project reorder "Roadmap" --before "Marketing"
186
+ td project reorder "Roadmap" --after "Marketing"
187
+ td project reorder "Roadmap" --position 0`)
188
+ .action((ref, options) => {
189
+ if (!ref) {
190
+ reorderCmd.help();
191
+ return;
192
+ }
193
+ return reorderProject(ref, options);
194
+ });
171
195
  project
172
196
  .command('archived')
173
197
  .description('List archived projects')
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/project/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/project/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export type ReorderOptions = {
2
+ before?: string;
3
+ after?: string;
4
+ position?: number;
5
+ json?: boolean;
6
+ dryRun?: boolean;
7
+ };
8
+ export declare function reorderProject(ref: string, options: ReorderOptions): Promise<void>;
9
+ //# sourceMappingURL=reorder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reorder.d.ts","sourceRoot":"","sources":["../../../src/commands/project/reorder.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,cAAc,GAAG;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAmGxF"}