@doist/twist-cli 2.24.1 → 2.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/commands/channel.d.ts.map +1 -1
- package/dist/commands/channel.js +142 -20
- package/dist/commands/channel.js.map +1 -1
- package/dist/commands/doctor.d.ts +9 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +325 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/update/action.d.ts +0 -1
- package/dist/commands/update/action.d.ts.map +1 -1
- package/dist/commands/update/action.js +5 -39
- package/dist/commands/update/action.js.map +1 -1
- package/dist/index.js +7 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/api.d.ts +1 -0
- package/dist/lib/api.d.ts.map +1 -1
- package/dist/lib/api.js +6 -2
- package/dist/lib/api.js.map +1 -1
- package/dist/lib/auth.d.ts +10 -0
- package/dist/lib/auth.d.ts.map +1 -1
- package/dist/lib/auth.js +45 -0
- package/dist/lib/auth.js.map +1 -1
- package/dist/lib/config.d.ts +1 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +42 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/errors.d.ts +1 -1
- package/dist/lib/errors.d.ts.map +1 -1
- package/dist/lib/errors.js.map +1 -1
- package/dist/lib/permissions.d.ts.map +1 -1
- package/dist/lib/permissions.js +1 -0
- package/dist/lib/permissions.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 +15 -1
- package/dist/lib/skills/content.js.map +1 -1
- package/dist/lib/update.d.ts +17 -0
- package/dist/lib/update.d.ts.map +1 -0
- package/dist/lib/update.js +49 -0
- package/dist/lib/update.js.map +1 -0
- package/package.json +1 -1
|
@@ -16,6 +16,7 @@ tw auth logout # Remove saved token and auth metadata
|
|
|
16
16
|
tw workspaces # List available workspaces
|
|
17
17
|
tw workspace use <ref> # Set current workspace
|
|
18
18
|
tw completion install # Install shell completions
|
|
19
|
+
tw doctor # Diagnose CLI setup and environment issues
|
|
19
20
|
tw update # Update CLI to latest version
|
|
20
21
|
tw changelog # Show recent changelog entries
|
|
21
22
|
\`\`\`
|
|
@@ -165,13 +166,18 @@ tw search "query" --cursor <cur> # Pagination cursor
|
|
|
165
166
|
tw user # Show current user info
|
|
166
167
|
tw users # List workspace users
|
|
167
168
|
tw users --search <text> # Filter by name/email
|
|
168
|
-
tw channels # List workspace channels
|
|
169
|
+
tw channels # List active joined workspace channels
|
|
170
|
+
tw channels --state all # Include archived joined channels too
|
|
171
|
+
tw channels --scope discoverable # Active public channels you can see but have not joined
|
|
172
|
+
tw channels --scope public --state all --json # All visible public channels, with joined status
|
|
169
173
|
tw groups # List workspace groups
|
|
170
174
|
tw groups --search "frontend" # Filter groups by name (case-insensitive)
|
|
171
175
|
tw groups --json # JSON output
|
|
172
176
|
tw groups --json --full # Include all fields in JSON output
|
|
173
177
|
\`\`\`
|
|
174
178
|
|
|
179
|
+
If a channel is not found in \`tw channels\`, widen with broader listings such as \`tw channels --scope public\`, then \`tw channels --scope public --state all\`. Check \`tw channels --help\` for other available filters.
|
|
180
|
+
|
|
175
181
|
## Away Status
|
|
176
182
|
|
|
177
183
|
\`\`\`bash
|
|
@@ -203,6 +209,14 @@ tw completion install fish
|
|
|
203
209
|
tw completion uninstall # Remove completions
|
|
204
210
|
\`\`\`
|
|
205
211
|
|
|
212
|
+
### Diagnostics
|
|
213
|
+
|
|
214
|
+
\`\`\`bash
|
|
215
|
+
tw doctor # Run local + network diagnostics
|
|
216
|
+
tw doctor --offline # Skip Twist and npm network checks
|
|
217
|
+
tw doctor --json # JSON output with per-check results
|
|
218
|
+
\`\`\`
|
|
219
|
+
|
|
206
220
|
### Update
|
|
207
221
|
|
|
208
222
|
\`\`\`bash
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../../src/lib/skills/content.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,WAAW,CAAA;AAErC,MAAM,CAAC,MAAM,iBAAiB,GAAG,4CAA4C,CAAA;AAE7E,MAAM,CAAC,MAAM,aAAa,GAAG
|
|
1
|
+
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../../src/lib/skills/content.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,WAAW,CAAA;AAErC,MAAM,CAAC,MAAM,iBAAiB,GAAG,4CAA4C,CAAA;AAE7E,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgT5B,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG;QAC1B,UAAU;eACH,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;;;EAG9C,aAAa,EAAE,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type UpdateChannel } from './config.js';
|
|
2
|
+
export declare const PACKAGE_NAME = "@doist/twist-cli";
|
|
3
|
+
interface ParsedVersion {
|
|
4
|
+
major: number;
|
|
5
|
+
minor: number;
|
|
6
|
+
patch: number;
|
|
7
|
+
prerelease: string | undefined;
|
|
8
|
+
}
|
|
9
|
+
export declare function getInstallTag(channel: UpdateChannel): string;
|
|
10
|
+
export declare function normalizeUpdateChannel(channel: unknown): UpdateChannel;
|
|
11
|
+
export declare function parseVersion(version: string): ParsedVersion;
|
|
12
|
+
export declare function compareVersions(a: string, b: string): number;
|
|
13
|
+
export declare function isNewer(current: string, candidate: string): boolean;
|
|
14
|
+
export declare function fetchLatestVersion(channel: UpdateChannel): Promise<string>;
|
|
15
|
+
export declare function getConfiguredUpdateChannel(): Promise<UpdateChannel>;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=update.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/lib/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,aAAa,CAAA;AAE3D,eAAO,MAAM,YAAY,qBAAqB,CAAA;AAO9C,UAAU,aAAa;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;CACjC;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAE5D;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CAItE;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAI3D;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAgB5D;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAEnE;AAED,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAQhF;AAED,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,aAAa,CAAC,CAGzE"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { getConfig } from './config.js';
|
|
2
|
+
export const PACKAGE_NAME = '@doist/twist-cli';
|
|
3
|
+
const VALID_UPDATE_CHANNELS = new Set(['stable', 'pre-release']);
|
|
4
|
+
export function getInstallTag(channel) {
|
|
5
|
+
return channel === 'pre-release' ? 'next' : 'latest';
|
|
6
|
+
}
|
|
7
|
+
export function normalizeUpdateChannel(channel) {
|
|
8
|
+
return typeof channel === 'string' && VALID_UPDATE_CHANNELS.has(channel)
|
|
9
|
+
? channel
|
|
10
|
+
: 'stable';
|
|
11
|
+
}
|
|
12
|
+
export function parseVersion(version) {
|
|
13
|
+
const [core, ...rest] = version.replace(/^v/, '').split('-');
|
|
14
|
+
const [major, minor, patch] = core.split('.').map(Number);
|
|
15
|
+
return { major, minor, patch, prerelease: rest.length > 0 ? rest.join('-') : undefined };
|
|
16
|
+
}
|
|
17
|
+
export function compareVersions(a, b) {
|
|
18
|
+
const left = parseVersion(a);
|
|
19
|
+
const right = parseVersion(b);
|
|
20
|
+
for (const key of ['major', 'minor', 'patch']) {
|
|
21
|
+
if (left[key] !== right[key])
|
|
22
|
+
return left[key] > right[key] ? 1 : -1;
|
|
23
|
+
}
|
|
24
|
+
if (!left.prerelease && right.prerelease)
|
|
25
|
+
return 1;
|
|
26
|
+
if (left.prerelease && !right.prerelease)
|
|
27
|
+
return -1;
|
|
28
|
+
if (left.prerelease && right.prerelease) {
|
|
29
|
+
return left.prerelease.localeCompare(right.prerelease, undefined, { numeric: true });
|
|
30
|
+
}
|
|
31
|
+
return 0;
|
|
32
|
+
}
|
|
33
|
+
export function isNewer(current, candidate) {
|
|
34
|
+
return compareVersions(candidate, current) > 0;
|
|
35
|
+
}
|
|
36
|
+
export async function fetchLatestVersion(channel) {
|
|
37
|
+
const url = `https://registry.npmjs.org/${PACKAGE_NAME}/${getInstallTag(channel)}`;
|
|
38
|
+
const response = await fetch(url);
|
|
39
|
+
if (!response.ok) {
|
|
40
|
+
throw new Error(`Registry returned ${response.status}`);
|
|
41
|
+
}
|
|
42
|
+
const data = (await response.json());
|
|
43
|
+
return data.version;
|
|
44
|
+
}
|
|
45
|
+
export async function getConfiguredUpdateChannel() {
|
|
46
|
+
const config = await getConfig();
|
|
47
|
+
return normalizeUpdateChannel(config.updateChannel);
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/lib/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAsB,MAAM,aAAa,CAAA;AAE3D,MAAM,CAAC,MAAM,YAAY,GAAG,kBAAkB,CAAA;AAC9C,MAAM,qBAAqB,GAA+B,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAA;AAa5F,MAAM,UAAU,aAAa,CAAC,OAAsB;IAChD,OAAO,OAAO,KAAK,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAA;AACxD,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACnD,OAAO,OAAO,OAAO,KAAK,QAAQ,IAAI,qBAAqB,CAAC,GAAG,CAAC,OAAwB,CAAC;QACrF,CAAC,CAAE,OAAyB;QAC5B,CAAC,CAAC,QAAQ,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAe;IACxC,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC5D,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACzD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;AAC5F,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,CAAS,EAAE,CAAS;IAChD,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;IAC5B,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;IAE7B,KAAK,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAU,EAAE,CAAC;QACrD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACxE,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU;QAAE,OAAO,CAAC,CAAA;IAClD,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,UAAU;QAAE,OAAO,CAAC,CAAC,CAAA;IAEnD,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;IACxF,CAAC;IAED,OAAO,CAAC,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,OAAe,EAAE,SAAiB;IACtD,OAAO,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAAsB;IAC3D,MAAM,GAAG,GAAG,8BAA8B,YAAY,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAA;IAClF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;IACjC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;IAC3D,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAqB,CAAA;IACxD,OAAO,IAAI,CAAC,OAAO,CAAA;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B;IAC5C,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAA;IAChC,OAAO,sBAAsB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;AACvD,CAAC"}
|