@doist/todoist-cli 1.64.0 → 1.65.0-next.1
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/dist/commands/auth/index.d.ts.map +1 -1
- package/dist/commands/auth/index.js +24 -21
- package/dist/commands/auth/index.js.map +1 -1
- package/dist/commands/auth/logout.d.ts +5 -5
- package/dist/commands/auth/logout.js +5 -5
- package/dist/commands/auth/store-wrap.d.ts +19 -0
- package/dist/commands/auth/store-wrap.d.ts.map +1 -0
- package/dist/commands/auth/store-wrap.js +41 -0
- package/dist/commands/auth/store-wrap.js.map +1 -0
- package/dist/commands/auth/token.d.ts.map +1 -1
- package/dist/commands/auth/token.js +8 -10
- package/dist/commands/auth/token.js.map +1 -1
- package/dist/commands/config/view.d.ts.map +1 -1
- package/dist/commands/config/view.js +2 -1
- package/dist/commands/config/view.js.map +1 -1
- package/dist/commands/goal.d.ts +3 -0
- package/dist/commands/goal.d.ts.map +1 -0
- package/dist/commands/goal.js +344 -0
- package/dist/commands/goal.js.map +1 -0
- package/dist/commands/user/remove.d.ts.map +1 -1
- package/dist/commands/user/remove.js +10 -5
- package/dist/commands/user/remove.js.map +1 -1
- package/dist/commands/user/use.d.ts.map +1 -1
- package/dist/commands/user/use.js +6 -6
- package/dist/commands/user/use.js.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/auth-store.d.ts +26 -21
- package/dist/lib/auth-store.d.ts.map +1 -1
- package/dist/lib/auth-store.js +48 -79
- package/dist/lib/auth-store.js.map +1 -1
- package/dist/lib/auth.d.ts +6 -53
- package/dist/lib/auth.d.ts.map +1 -1
- package/dist/lib/auth.js +41 -355
- package/dist/lib/auth.js.map +1 -1
- package/dist/lib/config.d.ts +8 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +11 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/migrate-auth.d.ts +9 -5
- package/dist/lib/migrate-auth.d.ts.map +1 -1
- package/dist/lib/migrate-auth.js +78 -121
- package/dist/lib/migrate-auth.js.map +1 -1
- package/dist/lib/output.d.ts +1 -1
- package/dist/lib/output.d.ts.map +1 -1
- package/dist/lib/output.js +15 -0
- package/dist/lib/output.js.map +1 -1
- package/dist/lib/pagination.d.ts +1 -0
- package/dist/lib/pagination.d.ts.map +1 -1
- package/dist/lib/pagination.js +1 -0
- package/dist/lib/pagination.js.map +1 -1
- package/dist/lib/refs.d.ts +2 -1
- package/dist/lib/refs.d.ts.map +1 -1
- package/dist/lib/refs.js +6 -1
- package/dist/lib/refs.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 +20 -0
- package/dist/lib/skills/content.js.map +1 -1
- package/dist/lib/urls.d.ts +2 -0
- package/dist/lib/urls.d.ts.map +1 -1
- package/dist/lib/urls.js +6 -0
- package/dist/lib/urls.js.map +1 -1
- package/dist/lib/user-records.d.ts +17 -0
- package/dist/lib/user-records.d.ts.map +1 -0
- package/dist/lib/user-records.js +84 -0
- package/dist/lib/user-records.js.map +1 -0
- package/dist/lib/users.d.ts +20 -20
- package/dist/lib/users.d.ts.map +1 -1
- package/dist/lib/users.js +41 -51
- package/dist/lib/users.js.map +1 -1
- package/package.json +7 -7
- package/dist/commands/auth/token-view.d.ts +0 -2
- package/dist/commands/auth/token-view.d.ts.map +0 -1
- package/dist/commands/auth/token-view.js +0 -13
- package/dist/commands/auth/token-view.js.map +0 -1
- package/dist/lib/secure-store.d.ts +0 -25
- package/dist/lib/secure-store.d.ts.map +0 -1
- package/dist/lib/secure-store.js +0 -72
- package/dist/lib/secure-store.js.map +0 -1
package/dist/lib/auth.js
CHANGED
|
@@ -1,19 +1,17 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createSecureStore, SecureStoreUnavailableError } from '@doist/cli-core/auth';
|
|
2
2
|
export { AUTH_FLAG_ORDER, CONFIG_VERSION, getConfigPath, readConfig, writeConfig, } from './config.js';
|
|
3
|
-
import {
|
|
3
|
+
import { accountForUser, SERVICE_NAME, TOKEN_ENV_VAR } from './auth-store.js';
|
|
4
|
+
import { readConfig } from './config.js';
|
|
4
5
|
import { CliError } from './errors.js';
|
|
5
6
|
import { getRequestedUserRef } from './global-args.js';
|
|
6
|
-
import { findUserByRef,
|
|
7
|
-
export
|
|
7
|
+
import { findUserByRef, getStoredUsers, NoUserSelectedError, UserNotFoundError } from './users.js';
|
|
8
|
+
export { TOKEN_ENV_VAR } from './auth-store.js';
|
|
8
9
|
export class NoTokenError extends CliError {
|
|
9
10
|
constructor() {
|
|
10
11
|
super('NO_TOKEN', `No API token found. Set ${TOKEN_ENV_VAR} or run \`td auth login\` or \`td auth token <token>\`.`, ['Set TODOIST_API_TOKEN or run: td auth login'], 'info');
|
|
11
12
|
this.name = 'NoTokenError';
|
|
12
13
|
}
|
|
13
14
|
}
|
|
14
|
-
// ---------------------------------------------------------------------------
|
|
15
|
-
// Public API — used by api/core, uploads, stats, doctor, auth subcommands
|
|
16
|
-
// ---------------------------------------------------------------------------
|
|
17
15
|
/**
|
|
18
16
|
* Resolve which stored user this invocation should act as, and load their
|
|
19
17
|
* token. Honors `--user <ref>`, then `user.defaultUser`, then a single stored
|
|
@@ -27,60 +25,18 @@ export class NoTokenError extends CliError {
|
|
|
27
25
|
export async function resolveActiveUser(opts = {}) {
|
|
28
26
|
const envToken = process.env[TOKEN_ENV_VAR];
|
|
29
27
|
if (envToken) {
|
|
30
|
-
return {
|
|
31
|
-
id: 'env',
|
|
32
|
-
email: '',
|
|
33
|
-
token: envToken,
|
|
34
|
-
authMode: 'unknown',
|
|
35
|
-
source: 'env',
|
|
36
|
-
};
|
|
28
|
+
return { id: 'env', email: '', token: envToken, authMode: 'unknown', source: 'env' };
|
|
37
29
|
}
|
|
38
30
|
const config = await readConfig();
|
|
39
31
|
const users = getStoredUsers(config);
|
|
40
|
-
const
|
|
41
|
-
// Gate the legacy fallback on the *absence* of `config.users` rather than
|
|
42
|
-
// an empty array. A v2 config that has been logged out (`users: []`) must
|
|
43
|
-
// not silently fall back to a stale `api-token` keyring entry — that
|
|
44
|
-
// would let a forgotten v1 credential reauthenticate the next command.
|
|
45
|
-
const isLegacyShape = !Array.isArray(config.users);
|
|
32
|
+
const ref = opts.ref ?? getRequestedUserRef();
|
|
46
33
|
if (users.length === 0) {
|
|
47
|
-
|
|
48
|
-
// Asked for a specific user, but the store is empty — same error
|
|
49
|
-
// as missing user, scoped to the request.
|
|
50
|
-
throw new UserNotFoundError(requestedRef);
|
|
51
|
-
}
|
|
52
|
-
if (isLegacyShape) {
|
|
53
|
-
return resolveLegacyToken(config);
|
|
54
|
-
}
|
|
55
|
-
throw new NoTokenError();
|
|
56
|
-
}
|
|
57
|
-
let target;
|
|
58
|
-
if (requestedRef) {
|
|
59
|
-
const found = findUserByRef(config, requestedRef);
|
|
60
|
-
if (!found)
|
|
61
|
-
throw new UserNotFoundError(requestedRef);
|
|
62
|
-
target = found.user;
|
|
63
|
-
}
|
|
64
|
-
else if (config.user?.defaultUser) {
|
|
65
|
-
const found = findUserByRef(config, config.user.defaultUser);
|
|
66
|
-
if (!found) {
|
|
67
|
-
// Default points at a missing user — treat like no default.
|
|
68
|
-
if (users.length === 1) {
|
|
69
|
-
target = users[0];
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
throw new NoUserSelectedError();
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
target = found.user;
|
|
77
|
-
}
|
|
34
|
+
throw ref ? new UserNotFoundError(ref) : new NoTokenError();
|
|
78
35
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
throw new NoUserSelectedError();
|
|
36
|
+
const target = ref ? (findUserByRef(config, ref)?.user ?? null) : pickDefault(config, users);
|
|
37
|
+
if (!target) {
|
|
38
|
+
// ref miss when records exist, or multi-user no-default.
|
|
39
|
+
throw ref ? new UserNotFoundError(ref) : new NoUserSelectedError();
|
|
84
40
|
}
|
|
85
41
|
const { token, source } = await loadTokenForStoredUser(target);
|
|
86
42
|
return {
|
|
@@ -93,337 +49,67 @@ export async function resolveActiveUser(opts = {}) {
|
|
|
93
49
|
source,
|
|
94
50
|
};
|
|
95
51
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
52
|
+
function pickDefault(config, users) {
|
|
53
|
+
const defaultId = config.user?.defaultUser;
|
|
54
|
+
if (defaultId) {
|
|
55
|
+
const found = users.find((u) => u.id === defaultId);
|
|
56
|
+
if (found)
|
|
57
|
+
return found;
|
|
58
|
+
// Default points at a missing user — fall through to single-user fallback.
|
|
59
|
+
}
|
|
60
|
+
return users.length === 1 ? users[0] : null;
|
|
61
|
+
}
|
|
62
|
+
/** Bearer-only shortcut. Most call sites (SDK, uploads, stats) only need this. */
|
|
100
63
|
export async function getApiToken() {
|
|
101
|
-
|
|
102
|
-
return resolved.token;
|
|
64
|
+
return (await resolveActiveUser()).token;
|
|
103
65
|
}
|
|
104
66
|
/**
|
|
105
|
-
* Like `resolveActiveUser` but
|
|
106
|
-
*
|
|
107
|
-
*
|
|
67
|
+
* Like `resolveActiveUser` but bundles the rendering metadata `td doctor` /
|
|
68
|
+
* `td config view` want. Lets `SecureStoreUnavailableError` propagate so the
|
|
69
|
+
* diagnostic surfaces can distinguish "missing token" from "broken keyring".
|
|
108
70
|
*/
|
|
109
71
|
export async function probeApiToken() {
|
|
110
72
|
const resolved = await resolveActiveUser();
|
|
111
|
-
return {
|
|
112
|
-
token: resolved.token,
|
|
113
|
-
metadata: resolvedToMetadata(resolved),
|
|
114
|
-
};
|
|
73
|
+
return { token: resolved.token, metadata: resolvedToMetadata(resolved) };
|
|
115
74
|
}
|
|
116
75
|
export async function getAuthMetadata() {
|
|
117
76
|
try {
|
|
118
|
-
|
|
119
|
-
return resolvedToMetadata(resolved);
|
|
77
|
+
return resolvedToMetadata(await resolveActiveUser());
|
|
120
78
|
}
|
|
121
79
|
catch (error) {
|
|
122
|
-
//
|
|
123
|
-
//
|
|
124
|
-
// when credentials are missing or the keyring is offline. Diagnostic
|
|
125
|
-
// commands use `probeApiToken` for that — it intentionally lets
|
|
126
|
-
// `SecureStoreUnavailableError` propagate so it can be reported.
|
|
80
|
+
// Permission/scope callers need a sensible default rather than a hard
|
|
81
|
+
// failure when credentials are missing or the keyring is offline.
|
|
127
82
|
if (error instanceof NoTokenError || error instanceof SecureStoreUnavailableError) {
|
|
128
83
|
return { authMode: 'unknown', source: 'secure-store' };
|
|
129
84
|
}
|
|
130
85
|
throw error;
|
|
131
86
|
}
|
|
132
87
|
}
|
|
133
|
-
/**
|
|
134
|
-
* Add or update a user record. Stores the token in the OS credential manager
|
|
135
|
-
* under `user-<id>` when available, falls back to per-user plaintext in config.
|
|
136
|
-
* Sets `defaultUser` automatically if this is the first user being stored.
|
|
137
|
-
*/
|
|
138
|
-
export async function upsertUser(input) {
|
|
139
|
-
if (!input.token || input.token.trim().length < 10) {
|
|
140
|
-
throw new CliError('INVALID_TOKEN', 'Invalid token: Token must be at least 10 characters');
|
|
141
|
-
}
|
|
142
|
-
if (!input.id) {
|
|
143
|
-
throw new CliError('INVALID_USER', 'Cannot store user record: missing id');
|
|
144
|
-
}
|
|
145
|
-
if (!input.email) {
|
|
146
|
-
throw new CliError('INVALID_USER', 'Cannot store user record: missing email');
|
|
147
|
-
}
|
|
148
|
-
const trimmedToken = input.token.trim();
|
|
149
|
-
const config = await readConfig();
|
|
150
|
-
const previouslyExisted = getStoredUsers(config).some((u) => u.id === input.id);
|
|
151
|
-
// Always set the first user as the default — even if `config.user.defaultUser`
|
|
152
|
-
// points at a stale/orphaned id, that pointer would otherwise wedge multi-user
|
|
153
|
-
// resolution on subsequent logins.
|
|
154
|
-
const shouldSetDefault = getStoredUsers(config).length === 0;
|
|
155
|
-
const baseRecord = {
|
|
156
|
-
id: input.id,
|
|
157
|
-
email: input.email,
|
|
158
|
-
auth_mode: input.authMode,
|
|
159
|
-
auth_scope: input.authScope,
|
|
160
|
-
auth_flags: input.authFlags,
|
|
161
|
-
};
|
|
162
|
-
const secureStore = createSecureStore(accountForUser(input.id));
|
|
163
|
-
let storedSecurely = false;
|
|
164
|
-
try {
|
|
165
|
-
await secureStore.setSecret(trimmedToken);
|
|
166
|
-
storedSecurely = true;
|
|
167
|
-
}
|
|
168
|
-
catch (error) {
|
|
169
|
-
if (!(error instanceof SecureStoreUnavailableError))
|
|
170
|
-
throw error;
|
|
171
|
-
}
|
|
172
|
-
const userRecord = storedSecurely
|
|
173
|
-
? baseRecord
|
|
174
|
-
: { ...baseRecord, api_token: trimmedToken };
|
|
175
|
-
let next = ensureV2Shape(config);
|
|
176
|
-
next = upsertStoredUser(next, userRecord).config;
|
|
177
|
-
if (shouldSetDefault) {
|
|
178
|
-
next = setDefaultUserInConfig(next, input.id);
|
|
179
|
-
}
|
|
180
|
-
next = stripLegacyAuthFields(next);
|
|
181
|
-
try {
|
|
182
|
-
await writeConfig(next);
|
|
183
|
-
}
|
|
184
|
-
catch (error) {
|
|
185
|
-
// Config write is the source of truth — without it, later commands
|
|
186
|
-
// can't resolve the user even though the keyring holds the secret.
|
|
187
|
-
// Roll the keyring back so we don't leak credentials for a non-stored
|
|
188
|
-
// account, then surface the failure.
|
|
189
|
-
if (storedSecurely) {
|
|
190
|
-
try {
|
|
191
|
-
await secureStore.deleteSecret();
|
|
192
|
-
}
|
|
193
|
-
catch {
|
|
194
|
-
// best effort — the original error is what the user needs
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
const detail = error instanceof Error && error.message ? `: ${error.message}` : '';
|
|
198
|
-
throw new CliError('CONFIG_WRITE_FAILED', `Could not persist account record to ${getConfigPath()}${detail}`, ['Check file permissions on ~/.config/todoist-cli/, then re-run the command']);
|
|
199
|
-
}
|
|
200
|
-
return {
|
|
201
|
-
storage: storedSecurely ? 'secure-store' : 'config-file',
|
|
202
|
-
warning: storedSecurely ? undefined : buildFallbackWarning('token saved as plaintext in'),
|
|
203
|
-
replaced: previouslyExisted,
|
|
204
|
-
};
|
|
205
|
-
}
|
|
206
|
-
/**
|
|
207
|
-
* Remove the active user (resolved via `--user` or default). For multi-user
|
|
208
|
-
* installs without a default, callers must pass `--user <ref>` to disambiguate.
|
|
209
|
-
*/
|
|
210
|
-
export async function clearApiToken(opts = {}) {
|
|
211
|
-
const config = await readConfig();
|
|
212
|
-
const users = getStoredUsers(config);
|
|
213
|
-
const requestedRef = opts.ref ?? getRequestedUserRef();
|
|
214
|
-
// No users stored yet — fall through to legacy logout only on a v1-shaped
|
|
215
|
-
// config (no `users` key at all). Empty `users: []` is an already-clean
|
|
216
|
-
// v2 install; treat it as a no-op rather than poking the legacy keyring.
|
|
217
|
-
//
|
|
218
|
-
// A `requestedRef` always wins over the legacy fallback: a caller asking
|
|
219
|
-
// for a specific account on a legacy install should see `USER_NOT_FOUND`,
|
|
220
|
-
// not have their legacy token silently wiped (matches `resolveActiveUser`
|
|
221
|
-
// above and prevents `td auth logout --user missing@x` from clearing the
|
|
222
|
-
// wrong credential).
|
|
223
|
-
if (users.length === 0) {
|
|
224
|
-
if (requestedRef) {
|
|
225
|
-
throw new UserNotFoundError(requestedRef);
|
|
226
|
-
}
|
|
227
|
-
if (!Array.isArray(config.users)) {
|
|
228
|
-
return clearLegacyToken(config);
|
|
229
|
-
}
|
|
230
|
-
throw new NoTokenError();
|
|
231
|
-
}
|
|
232
|
-
let target;
|
|
233
|
-
if (requestedRef) {
|
|
234
|
-
const found = findUserByRef(config, requestedRef);
|
|
235
|
-
if (!found)
|
|
236
|
-
throw new UserNotFoundError(requestedRef);
|
|
237
|
-
target = found.user;
|
|
238
|
-
}
|
|
239
|
-
else {
|
|
240
|
-
const def = getDefaultUser(config);
|
|
241
|
-
if (def) {
|
|
242
|
-
target = def;
|
|
243
|
-
}
|
|
244
|
-
else if (users.length === 1) {
|
|
245
|
-
target = users[0];
|
|
246
|
-
}
|
|
247
|
-
else {
|
|
248
|
-
throw new NoUserSelectedError();
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
return removeUserById(target.id);
|
|
252
|
-
}
|
|
253
|
-
/**
|
|
254
|
-
* Remove a specific user by id. Used by `td user remove` and as the underlying
|
|
255
|
-
* primitive for `clearApiToken`.
|
|
256
|
-
*
|
|
257
|
-
* Order matters: write the new config first (the source of truth) and only
|
|
258
|
-
* then delete the secret. If the config update fails the keyring is untouched,
|
|
259
|
-
* so the user remains fully functional and a retry will simply re-attempt
|
|
260
|
-
* the same operation. A keyring delete failure after a successful config
|
|
261
|
-
* update leaves an orphan secret that the keyring's own service can clean up
|
|
262
|
-
* later — the CLI no longer references it.
|
|
263
|
-
*/
|
|
264
|
-
export async function removeUserById(id) {
|
|
265
|
-
const config = await readConfig();
|
|
266
|
-
const next = stripLegacyAuthFields(removeStoredUser(ensureV2Shape(config), id));
|
|
267
|
-
try {
|
|
268
|
-
await writeConfig(next);
|
|
269
|
-
}
|
|
270
|
-
catch (error) {
|
|
271
|
-
const detail = error instanceof Error && error.message ? `: ${error.message}` : '';
|
|
272
|
-
throw new CliError('CONFIG_WRITE_FAILED', `Could not update ${getConfigPath()}${detail}`, [
|
|
273
|
-
'Check file permissions on ~/.config/todoist-cli/, then re-run the command',
|
|
274
|
-
]);
|
|
275
|
-
}
|
|
276
|
-
const secureStore = createSecureStore(accountForUser(id));
|
|
277
|
-
try {
|
|
278
|
-
await secureStore.deleteSecret();
|
|
279
|
-
}
|
|
280
|
-
catch (error) {
|
|
281
|
-
if (!(error instanceof SecureStoreUnavailableError))
|
|
282
|
-
throw error;
|
|
283
|
-
return {
|
|
284
|
-
storage: 'config-file',
|
|
285
|
-
warning: buildFallbackWarning('local auth state cleared in'),
|
|
286
|
-
};
|
|
287
|
-
}
|
|
288
|
-
return { storage: 'secure-store' };
|
|
289
|
-
}
|
|
290
|
-
export async function setDefaultUserId(id) {
|
|
291
|
-
const config = ensureV2Shape(await readConfig());
|
|
292
|
-
const found = findUserByRef(config, id);
|
|
293
|
-
if (!found)
|
|
294
|
-
throw new UserNotFoundError(id);
|
|
295
|
-
await writeConfig(stripLegacyAuthFields(setDefaultUserInConfig(config, found.user.id)));
|
|
296
|
-
}
|
|
297
88
|
export async function listStoredUsers() {
|
|
298
|
-
|
|
299
|
-
return getStoredUsers(config);
|
|
89
|
+
return getStoredUsers(await readConfig());
|
|
300
90
|
}
|
|
301
|
-
|
|
302
|
-
// Internal helpers
|
|
303
|
-
// ---------------------------------------------------------------------------
|
|
304
|
-
export async function loadTokenForStoredUser(user) {
|
|
91
|
+
async function loadTokenForStoredUser(user) {
|
|
305
92
|
if (user.api_token?.trim()) {
|
|
306
93
|
return { token: user.api_token.trim(), source: 'config-file' };
|
|
307
94
|
}
|
|
308
|
-
|
|
309
|
-
//
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
const stored = await secureStore.getSecret();
|
|
316
|
-
if (stored?.trim()) {
|
|
95
|
+
// Let `SecureStoreUnavailableError` propagate — a stored v2 user with the
|
|
96
|
+
// keyring offline is not the same situation as no credentials at all.
|
|
97
|
+
const stored = await createSecureStore({
|
|
98
|
+
serviceName: SERVICE_NAME,
|
|
99
|
+
account: accountForUser(user.id),
|
|
100
|
+
}).getSecret();
|
|
101
|
+
if (stored?.trim())
|
|
317
102
|
return { token: stored.trim(), source: 'secure-store' };
|
|
318
|
-
}
|
|
319
|
-
throw new NoTokenError();
|
|
320
|
-
}
|
|
321
|
-
/**
|
|
322
|
-
* v1 fallback: when there are no v2 users in the config, see if a legacy
|
|
323
|
-
* single-user token is present (config plaintext or legacy `api-token`
|
|
324
|
-
* keyring entry). Returns it as a synthetic ResolvedUser so the CLI keeps
|
|
325
|
-
* working until postinstall (or `td auth login`) migrates the install.
|
|
326
|
-
*/
|
|
327
|
-
async function resolveLegacyToken(config) {
|
|
328
|
-
const legacyToken = typeof config.api_token === 'string' ? config.api_token.trim() : '';
|
|
329
|
-
if (legacyToken) {
|
|
330
|
-
return {
|
|
331
|
-
id: 'legacy',
|
|
332
|
-
email: '',
|
|
333
|
-
token: legacyToken,
|
|
334
|
-
authMode: config.auth_mode ?? 'unknown',
|
|
335
|
-
authScope: config.auth_scope,
|
|
336
|
-
authFlags: config.auth_flags,
|
|
337
|
-
source: 'config-file',
|
|
338
|
-
};
|
|
339
|
-
}
|
|
340
|
-
if (config.pendingSecureStoreClear) {
|
|
341
|
-
// v1 logout state: nothing to restore. Surface as the same NoTokenError
|
|
342
|
-
// the v1 path used to throw.
|
|
343
|
-
throw new NoTokenError();
|
|
344
|
-
}
|
|
345
|
-
const secureStore = createSecureStore(LEGACY_ACCOUNT_NAME);
|
|
346
|
-
try {
|
|
347
|
-
const stored = await secureStore.getSecret();
|
|
348
|
-
if (stored?.trim()) {
|
|
349
|
-
return {
|
|
350
|
-
id: 'legacy',
|
|
351
|
-
email: '',
|
|
352
|
-
token: stored.trim(),
|
|
353
|
-
authMode: config.auth_mode ?? 'unknown',
|
|
354
|
-
authScope: config.auth_scope,
|
|
355
|
-
authFlags: config.auth_flags,
|
|
356
|
-
source: 'secure-store',
|
|
357
|
-
};
|
|
358
|
-
}
|
|
359
|
-
}
|
|
360
|
-
catch (error) {
|
|
361
|
-
if (!(error instanceof SecureStoreUnavailableError))
|
|
362
|
-
throw error;
|
|
363
|
-
}
|
|
364
103
|
throw new NoTokenError();
|
|
365
104
|
}
|
|
366
|
-
async function clearLegacyToken(config) {
|
|
367
|
-
const secureStore = createSecureStore(LEGACY_ACCOUNT_NAME);
|
|
368
|
-
try {
|
|
369
|
-
await secureStore.deleteSecret();
|
|
370
|
-
const cleaned = stripLegacyAuthFields(config);
|
|
371
|
-
try {
|
|
372
|
-
await writeConfig(cleaned);
|
|
373
|
-
}
|
|
374
|
-
catch (error) {
|
|
375
|
-
return {
|
|
376
|
-
storage: 'secure-store',
|
|
377
|
-
warning: buildConfigCleanupWarning('Secure-store token was removed,', error),
|
|
378
|
-
};
|
|
379
|
-
}
|
|
380
|
-
return { storage: 'secure-store' };
|
|
381
|
-
}
|
|
382
|
-
catch (error) {
|
|
383
|
-
if (!(error instanceof SecureStoreUnavailableError))
|
|
384
|
-
throw error;
|
|
385
|
-
}
|
|
386
|
-
const cleared = {
|
|
387
|
-
...stripLegacyAuthFields(config),
|
|
388
|
-
pendingSecureStoreClear: true,
|
|
389
|
-
};
|
|
390
|
-
try {
|
|
391
|
-
await writeConfig(cleared);
|
|
392
|
-
}
|
|
393
|
-
catch {
|
|
394
|
-
// best-effort
|
|
395
|
-
}
|
|
396
|
-
return {
|
|
397
|
-
storage: 'config-file',
|
|
398
|
-
warning: buildFallbackWarning('local auth state cleared in'),
|
|
399
|
-
};
|
|
400
|
-
}
|
|
401
|
-
function ensureV2Shape(config) {
|
|
402
|
-
const next = { ...config, config_version: CONFIG_VERSION };
|
|
403
|
-
if (!Array.isArray(next.users)) {
|
|
404
|
-
next.users = [];
|
|
405
|
-
}
|
|
406
|
-
return next;
|
|
407
|
-
}
|
|
408
|
-
function stripLegacyAuthFields(config) {
|
|
409
|
-
const { api_token: _t, auth_mode: _m, auth_scope: _s, auth_flags: _f, pendingSecureStoreClear: _p, ...rest } = config;
|
|
410
|
-
return rest;
|
|
411
|
-
}
|
|
412
105
|
function resolvedToMetadata(resolved) {
|
|
413
106
|
return {
|
|
414
107
|
authMode: resolved.authMode,
|
|
415
108
|
authScope: resolved.authScope,
|
|
416
109
|
authFlags: resolved.authFlags,
|
|
417
110
|
source: resolved.source,
|
|
418
|
-
userId: resolved.id === 'env'
|
|
111
|
+
userId: resolved.id === 'env' ? undefined : resolved.id,
|
|
419
112
|
email: resolved.email || undefined,
|
|
420
113
|
};
|
|
421
114
|
}
|
|
422
|
-
function buildFallbackWarning(action) {
|
|
423
|
-
return `${SECURE_STORE_DESCRIPTION} unavailable; ${action} ${getConfigPath()}`;
|
|
424
|
-
}
|
|
425
|
-
function buildConfigCleanupWarning(prefix, error) {
|
|
426
|
-
const detail = error instanceof Error && error.message ? ` (${error.message})` : '';
|
|
427
|
-
return `${prefix} but could not update ${getConfigPath()}${detail}`;
|
|
428
|
-
}
|
|
429
115
|
//# sourceMappingURL=auth.js.map
|
package/dist/lib/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/lib/auth.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/lib/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAA;AAErF,OAAO,EACH,eAAe,EACf,cAAc,EACd,aAAa,EACb,UAAU,EACV,WAAW,GAMd,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC7E,OAAO,EAAgC,UAAU,EAAmB,MAAM,aAAa,CAAA;AACvF,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAElG,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAqB/C,MAAM,OAAO,YAAa,SAAQ,QAAQ;IACtC;QACI,KAAK,CACD,UAAU,EACV,2BAA2B,aAAa,yDAAyD,EACjG,CAAC,6CAA6C,CAAC,EAC/C,MAAM,CACT,CAAA;QACD,IAAI,CAAC,IAAI,GAAG,cAAc,CAAA;IAC9B,CAAC;CACJ;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAyB,EAAE;IAC/D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IAC3C,IAAI,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;IACxF,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAA;IACjC,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;IACpC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,mBAAmB,EAAE,CAAA;IAE7C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,YAAY,EAAE,CAAA;IAC/D,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC5F,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,yDAAyD;QACzD,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,mBAAmB,EAAE,CAAA;IACtE,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,sBAAsB,CAAC,MAAM,CAAC,CAAA;IAC9D,OAAO;QACH,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,KAAK;QACL,QAAQ,EAAE,MAAM,CAAC,SAAS,IAAI,SAAS;QACvC,SAAS,EAAE,MAAM,CAAC,UAAU;QAC5B,SAAS,EAAE,MAAM,CAAC,UAAU;QAC5B,MAAM;KACT,CAAA;AACL,CAAC;AAED,SAAS,WAAW,CAChB,MAA2C,EAC3C,KAAmB;IAEnB,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,WAAW,CAAA;IAC1C,IAAI,SAAS,EAAE,CAAC;QACZ,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAA;QACnD,IAAI,KAAK;YAAE,OAAO,KAAK,CAAA;QACvB,2EAA2E;IAC/E,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAC/C,CAAC;AAED,kFAAkF;AAClF,MAAM,CAAC,KAAK,UAAU,WAAW;IAC7B,OAAO,CAAC,MAAM,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAA;AAC5C,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa;IAC/B,MAAM,QAAQ,GAAG,MAAM,iBAAiB,EAAE,CAAA;IAC1C,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAA;AAC5E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe;IACjC,IAAI,CAAC;QACD,OAAO,kBAAkB,CAAC,MAAM,iBAAiB,EAAE,CAAC,CAAA;IACxD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,sEAAsE;QACtE,kEAAkE;QAClE,IAAI,KAAK,YAAY,YAAY,IAAI,KAAK,YAAY,2BAA2B,EAAE,CAAC;YAChF,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;QAC1D,CAAC;QACD,MAAM,KAAK,CAAA;IACf,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe;IACjC,OAAO,cAAc,CAAC,MAAM,UAAU,EAAE,CAAC,CAAA;AAC7C,CAAC;AAED,KAAK,UAAU,sBAAsB,CACjC,IAAgB;IAEhB,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC;QACzB,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,CAAA;IAClE,CAAC;IACD,0EAA0E;IAC1E,sEAAsE;IACtE,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;QACnC,WAAW,EAAE,YAAY;QACzB,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;KACnC,CAAC,CAAC,SAAS,EAAE,CAAA;IACd,IAAI,MAAM,EAAE,IAAI,EAAE;QAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;IAC3E,MAAM,IAAI,YAAY,EAAE,CAAA;AAC5B,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAsB;IAC9C,OAAO;QACH,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE;QACvD,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,SAAS;KACrC,CAAA;AACL,CAAC"}
|
package/dist/lib/config.d.ts
CHANGED
|
@@ -68,5 +68,13 @@ export type StrictReadResult = {
|
|
|
68
68
|
*/
|
|
69
69
|
export declare function readConfigStrict(): Promise<StrictReadResult>;
|
|
70
70
|
export declare function writeConfig(config: Config): Promise<void>;
|
|
71
|
+
/**
|
|
72
|
+
* Strip the v1 top-level auth fields. Called on every v2 config write so a
|
|
73
|
+
* stale `api_token` / `auth_mode` / `auth_flags` from a pre-migration config
|
|
74
|
+
* can't outlive a successful multi-user write. Single source of truth for
|
|
75
|
+
* the list — the keyring/migration paths and the v2-shape normalizer all
|
|
76
|
+
* delegate here.
|
|
77
|
+
*/
|
|
78
|
+
export declare function stripLegacyAuthFields(config: Config): Config;
|
|
71
79
|
export declare function validateConfigForDoctor(config: Record<string, unknown>): string[];
|
|
72
80
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/lib/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAWA;;;;;GAKG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,YAAY,GAAG,SAAS,CAAA;AAC7D,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,aAAa,CAAA;AAEpD,MAAM,WAAW,gBAAgB;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,eAAe;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,WAAW,UAAU;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;CACvB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,qDAAsD,CAAA;AAClF,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAA;AAEvD;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,QAAQ,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,uBAAuB,CAAC,EAAE,OAAO,CAAA;CACpC;AAED,eAAO,MAAM,cAAc,EAAG,CAAU,CAAA;AAExC,MAAM,WAAW,MAAO,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACnD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAA;IACpB,cAAc,CAAC,EAAE,aAAa,CAAA;IAC9B,EAAE,CAAC,EAAE,gBAAgB,CAAA;IACrB,SAAS,CAAC,EAAE,eAAe,CAAA;IAG3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,SAAS,CAAC,EAAE,QAAQ,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAA;CAC1B;AAgCD,eAAO,MAAM,UAAU,EAAE,WAAW,CAAC,QAAQ,CAA4B,CAAA;AAGzE,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAIlD;AAED,MAAM,MAAM,gBAAgB,GAAG;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAE1F;;;;GAIG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CA+BlE;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/D;AAOD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CA6KjF"}
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAWA;;;;;GAKG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,YAAY,GAAG,SAAS,CAAA;AAC7D,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,aAAa,CAAA;AAEpD,MAAM,WAAW,gBAAgB;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,eAAe;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,WAAW,UAAU;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;CACvB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,qDAAsD,CAAA;AAClF,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAA;AAEvD;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,QAAQ,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,uBAAuB,CAAC,EAAE,OAAO,CAAA;CACpC;AAED,eAAO,MAAM,cAAc,EAAG,CAAU,CAAA;AAExC,MAAM,WAAW,MAAO,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACnD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAA;IACpB,cAAc,CAAC,EAAE,aAAa,CAAA;IAC9B,EAAE,CAAC,EAAE,gBAAgB,CAAA;IACrB,SAAS,CAAC,EAAE,eAAe,CAAA;IAG3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,SAAS,CAAC,EAAE,QAAQ,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAA;CAC1B;AAgCD,eAAO,MAAM,UAAU,EAAE,WAAW,CAAC,QAAQ,CAA4B,CAAA;AAGzE,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAIlD;AAED,MAAM,MAAM,gBAAgB,GAAG;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAE1F;;;;GAIG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CA+BlE;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/D;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAU5D;AAOD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CA6KjF"}
|
package/dist/lib/config.js
CHANGED
|
@@ -82,6 +82,17 @@ export async function readConfigStrict() {
|
|
|
82
82
|
export async function writeConfig(config) {
|
|
83
83
|
await writeConfigCore(getConfigPath(), config, { deleteWhenEmpty: true });
|
|
84
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* Strip the v1 top-level auth fields. Called on every v2 config write so a
|
|
87
|
+
* stale `api_token` / `auth_mode` / `auth_flags` from a pre-migration config
|
|
88
|
+
* can't outlive a successful multi-user write. Single source of truth for
|
|
89
|
+
* the list — the keyring/migration paths and the v2-shape normalizer all
|
|
90
|
+
* delegate here.
|
|
91
|
+
*/
|
|
92
|
+
export function stripLegacyAuthFields(config) {
|
|
93
|
+
const { api_token: _t, auth_mode: _m, auth_scope: _s, auth_flags: _f, pendingSecureStoreClear: _p, ...rest } = config;
|
|
94
|
+
return rest;
|
|
95
|
+
}
|
|
85
96
|
// Keep this validator ad-hoc for now: it is only used by `td doctor`, and the
|
|
86
97
|
// config schema is still small enough that adding a runtime validation
|
|
87
98
|
// dependency would be heavier than the problem. If more config or payload
|
package/dist/lib/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* One-time migration of v1 single-user auth state into the v2 multi-user
|
|
3
|
-
* shape.
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
3
|
+
* shape. Delegates to `@doist/cli-core/auth`'s generic `migrateLegacyAuth`,
|
|
4
|
+
* supplying only the todoist-specific bits: the durable migration marker
|
|
5
|
+
* (`config_version === CONFIG_VERSION`), how to read the v1 plaintext token,
|
|
6
|
+
* how to identify the user behind a v1 token, and how to clean up the
|
|
7
|
+
* top-level legacy fields after a successful migration.
|
|
8
|
+
*
|
|
9
|
+
* Invoked from `src/postinstall.ts`. Best-effort: any failure leaves v1 state
|
|
10
|
+
* untouched so `resolveActiveUser`'s legacy fallback keeps serving the token
|
|
11
|
+
* until the next attempt.
|
|
8
12
|
*/
|
|
9
13
|
export interface MigrateAuthResult {
|
|
10
14
|
status: 'already-migrated' | 'no-legacy-state' | 'migrated' | 'skipped';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate-auth.d.ts","sourceRoot":"","sources":["../../src/lib/migrate-auth.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"migrate-auth.d.ts","sourceRoot":"","sources":["../../src/lib/migrate-auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAmBH,MAAM,WAAW,iBAAiB;IAC9B,MAAM,EAAE,kBAAkB,GAAG,iBAAiB,GAAG,UAAU,GAAG,SAAS,CAAA;IACvE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,UAAU,cAAc;IACpB,sFAAsF;IACtF,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,kCAAkC;IAClC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CAC3B;AAID,wBAAsB,iBAAiB,CAAC,IAAI,GAAE,cAAmB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAyD7F"}
|