@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.
- package/CHANGELOG.md +6 -0
- package/dist/commands/auth/index.d.ts +1 -1
- package/dist/commands/auth/index.d.ts.map +1 -1
- package/dist/commands/auth/index.js +2 -13
- package/dist/commands/auth/index.js.map +1 -1
- package/dist/commands/auth/login.d.ts +13 -4
- package/dist/commands/auth/login.d.ts.map +1 -1
- package/dist/commands/auth/login.js +75 -48
- package/dist/commands/auth/login.js.map +1 -1
- package/dist/commands/task/index.d.ts.map +1 -1
- package/dist/commands/task/index.js +1 -0
- package/dist/commands/task/index.js.map +1 -1
- package/dist/commands/task/update.d.ts +1 -1
- package/dist/commands/task/update.d.ts.map +1 -1
- package/dist/commands/task/update.js +6 -2
- package/dist/commands/task/update.js.map +1 -1
- package/dist/commands/update/index.d.ts +1 -1
- package/dist/commands/update/index.d.ts.map +1 -1
- package/dist/commands/update/index.js +11 -14
- package/dist/commands/update/index.js.map +1 -1
- package/dist/lib/auth-html.d.ts +11 -0
- package/dist/lib/auth-html.d.ts.map +1 -0
- package/dist/lib/{oauth-server.js → auth-html.js} +13 -97
- package/dist/lib/auth-html.js.map +1 -0
- package/dist/lib/auth-provider.d.ts +16 -0
- package/dist/lib/auth-provider.d.ts.map +1 -0
- package/dist/lib/auth-provider.js +59 -0
- package/dist/lib/auth-provider.js.map +1 -0
- package/dist/lib/auth-store.d.ts +48 -0
- package/dist/lib/auth-store.d.ts.map +1 -0
- package/dist/lib/auth-store.js +91 -0
- package/dist/lib/auth-store.js.map +1 -0
- package/dist/lib/auth.d.ts +4 -0
- package/dist/lib/auth.d.ts.map +1 -1
- package/dist/lib/auth.js +1 -1
- package/dist/lib/auth.js.map +1 -1
- package/dist/lib/oauth-scopes.d.ts +21 -0
- package/dist/lib/oauth-scopes.d.ts.map +1 -1
- package/dist/lib/oauth-scopes.js +28 -0
- package/dist/lib/oauth-scopes.js.map +1 -1
- package/dist/lib/skills/content.d.ts +1 -1
- package/dist/lib/skills/content.d.ts.map +1 -1
- package/dist/lib/skills/content.js +8 -2
- package/dist/lib/skills/content.js.map +1 -1
- package/dist/lib/update.d.ts +7 -13
- package/dist/lib/update.d.ts.map +1 -1
- package/dist/lib/update.js +10 -36
- package/dist/lib/update.js.map +1 -1
- package/package.json +4 -4
- package/dist/commands/update/action.d.ts +0 -5
- package/dist/commands/update/action.d.ts.map +0 -1
- package/dist/commands/update/action.js +0 -112
- package/dist/commands/update/action.js.map +0 -1
- package/dist/commands/update/switch.d.ts +0 -5
- package/dist/commands/update/switch.d.ts.map +0 -1
- package/dist/commands/update/switch.js +0 -31
- package/dist/commands/update/switch.js.map +0 -1
- package/dist/lib/oauth-server.d.ts +0 -8
- package/dist/lib/oauth-server.d.ts.map +0 -1
- package/dist/lib/oauth-server.js.map +0 -1
- package/dist/lib/oauth.d.ts +0 -13
- package/dist/lib/oauth.d.ts.map +0 -1
- package/dist/lib/oauth.js +0 -51
- package/dist/lib/oauth.js.map +0 -1
- package/dist/lib/pkce.d.ts +0 -4
- package/dist/lib/pkce.d.ts.map +0 -1
- package/dist/lib/pkce.js +0 -19
- 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 +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;
|
|
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 {
|
|
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
|
|
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,
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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":"
|
|
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 {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
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
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
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":"AAAA,OAAO,
|
|
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/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,
|
|
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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"}
|
|
@@ -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;
|
|
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":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,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,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAqB,MAAM,cAAc,CAAA;AAoB/D,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,GAAW,EAAE,OAAsB;IAChE,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;IAC1B,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAE3C,MAAM,IAAI,GAAyC,EAAE,CAAA;IAErD,IAAI,OAAO,CAAC,OAAO;QAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;IACnD,IAAI,OAAO,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;IACzB,CAAC;SAAM,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAA;IAChC,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;IAC5B,CAAC;SAAM,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAA;IACxC,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ;QAAE,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACrE,IAAI,OAAO,CAAC,MAAM;
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/task/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/update/index.ts"],"names":[],"mappings":"
|
|
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 {
|
|
2
|
-
import
|
|
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
|
-
|
|
5
|
-
.
|
|
6
|
-
.
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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":"
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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
|
|
710
|
-
return
|
|
713
|
+
export function renderAuthSuccessPage() {
|
|
714
|
+
return SUCCESS_HTML;
|
|
711
715
|
}
|
|
712
|
-
function
|
|
713
|
-
return
|
|
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
|
-
|
|
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"}
|