@urugus/slack-cli 0.2.5 → 0.2.7

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 (55) hide show
  1. package/.claude/settings.local.json +2 -1
  2. package/README.md +7 -0
  3. package/dist/commands/history.d.ts.map +1 -1
  4. package/dist/commands/history.js +7 -7
  5. package/dist/commands/history.js.map +1 -1
  6. package/dist/commands/send.d.ts.map +1 -1
  7. package/dist/commands/send.js +7 -11
  8. package/dist/commands/send.js.map +1 -1
  9. package/dist/types/commands.d.ts +1 -0
  10. package/dist/types/commands.d.ts.map +1 -1
  11. package/dist/utils/constants.d.ts +1 -0
  12. package/dist/utils/constants.d.ts.map +1 -1
  13. package/dist/utils/constants.js +1 -0
  14. package/dist/utils/constants.js.map +1 -1
  15. package/dist/utils/profile-config.d.ts.map +1 -1
  16. package/dist/utils/profile-config.js +2 -6
  17. package/dist/utils/profile-config.js.map +1 -1
  18. package/dist/utils/slack-api-client.d.ts +1 -1
  19. package/dist/utils/slack-api-client.d.ts.map +1 -1
  20. package/dist/utils/slack-api-client.js +2 -2
  21. package/dist/utils/slack-api-client.js.map +1 -1
  22. package/dist/utils/slack-operations/channel-operations.d.ts +9 -0
  23. package/dist/utils/slack-operations/channel-operations.d.ts.map +1 -1
  24. package/dist/utils/slack-operations/channel-operations.js +77 -50
  25. package/dist/utils/slack-operations/channel-operations.js.map +1 -1
  26. package/dist/utils/slack-operations/message-operations.d.ts +1 -1
  27. package/dist/utils/slack-operations/message-operations.d.ts.map +1 -1
  28. package/dist/utils/slack-operations/message-operations.js +7 -3
  29. package/dist/utils/slack-operations/message-operations.js.map +1 -1
  30. package/dist/utils/token-utils.d.ts +7 -0
  31. package/dist/utils/token-utils.d.ts.map +1 -0
  32. package/dist/utils/token-utils.js +18 -0
  33. package/dist/utils/token-utils.js.map +1 -0
  34. package/dist/utils/validators.d.ts +79 -0
  35. package/dist/utils/validators.d.ts.map +1 -0
  36. package/dist/utils/validators.js +175 -0
  37. package/dist/utils/validators.js.map +1 -0
  38. package/package.json +1 -1
  39. package/src/commands/history.ts +17 -12
  40. package/src/commands/send.ts +10 -11
  41. package/src/types/commands.ts +1 -0
  42. package/src/utils/constants.ts +1 -0
  43. package/src/utils/profile-config.ts +3 -15
  44. package/src/utils/slack-api-client.ts +6 -2
  45. package/src/utils/slack-operations/channel-operations.ts +91 -54
  46. package/src/utils/slack-operations/message-operations.ts +14 -4
  47. package/src/utils/token-utils.ts +17 -0
  48. package/src/utils/validators.ts +212 -0
  49. package/tests/commands/send.test.ts +69 -2
  50. package/tests/utils/option-parsers.test.ts +173 -0
  51. package/tests/utils/profile-config.test.ts +282 -0
  52. package/tests/utils/slack-operations/channel-operations-refactored.test.ts +179 -0
  53. package/tests/utils/token-utils.test.ts +33 -0
  54. package/tests/utils/validators.test.ts +307 -0
  55. package/src/utils/profile-config-refactored.ts +0 -161
@@ -63,7 +63,8 @@
63
63
  "Bash(gh pr checks:*)",
64
64
  "Bash(gh pr view:*)",
65
65
  "Bash(gh pr merge:*)",
66
- "Bash(git pull:*)"
66
+ "Bash(git pull:*)",
67
+ "Bash(gh api graphql:*)"
67
68
  ],
68
69
  "deny": []
69
70
  }
package/README.md CHANGED
@@ -58,6 +58,12 @@ slack-cli send -c general -m "Line 1\nLine 2\nLine 3"
58
58
 
59
59
  # Send message from file
60
60
  slack-cli send -c random -f message.txt
