@botpress/adk-cli 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (535) hide show
  1. package/dist/bp-cli/bin.js +2 -0
  2. package/dist/bp-cli/dist/api/bot-body.d.ts +5 -0
  3. package/dist/bp-cli/dist/api/bot-body.js +113 -0
  4. package/dist/bp-cli/dist/api/bot-body.js.map +7 -0
  5. package/dist/bp-cli/dist/api/client.d.ts +50 -0
  6. package/dist/bp-cli/dist/api/client.js +233 -0
  7. package/dist/bp-cli/dist/api/client.js.map +7 -0
  8. package/dist/bp-cli/dist/api/index.d.ts +6 -0
  9. package/dist/bp-cli/dist/api/index.js +33 -0
  10. package/dist/bp-cli/dist/api/index.js.map +7 -0
  11. package/dist/bp-cli/dist/api/integration-body.d.ts +5 -0
  12. package/dist/bp-cli/dist/api/integration-body.js +188 -0
  13. package/dist/bp-cli/dist/api/integration-body.js.map +7 -0
  14. package/dist/bp-cli/dist/api/interface-body.d.ts +7 -0
  15. package/dist/bp-cli/dist/api/interface-body.js +112 -0
  16. package/dist/bp-cli/dist/api/interface-body.js.map +7 -0
  17. package/dist/bp-cli/dist/api/paging.d.ts +9 -0
  18. package/dist/bp-cli/dist/api/paging.js +42 -0
  19. package/dist/bp-cli/dist/api/paging.js.map +7 -0
  20. package/dist/bp-cli/dist/api/plugin-body.d.ts +5 -0
  21. package/dist/bp-cli/dist/api/plugin-body.js +122 -0
  22. package/dist/bp-cli/dist/api/plugin-body.js.map +7 -0
  23. package/dist/bp-cli/dist/api/retry.d.ts +2 -0
  24. package/dist/bp-cli/dist/api/retry.js +45 -0
  25. package/dist/bp-cli/dist/api/retry.js.map +7 -0
  26. package/dist/bp-cli/dist/api/types.d.ts +62 -0
  27. package/dist/bp-cli/dist/api/types.js +17 -0
  28. package/dist/bp-cli/dist/api/types.js.map +7 -0
  29. package/dist/bp-cli/dist/chat/index.d.ts +25 -0
  30. package/dist/bp-cli/dist/chat/index.js +217 -0
  31. package/dist/bp-cli/dist/chat/index.js.map +7 -0
  32. package/dist/bp-cli/dist/cli.d.ts +1 -0
  33. package/dist/bp-cli/dist/cli.js +51 -0
  34. package/dist/bp-cli/dist/cli.js.map +7 -0
  35. package/dist/bp-cli/dist/code-generation/bot-implementation/bot-implementation.d.ts +8 -0
  36. package/dist/bp-cli/dist/code-generation/bot-implementation/bot-implementation.js +128 -0
  37. package/dist/bp-cli/dist/code-generation/bot-implementation/bot-implementation.js.map +7 -0
  38. package/dist/bp-cli/dist/code-generation/bot-implementation/bot-plugins/index.d.ts +7 -0
  39. package/dist/bp-cli/dist/code-generation/bot-implementation/bot-plugins/index.js +80 -0
  40. package/dist/bp-cli/dist/code-generation/bot-implementation/bot-plugins/index.js.map +7 -0
  41. package/dist/bp-cli/dist/code-generation/bot-implementation/bot-plugins/plugin-module.d.ts +13 -0
  42. package/dist/bp-cli/dist/code-generation/bot-implementation/bot-plugins/plugin-module.js +132 -0
  43. package/dist/bp-cli/dist/code-generation/bot-implementation/bot-plugins/plugin-module.js.map +7 -0
  44. package/dist/bp-cli/dist/code-generation/bot-implementation/bot-typings/actions-module.d.ts +21 -0
  45. package/dist/bp-cli/dist/code-generation/bot-implementation/bot-typings/actions-module.js +88 -0
  46. package/dist/bp-cli/dist/code-generation/bot-implementation/bot-typings/actions-module.js.map +7 -0
  47. package/dist/bp-cli/dist/code-generation/bot-implementation/bot-typings/events-module.d.ts +10 -0
  48. package/dist/bp-cli/dist/code-generation/bot-implementation/bot-typings/events-module.js +63 -0
  49. package/dist/bp-cli/dist/code-generation/bot-implementation/bot-typings/events-module.js.map +7 -0
  50. package/dist/bp-cli/dist/code-generation/bot-implementation/bot-typings/index.d.ts +7 -0
  51. package/dist/bp-cli/dist/code-generation/bot-implementation/bot-typings/index.js +127 -0
  52. package/dist/bp-cli/dist/code-generation/bot-implementation/bot-typings/index.js.map +7 -0
  53. package/dist/bp-cli/dist/code-generation/bot-implementation/bot-typings/states-module.d.ts +17 -0
  54. package/dist/bp-cli/dist/code-generation/bot-implementation/bot-typings/states-module.js +94 -0
  55. package/dist/bp-cli/dist/code-generation/bot-implementation/bot-typings/states-module.js.map +7 -0
  56. package/dist/bp-cli/dist/code-generation/bot-implementation/bot-typings/tables-module.d.ts +10 -0
  57. package/dist/bp-cli/dist/code-generation/bot-implementation/bot-typings/tables-module.js +64 -0
  58. package/dist/bp-cli/dist/code-generation/bot-implementation/bot-typings/tables-module.js.map +7 -0
  59. package/dist/bp-cli/dist/code-generation/bot-implementation/bot-typings/workflows-module.d.ts +27 -0
  60. package/dist/bp-cli/dist/code-generation/bot-implementation/bot-typings/workflows-module.js +104 -0
  61. package/dist/bp-cli/dist/code-generation/bot-implementation/bot-typings/workflows-module.js.map +7 -0
  62. package/dist/bp-cli/dist/code-generation/bot-implementation/index.d.ts +3 -0
  63. package/dist/bp-cli/dist/code-generation/bot-implementation/index.js +66 -0
  64. package/dist/bp-cli/dist/code-generation/bot-implementation/index.js.map +7 -0
  65. package/dist/bp-cli/dist/code-generation/consts.d.ts +5 -0
  66. package/dist/bp-cli/dist/code-generation/consts.js +46 -0
  67. package/dist/bp-cli/dist/code-generation/consts.js.map +7 -0
  68. package/dist/bp-cli/dist/code-generation/generators.d.ts +10 -0
  69. package/dist/bp-cli/dist/code-generation/generators.js +94 -0
  70. package/dist/bp-cli/dist/code-generation/generators.js.map +7 -0
  71. package/dist/bp-cli/dist/code-generation/index.d.ts +8 -0
  72. package/dist/bp-cli/dist/code-generation/index.js +50 -0
  73. package/dist/bp-cli/dist/code-generation/index.js.map +7 -0
  74. package/dist/bp-cli/dist/code-generation/integration-implementation/index.d.ts +3 -0
  75. package/dist/bp-cli/dist/code-generation/integration-implementation/index.js +70 -0
  76. package/dist/bp-cli/dist/code-generation/integration-implementation/index.js.map +7 -0
  77. package/dist/bp-cli/dist/code-generation/integration-implementation/integration-implementation.d.ts +7 -0
  78. package/dist/bp-cli/dist/code-generation/integration-implementation/integration-implementation.js +114 -0
  79. package/dist/bp-cli/dist/code-generation/integration-implementation/integration-implementation.js.map +7 -0
  80. package/dist/bp-cli/dist/code-generation/integration-implementation/integration-secret.d.ts +8 -0
  81. package/dist/bp-cli/dist/code-generation/integration-implementation/integration-secret.js +78 -0
  82. package/dist/bp-cli/dist/code-generation/integration-implementation/integration-secret.js.map +7 -0
  83. package/dist/bp-cli/dist/code-generation/integration-implementation/integration-typings/actions-module.d.ts +21 -0
  84. package/dist/bp-cli/dist/code-generation/integration-implementation/integration-typings/actions-module.js +88 -0
  85. package/dist/bp-cli/dist/code-generation/integration-implementation/integration-typings/actions-module.js.map +7 -0
  86. package/dist/bp-cli/dist/code-generation/integration-implementation/integration-typings/channels-module.d.ts +5 -0
  87. package/dist/bp-cli/dist/code-generation/integration-implementation/integration-typings/channels-module.js +107 -0
  88. package/dist/bp-cli/dist/code-generation/integration-implementation/integration-typings/channels-module.js.map +7 -0
  89. package/dist/bp-cli/dist/code-generation/integration-implementation/integration-typings/configuration-module.d.ts +7 -0
  90. package/dist/bp-cli/dist/code-generation/integration-implementation/integration-typings/configuration-module.js +62 -0
  91. package/dist/bp-cli/dist/code-generation/integration-implementation/integration-typings/configuration-module.js.map +7 -0
  92. package/dist/bp-cli/dist/code-generation/integration-implementation/integration-typings/configurations-module.d.ts +10 -0
  93. package/dist/bp-cli/dist/code-generation/integration-implementation/integration-typings/configurations-module.js +70 -0
  94. package/dist/bp-cli/dist/code-generation/integration-implementation/integration-typings/configurations-module.js.map +7 -0
  95. package/dist/bp-cli/dist/code-generation/integration-implementation/integration-typings/entities-module.d.ts +10 -0
  96. package/dist/bp-cli/dist/code-generation/integration-implementation/integration-typings/entities-module.js +63 -0
  97. package/dist/bp-cli/dist/code-generation/integration-implementation/integration-typings/entities-module.js.map +7 -0
  98. package/dist/bp-cli/dist/code-generation/integration-implementation/integration-typings/events-module.d.ts +10 -0
  99. package/dist/bp-cli/dist/code-generation/integration-implementation/integration-typings/events-module.js +63 -0
  100. package/dist/bp-cli/dist/code-generation/integration-implementation/integration-typings/events-module.js.map +7 -0
  101. package/dist/bp-cli/dist/code-generation/integration-implementation/integration-typings/index.d.ts +8 -0
  102. package/dist/bp-cli/dist/code-generation/integration-implementation/integration-typings/index.js +128 -0
  103. package/dist/bp-cli/dist/code-generation/integration-implementation/integration-typings/index.js.map +7 -0
  104. package/dist/bp-cli/dist/code-generation/integration-implementation/integration-typings/states-module.d.ts +17 -0
  105. package/dist/bp-cli/dist/code-generation/integration-implementation/integration-typings/states-module.js +94 -0
  106. package/dist/bp-cli/dist/code-generation/integration-implementation/integration-typings/states-module.js.map +7 -0
  107. package/dist/bp-cli/dist/code-generation/integration-package/index.d.ts +2 -0
  108. package/dist/bp-cli/dist/code-generation/integration-package/index.js +77 -0
  109. package/dist/bp-cli/dist/code-generation/integration-package/index.js.map +7 -0
  110. package/dist/bp-cli/dist/code-generation/integration-package/integration-package-definition/actions-module.d.ts +21 -0
  111. package/dist/bp-cli/dist/code-generation/integration-package/integration-package-definition/actions-module.js +100 -0
  112. package/dist/bp-cli/dist/code-generation/integration-package/integration-package-definition/actions-module.js.map +7 -0
  113. package/dist/bp-cli/dist/code-generation/integration-package/integration-package-definition/channels-module.d.ts +5 -0
  114. package/dist/bp-cli/dist/code-generation/integration-package/integration-package-definition/channels-module.js +117 -0
  115. package/dist/bp-cli/dist/code-generation/integration-package/integration-package-definition/channels-module.js.map +7 -0
  116. package/dist/bp-cli/dist/code-generation/integration-package/integration-package-definition/configuration-module.d.ts +7 -0
  117. package/dist/bp-cli/dist/code-generation/integration-package/integration-package-definition/configuration-module.js +65 -0
  118. package/dist/bp-cli/dist/code-generation/integration-package/integration-package-definition/configuration-module.js.map +7 -0
  119. package/dist/bp-cli/dist/code-generation/integration-package/integration-package-definition/configurations-module.d.ts +10 -0
  120. package/dist/bp-cli/dist/code-generation/integration-package/integration-package-definition/configurations-module.js +75 -0
  121. package/dist/bp-cli/dist/code-generation/integration-package/integration-package-definition/configurations-module.js.map +7 -0
  122. package/dist/bp-cli/dist/code-generation/integration-package/integration-package-definition/entities-module.d.ts +10 -0
  123. package/dist/bp-cli/dist/code-generation/integration-package/integration-package-definition/entities-module.js +71 -0
  124. package/dist/bp-cli/dist/code-generation/integration-package/integration-package-definition/entities-module.js.map +7 -0
  125. package/dist/bp-cli/dist/code-generation/integration-package/integration-package-definition/events-module.d.ts +10 -0
  126. package/dist/bp-cli/dist/code-generation/integration-package/integration-package-definition/events-module.js +70 -0
  127. package/dist/bp-cli/dist/code-generation/integration-package/integration-package-definition/events-module.js.map +7 -0
  128. package/dist/bp-cli/dist/code-generation/integration-package/integration-package-definition/index.d.ts +8 -0
  129. package/dist/bp-cli/dist/code-generation/integration-package/integration-package-definition/index.js +151 -0
  130. package/dist/bp-cli/dist/code-generation/integration-package/integration-package-definition/index.js.map +7 -0
  131. package/dist/bp-cli/dist/code-generation/integration-package/integration-package-definition/interfaces-module.d.ts +10 -0
  132. package/dist/bp-cli/dist/code-generation/integration-package/integration-package-definition/interfaces-module.js +61 -0
  133. package/dist/bp-cli/dist/code-generation/integration-package/integration-package-definition/interfaces-module.js.map +7 -0
  134. package/dist/bp-cli/dist/code-generation/integration-package/integration-package-definition/states-module.d.ts +10 -0
  135. package/dist/bp-cli/dist/code-generation/integration-package/integration-package-definition/states-module.js +71 -0
  136. package/dist/bp-cli/dist/code-generation/integration-package/integration-package-definition/states-module.js.map +7 -0
  137. package/dist/bp-cli/dist/code-generation/integration-package/integration-package-definition/typings.d.ts +10 -0
  138. package/dist/bp-cli/dist/code-generation/integration-package/integration-package-definition/typings.js +17 -0
  139. package/dist/bp-cli/dist/code-generation/integration-package/integration-package-definition/typings.js.map +7 -0
  140. package/dist/bp-cli/dist/code-generation/interface-implementation/index.d.ts +4 -0
  141. package/dist/bp-cli/dist/code-generation/interface-implementation/index.js +29 -0
  142. package/dist/bp-cli/dist/code-generation/interface-implementation/index.js.map +7 -0
  143. package/dist/bp-cli/dist/code-generation/interface-implementation/integration-typings/actions-module.d.ts +21 -0
  144. package/dist/bp-cli/dist/code-generation/interface-implementation/integration-typings/actions-module.js +88 -0
  145. package/dist/bp-cli/dist/code-generation/interface-implementation/integration-typings/actions-module.js.map +7 -0
  146. package/dist/bp-cli/dist/code-generation/interface-implementation/integration-typings/channels-module.d.ts +5 -0
  147. package/dist/bp-cli/dist/code-generation/interface-implementation/integration-typings/channels-module.js +107 -0
  148. package/dist/bp-cli/dist/code-generation/interface-implementation/integration-typings/channels-module.js.map +7 -0
  149. package/dist/bp-cli/dist/code-generation/interface-implementation/integration-typings/entities-module.d.ts +10 -0
  150. package/dist/bp-cli/dist/code-generation/interface-implementation/integration-typings/entities-module.js +63 -0
  151. package/dist/bp-cli/dist/code-generation/interface-implementation/integration-typings/entities-module.js.map +7 -0
  152. package/dist/bp-cli/dist/code-generation/interface-implementation/integration-typings/events-module.d.ts +10 -0
  153. package/dist/bp-cli/dist/code-generation/interface-implementation/integration-typings/events-module.js +63 -0
  154. package/dist/bp-cli/dist/code-generation/interface-implementation/integration-typings/events-module.js.map +7 -0
  155. package/dist/bp-cli/dist/code-generation/interface-implementation/integration-typings/index.d.ts +8 -0
  156. package/dist/bp-cli/dist/code-generation/interface-implementation/integration-typings/index.js +121 -0
  157. package/dist/bp-cli/dist/code-generation/interface-implementation/integration-typings/index.js.map +7 -0
  158. package/dist/bp-cli/dist/code-generation/interface-package/index.d.ts +2 -0
  159. package/dist/bp-cli/dist/code-generation/interface-package/index.js +77 -0
  160. package/dist/bp-cli/dist/code-generation/interface-package/index.js.map +7 -0
  161. package/dist/bp-cli/dist/code-generation/interface-package/interface-package-definition/actions-module.d.ts +21 -0
  162. package/dist/bp-cli/dist/code-generation/interface-package/interface-package-definition/actions-module.js +100 -0
  163. package/dist/bp-cli/dist/code-generation/interface-package/interface-package-definition/actions-module.js.map +7 -0
  164. package/dist/bp-cli/dist/code-generation/interface-package/interface-package-definition/channels-module.d.ts +5 -0
  165. package/dist/bp-cli/dist/code-generation/interface-package/interface-package-definition/channels-module.js +106 -0
  166. package/dist/bp-cli/dist/code-generation/interface-package/interface-package-definition/channels-module.js.map +7 -0
  167. package/dist/bp-cli/dist/code-generation/interface-package/interface-package-definition/entities-module.d.ts +10 -0
  168. package/dist/bp-cli/dist/code-generation/interface-package/interface-package-definition/entities-module.js +71 -0
  169. package/dist/bp-cli/dist/code-generation/interface-package/interface-package-definition/entities-module.js.map +7 -0
  170. package/dist/bp-cli/dist/code-generation/interface-package/interface-package-definition/events-module.d.ts +10 -0
  171. package/dist/bp-cli/dist/code-generation/interface-package/interface-package-definition/events-module.js +73 -0
  172. package/dist/bp-cli/dist/code-generation/interface-package/interface-package-definition/events-module.js.map +7 -0
  173. package/dist/bp-cli/dist/code-generation/interface-package/interface-package-definition/index.d.ts +8 -0
  174. package/dist/bp-cli/dist/code-generation/interface-package/interface-package-definition/index.js +105 -0
  175. package/dist/bp-cli/dist/code-generation/interface-package/interface-package-definition/index.js.map +7 -0
  176. package/dist/bp-cli/dist/code-generation/interface-package/interface-package-definition/typings.d.ts +7 -0
  177. package/dist/bp-cli/dist/code-generation/interface-package/interface-package-definition/typings.js +17 -0
  178. package/dist/bp-cli/dist/code-generation/interface-package/interface-package-definition/typings.js.map +7 -0
  179. package/dist/bp-cli/dist/code-generation/module.d.ts +49 -0
  180. package/dist/bp-cli/dist/code-generation/module.js +197 -0
  181. package/dist/bp-cli/dist/code-generation/module.js.map +7 -0
  182. package/dist/bp-cli/dist/code-generation/plugin-implementation/index.d.ts +3 -0
  183. package/dist/bp-cli/dist/code-generation/plugin-implementation/index.js +60 -0
  184. package/dist/bp-cli/dist/code-generation/plugin-implementation/index.js.map +7 -0
  185. package/dist/bp-cli/dist/code-generation/plugin-implementation/plugin-implementation.d.ts +7 -0
  186. package/dist/bp-cli/dist/code-generation/plugin-implementation/plugin-implementation.js +122 -0
  187. package/dist/bp-cli/dist/code-generation/plugin-implementation/plugin-implementation.js.map +7 -0
  188. package/dist/bp-cli/dist/code-generation/plugin-implementation/plugin-typings/actions-module.d.ts +21 -0
  189. package/dist/bp-cli/dist/code-generation/plugin-implementation/plugin-typings/actions-module.js +88 -0
  190. package/dist/bp-cli/dist/code-generation/plugin-implementation/plugin-typings/actions-module.js.map +7 -0
  191. package/dist/bp-cli/dist/code-generation/plugin-implementation/plugin-typings/configuration-module.d.ts +7 -0
  192. package/dist/bp-cli/dist/code-generation/plugin-implementation/plugin-typings/configuration-module.js +61 -0
  193. package/dist/bp-cli/dist/code-generation/plugin-implementation/plugin-typings/configuration-module.js.map +7 -0
  194. package/dist/bp-cli/dist/code-generation/plugin-implementation/plugin-typings/events-module.d.ts +10 -0
  195. package/dist/bp-cli/dist/code-generation/plugin-implementation/plugin-typings/events-module.js +63 -0
  196. package/dist/bp-cli/dist/code-generation/plugin-implementation/plugin-typings/events-module.js.map +7 -0
  197. package/dist/bp-cli/dist/code-generation/plugin-implementation/plugin-typings/index.d.ts +8 -0
  198. package/dist/bp-cli/dist/code-generation/plugin-implementation/plugin-typings/index.js +180 -0
  199. package/dist/bp-cli/dist/code-generation/plugin-implementation/plugin-typings/index.js.map +7 -0
  200. package/dist/bp-cli/dist/code-generation/plugin-implementation/plugin-typings/states-module.d.ts +17 -0
  201. package/dist/bp-cli/dist/code-generation/plugin-implementation/plugin-typings/states-module.js +94 -0
  202. package/dist/bp-cli/dist/code-generation/plugin-implementation/plugin-typings/states-module.js.map +7 -0
  203. package/dist/bp-cli/dist/code-generation/plugin-implementation/plugin-typings/tables-module.d.ts +10 -0
  204. package/dist/bp-cli/dist/code-generation/plugin-implementation/plugin-typings/tables-module.js +64 -0
  205. package/dist/bp-cli/dist/code-generation/plugin-implementation/plugin-typings/tables-module.js.map +7 -0
  206. package/dist/bp-cli/dist/code-generation/plugin-implementation/plugin-typings/workflows-module.d.ts +27 -0
  207. package/dist/bp-cli/dist/code-generation/plugin-implementation/plugin-typings/workflows-module.js +104 -0
  208. package/dist/bp-cli/dist/code-generation/plugin-implementation/plugin-typings/workflows-module.js.map +7 -0
  209. package/dist/bp-cli/dist/code-generation/plugin-package/index.d.ts +2 -0
  210. package/dist/bp-cli/dist/code-generation/plugin-package/index.js +109 -0
  211. package/dist/bp-cli/dist/code-generation/plugin-package/index.js.map +7 -0
  212. package/dist/bp-cli/dist/code-generation/plugin-package/plugin-package-definition/actions-module.d.ts +21 -0
  213. package/dist/bp-cli/dist/code-generation/plugin-package/plugin-package-definition/actions-module.js +98 -0
  214. package/dist/bp-cli/dist/code-generation/plugin-package/plugin-package-definition/actions-module.js.map +7 -0
  215. package/dist/bp-cli/dist/code-generation/plugin-package/plugin-package-definition/configuration-module.d.ts +7 -0
  216. package/dist/bp-cli/dist/code-generation/plugin-package/plugin-package-definition/configuration-module.js +65 -0
  217. package/dist/bp-cli/dist/code-generation/plugin-package/plugin-package-definition/configuration-module.js.map +7 -0
  218. package/dist/bp-cli/dist/code-generation/plugin-package/plugin-package-definition/events-module.d.ts +10 -0
  219. package/dist/bp-cli/dist/code-generation/plugin-package/plugin-package-definition/events-module.js +70 -0
  220. package/dist/bp-cli/dist/code-generation/plugin-package/plugin-package-definition/events-module.js.map +7 -0
  221. package/dist/bp-cli/dist/code-generation/plugin-package/plugin-package-definition/index.d.ts +8 -0
  222. package/dist/bp-cli/dist/code-generation/plugin-package/plugin-package-definition/index.js +129 -0
  223. package/dist/bp-cli/dist/code-generation/plugin-package/plugin-package-definition/index.js.map +7 -0
  224. package/dist/bp-cli/dist/code-generation/plugin-package/plugin-package-definition/interfaces-module.d.ts +7 -0
  225. package/dist/bp-cli/dist/code-generation/plugin-package/plugin-package-definition/interfaces-module.js +58 -0
  226. package/dist/bp-cli/dist/code-generation/plugin-package/plugin-package-definition/interfaces-module.js.map +7 -0
  227. package/dist/bp-cli/dist/code-generation/plugin-package/plugin-package-definition/recurring-events-module.d.ts +5 -0
  228. package/dist/bp-cli/dist/code-generation/plugin-package/plugin-package-definition/recurring-events-module.js +71 -0
  229. package/dist/bp-cli/dist/code-generation/plugin-package/plugin-package-definition/recurring-events-module.js.map +7 -0
  230. package/dist/bp-cli/dist/code-generation/plugin-package/plugin-package-definition/states-module.d.ts +10 -0
  231. package/dist/bp-cli/dist/code-generation/plugin-package/plugin-package-definition/states-module.js +71 -0
  232. package/dist/bp-cli/dist/code-generation/plugin-package/plugin-package-definition/states-module.js.map +7 -0
  233. package/dist/bp-cli/dist/code-generation/plugin-package/plugin-package-definition/typings.d.ts +7 -0
  234. package/dist/bp-cli/dist/code-generation/plugin-package/plugin-package-definition/typings.js +17 -0
  235. package/dist/bp-cli/dist/code-generation/plugin-package/plugin-package-definition/typings.js.map +7 -0
  236. package/dist/bp-cli/dist/code-generation/strings.d.ts +4 -0
  237. package/dist/bp-cli/dist/code-generation/strings.js +120 -0
  238. package/dist/bp-cli/dist/code-generation/strings.js.map +7 -0
  239. package/dist/bp-cli/dist/code-generation/typings.d.ts +162 -0
  240. package/dist/bp-cli/dist/code-generation/typings.js +17 -0
  241. package/dist/bp-cli/dist/code-generation/typings.js.map +7 -0
  242. package/dist/bp-cli/dist/code-generation/typings.test.d.ts +1 -0
  243. package/dist/bp-cli/dist/code-generation/typings.test.js +15 -0
  244. package/dist/bp-cli/dist/code-generation/typings.test.js.map +7 -0
  245. package/dist/bp-cli/dist/command-definitions.d.ts +1480 -0
  246. package/dist/bp-cli/dist/command-definitions.js +97 -0
  247. package/dist/bp-cli/dist/command-definitions.js.map +7 -0
  248. package/dist/bp-cli/dist/command-implementations/add-command.d.ts +16 -0
  249. package/dist/bp-cli/dist/command-implementations/add-command.js +345 -0
  250. package/dist/bp-cli/dist/command-implementations/add-command.js.map +7 -0
  251. package/dist/bp-cli/dist/command-implementations/base-command.d.ts +13 -0
  252. package/dist/bp-cli/dist/command-implementations/base-command.js +69 -0
  253. package/dist/bp-cli/dist/command-implementations/base-command.js.map +7 -0
  254. package/dist/bp-cli/dist/command-implementations/bot-commands.d.ts +20 -0
  255. package/dist/bp-cli/dist/command-implementations/bot-commands.js +117 -0
  256. package/dist/bp-cli/dist/command-implementations/bot-commands.js.map +7 -0
  257. package/dist/bp-cli/dist/command-implementations/build-command.d.ts +9 -0
  258. package/dist/bp-cli/dist/command-implementations/build-command.js +51 -0
  259. package/dist/bp-cli/dist/command-implementations/build-command.js.map +7 -0
  260. package/dist/bp-cli/dist/command-implementations/bundle-command.d.ts +10 -0
  261. package/dist/bp-cli/dist/command-implementations/bundle-command.js +97 -0
  262. package/dist/bp-cli/dist/command-implementations/bundle-command.js.map +7 -0
  263. package/dist/bp-cli/dist/command-implementations/chat-command.d.ts +13 -0
  264. package/dist/bp-cli/dist/command-implementations/chat-command.js +156 -0
  265. package/dist/bp-cli/dist/command-implementations/chat-command.js.map +7 -0
  266. package/dist/bp-cli/dist/command-implementations/deploy-command.d.ts +18 -0
  267. package/dist/bp-cli/dist/command-implementations/deploy-command.js +552 -0
  268. package/dist/bp-cli/dist/command-implementations/deploy-command.js.map +7 -0
  269. package/dist/bp-cli/dist/command-implementations/dev-command.d.ts +21 -0
  270. package/dist/bp-cli/dist/command-implementations/dev-command.js +378 -0
  271. package/dist/bp-cli/dist/command-implementations/dev-command.js.map +7 -0
  272. package/dist/bp-cli/dist/command-implementations/gen-command.d.ts +11 -0
  273. package/dist/bp-cli/dist/command-implementations/gen-command.js +113 -0
  274. package/dist/bp-cli/dist/command-implementations/gen-command.js.map +7 -0
  275. package/dist/bp-cli/dist/command-implementations/global-command.d.ts +57 -0
  276. package/dist/bp-cli/dist/command-implementations/global-command.js +198 -0
  277. package/dist/bp-cli/dist/command-implementations/global-command.js.map +7 -0
  278. package/dist/bp-cli/dist/command-implementations/index.d.ts +1534 -0
  279. package/dist/bp-cli/dist/command-implementations/index.js +111 -0
  280. package/dist/bp-cli/dist/command-implementations/index.js.map +7 -0
  281. package/dist/bp-cli/dist/command-implementations/init-command.d.ts +17 -0
  282. package/dist/bp-cli/dist/command-implementations/init-command.js +325 -0
  283. package/dist/bp-cli/dist/command-implementations/init-command.js.map +7 -0
  284. package/dist/bp-cli/dist/command-implementations/integration-commands.d.ts +15 -0
  285. package/dist/bp-cli/dist/command-implementations/integration-commands.js +130 -0
  286. package/dist/bp-cli/dist/command-implementations/integration-commands.js.map +7 -0
  287. package/dist/bp-cli/dist/command-implementations/interface-commands.d.ts +14 -0
  288. package/dist/bp-cli/dist/command-implementations/interface-commands.js +114 -0
  289. package/dist/bp-cli/dist/command-implementations/interface-commands.js.map +7 -0
  290. package/dist/bp-cli/dist/command-implementations/lint-command.d.ts +15 -0
  291. package/dist/bp-cli/dist/command-implementations/lint-command.js +155 -0
  292. package/dist/bp-cli/dist/command-implementations/lint-command.js.map +7 -0
  293. package/dist/bp-cli/dist/command-implementations/login-command.d.ts +6 -0
  294. package/dist/bp-cli/dist/command-implementations/login-command.js +109 -0
  295. package/dist/bp-cli/dist/command-implementations/login-command.js.map +7 -0
  296. package/dist/bp-cli/dist/command-implementations/logout-command.d.ts +6 -0
  297. package/dist/bp-cli/dist/command-implementations/logout-command.js +35 -0
  298. package/dist/bp-cli/dist/command-implementations/logout-command.js.map +7 -0
  299. package/dist/bp-cli/dist/command-implementations/plugin-commands.d.ts +14 -0
  300. package/dist/bp-cli/dist/command-implementations/plugin-commands.js +115 -0
  301. package/dist/bp-cli/dist/command-implementations/plugin-commands.js.map +7 -0
  302. package/dist/bp-cli/dist/command-implementations/profile-commands.d.ts +14 -0
  303. package/dist/bp-cli/dist/command-implementations/profile-commands.js +107 -0
  304. package/dist/bp-cli/dist/command-implementations/profile-commands.js.map +7 -0
  305. package/dist/bp-cli/dist/command-implementations/project-command.d.ts +102 -0
  306. package/dist/bp-cli/dist/command-implementations/project-command.js +505 -0
  307. package/dist/bp-cli/dist/command-implementations/project-command.js.map +7 -0
  308. package/dist/bp-cli/dist/command-implementations/read-command.d.ts +10 -0
  309. package/dist/bp-cli/dist/command-implementations/read-command.js +89 -0
  310. package/dist/bp-cli/dist/command-implementations/read-command.js.map +7 -0
  311. package/dist/bp-cli/dist/command-implementations/serve-command.d.ts +6 -0
  312. package/dist/bp-cli/dist/command-implementations/serve-command.js +69 -0
  313. package/dist/bp-cli/dist/command-implementations/serve-command.js.map +7 -0
  314. package/dist/bp-cli/dist/command-tree.d.ts +39 -0
  315. package/dist/bp-cli/dist/command-tree.js +60 -0
  316. package/dist/bp-cli/dist/command-tree.js.map +7 -0
  317. package/dist/bp-cli/dist/config.d.ts +1441 -0
  318. package/dist/bp-cli/dist/config.js +399 -0
  319. package/dist/bp-cli/dist/config.js.map +7 -0
  320. package/dist/bp-cli/dist/consts.d.ts +41 -0
  321. package/dist/bp-cli/dist/consts.js +114 -0
  322. package/dist/bp-cli/dist/consts.js.map +7 -0
  323. package/dist/bp-cli/dist/errors.d.ts +56 -0
  324. package/dist/bp-cli/dist/errors.js +215 -0
  325. package/dist/bp-cli/dist/errors.js.map +7 -0
  326. package/dist/bp-cli/dist/index.d.ts +1524 -0
  327. package/dist/bp-cli/dist/index.js +76 -0
  328. package/dist/bp-cli/dist/index.js.map +7 -0
  329. package/dist/bp-cli/dist/init.d.ts +1 -0
  330. package/dist/bp-cli/dist/init.js +50 -0
  331. package/dist/bp-cli/dist/init.js.map +7 -0
  332. package/dist/bp-cli/dist/linter/base-linter.d.ts +21 -0
  333. package/dist/bp-cli/dist/linter/base-linter.js +75 -0
  334. package/dist/bp-cli/dist/linter/base-linter.js.map +7 -0
  335. package/dist/bp-cli/dist/linter/base-linter.test.d.ts +1 -0
  336. package/dist/bp-cli/dist/linter/base-linter.test.js +192 -0
  337. package/dist/bp-cli/dist/linter/base-linter.test.js.map +7 -0
  338. package/dist/bp-cli/dist/linter/bot-linter.d.ts +5 -0
  339. package/dist/bp-cli/dist/linter/bot-linter.js +35 -0
  340. package/dist/bp-cli/dist/linter/bot-linter.js.map +7 -0
  341. package/dist/bp-cli/dist/linter/integration-linter.d.ts +7 -0
  342. package/dist/bp-cli/dist/linter/integration-linter.js +35 -0
  343. package/dist/bp-cli/dist/linter/integration-linter.js.map +7 -0
  344. package/dist/bp-cli/dist/linter/interface-linter.d.ts +5 -0
  345. package/dist/bp-cli/dist/linter/interface-linter.js +35 -0
  346. package/dist/bp-cli/dist/linter/interface-linter.js.map +7 -0
  347. package/dist/bp-cli/dist/linter/ruleset-tests/bot.ruleset.test.d.ts +1 -0
  348. package/dist/bp-cli/dist/linter/ruleset-tests/bot.ruleset.test.js +358 -0
  349. package/dist/bp-cli/dist/linter/ruleset-tests/bot.ruleset.test.js.map +7 -0
  350. package/dist/bp-cli/dist/linter/ruleset-tests/common.d.ts +9 -0
  351. package/dist/bp-cli/dist/linter/ruleset-tests/common.js +37 -0
  352. package/dist/bp-cli/dist/linter/ruleset-tests/common.js.map +7 -0
  353. package/dist/bp-cli/dist/linter/ruleset-tests/integration.ruleset.test.d.ts +1 -0
  354. package/dist/bp-cli/dist/linter/ruleset-tests/integration.ruleset.test.js +887 -0
  355. package/dist/bp-cli/dist/linter/ruleset-tests/integration.ruleset.test.js.map +7 -0
  356. package/dist/bp-cli/dist/linter/ruleset-tests/interface.ruleset.test.d.ts +1 -0
  357. package/dist/bp-cli/dist/linter/ruleset-tests/interface.ruleset.test.js +383 -0
  358. package/dist/bp-cli/dist/linter/ruleset-tests/interface.ruleset.test.js.map +7 -0
  359. package/dist/bp-cli/dist/linter/rulesets/bot.ruleset.d.ts +165 -0
  360. package/dist/bp-cli/dist/linter/rulesets/bot.ruleset.js +191 -0
  361. package/dist/bp-cli/dist/linter/rulesets/bot.ruleset.js.map +7 -0
  362. package/dist/bp-cli/dist/linter/rulesets/integration.ruleset.d.ts +390 -0
  363. package/dist/bp-cli/dist/linter/rulesets/integration.ruleset.js +378 -0
  364. package/dist/bp-cli/dist/linter/rulesets/integration.ruleset.js.map +7 -0
  365. package/dist/bp-cli/dist/linter/rulesets/interface.ruleset.d.ts +141 -0
  366. package/dist/bp-cli/dist/linter/rulesets/interface.ruleset.js +157 -0
  367. package/dist/bp-cli/dist/linter/rulesets/interface.ruleset.js.map +7 -0
  368. package/dist/bp-cli/dist/linter/spectral-functions.d.ts +11 -0
  369. package/dist/bp-cli/dist/linter/spectral-functions.js +36 -0
  370. package/dist/bp-cli/dist/linter/spectral-functions.js.map +7 -0
  371. package/dist/bp-cli/dist/logger/base-logger.d.ts +43 -0
  372. package/dist/bp-cli/dist/logger/base-logger.js +176 -0
  373. package/dist/bp-cli/dist/logger/base-logger.js.map +7 -0
  374. package/dist/bp-cli/dist/logger/index.d.ts +22 -0
  375. package/dist/bp-cli/dist/logger/index.js +83 -0
  376. package/dist/bp-cli/dist/logger/index.js.map +7 -0
  377. package/dist/bp-cli/dist/logger/logger.test.d.ts +1 -0
  378. package/dist/bp-cli/dist/logger/logger.test.js +96 -0
  379. package/dist/bp-cli/dist/logger/logger.test.js.map +7 -0
  380. package/dist/bp-cli/dist/package-ref.d.ts +22 -0
  381. package/dist/bp-cli/dist/package-ref.js +106 -0
  382. package/dist/bp-cli/dist/package-ref.js.map +7 -0
  383. package/dist/bp-cli/dist/package-ref.test.d.ts +1 -0
  384. package/dist/bp-cli/dist/package-ref.test.js +109 -0
  385. package/dist/bp-cli/dist/package-ref.test.js.map +7 -0
  386. package/dist/bp-cli/dist/project-templates.d.ts +42 -0
  387. package/dist/bp-cli/dist/project-templates.js +83 -0
  388. package/dist/bp-cli/dist/project-templates.js.map +7 -0
  389. package/dist/bp-cli/dist/register-yargs.d.ts +4 -0
  390. package/dist/bp-cli/dist/register-yargs.js +91 -0
  391. package/dist/bp-cli/dist/register-yargs.js.map +7 -0
  392. package/dist/bp-cli/dist/root.d.ts +7 -0
  393. package/dist/bp-cli/dist/root.js +41 -0
  394. package/dist/bp-cli/dist/root.js.map +7 -0
  395. package/dist/bp-cli/dist/sdk/index.d.ts +2 -0
  396. package/dist/bp-cli/dist/sdk/index.js +25 -0
  397. package/dist/bp-cli/dist/sdk/index.js.map +7 -0
  398. package/dist/bp-cli/dist/sdk/validate-bot.d.ts +2 -0
  399. package/dist/bp-cli/dist/sdk/validate-bot.js +92 -0
  400. package/dist/bp-cli/dist/sdk/validate-bot.js.map +7 -0
  401. package/dist/bp-cli/dist/sdk/validate-bot.test.d.ts +1 -0
  402. package/dist/bp-cli/dist/sdk/validate-bot.test.js +94 -0
  403. package/dist/bp-cli/dist/sdk/validate-bot.test.js.map +7 -0
  404. package/dist/bp-cli/dist/sdk/validate-integration.d.ts +2 -0
  405. package/dist/bp-cli/dist/sdk/validate-integration.js +72 -0
  406. package/dist/bp-cli/dist/sdk/validate-integration.js.map +7 -0
  407. package/dist/bp-cli/dist/tables/index.d.ts +1 -0
  408. package/dist/bp-cli/dist/tables/index.js +29 -0
  409. package/dist/bp-cli/dist/tables/index.js.map +7 -0
  410. package/dist/bp-cli/dist/tables/schemas.d.ts +1259 -0
  411. package/dist/bp-cli/dist/tables/schemas.js +106 -0
  412. package/dist/bp-cli/dist/tables/schemas.js.map +7 -0
  413. package/dist/bp-cli/dist/tables/tables-publisher.d.ts +22 -0
  414. package/dist/bp-cli/dist/tables/tables-publisher.js +163 -0
  415. package/dist/bp-cli/dist/tables/tables-publisher.js.map +7 -0
  416. package/dist/bp-cli/dist/typings.d.ts +27 -0
  417. package/dist/bp-cli/dist/typings.js +17 -0
  418. package/dist/bp-cli/dist/typings.js.map +7 -0
  419. package/dist/bp-cli/dist/utils/attribute-utils.d.ts +10 -0
  420. package/dist/bp-cli/dist/utils/attribute-utils.js +52 -0
  421. package/dist/bp-cli/dist/utils/attribute-utils.js.map +7 -0
  422. package/dist/bp-cli/dist/utils/cache-utils.d.ts +14 -0
  423. package/dist/bp-cli/dist/utils/cache-utils.js +104 -0
  424. package/dist/bp-cli/dist/utils/cache-utils.js.map +7 -0
  425. package/dist/bp-cli/dist/utils/case-utils.d.ts +14 -0
  426. package/dist/bp-cli/dist/utils/case-utils.js +84 -0
  427. package/dist/bp-cli/dist/utils/case-utils.js.map +7 -0
  428. package/dist/bp-cli/dist/utils/case-utils.test.d.ts +1 -0
  429. package/dist/bp-cli/dist/utils/case-utils.test.js +75 -0
  430. package/dist/bp-cli/dist/utils/case-utils.test.js.map +7 -0
  431. package/dist/bp-cli/dist/utils/concurrency-utils.d.ts +1 -0
  432. package/dist/bp-cli/dist/utils/concurrency-utils.js +41 -0
  433. package/dist/bp-cli/dist/utils/concurrency-utils.js.map +7 -0
  434. package/dist/bp-cli/dist/utils/concurrency-utils.test.d.ts +1 -0
  435. package/dist/bp-cli/dist/utils/concurrency-utils.test.js +49 -0
  436. package/dist/bp-cli/dist/utils/concurrency-utils.test.js.map +7 -0
  437. package/dist/bp-cli/dist/utils/esbuild-utils.d.ts +35 -0
  438. package/dist/bp-cli/dist/utils/esbuild-utils.js +127 -0
  439. package/dist/bp-cli/dist/utils/esbuild-utils.js.map +7 -0
  440. package/dist/bp-cli/dist/utils/event-emitter.d.ts +7 -0
  441. package/dist/bp-cli/dist/utils/event-emitter.js +63 -0
  442. package/dist/bp-cli/dist/utils/event-emitter.js.map +7 -0
  443. package/dist/bp-cli/dist/utils/file-watcher.d.ts +17 -0
  444. package/dist/bp-cli/dist/utils/file-watcher.js +74 -0
  445. package/dist/bp-cli/dist/utils/file-watcher.js.map +7 -0
  446. package/dist/bp-cli/dist/utils/guard-utils.d.ts +4 -0
  447. package/dist/bp-cli/dist/utils/guard-utils.js +32 -0
  448. package/dist/bp-cli/dist/utils/guard-utils.js.map +7 -0
  449. package/dist/bp-cli/dist/utils/id-utils.d.ts +2 -0
  450. package/dist/bp-cli/dist/utils/id-utils.js +59 -0
  451. package/dist/bp-cli/dist/utils/id-utils.js.map +7 -0
  452. package/dist/bp-cli/dist/utils/index.d.ts +22 -0
  453. package/dist/bp-cli/dist/utils/index.js +102 -0
  454. package/dist/bp-cli/dist/utils/index.js.map +7 -0
  455. package/dist/bp-cli/dist/utils/object-utils.d.ts +1 -0
  456. package/dist/bp-cli/dist/utils/object-utils.js +32 -0
  457. package/dist/bp-cli/dist/utils/object-utils.js.map +7 -0
  458. package/dist/bp-cli/dist/utils/path-utils.d.ts +28 -0
  459. package/dist/bp-cli/dist/utils/path-utils.js +111 -0
  460. package/dist/bp-cli/dist/utils/path-utils.js.map +7 -0
  461. package/dist/bp-cli/dist/utils/path-utils.test.d.ts +1 -0
  462. package/dist/bp-cli/dist/utils/path-utils.test.js +72 -0
  463. package/dist/bp-cli/dist/utils/path-utils.test.js.map +7 -0
  464. package/dist/bp-cli/dist/utils/pkgjson-utils.d.ts +18 -0
  465. package/dist/bp-cli/dist/utils/pkgjson-utils.js +66 -0
  466. package/dist/bp-cli/dist/utils/pkgjson-utils.js.map +7 -0
  467. package/dist/bp-cli/dist/utils/promise-utils.d.ts +2 -0
  468. package/dist/bp-cli/dist/utils/promise-utils.js +36 -0
  469. package/dist/bp-cli/dist/utils/promise-utils.js.map +7 -0
  470. package/dist/bp-cli/dist/utils/promise-utils.test.d.ts +1 -0
  471. package/dist/bp-cli/dist/utils/promise-utils.test.js +14 -0
  472. package/dist/bp-cli/dist/utils/promise-utils.test.js.map +7 -0
  473. package/dist/bp-cli/dist/utils/prompt-utils.d.ts +33 -0
  474. package/dist/bp-cli/dist/utils/prompt-utils.js +107 -0
  475. package/dist/bp-cli/dist/utils/prompt-utils.js.map +7 -0
  476. package/dist/bp-cli/dist/utils/record-utils.d.ts +8 -0
  477. package/dist/bp-cli/dist/utils/record-utils.js +120 -0
  478. package/dist/bp-cli/dist/utils/record-utils.js.map +7 -0
  479. package/dist/bp-cli/dist/utils/record-utils.test.d.ts +1 -0
  480. package/dist/bp-cli/dist/utils/record-utils.test.js +44 -0
  481. package/dist/bp-cli/dist/utils/record-utils.test.js.map +7 -0
  482. package/dist/bp-cli/dist/utils/require-utils.d.ts +2 -0
  483. package/dist/bp-cli/dist/utils/require-utils.js +90 -0
  484. package/dist/bp-cli/dist/utils/require-utils.js.map +7 -0
  485. package/dist/bp-cli/dist/utils/require-utils.test.d.ts +1 -0
  486. package/dist/bp-cli/dist/utils/require-utils.test.js +54 -0
  487. package/dist/bp-cli/dist/utils/require-utils.test.js.map +7 -0
  488. package/dist/bp-cli/dist/utils/schema-utils.d.ts +16 -0
  489. package/dist/bp-cli/dist/utils/schema-utils.js +79 -0
  490. package/dist/bp-cli/dist/utils/schema-utils.js.map +7 -0
  491. package/dist/bp-cli/dist/utils/schema-utils.test.d.ts +1 -0
  492. package/dist/bp-cli/dist/utils/schema-utils.test.js +50 -0
  493. package/dist/bp-cli/dist/utils/schema-utils.test.js.map +7 -0
  494. package/dist/bp-cli/dist/utils/semver-utils.d.ts +8 -0
  495. package/dist/bp-cli/dist/utils/semver-utils.js +45 -0
  496. package/dist/bp-cli/dist/utils/semver-utils.js.map +7 -0
  497. package/dist/bp-cli/dist/utils/string-utils.d.ts +2 -0
  498. package/dist/bp-cli/dist/utils/string-utils.js +42 -0
  499. package/dist/bp-cli/dist/utils/string-utils.js.map +7 -0
  500. package/dist/bp-cli/dist/utils/template-utils.d.ts +1 -0
  501. package/dist/bp-cli/dist/utils/template-utils.js +51 -0
  502. package/dist/bp-cli/dist/utils/template-utils.js.map +7 -0
  503. package/dist/bp-cli/dist/utils/tunnel-utils.d.ts +49 -0
  504. package/dist/bp-cli/dist/utils/tunnel-utils.js +132 -0
  505. package/dist/bp-cli/dist/utils/tunnel-utils.js.map +7 -0
  506. package/dist/bp-cli/dist/utils/type-utils.d.ts +19 -0
  507. package/dist/bp-cli/dist/utils/type-utils.js +17 -0
  508. package/dist/bp-cli/dist/utils/type-utils.js.map +7 -0
  509. package/dist/bp-cli/dist/utils/url-utils.d.ts +19 -0
  510. package/dist/bp-cli/dist/utils/url-utils.js +67 -0
  511. package/dist/bp-cli/dist/utils/url-utils.js.map +7 -0
  512. package/dist/bp-cli/dist/worker/child-entrypoint.d.ts +1 -0
  513. package/dist/bp-cli/dist/worker/child-entrypoint.js +58 -0
  514. package/dist/bp-cli/dist/worker/child-entrypoint.js.map +7 -0
  515. package/dist/bp-cli/dist/worker/child-wrapper.d.ts +18 -0
  516. package/dist/bp-cli/dist/worker/child-wrapper.js +119 -0
  517. package/dist/bp-cli/dist/worker/child-wrapper.js.map +7 -0
  518. package/dist/bp-cli/dist/worker/config.d.ts +28 -0
  519. package/dist/bp-cli/dist/worker/config.js +44 -0
  520. package/dist/bp-cli/dist/worker/config.js.map +7 -0
  521. package/dist/bp-cli/dist/worker/index.d.ts +2 -0
  522. package/dist/bp-cli/dist/worker/index.js +32 -0
  523. package/dist/bp-cli/dist/worker/index.js.map +7 -0
  524. package/dist/bp-cli/dist/worker/is-child.d.ts +14 -0
  525. package/dist/bp-cli/dist/worker/is-child.js +55 -0
  526. package/dist/bp-cli/dist/worker/is-child.js.map +7 -0
  527. package/dist/bp-cli/dist/worker/worker-state.d.ts +30 -0
  528. package/dist/bp-cli/dist/worker/worker-state.js +71 -0
  529. package/dist/bp-cli/dist/worker/worker-state.js.map +7 -0
  530. package/dist/bp-cli/dist/worker/worker.d.ts +20 -0
  531. package/dist/bp-cli/dist/worker/worker.js +91 -0
  532. package/dist/bp-cli/dist/worker/worker.js.map +7 -0
  533. package/dist/bp-cli/package.json +8 -0
  534. package/dist/cli.js +2527 -8676
  535. package/package.json +4 -2
