@bubblelab/bubble-core 0.1.11 → 0.1.13

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 (143) hide show
  1. package/dist/bubble-bundle.d.ts +183 -117
  2. package/dist/bubble-factory.d.ts +2 -3
  3. package/dist/bubble-factory.d.ts.map +1 -1
  4. package/dist/bubble-factory.js +28 -96
  5. package/dist/bubble-factory.js.map +1 -1
  6. package/dist/bubbles/service-bubble/ai-agent.d.ts +14 -14
  7. package/dist/bubbles/service-bubble/ai-agent.d.ts.map +1 -1
  8. package/dist/bubbles/service-bubble/ai-agent.js +3 -6
  9. package/dist/bubbles/service-bubble/ai-agent.js.map +1 -1
  10. package/dist/bubbles/service-bubble/apify/apify.d.ts +5 -5
  11. package/dist/bubbles/service-bubble/apify/apify.d.ts.map +1 -1
  12. package/dist/bubbles/service-bubble/apify/apify.js +20 -8
  13. package/dist/bubbles/service-bubble/apify/apify.js.map +1 -1
  14. package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts +542 -0
  15. package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts.map +1 -0
  16. package/dist/bubbles/service-bubble/browserbase/browserbase.integration.flow.d.ts +37 -0
  17. package/dist/bubbles/service-bubble/browserbase/browserbase.integration.flow.d.ts.map +1 -0
  18. package/dist/bubbles/service-bubble/browserbase/browserbase.integration.flow.js +203 -0
  19. package/dist/bubbles/service-bubble/browserbase/browserbase.integration.flow.js.map +1 -0
  20. package/dist/bubbles/service-bubble/browserbase/browserbase.js +593 -0
  21. package/dist/bubbles/service-bubble/browserbase/browserbase.js.map +1 -0
  22. package/dist/bubbles/service-bubble/browserbase/browserbase.schema.d.ts +518 -0
  23. package/dist/bubbles/service-bubble/browserbase/browserbase.schema.d.ts.map +1 -0
  24. package/dist/bubbles/service-bubble/browserbase/browserbase.schema.js +311 -0
  25. package/dist/bubbles/service-bubble/browserbase/browserbase.schema.js.map +1 -0
  26. package/dist/bubbles/service-bubble/browserbase/index.d.ts +3 -0
  27. package/dist/bubbles/service-bubble/browserbase/index.d.ts.map +1 -0
  28. package/dist/bubbles/service-bubble/browserbase/index.js +3 -0
  29. package/dist/bubbles/service-bubble/browserbase/index.js.map +1 -0
  30. package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts +1358 -0
  31. package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts.map +1 -0
  32. package/dist/bubbles/service-bubble/crustdata/crustdata.js +219 -0
  33. package/dist/bubbles/service-bubble/crustdata/crustdata.js.map +1 -0
  34. package/dist/bubbles/service-bubble/crustdata/crustdata.schema.d.ts +1604 -0
  35. package/dist/bubbles/service-bubble/crustdata/crustdata.schema.d.ts.map +1 -0
  36. package/dist/bubbles/service-bubble/crustdata/crustdata.schema.js +194 -0
  37. package/dist/bubbles/service-bubble/crustdata/crustdata.schema.js.map +1 -0
  38. package/dist/bubbles/service-bubble/crustdata/index.d.ts +3 -0
  39. package/dist/bubbles/service-bubble/crustdata/index.d.ts.map +1 -0
  40. package/dist/bubbles/service-bubble/crustdata/index.js +3 -0
  41. package/dist/bubbles/service-bubble/crustdata/index.js.map +1 -0
  42. package/dist/bubbles/service-bubble/firecrawl.d.ts +4 -4
  43. package/dist/bubbles/service-bubble/firecrawl.js +1 -1
  44. package/dist/bubbles/service-bubble/firecrawl.js.map +1 -1
  45. package/dist/bubbles/service-bubble/github.d.ts +0 -6
  46. package/dist/bubbles/service-bubble/github.d.ts.map +1 -1
  47. package/dist/bubbles/service-bubble/github.js +1 -7
  48. package/dist/bubbles/service-bubble/github.js.map +1 -1
  49. package/dist/bubbles/service-bubble/gmail.d.ts +84 -84
  50. package/dist/bubbles/service-bubble/google-drive.d.ts +32 -32
  51. package/dist/bubbles/service-bubble/http.d.ts +13 -1
  52. package/dist/bubbles/service-bubble/http.d.ts.map +1 -1
  53. package/dist/bubbles/service-bubble/http.integration.flow.d.ts +49 -0
  54. package/dist/bubbles/service-bubble/http.integration.flow.d.ts.map +1 -0
  55. package/dist/bubbles/service-bubble/http.integration.flow.js +425 -0
  56. package/dist/bubbles/service-bubble/http.integration.flow.js.map +1 -0
  57. package/dist/bubbles/service-bubble/http.js +40 -4
  58. package/dist/bubbles/service-bubble/http.js.map +1 -1
  59. package/dist/bubbles/service-bubble/resend.d.ts +4 -4
  60. package/dist/bubbles/service-bubble/slack.d.ts +978 -35
  61. package/dist/bubbles/service-bubble/slack.d.ts.map +1 -1
  62. package/dist/bubbles/service-bubble/slack.js +320 -26
  63. package/dist/bubbles/service-bubble/slack.js.map +1 -1
  64. package/dist/bubbles/service-bubble/storage.d.ts +1 -1
  65. package/dist/bubbles/service-bubble/storage.d.ts.map +1 -1
  66. package/dist/bubbles/service-bubble/storage.js +2 -2
  67. package/dist/bubbles/service-bubble/storage.js.map +1 -1
  68. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.d.ts +494 -0
  69. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.d.ts.map +1 -0
  70. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.integration.flow.d.ts +31 -0
  71. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.integration.flow.d.ts.map +1 -0
  72. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.integration.flow.js +100 -0
  73. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.integration.flow.js.map +1 -0
  74. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.js +1301 -0
  75. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.js.map +1 -0
  76. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.schema.d.ts +473 -0
  77. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.schema.d.ts.map +1 -0
  78. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.schema.js +230 -0
  79. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.schema.js.map +1 -0
  80. package/dist/bubbles/tool-bubble/amazon-shopping-tool/index.d.ts +3 -0
  81. package/dist/bubbles/tool-bubble/amazon-shopping-tool/index.d.ts.map +1 -0
  82. package/dist/bubbles/tool-bubble/amazon-shopping-tool/index.js +3 -0
  83. package/dist/bubbles/tool-bubble/amazon-shopping-tool/index.js.map +1 -0
  84. package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.d.ts +8 -8
  85. package/dist/bubbles/tool-bubble/company-enrichment-tool.d.ts +740 -0
  86. package/dist/bubbles/tool-bubble/company-enrichment-tool.d.ts.map +1 -0
  87. package/dist/bubbles/tool-bubble/company-enrichment-tool.js +350 -0
  88. package/dist/bubbles/tool-bubble/company-enrichment-tool.js.map +1 -0
  89. package/dist/bubbles/tool-bubble/get-trigger-detail-tool.d.ts +146 -0
  90. package/dist/bubbles/tool-bubble/get-trigger-detail-tool.d.ts.map +1 -0
  91. package/dist/bubbles/tool-bubble/get-trigger-detail-tool.js +128 -0
  92. package/dist/bubbles/tool-bubble/get-trigger-detail-tool.js.map +1 -0
  93. package/dist/bubbles/tool-bubble/google-maps-tool.d.ts.map +1 -1
  94. package/dist/bubbles/tool-bubble/google-maps-tool.js +1 -0
  95. package/dist/bubbles/tool-bubble/google-maps-tool.js.map +1 -1
  96. package/dist/bubbles/tool-bubble/instagram-tool.d.ts.map +1 -1
  97. package/dist/bubbles/tool-bubble/instagram-tool.js +2 -0
  98. package/dist/bubbles/tool-bubble/instagram-tool.js.map +1 -1
  99. package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +6 -6
  100. package/dist/bubbles/tool-bubble/linkedin-tool.d.ts.map +1 -1
  101. package/dist/bubbles/tool-bubble/linkedin-tool.js +6 -4
  102. package/dist/bubbles/tool-bubble/linkedin-tool.js.map +1 -1
  103. package/dist/bubbles/tool-bubble/research-agent-tool.d.ts.map +1 -1
  104. package/dist/bubbles/tool-bubble/research-agent-tool.js +6 -1
  105. package/dist/bubbles/tool-bubble/research-agent-tool.js.map +1 -1
  106. package/dist/bubbles/tool-bubble/tiktok-tool.d.ts +8 -8
  107. package/dist/bubbles/tool-bubble/twitter-tool.d.ts +10 -10
  108. package/dist/bubbles/tool-bubble/twitter-tool.d.ts.map +1 -1
  109. package/dist/bubbles/tool-bubble/twitter-tool.js +3 -0
  110. package/dist/bubbles/tool-bubble/twitter-tool.js.map +1 -1
  111. package/dist/bubbles/tool-bubble/web-scrape-tool.d.ts +6 -6
  112. package/dist/bubbles/tool-bubble/web-scrape-tool.d.ts.map +1 -1
  113. package/dist/bubbles/tool-bubble/web-scrape-tool.js +4 -1
  114. package/dist/bubbles/tool-bubble/web-scrape-tool.js.map +1 -1
  115. package/dist/bubbles/tool-bubble/youtube-tool.d.ts.map +1 -1
  116. package/dist/bubbles/tool-bubble/youtube-tool.js +3 -0
  117. package/dist/bubbles/tool-bubble/youtube-tool.js.map +1 -1
  118. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +24 -24
  119. package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +8 -8
  120. package/dist/bubbles.json +64 -15
  121. package/dist/index.d.ts +3 -0
  122. package/dist/index.d.ts.map +1 -1
  123. package/dist/index.js +3 -0
  124. package/dist/index.js.map +1 -1
  125. package/dist/logging/BubbleLogger.d.ts +10 -0
  126. package/dist/logging/BubbleLogger.d.ts.map +1 -1
  127. package/dist/logging/BubbleLogger.js +14 -0
  128. package/dist/logging/BubbleLogger.js.map +1 -1
  129. package/dist/logging/StreamingBubbleLogger.d.ts +8 -0
  130. package/dist/logging/StreamingBubbleLogger.d.ts.map +1 -1
  131. package/dist/logging/StreamingBubbleLogger.js +29 -0
  132. package/dist/logging/StreamingBubbleLogger.js.map +1 -1
  133. package/dist/types/available-tools.d.ts +1 -1
  134. package/dist/types/available-tools.d.ts.map +1 -1
  135. package/dist/types/available-tools.js +7 -0
  136. package/dist/types/available-tools.js.map +1 -1
  137. package/dist/types/base-bubble-class.d.ts.map +1 -1
  138. package/dist/types/base-bubble-class.js +0 -8
  139. package/dist/types/base-bubble-class.js.map +1 -1
  140. package/dist/types/tool-bubble-class.d.ts.map +1 -1
  141. package/dist/types/tool-bubble-class.js +58 -8
  142. package/dist/types/tool-bubble-class.js.map +1 -1
  143. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"slack.d.ts","sourceRoot":"","sources":["../../../src/bubbles/service-bubble/slack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAmG3D,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqZrB,CAAC;AAuQH,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAqB;IACjD,MAAM,CAAC,QAAQ,CAAC,gBAAgB,8DAC6B;IAC7D,MAAM,CAAC,QAAQ,CAAC,eAAe,yjBAc7B;IACF,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW;gBAG9B,MAAM,GAAE,CAEF,EACN,OAAO,CAAC,EAAE,aAAa,EACvB,UAAU,CAAC,EAAE,MAAM;cAKL,aAAa,CAC3B,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE;QAAE,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,CAAA;KAAE,CAAC,CAAC;IAsD/D;;;;OAIG;YACW,gBAAgB;YAyChB,WAAW;YAsDX,YAAY;YA4CZ,cAAc;YAoCd,WAAW;YAiCX,SAAS;YA2CT,sBAAsB;YAmDtB,gBAAgB;YAiDhB,aAAa;YAkCb,aAAa;YAyBb,WAAW;YAwBX,cAAc;YAwBd,UAAU;IA4JxB,SAAS,CAAC,gBAAgB,IAAI,MAAM,GAAG,SAAS;YAclC,gBAAgB;CAuF/B"}