61
+
62
+ # Reply to a thread
63
+ slack-cli send -c channel-name -m "Reply message" --thread 1719207629.000100
64
+
65
+ # Reply to a thread (short option)
66
+ slack-cli send -c channel-name -m "Reply message" -t 1719207629.000100
61
67
  ```
62
68
 
63
69
  ### List Channels
@@ -160,6 +166,7 @@ slack-cli config set --token NEW_TOKEN
160
166
  | --channel | -c | Target channel name or ID (required) |
161
167
  | --message | -m | Message to send |
162
168
  | --file | -f | File containing message content |
169
+ | --thread | -t | Thread timestamp to reply to |
163
170
 
164
171
  ### channels command
165
172
  | Option | Short | Description |
@@ -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;AAapC,wBAAgB,mBAAmB,IAAI,OAAO,CAmC7C"}
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/commands/history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,wBAAgB,mBAAmB,IAAI,OAAO,CA0C7C"}
@@ -5,6 +5,8 @@ const commander_1 = require("commander");
5
5
  const command_wrapper_1 = require("../utils/command-wrapper");
6
6
  const client_factory_1 = require("../utils/client-factory");
7
7
  const constants_1 = require("../utils/constants");
8
+ const option_parsers_1 = require("../utils/option-parsers");
9
+ const validators_1 = require("../utils/validators");
8
10
  const history_validators_1 = require("./history-validators");
9
11
  const history_display_1 = require("./history-display");
10
12
  function setupHistoryCommand() {
@@ -14,15 +16,13 @@ function setupHistoryCommand() {
14
16
  .option('-n, --number <number>', 'Number of messages to retrieve', constants_1.API_LIMITS.DEFAULT_MESSAGE_COUNT.toString())
15
17
  .option('--since <date>', 'Get messages since specific date (YYYY-MM-DD HH:MM:SS)')
16
18
  .option('--profile <profile>', 'Use specific workspace profile')
17
- .hook('preAction', (thisCommand) => {
18
- const options = thisCommand.opts();
19
- (0, history_validators_1.validateMessageCount)(options.number, thisCommand);
20
- (0, history_validators_1.validateDateFormat)(options.since, thisCommand);
21
- })
19
+ .hook('preAction', (0, validators_1.createValidationHook)([validators_1.optionValidators.messageCount, validators_1.optionValidators.sinceDate]))
22
20
  .action((0, command_wrapper_1.wrapCommand)(async (options) => {
23
- const client = await (0, client_factory_1.createSlackClient)(options.profile);
21
+ const profile = (0, option_parsers_1.parseProfile)(options.profile);
22
+ const client = await (0, client_factory_1.createSlackClient)(profile);
23
+ 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);
24
24
  const historyOptions = {
25
- limit: parseInt(options.number || constants_1.API_LIMITS.DEFAULT_MESSAGE_COUNT.toString(), 10),
25
+ limit,
26
26
  };
27
27
  const oldest = (0, history_validators_1.prepareSinceTimestamp)(options.since);
28
28
  if (oldest) {
@@ -1 +1 @@
1
- {"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/commands/history.ts"],"names":[],"mappings":";;AAaA,kDAmCC;AAhDD,yCAAoC;AAEpC,8DAAuD;AACvD,4DAA4D;AAE5D,kDAAgD;AAChD,6DAI8B;AAC9B,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,qBAAqB,EAAE,gCAAgC,CAAC;SAC/D,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,EAAE;QACjC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;QACnC,IAAA,yCAAoB,EAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAClD,IAAA,uCAAkB,EAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACjD,CAAC,CAAC;SACD,MAAM,CACL,IAAA,6BAAW,EAAC,KAAK,EAAE,OAAuB,EAAE,EAAE;QAC5C,MAAM,MAAM,GAAG,MAAM,IAAA,kCAAiB,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAExD,MAAM,cAAc,GAAsB;YACxC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,IAAI,sBAAU,CAAC,qBAAqB,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC;SACnF,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,IAAA,uCAAqB,EAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC,CAAC,CACH,CAAC;IAEJ,OAAO,cAAc,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/commands/history.ts"],"names":[],"mappings":";;AAWA,kDA0CC;AArDD,yCAAoC;AAEpC,8DAAuD;AACvD,4DAA4D;AAE5D,kDAAgD;AAChD,4DAAmE;AACnE,oDAA6E;AAC7E,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,qBAAqB,EAAE,gCAAgC,CAAC;SAC/D,IAAI,CACH,WAAW,EACX,IAAA,iCAAoB,EAAC,CAAC,6BAAgB,CAAC,YAAY,EAAE,6BAAgB,CAAC,SAAS,CAAC,CAAC,CAClF;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,IAAA,uCAAqB,EAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC,CAAC,CACH,CAAC;IAEJ,OAAO,cAAc,CAAC;AACxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../src/commands/send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,wBAAgB,gBAAgB,IAAI,OAAO,CAyC1C"}
1
+ {"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../src/commands/send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,wBAAgB,gBAAgB,IAAI,OAAO,CAsC1C"}
@@ -44,6 +44,8 @@ const constants_1 = require("../utils/constants");
44
44
  const client_factory_1 = require("../utils/client-factory");
45
45
  const errors_1 = require("../utils/errors");
46
46
  const error_utils_1 = require("../utils/error-utils");
47
+ const option_parsers_1 = require("../utils/option-parsers");
48
+ const validators_1 = require("../utils/validators");
47
49
  const fs = __importStar(require("fs/promises"));
48
50
  function setupSendCommand() {
49
51
  const sendCommand = new commander_1.Command('send')
@@ -51,16 +53,9 @@ function setupSendCommand() {
51
53
  .requiredOption('-c, --channel <channel>', 'Target channel name or ID')
52
54
  .option('-m, --message <message>', 'Message to send')
53
55
  .option('-f, --file <file>', 'File containing message content')
56
+ .option('-t, --thread <thread>', 'Thread timestamp to reply to')
54
57
  .option('--profile <profile>', 'Use specific workspace profile')
55
- .hook('preAction', (thisCommand) => {
56
- const options = thisCommand.opts();
57
- if (!options.message && !options.file) {
58
- thisCommand.error(`Error: ${constants_1.ERROR_MESSAGES.NO_MESSAGE_OR_FILE}`);
59
- }
60
- if (options.message && options.file) {
61
- thisCommand.error(`Error: ${constants_1.ERROR_MESSAGES.BOTH_MESSAGE_AND_FILE}`);
62
- }
63
- })
58
+ .hook('preAction', (0, validators_1.createValidationHook)([validators_1.optionValidators.messageOrFile, validators_1.optionValidators.threadTimestamp]))
64
59
  .action((0, command_wrapper_1.wrapCommand)(async (options) => {
65
60
  // Get message content
66
61
  let messageContent;
@@ -76,8 +71,9 @@ function setupSendCommand() {
76
71
  messageContent = options.message; // This is safe because of preAction validation
77
72
  }
78
73
  // Send message
79
- const client = await (0, client_factory_1.createSlackClient)(options.profile);
80
- await client.sendMessage(options.channel, messageContent);
74
+ const profile = (0, option_parsers_1.parseProfile)(options.profile);
75
+ const client = await (0, client_factory_1.createSlackClient)(profile);
76
+ await client.sendMessage(options.channel, messageContent, options.thread);
81
77
  console.log(chalk_1.default.green(`✓ ${constants_1.SUCCESS_MESSAGES.MESSAGE_SENT(options.channel)}`));
82
78
  }));
83
79
  return sendCommand;
@@ -1 +1 @@
1
- {"version":3,"file":"send.js","sourceRoot":"","sources":["../../src/commands/send.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,4CAyCC;AAnDD,yCAAoC;AACpC,kDAA0B;AAC1B,8DAAuD;AACvD,kDAAsE;AACtE,4DAA4D;AAC5D,4CAA4C;AAE5C,sDAA2D;AAC3D,gDAAkC;AAElC,SAAgB,gBAAgB;IAC9B,MAAM,WAAW,GAAG,IAAI,mBAAO,CAAC,MAAM,CAAC;SACpC,WAAW,CAAC,mCAAmC,CAAC;SAChD,cAAc,CAAC,yBAAyB,EAAE,2BAA2B,CAAC;SACtE,MAAM,CAAC,yBAAyB,EAAE,iBAAiB,CAAC;SACpD,MAAM,CAAC,mBAAmB,EAAE,iCAAiC,CAAC;SAC9D,MAAM,CAAC,qBAAqB,EAAE,gCAAgC,CAAC;SAC/D,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,EAAE;QACjC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACtC,WAAW,CAAC,KAAK,CAAC,UAAU,0BAAc,CAAC,kBAAkB,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACpC,WAAW,CAAC,KAAK,CAAC,UAAU,0BAAc,CAAC,qBAAqB,EAAE,CAAC,CAAC;QACtE,CAAC;IACH,CAAC,CAAC;SACD,MAAM,CACL,IAAA,6BAAW,EAAC,KAAK,EAAE,OAAoB,EAAE,EAAE;QACzC,sBAAsB;QACtB,IAAI,cAAsB,CAAC;QAC3B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,cAAc,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC5D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,kBAAS,CACjB,0BAAc,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,IAAA,iCAAmB,EAAC,KAAK,CAAC,CAAC,CACzE,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,cAAc,GAAG,OAAO,CAAC,OAAQ,CAAC,CAAC,+CAA+C;QACpF,CAAC;QAED,eAAe;QACf,MAAM,MAAM,GAAG,MAAM,IAAA,kCAAiB,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAE1D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,KAAK,4BAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAClF,CAAC,CAAC,CACH,CAAC;IAEJ,OAAO,WAAW,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"send.js","sourceRoot":"","sources":["../../src/commands/send.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,4CAsCC;AAlDD,yCAAoC;AACpC,kDAA0B;AAC1B,8DAAuD;AACvD,kDAAsE;AACtE,4DAA4D;AAC5D,4CAA4C;AAE5C,sDAA2D;AAC3D,4DAAuD;AACvD,oDAA6E;AAC7E,gDAAkC;AAElC,SAAgB,gBAAgB;IAC9B,MAAM,WAAW,GAAG,IAAI,mBAAO,CAAC,MAAM,CAAC;SACpC,WAAW,CAAC,mCAAmC,CAAC;SAChD,cAAc,CAAC,yBAAyB,EAAE,2BAA2B,CAAC;SACtE,MAAM,CAAC,yBAAyB,EAAE,iBAAiB,CAAC;SACpD,MAAM,CAAC,mBAAmB,EAAE,iCAAiC,CAAC;SAC9D,MAAM,CAAC,uBAAuB,EAAE,8BAA8B,CAAC;SAC/D,MAAM,CAAC,qBAAqB,EAAE,gCAAgC,CAAC;SAC/D,IAAI,CACH,WAAW,EACX,IAAA,iCAAoB,EAAC,CAAC,6BAAgB,CAAC,aAAa,EAAE,6BAAgB,CAAC,eAAe,CAAC,CAAC,CACzF;SACA,MAAM,CACL,IAAA,6BAAW,EAAC,KAAK,EAAE,OAAoB,EAAE,EAAE;QACzC,sBAAsB;QACtB,IAAI,cAAsB,CAAC;QAC3B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,cAAc,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC5D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,kBAAS,CACjB,0BAAc,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,IAAA,iCAAmB,EAAC,KAAK,CAAC,CAAC,CACzE,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,cAAc,GAAG,OAAO,CAAC,OAAQ,CAAC,CAAC,+CAA+C;QACpF,CAAC;QAED,eAAe;QACf,MAAM,OAAO,GAAG,IAAA,6BAAY,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,IAAA,kCAAiB,EAAC,OAAO,CAAC,CAAC;QAChD,MAAM,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAE1E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,KAAK,4BAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAClF,CAAC,CAAC,CACH,CAAC;IAEJ,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -15,6 +15,7 @@ export interface SendOptions {
15
15
  channel: string;
16
16
  message?: string;
17
17
  file?: string;
18
+ thread?: string;
18
19
  profile?: string;
19
20
  }
20
21
  export interface ChannelsOptions {
@@ -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,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,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,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,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"}
@@ -8,6 +8,7 @@ export declare const ERROR_MESSAGES: {
8
8
  readonly INVALID_CONFIG_FORMAT: "Invalid config file format";
9
9
  readonly NO_MESSAGE_OR_FILE: "You must specify either --message or --file";
10
10
  readonly BOTH_MESSAGE_AND_FILE: "Cannot use both --message and --file";
11
+ readonly INVALID_THREAD_TIMESTAMP: "Invalid thread timestamp format";
11
12
  readonly API_ERROR: (error: string) => string;
12
13
  readonly CHANNEL_NOT_FOUND: (channel: string) => string;
13
14
  readonly FILE_READ_ERROR: (file: string, error: string) => string;
@@ -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;;;;;gCASpB,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;CACtB,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;;;;;;gCAUpB,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;CACtB,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"}
@@ -13,6 +13,7 @@ exports.ERROR_MESSAGES = {
13
13
  // Validation errors
14
14
  NO_MESSAGE_OR_FILE: 'You must specify either --message or --file',
15
15
  BOTH_MESSAGE_AND_FILE: 'Cannot use both --message and --file',
16
+ INVALID_THREAD_TIMESTAMP: 'Invalid thread timestamp format',
16
17
  // API errors
17
18
  API_ERROR: (error) => `API Error: ${error}`,
18
19
  CHANNEL_NOT_FOUND: (channel) => `Channel not found: ${channel}`,
@@ -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;IAE7D,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;CACrE,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;IAE3D,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;CACrE,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 +1 @@
1
- {"version":3,"file":"profile-config.d.ts","sourceRoot":"","sources":["../../src/utils/profile-config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAe,OAAO,EAAE,MAAM,iBAAiB,CAAC;AASnF,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,UAAU,CAAS;gBAEf,OAAO,GAAE,aAAkB;IAKjC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBxD,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAOnD,YAAY,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAWlC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW1C,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IAKpC,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BlD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;YAWlB,cAAc;IAsB5B,OAAO,CAAC,cAAc;YAKR,gBAAgB;YAiBhB,eAAe;CAO9B;AAED,eAAO,MAAM,aAAa;6BACD,MAAM;0BAGP,MAAM,KAAG,MAAM,GAAG,SAAS;CAKlD,CAAC"}
1
+ {"version":3,"file":"profile-config.d.ts","sourceRoot":"","sources":["../../src/utils/profile-config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAe,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAInF,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,UAAU,CAAS;gBAEf,OAAO,GAAE,aAAkB;IAKjC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBxD,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAOnD,YAAY,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAWlC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW1C,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IAKpC,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BlD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;YAIlB,cAAc;IAsB5B,OAAO,CAAC,cAAc;YAKR,gBAAgB;YAiBhB,eAAe;CAO9B;AAED,eAAO,MAAM,aAAa;6BACD,MAAM;0BAGP,MAAM,KAAG,MAAM,GAAG,SAAS;CAKlD,CAAC"}
@@ -38,6 +38,7 @@ const fs = __importStar(require("fs/promises"));
38
38
  const path = __importStar(require("path"));
39
39
  const os = __importStar(require("os"));
40
40
  const constants_1 = require("./constants");
41
+ const token_utils_1 = require("./token-utils");
41
42
  class ProfileConfigManager {
42
43
  constructor(options = {}) {
43
44
  const configDir = options.configDir || path.join(os.homedir(), '.slack-cli');
@@ -109,12 +110,7 @@ class ProfileConfigManager {
109
110
  await this.saveConfigStore(store);
110
111
  }
111
112
  maskToken(token) {
112
- if (token.length <= constants_1.TOKEN_MIN_LENGTH) {
113
- return '****';
114
- }
115
- const prefix = token.substring(0, constants_1.TOKEN_MASK_LENGTH);
116
- const suffix = token.substring(token.length - constants_1.TOKEN_MASK_LENGTH);
117
- return `${prefix}-****-****-${suffix}`;
113
+ return (0, token_utils_1.maskToken)(token);
118
114
  }
119
115
  async getConfigStore() {
120
116
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"profile-config.js","sourceRoot":"","sources":["../../src/utils/profile-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile-config.js","sourceRoot":"","sources":["../../src/utils/profile-config.ts"],"names":[],"mappings":"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"}
@@ -63,7 +63,7 @@ export declare class SlackApiClient {
63
63
  private channelOps;
64
64
  private messageOps;
65
65
  constructor(token: string);
66
- sendMessage(channel: string, text: string): Promise<ChatPostMessageResponse>;
66
+ sendMessage(channel: string, text: string, thread_ts?: string): Promise<ChatPostMessageResponse>;
67
67
  listChannels(options: ListChannelsOptions): Promise<Channel[]>;
68
68
  getHistory(channel: string, options: HistoryOptions): Promise<HistoryResult>;
69
69
  listUnreadChannels(): 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":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAIzD,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,OAAO,CAAC,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,OAAO,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,UAAU,CAAoB;IACtC,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;IAI7B,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAI9D,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAI5E,kBAAkB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAIxC,gBAAgB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAIvE,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGnD;AAED,eAAO,MAAM,cAAc;0BACG,MAAM,WAAW,mBAAmB,KAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAItF,CAAC"}
@@ -8,8 +8,8 @@ class SlackApiClient {
8
8
  this.channelOps = new channel_operations_1.ChannelOperations(token);
9
9
  this.messageOps = new message_operations_1.MessageOperations(token);
10
10
  }
11
- async sendMessage(channel, text) {
12
- return this.messageOps.sendMessage(channel, text);
11
+ async sendMessage(channel, text, thread_ts) {
12
+ return this.messageOps.sendMessage(channel, text, thread_ts);
13
13
  }
14
14
  async listChannels(options) {
15
15
  return this.channelOps.listChannels(options);
@@ -1 +1 @@
1
- {"version":3,"file":"slack-api-client.js","sourceRoot":"","sources":["../../src/utils/slack-api-client.ts"],"names":[],"mappings":";;;AACA,8EAA0E;AAC1E,8EAA0E;AAoE1E,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,CAAC,OAAe,EAAE,IAAY;QAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACpD,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;AAhCD,wCAgCC;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;AAoE1E,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,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;AApCD,wCAoCC;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,13 +1,22 @@
1
1
  import { BaseSlackClient } from './base-client';
2
2
  import { Channel, ListChannelsOptions } from '../slack-api-client';
3
+ import { WebClient } from '@slack/web-api';
3
4
  interface ChannelWithUnreadInfo extends Channel {
4
5
  unread_count: number;
5
6
  unread_count_display: number;
6
7
  last_read?: string;
7
8
  }
8
9
  export declare class ChannelOperations extends BaseSlackClient {
10
+ constructor(tokenOrClient: string | WebClient);
9
11
  listChannels(options: ListChannelsOptions): Promise<Channel[]>;
10
12
  listUnreadChannels(): Promise<Channel[]>;
13
+ private fetchAllChannels;
14
+ private getChannelUnreadInfo;
15
+ private fetchChannelInfo;
16
+ private calculateUnreadCount;
17
+ private fetchLatestMessage;
18
+ private fetchUnreadMessageCount;
19
+ private fetchAllMessageCount;
11
20
  getChannelInfo(channelNameOrId: string): Promise<ChannelWithUnreadInfo>;
12
21
  }
13
22
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"channel-operations.d.ts","sourceRoot":"","sources":["../../../src/utils/slack-operations/channel-operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,UAAU,qBAAsB,SAAQ,OAAO;IAC7C,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,iBAAkB,SAAQ,eAAe;IAC9C,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAuB9D,kBAAkB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAyExC,cAAc,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAe9E"}
1
+ {"version":3,"file":"channel-operations.d.ts","sourceRoot":"","sources":["../../../src/utils/slack-operations/channel-operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,UAAU,qBAAsB,SAAQ,OAAO;IAC7C,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,iBAAkB,SAAQ,eAAe;gBACxC,aAAa,EAAE,MAAM,GAAG,SAAS;IASvC,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAuB9D,kBAAkB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAuBhC,gBAAgB;YAUhB,oBAAoB;YAgBpB,gBAAgB;YAQhB,oBAAoB;YAkBpB,kBAAkB;YAQlB,uBAAuB;YASvB,oBAAoB;IAQ5B,cAAc,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAe9E"}
@@ -5,6 +5,15 @@ const base_client_1 = require("./base-client");
5
5
  const channel_resolver_1 = require("../channel-resolver");
6
6
  const constants_1 = require("../constants");
7
7
  class ChannelOperations extends base_client_1.BaseSlackClient {
8
+ constructor(tokenOrClient) {
9
+ if (typeof tokenOrClient === 'string') {
10
+ super(tokenOrClient);
11
+ }
12
+ else {
13
+ super('dummy-token'); // Call parent constructor
14
+ this.client = tokenOrClient; // Override the client for testing
15
+ }
16
+ }
8
17
  async listChannels(options) {
9
18
  const channels = [];
10
19
  let cursor;
@@ -24,60 +33,14 @@ class ChannelOperations extends base_client_1.BaseSlackClient {
24
33
  return channels;
25
34
  }
26
35
  async listUnreadChannels() {
27
- // Get all conversations the user is a member of
28
- const response = await this.client.conversations.list({
29
- types: 'public_channel,private_channel,im,mpim',
30
- exclude_archived: true,
31
- limit: 1000,
32
- });
33
- const channels = response.channels;
36
+ const channels = await this.fetchAllChannels();
34
37
  const channelsWithUnread = [];
35
38
  // Process channels one by one with delay to avoid rate limits
36
39
  for (const channel of channels) {
37
40
  try {
38
- const info = await this.client.conversations.info({
39
- channel: channel.id,
40
- include_num_members: false,
41
- });
42
- const channelInfo = info.channel;
43
- // Get the latest message in the channel
44
- const history = await this.client.conversations.history({
45
- channel: channel.id,
46
- limit: 1,
47
- });
48
- // Always check for messages after last_read timestamp
49
- if (channelInfo.last_read) {
50
- // Fetch messages after last_read
51
- const unreadHistory = await this.client.conversations.history({
52
- channel: channel.id,
53
- oldest: channelInfo.last_read,
54
- limit: 100, // Get up to 100 unread messages
55
- });
56
- const unreadCount = unreadHistory.messages?.length || 0;
57
- if (unreadCount > 0) {
58
- channelsWithUnread.push({
59
- ...channel,
60
- unread_count: unreadCount,
61
- unread_count_display: unreadCount,
62
- last_read: channelInfo.last_read,
63
- });
64
- }
65
- }
66
- else if (history.messages && history.messages.length > 0) {
67
- // If no last_read, all messages are unread
68
- const allHistory = await this.client.conversations.history({
69
- channel: channel.id,
70
- limit: 100,
71
- });
72
- const unreadCount = allHistory.messages?.length || 0;
73
- if (unreadCount > 0) {
74
- channelsWithUnread.push({
75
- ...channel,
76
- unread_count: unreadCount,
77
- unread_count_display: unreadCount,
78
- last_read: channelInfo.last_read,
79
- });
80
- }
41
+ const unreadInfo = await this.getChannelUnreadInfo(channel);
42
+ if (unreadInfo) {
43
+ channelsWithUnread.push(unreadInfo);
81
44
  }
82
45
  // Add delay between API calls to avoid rate limiting
83
46
  await this.delay(100);
@@ -89,6 +52,70 @@ class ChannelOperations extends base_client_1.BaseSlackClient {
89
52
  }
90
53
  return channelsWithUnread;
91
54
  }
55
+ async fetchAllChannels() {
56
+ const response = await this.client.conversations.list({
57
+ types: 'public_channel,private_channel,im,mpim',
58
+ exclude_archived: true,
59
+ limit: 1000,
60
+ });
61
+ return response.channels;
62
+ }
63
+ async getChannelUnreadInfo(channel) {
64
+ const channelInfo = await this.fetchChannelInfo(channel.id);
65
+ const unreadCount = await this.calculateUnreadCount(channel.id, channelInfo);
66
+ if (unreadCount > 0) {
67
+ return {
68
+ ...channel,
69
+ unread_count: unreadCount,
70
+ unread_count_display: unreadCount,
71
+ last_read: channelInfo.last_read,
72
+ };
73
+ }
74
+ return null;
75
+ }
76
+ async fetchChannelInfo(channelId) {
77
+ const info = await this.client.conversations.info({
78
+ channel: channelId,
79
+ include_num_members: false,
80
+ });
81
+ return info.channel;
82
+ }
83
+ async calculateUnreadCount(channelId, channelInfo) {
84
+ // Get the latest message to check if channel has any messages
85
+ const latestMessage = await this.fetchLatestMessage(channelId);
86
+ if (!latestMessage) {
87
+ return 0;
88
+ }
89
+ if (channelInfo.last_read) {
90
+ return await this.fetchUnreadMessageCount(channelId, channelInfo.last_read);
91
+ }
92
+ else {
93
+ // If no last_read, all messages are unread
94
+ return await this.fetchAllMessageCount(channelId);
95
+ }
96
+ }
97
+ async fetchLatestMessage(channelId) {
98
+ const history = await this.client.conversations.history({
99
+ channel: channelId,
100
+ limit: 1,
101
+ });
102
+ return history.messages && history.messages.length > 0 ? history.messages[0] : null;
103
+ }
104
+ async fetchUnreadMessageCount(channelId, lastRead) {
105
+ const unreadHistory = await this.client.conversations.history({
106
+ channel: channelId,
107
+ oldest: lastRead,
108
+ limit: 100, // Get up to 100 unread messages
109
+ });
110
+ return unreadHistory.messages?.length || 0;
111
+ }
112
+ async fetchAllMessageCount(channelId) {
113
+ const allHistory = await this.client.conversations.history({
114
+ channel: channelId,
115
+ limit: 100,
116
+ });
117
+ return allHistory.messages?.length || 0;
118
+ }
92
119
  async getChannelInfo(channelNameOrId) {
93
120
  const channelId = await channel_resolver_1.channelResolver.resolveChannelId(channelNameOrId, () => this.listChannels({
94
121
  types: 'public_channel,private_channel,im,mpim',
@@ -1 +1 @@
1
- {"version":3,"file":"channel-operations.js","sourceRoot":"","sources":["../../../src/utils/slack-operations/channel-operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channel-operations.js","sourceRoot":"","sources":["../../../src/utils/slack-operations/channel-operations.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { HistoryOptions, HistoryResult, ChannelUnreadResult } from '../slack-api
4
4
  export declare class MessageOperations extends BaseSlackClient {
5
5
  private channelOps;
6
6
  constructor(token: string);
7
- sendMessage(channel: string, text: string): Promise<ChatPostMessageResponse>;
7
+ sendMessage(channel: string, text: string, thread_ts?: string): Promise<ChatPostMessageResponse>;
8
8
  getHistory(channel: string, options: HistoryOptions): Promise<HistoryResult>;
9
9
  getChannelUnread(channelNameOrId: string): Promise<ChannelUnreadResult>;
10
10
  private fetchUserInfo;
@@ -1 +1 @@
1
- {"version":3,"file":"message-operations.d.ts","sourceRoot":"","sources":["../../../src/utils/slack-operations/message-operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,EAAW,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAIlG,qBAAa,iBAAkB,SAAQ,eAAe;IACpD,OAAO,CAAC,UAAU,CAAoB;gBAE1B,KAAK,EAAE,MAAM;IAKnB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAO5E,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,EAAE,uBAAuB,EAA4B,MAAM,gBAAgB,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,EAAW,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAIlG,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,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"}
@@ -11,11 +11,15 @@ class MessageOperations extends base_client_1.BaseSlackClient {
11
11
  super(token);
12
12
  this.channelOps = new channel_operations_1.ChannelOperations(token);
13
13
  }
14
- async sendMessage(channel, text) {
15
- return await this.client.chat.postMessage({
14
+ async sendMessage(channel, text, thread_ts) {
15
+ const params = {
16
16
  channel,
17
17
  text,
18
- });
18
+ };
19
+ if (thread_ts) {
20
+ params.thread_ts = thread_ts;
21
+ }
22
+ return await this.client.chat.postMessage(params);
19
23
  }
20
24
  async getHistory(channel, options) {
21
25
  // Resolve channel name to ID if needed
@@ -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,7 @@
1
+ /**
2
+ * Masks a token for display purposes, showing only first and last few characters
3
+ * @param token The token to mask
4
+ * @returns Masked token in format "xoxb-****-****-abcd"
5
+ */
6
+ export declare function maskToken(token: string): string;
7
+ //# sourceMappingURL=token-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-utils.d.ts","sourceRoot":"","sources":["../../src/utils/token-utils.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAS/C"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.maskToken = maskToken;
4
+ const constants_1 = require("./constants");
5
+ /**
6
+ * Masks a token for display purposes, showing only first and last few characters
7
+ * @param token The token to mask
8
+ * @returns Masked token in format "xoxb-****-****-abcd"
9
+ */
10
+ function maskToken(token) {
11
+ if (token.length <= constants_1.TOKEN_MIN_LENGTH) {
12
+ return '****';
13
+ }
14
+ const prefix = token.substring(0, constants_1.TOKEN_MASK_LENGTH);
15
+ const suffix = token.substring(token.length - constants_1.TOKEN_MASK_LENGTH);
16
+ return `${prefix}-****-****-${suffix}`;
17
+ }
18
+ //# sourceMappingURL=token-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-utils.js","sourceRoot":"","sources":["../../src/utils/token-utils.ts"],"names":[],"mappings":";;AAOA,8BASC;AAhBD,2CAAkE;AAElE;;;;GAIG;AACH,SAAgB,SAAS,CAAC,KAAa;IACrC,IAAI,KAAK,CAAC,MAAM,IAAI,4BAAgB,EAAE,CAAC;QACrC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,6BAAiB,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,6BAAiB,CAAC,CAAC;IAEjE,OAAO,GAAG,MAAM,cAAc,MAAM,EAAE,CAAC;AACzC,CAAC"}