slack.ts 0.0.6 → 0.0.8

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 (231) hide show
  1. package/dist/scripts/add_api_methods.d.ts +2 -0
  2. package/dist/scripts/add_api_methods.d.ts.map +1 -0
  3. package/dist/scripts/add_api_methods.js +30 -0
  4. package/dist/{events/types → src/api/events}/events.d.ts +1 -1
  5. package/dist/src/api/events/events.d.ts.map +1 -0
  6. package/dist/{events/types → src/api/events}/index.d.ts +2 -19
  7. package/dist/src/api/events/index.d.ts.map +1 -0
  8. package/dist/{api → src/api}/index.d.ts +52 -7
  9. package/dist/src/api/index.d.ts.map +1 -0
  10. package/dist/src/api/index.js +14 -0
  11. package/dist/{api → src/api}/interactive/block_actions.d.ts +9 -4
  12. package/dist/src/api/interactive/block_actions.d.ts.map +1 -0
  13. package/dist/src/api/interactive/common.d.ts.map +1 -0
  14. package/dist/{api → src/api}/interactive/view_submission.d.ts +3 -2
  15. package/dist/src/api/interactive/view_submission.d.ts.map +1 -0
  16. package/dist/src/api/slash/index.d.ts +18 -0
  17. package/dist/src/api/slash/index.d.ts.map +1 -0
  18. package/dist/src/api/types/api.d.ts.map +1 -0
  19. package/dist/{api → src/api}/types/conversation.d.ts +7 -7
  20. package/dist/src/api/types/conversation.d.ts.map +1 -0
  21. package/dist/src/api/types/file.d.ts +52 -0
  22. package/dist/src/api/types/file.d.ts.map +1 -0
  23. package/dist/{api → src/api}/types/message.d.ts +29 -9
  24. package/dist/src/api/types/message.d.ts.map +1 -0
  25. package/dist/src/api/types/user.d.ts.map +1 -0
  26. package/dist/src/api/types/value.d.ts.map +1 -0
  27. package/dist/{api → src/api}/types/view.d.ts +4 -4
  28. package/dist/src/api/types/view.d.ts.map +1 -0
  29. package/dist/src/api/web/apps.d.ts +219 -0
  30. package/dist/src/api/web/apps.d.ts.map +1 -0
  31. package/dist/src/api/web/auth.d.ts +39 -0
  32. package/dist/src/api/web/auth.d.ts.map +1 -0
  33. package/dist/src/api/web/bots.d.ts +22 -0
  34. package/dist/src/api/web/bots.d.ts.map +1 -0
  35. package/dist/{api → src/api}/web/chat.d.ts +14 -0
  36. package/dist/src/api/web/chat.d.ts.map +1 -0
  37. package/dist/{api → src/api}/web/conversations.d.ts +30 -10
  38. package/dist/src/api/web/conversations.d.ts.map +1 -0
  39. package/dist/{api → src/api}/web/files.d.ts +4 -3
  40. package/dist/src/api/web/files.d.ts.map +1 -0
  41. package/dist/src/api/web/users.d.ts.map +1 -0
  42. package/dist/src/api/web/users.js +1 -0
  43. package/dist/src/api/web/views.d.ts.map +1 -0
  44. package/dist/src/api/web/views.js +1 -0
  45. package/dist/{builders → src}/blocks/actions.d.ts +4 -3
  46. package/dist/src/blocks/actions.d.ts.map +1 -0
  47. package/dist/{builders → src}/blocks/base.d.ts +3 -2
  48. package/dist/src/blocks/base.d.ts.map +1 -0
  49. package/dist/{builders → src}/blocks/base.js +1 -0
  50. package/dist/src/blocks/elements/base.d.ts +10 -0
  51. package/dist/src/blocks/elements/base.d.ts.map +1 -0
  52. package/dist/{builders → src}/blocks/elements/base.js +2 -2
  53. package/dist/{builders → src}/blocks/elements/button.d.ts +2 -2
  54. package/dist/src/blocks/elements/button.d.ts.map +1 -0
  55. package/dist/{builders → src}/blocks/elements/button.js +3 -3
  56. package/dist/{builders → src}/blocks/elements/index.d.ts +1 -0
  57. package/dist/src/blocks/elements/index.d.ts.map +1 -0
  58. package/dist/{builders → src}/blocks/elements/index.js +1 -0
  59. package/dist/src/blocks/elements/overflow.d.ts +30 -0
  60. package/dist/src/blocks/elements/overflow.d.ts.map +1 -0
  61. package/dist/src/blocks/elements/overflow.js +28 -0
  62. package/dist/src/blocks/elements/plain_text_input.d.ts +27 -0
  63. package/dist/src/blocks/elements/plain_text_input.d.ts.map +1 -0
  64. package/dist/src/blocks/elements/plain_text_input.js +58 -0
  65. package/dist/src/blocks/index.d.ts.map +1 -0
  66. package/dist/{builders → src}/blocks/input.d.ts +5 -5
  67. package/dist/src/blocks/input.d.ts.map +1 -0
  68. package/dist/{builders → src}/blocks/input.js +1 -1
  69. package/dist/src/blocks/objects/confirm.d.ts +34 -0
  70. package/dist/src/blocks/objects/confirm.d.ts.map +1 -0
  71. package/dist/src/blocks/objects/confirm.js +54 -0
  72. package/dist/{builders → src}/blocks/objects/index.d.ts +2 -0
  73. package/dist/src/blocks/objects/index.d.ts.map +1 -0
  74. package/dist/src/blocks/objects/index.js +3 -0
  75. package/dist/src/blocks/objects/option.d.ts +17 -0
  76. package/dist/src/blocks/objects/option.d.ts.map +1 -0
  77. package/dist/src/blocks/objects/option.js +21 -0
  78. package/dist/{builders → src}/blocks/objects/text.d.ts +3 -0
  79. package/dist/src/blocks/objects/text.d.ts.map +1 -0
  80. package/dist/{builders → src}/blocks/objects/text.js +5 -1
  81. package/dist/src/blocks/section.d.ts +42 -0
  82. package/dist/src/blocks/section.d.ts.map +1 -0
  83. package/dist/src/blocks/section.js +48 -0
  84. package/dist/src/blocks/utils/extract.d.ts +56 -0
  85. package/dist/src/blocks/utils/extract.d.ts.map +1 -0
  86. package/dist/src/blocks/utils/extract.js +1 -0
  87. package/dist/{client.d.ts → src/client.d.ts} +43 -7
  88. package/dist/src/client.d.ts.map +1 -0
  89. package/dist/{client.js → src/client.js} +16 -3
  90. package/dist/src/error.d.ts.map +1 -0
  91. package/dist/{index.d.ts → src/index.d.ts} +1 -1
  92. package/dist/src/index.d.ts.map +1 -0
  93. package/dist/{index.js → src/index.js} +1 -1
  94. package/dist/src/receivers/base.d.ts +23 -0
  95. package/dist/src/receivers/base.d.ts.map +1 -0
  96. package/dist/src/receivers/base.js +1 -0
  97. package/dist/{events → src}/receivers/dummy.d.ts +1 -1
  98. package/dist/src/receivers/dummy.d.ts.map +1 -0
  99. package/dist/{events → src}/receivers/socket.d.ts +2 -2
  100. package/dist/src/receivers/socket.d.ts.map +1 -0
  101. package/dist/{events → src}/receivers/socket.js +4 -0
  102. package/dist/{resources → src/resources}/action.d.ts +1 -1
  103. package/dist/src/resources/action.d.ts.map +1 -0
  104. package/dist/{resources → src/resources}/action.js +2 -2
  105. package/dist/{resources → src/resources}/channel.d.ts +6 -5
  106. package/dist/src/resources/channel.d.ts.map +1 -0
  107. package/dist/{resources → src/resources}/message.d.ts +20 -17
  108. package/dist/src/resources/message.d.ts.map +1 -0
  109. package/dist/{resources → src/resources}/message.js +6 -7
  110. package/dist/src/resources/modal.d.ts +22 -0
  111. package/dist/src/resources/modal.d.ts.map +1 -0
  112. package/dist/src/resources/slash.d.ts +15 -0
  113. package/dist/src/resources/slash.d.ts.map +1 -0
  114. package/dist/src/resources/slash.js +22 -0
  115. package/dist/src/resources/submission.d.ts +13 -0
  116. package/dist/src/resources/submission.d.ts.map +1 -0
  117. package/dist/{resources → src/resources}/submission.js +5 -2
  118. package/dist/src/resources/user.d.ts.map +1 -0
  119. package/dist/src/utils/index.d.ts.map +1 -0
  120. package/dist/src/utils/messaging.d.ts +34 -0
  121. package/dist/src/utils/messaging.d.ts.map +1 -0
  122. package/dist/{utils → src/utils}/messaging.js +12 -2
  123. package/dist/{utils → src/utils}/paginate.d.ts +2 -2
  124. package/dist/src/utils/paginate.d.ts.map +1 -0
  125. package/dist/src/utils/respond.d.ts +24 -0
  126. package/dist/src/utils/respond.d.ts.map +1 -0
  127. package/dist/{utils → src/utils}/respond.js +1 -1
  128. package/dist/src/utils/typing.d.ts.map +1 -0
  129. package/dist/src/utils/typing.js +1 -0
  130. package/package.json +2 -2
  131. package/dist/api/index.d.ts.map +0 -1
  132. package/dist/api/index.js +0 -6
  133. package/dist/api/interactive/block_actions.d.ts.map +0 -1
  134. package/dist/api/interactive/common.d.ts.map +0 -1
  135. package/dist/api/interactive/view_submission.d.ts.map +0 -1
  136. package/dist/api/types/api.d.ts.map +0 -1
  137. package/dist/api/types/conversation.d.ts.map +0 -1
  138. package/dist/api/types/message.d.ts.map +0 -1
  139. package/dist/api/types/user.d.ts.map +0 -1
  140. package/dist/api/types/value.d.ts.map +0 -1
  141. package/dist/api/types/view.d.ts.map +0 -1
  142. package/dist/api/web/apps.d.ts +0 -6
  143. package/dist/api/web/apps.d.ts.map +0 -1
  144. package/dist/api/web/auth.d.ts +0 -13
  145. package/dist/api/web/auth.d.ts.map +0 -1
  146. package/dist/api/web/chat.d.ts.map +0 -1
  147. package/dist/api/web/conversations.d.ts.map +0 -1
  148. package/dist/api/web/files.d.ts.map +0 -1
  149. package/dist/api/web/users.d.ts.map +0 -1
  150. package/dist/api/web/views.d.ts.map +0 -1
  151. package/dist/builders/blocks/actions.d.ts.map +0 -1
  152. package/dist/builders/blocks/base.d.ts.map +0 -1
  153. package/dist/builders/blocks/elements/base.d.ts +0 -9
  154. package/dist/builders/blocks/elements/base.d.ts.map +0 -1
  155. package/dist/builders/blocks/elements/button.d.ts.map +0 -1
  156. package/dist/builders/blocks/elements/index.d.ts.map +0 -1
  157. package/dist/builders/blocks/elements/plain_text_input.d.ts +0 -12
  158. package/dist/builders/blocks/elements/plain_text_input.d.ts.map +0 -1
  159. package/dist/builders/blocks/elements/plain_text_input.js +0 -12
  160. package/dist/builders/blocks/index.d.ts.map +0 -1
  161. package/dist/builders/blocks/input.d.ts.map +0 -1
  162. package/dist/builders/blocks/objects/index.d.ts.map +0 -1
  163. package/dist/builders/blocks/objects/index.js +0 -1
  164. package/dist/builders/blocks/objects/text.d.ts.map +0 -1
  165. package/dist/builders/blocks/section.d.ts +0 -24
  166. package/dist/builders/blocks/section.d.ts.map +0 -1
  167. package/dist/builders/blocks/section.js +0 -22
  168. package/dist/builders/index.d.ts +0 -2
  169. package/dist/builders/index.d.ts.map +0 -1
  170. package/dist/builders/index.js +0 -1
  171. package/dist/client.d.ts.map +0 -1
  172. package/dist/error.d.ts.map +0 -1
  173. package/dist/events/receivers/dummy.d.ts.map +0 -1
  174. package/dist/events/receivers/socket.d.ts.map +0 -1
  175. package/dist/events/types/events.d.ts.map +0 -1
  176. package/dist/events/types/index.d.ts.map +0 -1
  177. package/dist/index.d.ts.map +0 -1
  178. package/dist/resources/action.d.ts.map +0 -1
  179. package/dist/resources/channel.d.ts.map +0 -1
  180. package/dist/resources/message.d.ts.map +0 -1
  181. package/dist/resources/modal.d.ts +0 -21
  182. package/dist/resources/modal.d.ts.map +0 -1
  183. package/dist/resources/submission.d.ts +0 -11
  184. package/dist/resources/submission.d.ts.map +0 -1
  185. package/dist/resources/user.d.ts.map +0 -1
  186. package/dist/utils/index.d.ts.map +0 -1
  187. package/dist/utils/messaging.d.ts +0 -28
  188. package/dist/utils/messaging.d.ts.map +0 -1
  189. package/dist/utils/paginate.d.ts.map +0 -1
  190. package/dist/utils/respond.d.ts +0 -31
  191. package/dist/utils/respond.d.ts.map +0 -1
  192. package/dist/utils/typing.d.ts.map +0 -1
  193. /package/dist/{events/types → src/api/events}/events.js +0 -0
  194. /package/dist/{events/types → src/api/events}/index.js +0 -0
  195. /package/dist/{api → src/api}/interactive/block_actions.js +0 -0
  196. /package/dist/{api → src/api}/interactive/common.d.ts +0 -0
  197. /package/dist/{api → src/api}/interactive/common.js +0 -0
  198. /package/dist/{api → src/api}/interactive/view_submission.js +0 -0
  199. /package/dist/{api/types/api.js → src/api/slash/index.js} +0 -0
  200. /package/dist/{api → src/api}/types/api.d.ts +0 -0
  201. /package/dist/{api/types/conversation.js → src/api/types/api.js} +0 -0
  202. /package/dist/{api/types/message.js → src/api/types/conversation.js} +0 -0
  203. /package/dist/{api/types/user.js → src/api/types/file.js} +0 -0
  204. /package/dist/{api/types/value.js → src/api/types/message.js} +0 -0
  205. /package/dist/{api → src/api}/types/user.d.ts +0 -0
  206. /package/dist/{api/types/view.js → src/api/types/user.js} +0 -0
  207. /package/dist/{api → src/api}/types/value.d.ts +0 -0
  208. /package/dist/{api/web/apps.js → src/api/types/value.js} +0 -0
  209. /package/dist/{api/web/auth.js → src/api/types/view.js} +0 -0
  210. /package/dist/{api/web/chat.js → src/api/web/apps.js} +0 -0
  211. /package/dist/{api/web/conversations.js → src/api/web/auth.js} +0 -0
  212. /package/dist/{api/web/files.js → src/api/web/bots.js} +0 -0
  213. /package/dist/{api/web/users.js → src/api/web/chat.js} +0 -0
  214. /package/dist/{api/web/views.js → src/api/web/conversations.js} +0 -0
  215. /package/dist/{utils/typing.js → src/api/web/files.js} +0 -0
  216. /package/dist/{api → src/api}/web/users.d.ts +0 -0
  217. /package/dist/{api → src/api}/web/views.d.ts +0 -0
  218. /package/dist/{builders → src}/blocks/actions.js +0 -0
  219. /package/dist/{builders → src}/blocks/index.d.ts +0 -0
  220. /package/dist/{builders → src}/blocks/index.js +0 -0
  221. /package/dist/{error.d.ts → src/error.d.ts} +0 -0
  222. /package/dist/{error.js → src/error.js} +0 -0
  223. /package/dist/{events → src}/receivers/dummy.js +0 -0
  224. /package/dist/{resources → src/resources}/channel.js +0 -0
  225. /package/dist/{resources → src/resources}/modal.js +0 -0
  226. /package/dist/{resources → src/resources}/user.d.ts +0 -0
  227. /package/dist/{resources → src/resources}/user.js +0 -0
  228. /package/dist/{utils → src/utils}/index.d.ts +0 -0
  229. /package/dist/{utils → src/utils}/index.js +0 -0
  230. /package/dist/{utils → src/utils}/paginate.js +0 -0
  231. /package/dist/{utils → src/utils}/typing.d.ts +0 -0
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=add_api_methods.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add_api_methods.d.ts","sourceRoot":"","sources":["../../scripts/add_api_methods.ts"],"names":[],"mappings":""}
@@ -0,0 +1,30 @@
1
+ import { appendFile } from 'fs/promises';
2
+ const indexFile = 'src/api/index.ts';
3
+ while (true) {
4
+ const name = prompt('Name:');
5
+ const post = !!prompt('Post?');
6
+ const segment = name.split('.')[0];
7
+ const classPrefix = name
8
+ .split('.')
9
+ .map((x) => x.charAt(0).toUpperCase() + x.substring(1).toLowerCase())
10
+ .join('');
11
+ const file = `src/api/web/${segment}.ts`;
12
+ await appendFile(file, `\nexport interface ${classPrefix}Params {\n\t\n}\n\nexport interface ${classPrefix}Response {\n\t\n}\n`);
13
+ let indexText = await Bun.file(indexFile).text();
14
+ if (indexText.includes(` } from './web/${segment}'`)) {
15
+ indexText = indexText.replace(` } from './web/${segment}'`, `, ${classPrefix}Params, ${classPrefix}Response } from './web/${segment}'`);
16
+ }
17
+ else if (indexText.includes(`} from './web/${segment}'`)) {
18
+ indexText = indexText.replace(`} from './web/${segment}'`, `\t${classPrefix}Params,\n\t${classPrefix}Response\n} from './web/${segment}'`);
19
+ }
20
+ else {
21
+ indexText =
22
+ `import type { ${classPrefix}Params, ${classPrefix}Response } from './web/${segment}'\n` +
23
+ indexText;
24
+ }
25
+ indexText = indexText.replace('export interface SlackWebAPIMap {', `export interface SlackWebAPIMap {\n\t\'${name}\': {\n\t\tparams: ${classPrefix}Params\n\t\tresponse: ${classPrefix}Response\n\t}`);
26
+ if (post) {
27
+ indexText = indexText.replace('export const POST_METHODS: SlackAPIMethod[] = [', `export const POST_METHODS: SlackAPIMethod[] = [\n\t'${name}',`);
28
+ }
29
+ await Bun.write(indexFile, indexText);
30
+ }
@@ -1,4 +1,4 @@
1
- import type { AnyMessage } from "../../api/types/message.js";
1
+ import type { AnyMessage } from "../types/message.js";
2
2
  import type { DistributiveOmit } from "../../utils/typing.js";
