@botpress/cli 2.1.1 → 2.1.2

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 (380) hide show
  1. package/.turbo/turbo-build.log +22 -0
  2. package/dist/api/bot-body.js +89 -0
  3. package/dist/api/bot-body.js.map +7 -0
  4. package/dist/api/client.js +169 -0
  5. package/dist/api/client.js.map +7 -0
  6. package/dist/api/find-previous-version.js +66 -0
  7. package/dist/api/find-previous-version.js.map +7 -0
  8. package/dist/api/find-previous-version.test.js +76 -0
  9. package/dist/api/find-previous-version.test.js.map +7 -0
  10. package/dist/api/index.js +23 -0
  11. package/dist/api/index.js.map +7 -0
  12. package/dist/api/integration-body.js +146 -0
  13. package/dist/api/integration-body.js.map +7 -0
  14. package/dist/api/interface-body.js +95 -0
  15. package/dist/api/interface-body.js.map +7 -0
  16. package/dist/api/paging.js +42 -0
  17. package/dist/api/paging.js.map +7 -0
  18. package/dist/api/plugin-body.js +84 -0
  19. package/dist/api/plugin-body.js.map +7 -0
  20. package/dist/api/types.js +17 -0
  21. package/dist/api/types.js.map +7 -0
  22. package/dist/chat/index.js +211 -0
  23. package/dist/chat/index.js.map +7 -0
  24. package/dist/code-generation/bot-implementation/bot-implementation.js +116 -0
  25. package/dist/code-generation/bot-implementation/bot-implementation.js.map +7 -0
  26. package/dist/code-generation/bot-implementation/bot-plugins/index.js +80 -0
  27. package/dist/code-generation/bot-implementation/bot-plugins/index.js.map +7 -0
  28. package/dist/code-generation/bot-implementation/bot-plugins/plugin-module.js +129 -0
  29. package/dist/code-generation/bot-implementation/bot-plugins/plugin-module.js.map +7 -0
  30. package/dist/code-generation/bot-implementation/bot-typings/actions-module.js +88 -0
  31. package/dist/code-generation/bot-implementation/bot-typings/actions-module.js.map +7 -0
  32. package/dist/code-generation/bot-implementation/bot-typings/events-module.js +63 -0
  33. package/dist/code-generation/bot-implementation/bot-typings/events-module.js.map +7 -0
  34. package/dist/code-generation/bot-implementation/bot-typings/index.js +109 -0
  35. package/dist/code-generation/bot-implementation/bot-typings/index.js.map +7 -0
  36. package/dist/code-generation/bot-implementation/bot-typings/states-module.js +64 -0
  37. package/dist/code-generation/bot-implementation/bot-typings/states-module.js.map +7 -0
  38. package/dist/code-generation/bot-implementation/index.js +66 -0
  39. package/dist/code-generation/bot-implementation/index.js.map +7 -0
  40. package/dist/code-generation/consts.js +45 -0
  41. package/dist/code-generation/consts.js.map +7 -0
  42. package/dist/code-generation/generators.js +81 -0
  43. package/dist/code-generation/generators.js.map +7 -0
  44. package/dist/code-generation/index.js +49 -0
  45. package/dist/code-generation/index.js.map +7 -0
  46. package/dist/code-generation/integration-implementation/index.js +70 -0
  47. package/dist/code-generation/integration-implementation/index.js.map +7 -0
  48. package/dist/code-generation/integration-implementation/integration-implementation.js +114 -0
  49. package/dist/code-generation/integration-implementation/integration-implementation.js.map +7 -0
  50. package/dist/code-generation/integration-implementation/integration-secret.js +78 -0
  51. package/dist/code-generation/integration-implementation/integration-secret.js.map +7 -0
  52. package/dist/code-generation/integration-implementation/integration-typings/actions-module.js +88 -0
  53. package/dist/code-generation/integration-implementation/integration-typings/actions-module.js.map +7 -0
  54. package/dist/code-generation/integration-implementation/integration-typings/channels-module.js +107 -0
  55. package/dist/code-generation/integration-implementation/integration-typings/channels-module.js.map +7 -0
  56. package/dist/code-generation/integration-implementation/integration-typings/configuration-module.js +62 -0
  57. package/dist/code-generation/integration-implementation/integration-typings/configuration-module.js.map +7 -0
  58. package/dist/code-generation/integration-implementation/integration-typings/configurations-module.js +70 -0
  59. package/dist/code-generation/integration-implementation/integration-typings/configurations-module.js.map +7 -0
  60. package/dist/code-generation/integration-implementation/integration-typings/entities-module.js +63 -0
  61. package/dist/code-generation/integration-implementation/integration-typings/entities-module.js.map +7 -0
  62. package/dist/code-generation/integration-implementation/integration-typings/events-module.js +63 -0
  63. package/dist/code-generation/integration-implementation/integration-typings/events-module.js.map +7 -0
  64. package/dist/code-generation/integration-implementation/integration-typings/index.js +128 -0
  65. package/dist/code-generation/integration-implementation/integration-typings/index.js.map +7 -0
  66. package/dist/code-generation/integration-implementation/integration-typings/states-module.js +64 -0
  67. package/dist/code-generation/integration-implementation/integration-typings/states-module.js.map +7 -0
  68. package/dist/code-generation/integration-package/index.js +94 -0
  69. package/dist/code-generation/integration-package/index.js.map +7 -0
  70. package/dist/code-generation/integration-package/integration-package-definition/actions-module.js +88 -0
  71. package/dist/code-generation/integration-package/integration-package-definition/actions-module.js.map +7 -0
  72. package/dist/code-generation/integration-package/integration-package-definition/channels-module.js +107 -0
  73. package/dist/code-generation/integration-package/integration-package-definition/channels-module.js.map +7 -0
  74. package/dist/code-generation/integration-package/integration-package-definition/configuration-module.js +63 -0
  75. package/dist/code-generation/integration-package/integration-package-definition/configuration-module.js.map +7 -0
  76. package/dist/code-generation/integration-package/integration-package-definition/configurations-module.js +70 -0
  77. package/dist/code-generation/integration-package/integration-package-definition/configurations-module.js.map +7 -0
  78. package/dist/code-generation/integration-package/integration-package-definition/entities-module.js +63 -0
  79. package/dist/code-generation/integration-package/integration-package-definition/entities-module.js.map +7 -0
  80. package/dist/code-generation/integration-package/integration-package-definition/events-module.js +66 -0
  81. package/dist/code-generation/integration-package/integration-package-definition/events-module.js.map +7 -0
  82. package/dist/code-generation/integration-package/integration-package-definition/index.js +140 -0
  83. package/dist/code-generation/integration-package/integration-package-definition/index.js.map +7 -0
  84. package/dist/code-generation/integration-package/integration-package-definition/states-module.js +66 -0
  85. package/dist/code-generation/integration-package/integration-package-definition/states-module.js.map +7 -0
  86. package/dist/code-generation/integration-package/integration-package-definition/typings.js +17 -0
  87. package/dist/code-generation/integration-package/integration-package-definition/typings.js.map +7 -0
  88. package/dist/code-generation/interface-implementation/index.js +29 -0
  89. package/dist/code-generation/interface-implementation/index.js.map +7 -0
  90. package/dist/code-generation/interface-implementation/integration-typings/actions-module.js +88 -0
  91. package/dist/code-generation/interface-implementation/integration-typings/actions-module.js.map +7 -0
  92. package/dist/code-generation/interface-implementation/integration-typings/channels-module.js +107 -0
  93. package/dist/code-generation/interface-implementation/integration-typings/channels-module.js.map +7 -0
  94. package/dist/code-generation/interface-implementation/integration-typings/entities-module.js +63 -0
  95. package/dist/code-generation/interface-implementation/integration-typings/entities-module.js.map +7 -0
  96. package/dist/code-generation/interface-implementation/integration-typings/events-module.js +63 -0
  97. package/dist/code-generation/interface-implementation/integration-typings/events-module.js.map +7 -0
  98. package/dist/code-generation/interface-implementation/integration-typings/index.js +121 -0
  99. package/dist/code-generation/interface-implementation/integration-typings/index.js.map +7 -0
  100. package/dist/code-generation/interface-package/index.js +94 -0
  101. package/dist/code-generation/interface-package/index.js.map +7 -0
  102. package/dist/code-generation/interface-package/interface-package-definition/actions-module.js +88 -0
  103. package/dist/code-generation/interface-package/interface-package-definition/actions-module.js.map +7 -0
  104. package/dist/code-generation/interface-package/interface-package-definition/channels-module.js +98 -0
  105. package/dist/code-generation/interface-package/interface-package-definition/channels-module.js.map +7 -0
  106. package/dist/code-generation/interface-package/interface-package-definition/entities-module.js +63 -0
  107. package/dist/code-generation/interface-package/interface-package-definition/entities-module.js.map +7 -0
  108. package/dist/code-generation/interface-package/interface-package-definition/events-module.js +66 -0
  109. package/dist/code-generation/interface-package/interface-package-definition/events-module.js.map +7 -0
  110. package/dist/code-generation/interface-package/interface-package-definition/index.js +104 -0
  111. package/dist/code-generation/interface-package/interface-package-definition/index.js.map +7 -0
  112. package/dist/code-generation/interface-package/interface-package-definition/typings.js +17 -0
  113. package/dist/code-generation/interface-package/interface-package-definition/typings.js.map +7 -0
  114. package/dist/code-generation/module.js +183 -0
  115. package/dist/code-generation/module.js.map +7 -0
  116. package/dist/code-generation/plugin-implementation/index.js +60 -0
  117. package/dist/code-generation/plugin-implementation/index.js.map +7 -0
  118. package/dist/code-generation/plugin-implementation/plugin-implementation.js +90 -0
  119. package/dist/code-generation/plugin-implementation/plugin-implementation.js.map +7 -0
  120. package/dist/code-generation/plugin-implementation/plugin-typings/actions-module.js +88 -0
  121. package/dist/code-generation/plugin-implementation/plugin-typings/actions-module.js.map +7 -0
  122. package/dist/code-generation/plugin-implementation/plugin-typings/configuration-module.js +61 -0
  123. package/dist/code-generation/plugin-implementation/plugin-typings/configuration-module.js.map +7 -0
  124. package/dist/code-generation/plugin-implementation/plugin-typings/events-module.js +63 -0
  125. package/dist/code-generation/plugin-implementation/plugin-typings/events-module.js.map +7 -0
  126. package/dist/code-generation/plugin-implementation/plugin-typings/index.js +150 -0
  127. package/dist/code-generation/plugin-implementation/plugin-typings/index.js.map +7 -0
  128. package/dist/code-generation/plugin-implementation/plugin-typings/states-module.js +64 -0
  129. package/dist/code-generation/plugin-implementation/plugin-typings/states-module.js.map +7 -0
  130. package/dist/code-generation/plugin-package/index.js +151 -0
  131. package/dist/code-generation/plugin-package/index.js.map +7 -0
  132. package/dist/code-generation/plugin-package/plugin-package-definition/actions-module.js +88 -0
  133. package/dist/code-generation/plugin-package/plugin-package-definition/actions-module.js.map +7 -0
  134. package/dist/code-generation/plugin-package/plugin-package-definition/configuration-module.js +56 -0
  135. package/dist/code-generation/plugin-package/plugin-package-definition/configuration-module.js.map +7 -0
  136. package/dist/code-generation/plugin-package/plugin-package-definition/events-module.js +66 -0
  137. package/dist/code-generation/plugin-package/plugin-package-definition/events-module.js.map +7 -0
  138. package/dist/code-generation/plugin-package/plugin-package-definition/index.js +107 -0
  139. package/dist/code-generation/plugin-package/plugin-package-definition/index.js.map +7 -0
  140. package/dist/code-generation/plugin-package/plugin-package-definition/states-module.js +66 -0
  141. package/dist/code-generation/plugin-package/plugin-package-definition/states-module.js.map +7 -0
  142. package/dist/code-generation/plugin-package/plugin-package-definition/typings.js +17 -0
  143. package/dist/code-generation/plugin-package/plugin-package-definition/typings.js.map +7 -0
  144. package/dist/code-generation/strings.js +115 -0
  145. package/dist/code-generation/strings.js.map +7 -0
  146. package/dist/code-generation/typings.js +17 -0
  147. package/dist/code-generation/typings.js.map +7 -0
  148. package/dist/command-definitions.js +85 -0
  149. package/dist/command-definitions.js.map +7 -0
  150. package/dist/command-implementations/add-command.js +262 -0
  151. package/dist/command-implementations/add-command.js.map +7 -0
  152. package/dist/command-implementations/base-command.js +69 -0
  153. package/dist/command-implementations/base-command.js.map +7 -0
  154. package/dist/command-implementations/bot-commands.js +117 -0
  155. package/dist/command-implementations/bot-commands.js.map +7 -0
  156. package/dist/command-implementations/build-command.js +53 -0
  157. package/dist/command-implementations/build-command.js.map +7 -0
  158. package/dist/command-implementations/bundle-command.js +87 -0
  159. package/dist/command-implementations/bundle-command.js.map +7 -0
  160. package/dist/command-implementations/chat-command.js +152 -0
  161. package/dist/command-implementations/chat-command.js.map +7 -0
  162. package/dist/command-implementations/deploy-command.js +503 -0
  163. package/dist/command-implementations/deploy-command.js.map +7 -0
  164. package/dist/command-implementations/dev-command.js +345 -0
  165. package/dist/command-implementations/dev-command.js.map +7 -0
  166. package/dist/command-implementations/gen-command.js +110 -0
  167. package/dist/command-implementations/gen-command.js.map +7 -0
  168. package/dist/command-implementations/global-command.js +137 -0
  169. package/dist/command-implementations/global-command.js.map +7 -0
  170. package/dist/command-implementations/index.js +105 -0
  171. package/dist/command-implementations/index.js.map +7 -0
  172. package/dist/command-implementations/init-command.js +162 -0
  173. package/dist/command-implementations/init-command.js.map +7 -0
  174. package/dist/command-implementations/integration-commands.js +130 -0
  175. package/dist/command-implementations/integration-commands.js.map +7 -0
  176. package/dist/command-implementations/interface-commands.js +110 -0
  177. package/dist/command-implementations/interface-commands.js.map +7 -0
  178. package/dist/command-implementations/lint-command.js +151 -0
  179. package/dist/command-implementations/lint-command.js.map +7 -0
  180. package/dist/command-implementations/login-command.js +82 -0
  181. package/dist/command-implementations/login-command.js.map +7 -0
  182. package/dist/command-implementations/logout-command.js +35 -0
  183. package/dist/command-implementations/logout-command.js.map +7 -0
  184. package/dist/command-implementations/plugin-commands.js +111 -0
  185. package/dist/command-implementations/plugin-commands.js.map +7 -0
  186. package/dist/command-implementations/project-command.js +383 -0
  187. package/dist/command-implementations/project-command.js.map +7 -0
  188. package/dist/command-implementations/read-command.js +70 -0
  189. package/dist/command-implementations/read-command.js.map +7 -0
  190. package/dist/command-implementations/serve-command.js +68 -0
  191. package/dist/command-implementations/serve-command.js.map +7 -0
  192. package/dist/command-tree.js +60 -0
  193. package/dist/command-tree.js.map +7 -0
  194. package/dist/config.js +352 -0
  195. package/dist/config.js.map +7 -0
  196. package/dist/consts.js +127 -0
  197. package/dist/consts.js.map +7 -0
  198. package/dist/errors.js +202 -0
  199. package/dist/errors.js.map +7 -0
  200. package/dist/index.js +51 -0
  201. package/dist/index.js.map +7 -0
  202. package/dist/init.js +50 -0
  203. package/dist/init.js.map +7 -0
  204. package/dist/linter/base-linter.js +75 -0
  205. package/dist/linter/base-linter.js.map +7 -0
  206. package/dist/linter/base-linter.test.js +187 -0
  207. package/dist/linter/base-linter.test.js.map +7 -0
  208. package/dist/linter/bot-linter.js +35 -0
  209. package/dist/linter/bot-linter.js.map +7 -0
  210. package/dist/linter/integration-linter.js +35 -0
  211. package/dist/linter/integration-linter.js.map +7 -0
  212. package/dist/linter/interface-linter.js +35 -0
  213. package/dist/linter/interface-linter.js.map +7 -0
  214. package/dist/linter/ruleset-tests/bot.ruleset.test.js +358 -0
  215. package/dist/linter/ruleset-tests/bot.ruleset.test.js.map +7 -0
  216. package/dist/linter/ruleset-tests/common.js +37 -0
  217. package/dist/linter/ruleset-tests/common.js.map +7 -0
  218. package/dist/linter/ruleset-tests/integration.ruleset.test.js +887 -0
  219. package/dist/linter/ruleset-tests/integration.ruleset.test.js.map +7 -0
  220. package/dist/linter/ruleset-tests/interface.ruleset.test.js +383 -0
  221. package/dist/linter/ruleset-tests/interface.ruleset.test.js.map +7 -0
  222. package/dist/linter/rulesets/bot.ruleset.js +191 -0
  223. package/dist/linter/rulesets/bot.ruleset.js.map +7 -0
  224. package/dist/linter/rulesets/integration.ruleset.js +378 -0
  225. package/dist/linter/rulesets/integration.ruleset.js.map +7 -0
  226. package/dist/linter/rulesets/interface.ruleset.js +157 -0
  227. package/dist/linter/rulesets/interface.ruleset.js.map +7 -0
  228. package/dist/linter/spectral-functions.js +36 -0
  229. package/dist/linter/spectral-functions.js.map +7 -0
  230. package/dist/logger/base-logger.js +170 -0
  231. package/dist/logger/base-logger.js.map +7 -0
  232. package/dist/logger/index.js +86 -0
  233. package/dist/logger/index.js.map +7 -0
  234. package/dist/package-ref.js +107 -0
  235. package/dist/package-ref.js.map +7 -0
  236. package/dist/package-ref.test.js +109 -0
  237. package/dist/package-ref.test.js.map +7 -0
  238. package/dist/register-yargs.js +91 -0
  239. package/dist/register-yargs.js.map +7 -0
  240. package/dist/root.js +41 -0
  241. package/dist/root.js.map +7 -0
  242. package/dist/sdk/index.js +22 -0
  243. package/dist/sdk/index.js.map +7 -0
  244. package/dist/sdk/resolve-bot-interfaces.js +43 -0
  245. package/dist/sdk/resolve-bot-interfaces.js.map +7 -0
  246. package/dist/sdk/resolve-integration-interfaces.js +161 -0
  247. package/dist/sdk/resolve-integration-interfaces.js.map +7 -0
  248. package/dist/sdk/validate-bot.js +88 -0
  249. package/dist/sdk/validate-bot.js.map +7 -0
  250. package/dist/sdk/validate-integration.js +72 -0
  251. package/dist/sdk/validate-integration.js.map +7 -0
  252. package/dist/typings.js +17 -0
  253. package/dist/typings.js.map +7 -0
  254. package/dist/utils/cache-utils.js +104 -0
  255. package/dist/utils/cache-utils.js.map +7 -0
  256. package/dist/utils/case-utils.js +84 -0
  257. package/dist/utils/case-utils.js.map +7 -0
  258. package/dist/utils/case-utils.test.js +75 -0
  259. package/dist/utils/case-utils.test.js.map +7 -0
  260. package/dist/utils/esbuild-utils.js +92 -0
  261. package/dist/utils/esbuild-utils.js.map +7 -0
  262. package/dist/utils/event-emitter.js +63 -0
  263. package/dist/utils/event-emitter.js.map +7 -0
  264. package/dist/utils/file-watcher.js +73 -0
  265. package/dist/utils/file-watcher.js.map +7 -0
  266. package/dist/utils/guard-utils.js +32 -0
  267. package/dist/utils/guard-utils.js.map +7 -0
  268. package/dist/utils/id-utils.js +59 -0
  269. package/dist/utils/id-utils.js.map +7 -0
  270. package/dist/utils/index.js +99 -0
  271. package/dist/utils/index.js.map +7 -0
  272. package/dist/utils/object-utils.js +32 -0
  273. package/dist/utils/object-utils.js.map +7 -0
  274. package/dist/utils/path-utils.js +106 -0
  275. package/dist/utils/path-utils.js.map +7 -0
  276. package/dist/utils/path-utils.test.js +72 -0
  277. package/dist/utils/path-utils.test.js.map +7 -0
  278. package/dist/utils/pkgjson-utils.js +57 -0
  279. package/dist/utils/pkgjson-utils.js.map +7 -0
  280. package/dist/utils/promise-utils.js +36 -0
  281. package/dist/utils/promise-utils.js.map +7 -0
  282. package/dist/utils/promise-utils.test.js +14 -0
  283. package/dist/utils/promise-utils.test.js.map +7 -0
  284. package/dist/utils/prompt-utils.js +105 -0
  285. package/dist/utils/prompt-utils.js.map +7 -0
  286. package/dist/utils/record-utils.js +118 -0
  287. package/dist/utils/record-utils.js.map +7 -0
  288. package/dist/utils/record-utils.test.js +38 -0
  289. package/dist/utils/record-utils.test.js.map +7 -0
  290. package/dist/utils/require-utils.js +90 -0
  291. package/dist/utils/require-utils.js.map +7 -0
  292. package/dist/utils/require-utils.test.js +54 -0
  293. package/dist/utils/require-utils.test.js.map +7 -0
  294. package/dist/utils/schema-utils.js +64 -0
  295. package/dist/utils/schema-utils.js.map +7 -0
  296. package/dist/utils/schema-utils.test.js +50 -0
  297. package/dist/utils/schema-utils.test.js.map +7 -0
  298. package/dist/utils/semver-utils.js +45 -0
  299. package/dist/utils/semver-utils.js.map +7 -0
  300. package/dist/utils/string-utils.js +42 -0
  301. package/dist/utils/string-utils.js.map +7 -0
  302. package/dist/utils/template-utils.js +51 -0
  303. package/dist/utils/template-utils.js.map +7 -0
  304. package/dist/utils/tunnel-utils.js +129 -0
  305. package/dist/utils/tunnel-utils.js.map +7 -0
  306. package/dist/utils/type-utils.js +17 -0
  307. package/dist/utils/type-utils.js.map +7 -0
  308. package/dist/utils/url-utils.js +67 -0
  309. package/dist/utils/url-utils.js.map +7 -0
  310. package/dist/worker/child-entrypoint.js +58 -0
  311. package/dist/worker/child-entrypoint.js.map +7 -0
  312. package/dist/worker/child-wrapper.js +119 -0
  313. package/dist/worker/child-wrapper.js.map +7 -0
  314. package/dist/worker/config.js +44 -0
  315. package/dist/worker/config.js.map +7 -0
  316. package/dist/worker/index.js +32 -0
  317. package/dist/worker/index.js.map +7 -0
  318. package/dist/worker/is-child.js +55 -0
  319. package/dist/worker/is-child.js.map +7 -0
  320. package/dist/worker/worker-state.js +71 -0
  321. package/dist/worker/worker-state.js.map +7 -0
  322. package/dist/worker/worker.js +91 -0
  323. package/dist/worker/worker.js.map +7 -0
  324. package/package.json +1 -1
  325. package/templates/empty-bot/.botpress/implementation/index.ts +50 -0
  326. package/templates/empty-bot/.botpress/implementation/plugins/index.ts +11 -0
  327. package/templates/empty-bot/.botpress/implementation/typings/actions/index.ts +6 -0
  328. package/templates/empty-bot/.botpress/implementation/typings/events/index.ts +6 -0
  329. package/templates/empty-bot/.botpress/implementation/typings/index.ts +20 -0
  330. package/templates/empty-bot/.botpress/implementation/typings/integrations/index.ts +6 -0
  331. package/templates/empty-bot/.botpress/implementation/typings/states/index.ts +6 -0
  332. package/templates/empty-bot/.botpress/index.ts +5 -0
  333. package/templates/empty-integration/.botpress/implementation/index.ts +57 -0
  334. package/templates/empty-integration/.botpress/implementation/typings/actions/index.ts +6 -0
  335. package/templates/empty-integration/.botpress/implementation/typings/channels/index.ts +6 -0
  336. package/templates/empty-integration/.botpress/implementation/typings/configuration/index.ts +2 -0
  337. package/templates/empty-integration/.botpress/implementation/typings/configurations/index.ts +6 -0
  338. package/templates/empty-integration/.botpress/implementation/typings/entities/index.ts +6 -0
  339. package/templates/empty-integration/.botpress/implementation/typings/events/index.ts +6 -0
  340. package/templates/empty-integration/.botpress/implementation/typings/index.ts +31 -0
  341. package/templates/empty-integration/.botpress/implementation/typings/states/index.ts +6 -0
  342. package/templates/empty-integration/.botpress/index.ts +2 -0
  343. package/templates/empty-integration/.botpress/secrets/index.ts +6 -0
  344. package/templates/empty-plugin/.botpress/implementation/index.ts +35 -0
  345. package/templates/empty-plugin/.botpress/implementation/typings/actions/index.ts +6 -0
  346. package/templates/empty-plugin/.botpress/implementation/typings/configuration/index.ts +2 -0
  347. package/templates/empty-plugin/.botpress/implementation/typings/events/index.ts +6 -0
  348. package/templates/empty-plugin/.botpress/implementation/typings/index.ts +26 -0
  349. package/templates/empty-plugin/.botpress/implementation/typings/integrations/index.ts +6 -0
  350. package/templates/empty-plugin/.botpress/implementation/typings/interfaces/index.ts +6 -0
  351. package/templates/empty-plugin/.botpress/implementation/typings/states/index.ts +6 -0
  352. package/templates/empty-plugin/.botpress/index.ts +1 -0
  353. package/templates/hello-world/.botpress/implementation/index.ts +57 -0
  354. package/templates/hello-world/.botpress/implementation/typings/actions/helloWorld/index.ts +12 -0
  355. package/templates/hello-world/.botpress/implementation/typings/actions/helloWorld/input.ts +5 -0
  356. package/templates/hello-world/.botpress/implementation/typings/actions/helloWorld/output.ts +5 -0
  357. package/templates/hello-world/.botpress/implementation/typings/actions/index.ts +9 -0
  358. package/templates/hello-world/.botpress/implementation/typings/channels/index.ts +6 -0
  359. package/templates/hello-world/.botpress/implementation/typings/configuration/index.ts +2 -0
  360. package/templates/hello-world/.botpress/implementation/typings/configurations/index.ts +6 -0
  361. package/templates/hello-world/.botpress/implementation/typings/entities/index.ts +6 -0
  362. package/templates/hello-world/.botpress/implementation/typings/events/index.ts +6 -0
  363. package/templates/hello-world/.botpress/implementation/typings/index.ts +31 -0
  364. package/templates/hello-world/.botpress/implementation/typings/states/index.ts +6 -0
  365. package/templates/hello-world/.botpress/index.ts +2 -0
  366. package/templates/hello-world/.botpress/secrets/index.ts +6 -0
  367. package/templates/webhook-message/.botpress/implementation/index.ts +57 -0
  368. package/templates/webhook-message/.botpress/implementation/typings/actions/index.ts +6 -0
  369. package/templates/webhook-message/.botpress/implementation/typings/channels/index.ts +9 -0
  370. package/templates/webhook-message/.botpress/implementation/typings/channels/webhook/index.ts +12 -0
  371. package/templates/webhook-message/.botpress/implementation/typings/channels/webhook/messages/index.ts +9 -0
  372. package/templates/webhook-message/.botpress/implementation/typings/channels/webhook/messages/text.ts +5 -0
  373. package/templates/webhook-message/.botpress/implementation/typings/configuration/index.ts +8 -0
  374. package/templates/webhook-message/.botpress/implementation/typings/configurations/index.ts +6 -0
  375. package/templates/webhook-message/.botpress/implementation/typings/entities/index.ts +6 -0
  376. package/templates/webhook-message/.botpress/implementation/typings/events/index.ts +6 -0
  377. package/templates/webhook-message/.botpress/implementation/typings/index.ts +31 -0
  378. package/templates/webhook-message/.botpress/implementation/typings/states/index.ts +6 -0
  379. package/templates/webhook-message/.botpress/index.ts +2 -0
  380. package/templates/webhook-message/.botpress/secrets/index.ts +6 -0
