@doist/todoist-cli 1.62.1 → 1.62.2

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 (68) hide show
  1. package/CHANGELOG.md +6 -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/task/index.d.ts.map +1 -1
  11. package/dist/commands/task/index.js +1 -0
  12. package/dist/commands/task/index.js.map +1 -1
  13. package/dist/commands/task/update.d.ts +1 -1
  14. package/dist/commands/task/update.d.ts.map +1 -1
  15. package/dist/commands/task/update.js +6 -2
  16. package/dist/commands/task/update.js.map +1 -1
  17. package/dist/commands/update/index.d.ts +1 -1
  18. package/dist/commands/update/index.d.ts.map +1 -1
  19. package/dist/commands/update/index.js +11 -14
  20. package/dist/commands/update/index.js.map +1 -1
  21. package/dist/lib/auth-html.d.ts +11 -0
  22. package/dist/lib/auth-html.d.ts.map +1 -0
  23. package/dist/lib/{oauth-server.js → auth-html.js} +13 -97
  24. package/dist/lib/auth-html.js.map +1 -0
  25. package/dist/lib/auth-provider.d.ts +16 -0
  26. package/dist/lib/auth-provider.d.ts.map +1 -0
  27. package/dist/lib/auth-provider.js +59 -0
  28. package/dist/lib/auth-provider.js.map +1 -0
  29. package/dist/lib/auth-store.d.ts +48 -0
  30. package/dist/lib/auth-store.d.ts.map +1 -0
  31. package/dist/lib/auth-store.js +91 -0
  32. package/dist/lib/auth-store.js.map +1 -0
  33. package/dist/lib/auth.d.ts +4 -0
  34. package/dist/lib/auth.d.ts.map +1 -1
  35. package/dist/lib/auth.js +1 -1
  36. package/dist/lib/auth.js.map +1 -1
  37. package/dist/lib/oauth-scopes.d.ts +21 -0
  38. package/dist/lib/oauth-scopes.d.ts.map +1 -1
  39. package/dist/lib/oauth-scopes.js +28 -0
  40. package/dist/lib/oauth-scopes.js.map +1 -1
  41. package/dist/lib/skills/content.d.ts +1 -1
  42. package/dist/lib/skills/content.d.ts.map +1 -1
  43. package/dist/lib/skills/content.js +8 -2
  44. package/dist/lib/skills/content.js.map +1 -1
  45. package/dist/lib/update.d.ts +7 -13
  46. package/dist/lib/update.d.ts.map +1 -1
  47. package/dist/lib/update.js +10 -36
  48. package/dist/lib/update.js.map +1 -1
  49. package/package.json +4 -4
  50. package/dist/commands/update/action.d.ts +0 -5
  51. package/dist/commands/update/action.d.ts.map +0 -1
  52. package/dist/commands/update/action.js +0 -112
  53. package/dist/commands/update/action.js.map +0 -1
  54. package/dist/commands/update/switch.d.ts +0 -5
  55. package/dist/commands/update/switch.d.ts.map +0 -1
  56. package/dist/commands/update/switch.js +0 -31
  57. package/dist/commands/update/switch.js.map +0 -1
  58. package/dist/lib/oauth-server.d.ts +0 -8
  59. package/dist/lib/oauth-server.d.ts.map +0 -1
  60. package/dist/lib/oauth-server.js.map +0 -1
  61. package/dist/lib/oauth.d.ts +0 -13
  62. package/dist/lib/oauth.d.ts.map +0 -1
  63. package/dist/lib/oauth.js +0 -51
  64. package/dist/lib/oauth.js.map +0 -1
  65. package/dist/lib/pkce.d.ts +0 -4
  66. package/dist/lib/pkce.d.ts.map +0 -1
  67. package/dist/lib/pkce.js +0 -19
  68. package/dist/lib/pkce.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## [1.62.2](https://github.com/Doist/todoist-cli/compare/v1.62.1...v1.62.2) (2026-05-11)
2
+
3
+ ### Bug Fixes
4
+
5
+ * **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)
6
+
1
7
  ## [1.62.1](https://github.com/Doist/todoist-cli/compare/v1.62.0...v1.62.1) (2026-05-09)
2
8
 
