@urugus/slack-cli 0.2.12 → 0.3.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/README.md +45 -0
- package/dist/commands/history-display.d.ts +5 -1
- package/dist/commands/history-display.d.ts.map +1 -1
- package/dist/commands/history-display.js +3 -3
- package/dist/commands/history-display.js.map +1 -1
- package/dist/commands/history.d.ts.map +1 -1
- package/dist/commands/history.js +28 -11
- package/dist/commands/history.js.map +1 -1
- package/dist/commands/search.d.ts +3 -0
- package/dist/commands/search.d.ts.map +1 -0
- package/dist/commands/search.js +51 -0
- package/dist/commands/search.js.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/types/commands.d.ts +10 -0
- package/dist/types/commands.d.ts.map +1 -1
- package/dist/utils/constants.d.ts +5 -0
- package/dist/utils/constants.d.ts.map +1 -1
- package/dist/utils/constants.js +5 -0
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/formatters/search-formatters.d.ts +10 -0
- package/dist/utils/formatters/search-formatters.d.ts.map +1 -0
- package/dist/utils/formatters/search-formatters.js +91 -0
- package/dist/utils/formatters/search-formatters.js.map +1 -0
- package/dist/utils/slack-api-client.d.ts +5 -0
- package/dist/utils/slack-api-client.d.ts.map +1 -1
- package/dist/utils/slack-api-client.js +8 -0
- package/dist/utils/slack-api-client.js.map +1 -1
- package/dist/utils/slack-operations/index.d.ts +1 -0
- package/dist/utils/slack-operations/index.d.ts.map +1 -1
- package/dist/utils/slack-operations/index.js +3 -1
- package/dist/utils/slack-operations/index.js.map +1 -1
- package/dist/utils/slack-operations/message-operations.d.ts +1 -0
- package/dist/utils/slack-operations/message-operations.d.ts.map +1 -1
- package/dist/utils/slack-operations/message-operations.js +21 -0
- package/dist/utils/slack-operations/message-operations.js.map +1 -1
- package/dist/utils/slack-operations/search-operations.d.ts +29 -0
- package/dist/utils/slack-operations/search-operations.d.ts.map +1 -0
- package/dist/utils/slack-operations/search-operations.js +37 -0
- package/dist/utils/slack-operations/search-operations.js.map +1 -0
- package/dist/utils/validators.d.ts +16 -0
- package/dist/utils/validators.d.ts.map +1 -1
- package/dist/utils/validators.js +50 -0
- package/dist/utils/validators.js.map +1 -1
- package/package.json +5 -2
- package/.claude/settings.local.json +0 -75
- package/.github/dependabot.yml +0 -18
- package/.github/workflows/ci.yml +0 -70
- package/.github/workflows/pr-validation.yml +0 -41
- package/.prettierignore +0 -11
- package/.prettierrc +0 -10
- package/CHANGELOG.md +0 -61
- package/CLAUDE.md +0 -16
- package/eslint.config.js +0 -38
- package/src/commands/channels.ts +0 -50
- package/src/commands/config-subcommands.ts +0 -63
- package/src/commands/config.ts +0 -50
- package/src/commands/history-display.ts +0 -19
- package/src/commands/history-validators.ts +0 -46
- package/src/commands/history.ts +0 -61
- package/src/commands/scheduled.ts +0 -71
- package/src/commands/send.ts +0 -69
- package/src/commands/unread.ts +0 -122
- package/src/index.ts +0 -27
- package/src/types/commands.ts +0 -58
- package/src/types/config.ts +0 -20
- package/src/utils/channel-formatter.ts +0 -45
- package/src/utils/channel-resolver.ts +0 -82
- package/src/utils/client-factory.ts +0 -10
- package/src/utils/command-wrapper.ts +0 -27
- package/src/utils/config/config-file-manager.ts +0 -56
- package/src/utils/config/profile-manager.ts +0 -79
- package/src/utils/config/token-crypto-service.ts +0 -80
- package/src/utils/config-helper.ts +0 -21
- package/src/utils/constants.ts +0 -78
- package/src/utils/date-utils.ts +0 -8
- package/src/utils/error-utils.ts +0 -6
- package/src/utils/errors.ts +0 -33
- package/src/utils/format-utils.ts +0 -9
- package/src/utils/formatters/base-formatter.ts +0 -34
- package/src/utils/formatters/channel-formatters.ts +0 -71
- package/src/utils/formatters/channels-list-formatters.ts +0 -55
- package/src/utils/formatters/history-formatters.ts +0 -123
- package/src/utils/formatters/message-formatters.ts +0 -85
- package/src/utils/mention-utils.ts +0 -47
- package/src/utils/option-parsers.ts +0 -100
- package/src/utils/profile-config.ts +0 -161
- package/src/utils/schedule-utils.ts +0 -41
- package/src/utils/slack-api-client.ts +0 -135
- package/src/utils/slack-operations/base-client.ts +0 -30
- package/src/utils/slack-operations/channel-operations.ts +0 -161
- package/src/utils/slack-operations/index.ts +0 -3
- package/src/utils/slack-operations/message-operations.ts +0 -176
- package/src/utils/slack-patterns.ts +0 -9
- package/src/utils/token-utils.ts +0 -17
- package/src/utils/validators.ts +0 -263
- package/tests/commands/channels.test.ts +0 -250
- package/tests/commands/config.test.ts +0 -158
- package/tests/commands/history.test.ts +0 -403
- package/tests/commands/scheduled.test.ts +0 -131
- package/tests/commands/send.test.ts +0 -414
- package/tests/commands/unread.test.ts +0 -492
- package/tests/index.test.ts +0 -40
- package/tests/test-utils.ts +0 -28
- package/tests/utils/channel-resolver.test.ts +0 -161
- package/tests/utils/config/config-file-manager.test.ts +0 -118
- package/tests/utils/config/profile-manager.test.ts +0 -266
- package/tests/utils/config/token-crypto-service.test.ts +0 -98
- package/tests/utils/config.test.ts +0 -400
- package/tests/utils/date-utils.test.ts +0 -30
- package/tests/utils/error-utils.test.ts +0 -34
- package/tests/utils/format-utils.test.ts +0 -61
- package/tests/utils/mention-utils.test.ts +0 -100
- package/tests/utils/option-parsers.test.ts +0 -173
- package/tests/utils/profile-config.test.ts +0 -282
- package/tests/utils/schedule-utils.test.ts +0 -63
- package/tests/utils/slack-api-client.test.ts +0 -313
- package/tests/utils/slack-operations/channel-operations.test.ts +0 -248
- package/tests/utils/slack-operations/message-operations.test.ts +0 -163
- package/tests/utils/token-utils.test.ts +0 -33
- package/tests/utils/validators.test.ts +0 -307
- package/tsconfig.json +0 -22
- package/vitest.config.ts +0 -27
|
@@ -67,6 +67,27 @@ class MessageOperations extends base_client_1.BaseSlackClient {
|
|
|
67
67
|
const users = await this.fetchUserInfo(userIds);
|
|
68
68
|
return { messages, users };
|
|
69
69
|
}
|
|
70
|
+
async getThreadHistory(channel, threadTs) {
|
|
71
|
+
const channelId = await channel_resolver_1.channelResolver.resolveChannelId(channel, () => this.channelOps.listChannels({
|
|
72
|
+
types: 'public_channel,private_channel,im,mpim',
|
|
73
|
+
exclude_archived: true,
|
|
74
|
+
limit: constants_1.DEFAULTS.CHANNELS_LIMIT,
|
|
75
|
+
}));
|
|
76
|
+
const messages = [];
|
|
77
|
+
let cursor;
|
|
78
|
+
do {
|
|
79
|
+
const response = await this.client.conversations.replies({
|
|
80
|
+
channel: channelId,
|
|
81
|
+
ts: threadTs,
|
|
82
|
+
cursor,
|
|
83
|
+
});
|
|
84
|
+
messages.push(...(response.messages || []));
|
|
85
|
+
cursor = response.response_metadata?.next_cursor || undefined;
|
|
86
|
+
} while (cursor);
|
|
87
|
+
const userIds = (0, mention_utils_1.extractAllUserIds)(messages);
|
|
88
|
+
const users = await this.fetchUserInfo(userIds);
|
|
89
|
+
return { messages, users };
|
|
90
|
+
}
|
|
70
91
|
async getChannelUnread(channelNameOrId) {
|
|
71
92
|
const channel = await this.channelOps.getChannelInfo(channelNameOrId);
|
|
72
93
|
// Get unread messages
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-operations.js","sourceRoot":"","sources":["../../../src/utils/slack-operations/message-operations.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"message-operations.js","sourceRoot":"","sources":["../../../src/utils/slack-operations/message-operations.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { BaseSlackClient } from './base-client';
|
|
2
|
+
export interface SearchMatch {
|
|
3
|
+
text?: string;
|
|
4
|
+
user?: string;
|
|
5
|
+
username?: string;
|
|
6
|
+
ts?: string;
|
|
7
|
+
channel: {
|
|
8
|
+
id?: string;
|
|
9
|
+
name?: string;
|
|
10
|
+
};
|
|
11
|
+
permalink?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface SearchMessagesOptions {
|
|
14
|
+
sort?: 'score' | 'timestamp';
|
|
15
|
+
sortDir?: 'asc' | 'desc';
|
|
16
|
+
count?: number;
|
|
17
|
+
page?: number;
|
|
18
|
+
}
|
|
19
|
+
export interface SearchResult {
|
|
20
|
+
query: string;
|
|
21
|
+
matches: SearchMatch[];
|
|
22
|
+
totalCount: number;
|
|
23
|
+
page: number;
|
|
24
|
+
pageCount: number;
|
|
25
|
+
}
|
|
26
|
+
export declare class SearchOperations extends BaseSlackClient {
|
|
27
|
+
searchMessages(query: string, options?: SearchMessagesOptions): Promise<SearchResult>;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=search-operations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-operations.d.ts","sourceRoot":"","sources":["../../../src/utils/slack-operations/search-operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE;QACP,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;IAC7B,OAAO,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,gBAAiB,SAAQ,eAAe;IAC7C,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,YAAY,CAAC;CAiChG"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SearchOperations = void 0;
|
|
4
|
+
const base_client_1 = require("./base-client");
|
|
5
|
+
class SearchOperations extends base_client_1.BaseSlackClient {
|
|
6
|
+
async searchMessages(query, options = {}) {
|
|
7
|
+
const { sort = 'score', sortDir = 'desc', count = 20, page = 1 } = options;
|
|
8
|
+
const response = await this.client.search.messages({
|
|
9
|
+
query,
|
|
10
|
+
sort,
|
|
11
|
+
sort_dir: sortDir,
|
|
12
|
+
count,
|
|
13
|
+
page,
|
|
14
|
+
});
|
|
15
|
+
const matches = (response.messages?.matches || []).map((match) => ({
|
|
16
|
+
text: match.text,
|
|
17
|
+
user: match.user,
|
|
18
|
+
username: match.username,
|
|
19
|
+
ts: match.ts,
|
|
20
|
+
channel: {
|
|
21
|
+
id: match.channel?.id,
|
|
22
|
+
name: match.channel?.name,
|
|
23
|
+
},
|
|
24
|
+
permalink: match.permalink,
|
|
25
|
+
}));
|
|
26
|
+
const pagination = response.messages?.pagination;
|
|
27
|
+
return {
|
|
28
|
+
query: response.query || query,
|
|
29
|
+
matches,
|
|
30
|
+
totalCount: pagination?.total_count || 0,
|
|
31
|
+
page: pagination?.page || 1,
|
|
32
|
+
pageCount: pagination?.page_count || 0,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.SearchOperations = SearchOperations;
|
|
37
|
+
//# sourceMappingURL=search-operations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-operations.js","sourceRoot":"","sources":["../../../src/utils/slack-operations/search-operations.ts"],"names":[],"mappings":";;;AAAA,+CAAgD;AA6BhD,MAAa,gBAAiB,SAAQ,6BAAe;IACnD,KAAK,CAAC,cAAc,CAAC,KAAa,EAAE,UAAiC,EAAE;QACrE,MAAM,EAAE,IAAI,GAAG,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,IAAI,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC;QAE3E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;YACjD,KAAK;YACL,IAAI;YACJ,QAAQ,EAAE,OAAO;YACjB,KAAK;YACL,IAAI;SACL,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACjE,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,OAAO,EAAE;gBACP,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE;gBACrB,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI;aAC1B;YACD,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,CAAC,CAAC,CAAC;QAEJ,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;QAEjD,OAAO;YACL,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,KAAK;YAC9B,OAAO;YACP,UAAU,EAAE,UAAU,EAAE,WAAW,IAAI,CAAC;YACxC,IAAI,EAAE,UAAU,EAAE,IAAI,IAAI,CAAC;YAC3B,SAAS,EAAE,UAAU,EAAE,UAAU,IAAI,CAAC;SACvC,CAAC;IACJ,CAAC;CACF;AAlCD,4CAkCC"}
|
|
@@ -79,6 +79,22 @@ export declare const optionValidators: {
|
|
|
79
79
|
* Validates format option
|
|
80
80
|
*/
|
|
81
81
|
format: (options: Record<string, unknown>) => string | null;
|
|
82
|
+
/**
|
|
83
|
+
* Validates sort option for search command
|
|
84
|
+
*/
|
|
85
|
+
searchSort: (options: Record<string, unknown>) => string | null;
|
|
86
|
+
/**
|
|
87
|
+
* Validates sort direction option for search command
|
|
88
|
+
*/
|
|
89
|
+
searchSortDir: (options: Record<string, unknown>) => string | null;
|
|
90
|
+
/**
|
|
91
|
+
* Validates page number for search command
|
|
92
|
+
*/
|
|
93
|
+
searchPage: (options: Record<string, unknown>) => string | null;
|
|
94
|
+
/**
|
|
95
|
+
* Validates search count
|
|
96
|
+
*/
|
|
97
|
+
searchCount: (options: Record<string, unknown>) => string | null;
|
|
82
98
|
};
|
|
83
99
|
/**
|
|
84
100
|
* Creates a validated option parser
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC;;GAEG;AAEH,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,OAAO;IACzC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,GAAG,MAAM,CAAC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKjF;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,EAAE,MAAM,EAAE,EAChB,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,GAAG,IAAI,CASf;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,MAAM,GAAG,IAAI,CAKf;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,GAAG,CAAC,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,MAAM,EACZ,SAAS,SAAU,GAClB,MAAM,GAAG,IAAI,CAQf;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMpE;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB;IAC3B;;OAEG;6BACsB,MAAM,KAAG,MAAM,GAAG,IAAI;IAK/C;;OAEG;uBACgB,MAAM,KAAG,MAAM,GAAG,IAAI;IAKzC;;OAEG;0BACmB,MAAM,KAAG,MAAM,GAAG,IAAI;CAO7C,CAAC;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,KAAK,MAAM,GAAG,IAAI,CAAC,GACxF,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAYhC;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB;IAC3B;;OAEG;6BACsB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,MAAM,GAAG,IAAI;IAUhE;;OAEG;+BACwB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,MAAM,GAAG,IAAI;IAOlE;;OAEG;8BACuB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,MAAM,GAAG,IAAI;IAkCjE;;OAEG;4BACqB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,MAAM,GAAG,IAAI;IAW/D;;OAEG;yBACkB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,MAAM,GAAG,IAAI;IAU5D;;OAEG;sBACe,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,MAAM,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/validators.js
CHANGED
|
@@ -199,6 +199,56 @@ exports.optionValidators = {
|
|
|
199
199
|
}
|
|
200
200
|
return null;
|
|
201
201
|
},
|
|
202
|
+
/**
|
|
203
|
+
* Validates sort option for search command
|
|
204
|
+
*/
|
|
205
|
+
searchSort: (options) => {
|
|
206
|
+
if (options.sort) {
|
|
207
|
+
const validSorts = ['score', 'timestamp'];
|
|
208
|
+
if (!validSorts.includes(options.sort)) {
|
|
209
|
+
return `Invalid sort '${options.sort}'. Must be one of: ${validSorts.join(', ')}`;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
return null;
|
|
213
|
+
},
|
|
214
|
+
/**
|
|
215
|
+
* Validates sort direction option for search command
|
|
216
|
+
*/
|
|
217
|
+
searchSortDir: (options) => {
|
|
218
|
+
if (options.sortDir) {
|
|
219
|
+
const validDirs = ['asc', 'desc'];
|
|
220
|
+
if (!validDirs.includes(options.sortDir)) {
|
|
221
|
+
return `Invalid sort direction '${options.sortDir}'. Must be one of: ${validDirs.join(', ')}`;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
return null;
|
|
225
|
+
},
|
|
226
|
+
/**
|
|
227
|
+
* Validates page number for search command
|
|
228
|
+
*/
|
|
229
|
+
searchPage: (options) => {
|
|
230
|
+
if (options.page) {
|
|
231
|
+
const page = parseInt(options.page, 10);
|
|
232
|
+
if (isNaN(page)) {
|
|
233
|
+
return 'Page must be a number';
|
|
234
|
+
}
|
|
235
|
+
return validateRange(page, 1, 100, 'Page');
|
|
236
|
+
}
|
|
237
|
+
return null;
|
|
238
|
+
},
|
|
239
|
+
/**
|
|
240
|
+
* Validates search count
|
|
241
|
+
*/
|
|
242
|
+
searchCount: (options) => {
|
|
243
|
+
if (options.number) {
|
|
244
|
+
const count = parseInt(options.number, 10);
|
|
245
|
+
if (isNaN(count)) {
|
|
246
|
+
return 'Count must be a number';
|
|
247
|
+
}
|
|
248
|
+
return validateRange(count, 1, 100, 'Count');
|
|
249
|
+
}
|
|
250
|
+
return null;
|
|
251
|
+
},
|
|
202
252
|
};
|
|
203
253
|
/**
|
|
204
254
|
* Creates a validated option parser
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":";;;AAqBA,4CAKC;AAKD,8DAaC;AAKD,wCASC;AAKD,sCAaC;AAKD,gDAMC;AAqCD,oDAcC;
|
|
1
|
+
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@urugus/slack-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "A command-line tool for sending messages to Slack",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
7
|
-
"slack-cli": "
|
|
7
|
+
"slack-cli": "dist/index.js"
|
|
8
8
|
},
|
|
9
|
+
"files": [
|
|
10
|
+
"dist"
|
|
11
|
+
],
|
|
9
12
|
"scripts": {
|
|
10
13
|
"build": "tsc",
|
|
11
14
|
"dev": "ts-node src/index.ts",
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"permissions": {
|
|
3
|
-
"allow": [
|
|
4
|
-
"Bash(mkdir:*)",
|
|
5
|
-
"Bash(ls:*)",
|
|
6
|
-
"Bash(npm install)",
|
|
7
|
-
"Bash(npm run test:*)",
|
|
8
|
-
"Bash(find:*)",
|
|
9
|
-
"Bash(npm test)",
|
|
10
|
-
"Bash(npm run build:*)",
|
|
11
|
-
"Bash(npm run lint)",
|
|
12
|
-
"Bash(npm run format:check:*)",
|
|
13
|
-
"Bash(npm run format:*)",
|
|
14
|
-
"Bash(npm test:*)",
|
|
15
|
-
"Bash(node:*)",
|
|
16
|
-
"Bash(git add:*)",
|
|
17
|
-
"Bash(git commit:*)",
|
|
18
|
-
"Bash(grep:*)",
|
|
19
|
-
"Bash(true)",
|
|
20
|
-
"Bash(npx vitest run:*)",
|
|
21
|
-
"Bash(NODE_ENV=test npx vitest run --reporter=tap 2 >& 1)",
|
|
22
|
-
"Bash(npm ls:*)",
|
|
23
|
-
"Bash(/opt/homebrew/bin/slack-cli config:*)",
|
|
24
|
-
"Bash(npm bin:*)",
|
|
25
|
-
"Bash(npm root:*)",
|
|
26
|
-
"Bash(strace:*)",
|
|
27
|
-
"Bash(npx vitest list:*)",
|
|
28
|
-
"Bash(NODE_OPTIONS=\"--trace-warnings\" npx vitest run --no-threads 2 >& 1)",
|
|
29
|
-
"Bash(NODE_ENV=test npx vitest run --reporter=tap tests/commands/config.test.ts 2 >& 1)",
|
|
30
|
-
"Bash(echo:*)",
|
|
31
|
-
"Bash(git reset:*)",
|
|
32
|
-
"Bash(npm uninstall:*)",
|
|
33
|
-
"Bash(pkill:*)",
|
|
34
|
-
"Bash(/opt/homebrew/bin/slack:*)",
|
|
35
|
-
"Bash(brew list:*)",
|
|
36
|
-
"Bash(brew info:*)",
|
|
37
|
-
"Bash(npm link:*)",
|
|
38
|
-
"Bash(slack-cli:*)",
|
|
39
|
-
"Bash(git push:*)",
|
|
40
|
-
"Bash(gh run list:*)",
|
|
41
|
-
"Bash(gh run view:*)",
|
|
42
|
-
"Bash(gh run watch:*)",
|
|
43
|
-
"Bash(cat:*)",
|
|
44
|
-
"Bash(mv:*)",
|
|
45
|
-
"Bash(rm:*)",
|
|
46
|
-
"WebFetch(domain:api.slack.com)",
|
|
47
|
-
"Bash(npm run typecheck:*)",
|
|
48
|
-
"Bash(npm run:*)",
|
|
49
|
-
"Bash(npm whoami:*)",
|
|
50
|
-
"Bash(npm unlink:*)",
|
|
51
|
-
"Bash(npm update:*)",
|
|
52
|
-
"Bash(npm install:*)",
|
|
53
|
-
"Bash(npm view:*)",
|
|
54
|
-
"Bash(npm publish:*)",
|
|
55
|
-
"Bash(rg:*)",
|
|
56
|
-
"Bash(npm version:*)",
|
|
57
|
-
"Bash(npx tsx:*)",
|
|
58
|
-
"Bash(gh workflow view:*)",
|
|
59
|
-
"Bash(git tag:*)",
|
|
60
|
-
"Bash(./bin/dev:*)",
|
|
61
|
-
"Bash(git checkout:*)",
|
|
62
|
-
"Bash(gh pr create:*)",
|
|
63
|
-
"Bash(gh pr checks:*)",
|
|
64
|
-
"Bash(gh pr view:*)",
|
|
65
|
-
"Bash(gh pr merge:*)",
|
|
66
|
-
"Bash(git pull:*)",
|
|
67
|
-
"Bash(gh api graphql:*)",
|
|
68
|
-
"mcp__slack__slack_list_channels",
|
|
69
|
-
"Bash(curl -X GET 'https://slack.com/api/conversations.members?channel=C02EHQ7TG68&limit=100' -H 'Authorization: Bearer xoxe.xoxp-1-Mi0yLTIxNjQ2MDk0NzItNzY4NTQ0NzAyNTM2MC04NzE0NzA4NDQ1NTcyLTkwODMxMzU5MDAwODItZTNjMDUyZjEwMzZhMDJhYzFlNTU5YjczNmE3MWFkODg0NDAzZDdiYmI5YTBjZDc4MzQ3MjJkZGE4ODFkZDYxMw')",
|
|
70
|
-
"Bash(curl -X GET 'https://slack.com/api/conversations.members?channel=C02EHQ7TG68&limit=100' -H 'Authorization: Bearer xoxb-2164609472-8861111830563-KKbispuxfw36K2YuIbnjgbT2')",
|
|
71
|
-
"Bash(curl -X GET 'https://slack.com/api/users.info?user=U07L5D50RAL' -H 'Authorization: Bearer xoxb-2164609472-8861111830563-KKbispuxfw36K2YuIbnjgbT2')"
|
|
72
|
-
],
|
|
73
|
-
"deny": []
|
|
74
|
-
}
|
|
75
|
-
}
|
package/.github/dependabot.yml
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
version: 2
|
|
2
|
-
updates:
|
|
3
|
-
- package-ecosystem: "npm"
|
|
4
|
-
directory: "/"
|
|
5
|
-
schedule:
|
|
6
|
-
interval: "weekly"
|
|
7
|
-
open-pull-requests-limit: 10
|
|
8
|
-
labels:
|
|
9
|
-
- "dependencies"
|
|
10
|
-
- "npm"
|
|
11
|
-
|
|
12
|
-
- package-ecosystem: "github-actions"
|
|
13
|
-
directory: "/"
|
|
14
|
-
schedule:
|
|
15
|
-
interval: "weekly"
|
|
16
|
-
labels:
|
|
17
|
-
- "dependencies"
|
|
18
|
-
- "github-actions"
|
package/.github/workflows/ci.yml
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
name: CI
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
pull_request:
|
|
5
|
-
branches: [ main, develop ]
|
|
6
|
-
push:
|
|
7
|
-
branches: [ main, develop ]
|
|
8
|
-
|
|
9
|
-
jobs:
|
|
10
|
-
test:
|
|
11
|
-
runs-on: ubuntu-latest
|
|
12
|
-
|
|
13
|
-
strategy:
|
|
14
|
-
matrix:
|
|
15
|
-
node-version: [20.x]
|
|
16
|
-
|
|
17
|
-
steps:
|
|
18
|
-
- uses: actions/checkout@v4
|
|
19
|
-
|
|
20
|
-
- name: Use Node.js ${{ matrix.node-version }}
|
|
21
|
-
uses: actions/setup-node@v4
|
|
22
|
-
with:
|
|
23
|
-
node-version: ${{ matrix.node-version }}
|
|
24
|
-
cache: 'npm'
|
|
25
|
-
|
|
26
|
-
- name: Install dependencies
|
|
27
|
-
run: npm ci
|
|
28
|
-
|
|
29
|
-
- name: Check code formatting
|
|
30
|
-
run: npm run format:check
|
|
31
|
-
|
|
32
|
-
- name: Run linter
|
|
33
|
-
run: npm run lint
|
|
34
|
-
|
|
35
|
-
- name: Run type check
|
|
36
|
-
run: npm run build
|
|
37
|
-
|
|
38
|
-
- name: Run tests
|
|
39
|
-
run: npm test
|
|
40
|
-
|
|
41
|
-
- name: Run test coverage
|
|
42
|
-
run: npm run test:coverage
|
|
43
|
-
|
|
44
|
-
- name: Upload coverage reports
|
|
45
|
-
uses: codecov/codecov-action@v5
|
|
46
|
-
if: matrix.node-version == '20.x'
|
|
47
|
-
with:
|
|
48
|
-
files: ./coverage/coverage-final.json
|
|
49
|
-
flags: unittests
|
|
50
|
-
name: codecov-umbrella
|
|
51
|
-
fail_ci_if_error: false
|
|
52
|
-
|
|
53
|
-
build:
|
|
54
|
-
runs-on: ubuntu-latest
|
|
55
|
-
needs: test
|
|
56
|
-
|
|
57
|
-
steps:
|
|
58
|
-
- uses: actions/checkout@v4
|
|
59
|
-
|
|
60
|
-
- name: Use Node.js
|
|
61
|
-
uses: actions/setup-node@v4
|
|
62
|
-
with:
|
|
63
|
-
node-version: '20.x'
|
|
64
|
-
cache: 'npm'
|
|
65
|
-
|
|
66
|
-
- name: Install dependencies
|
|
67
|
-
run: npm ci
|
|
68
|
-
|
|
69
|
-
- name: Build
|
|
70
|
-
run: npm run build
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
name: PR Validation
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
pull_request:
|
|
5
|
-
types: [opened, synchronize, reopened]
|
|
6
|
-
|
|
7
|
-
jobs:
|
|
8
|
-
validate:
|
|
9
|
-
runs-on: ubuntu-latest
|
|
10
|
-
|
|
11
|
-
steps:
|
|
12
|
-
- uses: actions/checkout@v4
|
|
13
|
-
|
|
14
|
-
- name: Use Node.js
|
|
15
|
-
uses: actions/setup-node@v4
|
|
16
|
-
with:
|
|
17
|
-
node-version: '20.x'
|
|
18
|
-
cache: 'npm'
|
|
19
|
-
|
|
20
|
-
- name: Install dependencies
|
|
21
|
-
run: npm ci
|
|
22
|
-
|
|
23
|
-
- name: Check code formatting
|
|
24
|
-
run: npm run format:check
|
|
25
|
-
|
|
26
|
-
- name: Run linter
|
|
27
|
-
run: npm run lint
|
|
28
|
-
|
|
29
|
-
- name: Run tests with coverage
|
|
30
|
-
run: npm run test:coverage
|
|
31
|
-
|
|
32
|
-
- name: Check build
|
|
33
|
-
run: npm run build
|
|
34
|
-
|
|
35
|
-
- name: Check for uncommitted changes
|
|
36
|
-
run: |
|
|
37
|
-
if [ -n "$(git status --porcelain)" ]; then
|
|
38
|
-
echo "Uncommitted changes found. Please commit all changes."
|
|
39
|
-
git status --porcelain
|
|
40
|
-
exit 1
|
|
41
|
-
fi
|
package/.prettierignore
DELETED
package/.prettierrc
DELETED
package/CHANGELOG.md
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
All notable changes to this project will be documented in this file.
|
|
4
|
-
|
|
5
|
-
## [0.2.1] - 2025-06-23
|
|
6
|
-
|
|
7
|
-
### Fixed
|
|
8
|
-
- Fixed unread message detection for channels where unread_count is 0 but messages exist after last_read timestamp
|
|
9
|
-
- Always check messages after last_read timestamp for accurate unread count
|
|
10
|
-
- Improved reliability of unread message detection for channels like dev_kiban_jira
|
|
11
|
-
|
|
12
|
-
## [0.2.0] - 2025-06-23
|
|
13
|
-
|
|
14
|
-
### Changed
|
|
15
|
-
- Major version bump for improved unread message detection
|
|
16
|
-
|
|
17
|
-
## [0.1.9] - 2025-06-22
|
|
18
|
-
|
|
19
|
-
### Fixed
|
|
20
|
-
- Improved unread message detection using last_read timestamp
|
|
21
|
-
|
|
22
|
-
## [0.1.8] - 2025-06-22
|
|
23
|
-
|
|
24
|
-
### Changed
|
|
25
|
-
- Refactored code organization with separation of concerns
|
|
26
|
-
|
|
27
|
-
## [0.1.7] - 2025-06-22
|
|
28
|
-
|
|
29
|
-
### Fixed
|
|
30
|
-
- Resolved rate limiting issues with `slack unread` command
|
|
31
|
-
- Disabled WebClient automatic retries to handle rate limits manually
|
|
32
|
-
- Changed to use users.conversations API for more efficient unread retrieval
|
|
33
|
-
- Added fallback mechanism for better compatibility
|
|
34
|
-
|
|
35
|
-
## [0.1.6] - 2025-06-22
|
|
36
|
-
|
|
37
|
-
### Added
|
|
38
|
-
- Channel resolver abstraction for better code reusability
|
|
39
|
-
- Output formatter abstraction for flexible display formats
|
|
40
|
-
- Rate limiting configuration with exponential backoff
|
|
41
|
-
- Better error messages with channel suggestions
|
|
42
|
-
|
|
43
|
-
### Changed
|
|
44
|
-
- Improved rate limiting handling to prevent infinite retry loops
|
|
45
|
-
- Extracted magic numbers into configuration constants
|
|
46
|
-
- Refactored SlackApiClient to reduce complexity
|
|
47
|
-
|
|
48
|
-
### Fixed
|
|
49
|
-
- Fixed infinite loop when hitting Slack API rate limits
|
|
50
|
-
- Replaced all `any` types with proper type definitions
|
|
51
|
-
- Fixed CommonJS compatibility issues with p-limit
|
|
52
|
-
|
|
53
|
-
## [0.1.5] - Previous releases
|
|
54
|
-
|
|
55
|
-
### Added
|
|
56
|
-
- Initial implementation of Slack CLI
|
|
57
|
-
- Support for sending messages
|
|
58
|
-
- Channel listing functionality
|
|
59
|
-
- Message history retrieval
|
|
60
|
-
- Unread message tracking
|
|
61
|
-
- Multi-profile support
|
package/CLAUDE.md
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
# 開発したいもの
|
|
2
|
-
|
|
3
|
-
- Slackのメッセージを送信するコマンドラインツールを作成したい
|
|
4
|
-
- 思考する時は英語で考え、会話する時だけ日本語で行ってください
|
|
5
|
-
- 実装はTDDで行う
|
|
6
|
-
|
|
7
|
-
# タスクの進め方
|
|
8
|
-
|
|
9
|
-
以下を1つのサイクルで進めること
|
|
10
|
-
1. 今回の実装対象を1つに定める
|
|
11
|
-
2. その実装対象の仕様を満たすテストを実装する
|
|
12
|
-
3. そのテストがパスするように実装を行う
|
|
13
|
-
4. テストがパスしたら、CIに設定されている全体のテストを実行し、パスすることを確認する
|
|
14
|
-
5. 今回の変更を commit & push する
|
|
15
|
-
6. CI がパスするまで確認する
|
|
16
|
-
7. CIがパスしたことを確認し、タスクを完了とする
|
package/eslint.config.js
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import eslint from '@eslint/js';
|
|
2
|
-
import tseslint from 'typescript-eslint';
|
|
3
|
-
import prettierConfig from 'eslint-config-prettier';
|
|
4
|
-
|
|
5
|
-
export default [
|
|
6
|
-
{
|
|
7
|
-
ignores: ['dist/**', 'node_modules/**', 'coverage/**', 'vitest.config.ts']
|
|
8
|
-
},
|
|
9
|
-
eslint.configs.recommended,
|
|
10
|
-
...tseslint.configs.recommended,
|
|
11
|
-
prettierConfig,
|
|
12
|
-
{
|
|
13
|
-
languageOptions: {
|
|
14
|
-
ecmaVersion: 2020,
|
|
15
|
-
sourceType: 'module',
|
|
16
|
-
parserOptions: {
|
|
17
|
-
project: './tsconfig.json'
|
|
18
|
-
},
|
|
19
|
-
globals: {
|
|
20
|
-
console: 'readonly',
|
|
21
|
-
process: 'readonly',
|
|
22
|
-
Buffer: 'readonly',
|
|
23
|
-
__dirname: 'readonly',
|
|
24
|
-
__filename: 'readonly',
|
|
25
|
-
exports: 'readonly',
|
|
26
|
-
module: 'readonly',
|
|
27
|
-
require: 'readonly',
|
|
28
|
-
global: 'readonly'
|
|
29
|
-
}
|
|
30
|
-
},
|
|
31
|
-
rules: {
|
|
32
|
-
'@typescript-eslint/explicit-function-return-type': 'off',
|
|
33
|
-
'@typescript-eslint/no-explicit-any': 'warn',
|
|
34
|
-
'@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }],
|
|
35
|
-
'no-console': 'off'
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
];
|