@vellumai/vellum-gateway 0.10.0 → 0.10.1-dev.202606240317.ea25efe

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 (256) hide show
  1. package/bun.lock +3 -0
  2. package/knip.json +1 -0
  3. package/node_modules/@slack/types/LICENSE +23 -0
  4. package/node_modules/@slack/types/README.md +32 -0
  5. package/node_modules/@slack/types/dist/block-kit/block-elements.d.ts +953 -0
  6. package/node_modules/@slack/types/dist/block-kit/block-elements.d.ts.map +1 -0
  7. package/node_modules/@slack/types/dist/block-kit/block-elements.js +4 -0
  8. package/node_modules/@slack/types/dist/block-kit/block-elements.js.map +1 -0
  9. package/node_modules/@slack/types/dist/block-kit/blocks.d.ts +474 -0
  10. package/node_modules/@slack/types/dist/block-kit/blocks.d.ts.map +1 -0
  11. package/node_modules/@slack/types/dist/block-kit/blocks.js +3 -0
  12. package/node_modules/@slack/types/dist/block-kit/blocks.js.map +1 -0
  13. package/node_modules/@slack/types/dist/block-kit/composition-objects.d.ts +237 -0
  14. package/node_modules/@slack/types/dist/block-kit/composition-objects.d.ts.map +1 -0
  15. package/node_modules/@slack/types/dist/block-kit/composition-objects.js +4 -0
  16. package/node_modules/@slack/types/dist/block-kit/composition-objects.js.map +1 -0
  17. package/node_modules/@slack/types/dist/block-kit/extensions.d.ts +88 -0
  18. package/node_modules/@slack/types/dist/block-kit/extensions.d.ts.map +1 -0
  19. package/node_modules/@slack/types/dist/block-kit/extensions.js +3 -0
  20. package/node_modules/@slack/types/dist/block-kit/extensions.js.map +1 -0
  21. package/node_modules/@slack/types/dist/calls.d.ts +26 -0
  22. package/node_modules/@slack/types/dist/calls.d.ts.map +1 -0
  23. package/node_modules/@slack/types/dist/calls.js +6 -0
  24. package/node_modules/@slack/types/dist/calls.js.map +1 -0
  25. package/node_modules/@slack/types/dist/chunk.d.ts +52 -0
  26. package/node_modules/@slack/types/dist/chunk.d.ts.map +1 -0
  27. package/node_modules/@slack/types/dist/chunk.js +3 -0
  28. package/node_modules/@slack/types/dist/chunk.js.map +1 -0
  29. package/node_modules/@slack/types/dist/common/bot-profile.d.ts +12 -0
  30. package/node_modules/@slack/types/dist/common/bot-profile.d.ts.map +1 -0
  31. package/node_modules/@slack/types/dist/common/bot-profile.js +3 -0
  32. package/node_modules/@slack/types/dist/common/bot-profile.js.map +1 -0
  33. package/node_modules/@slack/types/dist/common/status-emoji-display-info.d.ts +6 -0
  34. package/node_modules/@slack/types/dist/common/status-emoji-display-info.d.ts.map +1 -0
  35. package/node_modules/@slack/types/dist/common/status-emoji-display-info.js +3 -0
  36. package/node_modules/@slack/types/dist/common/status-emoji-display-info.js.map +1 -0
  37. package/node_modules/@slack/types/dist/dialog.d.ts +36 -0
  38. package/node_modules/@slack/types/dist/dialog.d.ts.map +1 -0
  39. package/node_modules/@slack/types/dist/dialog.js +3 -0
  40. package/node_modules/@slack/types/dist/dialog.js.map +1 -0
  41. package/node_modules/@slack/types/dist/events/app.d.ts +204 -0
  42. package/node_modules/@slack/types/dist/events/app.d.ts.map +1 -0
  43. package/node_modules/@slack/types/dist/events/app.js +3 -0
  44. package/node_modules/@slack/types/dist/events/app.js.map +1 -0
  45. package/node_modules/@slack/types/dist/events/assistant.d.ts +29 -0
  46. package/node_modules/@slack/types/dist/events/assistant.d.ts.map +1 -0
  47. package/node_modules/@slack/types/dist/events/assistant.js +3 -0
  48. package/node_modules/@slack/types/dist/events/assistant.js.map +1 -0
  49. package/node_modules/@slack/types/dist/events/call.d.ts +8 -0
  50. package/node_modules/@slack/types/dist/events/call.d.ts.map +1 -0
  51. package/node_modules/@slack/types/dist/events/call.js +3 -0
  52. package/node_modules/@slack/types/dist/events/call.js.map +1 -0
  53. package/node_modules/@slack/types/dist/events/channel.d.ts +85 -0
  54. package/node_modules/@slack/types/dist/events/channel.d.ts.map +1 -0
  55. package/node_modules/@slack/types/dist/events/channel.js +3 -0
  56. package/node_modules/@slack/types/dist/events/channel.js.map +1 -0
  57. package/node_modules/@slack/types/dist/events/dnd.d.ts +24 -0
  58. package/node_modules/@slack/types/dist/events/dnd.d.ts.map +1 -0
  59. package/node_modules/@slack/types/dist/events/dnd.js +3 -0
  60. package/node_modules/@slack/types/dist/events/dnd.js.map +1 -0
  61. package/node_modules/@slack/types/dist/events/email.d.ts +6 -0
  62. package/node_modules/@slack/types/dist/events/email.d.ts.map +1 -0
  63. package/node_modules/@slack/types/dist/events/email.js +3 -0
  64. package/node_modules/@slack/types/dist/events/email.js.map +1 -0
  65. package/node_modules/@slack/types/dist/events/emoji.d.ts +11 -0
  66. package/node_modules/@slack/types/dist/events/emoji.d.ts.map +1 -0
  67. package/node_modules/@slack/types/dist/events/emoji.js +3 -0
  68. package/node_modules/@slack/types/dist/events/emoji.js.map +1 -0
  69. package/node_modules/@slack/types/dist/events/entity-details-requested.d.ts +21 -0
  70. package/node_modules/@slack/types/dist/events/entity-details-requested.d.ts.map +1 -0
  71. package/node_modules/@slack/types/dist/events/entity-details-requested.js +3 -0
  72. package/node_modules/@slack/types/dist/events/entity-details-requested.js.map +1 -0
  73. package/node_modules/@slack/types/dist/events/file.d.ts +60 -0
  74. package/node_modules/@slack/types/dist/events/file.d.ts.map +1 -0
  75. package/node_modules/@slack/types/dist/events/file.js +4 -0
  76. package/node_modules/@slack/types/dist/events/file.js.map +1 -0
  77. package/node_modules/@slack/types/dist/events/function.d.ts +33 -0
  78. package/node_modules/@slack/types/dist/events/function.d.ts.map +1 -0
  79. package/node_modules/@slack/types/dist/events/function.js +3 -0
  80. package/node_modules/@slack/types/dist/events/function.js.map +1 -0
  81. package/node_modules/@slack/types/dist/events/grid-migration.d.ts +9 -0
  82. package/node_modules/@slack/types/dist/events/grid-migration.d.ts.map +1 -0
  83. package/node_modules/@slack/types/dist/events/grid-migration.js +3 -0
  84. package/node_modules/@slack/types/dist/events/grid-migration.js.map +1 -0
  85. package/node_modules/@slack/types/dist/events/group.d.ts +55 -0
  86. package/node_modules/@slack/types/dist/events/group.d.ts.map +1 -0
  87. package/node_modules/@slack/types/dist/events/group.js +3 -0
  88. package/node_modules/@slack/types/dist/events/group.js.map +1 -0
  89. package/node_modules/@slack/types/dist/events/im.d.ts +26 -0
  90. package/node_modules/@slack/types/dist/events/im.d.ts.map +1 -0
  91. package/node_modules/@slack/types/dist/events/im.js +3 -0
  92. package/node_modules/@slack/types/dist/events/im.js.map +1 -0
  93. package/node_modules/@slack/types/dist/events/index.d.ts +60 -0
  94. package/node_modules/@slack/types/dist/events/index.d.ts.map +1 -0
  95. package/node_modules/@slack/types/dist/events/index.js +43 -0
  96. package/node_modules/@slack/types/dist/events/index.js.map +1 -0
  97. package/node_modules/@slack/types/dist/events/invite.d.ts +20 -0
  98. package/node_modules/@slack/types/dist/events/invite.d.ts.map +1 -0
  99. package/node_modules/@slack/types/dist/events/invite.js +3 -0
  100. package/node_modules/@slack/types/dist/events/invite.js.map +1 -0
  101. package/node_modules/@slack/types/dist/events/link-shared.d.ts +16 -0
  102. package/node_modules/@slack/types/dist/events/link-shared.d.ts.map +1 -0
  103. package/node_modules/@slack/types/dist/events/link-shared.js +3 -0
  104. package/node_modules/@slack/types/dist/events/link-shared.js.map +1 -0
  105. package/node_modules/@slack/types/dist/events/member.d.ts +19 -0
  106. package/node_modules/@slack/types/dist/events/member.d.ts.map +1 -0
  107. package/node_modules/@slack/types/dist/events/member.js +3 -0
  108. package/node_modules/@slack/types/dist/events/member.js.map +1 -0
  109. package/node_modules/@slack/types/dist/events/message-metadata.d.ts +38 -0
  110. package/node_modules/@slack/types/dist/events/message-metadata.d.ts.map +1 -0
  111. package/node_modules/@slack/types/dist/events/message-metadata.js +3 -0
  112. package/node_modules/@slack/types/dist/events/message-metadata.js.map +1 -0
  113. package/node_modules/@slack/types/dist/events/message.d.ts +306 -0
  114. package/node_modules/@slack/types/dist/events/message.d.ts.map +1 -0
  115. package/node_modules/@slack/types/dist/events/message.js +3 -0
  116. package/node_modules/@slack/types/dist/events/message.js.map +1 -0
  117. package/node_modules/@slack/types/dist/events/pin.d.ts +60 -0
  118. package/node_modules/@slack/types/dist/events/pin.d.ts.map +1 -0
  119. package/node_modules/@slack/types/dist/events/pin.js +3 -0
  120. package/node_modules/@slack/types/dist/events/pin.js.map +1 -0
  121. package/node_modules/@slack/types/dist/events/reaction.d.ts +23 -0
  122. package/node_modules/@slack/types/dist/events/reaction.d.ts.map +1 -0
  123. package/node_modules/@slack/types/dist/events/reaction.js +3 -0
  124. package/node_modules/@slack/types/dist/events/reaction.js.map +1 -0
  125. package/node_modules/@slack/types/dist/events/shared-channel.d.ts +134 -0
  126. package/node_modules/@slack/types/dist/events/shared-channel.d.ts.map +1 -0
  127. package/node_modules/@slack/types/dist/events/shared-channel.js +3 -0
  128. package/node_modules/@slack/types/dist/events/shared-channel.js.map +1 -0
  129. package/node_modules/@slack/types/dist/events/star.d.ts +13 -0
  130. package/node_modules/@slack/types/dist/events/star.d.ts.map +1 -0
  131. package/node_modules/@slack/types/dist/events/star.js +3 -0
  132. package/node_modules/@slack/types/dist/events/star.js.map +1 -0
  133. package/node_modules/@slack/types/dist/events/steps-from-apps.d.ts +82 -0
  134. package/node_modules/@slack/types/dist/events/steps-from-apps.d.ts.map +1 -0
  135. package/node_modules/@slack/types/dist/events/steps-from-apps.js +3 -0
  136. package/node_modules/@slack/types/dist/events/steps-from-apps.js.map +1 -0
  137. package/node_modules/@slack/types/dist/events/subteam.d.ts +66 -0
  138. package/node_modules/@slack/types/dist/events/subteam.d.ts.map +1 -0
  139. package/node_modules/@slack/types/dist/events/subteam.js +3 -0
  140. package/node_modules/@slack/types/dist/events/subteam.js.map +1 -0
  141. package/node_modules/@slack/types/dist/events/team.d.ts +99 -0
  142. package/node_modules/@slack/types/dist/events/team.d.ts.map +1 -0
  143. package/node_modules/@slack/types/dist/events/team.js +3 -0
  144. package/node_modules/@slack/types/dist/events/team.js.map +1 -0
  145. package/node_modules/@slack/types/dist/events/token.d.ts +8 -0
  146. package/node_modules/@slack/types/dist/events/token.d.ts.map +1 -0
  147. package/node_modules/@slack/types/dist/events/token.js +3 -0
  148. package/node_modules/@slack/types/dist/events/token.js.map +1 -0
  149. package/node_modules/@slack/types/dist/events/user.d.ts +313 -0
  150. package/node_modules/@slack/types/dist/events/user.d.ts.map +1 -0
  151. package/node_modules/@slack/types/dist/events/user.js +3 -0
  152. package/node_modules/@slack/types/dist/events/user.js.map +1 -0
  153. package/node_modules/@slack/types/dist/index.d.ts +12 -0
  154. package/node_modules/@slack/types/dist/index.d.ts.map +1 -0
  155. package/node_modules/@slack/types/dist/index.js +28 -0
  156. package/node_modules/@slack/types/dist/index.js.map +1 -0
  157. package/node_modules/@slack/types/dist/message-attachments.d.ts +171 -0
  158. package/node_modules/@slack/types/dist/message-attachments.d.ts.map +1 -0
  159. package/node_modules/@slack/types/dist/message-attachments.js +3 -0
  160. package/node_modules/@slack/types/dist/message-attachments.js.map +1 -0
  161. package/node_modules/@slack/types/dist/message-metadata.d.ts +281 -0
  162. package/node_modules/@slack/types/dist/message-metadata.d.ts.map +1 -0
  163. package/node_modules/@slack/types/dist/message-metadata.js +27 -0
  164. package/node_modules/@slack/types/dist/message-metadata.js.map +1 -0
  165. package/node_modules/@slack/types/dist/views.d.ts +71 -0
  166. package/node_modules/@slack/types/dist/views.d.ts.map +1 -0
  167. package/node_modules/@slack/types/dist/views.js +3 -0
  168. package/node_modules/@slack/types/dist/views.js.map +1 -0
  169. package/node_modules/@slack/types/package.json +47 -0
  170. package/node_modules/@vellumai/gateway-client/bun.lock +3 -0
  171. package/node_modules/@vellumai/gateway-client/package.json +1 -0
  172. package/node_modules/@vellumai/gateway-client/src/__tests__/contact-read-contracts.test.ts +69 -0
  173. package/node_modules/@vellumai/gateway-client/src/__tests__/guardian-delivery-contract.test.ts +91 -0
  174. package/node_modules/@vellumai/gateway-client/src/__tests__/trust-verdict-contract.test.ts +96 -0
  175. package/node_modules/@vellumai/gateway-client/src/gateway-ipc-contracts.ts +162 -0
  176. package/node_modules/@vellumai/gateway-client/src/guardian-delivery-contract.ts +48 -0
  177. package/node_modules/@vellumai/gateway-client/src/inbound-contract.ts +8 -0
  178. package/node_modules/@vellumai/gateway-client/src/index.ts +28 -0
  179. package/node_modules/@vellumai/gateway-client/src/ipc-client.ts +4 -2
  180. package/node_modules/@vellumai/gateway-client/src/outbound-contract.ts +3 -2
  181. package/node_modules/@vellumai/gateway-client/src/trust-verdict-contract.ts +95 -0
  182. package/package.json +2 -1
  183. package/src/__tests__/binding-helpers.test.ts +353 -0
  184. package/src/__tests__/contact-handlers.test.ts +349 -0
  185. package/src/__tests__/contact-prompt-submit.test.ts +603 -82
  186. package/src/__tests__/contact-rich-read.test.ts +401 -0
  187. package/src/__tests__/contact-store-invites.test.ts +294 -0
  188. package/src/__tests__/contact-store-mark-channel-verified.test.ts +361 -6
  189. package/src/__tests__/contact-store-merge-contacts.test.ts +439 -0
  190. package/src/__tests__/contacts-control-plane-proxy.test.ts +1837 -107
  191. package/src/__tests__/contacts-info-joiner.test.ts +442 -0
  192. package/src/__tests__/credential-watcher.test.ts +34 -13
  193. package/src/__tests__/data-migration-m0007-backfill-ingress-invites.test.ts +346 -0
  194. package/src/__tests__/devices.test.ts +34 -6
  195. package/src/__tests__/guardian-binding-channel-reuse.test.ts +104 -159
  196. package/src/__tests__/guardian-bootstrap-binding.test.ts +328 -0
  197. package/src/__tests__/guardian-bootstrap-lookups.test.ts +394 -0
  198. package/src/__tests__/guardian-channel-create.test.ts +81 -0
  199. package/src/__tests__/guardian-delivery-resolver.test.ts +264 -0
  200. package/src/__tests__/handle-inbound-trust-verdict.test.ts +322 -0
  201. package/src/__tests__/inbound-register.test.ts +77 -0
  202. package/src/__tests__/ipc-contact-routes.test.ts +1123 -1
  203. package/src/__tests__/ipc-invite-routes.test.ts +197 -0
  204. package/src/__tests__/m0006-reconcile-contacts.test.ts +383 -0
  205. package/src/__tests__/pair-device-bound.test.ts +34 -7
  206. package/src/__tests__/pair.test.ts +104 -0
  207. package/src/__tests__/probes.test.ts +65 -0
  208. package/src/__tests__/remote-web-pairing-token.test.ts +48 -2
  209. package/src/__tests__/schema.test.ts +1 -1
  210. package/src/__tests__/upsert-verified-contact-channel.test.ts +422 -11
  211. package/src/auth/guardian-bootstrap.ts +226 -131
  212. package/src/db/contact-store.ts +1449 -70
  213. package/src/db/contacts-info-joiner.ts +117 -0
  214. package/src/db/data-migrations/index.ts +4 -0
  215. package/src/db/data-migrations/m0006-reconcile-contacts-from-assistant.ts +253 -0
  216. package/src/db/data-migrations/m0007-backfill-ingress-invites.ts +167 -0
  217. package/src/db/schema.ts +17 -0
  218. package/src/feature-flag-registry.json +0 -8
  219. package/src/handlers/handle-inbound.ts +29 -2
  220. package/src/http/routes/__tests__/invite-validation.test.ts +181 -0
  221. package/src/http/routes/contact-prompt.ts +242 -134
  222. package/src/http/routes/contacts-control-plane-proxy.ts +1153 -14
  223. package/src/http/routes/guardian-channel-create.test.ts +49 -13
  224. package/src/http/routes/guardian-channel-create.ts +22 -11
  225. package/src/http/routes/inbound-register.ts +24 -11
  226. package/src/http/routes/invite-validation.ts +165 -0
  227. package/src/http/routes/pair.ts +25 -15
  228. package/src/http/routes/twilio-voice-verify-callback.ts +13 -5
  229. package/src/index.ts +41 -24
  230. package/src/ipc/__tests__/invite-ipc-routes.test.ts +430 -0
  231. package/src/ipc/__tests__/trust-verdict-handlers.test.ts +186 -0
  232. package/src/ipc/contact-handlers.ts +152 -63
  233. package/src/ipc/guardian-delivery-handlers.ts +29 -0
  234. package/src/ipc/invite-handlers.ts +147 -0
  235. package/src/ipc/server.ts +92 -24
  236. package/src/ipc/trust-verdict-handlers.ts +39 -0
  237. package/src/post-assistant-ready.ts +4 -4
  238. package/src/risk/__tests__/trust-verdict-resolver.test.ts +329 -0
  239. package/src/risk/command-registry/commands/assistant.ts +40 -0
  240. package/src/risk/command-registry.test.ts +2 -0
  241. package/src/risk/guardian-delivery-resolver.ts +58 -0
  242. package/src/risk/trust-verdict-resolver.ts +151 -0
  243. package/src/schema.ts +16 -6
  244. package/src/slack/normalize.test.ts +65 -0
  245. package/src/verification/binding-helpers.ts +106 -59
  246. package/src/verification/contact-helpers.ts +260 -68
  247. package/src/verification/identity.ts +13 -0
  248. package/src/verification/outbound-voice-verification-sync.test.ts +36 -1
  249. package/src/verification/text-verification.ts +58 -21
  250. package/src/verification/voice-approval-sync.ts +10 -2
  251. package/src/__tests__/block-kit-builder.test.ts +0 -58
  252. package/src/__tests__/guardian-channel-actor-lookup.test.ts +0 -47
  253. package/src/__tests__/text-to-blocks.test.ts +0 -164
  254. package/src/slack/block-kit-builder.test.ts +0 -288
  255. package/src/slack/block-kit-builder.ts +0 -232
  256. package/src/slack/text-to-blocks.ts +0 -244
