@doist/comms-cli 1.3.2 → 1.5.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/helpers.d.ts +2 -0
- package/dist/commands/auth/helpers.d.ts.map +1 -1
- package/dist/commands/auth/helpers.js +52 -0
- package/dist/commands/auth/helpers.js.map +1 -1
- package/dist/commands/auth/login.d.ts.map +1 -1
- package/dist/commands/auth/login.js +13 -4
- package/dist/commands/auth/login.js.map +1 -1
- package/dist/commands/auth/status.d.ts +5 -8
- package/dist/commands/auth/status.d.ts.map +1 -1
- package/dist/commands/auth/status.js +28 -22
- package/dist/commands/auth/status.js.map +1 -1
- package/dist/commands/channel/delete.d.ts.map +1 -1
- package/dist/commands/channel/delete.js +1 -13
- package/dist/commands/channel/delete.js.map +1 -1
- package/dist/commands/config/view.d.ts.map +1 -1
- package/dist/commands/config/view.js +7 -1
- package/dist/commands/config/view.js.map +1 -1
- package/dist/commands/conversation/helpers.d.ts +3 -1
- package/dist/commands/conversation/helpers.d.ts.map +1 -1
- package/dist/commands/conversation/index.d.ts.map +1 -1
- package/dist/commands/conversation/index.js +4 -1
- package/dist/commands/conversation/index.js.map +1 -1
- package/dist/commands/conversation/reply.d.ts.map +1 -1
- package/dist/commands/conversation/reply.js +29 -6
- package/dist/commands/conversation/reply.js.map +1 -1
- package/dist/commands/doctor.js +2 -2
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/thread/create.d.ts +1 -0
- package/dist/commands/thread/create.d.ts.map +1 -1
- package/dist/commands/thread/create.js +24 -6
- package/dist/commands/thread/create.js.map +1 -1
- package/dist/commands/thread/index.d.ts.map +1 -1
- package/dist/commands/thread/index.js +8 -2
- package/dist/commands/thread/index.js.map +1 -1
- package/dist/commands/thread/reply.d.ts +1 -0
- package/dist/commands/thread/reply.d.ts.map +1 -1
- package/dist/commands/thread/reply.js +37 -10
- package/dist/commands/thread/reply.js.map +1 -1
- package/dist/commands/view.d.ts.map +1 -1
- package/dist/commands/view.js +2 -7
- package/dist/commands/view.js.map +1 -1
- package/dist/lib/api.d.ts +4 -1
- package/dist/lib/api.d.ts.map +1 -1
- package/dist/lib/api.js +21 -7
- package/dist/lib/api.js.map +1 -1
- package/dist/lib/attachments.d.ts +20 -0
- package/dist/lib/attachments.d.ts.map +1 -0
- package/dist/lib/attachments.js +45 -0
- package/dist/lib/attachments.js.map +1 -0
- package/dist/lib/auth-pages.d.ts.map +1 -1
- package/dist/lib/auth-pages.js +173 -302
- package/dist/lib/auth-pages.js.map +1 -1
- package/dist/lib/auth-provider.d.ts +41 -18
- package/dist/lib/auth-provider.d.ts.map +1 -1
- package/dist/lib/auth-provider.js +368 -78
- package/dist/lib/auth-provider.js.map +1 -1
- package/dist/lib/auth.d.ts +12 -1
- package/dist/lib/auth.d.ts.map +1 -1
- package/dist/lib/auth.js +41 -10
- package/dist/lib/auth.js.map +1 -1
- package/dist/lib/comms-account.d.ts +6 -0
- package/dist/lib/comms-account.d.ts.map +1 -1
- package/dist/lib/comms-account.js +6 -0
- package/dist/lib/comms-account.js.map +1 -1
- package/dist/lib/config.d.ts +14 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +76 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/errors.d.ts +8 -1
- package/dist/lib/errors.d.ts.map +1 -1
- package/dist/lib/errors.js +25 -9
- package/dist/lib/errors.js.map +1 -1
- package/dist/lib/local-file.d.ts +29 -0
- package/dist/lib/local-file.d.ts.map +1 -0
- package/dist/lib/local-file.js +48 -0
- package/dist/lib/local-file.js.map +1 -0
- package/dist/lib/options.d.ts +5 -0
- package/dist/lib/options.d.ts.map +1 -1
- package/dist/lib/options.js +7 -1
- package/dist/lib/options.js.map +1 -1
- package/dist/lib/refs.d.ts +2 -0
- package/dist/lib/refs.d.ts.map +1 -1
- package/dist/lib/refs.js +62 -26
- package/dist/lib/refs.js.map +1 -1
- package/dist/lib/search-api.d.ts.map +1 -1
- package/dist/lib/search-api.js +8 -4
- package/dist/lib/search-api.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 +9 -2
- package/dist/lib/skills/content.js.map +1 -1
- package/dist/lib/user-records.js +27 -0
- package/dist/lib/user-records.js.map +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
## [1.5.0](https://github.com/Doist/comms-cli/compare/v1.4.0...v1.5.0) (2026-06-05)
|
|
2
|
+
|
|
3
|
+
### Features
|
|
4
|
+
|
|
5
|
+
- Add Todoist OAuth for Comms auth ([#15](https://github.com/Doist/comms-cli/issues/15)) ([cd64fa7](https://github.com/Doist/comms-cli/commit/cd64fa7ac27f53a2164deedf3a390ecf5ec32f98))
|
|
6
|
+
|
|
7
|
+
## [1.4.0](https://github.com/Doist/comms-cli/compare/v1.3.2...v1.4.0) (2026-05-31)
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
- **attachments:** support uploading files on replies and thread creation ([#13](https://github.com/Doist/comms-cli/issues/13)) ([44dc3b7](https://github.com/Doist/comms-cli/commit/44dc3b7c203a5fb6466ffd82ee3de13d05c5bfd4))
|
|
12
|
+
|
|
1
13
|
## [1.3.2](https://github.com/Doist/comms-cli/compare/v1.3.1...v1.3.2) (2026-05-28)
|
|
2
14
|
|
|
3
15
|
### Bug Fixes
|
package/README.md
CHANGED
|
@@ -64,7 +64,9 @@ This makes the `tdc` command available globally.
|
|
|
64
64
|
tdc auth login
|
|
65
65
|
```
|
|
66
66
|
|
|
67
|
-
This opens your browser
|
|
67
|
+
This opens Todoist OAuth in your browser. The default grant can read Comms data and create/update content and messages. It does not include delete, channel management, or user/workspace write scopes; use `--read-only` for read-only access or `--full-access` when needed.
|
|
68
|
+
|
|
69
|
+
Once approved, the token is stored in your OS credential manager:
|
|
68
70
|
|
|
69
71
|
- macOS: Keychain
|
|
70
72
|
- Windows: Credential Manager
|
|
@@ -96,11 +98,11 @@ Point the CLI at a non-production Comms instance with `COMMS_BASE_URL`:
|
|
|
96
98
|
|
|
97
99
|
```bash
|
|
98
100
|
export COMMS_BASE_URL=https://comms.staging.todoist.com
|
|
99
|
-
|
|
101
|
+
tdc auth login
|
|
100
102
|
tdc user
|
|
101
103
|
```
|
|
102
104
|
|
|
103
|
-
The base URL is
|
|
105
|
+
The base URL is used for OAuth, the SDK, and search. OAuth login supports `comms.todoist.com`, `comms.staging.todoist.com`, and `comms.local.todoist.com`; staging uses `https://staging.todoist.com` as the Todoist OAuth host. For custom Comms hosts, use `COMMS_API_TOKEN`.
|
|
104
106
|
|
|
105
107
|
### Auth commands
|
|
106
108
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { TokenStorageResult } from '@doist/cli-core/auth';
|
|
2
|
+
import type { CommsAccount, CommsTokenStore } from '../../lib/auth-provider.js';
|
|
2
3
|
/**
|
|
3
4
|
* Surface a `TokenStorageResult` from a save/clear operation: the
|
|
4
5
|
* human-readable confirmation goes to stdout, any keyring-fallback warning
|
|
@@ -19,4 +20,5 @@ export declare function logStoredTokenRemoval(store: {
|
|
|
19
20
|
json?: boolean;
|
|
20
21
|
ndjson?: boolean;
|
|
21
22
|
}): void;
|
|
23
|
+
export declare function resetCurrentWorkspaceAfterLogin(store: CommsTokenStore, account: CommsAccount): Promise<void>;
|
|
22
24
|
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAG9D;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACjC,MAAM,EAAE,kBAAkB,EAC1B,kBAAkB,EAAE,MAAM,EAC1B,eAAe,UAAQ,GACxB,IAAI,CAON;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACjC,KAAK,EAAE;IAAE,kBAAkB,IAAI,kBAAkB,GAAG,SAAS,CAAA;CAAE,EAC/D,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAC3C,IAAI,CAQN"}
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAG9D,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAG/E;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACjC,MAAM,EAAE,kBAAkB,EAC1B,kBAAkB,EAAE,MAAM,EAC1B,eAAe,UAAQ,GACxB,IAAI,CAON;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACjC,KAAK,EAAE;IAAE,kBAAkB,IAAI,kBAAkB,GAAG,SAAS,CAAA;CAAE,EAC/D,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAC3C,IAAI,CAQN;AAED,wBAAsB,+BAA+B,CACjD,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,YAAY,GACtB,OAAO,CAAC,IAAI,CAAC,CAqCf"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
|
+
import { createWrappedCommsClient } from '../../lib/api.js';
|
|
3
|
+
import { getConfig, updateConfig } from '../../lib/config.js';
|
|
2
4
|
/**
|
|
3
5
|
* Surface a `TokenStorageResult` from a save/clear operation: the
|
|
4
6
|
* human-readable confirmation goes to stdout, any keyring-fallback warning
|
|
@@ -26,4 +28,54 @@ export function logStoredTokenRemoval(store, view) {
|
|
|
26
28
|
return;
|
|
27
29
|
logTokenStorageResult(result, 'Stored token removed from the system credential manager', view.json || view.ndjson);
|
|
28
30
|
}
|
|
31
|
+
export async function resetCurrentWorkspaceAfterLogin(store, account) {
|
|
32
|
+
let currentWorkspace;
|
|
33
|
+
try {
|
|
34
|
+
currentWorkspace = (await getConfig()).currentWorkspace;
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
// Treat unreadable config as having no reliable workspace preference.
|
|
38
|
+
}
|
|
39
|
+
let token;
|
|
40
|
+
try {
|
|
41
|
+
token = (await store.active(account.id))?.token;
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
await clearCurrentWorkspaceAfterLogin(currentWorkspace);
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
if (!token) {
|
|
48
|
+
await clearCurrentWorkspaceAfterLogin(currentWorkspace);
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
try {
|
|
52
|
+
const client = createWrappedCommsClient(token, { baseUrl: account.authResource });
|
|
53
|
+
const workspaces = await client.workspaces.getWorkspaces();
|
|
54
|
+
if (currentWorkspace !== undefined &&
|
|
55
|
+
workspaces.some((workspace) => workspace.id === currentWorkspace)) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
if (workspaces.length === 1) {
|
|
59
|
+
await updateCurrentWorkspaceAfterLogin(workspaces[0].id);
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
await clearCurrentWorkspaceAfterLogin(currentWorkspace);
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
await clearCurrentWorkspaceAfterLogin(currentWorkspace);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
async function clearCurrentWorkspaceAfterLogin(currentWorkspace) {
|
|
69
|
+
if (currentWorkspace !== undefined) {
|
|
70
|
+
await updateCurrentWorkspaceAfterLogin(undefined);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
async function updateCurrentWorkspaceAfterLogin(currentWorkspace) {
|
|
74
|
+
try {
|
|
75
|
+
await updateConfig({ currentWorkspace });
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
// Login should not fail just because workspace preselection failed.
|
|
79
|
+
}
|
|
80
|
+
}
|
|
29
81
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/commands/auth/helpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/commands/auth/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/login.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,EAGH,KAAK,eAAe,EACvB,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/login.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,EAGH,KAAK,eAAe,EACvB,MAAM,4BAA4B,CAAA;AAMnC,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO,CAqCxF"}
|
|
@@ -2,7 +2,8 @@ import { attachLoginCommand } from '@doist/cli-core/auth';
|
|
|
2
2
|
import chalk from 'chalk';
|
|
3
3
|
import { renderError, renderSuccess } from '../../lib/auth-pages.js';
|
|
4
4
|
import { createCommsAuthProvider, getScopes, } from '../../lib/auth-provider.js';
|
|
5
|
-
import {
|
|
5
|
+
import { CliError } from '../../lib/errors.js';
|
|
6
|
+
import { logTokenStorageResult, resetCurrentWorkspaceAfterLogin } from './helpers.js';
|
|
6
7
|
const PREFERRED_CALLBACK_PORT = 8766;
|
|
7
8
|
export function attachCommsLoginCommand(parent, store) {
|
|
8
9
|
const provider = createCommsAuthProvider();
|
|
@@ -10,10 +11,16 @@ export function attachCommsLoginCommand(parent, store) {
|
|
|
10
11
|
provider,
|
|
11
12
|
store,
|
|
12
13
|
preferredPort: PREFERRED_CALLBACK_PORT,
|
|
13
|
-
resolveScopes: ({ readOnly }) =>
|
|
14
|
+
resolveScopes: ({ readOnly, flags }) => {
|
|
15
|
+
if (readOnly && flags.fullAccess === true) {
|
|
16
|
+
throw new CliError('CONFLICTING_OPTIONS', 'Choose either --read-only or --full-access, not both.');
|
|
17
|
+
}
|
|
18
|
+
return getScopes({ readOnly, fullAccess: flags.fullAccess === true });
|
|
19
|
+
},
|
|
14
20
|
renderSuccess,
|
|
15
21
|
renderError,
|
|
16
|
-
onSuccess({ view, account }) {
|
|
22
|
+
async onSuccess({ view, account }) {
|
|
23
|
+
await resetCurrentWorkspaceAfterLogin(store, account);
|
|
17
24
|
const isMachineOutput = view.json || view.ndjson;
|
|
18
25
|
if (!isMachineOutput) {
|
|
19
26
|
console.log(chalk.green('✓'), 'OAuth authentication successful!');
|
|
@@ -24,6 +31,8 @@ export function attachCommsLoginCommand(parent, store) {
|
|
|
24
31
|
logTokenStorageResult(result, 'Token stored securely in the system credential manager', isMachineOutput);
|
|
25
32
|
}
|
|
26
33
|
},
|
|
27
|
-
})
|
|
34
|
+
})
|
|
35
|
+
.description('Authenticate using OAuth (opens browser)')
|
|
36
|
+
.option('--full-access', 'Request delete and workspace/user write scopes');
|
|
28
37
|
}
|
|
29
38
|
//# 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;AAEzB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACpE,OAAO,EACH,uBAAuB,EACvB,SAAS,GAEZ,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,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;AAEzB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACpE,OAAO,EACH,uBAAuB,EACvB,SAAS,GAEZ,MAAM,4BAA4B,CAAA;AACnC,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,EAAE,KAAsB;IAC3E,MAAM,QAAQ,GAAG,uBAAuB,EAAE,CAAA;IAE1C,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,CAAA;AAClF,CAAC"}
|
|
@@ -3,14 +3,11 @@ import type { CommsTokenStore } from '../../lib/auth-provider.js';
|
|
|
3
3
|
/**
|
|
4
4
|
* Attach `tdc auth status` via cli-core's generic `attachStatusCommand`.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* `
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* read once per invocation. `onNotAuthenticated` only fires when nothing
|
|
12
|
-
* is stored — it throws `NoTokenError` so the standard CliError envelope
|
|
13
|
-
* reaches the operator unchanged.
|
|
6
|
+
* cli-core reads the selected account first. `fetchLive` then refreshes OAuth
|
|
7
|
+
* accounts through the same auth shim as normal API calls before validating
|
|
8
|
+
* the token against Comms. `onNotAuthenticated` only fires when nothing is
|
|
9
|
+
* stored — it throws `NoTokenError` so the standard CliError envelope reaches
|
|
10
|
+
* the operator unchanged.
|
|
14
11
|
*/
|
|
15
12
|
export declare function attachCommsStatusCommand(auth: Command, store: CommsTokenStore): Command;
|
|
16
13
|
//# sourceMappingURL=status.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/status.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,KAAK,EAAgB,eAAe,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/status.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,KAAK,EAAgB,eAAe,EAAE,MAAM,4BAA4B,CAAA;AA+E/E;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO,CAgCvF"}
|
|
@@ -2,7 +2,7 @@ import { attachStatusCommand } from '@doist/cli-core/auth';
|
|
|
2
2
|
import { CommsRequestError } from '@doist/comms-sdk';
|
|
3
3
|
import chalk from 'chalk';
|
|
4
4
|
import { createWrappedCommsClient } from '../../lib/api.js';
|
|
5
|
-
import {
|
|
5
|
+
import { getApiTokenSnapshot, NoTokenError, TOKEN_ENV_VAR, } from '../../lib/auth.js';
|
|
6
6
|
import { CliError } from '../../lib/errors.js';
|
|
7
7
|
function formatAuthMode(authMode, authScope) {
|
|
8
8
|
if (authMode === 'read-only') {
|
|
@@ -13,20 +13,28 @@ function formatAuthMode(authMode, authScope) {
|
|
|
13
13
|
}
|
|
14
14
|
return 'unknown (manual token or env var; assuming write access)';
|
|
15
15
|
}
|
|
16
|
+
function metadataFromAccount(account) {
|
|
17
|
+
const authUserId = Number(account.id);
|
|
18
|
+
return {
|
|
19
|
+
authMode: account.authMode,
|
|
20
|
+
...(account.authResource ? { authResource: account.authResource } : {}),
|
|
21
|
+
authScope: account.authScope || undefined,
|
|
22
|
+
authUserId: Number.isFinite(authUserId) && authUserId > 0 ? authUserId : undefined,
|
|
23
|
+
authUserName: account.label || undefined,
|
|
24
|
+
source: account.id || !process.env[TOKEN_ENV_VAR] ? 'config' : 'env',
|
|
25
|
+
};
|
|
26
|
+
}
|
|
16
27
|
/**
|
|
17
|
-
* Fetch the live session user
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* future callers emit the same `NO_TOKEN` envelope when the token is
|
|
21
|
-
* rejected by the API.
|
|
28
|
+
* Fetch the live session user via the selected account's resource. 401
|
|
29
|
+
* translation lives here so both refreshed OAuth tokens and manual tokens emit
|
|
30
|
+
* the same `NO_TOKEN` envelope when Comms rejects them.
|
|
22
31
|
*/
|
|
23
|
-
async function gatherStatusData(token) {
|
|
32
|
+
async function gatherStatusData(token, account) {
|
|
24
33
|
try {
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
return { user, metadata };
|
|
34
|
+
const user = await createWrappedCommsClient(token, {
|
|
35
|
+
baseUrl: account.authResource,
|
|
36
|
+
}).users.getSessionUser();
|
|
37
|
+
return { user, metadata: metadataFromAccount(account) };
|
|
30
38
|
}
|
|
31
39
|
catch (error) {
|
|
32
40
|
if (error instanceof CommsRequestError && error.httpStatusCode === 401) {
|
|
@@ -59,22 +67,20 @@ function buildStatusJson({ user, metadata }) {
|
|
|
59
67
|
/**
|
|
60
68
|
* Attach `tdc auth status` via cli-core's generic `attachStatusCommand`.
|
|
61
69
|
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
* `
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
* read once per invocation. `onNotAuthenticated` only fires when nothing
|
|
68
|
-
* is stored — it throws `NoTokenError` so the standard CliError envelope
|
|
69
|
-
* reaches the operator unchanged.
|
|
70
|
+
* cli-core reads the selected account first. `fetchLive` then refreshes OAuth
|
|
71
|
+
* accounts through the same auth shim as normal API calls before validating
|
|
72
|
+
* the token against Comms. `onNotAuthenticated` only fires when nothing is
|
|
73
|
+
* stored — it throws `NoTokenError` so the standard CliError envelope reaches
|
|
74
|
+
* the operator unchanged.
|
|
70
75
|
*/
|
|
71
76
|
export function attachCommsStatusCommand(auth, store) {
|
|
72
77
|
let data = null;
|
|
73
78
|
return attachStatusCommand(auth, {
|
|
74
79
|
store,
|
|
75
80
|
description: 'Show current authentication status',
|
|
76
|
-
fetchLive: async ({ token }) => {
|
|
77
|
-
|
|
81
|
+
fetchLive: async ({ account, token }) => {
|
|
82
|
+
const snapshot = account.id ? await getApiTokenSnapshot(account.id) : { account, token };
|
|
83
|
+
data = await gatherStatusData(snapshot.token, snapshot.account);
|
|
78
84
|
return {
|
|
79
85
|
id: String(data.user.id),
|
|
80
86
|
label: data.user.fullName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/commands/auth/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,iBAAiB,EAAa,MAAM,kBAAkB,CAAA;AAC/D,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAA;AAE3D,OAAO,
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/commands/auth/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/commands/channel/delete.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/commands/channel/delete.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAI3D,KAAK,oBAAoB,GAAG,eAAe,GAAG;IAAE,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEnF,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgC7F"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { CommsRequestError } from '@doist/comms-sdk';
|
|
2
1
|
import { getCommsClient } from '../../lib/api.js';
|
|
3
2
|
import { CliError } from '../../lib/errors.js';
|
|
4
3
|
import { formatJson, printDryRun } from '../../lib/output.js';
|
|
@@ -21,18 +20,7 @@ export async function deleteChannel(ref, options) {
|
|
|
21
20
|
return;
|
|
22
21
|
}
|
|
23
22
|
const client = await getCommsClient();
|
|
24
|
-
|
|
25
|
-
await client.channels.deleteChannel(channel.id);
|
|
26
|
-
}
|
|
27
|
-
catch (error) {
|
|
28
|
-
if (error instanceof CommsRequestError && error.httpStatusCode === 403) {
|
|
29
|
-
throw new CliError('FORBIDDEN', `Comms refused to delete "${channel.name}" (id:${channel.id}): 403 Forbidden.`, [
|
|
30
|
-
'Channel deletion is typically restricted to workspace admins',
|
|
31
|
-
'Ask a workspace admin to delete it, or use the Comms web UI',
|
|
32
|
-
]);
|
|
33
|
-
}
|
|
34
|
-
throw error;
|
|
35
|
-
}
|
|
23
|
+
await client.channels.deleteChannel(channel.id);
|
|
36
24
|
if (options.json) {
|
|
37
25
|
console.log(formatJson({ id: channel.id, deleted: true }));
|
|
38
26
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/channel/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/channel/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAIlD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAW,EAAE,OAA6B;IAC1E,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAClC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,IAAI,QAAQ,CACd,kBAAkB,EAClB,uDAAuD,CAC1D,CAAA;QACL,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAA;QACnC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;QACpC,OAAM;IACV,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAEjE,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,WAAW,CAAC,gBAAgB,EAAE;YAC1B,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,QAAQ,OAAO,CAAC,EAAE,GAAG;YAC7C,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;SACpD,CAAC,CAAA;QACF,OAAM;IACV,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAA;IACrC,MAAM,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAE/C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAC1D,OAAM;IACV,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,CAAC,IAAI,SAAS,OAAO,CAAC,EAAE,YAAY,CAAC,CAAA;AACxE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../src/commands/config/view.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,iBAAiB;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;CACtB;AAyHD,wBAAsB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../src/commands/config/view.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,iBAAiB;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;CACtB;AAyHD,wBAAsB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+B1E"}
|
|
@@ -106,7 +106,13 @@ export async function viewConfig(options) {
|
|
|
106
106
|
if (options.json) {
|
|
107
107
|
const output = { ...config };
|
|
108
108
|
if (output.users && !options.showToken) {
|
|
109
|
-
output.users = output.users.map((user) =>
|
|
109
|
+
output.users = output.users.map((user) => ({
|
|
110
|
+
...user,
|
|
111
|
+
...(user.token ? { token: maskToken(user.token) } : {}),
|
|
112
|
+
...(user.fallbackRefreshToken
|
|
113
|
+
? { fallbackRefreshToken: maskToken(user.fallbackRefreshToken) }
|
|
114
|
+
: {}),
|
|
115
|
+
}));
|
|
110
116
|
}
|
|
111
117
|
console.log(JSON.stringify(output, null, 2));
|
|
112
118
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/commands/config/view.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/commands/config/view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAA;AAClE,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAEH,YAAY,EACZ,aAAa,EACb,wBAAwB,EACxB,aAAa,GAChB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAe,aAAa,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAClF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAYhE,SAAS,SAAS,CAAC,KAAa;IAC5B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,MAAM,CAAA;IACnC,OAAO,QAAQ,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AACpC,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAmC;IAC5D,QAAQ,MAAM,EAAE,CAAC;QACb,KAAK,KAAK;YACN,OAAO,wBAAwB,aAAa,EAAE,CAAA;QAClD,KAAK,cAAc;YACf,OAAO,wBAAwB,CAAA;QACnC,KAAK,aAAa;YACd,OAAO,kCAAkC,CAAA;IACjD,CAAC;AACL,CAAC;AAED,KAAK,UAAU,kBAAkB;IAC7B,IAAI,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,aAAa,EAAE,CAAA;QACjD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;IAChD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,KAAK,YAAY,YAAY;YAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAA;QAC9D,IAAI,KAAK,YAAY,2BAA2B,EAAE,CAAC;YAC/C,OAAO;gBACH,KAAK,EAAE,aAAa;gBACpB,MAAM,EAAE,GAAG,wBAAwB,iBAAiB,KAAK,CAAC,OAAO,GAAG;aACvE,CAAA;QACL,CAAC;QACD,MAAM,KAAK,CAAA;IACf,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IAC/B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IACtE,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAA;IAC/D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;AACxB,CAAC;AAED,SAAS,eAAe,CAAC,KAAkB,EAAE,SAAkB;IAC3D,QAAQ,KAAK,CAAC,KAAK,EAAE,CAAC;QAClB,KAAK,SAAS,CAAC,CAAC,CAAC;YACb,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YAC9D,OAAO,GAAG,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAA;QACrF,CAAC;QACD,KAAK,aAAa;YACd,OAAO,KAAK,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;QACjD,KAAK,SAAS;YACV,OAAO,WAAW,CAAC,SAAS,CAAC,CAAA;IACrC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CACrB,MAAc,EACd,KAAkB,EAClB,SAAkB,EAClB,aAAsB;IAEtB,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9E,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,aAAa,EAAE,GAAG,YAAY,EAAE,CAAC,CAAA;IAC5E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAA;IAChC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,gEAAgE;QAChE,sCAAsC;QACtC,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,CAAA;QAC1D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAClE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;YAC7D,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QACzE,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAClB,CAAC;IAED,2EAA2E;IAC3E,6EAA6E;IAC7E,0EAA0E;IAC1E,+DAA+D;IAC/D,MAAM,aAAa,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;IAClD,MAAM,aAAa,GACf,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAA;IACzF,MAAM,cAAc,GAChB,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE,OAAO,CAAC,SAAS,CAAA;IAE3F,oEAAoE;IACpE,sEAAsE;IACtE,mEAAmE;IACnE,yDAAyD;IACzD,MAAM,YAAY,GACd,aAAa,KAAK,SAAS,IAAI,cAAc,KAAK,SAAS;QACvD,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAA;IAErC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAA;IACjD,KAAK,CAAC,IAAI,CAAC,oBAAoB,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,CAAA;IACnE,KAAK,CAAC,IAAI,CAAC,oBAAoB,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;IAC5D,KAAK,CAAC,IAAI,CAAC,oBAAoB,YAAY,EAAE,CAAC,CAAA;IAC9C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAA;IACnC,KAAK,CAAC,IAAI,CAAC,oBAAoB,WAAW,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAA;IACtE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;IACjC,KAAK,CAAC,IAAI,CAAC,oBAAoB,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;IACnE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAA;IACvC,KAAK,CAAC,IAAI,CAAC,4BAA4B,WAAW,CAAC,MAAM,CAAC,YAAY,EAAE,mBAAmB,CAAC,EAAE,CAAC,CAAA;IAE/F,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAA0B;IACvD,MAAM,IAAI,GAAG,MAAM,gBAAgB,EAAE,CAAA;IACrC,MAAM,MAAM,GAAW,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;IAElE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,MAAM,GAAW,EAAE,GAAG,MAAM,EAAE,CAAA;QACpC,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACrC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACvC,GAAG,IAAI;gBACP,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,GAAG,CAAC,IAAI,CAAC,oBAAoB;oBACzB,CAAC,CAAC,EAAE,oBAAoB,EAAE,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE;oBAChE,CAAC,CAAC,EAAE,CAAC;aACZ,CAAC,CAAC,CAAA;QACP,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QAC5C,OAAM;IACV,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,kBAAkB,EAAE,CAAA;IAExC,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACxD,OAAO,CAAC,GAAG,CACP,GAAG,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,aAAa,EAAE,IAAI,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,CACtF,CAAA;QACD,OAAM;IACV,CAAC;IAED,OAAO,CAAC,GAAG,CACP,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,SAAS,IAAI,KAAK,EAAE,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CACxF,CAAA;AACL,CAAC"}
|
|
@@ -9,7 +9,9 @@ export type ConversationWithOptions = PaginatedViewOptions & {
|
|
|
9
9
|
includeGroups?: boolean;
|
|
10
10
|
snippet?: boolean;
|
|
11
11
|
};
|
|
12
|
-
export type ReplyOptions = MutationOptions
|
|
12
|
+
export type ReplyOptions = MutationOptions & {
|
|
13
|
+
file?: string[];
|
|
14
|
+
};
|
|
13
15
|
export type MuteOptions = MutationOptions & {
|
|
14
16
|
minutes?: string;
|
|
15
17
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/commands/conversation/helpers.ts"],"names":[],"mappings":"AAAA,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,YAAY,GAAG,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/commands/conversation/helpers.ts"],"names":[],"mappings":"AAAA,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,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;AAED,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAatF;AAyBD,wBAAsB,sBAAsB,CACxC,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,GACrB,OAAO,CAAC,wBAAwB,CAAC,CAkBnC;AAED,wBAAsB,yBAAyB,CAC3C,aAAa,EAAE,YAAY,EAAE,EAC7B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,uBAAuB,GACjC,OAAO,CAAC,IAAI,CAAC,CAgDf;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAU9D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/conversation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/conversation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAUnC,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiIlE"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { collect } from '../../lib/options.js';
|
|
1
2
|
import { markConversationDone } from './done.js';
|
|
2
3
|
import { muteConversation } from './mute.js';
|
|
3
4
|
import { replyToConversation } from './reply.js';
|
|
@@ -62,6 +63,7 @@ Examples:
|
|
|
62
63
|
conversation
|
|
63
64
|
.command('reply <conversation-ref> [content]')
|
|
64
65
|
.description('Send a message in a conversation')
|
|
66
|
+
.option('--file <path>', 'Attach a file (repeatable; content optional)', collect, [])
|
|
65
67
|
.option('--dry-run', 'Show what would be sent without sending')
|
|
66
68
|
.option('--json', 'Output sent message as JSON')
|
|
67
69
|
.option('--full', 'Include all fields in JSON output')
|
|
@@ -69,7 +71,8 @@ Examples:
|
|
|
69
71
|
Examples:
|
|
70
72
|
tdc conversation reply 12345 "Hello!"
|
|
71
73
|
echo "Message body" | tdc conversation reply 12345
|
|
72
|
-
tdc conversation reply 12345 "Update" --json
|
|
74
|
+
tdc conversation reply 12345 "Update" --json
|
|
75
|
+
tdc conversation reply 12345 "See attached" --file ./photo.jpg`)
|
|
73
76
|
.action(replyToConversation);
|
|
74
77
|
conversation
|
|
75
78
|
.command('done <conversation-ref>')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/conversation/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAA;AAEpD,MAAM,UAAU,2BAA2B,CAAC,OAAgB;IACxD,MAAM,YAAY,GAAG,OAAO;SACvB,OAAO,CAAC,cAAc,CAAC;SACvB,KAAK,CAAC,OAAO,CAAC;SACd,WAAW,CAAC,oCAAoC,CAAC,CAAA;IAEtD,YAAY;SACP,OAAO,CAAC,wBAAwB,CAAC;SACjC,WAAW,CAAC,2BAA2B,CAAC;SACxC,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC;SACnD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,UAAU,EAAE,kCAAkC,CAAC;SACtD,MAAM,CAAC,QAAQ,EAAE,mCAAmC,CAAC;SACrD,WAAW,CACR,OAAO,EACP;;;iCAGqB,CACxB;SACA,MAAM,CAAC,UAAU,CAAC,CAAA;IAEvB,YAAY;SACP,OAAO,CAAC,yBAAyB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;SACvD,WAAW,CAAC,0CAA0C,CAAC;SACvD,MAAM,CAAC,aAAa,EAAE,oCAAoC,CAAC;SAC3D,MAAM,CAAC,gBAAgB,EAAE,qBAAqB,CAAC;SAC/C,MAAM,CAAC,gBAAgB,EAAE,qBAAqB,CAAC;SAC/C,MAAM,CAAC,OAAO,EAAE,uCAAuC,CAAC;SACxD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,UAAU,EAAE,kCAAkC,CAAC;SACtD,MAAM,CAAC,QAAQ,EAAE,mCAAmC,CAAC;SACrD,WAAW,CACR,OAAO,EACP;;;;wDAI4C,CAC/C;SACA,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACrB,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,YAAY,CAAC,IAAI,EAAE,CAAA;YACnB,OAAM;QACV,CAAC;QACD,OAAO,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;IAEN,YAAY;SACP,OAAO,CAAC,iCAAiC,CAAC;SAC1C,WAAW,CAAC,wCAAwC,CAAC;SACrD,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC;SACnD,MAAM,CAAC,kBAAkB,EAAE,+CAA+C,CAAC;SAC3E,MAAM,CAAC,WAAW,EAAE,mDAAmD,CAAC;SACxE,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,UAAU,EAAE,kCAAkC,CAAC;SACtD,MAAM,CAAC,QAAQ,EAAE,mCAAmC,CAAC;SACrD,WAAW,CACR,OAAO,EACP;;;;0DAI8C,CACjD;SACA,MAAM,CAAC,wBAAwB,CAAC,CAAA;IAErC,YAAY;SACP,OAAO,CAAC,oCAAoC,CAAC;SAC7C,WAAW,CAAC,kCAAkC,CAAC;SAC/C,MAAM,CAAC,WAAW,EAAE,yCAAyC,CAAC;SAC9D,MAAM,CAAC,QAAQ,EAAE,6BAA6B,CAAC;SAC/C,MAAM,CAAC,QAAQ,EAAE,mCAAmC,CAAC;SACrD,WAAW,CACR,OAAO,EACP
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/conversation/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reply.d.ts","sourceRoot":"","sources":["../../../src/commands/conversation/reply.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"reply.d.ts","sourceRoot":"","sources":["../../../src/commands/conversation/reply.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAEhD,wBAAsB,mBAAmB,CACrC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,OAAO,EAAE,YAAY,GACtB,OAAO,CAAC,IAAI,CAAC,CA+Df"}
|
|
@@ -1,37 +1,60 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
1
2
|
import { getCommsClient } from '../../lib/api.js';
|
|
3
|
+
import { uploadAttachments, validateAttachmentFiles } from '../../lib/attachments.js';
|
|
2
4
|
import { CliError } from '../../lib/errors.js';
|
|
3
5
|
import { openEditor, readStdin } from '../../lib/input.js';
|
|
4
6
|
import { formatJson, printDryRun } from '../../lib/output.js';
|
|
5
7
|
import { resolveConversationId } from '../../lib/refs.js';
|
|
6
8
|
export async function replyToConversation(ref, content, options) {
|
|
7
9
|
const conversationId = resolveConversationId(ref);
|
|
10
|
+
const files = options.file ?? [];
|
|
11
|
+
const hasFiles = files.length > 0;
|
|
8
12
|
let replyContent = await readStdin();
|
|
9
13
|
if (!replyContent && content) {
|
|
10
14
|
replyContent = content;
|
|
11
15
|
}
|
|
12
|
-
|
|
16
|
+
// A file-only message is allowed: skip the editor prompt and the empty-content guard.
|
|
17
|
+
if (!replyContent && !hasFiles) {
|
|
13
18
|
replyContent = await openEditor();
|
|
14
19
|
}
|
|
15
|
-
if (!replyContent || replyContent.trim() === '') {
|
|
16
|
-
throw new CliError('MISSING_CONTENT', 'No content provided. Pass content as an argument
|
|
20
|
+
if ((!replyContent || replyContent.trim() === '') && !hasFiles) {
|
|
21
|
+
throw new CliError('MISSING_CONTENT', 'No content provided. Pass content as an argument, pipe via stdin, or attach a file.');
|
|
17
22
|
}
|
|
23
|
+
const messageContent = replyContent ?? '';
|
|
18
24
|
if (options.dryRun) {
|
|
19
|
-
|
|
25
|
+
// Validate attachment paths so the preview fails on a bad path exactly
|
|
26
|
+
// as a real run would (no upload happens in dry-run).
|
|
27
|
+
if (hasFiles) {
|
|
28
|
+
await validateAttachmentFiles(files);
|
|
29
|
+
}
|
|
30
|
+
const preview = messageContent.length > 200 ? `${messageContent.slice(0, 200)}...` : messageContent;
|
|
20
31
|
printDryRun('send message to conversation', {
|
|
21
32
|
Conversation: String(conversationId),
|
|
22
|
-
|
|
33
|
+
Attach: hasFiles ? files.join(', ') : undefined,
|
|
34
|
+
Content: preview || undefined,
|
|
23
35
|
});
|
|
24
36
|
return;
|
|
25
37
|
}
|
|
26
38
|
const client = await getCommsClient();
|
|
39
|
+
// Preflight the target before uploading so an invalid or forbidden
|
|
40
|
+
// conversation fails fast instead of leaving an orphaned upload behind.
|
|
41
|
+
if (hasFiles) {
|
|
42
|
+
await client.conversations.getConversation(conversationId);
|
|
43
|
+
}
|
|
44
|
+
const attachments = hasFiles ? await uploadAttachments(files) : undefined;
|
|
27
45
|
const message = await client.conversationMessages.createMessage({
|
|
28
46
|
conversationId,
|
|
29
|
-
content:
|
|
47
|
+
content: messageContent,
|
|
48
|
+
attachments,
|
|
30
49
|
});
|
|
31
50
|
if (options.json) {
|
|
32
51
|
console.log(formatJson(message, 'message', options.full));
|
|
33
52
|
return;
|
|
34
53
|
}
|
|
35
54
|
console.log(`Message sent: ${message.url}`);
|
|
55
|
+
if (attachments && attachments.length > 0) {
|
|
56
|
+
const names = attachments.map((a) => a.fileName ?? 'file').join(', ');
|
|
57
|
+
console.log(chalk.dim(`Attached: ${names}`));
|
|
58
|
+
}
|
|
36
59
|
}
|
|
37
60
|
//# sourceMappingURL=reply.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reply.js","sourceRoot":"","sources":["../../../src/commands/conversation/reply.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAGzD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,GAAW,EACX,OAA2B,EAC3B,OAAqB;IAErB,MAAM,cAAc,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAA;IAEjD,IAAI,YAAY,GAAG,MAAM,SAAS,EAAE,CAAA;IACpC,IAAI,CAAC,YAAY,IAAI,OAAO,EAAE,CAAC;QAC3B,YAAY,GAAG,OAAO,CAAA;IAC1B,CAAC;IACD,IAAI,CAAC,YAAY,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"reply.js","sourceRoot":"","sources":["../../../src/commands/conversation/reply.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/doctor.js
CHANGED
|
@@ -182,7 +182,7 @@ async function checkAuthentication(offline) {
|
|
|
182
182
|
let token;
|
|
183
183
|
let metadata;
|
|
184
184
|
try {
|
|
185
|
-
const probe = await probeApiToken();
|
|
185
|
+
const probe = await probeApiToken({ refresh: !offline });
|
|
186
186
|
token = probe.token;
|
|
187
187
|
metadata = probe.metadata;
|
|
188
188
|
}
|
|
@@ -218,7 +218,7 @@ async function checkAuthentication(offline) {
|
|
|
218
218
|
};
|
|
219
219
|
}
|
|
220
220
|
try {
|
|
221
|
-
const api = createWrappedCommsClient(token);
|
|
221
|
+
const api = createWrappedCommsClient(token, { baseUrl: metadata.authResource });
|
|
222
222
|
const user = await api.users.getSessionUser();
|
|
223
223
|
details.email = user.email;
|
|
224
224
|
details.name = user.fullName;
|