3
9
  ### 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":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AACnF,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAA;AACtE,OAAO,EAAE,uBAAuB,EAAuB,MAAM,yBAAyB,CAAA;AACtF,OAAO,EACH,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,GACnB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAEpD,MAAM,qBAAqB,GAAG,IAAI,CAAA;AAClC,MAAM,8BAA8B,GAAG,CAAC,CAAA;AAExC;;;;;;;;;;GAUG;AACH,MAAM,UAAU,yBAAyB,CAAC,IAAa;IACnD,MAAM,KAAK,GAAG,uBAAuB,EAAE,CAAA;IAEvC,MAAM,KAAK,GAAG,kBAAkB,CAAiB,IAAI,EAAE;QACnD,QAAQ,EAAE,yBAAyB,EAAE;QACrC,KAAK;QACL,aAAa,EAAE,qBAAqB;QACpC,iBAAiB,EAAE,8BAA8B;QACjD,aAAa,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;YACnC,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAA;YACvD,uEAAuE;YACvE,uEAAuE;YACvE,6CAA6C;YAC7C,OAAO,gBAAgB,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACtE,CAAC;QACD,aAAa,EAAE,qBAAqB;QACpC,WAAW,EAAE,mBAAmB;QAChC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACvB,MAAM,IAAI,CAAC,GAAG,CAAC,CAAA;QACnB,CAAC;QACD,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE;YAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAoB,EAAE,CAAA;YAE5C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;YAChE,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACrB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;YACpE,CAAC;iBAAM,CAAC;gBACJ,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,EAAE,CAAA;gBACzC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YACnF,CAAC;YAED,iEAAiE;YACjE,2DAA2D;YAC3D,iEAAiE;YACjE,iEAAiE;YACjE,+DAA+D;YAC/D,IAAI,OAAO,EAAE,CAAC;gBACV,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAC3B,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;wBAClB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;oBAC5D,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,qBAAqB,CACjB,OAAO,EACP,wDAAwD,CAC3D,CAAA;gBACL,CAAC;YACL,CAAC;QACL,CAAC;KACJ,CAAC,CAAA;IAEF,OAAO,KAAK;SACP,WAAW,CAAC,qCAAqC,CAAC;SAClD,MAAM,CACH,4BAA4B,EAC5B,6GAA6G;IAC7G,iEAAiE;IACjE,sEAAsE;IACtE,sEAAsE;IACtE,oDAAoD;IACpD,CAAC,KAAa,EAAE,IAAwB,EAAE,EAAE,CACxC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAC3D;SACA,WAAW,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAA;AACjD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/task/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAA;AAmB3C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6O1D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/task/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAA;AAmB3C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8O1D"}
@@ -155,6 +155,7 @@ Examples:
155
155
  .option('--no-deadline', 'Remove deadline')
156
156
  .addOption(withCaseInsensitiveChoices(new Option('--priority <p1-p4>', 'New priority'), PRIORITY_CHOICES))
157
157
  .option('--labels <a,b>', 'New labels (replaces existing)')
158
+ .option('--no-labels', 'Remove all labels')
158
159
  .option('--description <text>', 'New description')
159
160
  .option('--stdin', 'Read task description from stdin')
160
161
  .option('--assignee <ref>', 'Assign to user (name, email, id:xxx, or "me")')
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/task/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/task/index.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ export interface UpdateOptions {
3
3
  due?: string | false;
4
4
  deadline?: string | false;
5
5
  priority?: string;
6
- labels?: string;
6
+ labels?: string | false;
7
7
  description?: string;
8
8
  stdin?: boolean;
9
9
  assignee?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/commands/task/update.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,aAAa;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAkFnF"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/commands/task/update.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,aAAa;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAsFnF"}
@@ -27,8 +27,12 @@ export async function updateTask(ref, options) {
27
27
  }
28
28
  if (options.priority)
29
29
  args.priority = parsePriority(options.priority);
30
- if (options.labels)
30
+ if (options.labels === false) {
31
+ args.labels = [];
32
+ }
33
+ else if (options.labels) {
31
34
  args.labels = options.labels.split(',').map((l) => l.trim());
35
+ }
32
36
  if (options.stdin && options.description !== undefined) {
33
37
  throw new CliError('CONFLICTING_OPTIONS', 'Cannot use both --description and --stdin');
34
38
  }
