@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.
Files changed (123) hide show
  1. package/README.md +45 -0
  2. package/dist/commands/history-display.d.ts +5 -1
  3. package/dist/commands/history-display.d.ts.map +1 -1
  4. package/dist/commands/history-display.js +3 -3
  5. package/dist/commands/history-display.js.map +1 -1
  6. package/dist/commands/history.d.ts.map +1 -1
  7. package/dist/commands/history.js +28 -11
  8. package/dist/commands/history.js.map +1 -1
  9. package/dist/commands/search.d.ts +3 -0
  10. package/dist/commands/search.d.ts.map +1 -0
  11. package/dist/commands/search.js +51 -0
  12. package/dist/commands/search.js.map +1 -0
  13. package/dist/index.js +2 -0
  14. package/dist/index.js.map +1 -1
  15. package/dist/types/commands.d.ts +10 -0
  16. package/dist/types/commands.d.ts.map +1 -1
  17. package/dist/utils/constants.d.ts +5 -0
  18. package/dist/utils/constants.d.ts.map +1 -1
  19. package/dist/utils/constants.js +5 -0
  20. package/dist/utils/constants.js.map +1 -1
  21. package/dist/utils/formatters/search-formatters.d.ts +10 -0
  22. package/dist/utils/formatters/search-formatters.d.ts.map +1 -0
  23. package/dist/utils/formatters/search-formatters.js +91 -0
  24. package/dist/utils/formatters/search-formatters.js.map +1 -0
  25. package/dist/utils/slack-api-client.d.ts +5 -0
  26. package/dist/utils/slack-api-client.d.ts.map +1 -1
  27. package/dist/utils/slack-api-client.js +8 -0
  28. package/dist/utils/slack-api-client.js.map +1 -1
  29. package/dist/utils/slack-operations/index.d.ts +1 -0
  30. package/dist/utils/slack-operations/index.d.ts.map +1 -1
  31. package/dist/utils/slack-operations/index.js +3 -1
  32. package/dist/utils/slack-operations/index.js.map +1 -1
  33. package/dist/utils/slack-operations/message-operations.d.ts +1 -0
  34. package/dist/utils/slack-operations/message-operations.d.ts.map +1 -1
  35. package/dist/utils/slack-operations/message-operations.js +21 -0
  36. package/dist/utils/slack-operations/message-operations.js.map +1 -1
  37. package/dist/utils/slack-operations/search-operations.d.ts +29 -0
  38. package/dist/utils/slack-operations/search-operations.d.ts.map +1 -0
  39. package/dist/utils/slack-operations/search-operations.js +37 -0
  40. package/dist/utils/slack-operations/search-operations.js.map +1 -0
  41. package/dist/utils/validators.d.ts +16 -0
  42. package/dist/utils/validators.d.ts.map +1 -1
  43. package/dist/utils/validators.js +50 -0
  44. package/dist/utils/validators.js.map +1 -1
  45. package/package.json +5 -2
  46. package/.claude/settings.local.json +0 -75
  47. package/.github/dependabot.yml +0 -18
  48. package/.github/workflows/ci.yml +0 -70
  49. package/.github/workflows/pr-validation.yml +0 -41
  50. package/.prettierignore +0 -11
  51. package/.prettierrc +0 -10
  52. package/CHANGELOG.md +0 -61
  53. package/CLAUDE.md +0 -16
  54. package/eslint.config.js +0 -38
  55. package/src/commands/channels.ts +0 -50
  56. package/src/commands/config-subcommands.ts +0 -63
  57. package/src/commands/config.ts +0 -50
  58. package/src/commands/history-display.ts +0 -19
  59. package/src/commands/history-validators.ts +0 -46
  60. package/src/commands/history.ts +0 -61
  61. package/src/commands/scheduled.ts +0 -71
  62. package/src/commands/send.ts +0 -69
  63. package/src/commands/unread.ts +0 -122
  64. package/src/index.ts +0 -27
  65. package/src/types/commands.ts +0 -58
  66. package/src/types/config.ts +0 -20
  67. package/src/utils/channel-formatter.ts +0 -45
  68. package/src/utils/channel-resolver.ts +0 -82
  69. package/src/utils/client-factory.ts +0 -10
  70. package/src/utils/command-wrapper.ts +0 -27
  71. package/src/utils/config/config-file-manager.ts +0 -56
  72. package/src/utils/config/profile-manager.ts +0 -79
  73. package/src/utils/config/token-crypto-service.ts +0 -80
  74. package/src/utils/config-helper.ts +0 -21
  75. package/src/utils/constants.ts +0 -78
  76. package/src/utils/date-utils.ts +0 -8
  77. package/src/utils/error-utils.ts +0 -6
  78. package/src/utils/errors.ts +0 -33
  79. package/src/utils/format-utils.ts +0 -9
  80. package/src/utils/formatters/base-formatter.ts +0 -34
  81. package/src/utils/formatters/channel-formatters.ts +0 -71
  82. package/src/utils/formatters/channels-list-formatters.ts +0 -55
  83. package/src/utils/formatters/history-formatters.ts +0 -123
  84. package/src/utils/formatters/message-formatters.ts +0 -85
  85. package/src/utils/mention-utils.ts +0 -47
  86. package/src/utils/option-parsers.ts +0 -100
  87. package/src/utils/profile-config.ts +0 -161
  88. package/src/utils/schedule-utils.ts +0 -41
  89. package/src/utils/slack-api-client.ts +0 -135
  90. package/src/utils/slack-operations/base-client.ts +0 -30
  91. package/src/utils/slack-operations/channel-operations.ts +0 -161
  92. package/src/utils/slack-operations/index.ts +0 -3
  93. package/src/utils/slack-operations/message-operations.ts +0 -176
  94. package/src/utils/slack-patterns.ts +0 -9
  95. package/src/utils/token-utils.ts +0 -17
  96. package/src/utils/validators.ts +0 -263
  97. package/tests/commands/channels.test.ts +0 -250
  98. package/tests/commands/config.test.ts +0 -158
  99. package/tests/commands/history.test.ts +0 -403
  100. package/tests/commands/scheduled.test.ts +0 -131
  101. package/tests/commands/send.test.ts +0 -414
  102. package/tests/commands/unread.test.ts +0 -492
  103. package/tests/index.test.ts +0 -40
  104. package/tests/test-utils.ts +0 -28
  105. package/tests/utils/channel-resolver.test.ts +0 -161
  106. package/tests/utils/config/config-file-manager.test.ts +0 -118
  107. package/tests/utils/config/profile-manager.test.ts +0 -266
  108. package/tests/utils/config/token-crypto-service.test.ts +0 -98
  109. package/tests/utils/config.test.ts +0 -400
  110. package/tests/utils/date-utils.test.ts +0 -30
  111. package/tests/utils/error-utils.test.ts +0 -34
  112. package/tests/utils/format-utils.test.ts +0 -61
  113. package/tests/utils/mention-utils.test.ts +0 -100
  114. package/tests/utils/option-parsers.test.ts +0 -173
  115. package/tests/utils/profile-config.test.ts +0 -282
  116. package/tests/utils/schedule-utils.test.ts +0 -63
  117. package/tests/utils/slack-api-client.test.ts +0 -313
  118. package/tests/utils/slack-operations/channel-operations.test.ts +0 -248
  119. package/tests/utils/slack-operations/message-operations.test.ts +0 -163
  120. package/tests/utils/token-utils.test.ts +0 -33
  121. package/tests/utils/validators.test.ts +0 -307
  122. package/tsconfig.json +0 -22
  123. package/vitest.config.ts +0 -27