@@ -0,0 +1,505 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var project_command_exports = {};
30
+ __export(project_command_exports, {
31
+ ProjectCommand: () => ProjectCommand,
32
+ ProjectDefinitionContext: () => ProjectDefinitionContext
33
+ });
34
+ module.exports = __toCommonJS(project_command_exports);
35
+ var import_chalk = __toESM(require("chalk"));
36
+ var import_fs = __toESM(require("fs"));
37
+ var import_lodash = __toESM(require("lodash"));
38
+ var import_semver = __toESM(require("semver"));
39
+ var apiUtils = __toESM(require("../api"));
40
+ var codegen = __toESM(require("../code-generation"));
41
+ var consts = __toESM(require("../consts"));
42
+ var errors = __toESM(require("../errors"));
43
+ var import_sdk = require("../sdk");
44
+ var utils = __toESM(require("../utils"));
45
+ var import_global_command = require("./global-command");
46
+ class ProjectPaths extends utils.path.PathStore {
47
+ constructor(argv) {
48
+ const absWorkDir = utils.path.absoluteFrom(utils.path.cwd(), argv.workDir);
49
+ super({
50
+ workDir: absWorkDir,
51
+ ...import_lodash.default.mapValues(consts.fromWorkDir, (p) => utils.path.absoluteFrom(absWorkDir, p))
52
+ });
53
+ }
54
+ }
55
+ class ProjectDefinitionContext {
56
+ _codeCache = /* @__PURE__ */ new Map();
57
+ _buildContext = new utils.esbuild.BuildEntrypointContext();
58
+ getOrResolveDefinition(code) {
59
+ const definition = this._codeCache.get(code);
60
+ if (definition) {
61
+ return definition;
62
+ }
63
+ const result = utils.require.requireJsCode(code);
64
+ this._codeCache.set(code, result.default);
65
+ return result.default;
66
+ }
67
+ rebuildEntrypoint(...args) {
68
+ return this._buildContext.rebuild(...args);
69
+ }
70
+ }
71
+ class ProjectCommand extends import_global_command.GlobalCommand {
72
+ projectContext = new ProjectDefinitionContext();
73
+ setProjectContext(projectContext) {
74
+ this.projectContext = projectContext;
75
+ return this;
76
+ }
77
+ async bootstrap() {
78
+ await super.bootstrap();
79
+ await this._notifyUpdateSdk();
80
+ }
81
+ get projectPaths() {
82
+ return new ProjectPaths(this.argv);
83
+ }
84
+ get projectCache() {
85
+ return new utils.cache.FSKeyValueCache(this.projectPaths.abs.projectCacheFile);
86
+ }
87
+ _readProjectType(projectPaths) {
88
+ const abs = projectPaths.abs;
89
+ if (import_fs.default.existsSync(abs.integrationDefinition)) {
90
+ return "integration";
91
+ }
92
+ if (import_fs.default.existsSync(abs.interfaceDefinition)) {
93
+ return "interface";
94
+ }
95
+ if (import_fs.default.existsSync(abs.botDefinition)) {
96
+ return "bot";
97
+ }
98
+ if (import_fs.default.existsSync(abs.pluginDefinition)) {
99
+ return "plugin";
100
+ }
101
+ throw new errors.UnsupportedProjectType();
102
+ }
103
+ readProjectDefinitionFromFS() {
104
+ try {
105
+ const type = this._readProjectType(this.projectPaths);
106
+ if (type === "integration") {
107
+ return {
108
+ projectType: "integration",
109
+ resolveProjectDefinition: async () => ({
110
+ type: "integration",
111
+ ...await this._readIntegrationDefinitionFromFS(this.projectPaths)
112
+ })
113
+ };
114
+ }
115
+ if (type === "plugin") {
116
+ return {
117
+ projectType: "plugin",
118
+ resolveProjectDefinition: async () => ({
119
+ type: "plugin",
120
+ ...await this._readPluginDefinitionFromFS(this.projectPaths)
121
+ })
122
+ };
123
+ }
124
+ if (type === "interface") {
125
+ return {
126
+ projectType: "interface",
127
+ resolveProjectDefinition: async () => ({
128
+ type: "interface",
129
+ ...await this._readInterfaceDefinitionFromFS(this.projectPaths)
130
+ })
131
+ };
132
+ }
133
+ if (type === "bot") {
134
+ return {
135
+ projectType: "bot",
136
+ resolveProjectDefinition: async () => ({
137
+ type: "bot",
138
+ ...await this._readBotDefinitionFromFS(this.projectPaths)
139
+ })
140
+ };
141
+ }
142
+ } catch (thrown) {
143
+ throw errors.BotpressCLIError.wrap(thrown, "Error while reading project definition");
144
+ }
145
+ throw new errors.ProjectDefinitionNotFoundError(this.projectPaths.abs.workDir);
146
+ }
147
+ async _readIntegrationDefinitionFromFS(projectPaths) {
148
+ const abs = projectPaths.abs;
149
+ const rel = projectPaths.rel("workDir");
150
+ if (!import_fs.default.existsSync(abs.integrationDefinition)) {
151
+ throw new errors.BotpressCLIError("Could not read integration definition");
152
+ }
153
+ const bpLintDisabled = await this._isBpLintDisabled(abs.integrationDefinition);
154
+ const { outputFiles } = await this.projectContext.rebuildEntrypoint({
155
+ absWorkingDir: abs.workDir,
156
+ entrypoint: rel.integrationDefinition
157
+ });
158
+ const artifact = outputFiles?.[0];
159
+ if (!artifact) {
160
+ throw new errors.BotpressCLIError("Could not read integration definition");
161
+ }
162
+ const definition = this.projectContext.getOrResolveDefinition(artifact.text);
163
+ (0, import_sdk.validateIntegrationDefinition)(definition);
164
+ return { definition, bpLintDisabled };
165
+ }
166
+ async _readInterfaceDefinitionFromFS(projectPaths) {
167
+ const abs = projectPaths.abs;
168
+ const rel = projectPaths.rel("workDir");
169
+ if (!import_fs.default.existsSync(abs.interfaceDefinition)) {
170
+ throw new errors.BotpressCLIError("Could not read interface definition");
171
+ }
172
+ const bpLintDisabled = await this._isBpLintDisabled(abs.interfaceDefinition);
173
+ const { outputFiles } = await this.projectContext.rebuildEntrypoint({
174
+ absWorkingDir: abs.workDir,
175
+ entrypoint: rel.interfaceDefinition
176
+ });
177
+ const artifact = outputFiles?.[0];
178
+ if (!artifact) {
179
+ throw new errors.BotpressCLIError("Could not read interface definition");
180
+ }
181
+ const definition = this.projectContext.getOrResolveDefinition(artifact.text);
182
+ return { definition, bpLintDisabled };
183
+ }
184
+ async _readBotDefinitionFromFS(projectPaths) {
185
+ const abs = projectPaths.abs;
186
+ const rel = projectPaths.rel("workDir");
187
+ if (!import_fs.default.existsSync(abs.botDefinition)) {
188
+ throw new errors.BotpressCLIError("Could not read bot definition");
189
+ }
190
+ const bpLintDisabled = await this._isBpLintDisabled(abs.botDefinition);
191
+ const { outputFiles } = await this.projectContext.rebuildEntrypoint({
192
+ absWorkingDir: abs.workDir,
193
+ entrypoint: rel.botDefinition
194
+ });
195
+ const artifact = outputFiles?.[0];
196
+ if (!artifact) {
197
+ throw new errors.BotpressCLIError("Could not read bot definition");
198
+ }
199
+ const definition = this.projectContext.getOrResolveDefinition(artifact.text);
200
+ (0, import_sdk.validateBotDefinition)(definition);
201
+ return { definition, bpLintDisabled };
202
+ }
203
+ async _readPluginDefinitionFromFS(projectPaths) {
204
+ const abs = projectPaths.abs;
205
+ const rel = projectPaths.rel("workDir");
206
+ if (!import_fs.default.existsSync(abs.pluginDefinition)) {
207
+ throw new errors.BotpressCLIError("Could not read plugin definition");
208
+ }
209
+ const bpLintDisabled = await this._isBpLintDisabled(abs.pluginDefinition);
210
+ const { outputFiles } = await this.projectContext.rebuildEntrypoint({
211
+ absWorkingDir: abs.workDir,
212
+ entrypoint: rel.pluginDefinition
213
+ });
214
+ const artifact = outputFiles?.[0];
215
+ if (!artifact) {
216
+ throw new errors.BotpressCLIError("Could not read plugin definition");
217
+ }
218
+ const definition = this.projectContext.getOrResolveDefinition(artifact.text);
219
+ return { definition, bpLintDisabled };
220
+ }
221
+ async _isBpLintDisabled(definitionPath) {
222
+ const tsContent = await import_fs.default.promises.readFile(definitionPath, "utf-8");
223
+ const regex = /\/\* bplint-disable \*\//;
224
+ return regex.test(tsContent);
225
+ }
226
+ displayWebhookUrls(bot) {
227
+ if (!import_lodash.default.keys(bot.integrations).length) {
228
+ this.logger.debug("No integrations in bot");
229
+ return;
230
+ }
231
+ this.logger.log("Integrations:");
232
+ for (const integration of Object.values(bot.integrations).filter(utils.guards.is.defined)) {
233
+ if (!integration.enabled) {
234
+ this.logger.log(`${import_chalk.default.grey(integration.name)} ${import_chalk.default.italic("(disabled)")}: ${integration.webhookUrl}`, {
235
+ prefix: { symbol: "\u25CB", indent: 2 }
236
+ });
237
+ } else {
238
+ this.logger.log(`${import_chalk.default.bold(integration.name)} : ${integration.webhookUrl}`, {
239
+ prefix: { symbol: "\u25CF", indent: 2 }
240
+ });
241
+ }
242
+ }
243
+ }
244
+ async promptSecrets(integrationDef, argv, opts = {}) {
245
+ const formatEnv = opts.formatEnv ?? false;
246
+ const knownSecrets = opts.knownSecrets ?? [];
247
+ const { secrets: secretDefinitions } = integrationDef;
248
+ if (!secretDefinitions) {
249
+ return {};
250
+ }
251
+ const secretArgv = this._parseArgvSecrets(argv.secrets);
252
+ const invalidSecret = Object.keys(secretArgv).find((s) => !secretDefinitions[s]);
253
+ if (invalidSecret) {
254
+ throw new errors.BotpressCLIError(`Secret ${invalidSecret} is not defined in integration definition`);
255
+ }
256
+ const values = {};
257
+ for (const [secretName, { optional }] of Object.entries(secretDefinitions)) {
258
+ const argvSecret = secretArgv[secretName];
259
+ if (argvSecret) {
260
+ this.logger.debug(`Using secret "${secretName}" from argv`);
261
+ values[secretName] = argvSecret;
262
+ continue;
263
+ }
264
+ const alreadyKnown = knownSecrets.includes(secretName);
265
+ let mode;
266
+ if (alreadyKnown) {
267
+ mode = "already set";
268
+ } else if (optional) {
269
+ mode = "optional";
270
+ } else {
271
+ mode = "required";
272
+ }
273
+ const prompted = await this.prompt.text(`Enter value for secret "${secretName}" (${mode})`);
274
+ if (prompted) {
275
+ values[secretName] = prompted;
276
+ continue;
277
+ }
278
+ if (alreadyKnown) {
279
+ this.logger.log(`Secret "${secretName}" is unchanged`);
280
+ } else if (optional) {
281
+ this.logger.warn(`Secret "${secretName}" is unassigned`);
282
+ } else {
283
+ throw new errors.BotpressCLIError(`Secret "${secretName}" is required`);
284
+ }
285
+ }
286
+ for (const secretName of knownSecrets) {
287
+ const isDefined = secretName in secretDefinitions;
288
+ if (isDefined) {
289
+ continue;
290
+ }
291
+ const prompted = await this.prompt.confirm(`Secret "${secretName}" was removed. Do you wish to delete it?`);
292
+ if (prompted) {
293
+ this.logger.log(`Deleting secret "${secretName}"`, { prefix: { symbol: "\xD7", fg: "red" } });
294
+ values[secretName] = null;
295
+ }
296
+ }
297
+ if (!formatEnv) {
298
+ return values;
299
+ }
300
+ const envVariables = import_lodash.default.mapKeys(values, (_v, k) => codegen.secretEnvVariableName(k));
301
+ return envVariables;
302
+ }
303
+ async prepareCreateIntegrationBody(integrationDef) {
304
+ const partialBody = await apiUtils.prepareCreateIntegrationBody(integrationDef);
305
+ let code = void 0;
306
+ if (import_fs.default.existsSync(this.projectPaths.abs.outFileCJS)) {
307
+ code = await this.readProjectFile(this.projectPaths.abs.outFileCJS);
308
+ }
309
+ const icon = await this.readProjectFile(integrationDef.icon, "base64");
310
+ const readme = await this.readProjectFile(integrationDef.readme, "base64");
311
+ const extractScript = await this.readProjectFile(integrationDef.identifier?.extractScript);
312
+ const fallbackHandlerScript = await this.readProjectFile(integrationDef.identifier?.fallbackHandlerScript);
313
+ return {
314
+ ...partialBody,
315
+ code,
316
+ icon,
317
+ readme,
318
+ identifier: {
319
+ extractScript,
320
+ fallbackHandlerScript
321
+ },
322
+ configuration: integrationDef.configuration ? {
323
+ schema: await utils.schema.mapZodToJsonSchema(integrationDef.configuration, {
324
+ useLegacyZuiTransformer: integrationDef.__advanced?.useLegacyZuiTransformer
325
+ }),
326
+ identifier: {
327
+ required: integrationDef.configuration.identifier?.required,
328
+ linkTemplateScript: await this.readProjectFile(
329
+ integrationDef.configuration.identifier?.linkTemplateScript
330
+ )
331
+ }
332
+ } : void 0,
333
+ configurations: integrationDef.configurations ? await utils.records.mapValuesAsync(integrationDef.configurations, async (configuration) => ({
334
+ title: configuration.title,
335
+ description: configuration.description,
336
+ schema: await utils.schema.mapZodToJsonSchema(configuration, {
337
+ useLegacyZuiTransformer: integrationDef.__advanced?.useLegacyZuiTransformer
338
+ }),
339
+ identifier: {
340
+ required: configuration.identifier?.required,
341
+ linkTemplateScript: await this.readProjectFile(configuration.identifier?.linkTemplateScript)
342
+ }
343
+ })) : void 0
344
+ };
345
+ }
346
+ async prepareBotDependencies(botDef, api) {
347
+ const integrations = await this._fetchDependencies(
348
+ botDef.integrations ?? {},
349
+ ({ name, version }) => api.getPublicOrPrivateIntegration({ type: "name", name, version })
350
+ );
351
+ const plugins = await this._fetchDependencies(
352
+ botDef.plugins ?? {},
353
+ async ({ name, version }) => await api.getPublicOrPrivatePlugin({ type: "name", name, version })
354
+ );
355
+ const pluginsWithBackingIntegrations = await utils.records.mapValuesAsync(plugins, async (plugin) => ({
356
+ ...plugin,
357
+ interfaces: await this._fetchDependencies(
358
+ plugin.interfaces ?? {},
359
+ async (interfaceExtension) => await api.getPublicOrPrivateIntegration({ ...interfaceExtension, type: "name" })
360
+ )
361
+ }));
362
+ return {
363
+ integrations: (0, import_lodash.default)(integrations).keyBy((i) => i.id).mapValues(
364
+ ({ enabled, configurationType, configuration, disabledChannels }) => ({
365
+ enabled,
366
+ configurationType,
367
+ configuration,
368
+ disabledChannels
369
+ })
370
+ ).value(),
371
+ plugins: utils.records.mapValues(pluginsWithBackingIntegrations, (plugin) => ({
372
+ ...plugin,
373
+ interfaces: utils.records.mapValues(plugin.interfaces ?? {}, (iface) => ({
374
+ ...iface,
375
+ integrationId: iface.id
376
+ }))
377
+ }))
378
+ };
379
+ }
380
+ async prepareIntegrationDependencies(integrationDef, api) {
381
+ const interfaces = await this._fetchDependencies(
382
+ integrationDef.interfaces ?? {},
383
+ ({ name, version }) => api.getPublicInterface({ type: "name", name, version })
384
+ );
385
+ return { interfaces };
386
+ }
387
+ async preparePluginDependencies(pluginDef, api) {
388
+ const integrations = await this._fetchDependencies(
389
+ pluginDef.integrations ?? {},
390
+ ({ name, version }) => api.getPublicOrPrivateIntegration({ type: "name", name, version })
391
+ );
392
+ const interfaces = await this._fetchDependencies(
393
+ pluginDef.interfaces ?? {},
394
+ ({ name, version }) => api.getPublicInterface({ type: "name", name, version })
395
+ );
396
+ return {
397
+ dependencies: {
398
+ integrations,
399
+ interfaces
400
+ }
401
+ };
402
+ }
403
+ _fetchDependencies = async (deps, fetcher) => {
404
+ const isRemote = (dep) => dep.id !== void 0;
405
+ return utils.records.mapValuesAsync(deps, async (dep) => {
406
+ if (isRemote(dep)) {
407
+ return dep;
408
+ }
409
+ const { id } = await fetcher(dep);
410
+ return { ...dep, id };
411
+ });
412
+ };
413
+ readProjectFile = async (filePath, encoding = "utf-8") => {
414
+ if (!filePath) {
415
+ return void 0;
416
+ }
417
+ const absoluteFilePath = utils.path.absoluteFrom(this.projectPaths.abs.workDir, filePath);
418
+ return import_fs.default.promises.readFile(absoluteFilePath, encoding).catch((thrown) => {
419
+ throw errors.BotpressCLIError.wrap(thrown, `Could not read file "${absoluteFilePath}"`);
420
+ });
421
+ };
422
+ _parseArgvSecrets(argvSecrets) {
423
+ const parsed = {};
424
+ for (const secret of argvSecrets) {
425
+ const [key, value] = utils.string.splitOnce(secret, "=");
426
+ if (!value) {
427
+ throw new errors.BotpressCLIError(
428
+ `Secret "${key}" is missing a value. Expected format: "SECRET_NAME=secretValue"`
429
+ );
430
+ }
431
+ parsed[key] = value;
432
+ }
433
+ return parsed;
434
+ }
435
+ _notifyUpdateSdk = async () => {
436
+ try {
437
+ this.logger.debug("Checking if sdk is up to date");
438
+ const { workDir } = this.projectPaths.abs;
439
+ const projectPkgJson = await utils.pkgJson.readPackageJson(workDir);
440
+ if (!projectPkgJson) {
441
+ this.logger.debug(`Could not find package.json at "${workDir}"`);
442
+ return;
443
+ }
444
+ const sdkPackageName = "@botpress/sdk";
445
+ const actualSdkVersion = utils.pkgJson.findDependency(projectPkgJson, sdkPackageName);
446
+ if (!actualSdkVersion) {
447
+ this.logger.debug(`Could not find dependency "${sdkPackageName}" in project package.json`);
448
+ return;
449
+ }
450
+ if (actualSdkVersion.startsWith("workspace:")) {
451
+ return;
452
+ }
453
+ const actualCleanedSdkVersion = import_semver.default.valid(import_semver.default.coerce(actualSdkVersion));
454
+ if (!actualCleanedSdkVersion) {
455
+ this.logger.debug(`Invalid sdk version "${actualSdkVersion}" in project package.json`);
456
+ return;
457
+ }
458
+ const cliPkgJson = await this.readPkgJson();
459
+ const expectedSdkVersion = utils.pkgJson.findDependency(cliPkgJson, sdkPackageName);
460
+ if (!expectedSdkVersion) {
461
+ this.logger.debug(`Could not find dependency "${sdkPackageName}" in cli package.json`);
462
+ return;
463
+ }
464
+ const expectedCleanedSdkVersion = import_semver.default.valid(import_semver.default.coerce(expectedSdkVersion));
465
+ if (!expectedCleanedSdkVersion) {
466
+ this.logger.debug(`Invalid sdk version "${expectedSdkVersion}" in cli package.json`);
467
+ return;
468
+ }
469
+ if (import_semver.default.eq(actualCleanedSdkVersion, expectedCleanedSdkVersion)) {
470
+ return;
471
+ }
472
+ const diff = import_semver.default.diff(actualCleanedSdkVersion, expectedCleanedSdkVersion);
473
+ if (!diff) {
474
+ this.logger.debug(`Could not compare versions "${actualCleanedSdkVersion}" and "${expectedCleanedSdkVersion}"`);
475
+ return;
476
+ }
477
+ const errorMsg = `Project SDK version is "${actualCleanedSdkVersion}", but expected "${expectedCleanedSdkVersion}"`;
478
+ if (utils.semver.releases.lt(diff, "minor")) {
479
+ this.logger.debug(`${errorMsg}. This may cause compatibility issues.`);
480
+ return;
481
+ }
482
+ this.logger.warn(import_chalk.default.bold(`${errorMsg}. This will cause compatibility issues.`));
483
+ } catch (thrown) {
484
+ const err = errors.BotpressCLIError.map(thrown);
485
+ this.logger.debug(`Failed to check if sdk is up to date: ${err.message}`);
486
+ }
487
+ };
488
+ validateIntegrationRegistration(updatedBot, onFailCallback) {
489
+ let failedIntegrations = {};
490
+ for (const [integrationName, integration] of Object.entries(updatedBot.integrations)) {
491
+ if (integration.status === "registration_failed") {
492
+ failedIntegrations = { ...failedIntegrations, [integrationName]: integration };
493
+ }
494
+ }
495
+ if (Object.keys(failedIntegrations).length > 0) {
496
+ onFailCallback(failedIntegrations);
497
+ }
498
+ }
499
+ }
500
+ // Annotate the CommonJS export names for ESM import in node:
501
+ 0 && (module.exports = {
502
+ ProjectCommand,
503
+ ProjectDefinitionContext
504
+ });
505
+ //# sourceMappingURL=project-command.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/command-implementations/project-command.ts"],
4
+ "sourcesContent": ["import type * as client from '@botpress/client'\nimport type * as sdk from '@botpress/sdk'\nimport type { YargsConfig } from '@bpinternal/yargs-extra'\nimport chalk from 'chalk'\nimport fs from 'fs'\nimport _ from 'lodash'\nimport semver from 'semver'\nimport * as apiUtils from '../api'\nimport * as codegen from '../code-generation'\nimport * as config from '../config'\nimport * as consts from '../consts'\nimport * as errors from '../errors'\nimport { validateIntegrationDefinition, validateBotDefinition } from '../sdk'\nimport type { CommandArgv, CommandDefinition } from '../typings'\nimport * as utils from '../utils'\nimport { GlobalCommand } from './global-command'\n\nexport type ProjectCommandDefinition = CommandDefinition<typeof config.schemas.project>\nexport type ProjectCache = { botId: string; devId: string; tunnelId: string }\n\ntype ConfigurableProjectPaths = { workDir: string }\ntype ConstantProjectPaths = typeof consts.fromWorkDir\ntype AllProjectPaths = ConfigurableProjectPaths & ConstantProjectPaths\n\ntype LintIgnoredConfig = { bpLintDisabled?: boolean }\n\nexport type ProjectType = ProjectDefinition['type']\nexport type ProjectDefinition = LintIgnoredConfig &\n (\n | { type: 'integration'; definition: sdk.IntegrationDefinition }\n | { type: 'interface'; definition: sdk.InterfaceDefinition }\n | { type: 'bot'; definition: sdk.BotDefinition }\n | { type: 'plugin'; definition: sdk.PluginDefinition }\n )\n\ntype ProjectDefinitionResolver<T> = () => Promise<LintIgnoredConfig & T>\n\nexport type ProjectDefinitionLazy =\n | {\n projectType: 'integration'\n resolveProjectDefinition: ProjectDefinitionResolver<{\n type: 'integration'\n definition: sdk.IntegrationDefinition\n }>\n }\n | {\n projectType: 'bot'\n resolveProjectDefinition: ProjectDefinitionResolver<{ type: 'bot'; definition: sdk.BotDefinition }>\n }\n | {\n projectType: 'interface'\n resolveProjectDefinition: ProjectDefinitionResolver<{ type: 'interface'; definition: sdk.InterfaceDefinition }>\n }\n | {\n projectType: 'plugin'\n resolveProjectDefinition: ProjectDefinitionResolver<{ type: 'plugin'; definition: sdk.PluginDefinition }>\n }\n\ntype UpdatedBot = client.Bot\n\nclass ProjectPaths extends utils.path.PathStore<keyof AllProjectPaths> {\n public constructor(argv: CommandArgv<ProjectCommandDefinition>) {\n const absWorkDir = utils.path.absoluteFrom(utils.path.cwd(), argv.workDir)\n super({\n workDir: absWorkDir,\n ..._.mapValues(consts.fromWorkDir, (p) => utils.path.absoluteFrom(absWorkDir, p)),\n })\n }\n}\n\nexport class ProjectDefinitionContext {\n private _codeCache: Map<string, object> = new Map()\n private _buildContext: utils.esbuild.BuildEntrypointContext = new utils.esbuild.BuildEntrypointContext()\n\n public getOrResolveDefinition<T extends object>(code: string): T {\n const definition = this._codeCache.get(code)\n if (definition) {\n return definition as T\n }\n const result = utils.require.requireJsCode<{ default: object }>(code)\n this._codeCache.set(code, result.default)\n return result.default as T\n }\n\n public rebuildEntrypoint(...args: Parameters<utils.esbuild.BuildEntrypointContext['rebuild']>) {\n return this._buildContext.rebuild(...args)\n }\n}\n\nexport abstract class ProjectCommand<C extends ProjectCommandDefinition> extends GlobalCommand<C> {\n protected projectContext: ProjectDefinitionContext = new ProjectDefinitionContext()\n\n public setProjectContext(projectContext: ProjectDefinitionContext) {\n this.projectContext = projectContext\n return this\n }\n\n protected override async bootstrap() {\n await super.bootstrap()\n await this._notifyUpdateSdk()\n }\n\n protected get projectPaths() {\n return new ProjectPaths(this.argv)\n }\n\n protected get projectCache() {\n return new utils.cache.FSKeyValueCache<ProjectCache>(this.projectPaths.abs.projectCacheFile)\n }\n\n private _readProjectType(projectPaths: ProjectPaths): ProjectType {\n const abs = projectPaths.abs\n if (fs.existsSync(abs.integrationDefinition)) {\n return 'integration'\n }\n if (fs.existsSync(abs.interfaceDefinition)) {\n return 'interface'\n }\n if (fs.existsSync(abs.botDefinition)) {\n return 'bot'\n }\n if (fs.existsSync(abs.pluginDefinition)) {\n return 'plugin'\n }\n throw new errors.UnsupportedProjectType()\n }\n\n protected readProjectDefinitionFromFS(): ProjectDefinitionLazy {\n try {\n const type = this._readProjectType(this.projectPaths)\n if (type === 'integration') {\n return {\n projectType: 'integration',\n resolveProjectDefinition: async () => ({\n type: 'integration',\n ...(await this._readIntegrationDefinitionFromFS(this.projectPaths)),\n }),\n }\n }\n if (type === 'plugin') {\n return {\n projectType: 'plugin',\n resolveProjectDefinition: async () => ({\n type: 'plugin',\n ...(await this._readPluginDefinitionFromFS(this.projectPaths)),\n }),\n }\n }\n if (type === 'interface') {\n return {\n projectType: 'interface',\n resolveProjectDefinition: async () => ({\n type: 'interface',\n ...(await this._readInterfaceDefinitionFromFS(this.projectPaths)),\n }),\n }\n }\n if (type === 'bot') {\n return {\n projectType: 'bot',\n resolveProjectDefinition: async () => ({\n type: 'bot',\n ...(await this._readBotDefinitionFromFS(this.projectPaths)),\n }),\n }\n }\n } catch (thrown: unknown) {\n throw errors.BotpressCLIError.wrap(thrown, 'Error while reading project definition')\n }\n throw new errors.ProjectDefinitionNotFoundError(this.projectPaths.abs.workDir)\n }\n\n private async _readIntegrationDefinitionFromFS(\n projectPaths: utils.path.PathStore<'workDir' | 'integrationDefinition'>\n ): Promise<{ definition: sdk.IntegrationDefinition } & LintIgnoredConfig> {\n const abs = projectPaths.abs\n const rel = projectPaths.rel('workDir')\n\n if (!fs.existsSync(abs.integrationDefinition)) {\n throw new errors.BotpressCLIError('Could not read integration definition')\n }\n\n const bpLintDisabled = await this._isBpLintDisabled(abs.integrationDefinition)\n\n const { outputFiles } = await this.projectContext.rebuildEntrypoint({\n absWorkingDir: abs.workDir,\n entrypoint: rel.integrationDefinition,\n })\n\n const artifact = outputFiles?.[0]\n if (!artifact) {\n throw new errors.BotpressCLIError('Could not read integration definition')\n }\n\n const definition = this.projectContext.getOrResolveDefinition<sdk.IntegrationDefinition>(artifact.text)\n validateIntegrationDefinition(definition)\n return { definition, bpLintDisabled }\n }\n\n private async _readInterfaceDefinitionFromFS(\n projectPaths: utils.path.PathStore<'workDir' | 'interfaceDefinition'>\n ): Promise<{ definition: sdk.InterfaceDefinition } & LintIgnoredConfig> {\n const abs = projectPaths.abs\n const rel = projectPaths.rel('workDir')\n\n if (!fs.existsSync(abs.interfaceDefinition)) {\n throw new errors.BotpressCLIError('Could not read interface definition')\n }\n\n const bpLintDisabled = await this._isBpLintDisabled(abs.interfaceDefinition)\n\n const { outputFiles } = await this.projectContext.rebuildEntrypoint({\n absWorkingDir: abs.workDir,\n entrypoint: rel.interfaceDefinition,\n })\n\n const artifact = outputFiles?.[0]\n if (!artifact) {\n throw new errors.BotpressCLIError('Could not read interface definition')\n }\n\n const definition = this.projectContext.getOrResolveDefinition<sdk.InterfaceDefinition>(artifact.text)\n\n return { definition, bpLintDisabled }\n }\n\n private async _readBotDefinitionFromFS(\n projectPaths: utils.path.PathStore<'workDir' | 'botDefinition'>\n ): Promise<{ definition: sdk.BotDefinition } & LintIgnoredConfig> {\n const abs = projectPaths.abs\n const rel = projectPaths.rel('workDir')\n\n if (!fs.existsSync(abs.botDefinition)) {\n throw new errors.BotpressCLIError('Could not read bot definition')\n }\n\n const bpLintDisabled = await this._isBpLintDisabled(abs.botDefinition)\n\n const { outputFiles } = await this.projectContext.rebuildEntrypoint({\n absWorkingDir: abs.workDir,\n entrypoint: rel.botDefinition,\n })\n\n const artifact = outputFiles?.[0]\n if (!artifact) {\n throw new errors.BotpressCLIError('Could not read bot definition')\n }\n\n const definition = this.projectContext.getOrResolveDefinition<sdk.BotDefinition>(artifact.text)\n validateBotDefinition(definition)\n return { definition, bpLintDisabled }\n }\n\n private async _readPluginDefinitionFromFS(\n projectPaths: utils.path.PathStore<'workDir' | 'pluginDefinition'>\n ): Promise<{ definition: sdk.PluginDefinition } & LintIgnoredConfig> {\n const abs = projectPaths.abs\n const rel = projectPaths.rel('workDir')\n\n if (!fs.existsSync(abs.pluginDefinition)) {\n throw new errors.BotpressCLIError('Could not read plugin definition')\n }\n\n const bpLintDisabled = await this._isBpLintDisabled(abs.pluginDefinition)\n\n const { outputFiles } = await this.projectContext.rebuildEntrypoint({\n absWorkingDir: abs.workDir,\n entrypoint: rel.pluginDefinition,\n })\n\n const artifact = outputFiles?.[0]\n if (!artifact) {\n throw new errors.BotpressCLIError('Could not read plugin definition')\n }\n\n const definition = this.projectContext.getOrResolveDefinition<sdk.PluginDefinition>(artifact.text)\n // TODO: validate plugin definition\n return { definition, bpLintDisabled }\n }\n\n private async _isBpLintDisabled(definitionPath: string): Promise<boolean> {\n const tsContent = await fs.promises.readFile(definitionPath, 'utf-8')\n const regex = /\\/\\* bplint-disable \\*\\//\n return regex.test(tsContent)\n }\n\n protected displayWebhookUrls(bot: client.Bot) {\n if (!_.keys(bot.integrations).length) {\n this.logger.debug('No integrations in bot')\n return\n }\n\n this.logger.log('Integrations:')\n for (const integration of Object.values(bot.integrations).filter(utils.guards.is.defined)) {\n if (!integration.enabled) {\n this.logger.log(`${chalk.grey(integration.name)} ${chalk.italic('(disabled)')}: ${integration.webhookUrl}`, {\n prefix: { symbol: '\u25CB', indent: 2 },\n })\n } else {\n this.logger.log(`${chalk.bold(integration.name)} : ${integration.webhookUrl}`, {\n prefix: { symbol: '\u25CF', indent: 2 },\n })\n }\n }\n }\n\n protected async promptSecrets(\n integrationDef: sdk.IntegrationDefinition,\n argv: YargsConfig<typeof config.schemas.secrets>,\n opts: { formatEnv?: boolean; knownSecrets?: string[] } = {}\n ): Promise<Record<string, string | null>> {\n const formatEnv = opts.formatEnv ?? false\n const knownSecrets = opts.knownSecrets ?? []\n\n const { secrets: secretDefinitions } = integrationDef\n if (!secretDefinitions) {\n return {}\n }\n\n const secretArgv = this._parseArgvSecrets(argv.secrets)\n const invalidSecret = Object.keys(secretArgv).find((s) => !secretDefinitions[s])\n if (invalidSecret) {\n throw new errors.BotpressCLIError(`Secret ${invalidSecret} is not defined in integration definition`)\n }\n\n const values: Record<string, string | null> = {}\n for (const [secretName, { optional }] of Object.entries(secretDefinitions)) {\n const argvSecret = secretArgv[secretName]\n if (argvSecret) {\n this.logger.debug(`Using secret \"${secretName}\" from argv`)\n values[secretName] = argvSecret\n continue\n }\n\n const alreadyKnown = knownSecrets.includes(secretName)\n let mode: string\n if (alreadyKnown) {\n mode = 'already set'\n } else if (optional) {\n mode = 'optional'\n } else {\n mode = 'required'\n }\n\n const prompted = await this.prompt.text(`Enter value for secret \"${secretName}\" (${mode})`)\n if (prompted) {\n values[secretName] = prompted\n continue\n }\n\n if (alreadyKnown) {\n this.logger.log(`Secret \"${secretName}\" is unchanged`)\n } else if (optional) {\n this.logger.warn(`Secret \"${secretName}\" is unassigned`)\n } else {\n throw new errors.BotpressCLIError(`Secret \"${secretName}\" is required`)\n }\n }\n\n for (const secretName of knownSecrets) {\n const isDefined = secretName in secretDefinitions\n if (isDefined) {\n continue\n }\n const prompted = await this.prompt.confirm(`Secret \"${secretName}\" was removed. Do you wish to delete it?`)\n if (prompted) {\n this.logger.log(`Deleting secret \"${secretName}\"`, { prefix: { symbol: '\u00D7', fg: 'red' } })\n values[secretName] = null\n }\n }\n\n if (!formatEnv) {\n return values\n }\n\n const envVariables = _.mapKeys(values, (_v, k) => codegen.secretEnvVariableName(k))\n return envVariables\n }\n\n protected async prepareCreateIntegrationBody(\n integrationDef: sdk.IntegrationDefinition\n ): Promise<apiUtils.CreateIntegrationRequestBody> {\n const partialBody = await apiUtils.prepareCreateIntegrationBody(integrationDef)\n\n let code: string | undefined = undefined\n if (fs.existsSync(this.projectPaths.abs.outFileCJS)) {\n code = await this.readProjectFile(this.projectPaths.abs.outFileCJS)\n }\n\n const icon = await this.readProjectFile(integrationDef.icon, 'base64')\n const readme = await this.readProjectFile(integrationDef.readme, 'base64')\n const extractScript = await this.readProjectFile(integrationDef.identifier?.extractScript)\n const fallbackHandlerScript = await this.readProjectFile(integrationDef.identifier?.fallbackHandlerScript)\n return {\n ...partialBody,\n code,\n icon,\n readme,\n identifier: {\n extractScript,\n fallbackHandlerScript,\n },\n configuration: integrationDef.configuration\n ? {\n schema: await utils.schema.mapZodToJsonSchema(integrationDef.configuration, {\n useLegacyZuiTransformer: integrationDef.__advanced?.useLegacyZuiTransformer,\n }),\n identifier: {\n required: integrationDef.configuration.identifier?.required,\n linkTemplateScript: await this.readProjectFile(\n integrationDef.configuration.identifier?.linkTemplateScript\n ),\n },\n }\n : undefined,\n configurations: integrationDef.configurations\n ? await utils.records.mapValuesAsync(integrationDef.configurations, async (configuration) => ({\n title: configuration.title,\n description: configuration.description,\n schema: await utils.schema.mapZodToJsonSchema(configuration, {\n useLegacyZuiTransformer: integrationDef.__advanced?.useLegacyZuiTransformer,\n }),\n identifier: {\n required: configuration.identifier?.required,\n linkTemplateScript: await this.readProjectFile(configuration.identifier?.linkTemplateScript),\n },\n }))\n : undefined,\n }\n }\n\n protected async prepareBotDependencies(\n botDef: sdk.BotDefinition,\n api: apiUtils.ApiClient\n ): Promise<Partial<apiUtils.UpdateBotRequestBody>> {\n const integrations = await this._fetchDependencies(botDef.integrations ?? {}, ({ name, version }) =>\n api.getPublicOrPrivateIntegration({ type: 'name', name, version })\n )\n\n const plugins = await this._fetchDependencies(\n botDef.plugins ?? {},\n async ({ name, version }) => await api.getPublicOrPrivatePlugin({ type: 'name', name, version })\n )\n\n const pluginsWithBackingIntegrations = await utils.records.mapValuesAsync(plugins, async (plugin) => ({\n ...plugin,\n interfaces: await this._fetchDependencies(\n plugin.interfaces ?? {},\n async (interfaceExtension) => await api.getPublicOrPrivateIntegration({ ...interfaceExtension, type: 'name' })\n ),\n }))\n\n return {\n integrations: _(integrations)\n .keyBy((i) => i.id)\n .mapValues(\n ({ enabled, configurationType, configuration, disabledChannels }) =>\n ({\n enabled,\n configurationType,\n configuration,\n disabledChannels,\n }) satisfies NonNullable<apiUtils.UpdateBotRequestBody['integrations']>[string]\n )\n .value(),\n plugins: utils.records.mapValues(pluginsWithBackingIntegrations, (plugin) => ({\n ...plugin,\n interfaces: utils.records.mapValues(plugin.interfaces ?? {}, (iface) => ({\n ...iface,\n integrationId: iface.id,\n })),\n })),\n }\n }\n\n protected async prepareIntegrationDependencies(\n integrationDef: sdk.IntegrationDefinition,\n api: apiUtils.ApiClient\n ): Promise<Partial<apiUtils.CreateIntegrationRequestBody>> {\n const interfaces = await this._fetchDependencies(integrationDef.interfaces ?? {}, ({ name, version }) =>\n api.getPublicInterface({ type: 'name', name, version })\n )\n return { interfaces }\n }\n\n protected async preparePluginDependencies(\n pluginDef: sdk.PluginDefinition,\n api: apiUtils.ApiClient\n ): Promise<Partial<apiUtils.CreatePluginRequestBody>> {\n const integrations = await this._fetchDependencies(pluginDef.integrations ?? {}, ({ name, version }) =>\n api.getPublicOrPrivateIntegration({ type: 'name', name, version })\n )\n const interfaces = await this._fetchDependencies(pluginDef.interfaces ?? {}, ({ name, version }) =>\n api.getPublicInterface({ type: 'name', name, version })\n )\n return {\n dependencies: {\n integrations,\n interfaces,\n },\n }\n }\n\n private _fetchDependencies = async <T extends { id?: string; name: string; version: string }>(\n deps: Record<string, T>,\n fetcher: (dep: T) => Promise<{ id: string }>\n ): Promise<Record<string, T & { id: string }>> => {\n const isRemote = (dep: T): dep is T & { id: string } => dep.id !== undefined\n return utils.records.mapValuesAsync(deps, async (dep): Promise<T & { id: string }> => {\n if (isRemote(dep)) {\n return dep\n }\n const { id } = await fetcher(dep)\n return { ...dep, id }\n })\n }\n\n protected readProjectFile = async (\n filePath: string | undefined,\n encoding: BufferEncoding = 'utf-8'\n ): Promise<string | undefined> => {\n if (!filePath) {\n return undefined\n }\n const absoluteFilePath = utils.path.absoluteFrom(this.projectPaths.abs.workDir, filePath)\n return fs.promises.readFile(absoluteFilePath, encoding).catch((thrown) => {\n throw errors.BotpressCLIError.wrap(thrown, `Could not read file \"${absoluteFilePath}\"`)\n })\n }\n\n private _parseArgvSecrets(argvSecrets: string[]): Record<string, string> {\n const parsed: Record<string, string> = {}\n for (const secret of argvSecrets) {\n const [key, value] = utils.string.splitOnce(secret, '=')\n if (!value) {\n throw new errors.BotpressCLIError(\n `Secret \"${key}\" is missing a value. Expected format: \"SECRET_NAME=secretValue\"`\n )\n }\n parsed[key!] = value\n }\n\n return parsed\n }\n\n private _notifyUpdateSdk = async (): Promise<void> => {\n try {\n this.logger.debug('Checking if sdk is up to date')\n\n const { workDir } = this.projectPaths.abs\n const projectPkgJson = await utils.pkgJson.readPackageJson(workDir)\n if (!projectPkgJson) {\n this.logger.debug(`Could not find package.json at \"${workDir}\"`)\n return\n }\n\n const sdkPackageName = '@botpress/sdk'\n const actualSdkVersion = utils.pkgJson.findDependency(projectPkgJson, sdkPackageName)\n if (!actualSdkVersion) {\n this.logger.debug(`Could not find dependency \"${sdkPackageName}\" in project package.json`)\n return\n }\n\n if (actualSdkVersion.startsWith('workspace:')) {\n return\n }\n\n const actualCleanedSdkVersion = semver.valid(semver.coerce(actualSdkVersion))\n if (!actualCleanedSdkVersion) {\n this.logger.debug(`Invalid sdk version \"${actualSdkVersion}\" in project package.json`)\n return\n }\n\n const cliPkgJson = await this.readPkgJson()\n const expectedSdkVersion = utils.pkgJson.findDependency(cliPkgJson, sdkPackageName)\n if (!expectedSdkVersion) {\n this.logger.debug(`Could not find dependency \"${sdkPackageName}\" in cli package.json`)\n return\n }\n\n const expectedCleanedSdkVersion = semver.valid(semver.coerce(expectedSdkVersion))\n if (!expectedCleanedSdkVersion) {\n this.logger.debug(`Invalid sdk version \"${expectedSdkVersion}\" in cli package.json`)\n return\n }\n\n if (semver.eq(actualCleanedSdkVersion, expectedCleanedSdkVersion)) {\n return\n }\n\n const diff = semver.diff(actualCleanedSdkVersion, expectedCleanedSdkVersion)\n if (!diff) {\n this.logger.debug(`Could not compare versions \"${actualCleanedSdkVersion}\" and \"${expectedCleanedSdkVersion}\"`)\n return\n }\n\n const errorMsg = `Project SDK version is \"${actualCleanedSdkVersion}\", but expected \"${expectedCleanedSdkVersion}\"`\n if (utils.semver.releases.lt(diff, 'minor')) {\n this.logger.debug(`${errorMsg}. This may cause compatibility issues.`)\n return\n }\n\n this.logger.warn(chalk.bold(`${errorMsg}. This will cause compatibility issues.`))\n } catch (thrown) {\n const err = errors.BotpressCLIError.map(thrown)\n this.logger.debug(`Failed to check if sdk is up to date: ${err.message}`)\n }\n }\n protected validateIntegrationRegistration(\n updatedBot: UpdatedBot,\n onFailCallback: (failedIntegrations: UpdatedBot['integrations']) => void\n ) {\n let failedIntegrations: UpdatedBot['integrations'] = {}\n for (const [integrationName, integration] of Object.entries(updatedBot.integrations)) {\n if (integration.status === 'registration_failed') {\n failedIntegrations = { ...failedIntegrations, [integrationName]: integration }\n }\n }\n if (Object.keys(failedIntegrations).length > 0) {\n onFailCallback(failedIntegrations)\n }\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["_", "fs", "chalk", "semver"]
7
+ }
@@ -0,0 +1,10 @@
1
+ import commandDefinitions from '../command-definitions';
2
+ import { ProjectCommand } from './project-command';
3
+ export type ReadCommandDefinition = typeof commandDefinitions.read;
4
+ export declare class ReadCommand extends ProjectCommand<ReadCommandDefinition> {
5
+ run(): Promise<void>;
6
+ private _parseIntegration;
7
+ private _parseInterface;
8
+ private _parseBot;
9
+ private _parsePlugin;
10
+ }