@doist/comms-cli 3.3.0 → 3.4.1
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 +6 -0
- package/dist/commands/conversation/{done.d.ts → archive.d.ts} +2 -1
- package/dist/commands/conversation/archive.d.ts.map +1 -0
- package/dist/commands/conversation/archive.js +47 -0
- package/dist/commands/conversation/archive.js.map +1 -0
- package/dist/commands/conversation/index.d.ts.map +1 -1
- package/dist/commands/conversation/index.js +12 -1
- package/dist/commands/conversation/index.js.map +1 -1
- package/dist/commands/thread/helpers.d.ts +35 -0
- package/dist/commands/thread/helpers.d.ts.map +1 -1
- package/dist/commands/thread/helpers.js +116 -3
- package/dist/commands/thread/helpers.js.map +1 -1
- package/dist/commands/thread/index.d.ts.map +1 -1
- package/dist/commands/thread/index.js +34 -1
- package/dist/commands/thread/index.js.map +1 -1
- package/dist/commands/thread/mutate.d.ts +1 -0
- package/dist/commands/thread/mutate.d.ts.map +1 -1
- package/dist/commands/thread/mutate.js +25 -8
- package/dist/commands/thread/mutate.js.map +1 -1
- package/dist/commands/thread/read.d.ts.map +1 -1
- package/dist/commands/thread/read.js +16 -101
- package/dist/commands/thread/read.js.map +1 -1
- package/dist/commands/thread/unread.d.ts +6 -0
- package/dist/commands/thread/unread.d.ts.map +1 -0
- package/dist/commands/thread/unread.js +52 -0
- package/dist/commands/thread/unread.js.map +1 -0
- package/dist/lib/api.d.ts.map +1 -1
- package/dist/lib/api.js +13 -1
- package/dist/lib/api.js.map +1 -1
- package/dist/lib/errors.d.ts +14 -1
- package/dist/lib/errors.d.ts.map +1 -1
- package/dist/lib/errors.js +37 -10
- package/dist/lib/errors.js.map +1 -1
- package/dist/lib/refs.d.ts +8 -0
- package/dist/lib/refs.d.ts.map +1 -1
- package/dist/lib/refs.js +59 -13
- package/dist/lib/refs.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 -1
- package/dist/lib/skills/content.js.map +1 -1
- package/package.json +1 -1
- package/dist/commands/conversation/done.d.ts.map +0 -1
- package/dist/commands/conversation/done.js +0 -32
- package/dist/commands/conversation/done.js.map +0 -1
|
@@ -1,109 +1,24 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { CliError } from '../../lib/errors.js';
|
|
3
|
-
import { readStdinToEnd } from '../../lib/input.js';
|
|
4
|
-
import { formatJson, pluralize } from '../../lib/output.js';
|
|
5
|
-
import { assertChannelIsPublic } from '../../lib/public-channels.js';
|
|
6
|
-
import { resolveThreadId } from '../../lib/refs.js';
|
|
1
|
+
import { runThreadReadStateMutation } from './helpers.js';
|
|
7
2
|
export async function markThreadRead(refs, options) {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
if (!loaded.isUnread) {
|
|
24
|
-
jsonStatuses.push({ id: threadId, isRead: true });
|
|
25
|
-
textStatuses.push('unchanged');
|
|
26
|
-
if (!options.json) {
|
|
27
|
-
console.log(`Thread ${threadLabel(loaded.thread)} is already read.`);
|
|
28
|
-
}
|
|
29
|
-
continue;
|
|
30
|
-
}
|
|
31
|
-
if (needsConfirmation || options.dryRun) {
|
|
32
|
-
jsonStatuses.push({ id: threadId, isRead: true });
|
|
33
|
-
textStatuses.push('preview');
|
|
34
|
-
if (!options.json) {
|
|
35
|
-
const prefix = options.dryRun ? 'Dry run: would' : 'Would';
|
|
36
|
-
console.log(`${prefix} mark read thread ${threadLabel(loaded.thread)}.`);
|
|
37
|
-
}
|
|
38
|
-
continue;
|
|
39
|
-
}
|
|
40
|
-
await client.threads.markRead({
|
|
41
|
-
id: threadId,
|
|
42
|
-
objIndex: getLatestObjIndex(loaded.thread),
|
|
43
|
-
});
|
|
44
|
-
unreadCache.get(loaded.thread.workspaceId)?.delete(threadId);
|
|
45
|
-
jsonStatuses.push({ id: threadId, isRead: true });
|
|
46
|
-
textStatuses.push('changed');
|
|
47
|
-
if (!options.json) {
|
|
48
|
-
console.log(`Thread ${threadLabel(loaded.thread)} marked read.`);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
if (options.json && !options.dryRun) {
|
|
52
|
-
console.log(formatJson(jsonStatuses));
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
if (!options.json && rawRefs.length > 1) {
|
|
56
|
-
printSummary(textStatuses);
|
|
57
|
-
}
|
|
58
|
-
if (!options.json && needsConfirmation) {
|
|
59
|
-
console.log('Use --yes to confirm.');
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
async function collectThreadRefs(refs) {
|
|
63
|
-
const inlineRefs = refs.map((ref) => ref.trim()).filter(Boolean);
|
|
64
|
-
const stdinContent = await readStdinToEnd();
|
|
65
|
-
if (!stdinContent)
|
|
66
|
-
return inlineRefs;
|
|
67
|
-
const stdinRefs = stdinContent
|
|
68
|
-
.split(/\r?\n/)
|
|
69
|
-
.map((line) => line.trim())
|
|
70
|
-
.filter((line) => line !== '' && !line.startsWith('#'));
|
|
71
|
-
return [...inlineRefs, ...stdinRefs];
|
|
72
|
-
}
|
|
73
|
-
async function loadThread(client, unreadCache, threadId) {
|
|
74
|
-
const thread = await client.threads.getThread(threadId);
|
|
75
|
-
await assertChannelIsPublic(thread.channelId, thread.workspaceId);
|
|
76
|
-
let unreadIds = unreadCache.get(thread.workspaceId);
|
|
77
|
-
if (!unreadIds) {
|
|
78
|
-
const unread = await client.threads.getUnread(thread.workspaceId);
|
|
79
|
-
unreadIds = new Set(unread.data.map((unreadThread) => unreadThread.threadId));
|
|
80
|
-
unreadCache.set(thread.workspaceId, unreadIds);
|
|
81
|
-
}
|
|
82
|
-
return { thread, isUnread: unreadIds.has(thread.id) };
|
|
3
|
+
await runThreadReadStateMutation(refs, options, {
|
|
4
|
+
verb: 'read',
|
|
5
|
+
plan: async (_client, threadId) => ({
|
|
6
|
+
scope: '',
|
|
7
|
+
isUnchanged: (state) => state.lastReadObjIndex === null,
|
|
8
|
+
status: () => ({ id: threadId, isRead: true }),
|
|
9
|
+
apply: async (client, state) => {
|
|
10
|
+
await client.threads.markRead({
|
|
11
|
+
id: threadId,
|
|
12
|
+
objIndex: getLatestObjIndex(state.thread),
|
|
13
|
+
});
|
|
14
|
+
return null;
|
|
15
|
+
},
|
|
16
|
+
}),
|
|
17
|
+
});
|
|
83
18
|
}
|
|
84
19
|
function getLatestObjIndex(thread) {
|
|
85
20
|
return Math.max(...[thread.lastComment?.objIndex, thread.lastObjIndex, thread.commentCount, 0]
|
|
86
21
|
.filter((value) => typeof value === 'number')
|
|
87
22
|
.map((value) => Math.max(value, 0)));
|
|
88
23
|
}
|
|
89
|
-
function threadLabel(thread) {
|
|
90
|
-
return `${thread.title} (${thread.id})`;
|
|
91
|
-
}
|
|
92
|
-
function printSummary(statuses) {
|
|
93
|
-
const summary = [
|
|
94
|
-
summarizeStatus(statuses, 'changed'),
|
|
95
|
-
summarizeStatus(statuses, 'unchanged'),
|
|
96
|
-
summarizeStatus(statuses, 'preview'),
|
|
97
|
-
].filter(Boolean);
|
|
98
|
-
console.log('');
|
|
99
|
-
console.log(`Summary: ${summary.join(', ')}`);
|
|
100
|
-
}
|
|
101
|
-
function summarizeStatus(statuses, status) {
|
|
102
|
-
const count = statuses.filter((value) => value === status).length;
|
|
103
|
-
if (count === 0) {
|
|
104
|
-
return null;
|
|
105
|
-
}
|
|
106
|
-
const noun = status === 'preview' ? pluralize(count, 'preview') : pluralize(count, 'thread');
|
|
107
|
-
return status === 'preview' ? `${count} ${noun}` : `${count} ${status} ${noun}`;
|
|
108
|
-
}
|
|
109
24
|
//# sourceMappingURL=read.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../../src/commands/thread/read.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../../src/commands/thread/read.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAA;AASzD,MAAM,CAAC,KAAK,UAAU,cAAc,CAChC,IAAc,EACd,OAA8B;IAE9B,MAAM,0BAA0B,CAAiB,IAAI,EAAE,OAAO,EAAE;QAC5D,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;YAChC,KAAK,EAAE,EAAE;YACT,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,gBAAgB,KAAK,IAAI;YACvD,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC9C,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;gBAC3B,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;oBAC1B,EAAE,EAAE,QAAQ;oBACZ,QAAQ,EAAE,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC;iBAC5C,CAAC,CAAA;gBACF,OAAO,IAAI,CAAA;YACf,CAAC;SACJ,CAAC;KACL,CAAC,CAAA;AACN,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAc;IACrC,OAAO,IAAI,CAAC,GAAG,CACX,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;SACzE,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;SAC7D,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAC1C,CAAA;AACL,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { MutationOptions } from '../../lib/options.js';
|
|
2
|
+
export type MarkThreadUnreadOptions = MutationOptions & {
|
|
3
|
+
from?: string;
|
|
4
|
+
};
|
|
5
|
+
export declare function markThreadUnread(refs: string[], options: MarkThreadUnreadOptions): Promise<void>;
|
|
6
|
+
//# sourceMappingURL=unread.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unread.d.ts","sourceRoot":"","sources":["../../../src/commands/thread/unread.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAI3D,MAAM,MAAM,uBAAuB,GAAG,eAAe,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAYzE,wBAAsB,gBAAgB,CAClC,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE,uBAAuB,GACjC,OAAO,CAAC,IAAI,CAAC,CAoCf"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { CliError } from '../../lib/errors.js';
|
|
2
|
+
import { resolveCommentId } from '../../lib/refs.js';
|
|
3
|
+
import { runThreadReadStateMutation } from './helpers.js';
|
|
4
|
+
/** The API marks the thread body and every comment unread from `-1`. */
|
|
5
|
+
const WHOLE_THREAD = -1;
|
|
6
|
+
export async function markThreadUnread(refs, options) {
|
|
7
|
+
const from = options.from;
|
|
8
|
+
await runThreadReadStateMutation(refs, options, {
|
|
9
|
+
verb: 'unread',
|
|
10
|
+
validateRefs: (rawRefs) => {
|
|
11
|
+
if (from !== undefined && rawRefs.length > 1) {
|
|
12
|
+
throw new CliError('CONFLICTING_OPTIONS', '--from applies to a single thread; pass one thread ref when using it.');
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
plan: async (client, threadId) => {
|
|
16
|
+
const target = from === undefined
|
|
17
|
+
? WHOLE_THREAD
|
|
18
|
+
: await resolveFromObjIndex(client, threadId, from);
|
|
19
|
+
return {
|
|
20
|
+
scope: from === undefined ? '' : ` from comment ${from}`,
|
|
21
|
+
// Already unread at or before the target: nothing to move.
|
|
22
|
+
isUnchanged: (state) => state.lastReadObjIndex !== null && state.lastReadObjIndex <= target,
|
|
23
|
+
status: (state, outcome) => ({
|
|
24
|
+
id: threadId,
|
|
25
|
+
isRead: false,
|
|
26
|
+
lastReadObjIndex: outcome === 'unchanged' ? (state.lastReadObjIndex ?? target) : target,
|
|
27
|
+
}),
|
|
28
|
+
apply: async (client) => {
|
|
29
|
+
await client.threads.markUnread({ id: threadId, objIndex: target });
|
|
30
|
+
return target;
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Turns a comment ref into the `objIndex` to hand `markUnread`: the API takes
|
|
38
|
+
* the last comment that stays READ, so a comment at index N becomes the first
|
|
39
|
+
* unread one when the thread is marked unread from N - 1.
|
|
40
|
+
*/
|
|
41
|
+
async function resolveFromObjIndex(client, threadId, commentRef) {
|
|
42
|
+
const commentId = resolveCommentId(commentRef);
|
|
43
|
+
const comment = await client.comments.getComment(commentId);
|
|
44
|
+
if (comment.threadId !== threadId) {
|
|
45
|
+
throw new CliError('INVALID_REF', `Comment ${commentId} belongs to thread ${comment.threadId}, not ${threadId}.`);
|
|
46
|
+
}
|
|
47
|
+
if (typeof comment.objIndex !== 'number') {
|
|
48
|
+
throw new CliError('INVALID_REF', `Comment ${commentId} has no object index; cannot mark unread from it.`);
|
|
49
|
+
}
|
|
50
|
+
return comment.objIndex - 1;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=unread.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unread.js","sourceRoot":"","sources":["../../../src/commands/thread/unread.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAA;AAWzD,wEAAwE;AACxE,MAAM,YAAY,GAAG,CAAC,CAAC,CAAA;AAEvB,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAClC,IAAc,EACd,OAAgC;IAEhC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;IAEzB,MAAM,0BAA0B,CAAmB,IAAI,EAAE,OAAO,EAAE;QAC9D,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE;YACtB,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3C,MAAM,IAAI,QAAQ,CACd,qBAAqB,EACrB,uEAAuE,CAC1E,CAAA;YACL,CAAC;QACL,CAAC;QACD,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;YAC7B,MAAM,MAAM,GACR,IAAI,KAAK,SAAS;gBACd,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,MAAM,mBAAmB,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;YAC3D,OAAO;gBACH,KAAK,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,IAAI,EAAE;gBACxD,2DAA2D;gBAC3D,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CACnB,KAAK,CAAC,gBAAgB,KAAK,IAAI,IAAI,KAAK,CAAC,gBAAgB,IAAI,MAAM;gBACvE,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;oBACzB,EAAE,EAAE,QAAQ;oBACZ,MAAM,EAAE,KAAK;oBACb,gBAAgB,EACZ,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM;iBAC5E,CAAC;gBACF,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;oBACpB,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;oBACnE,OAAO,MAAM,CAAA;gBACjB,CAAC;aACJ,CAAA;QACL,CAAC;KACJ,CAAC,CAAA;AACN,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,mBAAmB,CAC9B,MAAgB,EAChB,QAAgB,EAChB,UAAkB;IAElB,MAAM,SAAS,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAA;IAC9C,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;IAE3D,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,IAAI,QAAQ,CACd,aAAa,EACb,WAAW,SAAS,sBAAsB,OAAO,CAAC,QAAQ,SAAS,QAAQ,GAAG,CACjF,CAAA;IACL,CAAC;IACD,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,IAAI,QAAQ,CACd,aAAa,EACb,WAAW,SAAS,mDAAmD,CAC1E,CAAA;IACL,CAAC;IAED,OAAO,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;AAC/B,CAAC"}
|
package/dist/lib/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,QAAQ,EACR,KAAK,KAAK,EACV,KAAK,IAAI,EACT,KAAK,SAAS,EACd,KAAK,aAAa,EACrB,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,QAAQ,EACR,KAAK,KAAK,EACV,KAAK,IAAI,EACT,KAAK,SAAS,EACd,KAAK,aAAa,EACrB,MAAM,kBAAkB,CAAA;AAuRzB,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAED,wBAAgB,wBAAwB,CACpC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GACnC,QAAQ,CAIV;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,QAAQ,CAAC,CAMxD;AAKD,wBAAsB,eAAe,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAO5D;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAED,wBAAsB,qBAAqB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA6B/E;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAOpD;AAqBD,wBAAsB,iBAAiB,CACnC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAO,GAC3C,OAAO,CAAC,aAAa,EAAE,CAAC,CAE1B;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAClC,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,QAAQ,GAClB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAkB9B;AAED,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAG9E;AAED,wBAAsB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAG9E;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE;IACpC,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACrB,GAAG,OAAO,CAAC,KAAK,CAAC,CAGjB;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE;IACpC,EAAE,EAAE,MAAM,CAAA;IACV,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;CAChB,GAAG,OAAO,CAAC,KAAK,CAAC,CAGjB;AAED,wBAAsB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGhF;AAED,wBAAsB,eAAe,CACjC,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EAAE,GAClB,OAAO,CAAC,IAAI,CAAC,CAGf;AAED,wBAAsB,oBAAoB,CACtC,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EAAE,GAClB,OAAO,CAAC,IAAI,CAAC,CAGf;AAED,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAGpF;AAED,wBAAsB,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAGzF;AAED,wBAAgB,cAAc,IAAI,IAAI,CAErC;AAED,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,CAAA"}
|
package/dist/lib/api.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CommsApi, } from '@doist/comms-sdk';
|
|
2
2
|
import { getApiTokenSnapshot } from './auth.js';
|
|
3
3
|
import { getConfig, updateConfig } from './config.js';
|
|
4
|
-
import { CliError, isForbidden, isInsufficientScope, isInvalidToken } from './errors.js';
|
|
4
|
+
import { CliError, getCommsErrorString, isConflict, isForbidden, isInsufficientScope, isInvalidToken, isMalformedId, isNotFound, } from './errors.js';
|
|
5
5
|
import { ensureMutationAllowed, isMutatingMethod } from './permissions.js';
|
|
6
6
|
import { getProgressTracker } from './progress.js';
|
|
7
7
|
import { withSpinner } from './spinner.js';
|
|
@@ -25,6 +25,7 @@ const API_SPINNER_MESSAGES = {
|
|
|
25
25
|
'threads.reopenThread': { text: 'Reopening thread...', color: 'yellow' },
|
|
26
26
|
'threads.updateThread': { text: 'Updating thread...', color: 'yellow' },
|
|
27
27
|
'threads.markRead': { text: 'Marking thread read...', color: 'yellow' },
|
|
28
|
+
'threads.markUnread': { text: 'Marking thread unread...', color: 'yellow' },
|
|
28
29
|
'threads.muteThread': { text: 'Muting thread...', color: 'yellow' },
|
|
29
30
|
'threads.unmuteThread': { text: 'Unmuting thread...', color: 'yellow' },
|
|
30
31
|
'threads.deleteThread': { text: 'Deleting thread...', color: 'yellow' },
|
|
@@ -174,6 +175,17 @@ function wrapResult(result, progressTracker, spinnerConfig) {
|
|
|
174
175
|
'Re-authenticate with `tdc auth login`, then check `tdc auth status`',
|
|
175
176
|
]);
|
|
176
177
|
}
|
|
178
|
+
if (isNotFound(error)) {
|
|
179
|
+
throw new CliError('NOT_FOUND', 'Comms could not find that resource: 404.', [
|
|
180
|
+
'Check the id, or pass the Comms URL instead',
|
|
181
|
+
]);
|
|
182
|
+
}
|
|
183
|
+
if (isMalformedId(error)) {
|
|
184
|
+
throw new CliError('INVALID_REF', `Comms rejected the id: ${getCommsErrorString(error) ?? 'it does not decode to a Comms id (409)'}`);
|
|
185
|
+
}
|
|
186
|
+
if (isConflict(error)) {
|
|
187
|
+
throw new CliError('CONFLICT', `Comms refused this request: ${getCommsErrorString(error) ?? '409 Conflict'}`);
|
|
188
|
+
}
|
|
177
189
|
throw error;
|
|
178
190
|
});
|
|
179
191
|
if (spinnerConfig) {
|
package/dist/lib/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/errors.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export type { ErrorType } from '@doist/cli-core';
|
|
|
6
6
|
* This union provides intellisense suggestions while still accepting any string,
|
|
7
7
|
* allowing dynamic codes and future additions.
|
|
8
8
|
*/
|
|
9
|
-
export type ErrorCode = 'AUTH_DCR_FAILED' | 'AUTH_FAILED' | 'AUTH_REFRESH_EXPIRED' | 'AUTH_REFRESH_TRANSIENT' | 'AUTH_TOKEN_EXCHANGE_FAILED' | 'FORBIDDEN' | 'INSUFFICIENT_SCOPE' | 'INVALID_CREDENTIAL_STORE' | 'INVALID_TOKEN' | 'NO_TOKEN' | 'READ_ONLY' | 'CONFLICTING_OPTIONS' | 'INVALID_CURSOR' | 'INVALID_DATE' | 'INVALID_ID' | 'INVALID_LIMIT' | 'INVALID_MINUTES' | 'INVALID_REF' | 'INVALID_SCOPE' | 'INVALID_STATE' | 'INVALID_TYPE' | 'INVALID_URL' | 'INVALID_VALUE' | 'MISSING_CONTENT' | 'MISSING_YES_FLAG' | 'UNKNOWN_KEY' | 'INVALID_NAME' | 'MISSING_USERS' | 'ACCOUNT_NOT_FOUND' | 'CHANNEL_NOT_FOUND' | 'GROUP_NOT_FOUND' | 'NOT_FOUND' | 'USER_NOT_FOUND' | 'WORKSPACE_NOT_FOUND' | 'AMBIGUOUS_CHANNEL' | 'AMBIGUOUS_GROUP' | 'AMBIGUOUS_USER' | 'AMBIGUOUS_WORKSPACE' | 'ALREADY_INSTALLED' | 'BATCH_FAILED' | 'PAGINATION_STALLED' | 'FILE_NOT_FOUND' | 'FILE_READ_ERROR' | 'NOT_CREATOR' | 'NOT_INSTALLED' | 'UNKNOWN_AGENT' | 'API_ERROR' | 'INTERNAL_ERROR' | 'CONFIG_READ_FAILED' | 'CONFIG_INVALID_JSON' | 'CONFIG_INVALID_SHAPE' | (string & {});
|
|
9
|
+
export type ErrorCode = 'AUTH_DCR_FAILED' | 'AUTH_FAILED' | 'AUTH_REFRESH_EXPIRED' | 'AUTH_REFRESH_TRANSIENT' | 'AUTH_TOKEN_EXCHANGE_FAILED' | 'FORBIDDEN' | 'INSUFFICIENT_SCOPE' | 'INVALID_CREDENTIAL_STORE' | 'INVALID_TOKEN' | 'NO_TOKEN' | 'READ_ONLY' | 'CONFLICTING_OPTIONS' | 'INVALID_CURSOR' | 'INVALID_DATE' | 'INVALID_ID' | 'INVALID_LIMIT' | 'INVALID_MINUTES' | 'INVALID_REF' | 'INVALID_SCOPE' | 'INVALID_STATE' | 'INVALID_TYPE' | 'INVALID_URL' | 'INVALID_VALUE' | 'MISSING_CONTENT' | 'MISSING_YES_FLAG' | 'UNKNOWN_KEY' | 'INVALID_NAME' | 'MISSING_USERS' | 'ACCOUNT_NOT_FOUND' | 'CHANNEL_NOT_FOUND' | 'GROUP_NOT_FOUND' | 'NOT_FOUND' | 'USER_NOT_FOUND' | 'WORKSPACE_NOT_FOUND' | 'AMBIGUOUS_CHANNEL' | 'AMBIGUOUS_GROUP' | 'AMBIGUOUS_USER' | 'AMBIGUOUS_WORKSPACE' | 'ALREADY_INSTALLED' | 'BATCH_FAILED' | 'PAGINATION_STALLED' | 'FILE_NOT_FOUND' | 'FILE_READ_ERROR' | 'NOT_CREATOR' | 'NOT_INSTALLED' | 'UNKNOWN_AGENT' | 'API_ERROR' | 'CONFLICT' | 'INTERNAL_ERROR' | 'CONFIG_READ_FAILED' | 'CONFIG_INVALID_JSON' | 'CONFIG_INVALID_SHAPE' | (string & {});
|
|
10
10
|
/**
|
|
11
11
|
* Check whether an error is a Comms API 403 "Insufficient scope" response.
|
|
12
12
|
* Works with any error shaped like CommsRequestError (httpStatusCode + responseData).
|
|
@@ -27,6 +27,19 @@ export declare function isForbidden(error: unknown): boolean;
|
|
|
27
27
|
* indistinguishable on the wire, so the hint covers both.
|
|
28
28
|
*/
|
|
29
29
|
export declare function isInvalidToken(error: unknown): boolean;
|
|
30
|
+
/** True when `error` is a CliError carrying one of the given codes. */
|
|
31
|
+
export declare function isCliErrorCode(error: unknown, ...codes: ErrorCode[]): boolean;
|
|
32
|
+
export declare function isNotFound(error: unknown): boolean;
|
|
33
|
+
export declare function isConflict(error: unknown): boolean;
|
|
34
|
+
/** The server's `error_string`, when the response body carried one. */
|
|
35
|
+
export declare function getCommsErrorString(error: unknown): string | null;
|
|
36
|
+
/** The server's numeric `error_code`, when the response body carried one. */
|
|
37
|
+
export declare function getCommsErrorCode(error: unknown): number | null;
|
|
38
|
+
/**
|
|
39
|
+
* Comms answers 409 with error_code 217 when an id does not base58-decode to
|
|
40
|
+
* 16 bytes. That is a bad reference, not a conflict.
|
|
41
|
+
*/
|
|
42
|
+
export declare function isMalformedId(error: unknown): boolean;
|
|
30
43
|
/**
|
|
31
44
|
* Comms-flavoured CliError that preserves the historical positional
|
|
32
45
|
* `(code, message, hints?, type?)` signature used across hundreds of call
|
package/dist/lib/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE7F,OAAO,EAAE,YAAY,EAAE,CAAA;AACvB,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAEhD;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAEf,iBAAiB,GACjB,aAAa,GACb,sBAAsB,GACtB,wBAAwB,GACxB,4BAA4B,GAC5B,WAAW,GACX,oBAAoB,GACpB,0BAA0B,GAC1B,eAAe,GACf,UAAU,GACV,WAAW,GAEX,qBAAqB,GACrB,gBAAgB,GAChB,cAAc,GACd,YAAY,GACZ,eAAe,GACf,iBAAiB,GACjB,aAAa,GACb,eAAe,GACf,eAAe,GACf,cAAc,GACd,aAAa,GACb,eAAe,GACf,iBAAiB,GACjB,kBAAkB,GAClB,aAAa,GACb,cAAc,GACd,eAAe,GAEf,mBAAmB,GACnB,mBAAmB,GACnB,iBAAiB,GACjB,WAAW,GACX,gBAAgB,GAChB,qBAAqB,GAErB,mBAAmB,GACnB,iBAAiB,GACjB,gBAAgB,GAChB,qBAAqB,GAErB,mBAAmB,GACnB,cAAc,GACd,oBAAoB,GACpB,gBAAgB,GAChB,iBAAiB,GACjB,aAAa,GACb,eAAe,GACf,eAAe,GAEf,WAAW,GACX,gBAAgB,GAEhB,oBAAoB,GACpB,qBAAqB,GACrB,sBAAsB,GAEtB,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;AAYnB;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE7F,OAAO,EAAE,YAAY,EAAE,CAAA;AACvB,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAEhD;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAEf,iBAAiB,GACjB,aAAa,GACb,sBAAsB,GACtB,wBAAwB,GACxB,4BAA4B,GAC5B,WAAW,GACX,oBAAoB,GACpB,0BAA0B,GAC1B,eAAe,GACf,UAAU,GACV,WAAW,GAEX,qBAAqB,GACrB,gBAAgB,GAChB,cAAc,GACd,YAAY,GACZ,eAAe,GACf,iBAAiB,GACjB,aAAa,GACb,eAAe,GACf,eAAe,GACf,cAAc,GACd,aAAa,GACb,eAAe,GACf,iBAAiB,GACjB,kBAAkB,GAClB,aAAa,GACb,cAAc,GACd,eAAe,GAEf,mBAAmB,GACnB,mBAAmB,GACnB,iBAAiB,GACjB,WAAW,GACX,gBAAgB,GAChB,qBAAqB,GAErB,mBAAmB,GACnB,iBAAiB,GACjB,gBAAgB,GAChB,qBAAqB,GAErB,mBAAmB,GACnB,cAAc,GACd,oBAAoB,GACpB,gBAAgB,GAChB,iBAAiB,GACjB,aAAa,GACb,eAAe,GACf,eAAe,GAEf,WAAW,GACX,UAAU,GACV,gBAAgB,GAEhB,oBAAoB,GACpB,qBAAqB,GACrB,sBAAsB,GAEtB,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;AAYnB;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAK3D;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEnD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEtD;AAED,uEAAuE;AACvE,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAE7E;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAElD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAElD;AASD,uEAAuE;AACvE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAGjE;AAED,6EAA6E;AAC7E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAG/D;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAErD;AAED;;;;;;;;;GASG;AACH,qBAAa,QAAS,SAAQ,YAAY,CAAC,SAAS,CAAC;gBAE7C,IAAI,EAAE,SAAS,GAAG,YAAY,EAC9B,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,EAAE,EAChB,IAAI,GAAE,SAAmB;CAIhC"}
|
package/dist/lib/errors.js
CHANGED
|
@@ -12,16 +12,8 @@ function hasCommsStatusCode(error, status) {
|
|
|
12
12
|
* Works with any error shaped like CommsRequestError (httpStatusCode + responseData).
|
|
13
13
|
*/
|
|
14
14
|
export function isInsufficientScope(error) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
if (!('responseData' in error))
|
|
18
|
-
return false;
|
|
19
|
-
const data = error.responseData;
|
|
20
|
-
return (typeof data === 'object' &&
|
|
21
|
-
data !== null &&
|
|
22
|
-
'error_string' in data &&
|
|
23
|
-
typeof data.error_string === 'string' &&
|
|
24
|
-
data.error_string.includes('Insufficient scope'));
|
|
15
|
+
return (hasCommsStatusCode(error, 403) &&
|
|
16
|
+
(getCommsErrorString(error)?.includes('Insufficient scope') ?? false));
|
|
25
17
|
}
|
|
26
18
|
/**
|
|
27
19
|
* Check whether an error is a plain workspace-permission 403 — i.e. a 403 that
|
|
@@ -42,6 +34,41 @@ export function isForbidden(error) {
|
|
|
42
34
|
export function isInvalidToken(error) {
|
|
43
35
|
return hasCommsStatusCode(error, 401);
|
|
44
36
|
}
|
|
37
|
+
/** True when `error` is a CliError carrying one of the given codes. */
|
|
38
|
+
export function isCliErrorCode(error, ...codes) {
|
|
39
|
+
return error instanceof CliError && codes.includes(error.code);
|
|
40
|
+
}
|
|
41
|
+
export function isNotFound(error) {
|
|
42
|
+
return hasCommsStatusCode(error, 404);
|
|
43
|
+
}
|
|
44
|
+
export function isConflict(error) {
|
|
45
|
+
return hasCommsStatusCode(error, 409);
|
|
46
|
+
}
|
|
47
|
+
function getCommsResponseField(error, field) {
|
|
48
|
+
if (typeof error !== 'object' || error === null || !('responseData' in error))
|
|
49
|
+
return undefined;
|
|
50
|
+
const data = error.responseData;
|
|
51
|
+
if (typeof data !== 'object' || data === null || !(field in data))
|
|
52
|
+
return undefined;
|
|
53
|
+
return data[field];
|
|
54
|
+
}
|
|
55
|
+
/** The server's `error_string`, when the response body carried one. */
|
|
56
|
+
export function getCommsErrorString(error) {
|
|
57
|
+
const value = getCommsResponseField(error, 'error_string');
|
|
58
|
+
return typeof value === 'string' ? value : null;
|
|
59
|
+
}
|
|
60
|
+
/** The server's numeric `error_code`, when the response body carried one. */
|
|
61
|
+
export function getCommsErrorCode(error) {
|
|
62
|
+
const value = getCommsResponseField(error, 'error_code');
|
|
63
|
+
return typeof value === 'number' ? value : null;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Comms answers 409 with error_code 217 when an id does not base58-decode to
|
|
67
|
+
* 16 bytes. That is a bad reference, not a conflict.
|
|
68
|
+
*/
|
|
69
|
+
export function isMalformedId(error) {
|
|
70
|
+
return isConflict(error) && getCommsErrorCode(error) === 217;
|
|
71
|
+
}
|
|
45
72
|
/**
|
|
46
73
|
* Comms-flavoured CliError that preserves the historical positional
|
|
47
74
|
* `(code, message, hints?, type?)` signature used across hundreds of call
|
package/dist/lib/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAqC,MAAM,iBAAiB,CAAA;AAE7F,OAAO,EAAE,YAAY,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/refs.d.ts
CHANGED
|
@@ -12,6 +12,14 @@ export declare function extractId(ref: string): string;
|
|
|
12
12
|
export declare function extractNumericId(ref: string): number;
|
|
13
13
|
export declare function parseNumericIdRefs(refs: string, label?: string): number[] | null;
|
|
14
14
|
export declare function looksLikeRawId(ref: string): boolean;
|
|
15
|
+
export declare const BASE58_ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
|
|
16
|
+
/**
|
|
17
|
+
* Comms entity ids are 16 bytes, base58-encoded. About 3% of them carry no
|
|
18
|
+
* digit, so `looksLikeRawId` misses them; decoding is the only check that
|
|
19
|
+
* also keeps a long single-word name a name. Ids are timestamp-led, so they
|
|
20
|
+
* encode to 21 characters today and 22 at most (58^22 > 2^128).
|
|
21
|
+
*/
|
|
22
|
+
export declare function looksLikeOpaqueCommsId(ref: string): boolean;
|
|
15
23
|
export interface ParsedCommsUrl {
|
|
16
24
|
workspaceId?: number;
|
|
17
25
|
channelId?: string;
|
package/dist/lib/refs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refs.d.ts","sourceRoot":"","sources":["../../src/lib/refs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAiB,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAQ1F,eAAO,MAAM,qBAAqB,wFAIxB,CAAA;AAEV,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAI9D;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE5C;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO7C;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMpD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,SAAc,GAAG,MAAM,EAAE,GAAG,IAAI,CAkBrF;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAKnD;
|
|
1
|
+
{"version":3,"file":"refs.d.ts","sourceRoot":"","sources":["../../src/lib/refs.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/refs.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { parseCommsURL } from '@doist/comms-sdk';
|
|
2
2
|
import { fetchWorkspaces, getGroup, getWorkspaceGroups, getCommsClient } from './api.js';
|
|
3
|
-
import { CliError } from './errors.js';
|
|
3
|
+
import { CliError, isCliErrorCode } from './errors.js';
|
|
4
4
|
function normalizeRef(ref) {
|
|
5
5
|
return ref.trim();
|
|
6
6
|
}
|
|
@@ -59,8 +59,26 @@ export function looksLikeRawId(ref) {
|
|
|
59
59
|
return false;
|
|
60
60
|
return /\d/.test(normalized);
|
|
61
61
|
}
|
|
62
|
-
|
|
63
|
-
|
|
62
|
+
export const BASE58_ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
|
|
63
|
+
/**
|
|
64
|
+
* Comms entity ids are 16 bytes, base58-encoded. About 3% of them carry no
|
|
65
|
+
* digit, so `looksLikeRawId` misses them; decoding is the only check that
|
|
66
|
+
* also keeps a long single-word name a name. Ids are timestamp-led, so they
|
|
67
|
+
* encode to 21 characters today and 22 at most (58^22 > 2^128).
|
|
68
|
+
*/
|
|
69
|
+
export function looksLikeOpaqueCommsId(ref) {
|
|
70
|
+
if (ref.length < 21 || ref.length > 22)
|
|
71
|
+
return false;
|
|
72
|
+
let value = 0n;
|
|
73
|
+
for (const char of ref) {
|
|
74
|
+
const digit = BASE58_ALPHABET.indexOf(char);
|
|
75
|
+
if (digit === -1)
|
|
76
|
+
return false;
|
|
77
|
+
value = value * 58n + BigInt(digit);
|
|
78
|
+
}
|
|
79
|
+
const leadingZeroBytes = ref.length - ref.replace(/^1+/, '').length;
|
|
80
|
+
const byteLength = value === 0n ? 0 : Math.ceil(value.toString(16).length / 2);
|
|
81
|
+
return leadingZeroBytes + byteLength === 16;
|
|
64
82
|
}
|
|
65
83
|
function getOpaqueNameId(parsed) {
|
|
66
84
|
return parsed.type === 'name' && looksLikeOpaqueCommsId(parsed.name) ? parsed.name : null;
|
|
@@ -232,12 +250,34 @@ export async function resolveChannelRef(ref, workspaceId) {
|
|
|
232
250
|
...joined,
|
|
233
251
|
...publicChannels.filter((channel) => !joinedIds.has(channel.id)),
|
|
234
252
|
];
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
253
|
+
try {
|
|
254
|
+
return matchByName(channels, parsed.name, {
|
|
255
|
+
ambiguousCode: 'AMBIGUOUS_CHANNEL',
|
|
256
|
+
notFoundCode: 'CHANNEL_NOT_FOUND',
|
|
257
|
+
ref,
|
|
258
|
+
listHint: 'Run: tdc channels to list available channels',
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
catch (error) {
|
|
262
|
+
if (!isCliErrorCode(error, 'CHANNEL_NOT_FOUND') ||
|
|
263
|
+
!looksLikeOpaqueCommsId(parsed.name)) {
|
|
264
|
+
throw error;
|
|
265
|
+
}
|
|
266
|
+
// Nothing by that name, and the token decodes to a Comms id: a bare
|
|
267
|
+
// digit-free channel id lands here rather than in `getDirectChannelId`.
|
|
268
|
+
try {
|
|
269
|
+
const channel = await client.channels.getChannel(parsed.name);
|
|
270
|
+
assertChannelInWorkspace(channel, workspaceId);
|
|
271
|
+
return channel;
|
|
272
|
+
}
|
|
273
|
+
catch (idError) {
|
|
274
|
+
// A miss (404) or a token the server will not take as an id
|
|
275
|
+
// (409, "must be UUIDv7") both mean it was a name after all.
|
|
276
|
+
if (isCliErrorCode(idError, 'NOT_FOUND', 'INVALID_REF'))
|
|
277
|
+
throw error;
|
|
278
|
+
throw idError;
|
|
279
|
+
}
|
|
280
|
+
}
|
|
241
281
|
}
|
|
242
282
|
throw new CliError('CHANNEL_NOT_FOUND', `Channel "${ref}" not found`, [
|
|
243
283
|
'Run: tdc channels to list available channels',
|
|
@@ -247,6 +287,11 @@ export function resolveChannelId(ref) {
|
|
|
247
287
|
const channelId = getDirectChannelId(ref);
|
|
248
288
|
if (channelId)
|
|
249
289
|
return channelId;
|
|
290
|
+
// Id-only, like the thread and conversation resolvers: there is no name
|
|
291
|
+
// to protect, so a bare digit-free token that decodes is an id.
|
|
292
|
+
const opaqueId = getOpaqueNameId(parseRef(ref));
|
|
293
|
+
if (opaqueId)
|
|
294
|
+
return opaqueId;
|
|
250
295
|
throw new CliError('INVALID_REF', `Invalid channel reference: ${ref}. Use an id, id:<id>, or a Comms URL.`);
|
|
251
296
|
}
|
|
252
297
|
export function getDirectChannelId(ref) {
|
|
@@ -260,9 +305,8 @@ export function getDirectChannelId(ref) {
|
|
|
260
305
|
}
|
|
261
306
|
throw new CliError('INVALID_REF', `Invalid channel reference: ${ref}. Use an id, id:<id>, or a Comms URL.`);
|
|
262
307
|
}
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
return opaqueId;
|
|
308
|
+
// A bare digit-free token could be a channel name, so it goes to name
|
|
309
|
+
// lookup; `resolveChannelRef` tries it as an id only when no name matches.
|
|
266
310
|
return null;
|
|
267
311
|
}
|
|
268
312
|
export function resolveCommentId(ref) {
|
|
@@ -368,7 +412,9 @@ export async function resolveGroupRef(ref, workspaceId) {
|
|
|
368
412
|
return group;
|
|
369
413
|
}
|
|
370
414
|
catch (error) {
|
|
371
|
-
|
|
415
|
+
// The wrapped client already turns a 404 into NOT_FOUND; the
|
|
416
|
+
// group-specific code and hint are still the better answer.
|
|
417
|
+
if (error instanceof CliError && !isCliErrorCode(error, 'NOT_FOUND'))
|
|
372
418
|
throw error;
|
|
373
419
|
throw new CliError('GROUP_NOT_FOUND', `Group with ID ${parsed.id} not found`, [
|
|
374
420
|
'Run: tdc groups to list available groups',
|