package/README.md CHANGED
@@ -113,6 +113,9 @@ slack-cli history -c general -n 20
113
113
  # Get messages since specific date
114
114
  slack-cli history -c general --since "2024-01-01 00:00:00"
115
115
 
116
+ # Get complete conversation of a thread
117
+ slack-cli history -c general --thread 1719207629.000100
118
+
116
119
  # Use specific profile
117
120
  slack-cli history -c general --profile work
118
121
  ```
@@ -143,6 +146,35 @@ slack-cli unread --format json
143
146
  slack-cli unread --format simple
144
147
  ```
145
148
 
149
+ ### Search Messages
150
+
151
+ ```bash
152
+ # Basic search
153
+ slack-cli search -q "deploy error"
154
+
155
+ # Sort by timestamp (newest first)
156
+ slack-cli search -q "meeting" --sort timestamp
157
+
158
+ # Sort oldest first
159
+ slack-cli search -q "release" --sort timestamp --sort-dir asc
160
+
161
+ # Limit results per page
162
+ slack-cli search -q "bug fix" -n 50
163
+
164
+ # Paginate through results
165
+ slack-cli search -q "deploy" --page 2
166
+
167
+ # Use Slack search modifiers in query
168
+ slack-cli search -q "in:general from:@alice deploy"
169
+
170
+ # Output in different formats
171
+ slack-cli search -q "error" --format json
172
+ slack-cli search -q "error" --format simple
173
+
174
+ # Use specific profile
175
+ slack-cli search -q "release" --profile work
176
+ ```
177
+
146
178
  ### List Scheduled Messages
147
179
 