@@ -0,0 +1,66 @@
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 events_module_exports = {};
30
+ __export(events_module_exports, {
31
+ EventModule: () => EventModule,
32
+ EventsModule: () => EventsModule
33
+ });
34
+ module.exports = __toCommonJS(events_module_exports);
35
+ var import_generators = require("../../generators");
36
+ var import_module = require("../../module");
37
+ var strings = __toESM(require("../../strings"));
38
+ class EventModule extends import_module.Module {
39
+ constructor(name, _event) {
40
+ const eventName = name;
41
+ const exportName = strings.varName(eventName);
42
+ super({ path: `${name}.ts`, exportName });
43
+ this._event = _event;
44
+ }
45
+ async getContent() {
46
+ if (!this._event.schema) {
47
+ return `export const ${this.exportName} = z.object({});`;
48
+ }
49
+ return (0, import_generators.jsonSchemaToTypescriptZuiSchema)(this._event.schema, this.exportName);
50
+ }
51
+ }
52
+ class EventsModule extends import_module.ReExportVariableModule {
53
+ constructor(events) {
54
+ super({ exportName: strings.varName("events") });
55
+ for (const [eventName, event] of Object.entries(events)) {
56
+ const module2 = new EventModule(eventName, event);
57
+ this.pushDep(module2);
58
+ }
59
+ }
60
+ }
61
+ // Annotate the CommonJS export names for ESM import in node:
62
+ 0 && (module.exports = {
63
+ EventModule,
64
+ EventsModule
65
+ });
66
+ //# sourceMappingURL=events-module.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/code-generation/interface-package/interface-package-definition/events-module.ts"],
4
+ "sourcesContent": ["import { jsonSchemaToTypescriptZuiSchema } from '../../generators'\nimport { Module, ReExportVariableModule } from '../../module'\nimport * as strings from '../../strings'\nimport * as types from './typings'\n\nexport class EventModule extends Module {\n public constructor(name: string, private _event: types.ApiEventDefinition) {\n const eventName = name\n const exportName = strings.varName(eventName)\n super({ path: `${name}.ts`, exportName })\n }\n\n public async getContent() {\n if (!this._event.schema) {\n return `export const ${this.exportName} = z.object({});`\n }\n return jsonSchemaToTypescriptZuiSchema(this._event.schema, this.exportName)\n }\n}\n\nexport class EventsModule extends ReExportVariableModule {\n public constructor(events: Record<string, types.ApiEventDefinition>) {\n super({ exportName: strings.varName('events') })\n for (const [eventName, event] of Object.entries(events)) {\n const module = new EventModule(eventName, event)\n this.pushDep(module)\n }\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAgD;AAChD,oBAA+C;AAC/C,cAAyB;AAGlB,MAAM,oBAAoB,qBAAO;AAAA,EAC/B,YAAY,MAAsB,QAAkC;AACzE,UAAM,YAAY;AAClB,UAAM,aAAa,QAAQ,QAAQ,SAAS;AAC5C,UAAM,EAAE,MAAM,GAAG,WAAW,WAAW,CAAC;AAHD;AAAA,EAIzC;AAAA,EAEA,MAAa,aAAa;AACxB,QAAI,CAAC,KAAK,OAAO,QAAQ;AACvB,aAAO,gBAAgB,KAAK;AAAA,IAC9B;AACA,eAAO,mDAAgC,KAAK,OAAO,QAAQ,KAAK,UAAU;AAAA,EAC5E;AACF;AAEO,MAAM,qBAAqB,qCAAuB;AAAA,EAChD,YAAY,QAAkD;AACnE,UAAM,EAAE,YAAY,QAAQ,QAAQ,QAAQ,EAAE,CAAC;AAC/C,eAAW,CAAC,WAAW,KAAK,KAAK,OAAO,QAAQ,MAAM,GAAG;AACvD,YAAMA,UAAS,IAAI,YAAY,WAAW,KAAK;AAC/C,WAAK,QAAQA,OAAM;AAAA,IACrB;AAAA,EACF;AACF;",
6
+ "names": ["module"]
7
+ }
@@ -0,0 +1,104 @@
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 interface_package_definition_exports = {};
30
+ __export(interface_package_definition_exports, {
31
+ InterfacePackageDefinitionModule: () => InterfacePackageDefinitionModule
32
+ });
33
+ module.exports = __toCommonJS(interface_package_definition_exports);
34
+ var consts = __toESM(require("../../consts"));
35
+ var import_module = require("../../module");
36
+ var import_actions_module = require("./actions-module");
37
+ var import_channels_module = require("./channels-module");
38
+ var import_entities_module = require("./entities-module");
39
+ var import_events_module = require("./events-module");
40
+ class InterfacePackageDefinitionModule extends import_module.Module {
41
+ constructor(_interface) {
42
+ super({
43
+ path: consts.INDEX_FILE,
44
+ exportName: consts.DEFAULT_EXPORT_NAME
45
+ });
46
+ this._interface = _interface;
47
+ const actionsModule = new import_actions_module.ActionsModule(_interface.actions ?? {});
48
+ actionsModule.unshift("actions");
49
+ const channelsModule = new import_channels_module.ChannelsModule(_interface.channels ?? {});
50
+ channelsModule.unshift("channels");
51
+ const eventsModule = new import_events_module.EventsModule(_interface.events ?? {});
52
+ eventsModule.unshift("events");
53
+ const entitiesModule = new import_entities_module.EntitiesModule(_interface.entities ?? {});
54
+ entitiesModule.unshift("entities");
55
+ this._dependencies = {
56
+ actionsModule,
57
+ channelsModule,
58
+ eventsModule,
59
+ entitiesModule
60
+ };
61
+ for (const dep of Object.values(this._dependencies)) {
62
+ this.pushDep(dep);
63
+ }
64
+ }
65
+ _dependencies;
66
+ async getContent() {
67
+ let content = "";
68
+ const { actionsModule, channelsModule, eventsModule, entitiesModule } = this._dependencies;
69
+ const actionsImport = actionsModule.import(this);
70
+ const channelsImport = channelsModule.import(this);
71
+ const eventsImport = eventsModule.import(this);
72
+ const entitiesImport = entitiesModule.import(this);
73
+ const templateName = this._interface.nameTemplate === void 0 ? "undefined" : `"${this._interface.nameTemplate.script}"`;
74
+ content += [
75
+ consts.GENERATED_HEADER,
76
+ 'import * as sdk from "@botpress/sdk"',
77
+ "",
78
+ `import * as ${actionsModule.name} from "./${actionsImport}"`,
79
+ `import * as ${channelsModule.name} from "./${channelsImport}"`,
80
+ `import * as ${eventsModule.name} from "./${eventsImport}"`,
81
+ `import * as ${entitiesModule.name} from "./${entitiesImport}"`,
82
+ `export * as ${actionsModule.name} from "./${actionsImport}"`,
83
+ `export * as ${channelsModule.name} from "./${channelsImport}"`,
84
+ `export * as ${eventsModule.name} from "./${eventsImport}"`,
85
+ `export * as ${entitiesModule.name} from "./${entitiesImport}"`,
86
+ "",
87
+ "export default {",
88
+ ` name: "${this._interface.name}",`,
89
+ ` version: "${this._interface.version}",`,
90
+ ` actions: ${actionsModule.name}.${actionsModule.exportName},`,
91
+ ` channels: ${channelsModule.name}.${channelsModule.exportName},`,
92
+ ` events: ${eventsModule.name}.${eventsModule.exportName},`,
93
+ ` entities: ${entitiesModule.name}.${entitiesModule.exportName},`,
94
+ ` templateName: ${templateName},`,
95
+ '} satisfies sdk.InterfacePackage["definition"]'
96
+ ].join("\n");
97
+ return content;
98
+ }
99
+ }
100
+ // Annotate the CommonJS export names for ESM import in node:
101
+ 0 && (module.exports = {
102
+ InterfacePackageDefinitionModule
103
+ });
104
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/code-generation/interface-package/interface-package-definition/index.ts"],
4
+ "sourcesContent": ["import * as consts from '../../consts'\nimport { Module } from '../../module'\nimport { ActionsModule } from './actions-module'\nimport { ChannelsModule } from './channels-module'\nimport { EntitiesModule } from './entities-module'\nimport { EventsModule } from './events-module'\nimport * as types from './typings'\n\ntype InterfacePackageModuleDependencies = {\n actionsModule: ActionsModule\n channelsModule: ChannelsModule\n eventsModule: EventsModule\n entitiesModule: EntitiesModule\n}\n\nexport class InterfacePackageDefinitionModule extends Module {\n private _dependencies: InterfacePackageModuleDependencies\n\n public constructor(private _interface: types.ApiInterfaceDefinition) {\n super({\n path: consts.INDEX_FILE,\n exportName: consts.DEFAULT_EXPORT_NAME,\n })\n\n const actionsModule = new ActionsModule(_interface.actions ?? {})\n actionsModule.unshift('actions')\n\n const channelsModule = new ChannelsModule(_interface.channels ?? {})\n channelsModule.unshift('channels')\n\n const eventsModule = new EventsModule(_interface.events ?? {})\n eventsModule.unshift('events')\n\n const entitiesModule = new EntitiesModule(_interface.entities ?? {})\n entitiesModule.unshift('entities')\n\n this._dependencies = {\n actionsModule,\n channelsModule,\n eventsModule,\n entitiesModule,\n }\n\n for (const dep of Object.values(this._dependencies)) {\n this.pushDep(dep)\n }\n }\n\n public async getContent() {\n let content = ''\n\n const { actionsModule, channelsModule, eventsModule, entitiesModule } = this._dependencies\n\n const actionsImport = actionsModule.import(this)\n const channelsImport = channelsModule.import(this)\n const eventsImport = eventsModule.import(this)\n const entitiesImport = entitiesModule.import(this)\n\n const templateName =\n this._interface.nameTemplate === undefined ? 'undefined' : `\"${this._interface.nameTemplate.script}\"`\n\n content += [\n consts.GENERATED_HEADER,\n 'import * as sdk from \"@botpress/sdk\"',\n '',\n `import * as ${actionsModule.name} from \"./${actionsImport}\"`,\n `import * as ${channelsModule.name} from \"./${channelsImport}\"`,\n `import * as ${eventsModule.name} from \"./${eventsImport}\"`,\n `import * as ${entitiesModule.name} from \"./${entitiesImport}\"`,\n `export * as ${actionsModule.name} from \"./${actionsImport}\"`,\n `export * as ${channelsModule.name} from \"./${channelsImport}\"`,\n `export * as ${eventsModule.name} from \"./${eventsImport}\"`,\n `export * as ${entitiesModule.name} from \"./${entitiesImport}\"`,\n '',\n 'export default {',\n ` name: \"${this._interface.name}\",`,\n ` version: \"${this._interface.version}\",`,\n ` actions: ${actionsModule.name}.${actionsModule.exportName},`,\n ` channels: ${channelsModule.name}.${channelsModule.exportName},`,\n ` events: ${eventsModule.name}.${eventsModule.exportName},`,\n ` entities: ${entitiesModule.name}.${entitiesModule.exportName},`,\n ` templateName: ${templateName},`,\n '} satisfies sdk.InterfacePackage[\"definition\"]',\n ].join('\\n')\n\n return content\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAAwB;AACxB,oBAAuB;AACvB,4BAA8B;AAC9B,6BAA+B;AAC/B,6BAA+B;AAC/B,2BAA6B;AAUtB,MAAM,yCAAyC,qBAAO;AAAA,EAGpD,YAAoB,YAA0C;AACnE,UAAM;AAAA,MACJ,MAAM,OAAO;AAAA,MACb,YAAY,OAAO;AAAA,IACrB,CAAC;AAJwB;AAMzB,UAAM,gBAAgB,IAAI,oCAAc,WAAW,WAAW,CAAC,CAAC;AAChE,kBAAc,QAAQ,SAAS;AAE/B,UAAM,iBAAiB,IAAI,sCAAe,WAAW,YAAY,CAAC,CAAC;AACnE,mBAAe,QAAQ,UAAU;AAEjC,UAAM,eAAe,IAAI,kCAAa,WAAW,UAAU,CAAC,CAAC;AAC7D,iBAAa,QAAQ,QAAQ;AAE7B,UAAM,iBAAiB,IAAI,sCAAe,WAAW,YAAY,CAAC,CAAC;AACnE,mBAAe,QAAQ,UAAU;AAEjC,SAAK,gBAAgB;AAAA,MACnB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAEA,eAAW,OAAO,OAAO,OAAO,KAAK,aAAa,GAAG;AACnD,WAAK,QAAQ,GAAG;AAAA,IAClB;AAAA,EACF;AAAA,EA9BQ;AAAA,EAgCR,MAAa,aAAa;AACxB,QAAI,UAAU;AAEd,UAAM,EAAE,eAAe,gBAAgB,cAAc,eAAe,IAAI,KAAK;AAE7E,UAAM,gBAAgB,cAAc,OAAO,IAAI;AAC/C,UAAM,iBAAiB,eAAe,OAAO,IAAI;AACjD,UAAM,eAAe,aAAa,OAAO,IAAI;AAC7C,UAAM,iBAAiB,eAAe,OAAO,IAAI;AAEjD,UAAM,eACJ,KAAK,WAAW,iBAAiB,SAAY,cAAc,IAAI,KAAK,WAAW,aAAa;AAE9F,eAAW;AAAA,MACT,OAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA,eAAe,cAAc,gBAAgB;AAAA,MAC7C,eAAe,eAAe,gBAAgB;AAAA,MAC9C,eAAe,aAAa,gBAAgB;AAAA,MAC5C,eAAe,eAAe,gBAAgB;AAAA,MAC9C,eAAe,cAAc,gBAAgB;AAAA,MAC7C,eAAe,eAAe,gBAAgB;AAAA,MAC9C,eAAe,aAAa,gBAAgB;AAAA,MAC5C,eAAe,eAAe,gBAAgB;AAAA,MAC9C;AAAA,MACA;AAAA,MACA,YAAY,KAAK,WAAW;AAAA,MAC5B,eAAe,KAAK,WAAW;AAAA,MAC/B,cAAc,cAAc,QAAQ,cAAc;AAAA,MAClD,eAAe,eAAe,QAAQ,eAAe;AAAA,MACrD,aAAa,aAAa,QAAQ,aAAa;AAAA,MAC/C,eAAe,eAAe,QAAQ,eAAe;AAAA,MACrD,mBAAmB;AAAA,MACnB;AAAA,IACF,EAAE,KAAK,IAAI;AAEX,WAAO;AAAA,EACT;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var typings_exports = {};
16
+ module.exports = __toCommonJS(typings_exports);
17
+ //# sourceMappingURL=typings.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/code-generation/interface-package/interface-package-definition/typings.ts"],
4
+ "sourcesContent": ["import * as client from '@botpress/client'\nexport type ApiInterfaceDefinition = client.Interface\nexport type ApiActionDefinition = ApiInterfaceDefinition['actions'][string]\nexport type ApiChannelDefinition = ApiInterfaceDefinition['channels'][string]\nexport type ApiMessageDefinition = ApiChannelDefinition['messages'][string]\nexport type ApiEntityDefinition = ApiInterfaceDefinition['entities'][string]\nexport type ApiEventDefinition = ApiInterfaceDefinition['events'][string]\n"],
5
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,183 @@
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 module_exports = {};
30
+ __export(module_exports, {
31
+ Module: () => Module,
32
+ ReExportTypeModule: () => ReExportTypeModule,
33
+ ReExportVariableModule: () => ReExportVariableModule,
34
+ SingleFileModule: () => SingleFileModule
35
+ });
36
+ module.exports = __toCommonJS(module_exports);
37
+ var import_path = require("path");
38
+ var utils = __toESM(require("../utils"));
39
+ var consts = __toESM(require("./consts"));
40
+ var strings = __toESM(require("./strings"));
41
+ class Module {
42
+ constructor(_def) {
43
+ this._def = _def;
44
+ }
45
+ _localDependencies = [];
46
+ get path() {
47
+ return this._def.path;
48
+ }
49
+ /**
50
+ * @returns file name without extension
51
+ */
52
+ get name() {
53
+ const basename = import_path.posix.basename(this.path);
54
+ if (basename === consts.INDEX_FILE || basename === consts.INDEX_DECLARATION_FILE) {
55
+ const dirPath = import_path.posix.dirname(this.path);
56
+ const dirname = import_path.posix.basename(dirPath);
57
+ return dirname;
58
+ }
59
+ const withoutExtension = utils.path.rmExtension(basename);
60
+ return withoutExtension;
61
+ }
62
+ get isDefaultExport() {
63
+ return this._def.exportName === consts.DEFAULT_EXPORT_NAME;
64
+ }
65
+ get exportName() {
66
+ return this._def.exportName;
67
+ }
68
+ get deps() {
69
+ return [...this._localDependencies];
70
+ }
71
+ pushDep(...dependencies) {
72
+ this._localDependencies.push(...dependencies);
73
+ return this;
74
+ }
75
+ unshift(...basePath) {
76
+ this._def = {
77
+ ...this._def,
78
+ path: import_path.posix.join(...basePath, this._def.path)
79
+ };
80
+ this._localDependencies = this._localDependencies.map((d) => d.unshift(...basePath));
81
+ return this;
82
+ }
83
+ async toFile() {
84
+ return {
85
+ path: this.path,
86
+ content: await this.getContent()
87
+ };
88
+ }
89
+ async flatten() {
90
+ const self = await this.toFile();
91
+ const allFiles = [self];
92
+ for (const dep of this._localDependencies) {
93
+ const depFiles = await dep.flatten();
94
+ allFiles.push(...depFiles);
95
+ }
96
+ return allFiles;
97
+ }
98
+ import(base) {
99
+ let relativePath = import_path.posix.relative(import_path.posix.dirname(base.path), this.path);
100
+ relativePath = import_path.posix.join(".", relativePath);
101
+ return utils.path.rmExtension(relativePath);
102
+ }
103
+ }
104
+ class ReExportTypeModule extends Module {
105
+ constructor(def) {
106
+ super({
107
+ ...def,
108
+ path: consts.INDEX_FILE
109
+ });
110
+ }
111
+ async getContent() {
112
+ let content = consts.GENERATED_HEADER;
113
+ for (const m of this.deps) {
114
+ const { name } = m;
115
+ const importAlias = strings.importAlias(name);
116
+ const importFrom = m.import(this);
117
+ content += `import * as ${importAlias} from "./${importFrom}";
118
+ `;
119
+ content += `export * as ${importAlias} from "./${importFrom}";
120
+ `;
121
+ }
122
+ content += "\n";
123
+ content += `export type ${this.exportName} = {
124
+ `;
125
+ for (const { name, exportName: exports } of this.deps) {
126
+ const importAlias = strings.importAlias(name);
127
+ content += ` "${name}": ${importAlias}.${exports};
128
+ `;
129
+ }
130
+ content += "}";
131
+ content += "\n";
132
+ return content;
133
+ }
134
+ }
135
+ class ReExportVariableModule extends Module {
136
+ constructor(def) {
137
+ super({
138
+ ...def,
139
+ path: consts.INDEX_FILE
140
+ });
141
+ }
142
+ async getContent() {
143
+ let content = consts.GENERATED_HEADER;
144
+ for (const m of this.deps) {
145
+ const { name } = m;
146
+ const importAlias = strings.importAlias(name);
147
+ const importFrom = m.import(this);
148
+ content += `import * as ${importAlias} from "./${importFrom}";
149
+ `;
150
+ content += `export * as ${importAlias} from "./${importFrom}";
151
+ `;
152
+ }
153
+ content += "\n";
154
+ content += `export const ${this.exportName} = {
155
+ `;
156
+ for (const { name, exportName: exports } of this.deps) {
157
+ const importAlias = strings.importAlias(name);
158
+ content += ` "${name}": ${importAlias}.${exports},
159
+ `;
160
+ }
161
+ content += "}";
162
+ content += "\n";
163
+ return content;
164
+ }
165
+ }
166
+ class SingleFileModule extends Module {
167
+ _content;
168
+ constructor(def) {
169
+ super(def);
170
+ this._content = def.content;
171
+ }
172
+ async getContent() {
173
+ return this._content;
174
+ }
175
+ }
176
+ // Annotate the CommonJS export names for ESM import in node:
177
+ 0 && (module.exports = {
178
+ Module,
179
+ ReExportTypeModule,
180
+ ReExportVariableModule,
181
+ SingleFileModule
182
+ });
183
+ //# sourceMappingURL=module.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/code-generation/module.ts"],
4
+ "sourcesContent": ["import { posix as pathlib } from 'path'\nimport * as utils from '../utils'\nimport * as consts from './consts'\nimport * as strings from './strings'\nimport { File } from './typings'\n\nexport type ModuleProps = {\n path: string\n exportName: string\n}\n\nexport abstract class Module {\n private _localDependencies: Module[] = []\n\n public get path(): string {\n return this._def.path\n }\n\n /**\n * @returns file name without extension\n */\n public get name(): string {\n const basename = pathlib.basename(this.path)\n if (basename === consts.INDEX_FILE || basename === consts.INDEX_DECLARATION_FILE) {\n const dirPath = pathlib.dirname(this.path)\n const dirname = pathlib.basename(dirPath)\n return dirname\n }\n const withoutExtension = utils.path.rmExtension(basename)\n return withoutExtension\n }\n\n public get isDefaultExport(): boolean {\n return this._def.exportName === consts.DEFAULT_EXPORT_NAME\n }\n\n public get exportName(): string {\n return this._def.exportName\n }\n\n public get deps(): Module[] {\n return [...this._localDependencies]\n }\n\n protected constructor(private _def: ModuleProps) {}\n\n public abstract getContent(): Promise<string>\n\n public pushDep(...dependencies: Module[]): this {\n this._localDependencies.push(...dependencies)\n return this\n }\n\n public unshift(...basePath: string[]): this {\n this._def = {\n ...this._def,\n path: pathlib.join(...basePath, this._def.path),\n }\n this._localDependencies = this._localDependencies.map((d) => d.unshift(...basePath))\n return this\n }\n\n public async toFile(): Promise<File> {\n return {\n path: this.path,\n content: await this.getContent(),\n }\n }\n\n public async flatten(): Promise<File[]> {\n const self = await this.toFile()\n const allFiles: File[] = [self]\n for (const dep of this._localDependencies) {\n const depFiles = await dep.flatten()\n allFiles.push(...depFiles)\n }\n return allFiles\n }\n\n public import(base: Module): string {\n let relativePath = pathlib.relative(pathlib.dirname(base.path), this.path)\n relativePath = pathlib.join('.', relativePath)\n return utils.path.rmExtension(relativePath)\n }\n}\n\nexport class ReExportTypeModule extends Module {\n protected constructor(def: { exportName: string }) {\n super({\n ...def,\n path: consts.INDEX_FILE,\n })\n }\n\n public async getContent(): Promise<string> {\n let content = consts.GENERATED_HEADER\n\n for (const m of this.deps) {\n const { name } = m\n const importAlias = strings.importAlias(name)\n const importFrom = m.import(this)\n content += `import * as ${importAlias} from \"./${importFrom}\";\\n`\n content += `export * as ${importAlias} from \"./${importFrom}\";\\n`\n }\n\n content += '\\n'\n\n content += `export type ${this.exportName} = {\\n`\n for (const { name, exportName: exports } of this.deps) {\n const importAlias = strings.importAlias(name)\n content += ` \"${name}\": ${importAlias}.${exports};\\n`\n }\n content += '}'\n\n content += '\\n'\n\n return content\n }\n}\n\nexport class ReExportVariableModule extends Module {\n protected constructor(def: { exportName: string }) {\n super({\n ...def,\n path: consts.INDEX_FILE,\n })\n }\n\n public async getContent(): Promise<string> {\n let content = consts.GENERATED_HEADER\n\n for (const m of this.deps) {\n const { name } = m\n const importAlias = strings.importAlias(name)\n const importFrom = m.import(this)\n content += `import * as ${importAlias} from \"./${importFrom}\";\\n`\n content += `export * as ${importAlias} from \"./${importFrom}\";\\n`\n }\n\n content += '\\n'\n\n content += `export const ${this.exportName} = {\\n`\n for (const { name, exportName: exports } of this.deps) {\n const importAlias = strings.importAlias(name)\n content += ` \"${name}\": ${importAlias}.${exports},\\n`\n }\n content += '}'\n\n content += '\\n'\n\n return content\n }\n}\n\nexport class SingleFileModule extends Module {\n private _content: string\n public constructor(def: ModuleProps & { content: string }) {\n super(def)\n this._content = def.content\n }\n\n public async getContent(): Promise<string> {\n return this._content\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAiC;AACjC,YAAuB;AACvB,aAAwB;AACxB,cAAyB;AAQlB,MAAe,OAAO;AAAA,EAiCjB,YAAoB,MAAmB;AAAnB;AAAA,EAAoB;AAAA,EAhC1C,qBAA+B,CAAC;AAAA,EAExC,IAAW,OAAe;AACxB,WAAO,KAAK,KAAK;AAAA,EACnB;AAAA;AAAA;AAAA;AAAA,EAKA,IAAW,OAAe;AACxB,UAAM,WAAW,YAAAA,MAAQ,SAAS,KAAK,IAAI;AAC3C,QAAI,aAAa,OAAO,cAAc,aAAa,OAAO,wBAAwB;AAChF,YAAM,UAAU,YAAAA,MAAQ,QAAQ,KAAK,IAAI;AACzC,YAAM,UAAU,YAAAA,MAAQ,SAAS,OAAO;AACxC,aAAO;AAAA,IACT;AACA,UAAM,mBAAmB,MAAM,KAAK,YAAY,QAAQ;AACxD,WAAO;AAAA,EACT;AAAA,EAEA,IAAW,kBAA2B;AACpC,WAAO,KAAK,KAAK,eAAe,OAAO;AAAA,EACzC;AAAA,EAEA,IAAW,aAAqB;AAC9B,WAAO,KAAK,KAAK;AAAA,EACnB;AAAA,EAEA,IAAW,OAAiB;AAC1B,WAAO,CAAC,GAAG,KAAK,kBAAkB;AAAA,EACpC;AAAA,EAMO,WAAW,cAA8B;AAC9C,SAAK,mBAAmB,KAAK,GAAG,YAAY;AAC5C,WAAO;AAAA,EACT;AAAA,EAEO,WAAW,UAA0B;AAC1C,SAAK,OAAO;AAAA,MACV,GAAG,KAAK;AAAA,MACR,MAAM,YAAAA,MAAQ,KAAK,GAAG,UAAU,KAAK,KAAK,IAAI;AAAA,IAChD;AACA,SAAK,qBAAqB,KAAK,mBAAmB,IAAI,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;AACnF,WAAO;AAAA,EACT;AAAA,EAEA,MAAa,SAAwB;AACnC,WAAO;AAAA,MACL,MAAM,KAAK;AAAA,MACX,SAAS,MAAM,KAAK,WAAW;AAAA,IACjC;AAAA,EACF;AAAA,EAEA,MAAa,UAA2B;AACtC,UAAM,OAAO,MAAM,KAAK,OAAO;AAC/B,UAAM,WAAmB,CAAC,IAAI;AAC9B,eAAW,OAAO,KAAK,oBAAoB;AACzC,YAAM,WAAW,MAAM,IAAI,QAAQ;AACnC,eAAS,KAAK,GAAG,QAAQ;AAAA,IAC3B;AACA,WAAO;AAAA,EACT;AAAA,EAEO,OAAO,MAAsB;AAClC,QAAI,eAAe,YAAAA,MAAQ,SAAS,YAAAA,MAAQ,QAAQ,KAAK,IAAI,GAAG,KAAK,IAAI;AACzE,mBAAe,YAAAA,MAAQ,KAAK,KAAK,YAAY;AAC7C,WAAO,MAAM,KAAK,YAAY,YAAY;AAAA,EAC5C;AACF;AAEO,MAAM,2BAA2B,OAAO;AAAA,EACnC,YAAY,KAA6B;AACjD,UAAM;AAAA,MACJ,GAAG;AAAA,MACH,MAAM,OAAO;AAAA,IACf,CAAC;AAAA,EACH;AAAA,EAEA,MAAa,aAA8B;AACzC,QAAI,UAAU,OAAO;AAErB,eAAW,KAAK,KAAK,MAAM;AACzB,YAAM,EAAE,KAAK,IAAI;AACjB,YAAM,cAAc,QAAQ,YAAY,IAAI;AAC5C,YAAM,aAAa,EAAE,OAAO,IAAI;AAChC,iBAAW,eAAe,uBAAuB;AAAA;AACjD,iBAAW,eAAe,uBAAuB;AAAA;AAAA,IACnD;AAEA,eAAW;AAEX,eAAW,eAAe,KAAK;AAAA;AAC/B,eAAW,EAAE,MAAM,YAAY,QAAQ,KAAK,KAAK,MAAM;AACrD,YAAM,cAAc,QAAQ,YAAY,IAAI;AAC5C,iBAAW,MAAM,UAAU,eAAe;AAAA;AAAA,IAC5C;AACA,eAAW;AAEX,eAAW;AAEX,WAAO;AAAA,EACT;AACF;AAEO,MAAM,+BAA+B,OAAO;AAAA,EACvC,YAAY,KAA6B;AACjD,UAAM;AAAA,MACJ,GAAG;AAAA,MACH,MAAM,OAAO;AAAA,IACf,CAAC;AAAA,EACH;AAAA,EAEA,MAAa,aAA8B;AACzC,QAAI,UAAU,OAAO;AAErB,eAAW,KAAK,KAAK,MAAM;AACzB,YAAM,EAAE,KAAK,IAAI;AACjB,YAAM,cAAc,QAAQ,YAAY,IAAI;AAC5C,YAAM,aAAa,EAAE,OAAO,IAAI;AAChC,iBAAW,eAAe,uBAAuB;AAAA;AACjD,iBAAW,eAAe,uBAAuB;AAAA;AAAA,IACnD;AAEA,eAAW;AAEX,eAAW,gBAAgB,KAAK;AAAA;AAChC,eAAW,EAAE,MAAM,YAAY,QAAQ,KAAK,KAAK,MAAM;AACrD,YAAM,cAAc,QAAQ,YAAY,IAAI;AAC5C,iBAAW,MAAM,UAAU,eAAe;AAAA;AAAA,IAC5C;AACA,eAAW;AAEX,eAAW;AAEX,WAAO;AAAA,EACT;AACF;AAEO,MAAM,yBAAyB,OAAO;AAAA,EACnC;AAAA,EACD,YAAY,KAAwC;AACzD,UAAM,GAAG;AACT,SAAK,WAAW,IAAI;AAAA,EACtB;AAAA,EAEA,MAAa,aAA8B;AACzC,WAAO,KAAK;AAAA,EACd;AACF;",
6
+ "names": ["pathlib"]
7
+ }
@@ -0,0 +1,60 @@
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 plugin_implementation_exports = {};
30
+ __export(plugin_implementation_exports, {
31
+ generatePluginImplementation: () => generatePluginImplementation
32
+ });
33
+ module.exports = __toCommonJS(plugin_implementation_exports);
34
+ var consts = __toESM(require("../consts"));
35
+ var import_plugin_implementation = require("./plugin-implementation");
36
+ const generatePluginImplementationCls = async (sdkPluginDefinition, implPath) => {
37
+ const indexModule = new import_plugin_implementation.PluginImplementationModule(sdkPluginDefinition);
38
+ indexModule.unshift(implPath);
39
+ return indexModule.flatten();
40
+ };
41
+ const generatePluginIndex = async (implPath) => {
42
+ let content = "";
43
+ content += `export * from './${implPath}'
44
+ `;
45
+ return {
46
+ path: consts.INDEX_FILE,
47
+ content
48
+ };
49
+ };
50
+ const generatePluginImplementation = async (sdkPluginDefinition) => {
51
+ const implPath = consts.fromOutDir.implementationDir;
52
+ const typingFiles = await generatePluginImplementationCls(sdkPluginDefinition, implPath);
53
+ const indexFile = await generatePluginIndex(implPath);
54
+ return [...typingFiles, indexFile];
55
+ };
56
+ // Annotate the CommonJS export names for ESM import in node:
57
+ 0 && (module.exports = {
58
+ generatePluginImplementation
59
+ });
60
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/code-generation/plugin-implementation/index.ts"],
4
+ "sourcesContent": ["import * as sdk from '@botpress/sdk'\nimport * as consts from '../consts'\nimport * as types from '../typings'\nimport { PluginImplementationModule } from './plugin-implementation'\n\nconst generatePluginImplementationCls = async (\n sdkPluginDefinition: sdk.PluginDefinition,\n implPath: string\n): Promise<types.File[]> => {\n const indexModule = new PluginImplementationModule(sdkPluginDefinition)\n indexModule.unshift(implPath)\n return indexModule.flatten()\n}\n\nconst generatePluginIndex = async (implPath: string): Promise<types.File> => {\n let content = ''\n content += `export * from './${implPath}'\\n`\n return {\n path: consts.INDEX_FILE,\n content,\n }\n}\n\nexport const generatePluginImplementation = async (\n sdkPluginDefinition: sdk.PluginDefinition\n): Promise<types.File[]> => {\n const implPath = consts.fromOutDir.implementationDir\n const typingFiles = await generatePluginImplementationCls(sdkPluginDefinition, implPath)\n const indexFile = await generatePluginIndex(implPath)\n return [...typingFiles, indexFile]\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,aAAwB;AAExB,mCAA2C;AAE3C,MAAM,kCAAkC,OACtC,qBACA,aAC0B;AAC1B,QAAM,cAAc,IAAI,wDAA2B,mBAAmB;AACtE,cAAY,QAAQ,QAAQ;AAC5B,SAAO,YAAY,QAAQ;AAC7B;AAEA,MAAM,sBAAsB,OAAO,aAA0C;AAC3E,MAAI,UAAU;AACd,aAAW,oBAAoB;AAAA;AAC/B,SAAO;AAAA,IACL,MAAM,OAAO;AAAA,IACb;AAAA,EACF;AACF;AAEO,MAAM,+BAA+B,OAC1C,wBAC0B;AAC1B,QAAM,WAAW,OAAO,WAAW;AACnC,QAAM,cAAc,MAAM,gCAAgC,qBAAqB,QAAQ;AACvF,QAAM,YAAY,MAAM,oBAAoB,QAAQ;AACpD,SAAO,CAAC,GAAG,aAAa,SAAS;AACnC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,90 @@
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 plugin_implementation_exports = {};
30
+ __export(plugin_implementation_exports, {
31
+ PluginImplementationModule: () => PluginImplementationModule
32
+ });
33
+ module.exports = __toCommonJS(plugin_implementation_exports);
34
+ var consts = __toESM(require("../consts"));
35
+ var import_module = require("../module");
36
+ var import_plugin_typings = require("./plugin-typings");
37
+ class PluginImplementationModule extends import_module.Module {
38
+ _typingsModule;
39
+ constructor(plugin) {
40
+ super({
41
+ exportName: "Plugin",
42
+ path: consts.INDEX_FILE
43
+ });
44
+ this._typingsModule = new import_plugin_typings.PluginTypingsModule(plugin);
45
+ this._typingsModule.unshift("typings");
46
+ this.pushDep(this._typingsModule);
47
+ }
48
+ async getContent() {
49
+ const typingsImport = this._typingsModule.import(this);
50
+ return [
51
+ consts.GENERATED_HEADER,
52
+ 'import * as sdk from "@botpress/sdk"',
53
+ `import * as ${this._typingsModule.name} from "./${typingsImport}"`,
54
+ `export * from "./${typingsImport}"`,
55
+ "",
56
+ `type TPlugin = sdk.DefaultPlugin<${this._typingsModule.name}.${this._typingsModule.exportName}>`,
57
+ "",
58
+ "export class Plugin extends sdk.Plugin<TPlugin> {}",
59
+ "",
60
+ "// extra types",
61
+ "",
62
+ "type AsyncFunction = (...args: any[]) => Promise<any>",
63
+ "export type EventHandlers = Required<{",
64
+ " [K in keyof Plugin['eventHandlers']]: NonNullable<Plugin['eventHandlers'][K]>[number]",
65
+ "}>",
66
+ "export type MessageHandlers = Required<{",
67
+ " [K in keyof Plugin['messageHandlers']]: NonNullable<Plugin['messageHandlers'][K]>[number]",
68
+ "}>",
69
+ "",
70
+ "export type MessageHandlerProps = Parameters<MessageHandlers['*']>[0]",
71
+ "export type EventHandlerProps = Parameters<EventHandlers['*']>[0]",
72
+ "",
73
+ "export type Client = (MessageHandlerProps | EventHandlerProps)['client']",
74
+ "export type ClientOperation = keyof {",
75
+ " [K in keyof Client as Client[K] extends AsyncFunction ? K : never]: null",
76
+ "}",
77
+ "export type ClientInputs = {",
78
+ " [K in ClientOperation]: Parameters<Client[K]>[0]",
79
+ "}",
80
+ "export type ClientOutputs = {",
81
+ " [K in ClientOperation]: Awaited<ReturnType<Client[K]>>",
82
+ "}"
83
+ ].join("\n");
84
+ }
85
+ }
86
+ // Annotate the CommonJS export names for ESM import in node:
87
+ 0 && (module.exports = {
88
+ PluginImplementationModule
89
+ });
90
+ //# sourceMappingURL=plugin-implementation.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/code-generation/plugin-implementation/plugin-implementation.ts"],
4
+ "sourcesContent": ["import * as sdk from '@botpress/sdk'\nimport * as consts from '../consts'\nimport { Module } from '../module'\nimport { PluginTypingsModule } from './plugin-typings'\n\nexport class PluginImplementationModule extends Module {\n private _typingsModule: PluginTypingsModule\n\n public constructor(plugin: sdk.PluginDefinition) {\n super({\n exportName: 'Plugin',\n path: consts.INDEX_FILE,\n })\n\n this._typingsModule = new PluginTypingsModule(plugin)\n this._typingsModule.unshift('typings')\n this.pushDep(this._typingsModule)\n }\n\n public async getContent() {\n const typingsImport = this._typingsModule.import(this)\n\n return [\n consts.GENERATED_HEADER,\n 'import * as sdk from \"@botpress/sdk\"',\n `import * as ${this._typingsModule.name} from \"./${typingsImport}\"`,\n `export * from \"./${typingsImport}\"`,\n '',\n `type TPlugin = sdk.DefaultPlugin<${this._typingsModule.name}.${this._typingsModule.exportName}>`,\n '',\n 'export class Plugin extends sdk.Plugin<TPlugin> {}',\n '',\n '// extra types',\n '',\n 'type AsyncFunction = (...args: any[]) => Promise<any>',\n 'export type EventHandlers = Required<{',\n \" [K in keyof Plugin['eventHandlers']]: NonNullable<Plugin['eventHandlers'][K]>[number]\",\n '}>',\n 'export type MessageHandlers = Required<{',\n \" [K in keyof Plugin['messageHandlers']]: NonNullable<Plugin['messageHandlers'][K]>[number]\",\n '}>',\n '',\n \"export type MessageHandlerProps = Parameters<MessageHandlers['*']>[0]\",\n \"export type EventHandlerProps = Parameters<EventHandlers['*']>[0]\",\n '',\n \"export type Client = (MessageHandlerProps | EventHandlerProps)['client']\",\n 'export type ClientOperation = keyof {',\n ' [K in keyof Client as Client[K] extends AsyncFunction ? K : never]: null',\n '}',\n 'export type ClientInputs = {',\n ' [K in ClientOperation]: Parameters<Client[K]>[0]',\n '}',\n 'export type ClientOutputs = {',\n ' [K in ClientOperation]: Awaited<ReturnType<Client[K]>>',\n '}',\n ].join('\\n')\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,aAAwB;AACxB,oBAAuB;AACvB,4BAAoC;AAE7B,MAAM,mCAAmC,qBAAO;AAAA,EAC7C;AAAA,EAED,YAAY,QAA8B;AAC/C,UAAM;AAAA,MACJ,YAAY;AAAA,MACZ,MAAM,OAAO;AAAA,IACf,CAAC;AAED,SAAK,iBAAiB,IAAI,0CAAoB,MAAM;AACpD,SAAK,eAAe,QAAQ,SAAS;AACrC,SAAK,QAAQ,KAAK,cAAc;AAAA,EAClC;AAAA,EAEA,MAAa,aAAa;AACxB,UAAM,gBAAgB,KAAK,eAAe,OAAO,IAAI;AAErD,WAAO;AAAA,MACL,OAAO;AAAA,MACP;AAAA,MACA,eAAe,KAAK,eAAe,gBAAgB;AAAA,MACnD,oBAAoB;AAAA,MACpB;AAAA,MACA,oCAAoC,KAAK,eAAe,QAAQ,KAAK,eAAe;AAAA,MACpF;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,EAAE,KAAK,IAAI;AAAA,EACb;AACF;",
6
+ "names": []
7
+ }