@doist/twist-cli 2.36.3 → 2.36.5
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 +12 -0
- package/dist/commands/auth/helpers.d.ts +8 -1
- package/dist/commands/auth/helpers.d.ts.map +1 -1
- package/dist/commands/auth/helpers.js +12 -7
- package/dist/commands/auth/helpers.js.map +1 -1
- package/dist/commands/auth/index.d.ts.map +1 -1
- package/dist/commands/auth/index.js +12 -12
- package/dist/commands/auth/index.js.map +1 -1
- package/dist/commands/auth/login.d.ts +3 -3
- package/dist/commands/auth/login.d.ts.map +1 -1
- package/dist/commands/auth/login.js +24 -62
- package/dist/commands/auth/login.js.map +1 -1
- package/dist/commands/auth/logout.d.ts +10 -1
- package/dist/commands/auth/logout.d.ts.map +1 -1
- package/dist/commands/auth/logout.js +18 -6
- package/dist/commands/auth/logout.js.map +1 -1
- package/dist/commands/auth/status.d.ts +15 -3
- package/dist/commands/auth/status.d.ts.map +1 -1
- package/dist/commands/auth/status.js +87 -22
- package/dist/commands/auth/status.js.map +1 -1
- package/dist/commands/changelog.d.ts +0 -5
- package/dist/commands/changelog.d.ts.map +1 -1
- package/dist/commands/changelog.js +9 -103
- package/dist/commands/changelog.js.map +1 -1
- package/dist/commands/channel/list.js +5 -5
- package/dist/commands/channel/list.js.map +1 -1
- package/dist/commands/channel/threads.d.ts.map +1 -1
- package/dist/commands/channel/threads.js +5 -3
- package/dist/commands/channel/threads.js.map +1 -1
- package/dist/commands/config/view.d.ts.map +1 -1
- package/dist/commands/config/view.js +3 -3
- package/dist/commands/config/view.js.map +1 -1
- package/dist/commands/conversation/helpers.d.ts.map +1 -1
- package/dist/commands/conversation/helpers.js +4 -3
- package/dist/commands/conversation/helpers.js.map +1 -1
- package/dist/commands/conversation/unread.d.ts.map +1 -1
- package/dist/commands/conversation/unread.js +5 -4
- package/dist/commands/conversation/unread.js.map +1 -1
- package/dist/commands/conversation/view.d.ts.map +1 -1
- package/dist/commands/conversation/view.js +8 -6
- package/dist/commands/conversation/view.js.map +1 -1
- package/dist/commands/inbox.d.ts.map +1 -1
- package/dist/commands/inbox.js +9 -7
- package/dist/commands/inbox.js.map +1 -1
- package/dist/commands/thread/view.d.ts.map +1 -1
- package/dist/commands/thread/view.js +14 -12
- package/dist/commands/thread/view.js.map +1 -1
- package/dist/commands/update/index.d.ts.map +1 -1
- package/dist/commands/update/index.js +43 -14
- package/dist/commands/update/index.js.map +1 -1
- package/dist/index.js +27 -4
- package/dist/index.js.map +1 -1
- package/dist/lib/api.d.ts +23 -5
- package/dist/lib/api.d.ts.map +1 -1
- package/dist/lib/api.js +61 -3
- package/dist/lib/api.js.map +1 -1
- package/dist/lib/auth-pages.d.ts +3 -0
- package/dist/lib/auth-pages.d.ts.map +1 -0
- package/dist/lib/{oauth-server.js → auth-pages.js} +3 -120
- package/dist/lib/auth-pages.js.map +1 -0
- package/dist/lib/auth-provider.d.ts +28 -0
- package/dist/lib/auth-provider.d.ts.map +1 -0
- package/dist/lib/auth-provider.js +241 -0
- package/dist/lib/auth-provider.js.map +1 -0
- package/dist/lib/auth.d.ts +16 -10
- package/dist/lib/auth.d.ts.map +1 -1
- package/dist/lib/auth.js +18 -0
- package/dist/lib/auth.js.map +1 -1
- package/dist/lib/config.d.ts +23 -2
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +95 -47
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/errors.d.ts +15 -6
- package/dist/lib/errors.d.ts.map +1 -1
- package/dist/lib/errors.js +14 -9
- package/dist/lib/errors.js.map +1 -1
- package/dist/lib/global-args.d.ts +35 -21
- package/dist/lib/global-args.d.ts.map +1 -1
- package/dist/lib/global-args.js +84 -64
- package/dist/lib/global-args.js.map +1 -1
- package/dist/lib/markdown.d.ts +1 -0
- package/dist/lib/markdown.d.ts.map +1 -1
- package/dist/lib/markdown.js +9 -14
- package/dist/lib/markdown.js.map +1 -1
- package/dist/lib/options.d.ts +2 -3
- package/dist/lib/options.d.ts.map +1 -1
- package/dist/lib/output.d.ts +5 -3
- package/dist/lib/output.d.ts.map +1 -1
- package/dist/lib/output.js +15 -17
- package/dist/lib/output.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 +16 -6
- package/dist/lib/skills/content.js.map +1 -1
- package/dist/lib/spinner.d.ts +2 -23
- package/dist/lib/spinner.d.ts.map +1 -1
- package/dist/lib/spinner.js +6 -107
- package/dist/lib/spinner.js.map +1 -1
- package/dist/lib/update.d.ts +9 -13
- package/dist/lib/update.d.ts.map +1 -1
- package/dist/lib/update.js +17 -43
- package/dist/lib/update.js.map +1 -1
- package/package.json +6 -6
- package/dist/commands/update/action.d.ts +0 -12
- package/dist/commands/update/action.d.ts.map +0 -1
- package/dist/commands/update/action.js +0 -104
- 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 -28
- package/dist/commands/update/switch.js.map +0 -1
- package/dist/lib/oauth-server.d.ts +0 -13
- 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 -31
- package/dist/lib/oauth.d.ts.map +0 -1
- package/dist/lib/oauth.js +0 -150
- package/dist/lib/oauth.js.map +0 -1
- package/dist/lib/pkce.d.ts +0 -16
- package/dist/lib/pkce.d.ts.map +0 -1
- package/dist/lib/pkce.js +0 -35
- package/dist/lib/pkce.js.map +0 -1
- package/dist/test-helpers/empty-output.d.ts +0 -18
- package/dist/test-helpers/empty-output.d.ts.map +0 -1
- package/dist/test-helpers/empty-output.js +0 -43
- package/dist/test-helpers/empty-output.js.map +0 -1
|
@@ -1,17 +1,46 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { readConfig as readConfigCore, writeConfig as writeConfigCore } from '@doist/cli-core';
|
|
2
|
+
import { registerUpdateCommand as registerCoreUpdateCommand } from '@doist/cli-core/commands';
|
|
3
|
+
import packageJson from '../../../package.json' with { type: 'json' };
|
|
4
|
+
import { getConfigPath } from '../../lib/config.js';
|
|
5
|
+
import { withSpinner } from '../../lib/spinner.js';
|
|
6
|
+
/**
|
|
7
|
+
* Bridge a legacy on-disk config (`updateChannel` only, no `update_channel`)
|
|
8
|
+
* to cli-core's expected canonical key. cli-core reads the file directly and
|
|
9
|
+
* bypasses twist's `getConfig` translation seam, so a user who set the
|
|
10
|
+
* channel under an older twist build and hasn't written config since the
|
|
11
|
+
* #211 upgrade would otherwise have their preference silently ignored.
|
|
12
|
+
*
|
|
13
|
+
* Runs at most once per `tw update*` invocation, only when the file is in
|
|
14
|
+
* the legacy-only state. No-op for fresh installs, canonical-only files,
|
|
15
|
+
* and files that already carry both keys (post-#211 dual-write).
|
|
16
|
+
*/
|
|
17
|
+
async function migrateLegacyChannelKey(configPath) {
|
|
18
|
+
const raw = await readConfigCore(configPath);
|
|
19
|
+
if (!raw ||
|
|
20
|
+
typeof raw !== 'object' ||
|
|
21
|
+
Array.isArray(raw) ||
|
|
22
|
+
!('updateChannel' in raw) ||
|
|
23
|
+
'update_channel' in raw) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const value = raw.updateChannel;
|
|
27
|
+
await writeConfigCore(configPath, { ...raw, update_channel: value });
|
|
28
|
+
}
|
|
3
29
|
export function registerUpdateCommand(program) {
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
.
|
|
7
|
-
.
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
.
|
|
30
|
+
const configPath = getConfigPath();
|
|
31
|
+
registerCoreUpdateCommand(program, {
|
|
32
|
+
packageName: packageJson.name,
|
|
33
|
+
currentVersion: packageJson.version,
|
|
34
|
+
configPath,
|
|
35
|
+
changelogCommandName: 'tw changelog',
|
|
36
|
+
withSpinner,
|
|
37
|
+
});
|
|
38
|
+
// Commander propagates parent hooks to subcommands, so this fires for
|
|
39
|
+
// both `tw update` and `tw update switch` before cli-core's action runs.
|
|
40
|
+
program.commands
|
|
41
|
+
.find((c) => c.name() === 'update')
|
|
42
|
+
?.hook('preAction', async () => {
|
|
43
|
+
await migrateLegacyChannelKey(configPath);
|
|
44
|
+
});
|
|
16
45
|
}
|
|
17
46
|
//# 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,UAAU,IAAI,cAAc,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAC9F,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;;;;;;;;;;GAUG;AACH,KAAK,UAAU,uBAAuB,CAAC,UAAkB;IACrD,MAAM,GAAG,GAAG,MAAM,cAAc,CAA0B,UAAU,CAAC,CAAA;IACrE,IACI,CAAC,GAAG;QACJ,OAAO,GAAG,KAAK,QAAQ;QACvB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAClB,CAAC,CAAC,eAAe,IAAI,GAAG,CAAC;QACzB,gBAAgB,IAAI,GAAG,EACzB,CAAC;QACC,OAAM;IACV,CAAC;IACD,MAAM,KAAK,GAAI,GAA+B,CAAC,aAAa,CAAA;IAC5D,MAAM,eAAe,CAAC,UAAU,EAAE,EAAE,GAAG,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAA;AACxE,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IAClD,MAAM,UAAU,GAAG,aAAa,EAAE,CAAA;IAClC,yBAAyB,CAAC,OAAO,EAAE;QAC/B,WAAW,EAAE,WAAW,CAAC,IAAI;QAC7B,cAAc,EAAE,WAAW,CAAC,OAAO;QACnC,UAAU;QACV,oBAAoB,EAAE,cAAc;QACpC,WAAW;KACd,CAAC,CAAA;IACF,sEAAsE;IACtE,yEAAyE;IACzE,OAAO,CAAC,QAAQ;SACX,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAC;QACnC,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;QAC3B,MAAM,uBAAuB,CAAC,UAAU,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;AACV,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { program } from 'commander';
|
|
3
3
|
import pkg from '../package.json' with { type: 'json' };
|
|
4
|
-
import {
|
|
5
|
-
import { isJsonMode } from './lib/global-args.js';
|
|
4
|
+
import { BaseCliError } from './lib/errors.js';
|
|
5
|
+
import { isJsonMode, isNdjsonMode } from './lib/global-args.js';
|
|
6
|
+
import { preloadMarkdown } from './lib/markdown.js';
|
|
6
7
|
import { formatError, formatErrorJson } from './lib/output.js';
|
|
7
8
|
import { startEarlySpinner, stopEarlySpinner } from './lib/spinner.js';
|
|
8
9
|
const loadWorkspaceCommand = async () => (await import('./commands/workspace.js')).registerWorkspaceCommand;
|
|
@@ -130,9 +131,31 @@ else {
|
|
|
130
131
|
if (idx !== -1)
|
|
131
132
|
program.commands.splice(idx, 1);
|
|
132
133
|
}
|
|
134
|
+
// Preload markdown renderer in parallel with the command module load
|
|
135
|
+
// when output will be pretty-printed (not JSON/NDJSON/raw). The cost
|
|
136
|
+
// overlaps with the dynamic import so commands that render markdown
|
|
137
|
+
// pay no extra latency. `renderMarkdown` self-inits if this preload
|
|
138
|
+
// is skipped — the gate is purely a perf optimization.
|
|
139
|
+
const noMarkdownCommands = new Set([
|
|
140
|
+
'changelog',
|
|
141
|
+
'update',
|
|
142
|
+
'completion',
|
|
143
|
+
'doctor',
|
|
144
|
+
'auth',
|
|
145
|
+
'config',
|
|
146
|
+
'skill',
|
|
147
|
+
]);
|
|
148
|
+
const wantsRaw = process.argv.slice(2).includes('--raw');
|
|
149
|
+
const needsMarkdown = !noMarkdownCommands.has(commandName) && !isJsonMode() && !isNdjsonMode() && !wantsRaw;
|
|
133
150
|
startEarlySpinner();
|
|
134
151
|
try {
|
|
135
|
-
|
|
152
|
+
// Promise.all so a preload rejection co-rejects with the
|
|
153
|
+
// loader; awaiting them sequentially would leave preload's
|
|
154
|
+
// rejection unhandled if loader resolved first.
|
|
155
|
+
const [register] = await Promise.all([
|
|
156
|
+
loader(),
|
|
157
|
+
needsMarkdown ? preloadMarkdown() : undefined,
|
|
158
|
+
]);
|
|
136
159
|
register(program);
|
|
137
160
|
}
|
|
138
161
|
catch (err) {
|
|
@@ -145,7 +168,7 @@ await program
|
|
|
145
168
|
.parseAsync()
|
|
146
169
|
.catch((err) => {
|
|
147
170
|
stopEarlySpinner();
|
|
148
|
-
if (err instanceof
|
|
171
|
+
if (err instanceof BaseCliError) {
|
|
149
172
|
console.error(isJsonMode() ? formatErrorJson(err) : formatError(err));
|
|
150
173
|
}
|
|
151
174
|
else {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAgB,OAAO,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACvD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/api.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type Group, TwistApi, type User, type Workspace, type WorkspaceUser } from '@doist/twist-sdk';
|
|
1
|
+
import { type BatchResponse, type Group, TwistApi, type User, type Workspace, type WorkspaceUser } from '@doist/twist-sdk';
|
|
2
2
|
export declare function createWrappedTwistClient(token: string): TwistApi;
|
|
3
3
|
export declare function getTwistClient(): Promise<TwistApi>;
|
|
4
4
|
export declare function fetchWorkspaces(): Promise<Workspace[]>;
|
|
@@ -21,15 +21,33 @@ export declare function deleteGroup(id: number): Promise<void>;
|
|
|
21
21
|
export declare function addUsersToGroup(id: number, userIds: number[]): Promise<void>;
|
|
22
22
|
export declare function removeUsersFromGroup(id: number, userIds: number[]): Promise<void>;
|
|
23
23
|
export declare function clearUserCache(): void;
|
|
24
|
+
type BatchResult<T> = Pick<BatchResponse<T>, 'code' | 'data'>;
|
|
24
25
|
/**
|
|
25
26
|
* Validates a batch response and returns the data, throwing on errors.
|
|
26
27
|
* Also handles the case where the SDK fails to validate the response schema
|
|
27
28
|
* (e.g. when the batch API wraps entities in a key like `{comment: {...}}`).
|
|
28
29
|
* In that case, the raw transformed data is returned — check for expected fields.
|
|
29
30
|
*/
|
|
30
|
-
export declare function assertBatchData<T>(response:
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
export declare function assertBatchData<T>(response: BatchResult<T>, label: string): T;
|
|
32
|
+
export declare function buildBatchNameMap<T extends {
|
|
33
|
+
id: number;
|
|
34
|
+
name: string;
|
|
35
|
+
}>(ids: readonly number[], responses: readonly BatchResult<T>[], label: string): Map<number, string>;
|
|
36
|
+
/**
|
|
37
|
+
* Like `assertBatchData` but tolerates a null `data` with a success code as a
|
|
38
|
+
* valid empty state (e.g. `getUnread` returning null when there are no unread
|
|
39
|
+
* threads). Real API errors (`code >= 400`) still throw. Returns `null` when
|
|
40
|
+
* the response is a success-but-empty so the caller can fall back (e.g. `?? []`).
|
|
41
|
+
*/
|
|
42
|
+
export declare function getOptionalBatchData<T>(response: BatchResult<T>, label: string): T | null;
|
|
43
|
+
/**
|
|
44
|
+
* Like `buildBatchNameMap` but skips entries whose `data` is null with a success
|
|
45
|
+
* code (e.g. a user that no longer exists). Real API errors (`code >= 400`) still
|
|
46
|
+
* throw via `assertBatchData`. Callers should provide a fallback for missing keys.
|
|
47
|
+
*/
|
|
48
|
+
export declare function buildOptionalBatchNameMap<T extends {
|
|
49
|
+
id: number;
|
|
50
|
+
name: string;
|
|
51
|
+
}>(ids: readonly number[], responses: readonly BatchResult<T>[], label: string): Map<number, string>;
|
|
34
52
|
export type { Group, User, Workspace, WorkspaceUser };
|
|
35
53
|
//# sourceMappingURL=api.d.ts.map
|
package/dist/lib/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,KAAK,EACV,QAAQ,EACR,KAAK,IAAI,EACT,KAAK,SAAS,EACd,KAAK,aAAa,EACrB,MAAM,kBAAkB,CAAA;AAkOzB,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAGhE;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,QAAQ,CAAC,CAMxD;AAKD,wBAAsB,eAAe,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAO5D;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAED,wBAAsB,qBAAqB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA0B/E;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAOpD;AAED,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAGrF;AAED,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAG9E;AAED,wBAAsB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAGzD;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE;IACpC,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACrB,GAAG,OAAO,CAAC,KAAK,CAAC,CAGjB;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAGrF;AAED,wBAAsB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG3D;AAED,wBAAsB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAGlF;AAED,wBAAsB,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAGvF;AAED,wBAAgB,cAAc,IAAI,IAAI,CAErC;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,QAAQ,EAAE;IAAE,
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/api.js
CHANGED
|
@@ -264,6 +264,25 @@ export async function removeUsersFromGroup(id, userIds) {
|
|
|
264
264
|
export function clearUserCache() {
|
|
265
265
|
sessionUserCache = null;
|
|
266
266
|
}
|
|
267
|
+
function extractBatchErrorMessage(data) {
|
|
268
|
+
if (!data || typeof data !== 'object') {
|
|
269
|
+
return null;
|
|
270
|
+
}
|
|
271
|
+
const record = data;
|
|
272
|
+
if (typeof record.errorString === 'string' && record.errorString.trim()) {
|
|
273
|
+
return record.errorString.trim();
|
|
274
|
+
}
|
|
275
|
+
if (typeof record.error_string === 'string' && record.error_string.trim()) {
|
|
276
|
+
return record.error_string.trim();
|
|
277
|
+
}
|
|
278
|
+
if (Array.isArray(record.error)) {
|
|
279
|
+
const [, message] = record.error;
|
|
280
|
+
if (typeof message === 'string' && message.trim()) {
|
|
281
|
+
return message.trim();
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
return null;
|
|
285
|
+
}
|
|
267
286
|
/**
|
|
268
287
|
* Validates a batch response and returns the data, throwing on errors.
|
|
269
288
|
* Also handles the case where the SDK fails to validate the response schema
|
|
@@ -271,9 +290,48 @@ export function clearUserCache() {
|
|
|
271
290
|
* In that case, the raw transformed data is returned — check for expected fields.
|
|
272
291
|
*/
|
|
273
292
|
export function assertBatchData(response, label) {
|
|
274
|
-
if (response.code
|
|
275
|
-
|
|
293
|
+
if (response.code < 400 && response.data != null) {
|
|
294
|
+
return response.data;
|
|
295
|
+
}
|
|
296
|
+
const detail = extractBatchErrorMessage(response.data);
|
|
297
|
+
if (detail) {
|
|
298
|
+
throw new CliError('API_ERROR', `Failed to fetch ${label}: ${detail}`);
|
|
299
|
+
}
|
|
300
|
+
throw new CliError('BATCH_FAILED', `Failed to fetch ${label}.`);
|
|
301
|
+
}
|
|
302
|
+
export function buildBatchNameMap(ids, responses, label) {
|
|
303
|
+
return new Map(ids.map((id, index) => {
|
|
304
|
+
const entity = assertBatchData(responses[index], `${label} ${id}`);
|
|
305
|
+
return [entity.id, entity.name];
|
|
306
|
+
}));
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* Like `assertBatchData` but tolerates a null `data` with a success code as a
|
|
310
|
+
* valid empty state (e.g. `getUnread` returning null when there are no unread
|
|
311
|
+
* threads). Real API errors (`code >= 400`) still throw. Returns `null` when
|
|
312
|
+
* the response is a success-but-empty so the caller can fall back (e.g. `?? []`).
|
|
313
|
+
*/
|
|
314
|
+
export function getOptionalBatchData(response, label) {
|
|
315
|
+
if (response.code < 400) {
|
|
316
|
+
return response.data ?? null;
|
|
276
317
|
}
|
|
277
|
-
return response
|
|
318
|
+
return assertBatchData(response, label);
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* Like `buildBatchNameMap` but skips entries whose `data` is null with a success
|
|
322
|
+
* code (e.g. a user that no longer exists). Real API errors (`code >= 400`) still
|
|
323
|
+
* throw via `assertBatchData`. Callers should provide a fallback for missing keys.
|
|
324
|
+
*/
|
|
325
|
+
export function buildOptionalBatchNameMap(ids, responses, label) {
|
|
326
|
+
const entries = [];
|
|
327
|
+
ids.forEach((id, index) => {
|
|
328
|
+
const response = responses[index];
|
|
329
|
+
if (response.code < 400 && response.data == null) {
|
|
330
|
+
return;
|
|
331
|
+
}
|
|
332
|
+
const entity = assertBatchData(response, `${label} ${id}`);
|
|
333
|
+
entries.push([entity.id, entity.name]);
|
|
334
|
+
});
|
|
335
|
+
return new Map(entries);
|
|
278
336
|
}
|
|
279
337
|
//# sourceMappingURL=api.js.map
|
package/dist/lib/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-pages.d.ts","sourceRoot":"","sources":["../../src/lib/auth-pages.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,IAAI,MAAM,CAmctC;AAED,wBAAgB,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CA6PxD"}
|
|
@@ -1,101 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
import { parse } from 'node:url';
|
|
3
|
-
export const PORT = 8766;
|
|
4
|
-
export const OAUTH_REDIRECT_URI = 'http://localhost:8766/callback';
|
|
5
|
-
// 3 minute timeout for OAuth flow
|
|
6
|
-
const TIMEOUT_MS = 3 * 60 * 1000;
|
|
7
|
-
/**
|
|
8
|
-
* Start a local HTTP server to handle OAuth callback
|
|
9
|
-
* Returns a promise that resolves when the callback is received with valid state
|
|
10
|
-
*/
|
|
11
|
-
export async function startCallbackServer(expectedState) {
|
|
12
|
-
return new Promise((resolve, reject) => {
|
|
13
|
-
let server = null;
|
|
14
|
-
let timeoutId = null;
|
|
15
|
-
let resolved = false;
|
|
16
|
-
const cleanup = () => {
|
|
17
|
-
if (resolved)
|
|
18
|
-
return;
|
|
19
|
-
resolved = true;
|
|
20
|
-
if (timeoutId) {
|
|
21
|
-
clearTimeout(timeoutId);
|
|
22
|
-
timeoutId = null;
|
|
23
|
-
}
|
|
24
|
-
if (server) {
|
|
25
|
-
server.close();
|
|
26
|
-
server = null;
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
// Set up timeout
|
|
30
|
-
timeoutId = setTimeout(() => {
|
|
31
|
-
cleanup();
|
|
32
|
-
reject(new Error('OAuth flow timed out. Please try again.'));
|
|
33
|
-
}, TIMEOUT_MS);
|
|
34
|
-
// Create HTTP server
|
|
35
|
-
server = createServer((req, res) => {
|
|
36
|
-
const url = parse(req.url || '', true);
|
|
37
|
-
if (url.pathname === '/callback') {
|
|
38
|
-
handleCallback(req, res, expectedState, resolve, reject, cleanup);
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
// Handle other paths
|
|
42
|
-
res.writeHead(404, { 'Content-Type': 'text/html; charset=utf-8' });
|
|
43
|
-
res.end(getNotFoundPage());
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
// Handle server errors
|
|
47
|
-
server.on('error', (error) => {
|
|
48
|
-
cleanup();
|
|
49
|
-
if (error.message.includes('EADDRINUSE')) {
|
|
50
|
-
reject(new Error(`Port ${PORT} is already in use. Please close any other applications using this port and try again.`));
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
reject(new Error(`Server error: ${error.message}`));
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
// Start listening
|
|
57
|
-
server.listen(PORT, 'localhost', () => {
|
|
58
|
-
console.log(`OAuth callback server listening on ${OAUTH_REDIRECT_URI}`);
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
function handleCallback(req, res, expectedState, resolve, reject, cleanup) {
|
|
63
|
-
const url = parse(req.url || '', true);
|
|
64
|
-
const { code, state, error, error_description } = url.query;
|
|
65
|
-
// Check for OAuth errors first
|
|
66
|
-
if (error) {
|
|
67
|
-
const errorMsg = error_description ? String(error_description) : String(error);
|
|
68
|
-
res.writeHead(400, { 'Content-Type': 'text/html; charset=utf-8' });
|
|
69
|
-
res.end(getErrorPage(`OAuth Error: ${errorMsg}`));
|
|
70
|
-
cleanup();
|
|
71
|
-
reject(new Error(`OAuth authorization failed: ${errorMsg}`));
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
// Validate state parameter (CSRF protection)
|
|
75
|
-
if (!state || String(state) !== expectedState) {
|
|
76
|
-
res.writeHead(400, { 'Content-Type': 'text/html; charset=utf-8' });
|
|
77
|
-
res.end(getErrorPage('Invalid state parameter. This may be a security issue.'));
|
|
78
|
-
cleanup();
|
|
79
|
-
reject(new Error('Invalid state parameter received. Possible CSRF attack.'));
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
// Validate authorization code
|
|
83
|
-
if (!code || typeof code !== 'string') {
|
|
84
|
-
res.writeHead(400, { 'Content-Type': 'text/html; charset=utf-8' });
|
|
85
|
-
res.end(getErrorPage('No authorization code received.'));
|
|
86
|
-
cleanup();
|
|
87
|
-
reject(new Error('No authorization code received from OAuth server'));
|
|
88
|
-
return;
|
|
89
|
-
}
|
|
90
|
-
// Success!
|
|
91
|
-
res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
|
|
92
|
-
res.end(getSuccessPage());
|
|
93
|
-
resolve({
|
|
94
|
-
code: String(code),
|
|
95
|
-
cleanup,
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
function getSuccessPage() {
|
|
1
|
+
export function renderSuccess() {
|
|
99
2
|
return `
|
|
100
3
|
<!DOCTYPE html>
|
|
101
4
|
<html lang="en">
|
|
@@ -547,7 +450,7 @@ function getSuccessPage() {
|
|
|
547
450
|
</body>
|
|
548
451
|
</html>`;
|
|
549
452
|
}
|
|
550
|
-
function
|
|
453
|
+
export function renderError(errorMessage) {
|
|
551
454
|
return `
|
|
552
455
|
<!DOCTYPE html>
|
|
553
456
|
<html lang="en">
|
|
@@ -801,24 +704,4 @@ function getErrorPage(errorMessage) {
|
|
|
801
704
|
</body>
|
|
802
705
|
</html>`;
|
|
803
706
|
}
|
|
804
|
-
|
|
805
|
-
return `
|
|
806
|
-
<!DOCTYPE html>
|
|
807
|
-
<html>
|
|
808
|
-
<head>
|
|
809
|
-
<meta charset="utf-8">
|
|
810
|
-
<title>Page Not Found - Twist CLI</title>
|
|
811
|
-
<style>
|
|
812
|
-
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; text-align: center; padding: 50px; background: #f5f5f5; }
|
|
813
|
-
.container { max-width: 500px; margin: 0 auto; background: white; padding: 40px; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); }
|
|
814
|
-
.message { color: #333; font-size: 16px; }
|
|
815
|
-
</style>
|
|
816
|
-
</head>
|
|
817
|
-
<body>
|
|
818
|
-
<div class="container">
|
|
819
|
-
<div class="message">This is the OAuth callback server for Twist CLI. This page should only be accessed during the login process.</div>
|
|
820
|
-
</div>
|
|
821
|
-
</body>
|
|
822
|
-
</html>`;
|
|
823
|
-
}
|
|
824
|
-
//# sourceMappingURL=oauth-server.js.map
|
|
707
|
+
//# sourceMappingURL=auth-pages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-pages.js","sourceRoot":"","sources":["../../src/lib/auth-pages.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,aAAa;IACzB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAicH,CAAA;AACR,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,YAAoB;IAC5C,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAuPE,YAAY;;;;QAIjB,CAAA;AACR,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type AuthAccount, type AuthProvider, type TokenStore } from '@doist/cli-core/auth';
|
|
2
|
+
import { type TokenStorageResult } from './auth.js';
|
|
3
|
+
import type { AuthMode } from './config.js';
|
|
4
|
+
export declare const AUTHORIZATION_URL = "https://twist.com/oauth/authorize";
|
|
5
|
+
export declare const TOKEN_URL = "https://twist.com/oauth/access_token";
|
|
6
|
+
export declare const REGISTRATION_URL = "https://twist.com/oauth/register";
|
|
7
|
+
export declare const READ_WRITE_SCOPES: string[];
|
|
8
|
+
export declare const READ_ONLY_SCOPES: string[];
|
|
9
|
+
/**
|
|
10
|
+
* Narrow account shape: only fields that round-trip through the local token
|
|
11
|
+
* store. `id` is the stringified numeric Twist user id (so cli-core's
|
|
12
|
+
* `AuthAccount.id` string contract holds), `label` is the user's display
|
|
13
|
+
* name. Richer session-user details are fetched on demand via the API
|
|
14
|
+
* rather than threaded through the auth flow.
|
|
15
|
+
*/
|
|
16
|
+
export type TwistAccount = AuthAccount & {
|
|
17
|
+
id: string;
|
|
18
|
+
label: string;
|
|
19
|
+
authMode: AuthMode;
|
|
20
|
+
authScope: string;
|
|
21
|
+
};
|
|
22
|
+
export declare function createTwistAuthProvider(): AuthProvider<TwistAccount>;
|
|
23
|
+
export type TwistTokenStore = TokenStore<TwistAccount> & {
|
|
24
|
+
getLastStorageResult(): TokenStorageResult | undefined;
|
|
25
|
+
getLastClearResult(): TokenStorageResult | undefined;
|
|
26
|
+
};
|
|
27
|
+
export declare function createTwistTokenStore(): TwistTokenStore;
|
|
28
|
+
//# 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,EACH,KAAK,WAAW,EAChB,KAAK,YAAY,EAGjB,KAAK,UAAU,EAClB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAKH,KAAK,kBAAkB,EAC1B,MAAM,WAAW,CAAA;AAClB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAI3C,eAAO,MAAM,iBAAiB,sCAAsC,CAAA;AACpE,eAAO,MAAM,SAAS,yCAAyC,CAAA;AAC/D,eAAO,MAAM,gBAAgB,qCAAqC,CAAA;AAKlE,eAAO,MAAM,iBAAiB,UAkB7B,CAAA;AAED,eAAO,MAAM,gBAAgB,UAW5B,CAAA;AAID;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG;IACrC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,QAAQ,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;CACpB,CAAA;AAsED,wBAAgB,uBAAuB,IAAI,YAAY,CAAC,YAAY,CAAC,CA2HpE;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,YAAY,CAAC,GAAG;IACrD,oBAAoB,IAAI,kBAAkB,GAAG,SAAS,CAAA;IACtD,kBAAkB,IAAI,kBAAkB,GAAG,SAAS,CAAA;CACvD,CAAA;AAED,wBAAgB,qBAAqB,IAAI,eAAe,CAuDvD"}
|