@doist/twist-cli 2.2.0 → 2.4.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.
Files changed (61) hide show
  1. package/README.md +19 -0
  2. package/dist/__mocks__/chalk.d.ts +3 -0
  3. package/dist/__mocks__/chalk.d.ts.map +1 -0
  4. package/dist/__mocks__/chalk.js +8 -0
  5. package/dist/__mocks__/chalk.js.map +1 -0
  6. package/dist/__tests__/auth.test.js +1 -9
  7. package/dist/__tests__/auth.test.js.map +1 -1
  8. package/dist/__tests__/channel.test.js +1 -9
  9. package/dist/__tests__/channel.test.js.map +1 -1
  10. package/dist/__tests__/completion.test.d.ts +2 -0
  11. package/dist/__tests__/completion.test.d.ts.map +1 -0
  12. package/dist/__tests__/completion.test.js +106 -0
  13. package/dist/__tests__/completion.test.js.map +1 -0
  14. package/dist/__tests__/conversation.test.js +1 -9
  15. package/dist/__tests__/conversation.test.js.map +1 -1
  16. package/dist/__tests__/inbox.test.js +1 -9
  17. package/dist/__tests__/inbox.test.js.map +1 -1
  18. package/dist/__tests__/msg.test.js +1 -9
  19. package/dist/__tests__/msg.test.js.map +1 -1
  20. package/dist/__tests__/search.test.js +1 -6
  21. package/dist/__tests__/search.test.js.map +1 -1
  22. package/dist/__tests__/skill.test.js +1 -8
  23. package/dist/__tests__/skill.test.js.map +1 -1
  24. package/dist/__tests__/spinner.test.js +1 -11
  25. package/dist/__tests__/spinner.test.js.map +1 -1
  26. package/dist/__tests__/thread.test.js +1 -9
  27. package/dist/__tests__/thread.test.js.map +1 -1
  28. package/dist/__tests__/update.test.d.ts +2 -0
  29. package/dist/__tests__/update.test.d.ts.map +1 -0
  30. package/dist/__tests__/update.test.js +166 -0
  31. package/dist/__tests__/update.test.js.map +1 -0
  32. package/dist/__tests__/user.test.js +1 -6
  33. package/dist/__tests__/user.test.js.map +1 -1
  34. package/dist/commands/completion.d.ts +3 -0
  35. package/dist/commands/completion.d.ts.map +1 -0
  36. package/dist/commands/completion.js +121 -0
  37. package/dist/commands/completion.js.map +1 -0
  38. package/dist/commands/search.d.ts.map +1 -1
  39. package/dist/commands/search.js +3 -1
  40. package/dist/commands/search.js.map +1 -1
  41. package/dist/commands/thread.d.ts.map +1 -1
  42. package/dist/commands/thread.js +3 -1
  43. package/dist/commands/thread.js.map +1 -1
  44. package/dist/commands/update.d.ts +11 -0
  45. package/dist/commands/update.d.ts.map +1 -0
  46. package/dist/commands/update.js +83 -0
  47. package/dist/commands/update.js.map +1 -0
  48. package/dist/index.js +85 -65
  49. package/dist/index.js.map +1 -1
  50. package/dist/lib/completion.d.ts +31 -0
  51. package/dist/lib/completion.d.ts.map +1 -0
  52. package/dist/lib/completion.js +173 -0
  53. package/dist/lib/completion.js.map +1 -0
  54. package/dist/lib/oauth.d.ts.map +1 -1
  55. package/dist/lib/oauth.js +1 -1
  56. package/dist/lib/oauth.js.map +1 -1
  57. package/dist/lib/skills/content.d.ts +2 -2
  58. package/dist/lib/skills/content.d.ts.map +1 -1
  59. package/dist/lib/skills/content.js +19 -0
  60. package/dist/lib/skills/content.js.map +1 -1
  61. package/package.json +2 -1