148
180
  ```bash
@@ -211,6 +243,7 @@ slack-cli config set --token NEW_TOKEN
211
243
  | --channel | -c | Target channel name or ID (required) |
212
244
  | --number | -n | Number of messages to retrieve (default: 10) |
213
245
  | --since | | Get messages since specific date (YYYY-MM-DD HH:MM:SS) |
246
+ | --thread | -t | Thread timestamp to retrieve complete thread messages |
214
247
 
215
248
  ### unread command
216
249
 
@@ -222,6 +255,17 @@ slack-cli config set --token NEW_TOKEN
222
255
  | --limit | | Maximum number of channels to display (default: 50) |
223
256
  | --mark-read | | Mark messages as read after fetching |
224
257
 
258
+ ### search command
259
+
260
+ | Option | Short | Description |
261
+ | ---------- | ----- | --------------------------------------------------- |
262
+ | --query | -q | Search query (required) |
263
+ | --sort | | Sort by: score or timestamp (default: score) |
264
+ | --sort-dir | | Sort direction: asc or desc (default: desc) |
265
+ | --number | -n | Number of results per page, 1-100 (default: 20) |
266
+ | --page | | Page number, 1-100 (default: 1) |
267
+ | --format | | Output format: table, simple, json (default: table) |
268
+
225
269
  ### scheduled command
226
270
 
227
271
  | Option | Short | Description |
@@ -241,6 +285,7 @@ Your Slack API token needs the following scopes:
241
285
  - `groups:history` - Read private channel message history
242
286
  - `im:history` - Read direct message history
243
287
  - `users:read` - Access user information for unread counts
288
+ - `search:read` - Search messages (user token only, not supported with bot tokens)
244
289
 
245
290
  ## Advanced Features
246
291
 
@@ -1,3 +1,7 @@
1
1
  import { Message } from '../utils/slack-api-client';
2
- export declare function displayHistoryResults(messages: Message[], users: Map<string, string>, channelName: string, format?: string): void;
2
+ interface DisplayHistoryOptions {
3
+ preserveOrder?: boolean;
4
+ }
5
+ export declare function displayHistoryResults(messages: Message[], users: Map<string, string>, channelName: string, format?: string, options?: DisplayHistoryOptions): void;
6
+ export {};
3
7
  //# sourceMappingURL=history-display.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"history-display.d.ts","sourceRoot":"","sources":["../../src/commands/history-display.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAGpD,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC1B,WAAW,EAAE,MAAM,EACnB,MAAM,SAAU,GACf,IAAI,CAUN"}
1
+ {"version":3,"file":"history-display.d.ts","sourceRoot":"","sources":["../../src/commands/history-display.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAGpD,UAAU,qBAAqB;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC1B,WAAW,EAAE,MAAM,EACnB,MAAM,SAAU,EAChB,OAAO,GAAE,qBAA0B,GAClC,IAAI,CAUN"}
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.displayHistoryResults = displayHistoryResults;
4
4
  const history_formatters_1 = require("../utils/formatters/history-formatters");
5
- function displayHistoryResults(messages, users, channelName, format = 'table') {
6
- // Display messages in reverse order (oldest first)
7
- const orderedMessages = [...messages].reverse();
5
+ function displayHistoryResults(messages, users, channelName, format = 'table', options = {}) {
6
+ // conversations.history returns newest-first, so reverse by default.
7
+ const orderedMessages = options.preserveOrder ? [...messages] : [...messages].reverse();
8
8
  const formatter = (0, history_formatters_1.createHistoryFormatter)(format);
9
9
  formatter.format({
10
10
  channelName,
@@ -1 +1 @@
1
- {"version":3,"file":"history-display.js","sourceRoot":"","sources":["../../src/commands/history-display.ts"],"names":[],"mappings":";;AAGA,sDAeC;AAjBD,+EAAgF;AAEhF,SAAgB,qBAAqB,CACnC,QAAmB,EACnB,KAA0B,EAC1B,WAAmB,EACnB,MAAM,GAAG,OAAO;IAEhB,mDAAmD;IACnD,MAAM,eAAe,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;IAEhD,MAAM,SAAS,GAAG,IAAA,2CAAsB,EAAC,MAAM,CAAC,CAAC;IACjD,SAAS,CAAC,MAAM,CAAC;QACf,WAAW;QACX,QAAQ,EAAE,eAAe;QACzB,KAAK;KACN,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"history-display.js","sourceRoot":"","sources":["../../src/commands/history-display.ts"],"names":[],"mappings":";;AAOA,sDAgBC;AAtBD,+EAAgF;AAMhF,SAAgB,qBAAqB,CACnC,QAAmB,EACnB,KAA0B,EAC1B,WAAmB,EACnB,MAAM,GAAG,OAAO,EAChB,UAAiC,EAAE;IAEnC,qEAAqE;IACrE,MAAM,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;IAExF,MAAM,SAAS,GAAG,IAAA,2CAAsB,EAAC,MAAM,CAAC,CAAC;IACjD,SAAS,CAAC,MAAM,CAAC;QACf,WAAW;QACX,QAAQ,EAAE,eAAe;QACzB,KAAK;KACN,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/commands/history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,wBAAgB,mBAAmB,IAAI,OAAO,CAgD7C"}
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/commands/history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,wBAAgB,mBAAmB,IAAI,OAAO,CA4D7C"}
@@ -14,29 +14,46 @@ function setupHistoryCommand() {
14
14
  const historyCommand = new commander_1.Command('history')
15
15
  .description('Get message history from a Slack channel')
16
16
  .requiredOption('-c, --channel <channel>', 'Target channel name or ID')
17
- .option('-n, --number <number>', 'Number of messages to retrieve', constants_1.API_LIMITS.DEFAULT_MESSAGE_COUNT.toString())
17
+ .option('-n, --number <number>', 'Number of messages to retrieve')
18
18
  .option('--since <date>', 'Get messages since specific date (YYYY-MM-DD HH:MM:SS)')
19
+ .option('-t, --thread <thread>', 'Thread timestamp to retrieve complete thread conversation')
19
20
  .option('--format <format>', 'Output format: table, simple, json', 'table')
20
21
  .option('--profile <profile>', 'Use specific workspace profile')
21
22
  .hook('preAction', (0, validators_1.createValidationHook)([
22
- validators_1.optionValidators.messageCount,
23
- validators_1.optionValidators.sinceDate,
23
+ (options) => (options.thread ? null : validators_1.optionValidators.messageCount(options)),
24
+ (options) => (options.thread ? null : validators_1.optionValidators.sinceDate(options)),
25
+ validators_1.optionValidators.threadTimestamp,
24
26
  validators_1.optionValidators.format,
25
27
  ]))
26
28
  .action((0, command_wrapper_1.wrapCommand)(async (options) => {
27
29
  const profile = (0, option_parsers_1.parseProfile)(options.profile);
28
30
  const client = await (0, client_factory_1.createSlackClient)(profile);
29
31
  const limit = (0, option_parsers_1.parseCount)(options.number, constants_1.API_LIMITS.DEFAULT_MESSAGE_COUNT, constants_1.API_LIMITS.MIN_MESSAGE_COUNT, constants_1.API_LIMITS.MAX_MESSAGE_COUNT);
30
- const historyOptions = {
31
- limit,
32
- };
33
- const oldest = (0, history_validators_1.prepareSinceTimestamp)(options.since);
34
- if (oldest) {
35
- historyOptions.oldest = oldest;
32
+ let messages;
33
+ let users;
34
+ if (options.thread) {
35
+ if (options.number !== undefined) {
36
+ console.log('Warning: --number is ignored when --thread is specified.');
37
+ }
38
+ if (options.since !== undefined) {
39
+ console.log('Warning: --since is ignored when --thread is specified.');
40
+ }
41
+ ({ messages, users } = await client.getThreadHistory(options.channel, options.thread));
42
+ }
43
+ else {
44
+ const historyOptions = {
45
+ limit,
46
+ };
47
+ const oldest = (0, history_validators_1.prepareSinceTimestamp)(options.since);
48
+ if (oldest) {
49
+ historyOptions.oldest = oldest;
50
+ }
51
+ ({ messages, users } = await client.getHistory(options.channel, historyOptions));
36
52
  }
37
- const { messages, users } = await client.getHistory(options.channel, historyOptions);
38
53
  const format = (0, option_parsers_2.parseFormat)(options.format);
39
- (0, history_display_1.displayHistoryResults)(messages, users, options.channel, format);
54
+ (0, history_display_1.displayHistoryResults)(messages, users, options.channel, format, {
55
+ preserveOrder: Boolean(options.thread),
56
+ });
40
57
  }));
41
58
  return historyCommand;
42
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/commands/history.ts"],"names":[],"mappings":";;AAYA,kDAgDC;AA5DD,yCAAoC;AAEpC,8DAAuD;AACvD,4DAA4D;AAE5D,kDAAgD;AAChD,4DAAmE;AACnE,oDAA6E;AAC7E,4DAAsD;AACtD,6DAA6D;AAC7D,uDAA0D;AAE1D,SAAgB,mBAAmB;IACjC,MAAM,cAAc,GAAG,IAAI,mBAAO,CAAC,SAAS,CAAC;SAC1C,WAAW,CAAC,0CAA0C,CAAC;SACvD,cAAc,CAAC,yBAAyB,EAAE,2BAA2B,CAAC;SACtE,MAAM,CACL,uBAAuB,EACvB,gCAAgC,EAChC,sBAAU,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAC5C;SACA,MAAM,CAAC,gBAAgB,EAAE,wDAAwD,CAAC;SAClF,MAAM,CAAC,mBAAmB,EAAE,oCAAoC,EAAE,OAAO,CAAC;SAC1E,MAAM,CAAC,qBAAqB,EAAE,gCAAgC,CAAC;SAC/D,IAAI,CACH,WAAW,EACX,IAAA,iCAAoB,EAAC;QACnB,6BAAgB,CAAC,YAAY;QAC7B,6BAAgB,CAAC,SAAS;QAC1B,6BAAgB,CAAC,MAAM;KACxB,CAAC,CACH;SACA,MAAM,CACL,IAAA,6BAAW,EAAC,KAAK,EAAE,OAAuB,EAAE,EAAE;QAC5C,MAAM,OAAO,GAAG,IAAA,6BAAY,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,IAAA,kCAAiB,EAAC,OAAO,CAAC,CAAC;QAEhD,MAAM,KAAK,GAAG,IAAA,2BAAU,EACtB,OAAO,CAAC,MAAM,EACd,sBAAU,CAAC,qBAAqB,EAChC,sBAAU,CAAC,iBAAiB,EAC5B,sBAAU,CAAC,iBAAiB,CAC7B,CAAC;QAEF,MAAM,cAAc,GAAsB;YACxC,KAAK;SACN,CAAC;QAEF,MAAM,MAAM,GAAG,IAAA,0CAAqB,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,MAAM,EAAE,CAAC;YACX,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC;QACjC,CAAC;QAED,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACrF,MAAM,MAAM,GAAG,IAAA,4BAAW,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAA,uCAAqB,EAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAClE,CAAC,CAAC,CACH,CAAC;IAEJ,OAAO,cAAc,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/commands/history.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function setupSearchCommand(): Command;
3
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,wBAAgB,kBAAkB,IAAI,OAAO,CA2D5C"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setupSearchCommand = setupSearchCommand;
4
+ const commander_1 = require("commander");
5
+ const command_wrapper_1 = require("../utils/command-wrapper");
6
+ const client_factory_1 = require("../utils/client-factory");
7
+ const constants_1 = require("../utils/constants");
8
+ const option_parsers_1 = require("../utils/option-parsers");
9
+ const validators_1 = require("../utils/validators");
10
+ const search_formatters_1 = require("../utils/formatters/search-formatters");
11
+ function setupSearchCommand() {
12
+ const searchCommand = new commander_1.Command('search')
13
+ .description('Search messages in Slack workspace')
14
+ .requiredOption('-q, --query <query>', 'Search query')
15
+ .option('--sort <sort>', 'Sort by: score or timestamp', 'score')
16
+ .option('--sort-dir <direction>', 'Sort direction: asc or desc', 'desc')
17
+ .option('-n, --number <count>', 'Number of results per page (1-100)')
18
+ .option('--page <page>', 'Page number (1-100)')
19
+ .option('--format <format>', 'Output format: table, simple, json', 'table')
20
+ .option('--profile <profile>', 'Use specific workspace profile')
21
+ .hook('preAction', (0, validators_1.createValidationHook)([
22
+ validators_1.optionValidators.searchSort,
23
+ validators_1.optionValidators.searchSortDir,
24
+ validators_1.optionValidators.searchCount,
25
+ validators_1.optionValidators.searchPage,
26
+ validators_1.optionValidators.format,
27
+ ]))
28
+ .action((0, command_wrapper_1.wrapCommand)(async (options) => {
29
+ const profile = (0, option_parsers_1.parseProfile)(options.profile);
30
+ const client = await (0, client_factory_1.createSlackClient)(profile);
31
+ const count = (0, option_parsers_1.parseCount)(options.number, constants_1.API_LIMITS.DEFAULT_SEARCH_COUNT, constants_1.API_LIMITS.MIN_SEARCH_COUNT, constants_1.API_LIMITS.MAX_SEARCH_COUNT);
32
+ const page = (0, option_parsers_1.parseCount)(options.page, constants_1.API_LIMITS.MIN_SEARCH_PAGE, constants_1.API_LIMITS.MIN_SEARCH_PAGE, constants_1.API_LIMITS.MAX_SEARCH_PAGE);
33
+ const result = await client.searchMessages(options.query, {
34
+ sort: options.sort || 'score',
35
+ sortDir: options.sortDir || 'desc',
36
+ count,
37
+ page,
38
+ });
39
+ const format = (0, option_parsers_1.parseFormat)(options.format);
40
+ const formatter = (0, search_formatters_1.createSearchFormatter)(format);
41
+ formatter.format({
42
+ query: result.query,
43
+ matches: result.matches,
44
+ totalCount: result.totalCount,
45
+ page: result.page,
46
+ pageCount: result.pageCount,
47
+ });
48
+ }));
49
+ return searchCommand;
50
+ }
51
+ //# sourceMappingURL=search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":";;AASA,gDA2DC;AApED,yCAAoC;AACpC,8DAAuD;AACvD,4DAA4D;AAE5D,kDAAgD;AAChD,4DAAgF;AAChF,oDAA6E;AAC7E,6EAA8E;AAE9E,SAAgB,kBAAkB;IAChC,MAAM,aAAa,GAAG,IAAI,mBAAO,CAAC,QAAQ,CAAC;SACxC,WAAW,CAAC,oCAAoC,CAAC;SACjD,cAAc,CAAC,qBAAqB,EAAE,cAAc,CAAC;SACrD,MAAM,CAAC,eAAe,EAAE,6BAA6B,EAAE,OAAO,CAAC;SAC/D,MAAM,CAAC,wBAAwB,EAAE,6BAA6B,EAAE,MAAM,CAAC;SACvE,MAAM,CAAC,sBAAsB,EAAE,oCAAoC,CAAC;SACpE,MAAM,CAAC,eAAe,EAAE,qBAAqB,CAAC;SAC9C,MAAM,CAAC,mBAAmB,EAAE,oCAAoC,EAAE,OAAO,CAAC;SAC1E,MAAM,CAAC,qBAAqB,EAAE,gCAAgC,CAAC;SAC/D,IAAI,CACH,WAAW,EACX,IAAA,iCAAoB,EAAC;QACnB,6BAAgB,CAAC,UAAU;QAC3B,6BAAgB,CAAC,aAAa;QAC9B,6BAAgB,CAAC,WAAW;QAC5B,6BAAgB,CAAC,UAAU;QAC3B,6BAAgB,CAAC,MAAM;KACxB,CAAC,CACH;SACA,MAAM,CACL,IAAA,6BAAW,EAAC,KAAK,EAAE,OAAsB,EAAE,EAAE;QAC3C,MAAM,OAAO,GAAG,IAAA,6BAAY,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,IAAA,kCAAiB,EAAC,OAAO,CAAC,CAAC;QAEhD,MAAM,KAAK,GAAG,IAAA,2BAAU,EACtB,OAAO,CAAC,MAAM,EACd,sBAAU,CAAC,oBAAoB,EAC/B,sBAAU,CAAC,gBAAgB,EAC3B,sBAAU,CAAC,gBAAgB,CAC5B,CAAC;QAEF,MAAM,IAAI,GAAG,IAAA,2BAAU,EACrB,OAAO,CAAC,IAAI,EACZ,sBAAU,CAAC,eAAe,EAC1B,sBAAU,CAAC,eAAe,EAC1B,sBAAU,CAAC,eAAe,CAC3B,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE;YACxD,IAAI,EAAG,OAAO,CAAC,IAA8B,IAAI,OAAO;YACxD,OAAO,EAAG,OAAO,CAAC,OAA0B,IAAI,MAAM;YACtD,KAAK;YACL,IAAI;SACL,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAA,4BAAW,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,IAAA,yCAAqB,EAAC,MAAM,CAAC,CAAC;QAChD,SAAS,CAAC,MAAM,CAAC;YACf,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC,CAAC;IACL,CAAC,CAAC,CACH,CAAC;IAEJ,OAAO,aAAa,CAAC;AACvB,CAAC"}
package/dist/index.js CHANGED
@@ -8,6 +8,7 @@ const channels_1 = require("./commands/channels");
8
8
  const history_1 = require("./commands/history");
9
9
  const unread_1 = require("./commands/unread");
10
10
  const scheduled_1 = require("./commands/scheduled");
11
+ const search_1 = require("./commands/search");
11
12
  const fs_1 = require("fs");
12
13
  const path_1 = require("path");
13
14
  const program = new commander_1.Command();
@@ -21,5 +22,6 @@ program.addCommand((0, channels_1.setupChannelsCommand)());
21
22
  program.addCommand((0, history_1.setupHistoryCommand)());
22
23
  program.addCommand((0, unread_1.setupUnreadCommand)());
23
24
  program.addCommand((0, scheduled_1.setupScheduledCommand)());
25
+ program.addCommand((0, search_1.setupSearchCommand)());
24
26
  program.parse();
25
27
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,yCAAoC;AACpC,8CAAuD;AACvD,0CAAmD;AACnD,kDAA2D;AAC3D,gDAAyD;AACzD,8CAAuD;AACvD,oDAA6D;AAC7D,2BAAkC;AAClC,+BAA4B;AAE5B,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,iCAAiC;AACjC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AAC7F,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;AAEpC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,yCAAyC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAElG,OAAO,CAAC,UAAU,CAAC,IAAA,2BAAkB,GAAE,CAAC,CAAC;AACzC,OAAO,CAAC,UAAU,CAAC,IAAA,uBAAgB,GAAE,CAAC,CAAC;AACvC,OAAO,CAAC,UAAU,CAAC,IAAA,+BAAoB,GAAE,CAAC,CAAC;AAC3C,OAAO,CAAC,UAAU,CAAC,IAAA,6BAAmB,GAAE,CAAC,CAAC;AAC1C,OAAO,CAAC,UAAU,CAAC,IAAA,2BAAkB,GAAE,CAAC,CAAC;AACzC,OAAO,CAAC,UAAU,CAAC,IAAA,iCAAqB,GAAE,CAAC,CAAC;AAE5C,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,yCAAoC;AACpC,8CAAuD;AACvD,0CAAmD;AACnD,kDAA2D;AAC3D,gDAAyD;AACzD,8CAAuD;AACvD,oDAA6D;AAC7D,8CAAuD;AACvD,2BAAkC;AAClC,+BAA4B;AAE5B,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,iCAAiC;AACjC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AAC7F,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;AAEpC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,yCAAyC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAElG,OAAO,CAAC,UAAU,CAAC,IAAA,2BAAkB,GAAE,CAAC,CAAC;AACzC,OAAO,CAAC,UAAU,CAAC,IAAA,uBAAgB,GAAE,CAAC,CAAC;AACvC,OAAO,CAAC,UAAU,CAAC,IAAA,+BAAoB,GAAE,CAAC,CAAC;AAC3C,OAAO,CAAC,UAAU,CAAC,IAAA,6BAAmB,GAAE,CAAC,CAAC;AAC1C,OAAO,CAAC,UAAU,CAAC,IAAA,2BAAkB,GAAE,CAAC,CAAC;AACzC,OAAO,CAAC,UAAU,CAAC,IAAA,iCAAqB,GAAE,CAAC,CAAC;AAC5C,OAAO,CAAC,UAAU,CAAC,IAAA,2BAAkB,GAAE,CAAC,CAAC;AAEzC,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -37,6 +37,7 @@ export interface HistoryOptions {
37
37
  channel: string;
38
38
  number?: string;
39
39
  since?: string;
40
+ thread?: string;
40
41
  format?: 'table' | 'simple' | 'json';
41
42
  profile?: string;
42
43
  }
@@ -48,4 +49,13 @@ export interface UnreadOptions {
48
49
  markRead?: boolean;
49
50
  profile?: string;
50
51
  }
52
+ export interface SearchOptions {
53
+ query: string;
54
+ sort?: 'score' | 'timestamp';
55
+ sortDir?: 'asc' | 'desc';
56
+ number?: string;
57
+ page?: string;
58
+ format?: 'table' | 'simple' | 'json';
59
+ profile?: string;
60
+ }
51
61
  //# sourceMappingURL=commands.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/types/commands.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC;IACnD,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/types/commands.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC;IACnD,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;IAC7B,OAAO,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
@@ -34,6 +34,11 @@ export declare const API_LIMITS: {
34
34
  MAX_MESSAGE_COUNT: number;
35
35
  MIN_MESSAGE_COUNT: number;
36
36
  DEFAULT_MESSAGE_COUNT: number;
37
+ DEFAULT_SEARCH_COUNT: number;
38
+ MAX_SEARCH_COUNT: number;
39
+ MIN_SEARCH_COUNT: number;
40
+ MAX_SEARCH_PAGE: number;
41
+ MIN_SEARCH_PAGE: number;
37
42
  };
38
43
  export declare const RATE_LIMIT: {
39
44
  CONCURRENT_REQUESTS: number;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAE9C,eAAO,MAAM,cAAc;sCAEA,MAAM;8CAEE,MAAM;;;;;;;;;;gCAepB,MAAM;0CACI,MAAM;qCAGX,MAAM,SAAS,MAAM;oCACtB,MAAM;;6CAIG,MAAM;CAC9B,CAAC;AAEX,eAAO,MAAM,gBAAgB;wCACA,MAAM;6CACD,MAAM;4CACP,MAAM;qCACb,MAAM;0CACD,MAAM,aAAa,MAAM;CAE9C,CAAC;AAGX,eAAO,MAAM,gBAAgB;;CAE5B,CAAC;AAGF,eAAO,MAAM,UAAU;;;;CAItB,CAAC;AAGF,eAAO,MAAM,UAAU;;;;;;;;;;CAUtB,CAAC;AAGF,eAAO,MAAM,QAAQ;;;;CAIpB,CAAC;AAGF,eAAO,MAAM,WAAW,wBAAwB,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAE9C,eAAO,MAAM,cAAc;sCAEA,MAAM;8CAEE,MAAM;;;;;;;;;;gCAepB,MAAM;0CACI,MAAM;qCAGX,MAAM,SAAS,MAAM;oCACtB,MAAM;;6CAIG,MAAM;CAC9B,CAAC;AAEX,eAAO,MAAM,gBAAgB;wCACA,MAAM;6CACD,MAAM;4CACP,MAAM;qCACb,MAAM;0CACD,MAAM,aAAa,MAAM;CAE9C,CAAC;AAGX,eAAO,MAAM,gBAAgB;;CAE5B,CAAC;AAGF,eAAO,MAAM,UAAU;;;;;;;;;CAStB,CAAC;AAGF,eAAO,MAAM,UAAU;;;;;;;;;;CAUtB,CAAC;AAGF,eAAO,MAAM,QAAQ;;;;CAIpB,CAAC;AAGF,eAAO,MAAM,WAAW,wBAAwB,CAAC"}
@@ -44,6 +44,11 @@ exports.API_LIMITS = {
44
44
  MAX_MESSAGE_COUNT: 1000,
45
45
  MIN_MESSAGE_COUNT: 1,
46
46
  DEFAULT_MESSAGE_COUNT: 10,
47
+ DEFAULT_SEARCH_COUNT: 20,
48
+ MAX_SEARCH_COUNT: 100,
49
+ MIN_SEARCH_COUNT: 1,
50
+ MAX_SEARCH_PAGE: 100,
51
+ MIN_SEARCH_PAGE: 1,
47
52
  };
48
53
  // API Rate Limiting Configuration
49
54
  exports.RATE_LIMIT = {
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,iBAAiB,GAAG,CAAC,CAAC;AACtB,QAAA,gBAAgB,GAAG,CAAC,CAAC;AACrB,QAAA,oBAAoB,GAAG,SAAS,CAAC;AAEjC,QAAA,cAAc,GAAG;IAC5B,uBAAuB;IACvB,SAAS,EAAE,CAAC,WAAmB,EAAE,EAAE,CACjC,uCAAuC,WAAW,0DAA0D,WAAW,cAAc;IACvI,iBAAiB,EAAE,CAAC,WAAmB,EAAE,EAAE,CAAC,YAAY,WAAW,aAAa;IAChF,iBAAiB,EAAE,8EAA8E;IACjG,qBAAqB,EAAE,4BAA4B;IAEnD,oBAAoB;IACpB,kBAAkB,EAAE,6CAA6C;IACjE,qBAAqB,EAAE,sCAAsC;IAC7D,wBAAwB,EAAE,iCAAiC;IAC3D,mBAAmB,EACjB,kFAAkF;IACpF,sBAAsB,EAAE,8CAA8C;IACtE,qBAAqB,EAAE,kCAAkC;IACzD,qBAAqB,EAAE,qCAAqC;IAE5D,aAAa;IACb,SAAS,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,cAAc,KAAK,EAAE;IACnD,iBAAiB,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,sBAAsB,OAAO,EAAE;IAEvE,cAAc;IACd,eAAe,EAAE,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE,CAAC,sBAAsB,IAAI,KAAK,KAAK,EAAE;IACxF,cAAc,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,mBAAmB,IAAI,EAAE;IAE3D,0BAA0B;IAC1B,iBAAiB,EAAE,mBAAmB;IACtC,sBAAsB,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,2BAA2B,KAAK,EAAE;CACrE,CAAC;AAEE,QAAA,gBAAgB,GAAG;IAC9B,WAAW,EAAE,CAAC,WAAmB,EAAE,EAAE,CAAC,yCAAyC,WAAW,GAAG;IAC7F,gBAAgB,EAAE,CAAC,WAAmB,EAAE,EAAE,CAAC,wBAAwB,WAAW,GAAG;IACjF,eAAe,EAAE,CAAC,WAAmB,EAAE,EAAE,CAAC,YAAY,WAAW,wBAAwB;IACzF,YAAY,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,iCAAiC,OAAO,EAAE;IAC7E,iBAAiB,EAAE,CAAC,OAAe,EAAE,SAAiB,EAAE,EAAE,CACxD,yBAAyB,OAAO,OAAO,SAAS,EAAE;CAC5C,CAAC;AAEX,4BAA4B;AACf,QAAA,gBAAgB,GAAG;IAC9B,WAAW,EAAE,KAAK,EAAE,4BAA4B;CACjD,CAAC;AAEF,aAAa;AACA,QAAA,UAAU,GAAG;IACxB,iBAAiB,EAAE,IAAI;IACvB,iBAAiB,EAAE,CAAC;IACpB,qBAAqB,EAAE,EAAE;CAC1B,CAAC;AAEF,kCAAkC;AACrB,QAAA,UAAU,GAAG;IACxB,mBAAmB,EAAE,CAAC;IACtB,UAAU,EAAE,EAAE;IACd,cAAc,EAAE,IAAI;IACpB,YAAY,EAAE;QACZ,OAAO,EAAE,CAAC;QACV,MAAM,EAAE,CAAC;QACT,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,KAAK;KAClB;CACF,CAAC;AAEF,iBAAiB;AACJ,QAAA,QAAQ,GAAG;IACtB,aAAa,EAAE,EAAE;IACjB,cAAc,EAAE,IAAI;IACpB,oBAAoB,EAAE,EAAE;CACzB,CAAC;AAEF,eAAe;AACF,QAAA,WAAW,GAAG,qBAAqB,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,iBAAiB,GAAG,CAAC,CAAC;AACtB,QAAA,gBAAgB,GAAG,CAAC,CAAC;AACrB,QAAA,oBAAoB,GAAG,SAAS,CAAC;AAEjC,QAAA,cAAc,GAAG;IAC5B,uBAAuB;IACvB,SAAS,EAAE,CAAC,WAAmB,EAAE,EAAE,CACjC,uCAAuC,WAAW,0DAA0D,WAAW,cAAc;IACvI,iBAAiB,EAAE,CAAC,WAAmB,EAAE,EAAE,CAAC,YAAY,WAAW,aAAa;IAChF,iBAAiB,EAAE,8EAA8E;IACjG,qBAAqB,EAAE,4BAA4B;IAEnD,oBAAoB;IACpB,kBAAkB,EAAE,6CAA6C;IACjE,qBAAqB,EAAE,sCAAsC;IAC7D,wBAAwB,EAAE,iCAAiC;IAC3D,mBAAmB,EACjB,kFAAkF;IACpF,sBAAsB,EAAE,8CAA8C;IACtE,qBAAqB,EAAE,kCAAkC;IACzD,qBAAqB,EAAE,qCAAqC;IAE5D,aAAa;IACb,SAAS,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,cAAc,KAAK,EAAE;IACnD,iBAAiB,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,sBAAsB,OAAO,EAAE;IAEvE,cAAc;IACd,eAAe,EAAE,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE,CAAC,sBAAsB,IAAI,KAAK,KAAK,EAAE;IACxF,cAAc,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,mBAAmB,IAAI,EAAE;IAE3D,0BAA0B;IAC1B,iBAAiB,EAAE,mBAAmB;IACtC,sBAAsB,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,2BAA2B,KAAK,EAAE;CACrE,CAAC;AAEE,QAAA,gBAAgB,GAAG;IAC9B,WAAW,EAAE,CAAC,WAAmB,EAAE,EAAE,CAAC,yCAAyC,WAAW,GAAG;IAC7F,gBAAgB,EAAE,CAAC,WAAmB,EAAE,EAAE,CAAC,wBAAwB,WAAW,GAAG;IACjF,eAAe,EAAE,CAAC,WAAmB,EAAE,EAAE,CAAC,YAAY,WAAW,wBAAwB;IACzF,YAAY,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,iCAAiC,OAAO,EAAE;IAC7E,iBAAiB,EAAE,CAAC,OAAe,EAAE,SAAiB,EAAE,EAAE,CACxD,yBAAyB,OAAO,OAAO,SAAS,EAAE;CAC5C,CAAC;AAEX,4BAA4B;AACf,QAAA,gBAAgB,GAAG;IAC9B,WAAW,EAAE,KAAK,EAAE,4BAA4B;CACjD,CAAC;AAEF,aAAa;AACA,QAAA,UAAU,GAAG;IACxB,iBAAiB,EAAE,IAAI;IACvB,iBAAiB,EAAE,CAAC;IACpB,qBAAqB,EAAE,EAAE;IACzB,oBAAoB,EAAE,EAAE;IACxB,gBAAgB,EAAE,GAAG;IACrB,gBAAgB,EAAE,CAAC;IACnB,eAAe,EAAE,GAAG;IACpB,eAAe,EAAE,CAAC;CACnB,CAAC;AAEF,kCAAkC;AACrB,QAAA,UAAU,GAAG;IACxB,mBAAmB,EAAE,CAAC;IACtB,UAAU,EAAE,EAAE;IACd,cAAc,EAAE,IAAI;IACpB,YAAY,EAAE;QACZ,OAAO,EAAE,CAAC;QACV,MAAM,EAAE,CAAC;QACT,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,KAAK;KAClB;CACF,CAAC;AAEF,iBAAiB;AACJ,QAAA,QAAQ,GAAG;IACtB,aAAa,EAAE,EAAE;IACjB,cAAc,EAAE,IAAI;IACpB,oBAAoB,EAAE,EAAE;CACzB,CAAC;AAEF,eAAe;AACF,QAAA,WAAW,GAAG,qBAAqB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { SearchMatch } from '../slack-api-client';
2
+ export interface SearchFormatterOptions {
3
+ query: string;
4
+ matches: SearchMatch[];
5
+ totalCount: number;
6
+ page: number;
7
+ pageCount: number;
8
+ }
9
+ export declare function createSearchFormatter(format: string): import("./base-formatter").BaseFormatter<SearchFormatterOptions>;
10
+ //# sourceMappingURL=search-formatters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-formatters.d.ts","sourceRoot":"","sources":["../../../src/utils/formatters/search-formatters.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,MAAM,WAAW,sBAAsB;IACrC,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;AAgGD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,oEAEnD"}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createSearchFormatter = createSearchFormatter;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const base_formatter_1 = require("./base-formatter");
9
+ function formatTimestamp(slackTimestamp) {
10
+ const timestamp = parseFloat(slackTimestamp);
11
+ const date = new Date(timestamp * 1000);
12
+ const year = date.getUTCFullYear();
13
+ const month = String(date.getUTCMonth() + 1).padStart(2, '0');
14
+ const day = String(date.getUTCDate()).padStart(2, '0');
15
+ const hours = String(date.getUTCHours()).padStart(2, '0');
16
+ const minutes = String(date.getUTCMinutes()).padStart(2, '0');
17
+ const seconds = String(date.getUTCSeconds()).padStart(2, '0');
18
+ return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
19
+ }
20
+ class TableSearchFormatter extends base_formatter_1.AbstractFormatter {
21
+ format(options) {
22
+ const { query, matches, totalCount, page, pageCount } = options;
23
+ console.log(chalk_1.default.bold(`\nSearch results for "${query}" (${totalCount} matches)`));
24
+ if (matches.length === 0) {
25
+ console.log(chalk_1.default.yellow('No messages found'));
26
+ return;
27
+ }
28
+ if (pageCount > 1) {
29
+ console.log(chalk_1.default.gray(`Page ${page}/${pageCount}`));
30
+ }
31
+ console.log('');
32
+ matches.forEach((match) => {
33
+ const channel = match.channel.name ? `#${match.channel.name}` : match.channel.id || 'unknown';
34
+ const username = match.username || match.user || 'Unknown';
35
+ const timestamp = match.ts ? formatTimestamp(match.ts) : '';
36
+ console.log(`${chalk_1.default.gray(`[${timestamp}]`)} ${chalk_1.default.blue(channel)} ${chalk_1.default.cyan(username)}`);
37
+ console.log(match.text || '(no text)');
38
+ if (match.permalink) {
39
+ console.log(chalk_1.default.gray(match.permalink));
40
+ }
41
+ console.log('');
42
+ });
43
+ console.log(chalk_1.default.green(`Displayed ${matches.length} of ${totalCount} match(es)`));
44
+ }
45
+ }
46
+ class SimpleSearchFormatter extends base_formatter_1.AbstractFormatter {
47
+ format(options) {
48
+ const { matches, totalCount } = options;
49
+ if (matches.length === 0) {
50
+ console.log('No messages found');
51
+ return;
52
+ }
53
+ matches.forEach((match) => {
54
+ const channel = match.channel.name ? `#${match.channel.name}` : match.channel.id || 'unknown';
55
+ const username = match.username || match.user || 'Unknown';
56
+ const timestamp = match.ts ? formatTimestamp(match.ts) : '';
57
+ const text = match.text || '(no text)';
58
+ console.log(`[${channel}] ${username} (${timestamp}): ${text}`);
59
+ });
60
+ if (totalCount > matches.length) {
61
+ console.log(`... and ${totalCount - matches.length} more match(es)`);
62
+ }
63
+ }
64
+ }
65
+ class JsonSearchFormatter extends base_formatter_1.JsonFormatter {
66
+ transform(options) {
67
+ const { query, matches, totalCount, page, pageCount } = options;
68
+ return {
69
+ query,
70
+ totalCount,
71
+ page,
72
+ pageCount,
73
+ matches: matches.map((match) => ({
74
+ channel: match.channel.name || match.channel.id || 'unknown',
75
+ username: match.username || match.user || 'Unknown',
76
+ timestamp: match.ts ? formatTimestamp(match.ts) : '',
77
+ text: match.text || '(no text)',
78
+ permalink: match.permalink || '',
79
+ })),
80
+ };
81
+ }
82
+ }
83
+ const searchFormatterFactory = (0, base_formatter_1.createFormatterFactory)({
84
+ table: new TableSearchFormatter(),
85
+ simple: new SimpleSearchFormatter(),
86
+ json: new JsonSearchFormatter(),
87
+ });
88
+ function createSearchFormatter(format) {
89
+ return searchFormatterFactory.create(format);
90
+ }
91
+ //# sourceMappingURL=search-formatters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-formatters.js","sourceRoot":"","sources":["../../../src/utils/formatters/search-formatters.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import { ChatPostMessageResponse, ChatScheduleMessageResponse } from '@slack/web-api';
2
+ import { SearchResult, SearchMessagesOptions, SearchMatch } from './slack-operations/search-operations';
3
+ export type { SearchResult, SearchMessagesOptions, SearchMatch };
2
4
  export interface Channel {
3
5
  id: string;
4
6
  name: string;
@@ -69,15 +71,18 @@ export interface ChannelUnreadResult {
69
71
  export declare class SlackApiClient {
70
72
  private channelOps;
71
73
  private messageOps;
74
+ private searchOps;
72
75
  constructor(token: string);
73
76
  sendMessage(channel: string, text: string, thread_ts?: string): Promise<ChatPostMessageResponse>;
74
77
  scheduleMessage(channel: string, text: string, post_at: number, thread_ts?: string): Promise<ChatScheduleMessageResponse>;
75
78
  listScheduledMessages(channel?: string, limit?: number): Promise<ScheduledMessage[]>;
76
79
  listChannels(options: ListChannelsOptions): Promise<Channel[]>;
77
80
  getHistory(channel: string, options: HistoryOptions): Promise<HistoryResult>;
81
+ getThreadHistory(channel: string, threadTs: string): Promise<HistoryResult>;
78
82
  listUnreadChannels(): Promise<Channel[]>;
79
83
  getChannelUnread(channelNameOrId: string): Promise<ChannelUnreadResult>;
80
84
  markAsRead(channelId: string): Promise<void>;
85
+ searchMessages(query: string, options?: SearchMessagesOptions): Promise<SearchResult>;
81
86
  }
82
87
  export declare const slackApiClient: {
83
88
  listChannels: (token: string, options: ListChannelsOptions) => Promise<Channel[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"slack-api-client.d.ts","sourceRoot":"","sources":["../../src/utils/slack-api-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slack-api-client.d.ts","sourceRoot":"","sources":["../../src/utils/slack-api-client.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.slackApiClient = exports.SlackApiClient = void 0;
4
4
  const channel_operations_1 = require("./slack-operations/channel-operations");
5
5
  const message_operations_1 = require("./slack-operations/message-operations");
6
+ const search_operations_1 = require("./slack-operations/search-operations");
6
7
  class SlackApiClient {
7
8
  constructor(token) {
8
9
  this.channelOps = new channel_operations_1.ChannelOperations(token);
9
10
  this.messageOps = new message_operations_1.MessageOperations(token);
11
+ this.searchOps = new search_operations_1.SearchOperations(token);
10
12
  }
11
13
  async sendMessage(channel, text, thread_ts) {
12
14
  return this.messageOps.sendMessage(channel, text, thread_ts);
@@ -23,6 +25,9 @@ class SlackApiClient {
23
25
  async getHistory(channel, options) {
24
26
  return this.messageOps.getHistory(channel, options);
25
27
  }
28
+ async getThreadHistory(channel, threadTs) {
29
+ return this.messageOps.getThreadHistory(channel, threadTs);
30
+ }
26
31
  async listUnreadChannels() {
27
32
  return this.channelOps.listUnreadChannels();
28
33
  }
@@ -32,6 +37,9 @@ class SlackApiClient {
32
37
  async markAsRead(channelId) {
33
38
  return this.messageOps.markAsRead(channelId);
34
39
  }
40
+ async searchMessages(query, options) {
41
+ return this.searchOps.searchMessages(query, options);
42
+ }
35
43
  }
36
44
  exports.SlackApiClient = SlackApiClient;
37
45
  exports.slackApiClient = {
@@ -1 +1 @@
1
- {"version":3,"file":"slack-api-client.js","sourceRoot":"","sources":["../../src/utils/slack-api-client.ts"],"names":[],"mappings":";;;AACA,8EAA0E;AAC1E,8EAA0E;AA4E1E,MAAa,cAAc;IAIzB,YAAY,KAAa;QACvB,IAAI,CAAC,UAAU,GAAG,IAAI,sCAAiB,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,IAAI,sCAAiB,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,WAAW,CACf,OAAe,EACf,IAAY,EACZ,SAAkB;QAElB,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,OAAe,EACf,IAAY,EACZ,OAAe,EACf,SAAkB;QAElB,OAAO,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,OAAgB,EAAE,KAAK,GAAG,EAAE;QACtD,OAAO,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAA4B;QAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAe,EAAE,OAAuB;QACvD,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,OAAO,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,eAAuB;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,SAAiB;QAChC,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;CACF;AAjDD,wCAiDC;AAEY,QAAA,cAAc,GAAG;IAC5B,YAAY,EAAE,KAAK,EAAE,KAAa,EAAE,OAA4B,EAAsB,EAAE;QACtF,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"slack-api-client.js","sourceRoot":"","sources":["../../src/utils/slack-api-client.ts"],"names":[],"mappings":";;;AACA,8EAA0E;AAC1E,8EAA0E;AAC1E,4EAK8C;AA8E9C,MAAa,cAAc;IAKzB,YAAY,KAAa;QACvB,IAAI,CAAC,UAAU,GAAG,IAAI,sCAAiB,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,IAAI,sCAAiB,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,SAAS,GAAG,IAAI,oCAAgB,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,WAAW,CACf,OAAe,EACf,IAAY,EACZ,SAAkB;QAElB,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,OAAe,EACf,IAAY,EACZ,OAAe,EACf,SAAkB;QAElB,OAAO,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,OAAgB,EAAE,KAAK,GAAG,EAAE;QACtD,OAAO,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAA4B;QAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAe,EAAE,OAAuB;QACvD,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,OAAe,EAAE,QAAgB;QACtD,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,OAAO,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,eAAuB;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,SAAiB;QAChC,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAAa,EAAE,OAA+B;QACjE,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;CACF;AA3DD,wCA2DC;AAEY,QAAA,cAAc,GAAG;IAC5B,YAAY,EAAE,KAAK,EAAE,KAAa,EAAE,OAA4B,EAAsB,EAAE;QACtF,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;CACF,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export { BaseSlackClient } from './base-client';
2
2
  export { ChannelOperations } from './channel-operations';
3
3
  export { MessageOperations } from './message-operations';
4
+ export { SearchOperations } from './search-operations';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/slack-operations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/slack-operations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MessageOperations = exports.ChannelOperations = exports.BaseSlackClient = void 0;
3
+ exports.SearchOperations = exports.MessageOperations = exports.ChannelOperations = exports.BaseSlackClient = void 0;
4
4
  var base_client_1 = require("./base-client");
5
5
  Object.defineProperty(exports, "BaseSlackClient", { enumerable: true, get: function () { return base_client_1.BaseSlackClient; } });
6
6
  var channel_operations_1 = require("./channel-operations");
7
7
  Object.defineProperty(exports, "ChannelOperations", { enumerable: true, get: function () { return channel_operations_1.ChannelOperations; } });
8
8
  var message_operations_1 = require("./message-operations");
9
9
  Object.defineProperty(exports, "MessageOperations", { enumerable: true, get: function () { return message_operations_1.MessageOperations; } });
10
+ var search_operations_1 = require("./search-operations");
11
+ Object.defineProperty(exports, "SearchOperations", { enumerable: true, get: function () { return search_operations_1.SearchOperations; } });
10
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/slack-operations/index.ts"],"names":[],"mappings":";;;AAAA,6CAAgD;AAAvC,8GAAA,eAAe,OAAA;AACxB,2DAAyD;AAAhD,uHAAA,iBAAiB,OAAA;AAC1B,2DAAyD;AAAhD,uHAAA,iBAAiB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/slack-operations/index.ts"],"names":[],"mappings":";;;AAAA,6CAAgD;AAAvC,8GAAA,eAAe,OAAA;AACxB,2DAAyD;AAAhD,uHAAA,iBAAiB,OAAA;AAC1B,2DAAyD;AAAhD,uHAAA,iBAAiB,OAAA;AAC1B,yDAAuD;AAA9C,qHAAA,gBAAgB,OAAA"}
@@ -8,6 +8,7 @@ export declare class MessageOperations extends BaseSlackClient {
8
8
  scheduleMessage(channel: string, text: string, post_at: number, thread_ts?: string): Promise<ChatScheduleMessageResponse>;
9
9
  listScheduledMessages(channel?: string, limit?: number): Promise<ScheduledMessage[]>;
10
10
  getHistory(channel: string, options: HistoryOptions): Promise<HistoryResult>;
11
+ getThreadHistory(channel: string, threadTs: string): Promise<HistoryResult>;
11
12
  getChannelUnread(channelNameOrId: string): Promise<ChannelUnreadResult>;
12
13
  private fetchUserInfo;
13
14
  markAsRead(channelId: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"message-operations.d.ts","sourceRoot":"","sources":["../../../src/utils/slack-operations/message-operations.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EAGvB,2BAA2B,EAC5B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,EAEL,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAI7B,qBAAa,iBAAkB,SAAQ,eAAe;IACpD,OAAO,CAAC,UAAU,CAAoB;gBAE1B,KAAK,EAAE,MAAM;IAKnB,WAAW,CACf,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,uBAAuB,CAAC;IAa7B,eAAe,CACnB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,2BAA2B,CAAC;IAcjC,qBAAqB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAuBhF,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAyB5E,gBAAgB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;YAsC/D,aAAa;IAoBrB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAMnD"}
1
+ {"version":3,"file":"message-operations.d.ts","sourceRoot":"","sources":["../../../src/utils/slack-operations/message-operations.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EAGvB,2BAA2B,EAC5B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,EAEL,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAI7B,qBAAa,iBAAkB,SAAQ,eAAe;IACpD,OAAO,CAAC,UAAU,CAAoB;gBAE1B,KAAK,EAAE,MAAM;IAKnB,WAAW,CACf,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,uBAAuB,CAAC;IAa7B,eAAe,CACnB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,2BAA2B,CAAC;IAcjC,qBAAqB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAuBhF,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAyB5E,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IA6B3E,gBAAgB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;YAsC/D,aAAa;IAoBrB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAMnD"}