1
+ {"version":3,"file":"slack.d.ts","sourceRoot":"","sources":["../../../src/bubbles/service-bubble/slack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAmG3D,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAofrB,CAAC;AAuQH,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiUrB,CAAC;AAEH,KAAK,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC;AACtD,KAAK,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAIrD,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,WAAW,CAAC,WAAW,CAAC,IAAI,OAAO,CAC5E,WAAW,EACX;IAAE,SAAS,EAAE,CAAC,CAAA;CAAE,CACjB,CAAC;AAkBF,qBAAa,WAAW,CACtB,CAAC,SAAS,WAAW,GAAG,WAAW,CACnC,SAAQ,aAAa,CACrB,CAAC,EACD,OAAO,CAAC,WAAW,EAAE;IAAE,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,CAAA;CAAE,CAAC,CACpD;IACc,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAQ/C,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAG,SAAS,CAAU;IAC1C,MAAM,CAAC,QAAQ,CAAC,OAAO,WAAW;IAClC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;IAC7C,MAAM,CAAC,QAAQ,CAAC,UAAU,WAAW;IACrC,MAAM,CAAC,QAAQ,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAqB;IAC3C,MAAM,CAAC,QAAQ,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAqB;IACjD,MAAM,CAAC,QAAQ,CAAC,gBAAgB,8DAC6B;IAC7D,MAAM,CAAC,QAAQ,CAAC,eAAe,6sMAwI7B;IACF,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW;gBAG9B,MAAM,GAAE,CAEF,EACN,OAAO,CAAC,EAAE,aAAa,EACvB,UAAU,CAAC,EAAE,MAAM;cAKL,aAAa,CAC3B,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE;QAAE,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,CAAA;KAAE,CAAC,CAAC;IA0D/D;;;;OAIG;YACW,gBAAgB;YAgDhB,WAAW;YAsDX,YAAY;YA4CZ,cAAc;YAoCd,WAAW;YAiCX,SAAS;YA2CT,sBAAsB;YAmDtB,gBAAgB;YAiDhB,aAAa;YAkCb,aAAa;YAyBb,WAAW;YAwBX,cAAc;YAwBd,UAAU;YA4JV,WAAW;YA6BX,eAAe;IA8C7B;;;OAGG;YACW,kBAAkB;IAsBhC,SAAS,CAAC,gBAAgB,IAAI,MAAM,GAAG,SAAS;YAclC,gBAAgB;CAuF/B"}
@@ -92,11 +92,11 @@ const SlackParamsSchema = z.discriminatedUnion('operation', [
92
92
  z.object({
93
93
  operation: z
94
94
  .literal('send_message')
95
- .describe('Send a message to a Slack channel or DM'),
95
+ .describe('Send a message to a Slack channel or DM. Required scopes: chat:write (add chat:write.public for public channels bot has not joined, add im:write to send DMs to users)'),
96
96
  channel: z
97
97
  .string()
98
98
  .min(1, 'Channel ID or name is required')
99
- .describe('Channel ID (e.g., C1234567890), channel name (e.g., general or #general), or user ID for DM'),
99
+ .describe('Channel ID (e.g., C1234567890), channel name (e.g., general or #general), or user ID for DM (e.g., U1234567890 - requires im:write scope)'),
100
100
  text: z
101
101
  .string()
102
102
  .min(1, 'Message text is required')
@@ -150,7 +150,7 @@ const SlackParamsSchema = z.discriminatedUnion('operation', [
150
150
  z.object({
151
151
  operation: z
152
152
  .literal('list_channels')
153
- .describe('List all channels in the Slack workspace'),
153
+ .describe('List all channels in the Slack workspace. Required scopes: channels:read (public), groups:read (private), im:read (DMs), mpim:read (group DMs)'),
154
154
  types: z
155
155
  .array(ChannelTypes)
156
156
  .optional()
@@ -181,7 +181,7 @@ const SlackParamsSchema = z.discriminatedUnion('operation', [
181
181
  z.object({
182
182
  operation: z
183
183
  .literal('get_channel_info')
184
- .describe('Get detailed information about a specific channel'),
184
+ .describe('Get detailed information about a specific channel. Required scopes: channels:read (public), groups:read (private), im:read (DMs), mpim:read (group DMs)'),
185
185
  channel: z
186
186
  .string()
187
187
  .min(1, 'Channel ID or name is required')
@@ -200,7 +200,7 @@ const SlackParamsSchema = z.discriminatedUnion('operation', [
200
200
  z.object({
201
201
  operation: z
202
202
  .literal('get_user_info')
203
- .describe('Get detailed information about a specific user'),
203
+ .describe('Get detailed information about a specific user. Required scopes: users:read (add users:read.email to access email field)'),
204
204
  user: z
205
205
  .string()
206
206
  .min(1, 'User ID is required')
@@ -219,7 +219,7 @@ const SlackParamsSchema = z.discriminatedUnion('operation', [
219
219
  z.object({
220
220
  operation: z
221
221
  .literal('list_users')
222
- .describe('List all users in the Slack workspace'),
222
+ .describe('List all users in the Slack workspace. Required scopes: users:read (add users:read.email to access email field)'),
223
223
  limit: z
224
224
  .number()
225
225
  .min(1)
@@ -245,7 +245,7 @@ const SlackParamsSchema = z.discriminatedUnion('operation', [
245
245
  z.object({
246
246
  operation: z
247
247
  .literal('get_conversation_history')
248
- .describe('Retrieve message history from a channel or direct message'),
248
+ .describe('Retrieve message history from a channel or direct message. Required scopes: channels:history (public), groups:history (private), im:history (DMs), mpim:history (group DMs)'),
249
249
  channel: z
250
250
  .string()
251
251
  .min(1, 'Channel ID or name is required')
@@ -283,7 +283,7 @@ const SlackParamsSchema = z.discriminatedUnion('operation', [
283
283
  z.object({
284
284
  operation: z
285
285
  .literal('get_thread_replies')
286
- .describe('Retrieve all replies to a thread in a channel'),
286
+ .describe('Retrieve all replies to a thread in a channel. Required scopes: channels:history (public), groups:history (private), im:history (DMs), mpim:history (group DMs)'),
287
287
  channel: z
288
288
  .string()
289
289
  .min(1, 'Channel ID is required')
@@ -325,7 +325,7 @@ const SlackParamsSchema = z.discriminatedUnion('operation', [
325
325
  z.object({
326
326
  operation: z
327
327
  .literal('update_message')
328
- .describe('Update an existing message in a channel'),
328
+ .describe('Update an existing message in a channel. Required scopes: chat:write'),
329
329
  channel: z
330
330
  .string()
331
331
  .min(1, 'Channel ID or name is required')
@@ -352,7 +352,7 @@ const SlackParamsSchema = z.discriminatedUnion('operation', [
352
352
  z.object({
353
353
  operation: z
354
354
  .literal('delete_message')
355
- .describe('Delete a message from a channel'),
355
+ .describe('Delete a message from a channel. Required scopes: chat:write. Note: Bot tokens can only delete messages posted by the bot; user tokens can delete any message the user has permission to delete'),
356
356
  channel: z
357
357
  .string()
358
358
  .min(1, 'Channel ID or name is required')
@@ -370,7 +370,7 @@ const SlackParamsSchema = z.discriminatedUnion('operation', [
370
370
  z.object({
371
371
  operation: z
372
372
  .literal('add_reaction')
373
- .describe('Add an emoji reaction to a message'),
373
+ .describe('Add an emoji reaction to a message. Required scopes: reactions:write'),
374
374
  name: z
375
375
  .string()
376
376
  .min(1, 'Emoji name is required')
@@ -392,7 +392,7 @@ const SlackParamsSchema = z.discriminatedUnion('operation', [
392
392
  z.object({
393
393
  operation: z
394
394
  .literal('remove_reaction')
395
- .describe('Remove an emoji reaction from a message'),
395
+ .describe('Remove an emoji reaction from a message. Required scopes: reactions:write'),
396
396
  name: z
397
397
  .string()
398
398
  .min(1, 'Emoji name is required')
@@ -410,11 +410,25 @@ const SlackParamsSchema = z.discriminatedUnion('operation', [
410
410
  .optional()
411
411
  .describe('Object mapping credential types to values (injected at runtime)'),
412
412
  }),
413
+ // Join channel operation
414
+ z.object({
415
+ operation: z
416
+ .literal('join_channel')
417
+ .describe('Join a public Slack channel. Required scopes: channels:join (bot token) or channels:write (user token)'),
418
+ channel: z
419
+ .string()
420
+ .min(1, 'Channel ID or name is required')
421
+ .describe('Channel ID (e.g., C1234567890) or channel name (e.g., general or #general) to join'),
422
+ credentials: z
423
+ .record(z.nativeEnum(CredentialType), z.string())
424
+ .optional()
425
+ .describe('Object mapping credential types to values (injected at runtime)'),
426
+ }),
413
427
  // Upload file operation
414
428
  z.object({
415
429
  operation: z
416
430
  .literal('upload_file')
417
- .describe('Upload a file to a Slack channel'),
431
+ .describe('Upload a file to a Slack channel. Required scopes: files:write'),
418
432
  channel: z
419
433
  .string()
420
434
  .min(1, 'Channel ID or name is required')
@@ -441,6 +455,47 @@ const SlackParamsSchema = z.discriminatedUnion('operation', [
441
455
  .optional()
442
456
  .describe('Object mapping credential types to values (injected at runtime)'),
443
457
  }),
458
+ // Schedule message operation
459
+ z.object({
460
+ operation: z
461
+ .literal('schedule_message')
462
+ .describe('Schedule a message to be sent at a future time. Required scopes: chat:write. Max 120 days in advance.'),
463
+ channel: z
464
+ .string()
465
+ .min(1, 'Channel ID or name is required')
466
+ .describe('Channel ID (e.g., C1234567890), channel name (e.g., general or #general), or user ID for DM'),
467
+ text: z
468
+ .string()
469
+ .min(1, 'Message text is required')
470
+ .describe('Message text content'),
471
+ post_at: z
472
+ .number()
473
+ .int()
474
+ .positive()
475
+ .describe('Unix timestamp (seconds) for when to send the message. Must be within 120 days from now.'),
476
+ thread_ts: z
477
+ .string()
478
+ .optional()
479
+ .describe('Timestamp of parent message to reply in thread'),
480
+ blocks: z
481
+ .array(BlockElementSchema)
482
+ .optional()
483
+ .describe('Block Kit structured message blocks'),
484
+ unfurl_links: z
485
+ .boolean()
486
+ .optional()
487
+ .default(true)
488
+ .describe('Enable automatic link unfurling'),
489
+ unfurl_media: z
490
+ .boolean()
491
+ .optional()
492
+ .default(true)
493
+ .describe('Enable automatic media unfurling'),
494
+ credentials: z
495
+ .record(z.nativeEnum(CredentialType), z.string())
496
+ .optional()
497
+ .describe('Object mapping credential types to values (injected at runtime)'),
498
+ }),
444
499
  ]);
445
500
  // Define Slack API response schemas for type safety
446
501
  const SlackChannelSchema = z
@@ -863,6 +918,19 @@ const SlackResultSchema = z.discriminatedUnion('operation', [
863
918
  error: z.string().describe('Error message if operation failed'),
864
919
  success: z.boolean().describe('Whether the operation was successful'),
865
920
  }),
921
+ z.object({
922
+ operation: z
923
+ .literal('join_channel')
924
+ .describe('Join a public Slack channel'),
925
+ ok: z.boolean().describe('Whether the Slack API call was successful'),
926
+ channel: SlackChannelSchema.optional().describe('Channel information object after joining'),
927
+ already_in_channel: z
928
+ .boolean()
929
+ .optional()
930
+ .describe('Whether the bot was already a member of the channel'),
931
+ error: z.string().describe('Error message if operation failed'),
932
+ success: z.boolean().describe('Whether the operation was successful'),
933
+ }),
866
934
  z.object({
867
935
  operation: z
868
936
  .literal('upload_file')
@@ -956,6 +1024,27 @@ const SlackResultSchema = z.discriminatedUnion('operation', [
956
1024
  error: z.string().describe('Error message if operation failed'),
957
1025
  success: z.boolean().describe('Whether the operation was successful'),
958
1026
  }),
1027
+ // Schedule message result
1028
+ z.object({
1029
+ operation: z
1030
+ .literal('schedule_message')
1031
+ .describe('Schedule a message to be sent at a future time'),
1032
+ ok: z.boolean().describe('Whether the Slack API call was successful'),
1033
+ channel: z
1034
+ .string()
1035
+ .optional()
1036
+ .describe('Channel ID where message will be posted'),
1037
+ scheduled_message_id: z
1038
+ .string()
1039
+ .optional()
1040
+ .describe('Unique identifier for the scheduled message'),
1041
+ post_at: z
1042
+ .number()
1043
+ .optional()
1044
+ .describe('Unix timestamp when message will be posted'),
1045
+ error: z.string().describe('Error message if operation failed'),
1046
+ success: z.boolean().describe('Whether the operation was successful'),
1047
+ }),
959
1048
  ]);
960
1049
  export class SlackBubble extends ServiceBubble {
961
1050
  async testCredential() {
@@ -974,19 +1063,141 @@ export class SlackBubble extends ServiceBubble {
974
1063
  static resultSchema = SlackResultSchema;
975
1064
  static shortDescription = 'Slack integration for messaging and workspace management';
976
1065
  static longDescription = `
977
- Comprehensive Slack integration bubble for managing messages, channels, and users.
978
- Use cases:
979
- - Send messages to channels or direct messages
980
- - Retrieve channel information and list channels
981
- - Get user information and list workspace members
982
- - Manage conversation history and message operations
983
- - Add/remove reactions and manage message interactions
984
-
985
- Security Features:
986
- - Token-based authentication
987
- - Parameter validation and sanitization
988
- - Rate limiting awareness
989
- - Comprehensive error handling
1066
+ Comprehensive Slack integration for messaging and workspace management.
1067
+ Supports both Bot tokens (xoxb-) and User tokens (xoxp-).
1068
+
1069
+ ## Token Types: Bot vs User
1070
+
1071
+ | Aspect | Bot Token (xoxb-) | User Token (xoxp-) |
1072
+ |--------|-------------------|-------------------|
1073
+ | Identity | Acts as the bot | Acts as the authorizing user |
1074
+ | Channel access | Only channels bot is added to | All channels user can access |
1075
+ | Message deletion | Can only delete bot's own messages | Can delete any message user has permission for |
1076
+ | Message posting | Messages appear from the bot | Messages appear from the user |
1077
+ | Scope location | "Bot Token Scopes" section | "User Token Scopes" section |
1078
+
1079
+ Choose **Bot token** for: Automations, notifications, bots that act independently
1080
+ Choose **User token** for: Acting on behalf of a user, accessing user's private channels
1081
+
1082
+ ## Required OAuth Scopes by Operation
1083
+
1084
+ Configure in your Slack App: OAuth & Permissions page
1085
+ Official docs: https://docs.slack.dev/reference/scopes/
1086
+
1087
+ ### Messaging Operations
1088
+ | Operation | Bot Token Scope | User Token Scope |
1089
+ |------------------|-----------------|------------------|
1090
+ | send_message | chat:write (+ chat:write.public for any public channel) | chat:write |
1091
+ | send_message (to user DM) | chat:write + im:write | chat:write + im:write |
1092
+ | schedule_message | chat:write | chat:write |
1093
+ | update_message | chat:write | chat:write |
1094
+ | delete_message | chat:write (own messages only) | chat:write (any deletable) |
1095
+
1096
+ **Note on DMs**: When you pass a user ID (e.g., U12345678) as the channel, SlackBubble automatically opens a DM conversation with that user. This requires the \`im:write\` scope in addition to \`chat:write\`.
1097
+
1098
+ ### Channel & Conversation Operations
1099
+ | Operation | Bot Token Scope | User Token Scope |
1100
+ |--------------------------|-----------------|------------------|
1101
+ | list_channels | channels:read, groups:read | channels:read, groups:read |
1102
+ | get_channel_info | channels:read OR groups:read | channels:read OR groups:read |
1103
+ | join_channel | channels:join | channels:write |
1104
+ | get_conversation_history | channels:history, groups:history | channels:history, groups:history |
1105
+ | get_thread_replies | channels:history, groups:history | channels:history, groups:history |
1106
+
1107
+ ### User Operations
1108
+ | Operation | Bot Token Scope | User Token Scope |
1109
+ |---------------|-----------------|------------------|
1110
+ | list_users | users:read | users:read |
1111
+ | get_user_info | users:read | users:read |
1112
+ | (email field) | + users:read.email | + users:read.email |
1113
+
1114
+ ### Reaction & File Operations
1115
+ | Operation | Bot Token Scope | User Token Scope |
1116
+ |-----------------|-----------------|------------------|
1117
+ | add_reaction | reactions:write | reactions:write |
1118
+ | remove_reaction | reactions:write | reactions:write |
1119
+ | upload_file | files:write | files:write |
1120
+
1121
+ ### Direct Message (DM) Scopes
1122
+ For operations on DMs and group DMs, add these additional scopes:
1123
+ | Scope | Purpose |
1124
+ |-------|---------|
1125
+ | im:read | Access direct message channel info |
1126
+ | im:write | Start direct message conversations |
1127
+ | im:history | Read direct message history |
1128
+ | mpim:read | Access group DM channel info |
1129
+ | mpim:write | Start group DM conversations |
1130
+ | mpim:history | Read group DM history |
1131
+
1132
+ ## Quick Setup Guide
1133
+
1134
+ ### For Bot Tokens (xoxb-)
1135
+ 1. Go to https://api.slack.com/apps → select your app
1136
+ 2. Navigate to "OAuth & Permissions"
1137
+ 3. Scroll to "Bot Token Scopes" section → add required scopes
1138
+ 4. Click "Install to Workspace" (or "Reinstall" if updating)
1139
+ 5. Copy "Bot User OAuth Token" (starts with xoxb-)
1140
+
1141
+ ### For User Tokens (xoxp-)
1142
+ 1. Go to https://api.slack.com/apps → select your app
1143
+ 2. Navigate to "OAuth & Permissions"
1144
+ 3. Scroll to "User Token Scopes" section → add required scopes
1145
+ 4. Click "Install to Workspace" (or "Reinstall" if updating)
1146
+ 5. Copy "User OAuth Token" (starts with xoxp-)
1147
+
1148
+ ## Minimum Recommended Scopes
1149
+ For Bot Token: chat:write, channels:read, groups:read, users:read, channels:history
1150
+ For User Token: chat:write, channels:read, groups:read, users:read, channels:history, channels:write
1151
+
1152
+ ## Setting Up Slack Triggers (Event Subscriptions)
1153
+
1154
+ To trigger BubbleFlow workflows from Slack events (like @mentions), you need to configure Event Subscriptions.
1155
+ Official docs: https://docs.slack.dev/apis/events-api/
1156
+
1157
+ ### Supported Trigger Events
1158
+ | Trigger Type | Slack Event | Required Scope |
1159
+ |--------------|-------------|----------------|
1160
+ | slack/bot_mentioned | app_mention | app_mentions:read |
1161
+
1162
+ ### Step-by-Step Event Subscriptions Setup
1163
+
1164
+ **Step 1: Get your webhook URL from Bubble Lab**
1165
+ - In Bubble Lab, create a flow with a Slack trigger (e.g., slack/bot_mentioned)
1166
+ - Copy the webhook URL provided (format: https://api.bubblelab.ai/webhook/{userId}/{path})
1167
+
1168
+ **Step 2: Enable Event Subscriptions in Slack**
1169
+ 1. Go to https://api.slack.com/apps → select your app
1170
+ 2. Click "Event Subscriptions" in the left sidebar
1171
+ 3. Toggle "Enable Events" to ON
1172
+
1173
+ **Step 3: Configure Request URL**
1174
+ 1. Paste your Bubble Lab webhook URL in the "Request URL" field
1175
+ 2. Slack will send a verification challenge to your URL
1176
+ 3. Wait for the green "Verified" checkmark (Bubble Lab handles verification automatically)
1177
+ 4. If verification fails, click "Retry" (your server may need a moment to respond)
1178
+
1179
+ **Step 4: Subscribe to Bot Events**
1180
+ 1. Scroll down to "Subscribe to bot events"
1181
+ 2. Click "Add Bot User Event"
1182
+ 3. Add the events you need:
1183
+ - For @mentions: add "app_mention"
1184
+ 4. Click "Save Changes"
1185
+
1186
+ **Step 5: Add Required OAuth Scopes**
1187
+ 1. Go to "OAuth & Permissions" in the sidebar
1188
+ 2. Under "Bot Token Scopes", add:
1189
+ - app_mentions:read (for app_mention events)
1190
+ 3. Click "Save"
1191
+
1192
+ **Step 6: Reinstall Your App**
1193
+ 1. Go to "Install App" in the sidebar
1194
+ 2. Click "Reinstall to Workspace"
1195
+ 3. Authorize the new permissions
1196
+
1197
+ ### Troubleshooting Event Subscriptions
1198
+ - **Verification failed**: Ensure your webhook URL is correct and accessible
1199
+ - **Not receiving events**: Check that you added the correct scopes AND reinstalled the app
1200
+ - **Bot not responding**: Make sure the bot is invited to the channel where it's mentioned
990
1201
  `;
991
1202
  static alias = 'slack';
992
1203
  constructor(params = {
@@ -1025,6 +1236,10 @@ export class SlackBubble extends ServiceBubble {
1025
1236
  return await this.removeReaction(this.params);
1026
1237
  case 'upload_file':
1027
1238
  return await this.uploadFile(this.params);
1239
+ case 'join_channel':
1240
+ return await this.joinChannel(this.params);
1241
+ case 'schedule_message':
1242
+ return await this.scheduleMessage(this.params);
1028
1243
  default:
1029
1244
  throw new Error(`Unsupported operation: ${operation}`);
1030
1245
  }
@@ -1054,6 +1269,12 @@ export class SlackBubble extends ServiceBubble {
1054
1269
  if (/^[CGD][A-Z0-9]+$/i.test(channelInput)) {
1055
1270
  return channelInput;
1056
1271
  }
1272
+ // Check if input is a user ID (starts with U or W for enterprise users)
1273
+ // If so, open a DM conversation with them to get the DM channel ID
1274
+ if (/^[UW][A-Z0-9]+$/i.test(channelInput)) {
1275
+ const dmChannel = await this.openDmConversation(channelInput);
1276
+ return dmChannel;
1277
+ }
1057
1278
  // Remove # prefix if present
1058
1279
  const channelName = channelInput.replace(/^#/, '');
1059
1280
  // Get all channels to find the matching name
@@ -1453,6 +1674,79 @@ export class SlackBubble extends ServiceBubble {
1453
1674
  };
1454
1675
  }
1455
1676
  }
1677
+ async joinChannel(params) {
1678
+ const { channel } = params;
1679
+ // Resolve channel name to ID if needed
1680
+ const resolvedChannel = await this.resolveChannelId(channel);
1681
+ const body = {
1682
+ channel: resolvedChannel,
1683
+ };
1684
+ const response = await this.makeSlackApiCall('conversations.join', body);
1685
+ return {
1686
+ operation: 'join_channel',
1687
+ ok: response.ok,
1688
+ channel: response.ok && response.channel
1689
+ ? SlackChannelSchema.parse(response.channel)
1690
+ : undefined,
1691
+ already_in_channel: response.ok
1692
+ ? response.already_in_channel
1693
+ : undefined,
1694
+ error: !response.ok ? JSON.stringify(response, null, 2) : '',
1695
+ success: response.ok,
1696
+ };
1697
+ }
1698
+ async scheduleMessage(params) {
1699
+ const { channel, text, post_at, thread_ts, blocks, unfurl_links, unfurl_media, } = params;
1700
+ // Resolve channel name to ID if needed
1701
+ const resolvedChannel = await this.resolveChannelId(channel);
1702
+ const body = {
1703
+ channel: resolvedChannel,
1704
+ text,
1705
+ post_at,
1706
+ };
1707
+ if (thread_ts)
1708
+ body.thread_ts = thread_ts;
1709
+ if (blocks)
1710
+ body.blocks = JSON.stringify(blocks);
1711
+ if (unfurl_links !== undefined)
1712
+ body.unfurl_links = unfurl_links;
1713
+ if (unfurl_media !== undefined)
1714
+ body.unfurl_media = unfurl_media;
1715
+ const response = await this.makeSlackApiCall('chat.scheduleMessage', body);
1716
+ return {
1717
+ operation: 'schedule_message',
1718
+ ok: response.ok,
1719
+ channel: response.ok
1720
+ ? response.channel
1721
+ : undefined,
1722
+ scheduled_message_id: response.ok
1723
+ ? response.scheduled_message_id
1724
+ : undefined,
1725
+ post_at: response.ok
1726
+ ? response.post_at
1727
+ : undefined,
1728
+ error: !response.ok ? JSON.stringify(response, null, 2) : '',
1729
+ success: response.ok,
1730
+ };
1731
+ }
1732
+ /**
1733
+ * Opens a DM conversation with a user and returns the DM channel ID.
1734
+ * Required scope: im:write (for bot tokens) or im:write (for user tokens)
1735
+ */
1736
+ async openDmConversation(userId) {
1737
+ const response = await this.makeSlackApiCall('conversations.open', {
1738
+ users: userId,
1739
+ });
1740
+ if (!response.ok) {
1741
+ throw new Error(`Failed to open DM with user ${userId}: ${response.error}. ` +
1742
+ `Make sure you have the 'im:write' scope enabled in your Slack app.`);
1743
+ }
1744
+ const channel = response.channel;
1745
+ if (!channel?.id) {
1746
+ throw new Error(`Failed to get DM channel ID for user ${userId}. Unexpected API response.`);
1747
+ }
1748
+ return channel.id;
1749
+ }
1456
1750
  chooseCredential() {
1457
1751
  const { credentials } = this.params;
1458
1752
  // If no credentials were injected, return undefined