@@ -0,0 +1,166 @@
1
+ import { Command } from 'commander';
2
+ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
3
+ vi.mock('node:child_process', () => ({
4
+ spawn: vi.fn(),
5
+ }));
6
+ vi.mock('chalk');
7
+ vi.mock('../lib/spinner.js', () => ({
8
+ withSpinner: vi.fn((_opts, fn) => fn()),
9
+ }));
10
+ import { spawn } from 'node:child_process';
11
+ import pkg from '../../package.json' with { type: 'json' };
12
+ import { registerUpdateCommand } from '../commands/update.js';
13
+ const mockSpawn = vi.mocked(spawn);
14
+ function createProgram() {
15
+ const program = new Command();
16
+ program.exitOverride();
17
+ registerUpdateCommand(program);
18
+ return program;
19
+ }
20
+ function mockFetch(version) {
21
+ vi.stubGlobal('fetch', vi.fn().mockResolvedValue({
22
+ ok: true,
23
+ json: () => Promise.resolve({ version }),
24
+ }));
25
+ }
26
+ function mockFetchError(status) {
27
+ vi.stubGlobal('fetch', vi.fn().mockResolvedValue({
28
+ ok: false,
29
+ status,
30
+ }));
31
+ }
32
+ function mockFetchNetworkError(code) {
33
+ const error = new Error(`getaddrinfo ENOTFOUND registry.npmjs.org`);
34
+ error.code = code;
35
+ vi.stubGlobal('fetch', vi.fn().mockRejectedValue(error));
36
+ }
37
+ function mockSpawnSuccess() {
38
+ mockSpawn.mockImplementation(() => {
39
+ const child = {
40
+ on: vi.fn((event, cb) => {
41
+ if (event === 'close') {
42
+ setTimeout(() => cb(0), 0);
43
+ }
44
+ return child;
45
+ }),
46
+ };
47
+ return child;
48
+ });
49
+ }
50
+ function mockSpawnFailure(exitCode) {
51
+ mockSpawn.mockImplementation(() => {
52
+ const child = {
53
+ on: vi.fn((event, cb) => {
54
+ if (event === 'close') {
55
+ setTimeout(() => cb(exitCode), 0);
56
+ }
57
+ return child;
58
+ }),
59
+ };
60
+ return child;
61
+ });
62
+ }
63
+ function mockSpawnPermissionError() {
64
+ mockSpawn.mockImplementation(() => {
65
+ const child = {
66
+ on: vi.fn((event, cb) => {
67
+ if (event === 'error') {
68
+ const error = new Error('EACCES');
69
+ error.code = 'EACCES';
70
+ setTimeout(() => cb(error), 0);
71
+ }
72
+ return child;
73
+ }),
74
+ };
75
+ return child;
76
+ });
77
+ }
78
+ describe('update command', () => {
79
+ let consoleSpy;
80
+ let consoleErrorSpy;
81
+ beforeEach(() => {
82
+ vi.clearAllMocks();
83
+ consoleSpy = vi.spyOn(console, 'log').mockImplementation(() => { });
84
+ consoleErrorSpy = vi.spyOn(console, 'error').mockImplementation(() => { });
85
+ });
86
+ afterEach(() => {
87
+ consoleSpy.mockRestore();
88
+ consoleErrorSpy.mockRestore();
89
+ vi.unstubAllGlobals();
90
+ });
91
+ describe('already up to date', () => {
92
+ it('shows already up to date when versions match', async () => {
93
+ mockFetch(pkg.version);
94
+ const program = createProgram();
95
+ await program.parseAsync(['node', 'tw', 'update']);
96
+ expect(consoleSpy).toHaveBeenCalledWith('✓', `Already up to date (v${pkg.version})`);
97
+ expect(mockSpawn).not.toHaveBeenCalled();
98
+ });
99
+ });
100
+ describe('--check flag', () => {
101
+ it('shows update available without installing', async () => {
102
+ mockFetch('99.0.0');
103
+ const program = createProgram();
104
+ await program.parseAsync(['node', 'tw', 'update', '--check']);
105
+ expect(consoleSpy).toHaveBeenCalledWith('Update available:', expect.stringContaining('→ v99.0.0'));
106
+ expect(consoleSpy).toHaveBeenCalledWith('Run `tw update` to install');
107
+ expect(mockSpawn).not.toHaveBeenCalled();
108
+ });
109
+ it('shows already up to date with --check when versions match', async () => {
110
+ mockFetch(pkg.version);
111
+ const program = createProgram();
112
+ await program.parseAsync(['node', 'tw', 'update', '--check']);
113
+ expect(consoleSpy).toHaveBeenCalledWith('✓', `Already up to date (v${pkg.version})`);
114
+ expect(mockSpawn).not.toHaveBeenCalled();
115
+ });
116
+ });
117
+ describe('update available', () => {
118
+ it('spawns npm install and reports success', async () => {
119
+ mockFetch('99.0.0');
120
+ mockSpawnSuccess();
121
+ const program = createProgram();
122
+ await program.parseAsync(['node', 'tw', 'update']);
123
+ expect(mockSpawn).toHaveBeenCalledWith('npm', ['install', '-g', '@doist/twist-cli@latest'], { stdio: 'inherit' });
124
+ expect(consoleSpy).toHaveBeenCalledWith('✓', 'Updated to v99.0.0');
125
+ });
126
+ it('uses pnpm add when pnpm is detected', async () => {
127
+ mockFetch('99.0.0');
128
+ mockSpawnSuccess();
129
+ vi.stubEnv('npm_execpath', '/usr/local/lib/node_modules/pnpm/bin/pnpm.cjs');
130
+ const program = createProgram();
131
+ await program.parseAsync(['node', 'tw', 'update']);
132
+ expect(mockSpawn).toHaveBeenCalledWith('pnpm', ['add', '-g', '@doist/twist-cli@latest'], { stdio: 'inherit' });
133
+ });
134
+ });
135
+ describe('registry errors', () => {
136
+ it('handles HTTP errors from registry', async () => {
137
+ mockFetchError(503);
138
+ const program = createProgram();
139
+ await program.parseAsync(['node', 'tw', 'update']);
140
+ expect(consoleErrorSpy).toHaveBeenCalledWith('Failed to check for updates:', 'Registry returned 503');
141
+ });
142
+ it('handles network failures', async () => {
143
+ mockFetchNetworkError('ENOTFOUND');
144
+ const program = createProgram();
145
+ await program.parseAsync(['node', 'tw', 'update']);
146
+ expect(consoleErrorSpy).toHaveBeenCalledWith('Failed to check for updates:', expect.stringContaining('ENOTFOUND'));
147
+ });
148
+ });
149
+ describe('install errors', () => {
150
+ it('handles EACCES permission error and suggests sudo', async () => {
151
+ mockFetch('99.0.0');
152
+ mockSpawnPermissionError();
153
+ const program = createProgram();
154
+ await program.parseAsync(['node', 'tw', 'update']);
155
+ expect(consoleErrorSpy).toHaveBeenCalledWith('Permission denied.', expect.stringContaining('sudo'));
156
+ });
157
+ it('handles non-zero exit code from npm', async () => {
158
+ mockFetch('99.0.0');
159
+ mockSpawnFailure(1);
160
+ const program = createProgram();
161
+ await program.parseAsync(['node', 'tw', 'update']);
162
+ expect(consoleErrorSpy).toHaveBeenCalledWith('Update failed:', expect.stringContaining('exited with code 1'));
163
+ });
164
+ });
165
+ });
166
+ //# sourceMappingURL=update.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.test.js","sourceRoot":"","sources":["../../src/__tests__/update.test.ts"],"names":[],"mappings":"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"}
@@ -8,12 +8,7 @@ vi.mock('../lib/api.js', () => ({
8
8
  vi.mock('../lib/refs.js', () => ({
9
9
  resolveWorkspaceRef: vi.fn(),
10
10
  }));
11
- vi.mock('chalk', () => ({
12
- default: {
13
- bold: vi.fn((text) => text),
14
- dim: vi.fn((text) => text),
15
- },
16
- }));
11
+ vi.mock('chalk');
17
12
  import { registerUserCommand } from '../commands/user.js';
18
13
  function createProgram() {
19
14
  const program = new Command();
@@ -1 +1 @@
1
- {"version":3,"file":"user.test.js","sourceRoot":"","sources":["../../src/__tests__/user.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE7D,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5B,qBAAqB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACnD,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE;IACvB,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE;CAC7B,CAAC,CAAC,CAAA;AAEH,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7B,mBAAmB,EAAE,EAAE,CAAC,EAAE,EAAE;CAC/B,CAAC,CAAC,CAAA;AAEH,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IACpB,OAAO,EAAE;QACL,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC;QACnC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC;KACrC;CACJ,CAAC,CAAC,CAAA;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAEzD,SAAS,aAAa;IAClB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;IAC7B,OAAO,CAAC,YAAY,EAAE,CAAA;IACtB,mBAAmB,CAAC,OAAO,CAAC,CAAA;IAC5B,OAAO,OAAO,CAAA;AAClB,CAAC;AAED,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IACxC,UAAU,CAAC,GAAG,EAAE;QACZ,EAAE,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,OAAO,GAAG,aAAa,EAAE,CAAA;QAE/B,MAAM,MAAM,CACR,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC,CAC/E,CAAC,OAAO,CAAC,OAAO,CAAC,gEAAgE,CAAC,CAAA;IACvF,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"user.test.js","sourceRoot":"","sources":["../../src/__tests__/user.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE7D,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5B,qBAAqB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACnD,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE;IACvB,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE;CAC7B,CAAC,CAAC,CAAA;AAEH,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7B,mBAAmB,EAAE,EAAE,CAAC,EAAE,EAAE;CAC/B,CAAC,CAAC,CAAA;AAEH,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AAEhB,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAEzD,SAAS,aAAa;IAClB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;IAC7B,OAAO,CAAC,YAAY,EAAE,CAAA;IACtB,mBAAmB,CAAC,OAAO,CAAC,CAAA;IAC5B,OAAO,OAAO,CAAA;AAClB,CAAC;AAED,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IACxC,UAAU,CAAC,GAAG,EAAE;QACZ,EAAE,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,OAAO,GAAG,aAAa,EAAE,CAAA;QAE/B,MAAM,MAAM,CACR,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC,CAC/E,CAAC,OAAO,CAAC,OAAO,CAAC,gEAAgE,CAAC,CAAA;IACvF,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerCompletionCommand(program: Command): void;
3
+ //# sourceMappingURL=completion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../src/commands/completion.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA2CnC,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkGhE"}
@@ -0,0 +1,121 @@
1
+ import { existsSync } from 'node:fs';
2
+ import { homedir } from 'node:os';
3
+ import { join, resolve } from 'node:path';
4
+ import { getCompletions, parseCompLine } from '../lib/completion.js';
5
+ // pwsh is included because tabtab supports it — installedShells() needs to
6
+ // detect and clean up pwsh completion files even though we don't advertise it.
7
+ const COMPLETION_EXTENSIONS = {
8
+ bash: 'bash',
9
+ zsh: 'zsh',
10
+ fish: 'fish',
11
+ pwsh: 'ps1',
12
+ };
13
+ /**
14
+ * Find which shells have tw completions installed by checking for the
15
+ * completion script files that tabtab creates.
16
+ *
17
+ * FIXME: Workaround for https://github.com/pnpm/tabtab/issues/34 —
18
+ * tabtab.uninstall() without a shell tries all shells and throws ENOENT
19
+ * for ones that were never installed. We detect which shells are actually
20
+ * installed and uninstall only those. Remove once the upstream issue is fixed.
21
+ */
22
+ function installedShells() {
23
+ return Object.entries(COMPLETION_EXTENSIONS)
24
+ .filter(([shell, ext]) => existsSync(join(homedir(), '.config', 'tabtab', shell, `tw.${ext}`)))
25
+ .map(([shell]) => shell);
26
+ }
27
+ function resolveCompleterCommand() {
28
+ const invokedScript = process.argv[1];
29
+ if (!invokedScript) {
30
+ return 'tw';
31
+ }
32
+ const resolvedScript = resolve(invokedScript);
33
+ if (existsSync(resolvedScript)) {
34
+ return resolvedScript;
35
+ }
36
+ return 'tw';
37
+ }
38
+ export function registerCompletionCommand(program) {
39
+ const completion = program.command('completion').description('Manage shell completions');
40
+ completion
41
+ .command('install [shell]')
42
+ .description('Install shell completions (bash, zsh, fish)')
43
+ .action(async (shell) => {
44
+ const tabtab = await import('@pnpm/tabtab');
45
+ const completer = resolveCompleterCommand();
46
+ if (shell && !tabtab.isShellSupported(shell)) {
47
+ console.error(`Unsupported shell: ${shell}. Supported: ${tabtab.SUPPORTED_SHELLS.join(', ')}`);
48
+ process.exitCode = 1;
49
+ return;
50
+ }
51
+ await tabtab.install({
52
+ name: 'tw',
53
+ // Use the executable path used to install completions so shell
54
+ // completion doesn't accidentally call an older `tw` on PATH.
55
+ completer,
56
+ shell: shell,
57
+ });
58
+ console.log('Shell completions installed successfully.');
59
+ console.log('Restart your shell or source your shell config to activate.');
60
+ });
61
+ completion
62
+ .command('uninstall')
63
+ .description('Remove shell completions')
64
+ .action(async () => {
65
+ // FIXME: Replace with plain tabtab.uninstall({ name: 'tw' }) once
66
+ // https://github.com/pnpm/tabtab/issues/34 is fixed.
67
+ const shells = installedShells();
68
+ if (shells.length === 0) {
69
+ console.log('No shell completions installed.');
70
+ return;
71
+ }
72
+ const tabtab = await import('@pnpm/tabtab');
73
+ for (const shell of shells) {
74
+ await tabtab.uninstall({
75
+ name: 'tw',
76
+ shell,
77
+ });
78
+ }
79
+ console.log('Shell completions removed.');
80
+ });
81
+ // Hidden command invoked by the shell completion script at TAB time
82
+ program
83
+ .command('completion-server', { hidden: true })
84
+ .description('Completion server (internal)')
85
+ .allowUnknownOption()
86
+ .allowExcessArguments()
87
+ .action(async () => {
88
+ const tabtab = await import('@pnpm/tabtab');
89
+ const env = tabtab.parseEnv(process.env);
90
+ if (!env.complete) {
91
+ return;
92
+ }
93
+ const shell = tabtab.getShellFromEnv(process.env);
94
+ const words = parseCompLine(env.line);
95
+ let current = env.last;
96
+ // The fish/zsh completion templates always append a trailing space
97
+ // to COMP_LINE, making env.last empty even when the cursor is right
98
+ // after '--flag='. Use env.lastPartial (cursor-position-aware) to
99
+ // detect this case and restore the actual word being completed.
100
+ if (current === '' && env.lastPartial.includes('=')) {
101
+ if (words.at(-1) === '')
102
+ words.pop();
103
+ current = env.lastPartial;
104
+ }
105
+ const completions = getCompletions(program, words, current);
106
+ // Bash treats '=' as a word break (COMP_WORDBREAKS), so readline
107
+ // replaces only the part after '=' with COMPREPLY values. If we
108
+ // return '--flag=value', bash produces '--flag=--flag=value'.
109
+ // Strip the flag prefix so bash gets just the value part.
110
+ if (shell === 'bash' && current.includes('=')) {
111
+ const prefix = current.slice(0, current.indexOf('=') + 1);
112
+ const values = completions
113
+ .map((c) => (c.name.startsWith(prefix) ? c.name.slice(prefix.length) : c.name))
114
+ .filter(Boolean);
115
+ console.log(values.join('\n'));
116
+ return;
117
+ }
118
+ tabtab.log(completions, shell);
119
+ });
120
+ }
121
+ //# sourceMappingURL=completion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion.js","sourceRoot":"","sources":["../../src/commands/completion.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAqMnC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoB5D"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAA;AAsM3C,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyB5D"}
@@ -1,5 +1,7 @@
1
1
  import { getFullTwistURL } from '@doist/twist-sdk';
2
+ import { Option } from 'commander';
2
3
  import { getCurrentWorkspaceId } from '../lib/api.js';
4
+ import { withCaseInsensitiveChoices } from '../lib/completion.js';
3
5
  import { formatRelativeDate } from '../lib/dates.js';
4
6
  import { colors, formatJson } from '../lib/output.js';
5
7
  import { getPublicChannelIds, includePrivateChannels } from '../lib/public-channels.js';
@@ -142,7 +144,7 @@ export function registerSearchCommand(program) {
142
144
  .option('--channel <channel-refs>', 'Filter by channels (comma-separated refs)')
143
145
  .option('--author <user-refs>', 'Filter by author (comma-separated IDs)')
144
146
  .option('--to <user-refs>', 'Messages sent TO user (comma-separated IDs)')
145
- .option('--type <type>', 'Filter: threads, messages, or all')
147
+ .addOption(withCaseInsensitiveChoices(new Option('--type <type>', 'Filter: threads, messages, or all'), ['threads', 'messages', 'all']))
146
148
  .option('--title-only', 'Search in thread titles only')
147
149
  .option('--conversation <refs>', 'Limit to conversations (comma-separated refs)')
148
150
  .option('--mention-me', 'Only results mentioning current user')
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"thread.d.ts","sourceRoot":"","sources":["../../src/commands/thread.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAoVnC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuC5D"}
1
+ {"version":3,"file":"thread.d.ts","sourceRoot":"","sources":["../../src/commands/thread.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAA;AAqV3C,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4C5D"}
@@ -1,5 +1,7 @@
1
1
  import chalk from 'chalk';
2
+ import { Option } from 'commander';
2
3
  import { getTwistClient } from '../lib/api.js';
4
+ import { withUnvalidatedChoices } from '../lib/completion.js';
3
5
  import { formatRelativeDate } from '../lib/dates.js';
4
6
  import { openEditor, readStdin } from '../lib/input.js';
5
7
  import { renderMarkdown } from '../lib/markdown.js';
@@ -271,7 +273,7 @@ export function registerThreadCommand(program) {
271
273
  thread
272
274
  .command('reply <thread-ref> [content]')
273
275
  .description('Post a comment to a thread')
274
- .option('--notify <recipients>', 'Notification recipients: EVERYONE, EVERYONE_IN_THREAD, or comma-separated user IDs (default: EVERYONE_IN_THREAD)')
276
+ .addOption(withUnvalidatedChoices(new Option('--notify <recipients>', 'Notification recipients: EVERYONE, EVERYONE_IN_THREAD, or comma-separated user IDs (default: EVERYONE_IN_THREAD)'), ['EVERYONE', 'EVERYONE_IN_THREAD']))
275
277
  .option('--dry-run', 'Show what would be posted without posting')
276
278
  .action(replyToThread);
277
279
  thread
@@ -1 +1 @@
1
- {"version":3,"file":"thread.js","sourceRoot":"","sources":["../../src/commands/thread.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"thread.js","sourceRoot":"","sources":["../../src/commands/thread.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { Command } from 'commander';
2
+ export declare function fetchLatestVersion(): Promise<string>;
3
+ export declare function detectPackageManager(): string;
4
+ export declare function runInstall(pm: string): Promise<number>;
5
+ interface UpdateOptions {
6
+ check?: boolean;
7
+ }
8
+ export declare function updateAction(options: UpdateOptions): Promise<void>;
9
+ export declare function registerUpdateCommand(program: Command): void;
10
+ export {};
11
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAOxC,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,CAO1D;AAED,wBAAgB,oBAAoB,IAAI,MAAM,CAM7C;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAStD;AAED,UAAU,aAAa;IACnB,KAAK,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAkDxE;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAM5D"}
@@ -0,0 +1,83 @@
1
+ import { spawn } from 'node:child_process';
2
+ import chalk from 'chalk';
3
+ import pkg from '../../package.json' with { type: 'json' };
4
+ import { withSpinner } from '../lib/spinner.js';
5
+ const PACKAGE_NAME = '@doist/twist-cli';
6
+ const REGISTRY_URL = `https://registry.npmjs.org/${PACKAGE_NAME}/latest`;
7
+ export async function fetchLatestVersion() {
8
+ const response = await fetch(REGISTRY_URL);
9
+ if (!response.ok) {
10
+ throw new Error(`Registry returned ${response.status}`);
11
+ }
12
+ const data = (await response.json());
13
+ return data.version;
14
+ }
15
+ export function detectPackageManager() {
16
+ const execPath = process.env.npm_execpath ?? '';
17
+ if (execPath.includes('pnpm')) {
18
+ return 'pnpm';
19
+ }
20
+ return 'npm';
21
+ }
22
+ export function runInstall(pm) {
23
+ const command = pm === 'pnpm' ? 'add' : 'install';
24
+ return new Promise((resolve, reject) => {
25
+ const child = spawn(pm, [command, '-g', `${PACKAGE_NAME}@latest`], {
26
+ stdio: 'inherit',
27
+ });
28
+ child.on('error', reject);
29
+ child.on('close', (code) => resolve(code ?? 1));
30
+ });
31
+ }
32
+ export async function updateAction(options) {
33
+ const currentVersion = pkg.version;
34
+ let latestVersion;
35
+ try {
36
+ latestVersion = await withSpinner({ text: 'Checking for updates...' }, fetchLatestVersion);
37
+ }
38
+ catch (error) {
39
+ const message = error instanceof Error ? error.message : 'Unknown error';
40
+ console.error(chalk.red('Failed to check for updates:'), message);
41
+ process.exitCode = 1;
42
+ return;
43
+ }
44
+ if (currentVersion === latestVersion) {
45
+ console.log(chalk.green('✓'), `Already up to date (v${currentVersion})`);
46
+ return;
47
+ }
48
+ if (options.check) {
49
+ console.log(chalk.yellow('Update available:'), `v${currentVersion} → v${latestVersion}`);
50
+ console.log(chalk.dim('Run `tw update` to install'));
51
+ return;
52
+ }
53
+ console.log(chalk.blue(`Updating ${PACKAGE_NAME} v${currentVersion} → v${latestVersion}...`));
54
+ const pm = detectPackageManager();
55
+ try {
56
+ const exitCode = await runInstall(pm);
57
+ if (exitCode !== 0) {
58
+ console.error(chalk.red('Update failed:'), `${pm} exited with code ${exitCode}`);
59
+ process.exitCode = 1;
60
+ return;
61
+ }
62
+ }
63
+ catch (error) {
64
+ if (error instanceof Error && 'code' in error && error.code === 'EACCES') {
65
+ console.error(chalk.red('Permission denied.'), `Try running with sudo: sudo ${pm} ${pm === 'pnpm' ? 'add' : 'install'} -g ${PACKAGE_NAME}@latest`);
66
+ }
67
+ else {
68
+ const message = error instanceof Error ? error.message : 'Unknown error';
69
+ console.error(chalk.red('Update failed:'), message);
70
+ }
71
+ process.exitCode = 1;
72
+ return;
73
+ }
74
+ console.log(chalk.green('✓'), `Updated to v${latestVersion}`);
75
+ }
76
+ export function registerUpdateCommand(program) {
77
+ program
78
+ .command('update')
79
+ .description('Update the CLI to the latest version')
80
+ .option('--check', 'Check for updates without installing')
81
+ .action(updateAction);
82
+ }
83
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,GAAG,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,YAAY,GAAG,kBAAkB,CAAA;AACvC,MAAM,YAAY,GAAG,8BAA8B,YAAY,SAAS,CAAA;AAExE,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACpC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,CAAA;IAC1C,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,CAAwB,CAAA;IAC3D,OAAO,IAAI,CAAC,OAAO,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,oBAAoB;IAChC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAA;IAC/C,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAA;IACjB,CAAC;IACD,OAAO,KAAK,CAAA;AAChB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EAAU;IACjC,MAAM,OAAO,GAAG,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;IACjD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,MAAM,KAAK,GAAG,KAAK,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,YAAY,SAAS,CAAC,EAAE;YAC/D,KAAK,EAAE,SAAS;SACnB,CAAC,CAAA;QACF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QACzB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAA;IACnD,CAAC,CAAC,CAAA;AACN,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAsB;IACrD,MAAM,cAAc,GAAG,GAAG,CAAC,OAAO,CAAA;IAElC,IAAI,aAAqB,CAAA;IACzB,IAAI,CAAC;QACD,aAAa,GAAG,MAAM,WAAW,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,EAAE,kBAAkB,CAAC,CAAA;IAC9F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAA;QACxE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,8BAA8B,CAAC,EAAE,OAAO,CAAC,CAAA;QACjE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACpB,OAAM;IACV,CAAC;IAED,IAAI,cAAc,KAAK,aAAa,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,wBAAwB,cAAc,GAAG,CAAC,CAAA;QACxE,OAAM;IACV,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,IAAI,cAAc,OAAO,aAAa,EAAE,CAAC,CAAA;QACxF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAA;QACpD,OAAM;IACV,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,YAAY,KAAK,cAAc,OAAO,aAAa,KAAK,CAAC,CAAC,CAAA;IAE7F,MAAM,EAAE,GAAG,oBAAoB,EAAE,CAAA;IAEjC,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;QACrC,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,GAAG,EAAE,qBAAqB,QAAQ,EAAE,CAAC,CAAA;YAChF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;YACpB,OAAM;QACV,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvE,OAAO,CAAC,KAAK,CACT,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAC/B,+BAA+B,EAAE,IAAI,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,OAAO,YAAY,SAAS,CACrG,CAAA;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAA;YACxE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC,CAAA;QACvD,CAAC;QACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACpB,OAAM;IACV,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,eAAe,aAAa,EAAE,CAAC,CAAA;AACjE,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IAClD,OAAO;SACF,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,sCAAsC,CAAC;SACnD,MAAM,CAAC,SAAS,EAAE,sCAAsC,CAAC;SACzD,MAAM,CAAC,YAAY,CAAC,CAAA;AAC7B,CAAC"}