@@ -68,7 +72,7 @@ export async function updateTask(ref, options) {
68
72
  Due: args.dueString ?? undefined,
69
73
  Deadline: args.deadlineDate ?? undefined,
70
74
  Priority: options.priority,
71
- Labels: options.labels,
75
+ Labels: options.labels === false ? '(remove all)' : options.labels,
72
76
  Assignee: options.assignee,
73
77
  Unassign: options.unassign ? 'yes' : undefined,
74
78
  Duration: options.duration,
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/task/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/task/update.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { Command } from 'commander';
1
+ import type { Command } from 'commander';
2
2
  export declare function registerUpdateCommand(program: Command): void;
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/update/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAInC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAc5D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/update/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKxC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAQ5D"}
@@ -1,17 +1,14 @@
1
- import { updateAction } from './action.js';
2
- import { switchChannel } from './switch.js';
1
+ import { registerUpdateCommand as registerCoreUpdateCommand } from '@doist/cli-core/commands';
2
+ import packageJson from '../../../package.json' with { type: 'json' };
3
+ import { getConfigPath } from '../../lib/config.js';
4
+ import { withSpinner } from '../../lib/spinner.js';
3
5
  export function registerUpdateCommand(program) {
4
- const update = program
5
- .command('update')
6
- .description('Update the CLI to the latest version for the configured channel')
7
- .option('--check', 'Check for updates without installing')
8
- .option('--channel', 'Show the current update channel')
9
- .action(updateAction);
10
- update
11
- .command('switch')
12
- .description('Switch update channel between stable and pre-release')
13
- .option('--stable', 'Use the stable release channel')
14
- .option('--pre-release', 'Use the pre-release (next) channel')
15
- .action(switchChannel);
6
+ registerCoreUpdateCommand(program, {
7
+ packageName: packageJson.name,
8
+ currentVersion: packageJson.version,
9
+ configPath: getConfigPath(),
10
+ changelogCommandName: 'td changelog',
11
+ withSpinner,
12
+ });
16
13
  }
17
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/update/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE3C,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IAClD,MAAM,MAAM,GAAG,OAAO;SACjB,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,iEAAiE,CAAC;SAC9E,MAAM,CAAC,SAAS,EAAE,sCAAsC,CAAC;SACzD,MAAM,CAAC,WAAW,EAAE,iCAAiC,CAAC;SACtD,MAAM,CAAC,YAAY,CAAC,CAAA;IAEzB,MAAM;SACD,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,sDAAsD,CAAC;SACnE,MAAM,CAAC,UAAU,EAAE,gCAAgC,CAAC;SACpD,MAAM,CAAC,eAAe,EAAE,oCAAoC,CAAC;SAC7D,MAAM,CAAC,aAAa,CAAC,CAAA;AAC9B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/update/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,IAAI,yBAAyB,EAAE,MAAM,0BAA0B,CAAA;AAE7F,OAAO,WAAW,MAAM,uBAAuB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAElD,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IAClD,yBAAyB,CAAC,OAAO,EAAE;QAC/B,WAAW,EAAE,WAAW,CAAC,IAAI;QAC7B,cAAc,EAAE,WAAW,CAAC,OAAO;QACnC,UAAU,EAAE,aAAa,EAAE;QAC3B,oBAAoB,EAAE,cAAc;QACpC,WAAW;KACd,CAAC,CAAA;AACN,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Branded HTML pages served by the OAuth callback server. Wired into
3
+ * cli-core's `registerAuthCommand` via the `renderSuccess` / `renderError`
4
+ * options so the runtime stays generic while the CLI keeps its branding.
5
+ *
6
+ * The two consts (SUCCESS_HTML / ERROR_HTML) were lifted verbatim from the
7
+ * pre-cli-core `src/lib/oauth-server.ts` to preserve the existing UX.
8
+ */
9
+ export declare function renderAuthSuccessPage(): string;
10
+ export declare function renderAuthErrorPage(message: string): string;
11
+ //# sourceMappingURL=auth-html.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-html.d.ts","sourceRoot":"","sources":["../../src/lib/auth-html.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAosBH,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE3D"}
@@ -1,7 +1,11 @@
1
- import { createServer } from 'node:http';
2
- export const DEFAULT_PORT = 8765;
3
- const MAX_PORT_ATTEMPTS = 5;
4
- const TIMEOUT_MS = 3 * 60 * 1000; // 3 minutes
1
+ /**
2
+ * Branded HTML pages served by the OAuth callback server. Wired into
3
+ * cli-core's `registerAuthCommand` via the `renderSuccess` / `renderError`
4
+ * options so the runtime stays generic while the CLI keeps its branding.
5
+ *
6
+ * The two consts (SUCCESS_HTML / ERROR_HTML) were lifted verbatim from the
7
+ * pre-cli-core `src/lib/oauth-server.ts` to preserve the existing UX.
8
+ */
5
9
  const SUCCESS_HTML = `
6
10
  <!DOCTYPE html>
7
11
  <html lang="en">
@@ -706,98 +710,10 @@ const ERROR_HTML = (message) => `
706
710
  </body>
707
711
  </html>
708
712
  `;
709
- export function getRedirectUri(port) {
710
- return `http://localhost:${port}/callback`;
713
+ export function renderAuthSuccessPage() {
714
+ return SUCCESS_HTML;
711
715
  }
712
- function tryListen(server, port) {
713
- return new Promise((resolve, reject) => {
714
- server.once('error', reject);
715
- server.listen(port, () => {
716
- server.removeListener('error', reject);
717
- resolve();
718
- });
719
- });
716
+ export function renderAuthErrorPage(message) {
717
+ return ERROR_HTML(message);
720
718
  }
721
- export async function startCallbackServer(expectedState) {
722
- let timeoutId = null;
723
- let boundPort = DEFAULT_PORT;
724
- const server = createServer();
725
- let closed = false;
726
- const cleanup = () => {
727
- if (closed)
728
- return;
729
- closed = true;
730
- if (timeoutId) {
731
- clearTimeout(timeoutId);
732
- timeoutId = null;
733
- }
734
- server.close();
735
- };
736
- // Find an available port
737
- for (let port = DEFAULT_PORT; port < DEFAULT_PORT + MAX_PORT_ATTEMPTS; port++) {
738
- try {
739
- await tryListen(server, port);
740
- boundPort = port;
741
- break;
742
- }
743
- catch (err) {
744
- if (err instanceof Error &&
745
- 'code' in err &&
746
- err.code === 'EADDRINUSE') {
747
- if (port === DEFAULT_PORT + MAX_PORT_ATTEMPTS - 1) {
748
- throw new Error(`Could not find an available port (tried ${DEFAULT_PORT}-${DEFAULT_PORT + MAX_PORT_ATTEMPTS - 1})`);
749
- }
750
- continue;
751
- }
752
- throw err;
753
- }
754
- }
755
- const promise = new Promise((resolve, reject) => {
756
- server.on('request', (req, res) => {
757
- const url = new URL(req.url || '/', `http://localhost:${boundPort}`);
758
- if (url.pathname !== '/callback') {
759
- res.writeHead(404);
760
- res.end('Not found');
761
- return;
762
- }
763
- const code = url.searchParams.get('code');
764
- const state = url.searchParams.get('state');
765
- const error = url.searchParams.get('error');
766
- if (error) {
767
- res.writeHead(400, { 'Content-Type': 'text/html; charset=utf-8' });
768
- res.end(ERROR_HTML(error));
769
- cleanup();
770
- reject(new Error(`OAuth error: ${error}`));
771
- return;
772
- }
773
- if (!code || !state) {
774
- res.writeHead(400, { 'Content-Type': 'text/html; charset=utf-8' });
775
- res.end(ERROR_HTML('Missing code or state parameter'));
776
- cleanup();
777
- reject(new Error('Missing code or state parameter'));
778
- return;
779
- }
780
- if (state !== expectedState) {
781
- res.writeHead(400, { 'Content-Type': 'text/html; charset=utf-8' });
782
- res.end(ERROR_HTML('Invalid state parameter (possible CSRF attack)'));
783
- cleanup();
784
- reject(new Error('Invalid state parameter'));
785
- return;
786
- }
787
- res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
788
- res.end(SUCCESS_HTML);
789
- cleanup();
790
- resolve(code);
791
- });
792
- server.on('error', (err) => {
793
- cleanup();
794
- reject(err);
795
- });
796
- timeoutId = setTimeout(() => {
797
- cleanup();
798
- reject(new Error('OAuth callback timed out'));
799
- }, TIMEOUT_MS);
800
- });
801
- return { promise, port: boundPort, cleanup };
802
- }
803
- //# sourceMappingURL=oauth-server.js.map
719
+ //# sourceMappingURL=auth-html.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-html.js","sourceRoot":"","sources":["../../src/lib/auth-html.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkcpB,CAAA;AAED,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAuP3B,OAAO;;;;;CAKnB,CAAA;AAED,MAAM,UAAU,qBAAqB;IACjC,OAAO,YAAY,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAe;IAC/C,OAAO,UAAU,CAAC,OAAO,CAAC,CAAA;AAC9B,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { type AuthProvider } from '@doist/cli-core/auth';
2
+ import { type TodoistAccount } from './auth-store.js';
3
+ /**
4
+ * Build an `AuthProvider<TodoistAccount>` driven by cli-core's PKCE factory.
5
+ *
6
+ * The wrapper only overrides `validateToken` — `runOAuthFlow` automatically
7
+ * folds the runtime `flags` and `readOnly` values into the handshake
8
+ * between `authorize` and `exchangeCode`/`validateToken`, so we read them
9
+ * back out here to assemble the `auth_mode` / `auth_scope` / `auth_flags`
10
+ * triplet that todoist persists per account.
11
+ *
12
+ * The token-endpoint POST is routed through `fetchTodoist` so the usage-
13
+ * tracking headers (User-Agent, Doist-OS, …) are included.
14
+ */
15
+ export declare function createTodoistAuthProvider(): AuthProvider<TodoistAccount>;
16
+ //# sourceMappingURL=auth-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-provider.d.ts","sourceRoot":"","sources":["../../src/lib/auth-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,sBAAsB,CAAA;AAE5E,OAAO,EAAE,KAAK,cAAc,EAAoB,MAAM,iBAAiB,CAAA;AAavE;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,IAAI,YAAY,CAAC,cAAc,CAAC,CAoCxE"}