3
3
  export type AppMentionEvent = {
4
4
  type: "app_mention";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../src/api/events/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAE1D,MAAM,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,aAAa,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;CAChB,GAAG,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;AAExC,MAAM,MAAM,YAAY,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;CAChB,GAAG,UAAU,CAAA"}
@@ -1,10 +1,4 @@
1
- import type EventEmitter from "events";
2
1
  import type { AppMentionEvent, MessageEvent } from "./events.js";
3
- import type { BlockActions } from "../../api/interactive/block_actions.js";
4
- import type { ViewSubmission } from "../../api/interactive/view_submission.js";
5
- export interface EventsReceiver extends EventEmitter<ReceiverEventMap> {
6
- start(): unknown;
7
- }
8
2
  export interface EventWrapper<T extends AllEvents = AllEvents> {
9
3
  type: "event_callback";
10
4
  token: string;
@@ -21,20 +15,9 @@ export interface EventWrapper<T extends AllEvents = AllEvents> {
21
15
  }
22
16
  export type AllEventTypes = AllEvents["type"];
23
17
  export type SlackEventMap = {
24
- [K in AllEventTypes]: AllEvents & {
18
+ [K in AllEventTypes]: Extract<AllEvents, {
25
19
  type: K;
26
- };
27
- };
28
- export type ReceiverEventMap = {
29
- event: [
30
- EventWrapper<AllEvents>
31
- ];
32
- block_actions: [
33
- BlockActions
34
- ];
35
- view_submission: [
36
- ViewSubmission
37
- ];
20
+ }>;
38
21
  };
39
22
  export type AllEvents = AppMentionEvent | MessageEvent;
40
23
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/events/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAE7D,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS;IAC5D,IAAI,EAAE,gBAAgB,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,CAAC,CAAA;IACR,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,OAAO,EAAE,CAAA;IACzB,qBAAqB,EAAE,OAAO,CAAA;IAC9B,eAAe,EAAE,MAAM,CAAA;IACvB,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAA;CACpC;AAED,MAAM,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;AAE7C,MAAM,MAAM,aAAa,GAAG;KAC1B,CAAC,IAAI,aAAa,GAAG,OAAO,CAAC,SAAS,EAAE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC;CACrD,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,eAAe,GAAG,YAAY,CAAA"}
@@ -1,31 +1,76 @@
1
1
  import type { CursorPaginationResponse } from "./types/api.js";
2
- import type { AppsConnectionsOpenParams, AppsConnectionsOpenResponse } from "./web/apps.js";
3
- import type { AuthTestParams, AuthTestResponse } from "./web/auth.js";
4
- import type { ChatPostMessageParams, ChatPostMessageResponse } from "./web/chat.js";
5
- import type { ConversationsHistoryParams, ConversationsHistoryResponse, ConversationsInfoParams, ConversationsInfoResponse, ConversationsRepliesParams, ConversationsRepliesResponse } from "./web/conversations.js";
2
+ import type { AppsConnectionsOpenParams, AppsConnectionsOpenResponse, AppsManifestCreateParams, AppsManifestCreateResponse, AppsManifestDeleteParams, AppsManifestDeleteResponse, AppsManifestExportParams, AppsManifestExportResponse, AppsManifestUpdateParams, AppsManifestUpdateResponse, AppsManifestValidateParams, AppsManifestValidateResponse, AppsUninstallParams, AppsUninstallResponse } from "./web/apps.js";
3
+ import type { AuthRevokeParams, AuthRevokeResponse, AuthTeamsListParams, AuthTeamsListResponse, AuthTestParams, AuthTestResponse } from "./web/auth.js";
4
+ import type { BotsInfoParams, BotsInfoResponse } from "./web/bots.js";
5
+ import type { ChatPostEphemeralParams, ChatPostEphemeralResponse, ChatPostMessageParams, ChatPostMessageResponse } from "./web/chat.js";
6
+ import type { ConversationsHistoryParams, ConversationsHistoryResponse, ConversationsInfoParams, ConversationsInfoResponse, ConversationsListParams, ConversationsListResponse, ConversationsRepliesParams, ConversationsRepliesResponse } from "./web/conversations.js";
6
7
  import type { FilesCompleteUploadExternalParams, FilesCompleteUploadExternalResponse, FilesGetUploadURLExternalParams, FilesGetUploadURLExternalResponse } from "./web/files.js";
7
8
  import type { UsersInfoParams, UsersInfoResponse } from "./web/users.js";
8
9
  import type { ViewsOpenParams, ViewsOpenResponse } from "./web/views.js";
9
10
  export interface SlackWebAPIMap {
11
+ "bots.info": {
12
+ params: BotsInfoParams;
13
+ response: BotsInfoResponse;
14
+ };
15
+ "auth.teams.list": {
16
+ params: AuthTeamsListParams;
17
+ response: AuthTeamsListResponse;
18
+ };
19
+ "auth.revoke": {
20
+ params: AuthRevokeParams;
21
+ response: AuthRevokeResponse;
22
+ };
10
23
  "apps.connections.open": {
11
24
  params: AppsConnectionsOpenParams;
12
25
  response: AppsConnectionsOpenResponse;
13
26
  };
27
+ "apps.manifest.create": {
28
+ params: AppsManifestCreateParams;
29
+ response: AppsManifestCreateResponse;
30
+ };
31
+ "apps.manifest.delete": {
32
+ params: AppsManifestDeleteParams;
33
+ response: AppsManifestDeleteResponse;
34
+ };
35
+ "apps.manifest.export": {
36
+ params: AppsManifestExportParams;
37
+ response: AppsManifestExportResponse;
38
+ };
39
+ "apps.manifest.update": {
40
+ params: AppsManifestUpdateParams;
41
+ response: AppsManifestUpdateResponse;
42
+ };
43
+ "apps.manifest.validate": {
44
+ params: AppsManifestValidateParams;
45
+ response: AppsManifestValidateResponse;
46
+ };
47
+ "apps.uninstall": {
48
+ params: AppsUninstallParams;
49
+ response: AppsUninstallResponse;
50
+ };
14
51
  "auth.test": {
15
52
  params: AuthTestParams;
16
53
  response: AuthTestResponse;
17
54
  };
55
+ "chat.postEphemeral": {
56
+ params: ChatPostEphemeralParams;
57
+ response: ChatPostEphemeralResponse;
58
+ };
18
59
  "chat.postMessage": {
19
60
  params: ChatPostMessageParams;
20
61
  response: ChatPostMessageResponse;
21
62
  };
63
+ "conversations.history": {
64
+ params: ConversationsHistoryParams;
65
+ response: ConversationsHistoryResponse;
66
+ };
22
67
  "conversations.info": {
23
68
  params: ConversationsInfoParams;
24
69
  response: ConversationsInfoResponse;
25
70
  };
26
- "conversations.history": {
27
- params: ConversationsHistoryParams;
28
- response: ConversationsHistoryResponse;
71
+ "conversations.list": {
72
+ params: ConversationsListParams;
73
+ response: ConversationsListResponse;
29
74
  };
30
75
  "conversations.replies": {
31
76
  params: ConversationsRepliesParams;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export const POST_METHODS = [
2
+ 'auth.teams.list',
3
+ 'apps.connections.open',
4
+ 'apps.manifest.create',
5
+ 'apps.manifest.delete',
6
+ 'apps.manifest.export',
7
+ 'apps.manifest.update',
8
+ 'apps.manifest.validate',
9
+ 'apps.uninstall',
10
+ 'chat.postEphemeral',
11
+ 'chat.postMessage',
12
+ 'files.completeUploadExternal',
13
+ 'views.open',
14
+ ];
@@ -1,4 +1,4 @@
1
- import type { PlainTextElement } from "@slack/types";
1
+ import type { ConfirmationDialog, PlainTextElement, PlainTextOption } from "@slack/types";
2
2
  import type { AnyMessage } from "../types/message.js";
3
3
  import type { InteractionCommon } from "./common.js";
4
4
  import type { StateValue } from "../types/value.js";
@@ -50,12 +50,17 @@ export interface PlainTextInputAction extends ActionCommon {
50
50
  type: "plain_text_input";
51
51
  value: string | null;
52
52
  }
53
- export type BlockAction = ButtonAction | PlainTextInputAction;
53
+ export interface OverflowAction extends ActionCommon {
54
+ type: "overflow";
55
+ confirm?: ConfirmationDialog;
56
+ selected_option: PlainTextOption;
57
+ }
58
+ export type BlockAction = ButtonAction | PlainTextInputAction | OverflowAction;
54
59
  export type BlockActionTypes = BlockAction["type"];
55
60
  export type BlockActionMap = {
56
- [K in BlockActionTypes]: BlockAction & {
61
+ [K in BlockActionTypes]: Extract<BlockAction, {
57
62
  type: K;
58
- };
63
+ }>;
59
64
  };
60
65
  export {};
61
66
  //# sourceMappingURL=block_actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block_actions.d.ts","sourceRoot":"","sources":["../../../../src/api/interactive/block_actions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AACzF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEhD,MAAM,WAAW,YAAa,SAAQ,iBAAiB;IACtD,IAAI,EAAE,eAAe,CAAA;IACrB,SAAS,EAAE,oBAAoB,CAAA;IAC/B,OAAO,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACtC,OAAO,CAAC,EAAE,UAAU,CAAA;IACpB,KAAK,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;KAAE,CAAA;IAC9D,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,WAAW,EAAE,CAAA;CACtB;AAED,UAAU,0BAA0B;IACnC,IAAI,EAAE,oBAAoB,CAAA;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,OAAO,CAAA;IACrB,aAAa,EAAE,OAAO,CAAA;CACtB;AAED,UAAU,aAAa;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CACf;AAED,UAAU,gBAAgB;IACzB,IAAI,EAAE,SAAS,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,OAAO,CAAA;CACrB;AAED,KAAK,oBAAoB,GAAG,0BAA0B,GAAG,aAAa,GAAG,gBAAgB,CAAA;AAEzF,UAAU,YAAY;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,YAAa,SAAQ,YAAY;IACjD,IAAI,EAAE,QAAQ,CAAA;IACd,IAAI,EAAE,gBAAgB,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAA;CAC5B;AAED,MAAM,WAAW,oBAAqB,SAAQ,YAAY;IACzD,IAAI,EAAE,kBAAkB,CAAA;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACpB;AAED,MAAM,WAAW,cAAe,SAAQ,YAAY;IACnD,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,CAAC,EAAE,kBAAkB,CAAA;IAC5B,eAAe,EAAE,eAAe,CAAA;CAChC;AAED,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,oBAAoB,GAAG,cAAc,CAAA;AAE9E,MAAM,MAAM,gBAAgB,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;AAElD,MAAM,MAAM,cAAc,GAAG;KAC3B,CAAC,IAAI,gBAAgB,GAAG,OAAO,CAAC,WAAW,EAAE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC;CAC1D,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/api/interactive/common.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IACjC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACtF,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IACrE,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,UAAU,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CACzC"}
@@ -1,8 +1,9 @@
1
+ import type { KnownBlock } from "@slack/types";
1
2
  import type { ModalView } from "../types/view.js";
2
3
  import type { InteractionCommon } from "./common.js";
3
- export interface ViewSubmission extends InteractionCommon {
4
+ export interface ViewSubmission<Blocks extends KnownBlock[] = KnownBlock[]> extends InteractionCommon {
4
5
  type: "view_submission";
5
- view: ModalView;
6
+ view: ModalView<Blocks>;
6
7
  response_urls: string[];
7
8
  }
8
9
  //# sourceMappingURL=view_submission.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view_submission.d.ts","sourceRoot":"","sources":["../../../../src/api/interactive/view_submission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAEjD,MAAM,WAAW,cAAc,CAC9B,MAAM,SAAS,UAAU,EAAE,GAAG,UAAU,EAAE,CACzC,SAAQ,iBAAiB;IAC1B,IAAI,EAAE,iBAAiB,CAAA;IACvB,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;IACvB,aAAa,EAAE,MAAM,EAAE,CAAA;CACvB"}
@@ -0,0 +1,18 @@
1
+ export interface SlashCommandPayload {
2
+ token: string;
3
+ team_id: string;
4
+ team_domain: string;
5
+ channel_id: string;
6
+ channel_name: string;
7
+ user_id: string;
8
+ user_name: string;
9
+ command: `/${string}`;
10
+ text: string;
11
+ api_app_id: string;
12
+ is_enterprise_install: 'true' | 'false';
13
+ enterprise_id?: string;
14
+ enterprise_name?: string;
15
+ response_url: string;
16
+ trigger_id: string;
17
+ }
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/slash/index.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,IAAI,MAAM,EAAE,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,qBAAqB,EAAE,MAAM,GAAG,OAAO,CAAA;IACvC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;CAClB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../src/api/types/api.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACtC;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,yBAAyB;IACzC;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,wBAAwB;IACxC,QAAQ,EAAE,OAAO,CAAA;IACjB,iBAAiB,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAA;CAC3C"}
@@ -50,30 +50,30 @@ interface NonIMCommon extends ConversationCommon {
50
50
  is_member?: boolean;
51
51
  is_moved?: number;
52
52
  }
53
- interface Channel extends NonIMCommon {
53
+ export interface PublicChannel extends NonIMCommon {
54
54
  is_channel: true;
55
55
  is_private: false;
56
56
  previous_names?: string[];
57
57
  }
58
- interface Group extends NonIMCommon {
58
+ export interface PrivateChannel extends NonIMCommon {
59
59
  is_channel: true;
60
60
  is_private: true;
61
61
  is_mpim: false;
62
62
  }
63
- interface MPIM extends NonIMCommon {
63
+ export interface MPIM extends NonIMCommon {
64
64
  is_channel: true;
65
65
  is_private: true;
66
66
  is_mpim: true;
67
67
  }
68
- interface IM extends ConversationCommon {
68
+ export interface IM extends ConversationCommon {
69
69
  is_im: true;
70
70
  user: string;
71
71
  priority: number;
72
- unread_count: number;
73
- unread_count_display: number;
72
+ unread_count?: number;
73
+ unread_count_display?: number;
74
74
  latest?: unknown;
75
75
  }
76
- export type Conversation = Channel | Group | MPIM | IM;
76
+ export type Conversation = PublicChannel | PrivateChannel | MPIM | IM;
77
77
  interface Purpose {
78
78
  value: string;
79
79
  creator: string;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../../src/api/types/conversation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ export interface File {
2
+ id: string;
3
+ created: number;
4
+ timestamp: number;
5
+ name: string;
6
+ title: string;
7
+ mimetype: string;
8
+ filetype: string;
9
+ pretty_type: string;
10
+ user: string;
11
+ user_team: string;
12
+ editable: boolean;
13
+ size: number;
14
+ mode: 'hosted' | 'external' | 'snippet' | 'post';
15
+ is_external: boolean;
16
+ external_type: string;
17
+ is_public: boolean;
18
+ public_url_shared: boolean;
19
+ display_as_bot: boolean;
20
+ username: string;
21
+ url_private: string;
22
+ url_private_download: string;
23
+ media_display_type: string;
24
+ permalink: string;
25
+ permalink_public: string;
26
+ comments_count: number;
27
+ is_starred: boolean;
28
+ shares: {
29
+ public: Record<string, FilePublicShare[]>;
30
+ };
31
+ channels: string[];
32
+ groups: string[];
33
+ ims: string[];
34
+ has_rich_preview: boolean;
35
+ has_more_shares: boolean;
36
+ file_access: 'visible' | 'check_file_info';
37
+ }
38
+ interface FilePublicShare {
39
+ reply_users: string[];
40
+ reply_users_count: number;
41
+ reply_count: number;
42
+ ts: string;
43
+ thread_ts?: string;
44
+ latest_reply?: string;
45
+ channel_name: string;
46
+ team_id: string;
47
+ share_user_id: string;
48
+ source: string;
49
+ is_silent_share: boolean;
50
+ }
51
+ export {};
52
+ //# sourceMappingURL=file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../../../src/api/types/file.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,IAAI;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,CAAA;IAChD,WAAW,EAAE,OAAO,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,OAAO,CAAA;IAClB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,cAAc,EAAE,OAAO,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,gBAAgB,EAAE,MAAM,CAAA;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,OAAO,CAAA;IACnB,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CAAA;KAAE,CAAA;IACrD,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,GAAG,EAAE,MAAM,EAAE,CAAA;IACb,gBAAgB,EAAE,OAAO,CAAA;IACzB,eAAe,EAAE,OAAO,CAAA;IACxB,WAAW,EAAE,SAAS,GAAG,iBAAiB,CAAA;CAC1C;AAED,UAAU,eAAe;IACxB,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,iBAAiB,EAAE,MAAM,CAAA;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,eAAe,EAAE,OAAO,CAAA;CACxB"}
@@ -1,7 +1,8 @@
1
- import type { KnownBlock } from '@slack/types';
1
+ import type { KnownBlock } from "@slack/types";
2
+ import type { File } from "./file.js";
2
3
  export type Attachment = {
3
4
  blocks?: KnownBlock[];
4
- color?: 'good' | 'warning' | 'danger' | string;
5
+ color?: "good" | "warning" | "danger" | string;
5
6
  author_icon?: string;
6
7
  author_link?: string;
7
8
  author_name?: string;
@@ -50,18 +51,19 @@ interface MaybeBot {
50
51
  interface MaybeAttachments {
51
52
  attachments: Attachment[];
52
53
  }
53
- interface MaybeBlocks {
54
- blocks?: KnownBlock[];
54
+ interface MaybeBlocks<Blocks extends KnownBlock[] = KnownBlock[]> {
55
+ blocks?: Blocks;
55
56
  }
56
57
  interface MessageCommon {
57
- type: 'message';
58
+ type: "message";
58
59
  ts: string;
59
60
  subtype?: string;
60
61
  thread_ts?: string;
61
62
  text?: string;
62
63
  user?: string;
64
+ hidden?: boolean;
63
65
  }
64
- export interface NormalMessage extends MessageCommon, MaybeBot, MaybeAttachments, MaybeBlocks {
66
+ export interface NormalMessage<Blocks extends KnownBlock[] = KnownBlock[]> extends MessageCommon, MaybeBot, MaybeAttachments, MaybeBlocks<Blocks> {
65
67
  subtype?: never;
66
68
  user: string;
67
69
  team: string;
@@ -71,13 +73,31 @@ export interface NormalMessage extends MessageCommon, MaybeBot, MaybeAttachments
71
73
  };
72
74
  client_msg_id?: string;
73
75
  parent_user_id?: string;
76
+ files?: File[];
77
+ }
78
+ export interface BotMessageMessage extends MessageCommon, MaybeAttachments, MaybeBlocks {
79
+ subtype: "bot_message";
80
+ bot_id: string;
74
81
  }
75
82
  export interface ChannelJoinMessage extends MessageCommon {
76
- subtype: 'channel_join';
83
+ subtype: "channel_join";
77
84
  user: string;
78
85
  text: string;
79
86
  inviter?: string;
80
87
  }
81
- export type AnyMessage = NormalMessage | ChannelJoinMessage;
88
+ export interface MessageChangedMessage extends MessageCommon {
89
+ subtype: "message_changed";
90
+ hidden: true;
91
+ message: NormalMessage;
92
+ }
93
+ export interface MessageDeletedMessage extends MessageCommon {
94
+ subtype: "message_deleted";
95
+ hidden: true;
96
+ deleted_ts: string;
97
+ previous_message: Exclude<AnyMessage, {
98
+ hidden: true;
99
+ }>;
100
+ }
101
+ export type AnyMessage = NormalMessage | BotMessageMessage | ChannelJoinMessage | MessageChangedMessage | MessageDeletedMessage;
82
102
  export {};
83
- //# sourceMappingURL=message.d.ts.map
103
+ //# sourceMappingURL=message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../../src/api/types/message.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../src/api/types/user.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,IAAI;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,WAAW,CAAA;IACpB,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,OAAO,CAAA;IACjB,gBAAgB,EAAE,OAAO,CAAA;IACzB,aAAa,EAAE,OAAO,CAAA;IACtB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,OAAO,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,WAAW,WAAW;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,yBAAyB,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACzE,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,0BAA0B,CAAC,EAAE,MAAM,CAAA;CACnC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"value.d.ts","sourceRoot":"","sources":["../../../../src/api/types/value.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IACnC,IAAI,EAAE,kBAAkB,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;CACb;AAED,MAAM,MAAM,UAAU,GAAG,mBAAmB,CAAA"}
@@ -1,17 +1,17 @@
1
1
  import type { KnownBlock, PlainTextElement } from "@slack/types";
2
- import type { StateValue } from "./value.js";
3
- export interface ModalView {
2
+ import type { ExtractValues } from "../../blocks/utils/extract.js";
3
+ export interface ModalView<Blocks extends KnownBlock[] = KnownBlock[]> {
4
4
  type: "modal";
5
5
  id: string;
6
6
  team_id: string;
7
7
  title: PlainTextElement;
8
- blocks: KnownBlock[];
8
+ blocks: Blocks;
9
9
  close: PlainTextElement | null;
10
10
  submit: PlainTextElement | null;
11
11
  private_metadata: string;
12
12
  callback_id: string;
13
13
  state: {
14
- values: Record<string, Record<string, StateValue>>;
14
+ values: ExtractValues<Blocks>;
15
15
  };
16
16
  hash: string;
17
17
  clear_on_close: boolean;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../../src/api/types/view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE/D,MAAM,WAAW,SAAS,CAAC,MAAM,SAAS,UAAU,EAAE,GAAG,UAAU,EAAE;IACpE,IAAI,EAAE,OAAO,CAAA;IACb,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,gBAAgB,CAAA;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAC9B,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAC/B,gBAAgB,EAAE,MAAM,CAAA;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE;QAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;KAAE,CAAA;IACxC,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,EAAE,OAAO,CAAA;IACvB,eAAe,EAAE,OAAO,CAAA;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,qBAAqB,EAAE,MAAM,CAAA;IAC7B,MAAM,EAAE,MAAM,CAAA;CACd"}