@doist/comms-cli 3.0.0 → 3.2.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/README.md +5 -3
- package/dist/commands/auth/index.d.ts.map +1 -1
- package/dist/commands/auth/index.js +8 -3
- package/dist/commands/auth/index.js.map +1 -1
- package/dist/commands/auth/login.d.ts +2 -3
- package/dist/commands/auth/login.d.ts.map +1 -1
- package/dist/commands/auth/login.js +13 -3
- package/dist/commands/auth/login.js.map +1 -1
- package/dist/commands/auth/token.d.ts +4 -1
- package/dist/commands/auth/token.d.ts.map +1 -1
- package/dist/commands/auth/token.js +3 -3
- package/dist/commands/auth/token.js.map +1 -1
- package/dist/commands/channel/index.d.ts.map +1 -1
- package/dist/commands/channel/index.js +3 -0
- package/dist/commands/channel/index.js.map +1 -1
- package/dist/commands/channel/list.d.ts.map +1 -1
- package/dist/commands/channel/list.js +10 -4
- package/dist/commands/channel/list.js.map +1 -1
- package/dist/commands/channel/members.d.ts.map +1 -1
- package/dist/commands/channel/members.js +12 -6
- package/dist/commands/channel/members.js.map +1 -1
- package/dist/commands/channel/threads.d.ts.map +1 -1
- package/dist/commands/channel/threads.js +24 -11
- package/dist/commands/channel/threads.js.map +1 -1
- package/dist/commands/conversation/helpers.d.ts +1 -0
- package/dist/commands/conversation/helpers.d.ts.map +1 -1
- package/dist/commands/conversation/helpers.js +11 -6
- package/dist/commands/conversation/helpers.js.map +1 -1
- package/dist/commands/conversation/index.d.ts.map +1 -1
- package/dist/commands/conversation/index.js +2 -0
- package/dist/commands/conversation/index.js.map +1 -1
- package/dist/commands/conversation/list.d.ts.map +1 -1
- package/dist/commands/conversation/list.js +4 -0
- package/dist/commands/conversation/list.js.map +1 -1
- package/dist/commands/conversation/unread.d.ts.map +1 -1
- package/dist/commands/conversation/unread.js +10 -4
- package/dist/commands/conversation/unread.js.map +1 -1
- package/dist/commands/conversation/with.d.ts.map +1 -1
- package/dist/commands/conversation/with.js +2 -0
- package/dist/commands/conversation/with.js.map +1 -1
- package/dist/commands/groups/index.d.ts.map +1 -1
- package/dist/commands/groups/index.js +1 -0
- package/dist/commands/groups/index.js.map +1 -1
- package/dist/commands/groups/list.d.ts.map +1 -1
- package/dist/commands/groups/list.js +10 -4
- package/dist/commands/groups/list.js.map +1 -1
- package/dist/commands/inbox.d.ts.map +1 -1
- package/dist/commands/inbox.js +18 -9
- package/dist/commands/inbox.js.map +1 -1
- package/dist/commands/thread/index.d.ts.map +1 -1
- package/dist/commands/thread/index.js +3 -1
- package/dist/commands/thread/index.js.map +1 -1
- package/dist/commands/thread/reply.d.ts.map +1 -1
- package/dist/commands/thread/reply.js +14 -6
- package/dist/commands/thread/reply.js.map +1 -1
- package/dist/commands/user.d.ts.map +1 -1
- package/dist/commands/user.js +11 -4
- package/dist/commands/user.js.map +1 -1
- package/dist/commands/workspace.d.ts.map +1 -1
- package/dist/commands/workspace.js +11 -4
- package/dist/commands/workspace.js.map +1 -1
- package/dist/index.js +7 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/auth-provider.d.ts +7 -2
- package/dist/lib/auth-provider.d.ts.map +1 -1
- package/dist/lib/auth-provider.js +15 -1
- package/dist/lib/auth-provider.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/global-args.d.ts +4 -3
- package/dist/lib/global-args.d.ts.map +1 -1
- package/dist/lib/global-args.js +5 -2
- package/dist/lib/global-args.js.map +1 -1
- package/dist/lib/options.d.ts +2 -2
- package/dist/lib/options.d.ts.map +1 -1
- package/dist/lib/output.d.ts +0 -9
- package/dist/lib/output.d.ts.map +1 -1
- package/dist/lib/output.js +0 -10
- 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 +21 -3
- package/dist/lib/skills/content.js.map +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
## [3.2.0](https://github.com/Doist/comms-cli/compare/v3.1.0...v3.2.0) (2026-09-15)
|
|
2
|
+
|
|
3
|
+
### Features
|
|
4
|
+
|
|
5
|
+
- add --notify NONE for thread replies ([#62](https://github.com/Doist/comms-cli/issues/62)) ([9e95c8d](https://github.com/Doist/comms-cli/commit/9e95c8ddf4197d2bc04b7158d3b01da69f835e1d))
|
|
6
|
+
|
|
7
|
+
## [3.1.0](https://github.com/Doist/comms-cli/compare/v3.0.0...v3.1.0) (2026-08-28)
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
- adopt cli-core 1.4 capabilities ([#56](https://github.com/Doist/comms-cli/issues/56)) ([441e69c](https://github.com/Doist/comms-cli/commit/441e69c3fd465e1e052cc35999379c7c21453058))
|
|
12
|
+
|
|
1
13
|
## [3.0.0](https://github.com/Doist/comms-cli/compare/v2.0.4...v3.0.0) (2026-08-26)
|
|
2
14
|
|
|
3
15
|
### ⚠ BREAKING CHANGES
|
package/README.md
CHANGED
|
@@ -68,13 +68,13 @@ This opens Todoist OAuth in your browser. The default grant can read Comms data
|
|
|
68
68
|
|
|
69
69
|
All group management — `groups create`, `rename`, `delete`, `add-user`, `remove-user` — needs the `workspaces:write` scope, so it requires `tdc auth login --full-access`. Group reads (`groups`, `groups view`) work on a default login.
|
|
70
70
|
|
|
71
|
-
|
|
71
|
+
By default, the CLI stores the token in your OS credential manager:
|
|
72
72
|
|
|
73
73
|
- macOS: Keychain
|
|
74
74
|
- Windows: Credential Manager
|
|
75
75
|
- Linux: Secret Service/libsecret
|
|
76
76
|
|
|
77
|
-
If secure storage is unavailable, the CLI warns and falls back to `~/.config/comms-cli/config.json`. Non-secret settings such as the current workspace remain in the config file.
|
|
77
|
+
If secure storage is unavailable, the CLI warns and falls back to `~/.config/comms-cli/config.json`. Use `--credential-store system` to fail instead of writing plaintext, or `--credential-store plaintext` to choose config-file storage explicitly. Both `tdc auth login` and `tdc auth token` support this option. Non-secret settings such as the current workspace remain in the config file.
|
|
78
78
|
|
|
79
79
|
### Alternative methods
|
|
80
80
|
|
|
@@ -125,6 +125,7 @@ tdc mentions --since 2026-04-01 --all --json
|
|
|
125
125
|
tdc thread view <ref> # view thread with comments
|
|
126
126
|
tdc thread view <ref> --comment id:CbM8n2Kp4Qx6Rz9Lm3Va # view a specific comment
|
|
127
127
|
tdc thread reply <ref> # reply to a thread
|
|
128
|
+
tdc thread reply <ref> "Update" --notify NONE # reply without notifying anyone
|
|
128
129
|
tdc thread rename <ref> "New title" # rename a thread
|
|
129
130
|
tdc thread update <ref> "New body" # edit a thread's body (first post)
|
|
130
131
|
tdc conversation unread # list unread conversations
|
|
@@ -168,11 +169,12 @@ tdc completion uninstall
|
|
|
168
169
|
|
|
169
170
|
## Machine-readable output
|
|
170
171
|
|
|
171
|
-
|
|
172
|
+
List and view commands support `--json` and `--ndjson` for scripting. List commands with one clear entity ID also support `--ids-only`; check command help for the exact surface.
|
|
172
173
|
|
|
173
174
|
```bash
|
|
174
175
|
tdc inbox --json # JSON array
|
|
175
176
|
tdc inbox --ndjson # newline-delimited JSON
|
|
177
|
+
tdc inbox --ids-only # one thread ID per line
|
|
176
178
|
tdc inbox --json --full # include all fields
|
|
177
179
|
```
|
|
178
180
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAA;AAe3C,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2C1D"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { attachRefreshTokenViewCommand, attachTokenViewCommand } from '@doist/cli-core/auth';
|
|
2
|
-
import {
|
|
2
|
+
import { Option } from 'commander';
|
|
3
|
+
import { CREDENTIAL_STORES, createCommsTokenStore, parseCredentialStore, } from '../../lib/auth-provider.js';
|
|
3
4
|
import { TOKEN_ENV_VAR } from '../../lib/auth.js';
|
|
5
|
+
import { withUnvalidatedChoices } from '../../lib/completion.js';
|
|
4
6
|
import { getRequestedUserRef } from '../../lib/global-args.js';
|
|
5
7
|
import { attachCommsLoginCommand } from './login.js';
|
|
6
8
|
import { attachCommsLogoutCommand } from './logout.js';
|
|
@@ -11,7 +13,7 @@ export function registerAuthCommand(program) {
|
|
|
11
13
|
const auth = program.command('auth').description('Manage authentication');
|
|
12
14
|
const store = createCommsTokenStore();
|
|
13
15
|
const refAware = withUserRefAware(store, getRequestedUserRef());
|
|
14
|
-
attachCommsLoginCommand(auth
|
|
16
|
+
attachCommsLoginCommand(auth);
|
|
15
17
|
attachCommsLogoutCommand(auth, refAware);
|
|
16
18
|
attachCommsStatusCommand(auth, refAware);
|
|
17
19
|
// `token` is a hybrid: bare `tdc auth token` prompts interactively to save
|
|
@@ -21,7 +23,10 @@ export function registerAuthCommand(program) {
|
|
|
21
23
|
const tokenCmd = auth
|
|
22
24
|
.command('token')
|
|
23
25
|
.description('Save API token for CLI authentication (or use a subcommand: `view`)')
|
|
24
|
-
.
|
|
26
|
+
.addOption(withUnvalidatedChoices(new Option('--credential-store <store>', 'Credential storage: fallback (default), system, or plaintext')
|
|
27
|
+
.argParser(parseCredentialStore)
|
|
28
|
+
.default('fallback'), [...CREDENTIAL_STORES]))
|
|
29
|
+
.action(loginWithToken);
|
|
25
30
|
attachTokenViewCommand(tokenCmd, {
|
|
26
31
|
name: 'view',
|
|
27
32
|
store: refAware,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAC5F,OAAO,EAAW,MAAM,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,EACH,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,GACvB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE3C,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAChD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAA;IAEzE,MAAM,KAAK,GAAG,qBAAqB,EAAE,CAAA;IACrC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAA;IAE/D,uBAAuB,CAAC,IAAI,CAAC,CAAA;IAC7B,wBAAwB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IACxC,wBAAwB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAExC,2EAA2E;IAC3E,0EAA0E;IAC1E,uEAAuE;IACvE,yDAAyD;IACzD,MAAM,QAAQ,GAAG,IAAI;SAChB,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,qEAAqE,CAAC;SAClF,SAAS,CACN,sBAAsB,CAClB,IAAI,MAAM,CACN,4BAA4B,EAC5B,8DAA8D,CACjE;SACI,SAAS,CAAC,oBAAoB,CAAC;SAC/B,OAAO,CAAC,UAAU,CAAC,EACxB,CAAC,GAAG,iBAAiB,CAAC,CACzB,CACJ;SACA,MAAM,CAAC,cAAc,CAAC,CAAA;IAE3B,sBAAsB,CAAC,QAAQ,EAAE;QAC7B,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,QAAQ;QACf,UAAU,EAAE,aAAa;QACzB,WAAW,EACP,+FAA+F;KACtG,CAAC,CAAA;IAEF,6BAA6B,CAAC,IAAI,EAAE;QAChC,KAAK,EAAE,QAAQ;QACf,WAAW,EACP,yGAAyG;KAChH,CAAC,CAAA;AACN,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type
|
|
2
|
-
|
|
3
|
-
export declare function attachCommsLoginCommand(parent: Command, store: CommsTokenStore): Command;
|
|
1
|
+
import { type Command } from 'commander';
|
|
2
|
+
export declare function attachCommsLoginCommand(parent: Command): Command;
|
|
4
3
|
//# sourceMappingURL=login.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/login.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/login.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,OAAO,EAAU,MAAM,WAAW,CAAA;AAgBhD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAqDhE"}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import { attachLoginCommand } from '@doist/cli-core/auth';
|
|
2
2
|
import chalk from 'chalk';
|
|
3
|
+
import { Option } from 'commander';
|
|
3
4
|
import { renderError, renderSuccess } from '../../lib/auth-pages.js';
|
|
4
|
-
import { createCommsAuthProvider, getScopes, } from '../../lib/auth-provider.js';
|
|
5
|
+
import { createCommsAuthProvider, CREDENTIAL_STORES, createCommsTokenStore, getScopes, parseCredentialStore, } from '../../lib/auth-provider.js';
|
|
6
|
+
import { withUnvalidatedChoices } from '../../lib/completion.js';
|
|
5
7
|
import { CliError } from '../../lib/errors.js';
|
|
6
8
|
import { logTokenStorageResult, resetCurrentWorkspaceAfterLogin } from './helpers.js';
|
|
7
9
|
const PREFERRED_CALLBACK_PORT = 8766;
|
|
8
|
-
export function attachCommsLoginCommand(parent
|
|
10
|
+
export function attachCommsLoginCommand(parent) {
|
|
9
11
|
const provider = createCommsAuthProvider();
|
|
12
|
+
let credentialStore = 'fallback';
|
|
13
|
+
const store = createCommsTokenStore({ credentialStore: () => credentialStore });
|
|
10
14
|
return attachLoginCommand(parent, {
|
|
11
15
|
provider,
|
|
12
16
|
store,
|
|
@@ -33,6 +37,12 @@ export function attachCommsLoginCommand(parent, store) {
|
|
|
33
37
|
},
|
|
34
38
|
})
|
|
35
39
|
.description('Authenticate using OAuth (opens browser)')
|
|
36
|
-
.option('--full-access', 'Request delete and workspace/user write scopes')
|
|
40
|
+
.option('--full-access', 'Request delete and workspace/user write scopes')
|
|
41
|
+
.addOption(withUnvalidatedChoices(new Option('--credential-store <store>', 'Credential storage: fallback (default), system, or plaintext')
|
|
42
|
+
.argParser((value) => {
|
|
43
|
+
credentialStore = parseCredentialStore(value);
|
|
44
|
+
return credentialStore;
|
|
45
|
+
})
|
|
46
|
+
.default('fallback'), [...CREDENTIAL_STORES]));
|
|
37
47
|
}
|
|
38
48
|
//# sourceMappingURL=login.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/commands/auth/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/commands/auth/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAgB,MAAM,EAAE,MAAM,WAAW,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACpE,OAAO,EACH,uBAAuB,EACvB,iBAAiB,EAEjB,qBAAqB,EACrB,SAAS,EACT,oBAAoB,GACvB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,qBAAqB,EAAE,+BAA+B,EAAE,MAAM,cAAc,CAAA;AAErF,MAAM,uBAAuB,GAAG,IAAI,CAAA;AAEpC,MAAM,UAAU,uBAAuB,CAAC,MAAe;IACnD,MAAM,QAAQ,GAAG,uBAAuB,EAAE,CAAA;IAC1C,IAAI,eAAe,GAAyB,UAAU,CAAA;IACtD,MAAM,KAAK,GAAG,qBAAqB,CAAC,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,eAAe,EAAE,CAAC,CAAA;IAE/E,OAAO,kBAAkB,CAAC,MAAM,EAAE;QAC9B,QAAQ;QACR,KAAK;QACL,aAAa,EAAE,uBAAuB;QACtC,aAAa,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;YACnC,IAAI,QAAQ,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;gBACxC,MAAM,IAAI,QAAQ,CACd,qBAAqB,EACrB,uDAAuD,CAC1D,CAAA;YACL,CAAC;YACD,OAAO,SAAS,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC,CAAA;QACzE,CAAC;QACD,aAAa;QACb,WAAW;QACX,KAAK,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE;YAC7B,MAAM,+BAA+B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YACrD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAA;YAChD,IAAI,CAAC,eAAe,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,kCAAkC,CAAC,CAAA;gBACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YAC3D,CAAC;YACD,MAAM,MAAM,GAAG,KAAK,CAAC,oBAAoB,EAAE,CAAA;YAC3C,IAAI,MAAM,EAAE,CAAC;gBACT,qBAAqB,CACjB,MAAM,EACN,wDAAwD,EACxD,eAAe,CAClB,CAAA;YACL,CAAC;QACL,CAAC;KACJ,CAAC;SACG,WAAW,CAAC,0CAA0C,CAAC;SACvD,MAAM,CAAC,eAAe,EAAE,gDAAgD,CAAC;SACzE,SAAS,CACN,sBAAsB,CAClB,IAAI,MAAM,CACN,4BAA4B,EAC5B,8DAA8D,CACjE;SACI,SAAS,CAAC,CAAC,KAAa,EAAE,EAAE;QACzB,eAAe,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAA;QAC7C,OAAO,eAAe,CAAA;IAC1B,CAAC,CAAC;SACD,OAAO,CAAC,UAAU,CAAC,EACxB,CAAC,GAAG,iBAAiB,CAAC,CACzB,CACJ,CAAA;AACT,CAAC"}
|
|
@@ -1,2 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import { type CommsCredentialStore } from '../../lib/auth-provider.js';
|
|
2
|
+
export declare function loginWithToken(options?: {
|
|
3
|
+
credentialStore?: CommsCredentialStore;
|
|
4
|
+
}): Promise<void>;
|
|
2
5
|
//# sourceMappingURL=token.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/token.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/token.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,oBAAoB,EAG5B,MAAM,4BAA4B,CAAA;AA+BnC,wBAAsB,cAAc,CAChC,OAAO,GAAE;IAAE,eAAe,CAAC,EAAE,oBAAoB,CAAA;CAAO,GACzD,OAAO,CAAC,IAAI,CAAC,CA2Bf"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createInterface } from 'node:readline';
|
|
2
2
|
import chalk from 'chalk';
|
|
3
|
-
import { createCommsTokenStore, MANUAL_TOKEN_ACCOUNT } from '../../lib/auth-provider.js';
|
|
3
|
+
import { createCommsTokenStore, MANUAL_TOKEN_ACCOUNT, } from '../../lib/auth-provider.js';
|
|
4
4
|
import { CliError } from '../../lib/errors.js';
|
|
5
5
|
import { isNonInteractive } from '../../lib/global-args.js';
|
|
6
6
|
import { logTokenStorageResult } from './helpers.js';
|
|
@@ -28,7 +28,7 @@ function promptHiddenInput(prompt) {
|
|
|
28
28
|
// never accepted as a CLI argument. Passing secrets on the command line
|
|
29
29
|
// would leak them via process lists and shell history (Doist Secrets
|
|
30
30
|
// Management Standard).
|
|
31
|
-
export async function loginWithToken() {
|
|
31
|
+
export async function loginWithToken(options = {}) {
|
|
32
32
|
if (isNonInteractive()) {
|
|
33
33
|
throw new CliError('NO_TOKEN', 'Cannot prompt for token in non-interactive mode. Set the COMMS_API_TOKEN environment variable instead.');
|
|
34
34
|
}
|
|
@@ -45,7 +45,7 @@ export async function loginWithToken() {
|
|
|
45
45
|
// Persist the empty-id account; `UserRecordStore.upsert` writes
|
|
46
46
|
// `authUserId: undefined` for it and the synthesised record is what later
|
|
47
47
|
// `active()` / `list()` reads will return.
|
|
48
|
-
const store = createCommsTokenStore();
|
|
48
|
+
const store = createCommsTokenStore({ credentialStore: options.credentialStore });
|
|
49
49
|
await store.set(MANUAL_TOKEN_ACCOUNT, trimmed);
|
|
50
50
|
console.log(chalk.green('✓'), 'API token saved successfully!');
|
|
51
51
|
const result = store.getLastStorageResult();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../../src/commands/auth/token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,
|
|
1
|
+
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../../src/commands/auth/token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAEH,qBAAqB,EACrB,oBAAoB,GACvB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAEpD,SAAS,iBAAiB,CAAC,MAAc;IACrC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,MAAM,EAAE,GAAG,eAAe,CAAC;YACvB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;SACzB,CAAC,CAAA;QACF,kFAAkF;QAClF,MAAM,SAAS,GAAI,EAAU,CAAC,cAAc,CAE3C;QAAC,EAAU,CAAC,cAAc,GAAG,CAAC,GAAW,EAAE,EAAE;YAC1C,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvB,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;YAC9B,CAAC;QACL,CAAC,CAAA;QACD,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YAC3B,EAAE,CAAC,KAAK,EAAE,CAAA;YACV,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAC1B,OAAO,CAAC,MAAM,CAAC,CAAA;QACnB,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACN,CAAC;AAED,2EAA2E;AAC3E,wEAAwE;AACxE,qEAAqE;AACrE,wBAAwB;AACxB,MAAM,CAAC,KAAK,UAAU,cAAc,CAChC,UAAsD,EAAE;IAExD,IAAI,gBAAgB,EAAE,EAAE,CAAC;QACrB,MAAM,IAAI,QAAQ,CACd,UAAU,EACV,wGAAwG,CAC3G,CAAA;IACL,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,aAAa,CAAC,CAAA;IACpD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,mBAAmB,EAAE;YAChD,0CAA0C;YAC1C,6CAA6C;YAC7C,8BAA8B;SACjC,CAAC,CAAA;IACN,CAAC;IACD,wEAAwE;IACxE,gEAAgE;IAChE,0EAA0E;IAC1E,2CAA2C;IAC3C,MAAM,KAAK,GAAG,qBAAqB,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC,CAAA;IACjF,MAAM,KAAK,CAAC,GAAG,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAA;IAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,+BAA+B,CAAC,CAAA;IAC9D,MAAM,MAAM,GAAG,KAAK,CAAC,oBAAoB,EAAE,CAAA;IAC3C,IAAI,MAAM,EAAE,CAAC;QACT,qBAAqB,CAAC,MAAM,EAAE,wDAAwD,CAAC,CAAA;IAC3F,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/channel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAA;AAa3C,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/channel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAA;AAa3C,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoR7D"}
|
|
@@ -23,6 +23,7 @@ export function registerChannelCommand(program) {
|
|
|
23
23
|
.option('--state <state>', 'Channel state to list: active, all, or archived (default: active)')
|
|
24
24
|
.option('--json', 'Output as JSON')
|
|
25
25
|
.option('--ndjson', 'Output as newline-delimited JSON')
|
|
26
|
+
.option('--ids-only', 'Output only channel IDs, one per line')
|
|
26
27
|
.option('--full', 'Include all fields in JSON output')
|
|
27
28
|
.addHelpText('after', `
|
|
28
29
|
Examples:
|
|
@@ -137,6 +138,7 @@ Notes:
|
|
|
137
138
|
.option('--cursor <cursor>', 'Pagination cursor from a previous response')
|
|
138
139
|
.option('--json', 'Output as JSON')
|
|
139
140
|
.option('--ndjson', 'Output as newline-delimited JSON')
|
|
141
|
+
.option('--ids-only', 'Output only thread IDs, one per line')
|
|
140
142
|
.option('--full', 'Include all fields in JSON output')
|
|
141
143
|
.addHelpText('after', `
|
|
142
144
|
Examples:
|
|
@@ -159,6 +161,7 @@ Notes:
|
|
|
159
161
|
.description("List a channel's members and groups fully present in the channel")
|
|
160
162
|
.option('--json', 'Output as JSON')
|
|
161
163
|
.option('--ndjson', 'Output as newline-delimited JSON')
|
|
164
|
+
.option('--ids-only', 'Output only member user IDs, one per line')
|
|
162
165
|
.option('--full', 'Include all fields in JSON output')
|
|
163
166
|
.addHelpText('after', `
|
|
164
167
|
Examples:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/channel/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/channel/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/channel/list.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/channel/list.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAWvD,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AA2HD,wBAAsB,YAAY,CAC9B,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,OAAO,EAAE,mBAAmB,GAC7B,OAAO,CAAC,IAAI,CAAC,CA+Df"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { outputIds, printEmpty, resolveOutputMode } from '@doist/cli-core';
|
|
1
2
|
import { getCommsClient } from '../../lib/api.js';
|
|
2
3
|
import { CliError } from '../../lib/errors.js';
|
|
3
4
|
import { includePrivateChannels } from '../../lib/global-args.js';
|
|
4
|
-
import { colors, formatJson, formatNdjson
|
|
5
|
+
import { colors, formatJson, formatNdjson } from '../../lib/output.js';
|
|
5
6
|
import { resolveChannelWorkspaceId } from './helpers.js';
|
|
6
7
|
const CHANNEL_SCOPES = ['joined', 'public', 'discoverable'];
|
|
7
8
|
const CHANNEL_STATES = ['active', 'all', 'archived'];
|
|
@@ -90,6 +91,7 @@ function formatChannelLine(channel, scope) {
|
|
|
90
91
|
return `${id} ${name}${visibility}${membership}${archived}`;
|
|
91
92
|
}
|
|
92
93
|
export async function listChannels(workspaceRef, options) {
|
|
94
|
+
const outputMode = resolveOutputMode(options);
|
|
93
95
|
const scope = parseChannelScope(options.scope);
|
|
94
96
|
const state = parseChannelState(options.state);
|
|
95
97
|
const workspaceId = await getWorkspaceId(workspaceRef, options);
|
|
@@ -126,14 +128,18 @@ export async function listChannels(workspaceRef, options) {
|
|
|
126
128
|
}));
|
|
127
129
|
}
|
|
128
130
|
if (channels.length === 0) {
|
|
129
|
-
printEmpty({ options,
|
|
131
|
+
printEmpty({ options, message: getEmptyStateMessage(scope, state) });
|
|
130
132
|
return;
|
|
131
133
|
}
|
|
132
|
-
if (
|
|
134
|
+
if (outputMode === 'ids-only') {
|
|
135
|
+
await outputIds(channels, (channel) => channel.id);
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
if (outputMode === 'json') {
|
|
133
139
|
console.log(formatListedChannelsJson(channels, scope, options.full));
|
|
134
140
|
return;
|
|
135
141
|
}
|
|
136
|
-
if (
|
|
142
|
+
if (outputMode === 'ndjson') {
|
|
137
143
|
console.log(formatListedChannelsNdjson(channels, scope, options.full));
|
|
138
144
|
return;
|
|
139
145
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/channel/list.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/channel/list.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"members.d.ts","sourceRoot":"","sources":["../../../src/commands/channel/members.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"members.d.ts","sourceRoot":"","sources":["../../../src/commands/channel/members.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAKvD,wBAAsB,kBAAkB,CACpC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,WAAW,GAAG;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAC1C,OAAO,CAAC,IAAI,CAAC,CAoEf"}
|
|
@@ -1,14 +1,20 @@
|
|
|
1
|
+
import { outputIds, resolveOutputMode } from '@doist/cli-core';
|
|
1
2
|
import { isRestrictedWorkspaceUser } from '@doist/comms-sdk';
|
|
2
3
|
import { getCurrentWorkspaceId, getWorkspaceGroups } from '../../lib/api.js';
|
|
3
4
|
import { colors, formatJson, formatNdjson, pluralize } from '../../lib/output.js';
|
|
4
5
|
import { resolveChannelRef } from '../../lib/refs.js';
|
|
5
6
|
import { channelUserIds, fetchUsersByIds, groupsFullyInChannel } from './membership-helpers.js';
|
|
6
7
|
export async function listChannelMembers(channelRef, options) {
|
|
8
|
+
const outputMode = resolveOutputMode(options);
|
|
7
9
|
const workspaceId = await getCurrentWorkspaceId();
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
const channelPromise = resolveChannelRef(channelRef, workspaceId);
|
|
11
|
+
if (outputMode === 'ids-only') {
|
|
12
|
+
const channel = await channelPromise;
|
|
13
|
+
const userIds = channelUserIds(channel);
|
|
14
|
+
await outputIds(userIds, (id) => id);
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
const [channel, groups] = await Promise.all([channelPromise, getWorkspaceGroups(workspaceId)]);
|
|
12
18
|
const userIds = channelUserIds(channel);
|
|
13
19
|
const userMap = await fetchUsersByIds(workspaceId, userIds);
|
|
14
20
|
const userIdSet = new Set(userIds);
|
|
@@ -30,11 +36,11 @@ export async function listChannelMembers(channelRef, options) {
|
|
|
30
36
|
})),
|
|
31
37
|
};
|
|
32
38
|
const fullPayload = { ...channel, members, groupsFullyInChannel: fullyInChannel };
|
|
33
|
-
if (
|
|
39
|
+
if (outputMode === 'json') {
|
|
34
40
|
console.log(formatJson(options.full ? fullPayload : slimPayload));
|
|
35
41
|
return;
|
|
36
42
|
}
|
|
37
|
-
if (
|
|
43
|
+
if (outputMode === 'ndjson') {
|
|
38
44
|
console.log(formatNdjson([options.full ? fullPayload : slimPayload]));
|
|
39
45
|
return;
|
|
40
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"members.js","sourceRoot":"","sources":["../../../src/commands/channel/members.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAE5E,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAE/F,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACpC,UAAkB,EAClB,OAAyC;IAEzC,MAAM,WAAW,GAAG,MAAM,qBAAqB,EAAE,CAAA;IACjD,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"members.js","sourceRoot":"","sources":["../../../src/commands/channel/members.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"threads.d.ts","sourceRoot":"","sources":["../../../src/commands/channel/threads.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"threads.d.ts","sourceRoot":"","sources":["../../../src/commands/channel/threads.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAU,MAAM,kBAAkB,CAAA;AAM7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAYhE,KAAK,qBAAqB,GAAG,oBAAoB,GAAG;IAChD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AA0BD,wBAAsB,kBAAkB,CACpC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,OAAO,EAAE,qBAAqB,GAC/B,OAAO,CAAC,IAAI,CAAC,CA+Gf"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { outputIds, resolveOutputMode } from '@doist/cli-core';
|
|
1
2
|
import chalk from 'chalk';
|
|
2
3
|
import { getCommsClient, getCurrentWorkspaceId } from '../../lib/api.js';
|
|
3
4
|
import { formatRelativeDate } from '../../lib/dates.js';
|
|
@@ -26,6 +27,7 @@ function parseDateFilter(value, flag) {
|
|
|
26
27
|
return ts;
|
|
27
28
|
}
|
|
28
29
|
export async function showChannelThreads(channelRef, workspaceRef, options) {
|
|
30
|
+
const outputMode = resolveOutputMode(options);
|
|
29
31
|
if (workspaceRef && options.workspace) {
|
|
30
32
|
throw new CliError('CONFLICTING_OPTIONS', 'Cannot specify workspace both as argument and --workspace flag');
|
|
31
33
|
}
|
|
@@ -44,18 +46,18 @@ export async function showChannelThreads(channelRef, workspaceRef, options) {
|
|
|
44
46
|
await assertChannelIsPublic(channel.id, workspaceId);
|
|
45
47
|
const archived = archiveFilterToFlag(options.archiveFilter);
|
|
46
48
|
const client = await getCommsClient();
|
|
49
|
+
const needsUnreadData = outputMode !== 'ids-only' || options.unread;
|
|
47
50
|
const [threadsData, unreadThreadIds] = await Promise.all([
|
|
48
51
|
client.threads.getThreads(archived === undefined
|
|
49
52
|
? { workspaceId, channelId: channel.id }
|
|
50
53
|
: { workspaceId, channelId: channel.id, archived }),
|
|
51
|
-
|
|
54
|
+
needsUnreadData
|
|
55
|
+
? fetchUnreadThreadIds(client, workspaceId)
|
|
56
|
+
: Promise.resolve(new Set()),
|
|
52
57
|
]);
|
|
53
|
-
let threads = threadsData
|
|
54
|
-
...t,
|
|
55
|
-
isUnread: unreadThreadIds.has(t.id),
|
|
56
|
-
}));
|
|
58
|
+
let threads = threadsData;
|
|
57
59
|
if (options.unread) {
|
|
58
|
-
threads = threads.filter((
|
|
60
|
+
threads = threads.filter((thread) => unreadThreadIds.has(thread.id));
|
|
59
61
|
}
|
|
60
62
|
if (sinceTs !== undefined) {
|
|
61
63
|
threads = threads.filter((t) => new Date(t.lastUpdated).getTime() >= sinceTs);
|
|
@@ -69,22 +71,33 @@ export async function showChannelThreads(channelRef, workspaceRef, options) {
|
|
|
69
71
|
const offset = decodeCursor(options.cursor);
|
|
70
72
|
const page = threads.slice(offset, offset + limit);
|
|
71
73
|
const nextCursor = offset + limit < threads.length ? encodeCursor(offset + limit) : null;
|
|
72
|
-
|
|
73
|
-
|
|
74
|
+
if (outputMode === 'ids-only') {
|
|
75
|
+
await outputIds(page, (thread) => thread.id, nextCursor ? `More threads available. Use --cursor ${nextCursor}` : '');
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
const decoratedPage = page.map((thread) => ({
|
|
79
|
+
...thread,
|
|
80
|
+
isUnread: unreadThreadIds.has(thread.id),
|
|
81
|
+
}));
|
|
82
|
+
const paginated = {
|
|
83
|
+
results: decoratedPage,
|
|
84
|
+
nextCursor,
|
|
85
|
+
};
|
|
86
|
+
if (outputMode === 'json') {
|
|
74
87
|
console.log(formatPaginatedJson(paginated, 'thread', options.full));
|
|
75
88
|
return;
|
|
76
89
|
}
|
|
77
|
-
if (
|
|
90
|
+
if (outputMode === 'ndjson') {
|
|
78
91
|
console.log(formatPaginatedNdjson(paginated, 'thread', options.full));
|
|
79
92
|
return;
|
|
80
93
|
}
|
|
81
|
-
if (
|
|
94
|
+
if (decoratedPage.length === 0) {
|
|
82
95
|
console.log(`No threads in #${channel.name}.`);
|
|
83
96
|
return;
|
|
84
97
|
}
|
|
85
98
|
console.log(chalk.bold.blue(`[${channel.name}]`));
|
|
86
99
|
console.log('');
|
|
87
|
-
for (const thread of
|
|
100
|
+
for (const thread of decoratedPage) {
|
|
88
101
|
const title = thread.isUnread ? chalk.bold(thread.title) : thread.title;
|
|
89
102
|
const time = colors.timestamp(formatRelativeDate(thread.lastUpdated));
|
|
90
103
|
const unreadBadge = thread.isUnread ? chalk.blue(isAccessible() ? ' (unread)' : ' *') : '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"threads.js","sourceRoot":"","sources":["../../../src/commands/channel/threads.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"threads.js","sourceRoot":"","sources":["../../../src/commands/channel/threads.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAE9D,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEvD,OAAO,EACH,MAAM,EACN,mBAAmB,EACnB,qBAAqB,GAExB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAWzD,SAAS,mBAAmB,CAAC,MAAiC;IAC1D,QAAQ,MAAM,IAAI,QAAQ,EAAE,CAAC;QACzB,KAAK,QAAQ;YACT,OAAO,KAAK,CAAA;QAChB,KAAK,UAAU;YACX,OAAO,IAAI,CAAA;QACf,KAAK,KAAK;YACN,OAAO,SAAS,CAAA;IACxB,CAAC;AACL,CAAC;AAED,SAAS,eAAe,CAAC,KAAa,EAAE,IAAY;IAChD,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAA;IACpC,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,QAAQ,CACd,cAAc,EACd,WAAW,IAAI,YAAY,KAAK,oEAAoE,CACvG,CAAA;IACL,CAAC;IACD,OAAO,EAAE,CAAA;AACb,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACpC,UAAkB,EAClB,YAAgC,EAChC,OAA8B;IAE9B,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAA;IAC7C,IAAI,YAAY,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACpC,MAAM,IAAI,QAAQ,CACd,qBAAqB,EACrB,gEAAgE,CACnE,CAAA;IACL,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACrF,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAErF,IAAI,WAAmB,CAAA;IACvB,MAAM,GAAG,GAAG,YAAY,IAAI,OAAO,CAAC,SAAS,CAAA;IAC7C,IAAI,GAAG,EAAE,CAAC;QACN,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,CAAA;QAChD,WAAW,GAAG,SAAS,CAAC,EAAE,CAAA;IAC9B,CAAC;SAAM,CAAC;QACJ,WAAW,GAAG,MAAM,qBAAqB,EAAE,CAAA;IAC/C,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;IAChE,MAAM,qBAAqB,CAAC,OAAO,CAAC,EAAE,EAAE,WAAW,CAAC,CAAA;IAEpD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;IAC3D,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAA;IAErC,MAAM,eAAe,GAAG,UAAU,KAAK,UAAU,IAAI,OAAO,CAAC,MAAM,CAAA;IACnE,MAAM,CAAC,WAAW,EAAE,eAAe,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACrD,MAAM,CAAC,OAAO,CAAC,UAAU,CACrB,QAAQ,KAAK,SAAS;YAClB,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE;YACxC,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,CACzD;QACD,eAAe;YACX,CAAC,CAAC,oBAAoB,CAAC,MAAM,EAAE,WAAW,CAAC;YAC3C,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,GAAG,EAAU,CAAC;KAC3C,CAAC,CAAA;IAEF,IAAI,OAAO,GAAG,WAAW,CAAA;IAEzB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;IACxE,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,IAAI,OAAO,CAAC,CAAA;IACjF,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,CAAA;IAChF,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;IAE7F,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACjE,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;IACvE,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAA;IAClD,MAAM,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAExF,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;QAC5B,MAAM,SAAS,CACX,IAAI,EACJ,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,EACrB,UAAU,CAAC,CAAC,CAAC,wCAAwC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CACzE,CAAA;QACD,OAAM;IACV,CAAC;IAED,MAAM,aAAa,GAAsB,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC3D,GAAG,MAAM;QACT,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;KAC3C,CAAC,CAAC,CAAA;IACH,MAAM,SAAS,GAAqC;QAChD,OAAO,EAAE,aAAa;QACtB,UAAU;KACb,CAAA;IAED,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;QACnE,OAAM;IACV,CAAC;IAED,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;QACrE,OAAM;IACV,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,CAAC,IAAI,GAAG,CAAC,CAAA;QAC9C,OAAM;IACV,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAA;IACjD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAEf,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAA;QACvE,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAA;QACrE,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAE1F,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,WAAW,EAAE,CAAC,CAAA;QACvC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,KAAK,MAAM,CAAC,SAAS,CAAC,MAAM,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;QAClE,OAAO,CAAC,GAAG,CAAC,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC5C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACnB,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,wCAAwC,UAAU,EAAE,CAAC,CAAC,CAAA;IACvF,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/commands/conversation/helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/commands/conversation/helpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAOpD,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAG9F,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEhE,MAAM,MAAM,uBAAuB,GAAG,oBAAoB,CAAA;AAE1D,MAAM,MAAM,uBAAuB,GAAG,oBAAoB,GAAG;IACzD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,OAAO,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG,WAAW,GAAG;IAChD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,4FAA4F;AAC5F,MAAM,MAAM,yBAAyB,GAAG;IACpC,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,KAAK,GAAG,UAAU,CAAA;AAE7D,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAA;AAEhE,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEhE,MAAM,MAAM,WAAW,GAAG,eAAe,CAAA;AAEzC,MAAM,MAAM,wBAAwB,GAAG;IACnC,kBAAkB,CAAC,EAAE,YAAY,CAAA;IACjC,sBAAsB,EAAE,MAAM,CAAA;CACjC,CAAA;AAED,wBAAgB,sBAAsB,CAClC,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,SAAS,CAAC,EACrD,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,MAAM,CAKR;AAED,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,MAAM,CAI1F;AAED,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,MAAM,CAEnF;AA0DD;;;;;GAKG;AACH,wBAAsB,uBAAuB,CACzC,WAAW,EAAE,MAAM,EACnB,KAAK,GAAE,iBAAyB,GACjC,OAAO,CAAC,YAAY,EAAE,CAAC,CAIzB;AAyBD,wBAAsB,sBAAsB,CACxC,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,GACrB,OAAO,CAAC,wBAAwB,CAAC,CAanC;AAED,wBAAsB,sBAAsB,CACxC,aAAa,EAAE,YAAY,EAAE,EAC7B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,yBAAyB,GACnC,OAAO,CAAC,IAAI,CAAC,CAgEf;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAU9D"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import { outputIds, printEmpty, resolveOutputMode } from '@doist/cli-core';
|
|
1
2
|
import chalk from 'chalk';
|
|
2
3
|
import { buildUserNameMap, getCommsClient } from '../../lib/api.js';
|
|
3
4
|
import { formatRelativeDate } from '../../lib/dates.js';
|
|
4
5
|
import { CliError } from '../../lib/errors.js';
|
|
5
6
|
import { isAccessible } from '../../lib/global-args.js';
|
|
6
7
|
import { renderMarkdown } from '../../lib/markdown.js';
|
|
7
|
-
import { colors, formatJson, formatNdjson
|
|
8
|
+
import { colors, formatJson, formatNdjson } from '../../lib/output.js';
|
|
8
9
|
export function buildConversationTitle(conversation, userMap) {
|
|
9
10
|
const participants = conversation.userIds
|
|
10
11
|
.map((id) => userMap.get(id) || `user:${id}`)
|
|
@@ -105,18 +106,22 @@ export async function findDirectConversation(workspaceId, sessionUserId, targetU
|
|
|
105
106
|
return { groupConversationCount };
|
|
106
107
|
}
|
|
107
108
|
export async function renderConversationList(conversations, workspaceId, options) {
|
|
109
|
+
const outputMode = resolveOutputMode(options);
|
|
108
110
|
if (conversations.length === 0) {
|
|
109
111
|
printEmpty({
|
|
110
112
|
options,
|
|
111
|
-
type: 'conversation',
|
|
112
113
|
message: 'No matching conversations found.',
|
|
113
114
|
});
|
|
114
115
|
return;
|
|
115
116
|
}
|
|
117
|
+
if (outputMode === 'ids-only') {
|
|
118
|
+
await outputIds(conversations, (conversation) => conversation.id);
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
116
121
|
// Machine output without --full filters `participantNames` back out, so skip
|
|
117
122
|
// the workspace-wide user-map fetch whose names would never be emitted.
|
|
118
|
-
if ((
|
|
119
|
-
if (
|
|
123
|
+
if ((outputMode === 'json' || outputMode === 'ndjson') && !options.full) {
|
|
124
|
+
if (outputMode === 'json') {
|
|
120
125
|
console.log(formatJson(conversations, 'conversation', false));
|
|
121
126
|
}
|
|
122
127
|
else {
|
|
@@ -130,11 +135,11 @@ export async function renderConversationList(conversations, workspaceId, options
|
|
|
130
135
|
...conversation,
|
|
131
136
|
participantNames: conversation.userIds.map((id) => userMap.get(id)),
|
|
132
137
|
}));
|
|
133
|
-
if (
|
|
138
|
+
if (outputMode === 'json') {
|
|
134
139
|
console.log(formatJson(output, 'conversation', options.full));
|
|
135
140
|
return;
|
|
136
141
|
}
|
|
137
|
-
if (
|
|
142
|
+
if (outputMode === 'ndjson') {
|
|
138
143
|
console.log(formatNdjson(output, 'conversation', options.full));
|
|
139
144
|
return;
|
|
140
145
|
}
|