package/bun.lock CHANGED
@@ -5,6 +5,7 @@
5
5
  "": {
6
6
  "name": "@vellumai/vellum-gateway",
7
7
  "dependencies": {
8
+ "@slack/types": "2.21.1",
8
9
  "@vellumai/assistant-client": "file:../packages/assistant-client",
9
10
  "@vellumai/ces-client": "file:../packages/ces-client",
10
11
  "@vellumai/gateway-client": "file:../packages/gateway-client",
@@ -172,6 +173,8 @@
172
173
 
173
174
  "@pinojs/redact": ["@pinojs/redact@0.4.0", "", {}, "sha512-k2ENnmBugE/rzQfEcdWHcCY+/FM3VLzH9cYEsbdsoqrvzAKRhUZeRNhAZvB8OitQJ1TBed3yqWtdjzS6wJKBwg=="],
174
175
 
176
+ "@slack/types": ["@slack/types@2.21.1", "", {}, "sha512-I8vmSjNYWsaxuWPx6dz4yeh0h7vRBWbgAMK14LEmblbZ404BtrPbXs6jDPx4cYgGf8msDGF4A9opLZBu21FViQ=="],
177
+
175
178
  "@tokenizer/inflate": ["@tokenizer/inflate@0.4.1", "", { "dependencies": { "debug": "^4.4.3", "token-types": "^6.1.1" } }, "sha512-2mAv+8pkG6GIZiF1kNg1jAjh27IDxEPKwdGul3snfztFerfPGI1LjDezZp3i7BElXompqEtPmoPx6c2wgtWsOA=="],
176
179
 
177
180
  "@tokenizer/token": ["@tokenizer/token@0.3.0", "", {}, "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A=="],
package/knip.json CHANGED
@@ -2,6 +2,7 @@
2
2
  "entry": ["src/**/*.test.ts", "src/**/__tests__/**/*.ts"],
3
3
  "project": ["src/**/*.ts"],
4
4
  "ignoreDependencies": [
5
+ "@slack/types",
5
6
  "@vellumai/assistant-client",
6
7
  "@vellumai/ces-client",
7
8
  "@vellumai/gateway-client",
@@ -0,0 +1,23 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2014- Slack Technologies, LLC
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23
+
@@ -0,0 +1,32 @@
1
+ # Slack Types
2
+
3
+ The `@slack/types` package is intended to be used as a central location for modeling Slack interfaces, types, payloads
4
+ and constructs of all kinds.
5
+
6
+ ## Requirements
7
+
8
+ This package supports Node v18 and higher. It's highly recommended to use [the latest LTS version of
9
+ node](https://github.com/nodejs/Release#release-schedule), and the documentation is written using syntax and features
10
+ from that version.
11
+
12
+ ## Installation
13
+
14
+ ```shell
15
+ $ npm install @slack/types
16
+ ```
17
+
18
+ ## Usage
19
+
20
+ This package exports many different types and interfaces. It is best to peruse the source code to see what is
21
+ available, but a brief list:
22
+
23
+ - Block Kit blocks and elements (`./src/block-kit/*`)
24
+ - Message attachments (`./src/message-attachments.ts`)
25
+
26
+ ## Getting Help
27
+
28
+ If you get stuck, we're here to help. The following are the best ways to get assistance working through your issue:
29
+
30
+ * [Issue Tracker](http://github.com/slackapi/node-slack-sdk/issues) for questions, feature requests, bug reports and
31
+ general discussion related to this package. Try searching before you create a new issue.
32
+ * [Email us](mailto:developers@slack.com) in Slack developer support: `developers@slack.com`