@botpress/cli 4.17.13 → 4.17.15

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 (305) hide show
  1. package/.turbo/turbo-build.log +16 -12
  2. package/bin.js +1 -1
  3. package/dist/api/bot-body.d.ts +5 -0
  4. package/dist/api/client.d.ts +50 -0
  5. package/dist/api/client.js +2 -1
  6. package/dist/api/client.js.map +1 -1
  7. package/dist/api/index.d.ts +6 -0
  8. package/dist/api/index.js +9 -0
  9. package/dist/api/integration-body.d.ts +5 -0
  10. package/dist/api/interface-body.d.ts +7 -0
  11. package/dist/api/paging.d.ts +9 -0
  12. package/dist/api/plugin-body.d.ts +5 -0
  13. package/dist/api/retry.d.ts +2 -0
  14. package/dist/api/types.d.ts +62 -0
  15. package/dist/chat/index.d.ts +25 -0
  16. package/dist/chat/index.js +1 -1
  17. package/dist/chat/index.js.map +1 -1
  18. package/dist/cli.d.ts +1 -0
  19. package/dist/cli.js +51 -0
  20. package/dist/cli.js.map +7 -0
  21. package/dist/code-generation/bot-implementation/bot-implementation.d.ts +8 -0
  22. package/dist/code-generation/bot-implementation/bot-implementation.js.map +1 -1
  23. package/dist/code-generation/bot-implementation/bot-plugins/index.d.ts +7 -0
  24. package/dist/code-generation/bot-implementation/bot-plugins/index.js.map +1 -1
  25. package/dist/code-generation/bot-implementation/bot-plugins/plugin-module.d.ts +13 -0
  26. package/dist/code-generation/bot-implementation/bot-plugins/plugin-module.js.map +1 -1
  27. package/dist/code-generation/bot-implementation/bot-typings/actions-module.d.ts +21 -0
  28. package/dist/code-generation/bot-implementation/bot-typings/actions-module.js.map +1 -1
  29. package/dist/code-generation/bot-implementation/bot-typings/events-module.d.ts +10 -0
  30. package/dist/code-generation/bot-implementation/bot-typings/events-module.js.map +1 -1
  31. package/dist/code-generation/bot-implementation/bot-typings/index.d.ts +7 -0
  32. package/dist/code-generation/bot-implementation/bot-typings/index.js.map +1 -1
  33. package/dist/code-generation/bot-implementation/bot-typings/states-module.d.ts +17 -0
  34. package/dist/code-generation/bot-implementation/bot-typings/states-module.js.map +1 -1
  35. package/dist/code-generation/bot-implementation/bot-typings/tables-module.d.ts +10 -0
  36. package/dist/code-generation/bot-implementation/bot-typings/tables-module.js.map +1 -1
  37. package/dist/code-generation/bot-implementation/bot-typings/workflows-module.d.ts +27 -0
  38. package/dist/code-generation/bot-implementation/bot-typings/workflows-module.js.map +1 -1
  39. package/dist/code-generation/bot-implementation/index.d.ts +3 -0
  40. package/dist/code-generation/bot-implementation/index.js.map +1 -1
  41. package/dist/code-generation/consts.d.ts +5 -0
  42. package/dist/code-generation/consts.js +2 -1
  43. package/dist/code-generation/generators.d.ts +10 -0
  44. package/dist/code-generation/generators.js.map +1 -1
  45. package/dist/code-generation/index.d.ts +8 -0
  46. package/dist/code-generation/index.js +2 -1
  47. package/dist/code-generation/integration-implementation/index.d.ts +3 -0
  48. package/dist/code-generation/integration-implementation/index.js.map +1 -1
  49. package/dist/code-generation/integration-implementation/integration-implementation.d.ts +7 -0
  50. package/dist/code-generation/integration-implementation/integration-implementation.js.map +1 -1
  51. package/dist/code-generation/integration-implementation/integration-secret.d.ts +8 -0
  52. package/dist/code-generation/integration-implementation/integration-secret.js.map +1 -1
  53. package/dist/code-generation/integration-implementation/integration-typings/actions-module.d.ts +21 -0
  54. package/dist/code-generation/integration-implementation/integration-typings/actions-module.js.map +1 -1
  55. package/dist/code-generation/integration-implementation/integration-typings/channels-module.d.ts +5 -0
  56. package/dist/code-generation/integration-implementation/integration-typings/channels-module.js.map +1 -1
  57. package/dist/code-generation/integration-implementation/integration-typings/configuration-module.d.ts +7 -0
  58. package/dist/code-generation/integration-implementation/integration-typings/configurations-module.d.ts +10 -0
  59. package/dist/code-generation/integration-implementation/integration-typings/configurations-module.js.map +1 -1
  60. package/dist/code-generation/integration-implementation/integration-typings/entities-module.d.ts +10 -0
  61. package/dist/code-generation/integration-implementation/integration-typings/entities-module.js.map +1 -1
  62. package/dist/code-generation/integration-implementation/integration-typings/events-module.d.ts +10 -0
  63. package/dist/code-generation/integration-implementation/integration-typings/events-module.js.map +1 -1
  64. package/dist/code-generation/integration-implementation/integration-typings/index.d.ts +8 -0
  65. package/dist/code-generation/integration-implementation/integration-typings/index.js.map +1 -1
  66. package/dist/code-generation/integration-implementation/integration-typings/states-module.d.ts +17 -0
  67. package/dist/code-generation/integration-implementation/integration-typings/states-module.js.map +1 -1
  68. package/dist/code-generation/integration-package/index.d.ts +2 -0
  69. package/dist/code-generation/integration-package/index.js.map +1 -1
  70. package/dist/code-generation/integration-package/integration-package-definition/actions-module.d.ts +21 -0
  71. package/dist/code-generation/integration-package/integration-package-definition/actions-module.js.map +1 -1
  72. package/dist/code-generation/integration-package/integration-package-definition/channels-module.d.ts +5 -0
  73. package/dist/code-generation/integration-package/integration-package-definition/channels-module.js.map +1 -1
  74. package/dist/code-generation/integration-package/integration-package-definition/configuration-module.d.ts +7 -0
  75. package/dist/code-generation/integration-package/integration-package-definition/configurations-module.d.ts +10 -0
  76. package/dist/code-generation/integration-package/integration-package-definition/configurations-module.js.map +1 -1
  77. package/dist/code-generation/integration-package/integration-package-definition/entities-module.d.ts +10 -0
  78. package/dist/code-generation/integration-package/integration-package-definition/entities-module.js.map +1 -1
  79. package/dist/code-generation/integration-package/integration-package-definition/events-module.d.ts +10 -0
  80. package/dist/code-generation/integration-package/integration-package-definition/events-module.js.map +1 -1
  81. package/dist/code-generation/integration-package/integration-package-definition/index.d.ts +8 -0
  82. package/dist/code-generation/integration-package/integration-package-definition/index.js.map +1 -1
  83. package/dist/code-generation/integration-package/integration-package-definition/interfaces-module.d.ts +10 -0
  84. package/dist/code-generation/integration-package/integration-package-definition/interfaces-module.js.map +1 -1
  85. package/dist/code-generation/integration-package/integration-package-definition/states-module.d.ts +10 -0
  86. package/dist/code-generation/integration-package/integration-package-definition/states-module.js.map +1 -1
  87. package/dist/code-generation/integration-package/integration-package-definition/typings.d.ts +10 -0
  88. package/dist/code-generation/interface-implementation/index.d.ts +4 -0
  89. package/dist/code-generation/interface-implementation/integration-typings/actions-module.d.ts +21 -0
  90. package/dist/code-generation/interface-implementation/integration-typings/actions-module.js.map +1 -1
  91. package/dist/code-generation/interface-implementation/integration-typings/channels-module.d.ts +5 -0
  92. package/dist/code-generation/interface-implementation/integration-typings/channels-module.js.map +1 -1
  93. package/dist/code-generation/interface-implementation/integration-typings/entities-module.d.ts +10 -0
  94. package/dist/code-generation/interface-implementation/integration-typings/entities-module.js.map +1 -1
  95. package/dist/code-generation/interface-implementation/integration-typings/events-module.d.ts +10 -0
  96. package/dist/code-generation/interface-implementation/integration-typings/events-module.js.map +1 -1
  97. package/dist/code-generation/interface-implementation/integration-typings/index.d.ts +8 -0
  98. package/dist/code-generation/interface-implementation/integration-typings/index.js.map +1 -1
  99. package/dist/code-generation/interface-package/index.d.ts +2 -0
  100. package/dist/code-generation/interface-package/index.js.map +1 -1
  101. package/dist/code-generation/interface-package/interface-package-definition/actions-module.d.ts +21 -0
  102. package/dist/code-generation/interface-package/interface-package-definition/actions-module.js.map +1 -1
  103. package/dist/code-generation/interface-package/interface-package-definition/channels-module.d.ts +5 -0
  104. package/dist/code-generation/interface-package/interface-package-definition/channels-module.js.map +1 -1
  105. package/dist/code-generation/interface-package/interface-package-definition/entities-module.d.ts +10 -0
  106. package/dist/code-generation/interface-package/interface-package-definition/entities-module.js.map +1 -1
  107. package/dist/code-generation/interface-package/interface-package-definition/events-module.d.ts +10 -0
  108. package/dist/code-generation/interface-package/interface-package-definition/events-module.js.map +1 -1
  109. package/dist/code-generation/interface-package/interface-package-definition/index.d.ts +8 -0
  110. package/dist/code-generation/interface-package/interface-package-definition/index.js.map +1 -1
  111. package/dist/code-generation/interface-package/interface-package-definition/typings.d.ts +7 -0
  112. package/dist/code-generation/module.d.ts +49 -0
  113. package/dist/code-generation/module.js +2 -2
  114. package/dist/code-generation/module.js.map +2 -2
  115. package/dist/code-generation/plugin-implementation/index.d.ts +3 -0
  116. package/dist/code-generation/plugin-implementation/index.js.map +1 -1
  117. package/dist/code-generation/plugin-implementation/plugin-implementation.d.ts +7 -0
  118. package/dist/code-generation/plugin-implementation/plugin-implementation.js.map +1 -1
  119. package/dist/code-generation/plugin-implementation/plugin-typings/actions-module.d.ts +21 -0
  120. package/dist/code-generation/plugin-implementation/plugin-typings/actions-module.js.map +1 -1
  121. package/dist/code-generation/plugin-implementation/plugin-typings/configuration-module.d.ts +7 -0
  122. package/dist/code-generation/plugin-implementation/plugin-typings/events-module.d.ts +10 -0
  123. package/dist/code-generation/plugin-implementation/plugin-typings/events-module.js.map +1 -1
  124. package/dist/code-generation/plugin-implementation/plugin-typings/index.d.ts +8 -0
  125. package/dist/code-generation/plugin-implementation/plugin-typings/index.js.map +1 -1
  126. package/dist/code-generation/plugin-implementation/plugin-typings/states-module.d.ts +17 -0
  127. package/dist/code-generation/plugin-implementation/plugin-typings/states-module.js.map +1 -1
  128. package/dist/code-generation/plugin-implementation/plugin-typings/tables-module.d.ts +10 -0
  129. package/dist/code-generation/plugin-implementation/plugin-typings/tables-module.js.map +1 -1
  130. package/dist/code-generation/plugin-implementation/plugin-typings/workflows-module.d.ts +27 -0
  131. package/dist/code-generation/plugin-implementation/plugin-typings/workflows-module.js.map +1 -1
  132. package/dist/code-generation/plugin-package/index.d.ts +2 -0
  133. package/dist/code-generation/plugin-package/index.js.map +1 -1
  134. package/dist/code-generation/plugin-package/plugin-package-definition/actions-module.d.ts +21 -0
  135. package/dist/code-generation/plugin-package/plugin-package-definition/actions-module.js.map +1 -1
  136. package/dist/code-generation/plugin-package/plugin-package-definition/configuration-module.d.ts +7 -0
  137. package/dist/code-generation/plugin-package/plugin-package-definition/events-module.d.ts +10 -0
  138. package/dist/code-generation/plugin-package/plugin-package-definition/events-module.js.map +1 -1
  139. package/dist/code-generation/plugin-package/plugin-package-definition/index.d.ts +8 -0
  140. package/dist/code-generation/plugin-package/plugin-package-definition/index.js.map +1 -1
  141. package/dist/code-generation/plugin-package/plugin-package-definition/interfaces-module.d.ts +7 -0
  142. package/dist/code-generation/plugin-package/plugin-package-definition/interfaces-module.js.map +1 -1
  143. package/dist/code-generation/plugin-package/plugin-package-definition/recurring-events-module.d.ts +5 -0
  144. package/dist/code-generation/plugin-package/plugin-package-definition/recurring-events-module.js.map +1 -1
  145. package/dist/code-generation/plugin-package/plugin-package-definition/states-module.d.ts +10 -0
  146. package/dist/code-generation/plugin-package/plugin-package-definition/states-module.js.map +1 -1
  147. package/dist/code-generation/plugin-package/plugin-package-definition/typings.d.ts +7 -0
  148. package/dist/code-generation/strings.d.ts +4 -0
  149. package/dist/code-generation/strings.js.map +1 -1
  150. package/dist/code-generation/typings.d.ts +162 -0
  151. package/dist/code-generation/typings.test.d.ts +1 -0
  152. package/dist/command-definitions.d.ts +1480 -0
  153. package/dist/command-definitions.js +0 -2
  154. package/dist/command-implementations/add-command.d.ts +15 -0
  155. package/dist/command-implementations/add-command.js.map +1 -1
  156. package/dist/command-implementations/base-command.d.ts +13 -0
  157. package/dist/command-implementations/base-command.js.map +1 -1
  158. package/dist/command-implementations/bot-commands.d.ts +20 -0
  159. package/dist/command-implementations/bot-commands.js.map +1 -1
  160. package/dist/command-implementations/build-command.d.ts +9 -0
  161. package/dist/command-implementations/build-command.js +4 -4
  162. package/dist/command-implementations/build-command.js.map +2 -2
  163. package/dist/command-implementations/bundle-command.d.ts +10 -0
  164. package/dist/command-implementations/bundle-command.js +8 -7
  165. package/dist/command-implementations/bundle-command.js.map +2 -2
  166. package/dist/command-implementations/chat-command.d.ts +13 -0
  167. package/dist/command-implementations/chat-command.js.map +1 -1
  168. package/dist/command-implementations/deploy-command.d.ts +18 -0
  169. package/dist/command-implementations/deploy-command.js +1 -2
  170. package/dist/command-implementations/deploy-command.js.map +1 -1
  171. package/dist/command-implementations/dev-command.d.ts +21 -0
  172. package/dist/command-implementations/dev-command.js +6 -1
  173. package/dist/command-implementations/dev-command.js.map +2 -2
  174. package/dist/command-implementations/gen-command.d.ts +11 -0
  175. package/dist/command-implementations/gen-command.js.map +1 -1
  176. package/dist/command-implementations/global-command.d.ts +57 -0
  177. package/dist/command-implementations/global-command.js.map +1 -1
  178. package/dist/command-implementations/index.d.ts +1534 -0
  179. package/dist/command-implementations/index.js +0 -2
  180. package/dist/command-implementations/init-command.d.ts +17 -0
  181. package/dist/command-implementations/init-command.js.map +1 -1
  182. package/dist/command-implementations/integration-commands.d.ts +15 -0
  183. package/dist/command-implementations/integration-commands.js.map +1 -1
  184. package/dist/command-implementations/interface-commands.d.ts +14 -0
  185. package/dist/command-implementations/interface-commands.js.map +1 -1
  186. package/dist/command-implementations/lint-command.d.ts +15 -0
  187. package/dist/command-implementations/login-command.d.ts +6 -0
  188. package/dist/command-implementations/login-command.js +1 -2
  189. package/dist/command-implementations/login-command.js.map +1 -1
  190. package/dist/command-implementations/logout-command.d.ts +6 -0
  191. package/dist/command-implementations/plugin-commands.d.ts +14 -0
  192. package/dist/command-implementations/plugin-commands.js.map +1 -1
  193. package/dist/command-implementations/profile-commands.d.ts +14 -0
  194. package/dist/command-implementations/profile-commands.js +1 -2
  195. package/dist/command-implementations/profile-commands.js.map +1 -1
  196. package/dist/command-implementations/project-command.d.ts +67 -0
  197. package/dist/command-implementations/project-command.js.map +1 -1
  198. package/dist/command-implementations/read-command.d.ts +10 -0
  199. package/dist/command-implementations/serve-command.d.ts +6 -0
  200. package/dist/command-implementations/serve-command.js.map +1 -1
  201. package/dist/command-tree.d.ts +39 -0
  202. package/dist/config.d.ts +1441 -0
  203. package/dist/consts.d.ts +41 -0
  204. package/dist/errors.d.ts +56 -0
  205. package/dist/errors.js.map +1 -1
  206. package/dist/index.d.ts +1524 -0
  207. package/dist/index.js +50 -25
  208. package/dist/index.js.map +3 -3
  209. package/dist/init.d.ts +1 -0
  210. package/dist/linter/base-linter.d.ts +21 -0
  211. package/dist/linter/base-linter.js.map +1 -1
  212. package/dist/linter/base-linter.test.d.ts +1 -0
  213. package/dist/linter/base-linter.test.js +4 -4
  214. package/dist/linter/base-linter.test.js.map +1 -1
  215. package/dist/linter/bot-linter.d.ts +5 -0
  216. package/dist/linter/integration-linter.d.ts +7 -0
  217. package/dist/linter/interface-linter.d.ts +5 -0
  218. package/dist/linter/ruleset-tests/bot.ruleset.test.d.ts +1 -0
  219. package/dist/linter/ruleset-tests/common.d.ts +9 -0
  220. package/dist/linter/ruleset-tests/integration.ruleset.test.d.ts +1 -0
  221. package/dist/linter/ruleset-tests/interface.ruleset.test.d.ts +1 -0
  222. package/dist/linter/rulesets/bot.ruleset.d.ts +165 -0
  223. package/dist/linter/rulesets/bot.ruleset.js.map +1 -1
  224. package/dist/linter/rulesets/integration.ruleset.d.ts +390 -0
  225. package/dist/linter/rulesets/integration.ruleset.js.map +1 -1
  226. package/dist/linter/rulesets/interface.ruleset.d.ts +141 -0
  227. package/dist/linter/rulesets/interface.ruleset.js.map +1 -1
  228. package/dist/linter/spectral-functions.d.ts +11 -0
  229. package/dist/logger/base-logger.d.ts +43 -0
  230. package/dist/logger/base-logger.js.map +1 -1
  231. package/dist/logger/index.d.ts +22 -0
  232. package/dist/logger/index.js.map +1 -1
  233. package/dist/logger/logger.test.d.ts +1 -0
  234. package/dist/package-ref.d.ts +22 -0
  235. package/dist/package-ref.js.map +1 -1
  236. package/dist/package-ref.test.d.ts +1 -0
  237. package/dist/package-ref.test.js.map +1 -1
  238. package/dist/project-templates.d.ts +42 -0
  239. package/dist/register-yargs.d.ts +4 -0
  240. package/dist/register-yargs.js.map +1 -1
  241. package/dist/root.d.ts +7 -0
  242. package/dist/sdk/index.d.ts +2 -0
  243. package/dist/sdk/index.js +5 -0
  244. package/dist/sdk/validate-bot.d.ts +2 -0
  245. package/dist/sdk/validate-bot.js.map +1 -1
  246. package/dist/sdk/validate-bot.test.d.ts +1 -0
  247. package/dist/sdk/validate-integration.d.ts +2 -0
  248. package/dist/sdk/validate-integration.js.map +1 -1
  249. package/dist/tables/index.d.ts +1 -0
  250. package/dist/tables/schemas.d.ts +1259 -0
  251. package/dist/tables/tables-publisher.d.ts +22 -0
  252. package/dist/tables/tables-publisher.js.map +1 -1
  253. package/dist/typings.d.ts +27 -0
  254. package/dist/utils/attribute-utils.d.ts +10 -0
  255. package/dist/utils/cache-utils.d.ts +14 -0
  256. package/dist/utils/case-utils.d.ts +14 -0
  257. package/dist/utils/case-utils.test.d.ts +1 -0
  258. package/dist/utils/case-utils.test.js.map +1 -1
  259. package/dist/utils/concurrency-utils.d.ts +1 -0
  260. package/dist/utils/concurrency-utils.test.d.ts +1 -0
  261. package/dist/utils/esbuild-utils.d.ts +29 -0
  262. package/dist/utils/esbuild-utils.js +32 -1
  263. package/dist/utils/esbuild-utils.js.map +3 -3
  264. package/dist/utils/event-emitter.d.ts +7 -0
  265. package/dist/utils/file-watcher.d.ts +17 -0
  266. package/dist/utils/file-watcher.js.map +1 -1
  267. package/dist/utils/guard-utils.d.ts +4 -0
  268. package/dist/utils/id-utils.d.ts +2 -0
  269. package/dist/utils/index.d.ts +22 -0
  270. package/dist/utils/object-utils.d.ts +1 -0
  271. package/dist/utils/path-utils.d.ts +28 -0
  272. package/dist/utils/path-utils.test.d.ts +1 -0
  273. package/dist/utils/pkgjson-utils.d.ts +17 -0
  274. package/dist/utils/promise-utils.d.ts +2 -0
  275. package/dist/utils/promise-utils.test.d.ts +1 -0
  276. package/dist/utils/prompt-utils.d.ts +33 -0
  277. package/dist/utils/prompt-utils.js.map +1 -1
  278. package/dist/utils/record-utils.d.ts +8 -0
  279. package/dist/utils/record-utils.test.d.ts +1 -0
  280. package/dist/utils/require-utils.d.ts +2 -0
  281. package/dist/utils/require-utils.js.map +1 -1
  282. package/dist/utils/require-utils.test.d.ts +1 -0
  283. package/dist/utils/require-utils.test.js.map +1 -1
  284. package/dist/utils/schema-utils.d.ts +13 -0
  285. package/dist/utils/schema-utils.test.d.ts +1 -0
  286. package/dist/utils/semver-utils.d.ts +8 -0
  287. package/dist/utils/string-utils.d.ts +2 -0
  288. package/dist/utils/template-utils.d.ts +1 -0
  289. package/dist/utils/tunnel-utils.d.ts +49 -0
  290. package/dist/utils/tunnel-utils.js.map +1 -1
  291. package/dist/utils/type-utils.d.ts +19 -0
  292. package/dist/utils/url-utils.d.ts +19 -0
  293. package/dist/utils/url-utils.js.map +1 -1
  294. package/dist/worker/child-entrypoint.d.ts +1 -0
  295. package/dist/worker/child-entrypoint.js.map +1 -1
  296. package/dist/worker/child-wrapper.d.ts +18 -0
  297. package/dist/worker/child-wrapper.js.map +1 -1
  298. package/dist/worker/config.d.ts +28 -0
  299. package/dist/worker/index.d.ts +2 -0
  300. package/dist/worker/is-child.d.ts +14 -0
  301. package/dist/worker/is-child.js.map +1 -1
  302. package/dist/worker/worker-state.d.ts +30 -0
  303. package/dist/worker/worker.d.ts +20 -0
  304. package/package.json +7 -5
  305. package/tsconfig.build.json +14 -0
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/code-generation/bot-implementation/bot-typings/events-module.ts"],
4
4
  "sourcesContent": ["import * as sdk from '@botpress/sdk'\nimport { zuiSchemaToTypeScriptType } from '../../generators'\nimport { Module, ReExportTypeModule } from '../../module'\nimport * as strings from '../../strings'\n\nexport class EventModule extends Module {\n public constructor(\n name: string,\n private _event: sdk.BotEventDefinition\n ) {\n const eventName = name\n const exportName = strings.typeName(eventName)\n super({ path: `${name}.ts`, exportName })\n }\n\n public async getContent() {\n return zuiSchemaToTypeScriptType(this._event.schema, this.exportName)\n }\n}\n\nexport class EventsModule extends ReExportTypeModule {\n public constructor(events: Record<string, sdk.BotEventDefinition>) {\n super({ exportName: strings.typeName('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;AACA,wBAA0C;AAC1C,oBAA2C;AAC3C,cAAyB;AAElB,MAAM,oBAAoB,qBAAO;AAAA,EAC/B,YACL,MACQ,QACR;AACA,UAAM,YAAY;AAClB,UAAM,aAAa,QAAQ,SAAS,SAAS;AAC7C,UAAM,EAAE,MAAM,GAAG,WAAW,WAAW,CAAC;AAJhC;AAAA,EAKV;AAAA,EAEA,MAAa,aAAa;AACxB,eAAO,6CAA0B,KAAK,OAAO,QAAQ,KAAK,UAAU;AAAA,EACtE;AACF;AAEO,MAAM,qBAAqB,iCAAmB;AAAA,EAC5C,YAAY,QAAgD;AACjE,UAAM,EAAE,YAAY,QAAQ,SAAS,QAAQ,EAAE,CAAC;AAChD,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;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,wBAA0C;AAC1C,oBAA2C;AAC3C,cAAyB;AAElB,MAAM,oBAAoB,qBAAO;AAAA,EAC/B,YACL,MACQ,QACR;AACA,UAAM,YAAY;AAClB,UAAM,aAAa,QAAQ,SAAS,SAAS;AAC7C,UAAM,EAAE,MAAM,GAAG,IAAI,OAAO,WAAW,CAAC;AAJhC;AAAA,EAKV;AAAA,EAEA,MAAa,aAAa;AACxB,eAAO,6CAA0B,KAAK,OAAO,QAAQ,KAAK,UAAU;AAAA,EACtE;AACF;AAEO,MAAM,qBAAqB,iCAAmB;AAAA,EAC5C,YAAY,QAAgD;AACjE,UAAM,EAAE,YAAY,QAAQ,SAAS,QAAQ,EAAE,CAAC;AAChD,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
6
  "names": ["module"]
7
7
  }
@@ -0,0 +1,7 @@
1
+ import * as sdk from '@botpress/sdk';
2
+ import { Module } from '../../module';
3
+ export declare class BotTypingsModule extends Module {
4
+ private _dependencies;
5
+ constructor(bot: sdk.BotDefinition);
6
+ getContent(): Promise<string>;
7
+ }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/code-generation/bot-implementation/bot-typings/index.ts"],
4
4
  "sourcesContent": ["import * as sdk from '@botpress/sdk'\nimport * as consts from '../../consts'\nimport { IntegrationTypingsModule } from '../../integration-implementation/integration-typings'\nimport { Module, ReExportTypeModule } from '../../module'\nimport { ActionsModule } from './actions-module'\nimport { EventsModule } from './events-module'\nimport { StatesModule } from './states-module'\nimport { TablesModule } from './tables-module'\nimport { WorkflowsModule } from './workflows-module'\n\nclass BotIntegrationsModule extends ReExportTypeModule {\n public constructor(bot: sdk.BotDefinition) {\n super({\n exportName: 'Integrations',\n })\n\n for (const [alias, integration] of Object.entries(bot.integrations ?? {})) {\n const integrationModule = new IntegrationTypingsModule(integration.definition).setCustomTypeName(alias)\n integrationModule.unshift(alias)\n this.pushDep(integrationModule)\n }\n }\n}\n\ntype BotTypingsIndexDependencies = {\n integrationsModule: BotIntegrationsModule\n eventsModule: EventsModule\n statesModule: StatesModule\n actionsModule: ActionsModule\n tablesModule: TablesModule\n workflowsModule: WorkflowsModule\n}\n\nexport class BotTypingsModule extends Module {\n private _dependencies: BotTypingsIndexDependencies\n\n public constructor(bot: sdk.BotDefinition) {\n super({\n exportName: 'TBot',\n path: consts.INDEX_FILE,\n })\n\n const integrationsModule = new BotIntegrationsModule(bot)\n integrationsModule.unshift('integrations')\n this.pushDep(integrationsModule)\n\n const eventsModule = new EventsModule(bot.withPlugins.events ?? {})\n eventsModule.unshift('events')\n this.pushDep(eventsModule)\n\n const statesModule = new StatesModule(bot.withPlugins.states ?? {})\n statesModule.unshift('states')\n this.pushDep(statesModule)\n\n const tablesModule = new TablesModule(bot.withPlugins.tables ?? {})\n tablesModule.unshift('tables')\n this.pushDep(tablesModule)\n\n const actionsModule = new ActionsModule(bot.withPlugins.actions ?? {})\n actionsModule.unshift('actions')\n this.pushDep(actionsModule)\n\n const workflowsModule = new WorkflowsModule(bot.withPlugins.workflows ?? {})\n workflowsModule.unshift('workflows')\n this.pushDep(workflowsModule)\n\n this._dependencies = {\n integrationsModule,\n eventsModule,\n statesModule,\n actionsModule,\n tablesModule,\n workflowsModule,\n }\n }\n\n public async getContent() {\n const { integrationsModule, eventsModule, statesModule, actionsModule, tablesModule, workflowsModule } =\n this._dependencies\n\n const integrationsImport = integrationsModule.import(this)\n const eventsImport = eventsModule.import(this)\n const statesImport = statesModule.import(this)\n const actionsImport = actionsModule\n const tablesImport = tablesModule.import(this)\n const workflowsImport = workflowsModule\n\n return [\n consts.GENERATED_HEADER,\n `import * as ${integrationsModule.name} from './${integrationsImport}'`,\n `import * as ${eventsModule.name} from './${eventsModule.name}'`,\n `import * as ${statesModule.name} from './${statesModule.name}'`,\n `import * as ${actionsModule.name} from './${actionsImport.name}'`,\n `import * as ${tablesModule.name} from './${tablesImport}'`,\n `import * as ${workflowsModule.name} from './${workflowsImport.name}'`,\n '',\n `export * as ${integrationsModule.name} from './${integrationsImport}'`,\n `export * as ${eventsModule.name} from './${eventsImport}'`,\n `export * as ${statesModule.name} from './${statesImport}'`,\n `export * as ${actionsModule.name} from './${actionsImport.name}'`,\n `export * as ${tablesModule.name} from './${tablesImport}'`,\n `export * as ${workflowsModule.name} from './${workflowsImport.name}'`,\n '',\n 'export type TBot = {',\n ` integrations: ${integrationsModule.name}.${integrationsModule.exportName}`,\n ` events: ${eventsModule.name}.${eventsModule.exportName}`,\n ` states: ${statesModule.name}.${statesModule.exportName}`,\n ` actions: ${actionsModule.name}.${actionsModule.exportName}`,\n ` tables: ${tablesModule.name}.${tablesModule.exportName}`,\n ` workflows: ${workflowsModule.name}.${workflowsModule.exportName}`,\n '}',\n ].join('\\n')\n }\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,17 @@
1
+ import * as sdk from '@botpress/sdk';
2
+ import { Module, ReExportTypeModule } from '../../module';
3
+ export declare class StatePayloadModule extends Module {
4
+ private _state;
5
+ constructor(_state: sdk.BotStateDefinition);
6
+ getContent(): Promise<string>;
7
+ }
8
+ export declare class StateModule extends Module {
9
+ private _name;
10
+ private _state;
11
+ private _payloadModule;
12
+ constructor(_name: string, _state: sdk.BotStateDefinition);
13
+ getContent(): Promise<string>;
14
+ }
15
+ export declare class StatesModule extends ReExportTypeModule {
16
+ constructor(states: Record<string, sdk.BotStateDefinition>);
17
+ }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/code-generation/bot-implementation/bot-typings/states-module.ts"],
4
4
  "sourcesContent": ["import * as sdk from '@botpress/sdk'\nimport * as consts from '../../consts'\nimport * as gen from '../../generators'\nimport { Module, ReExportTypeModule } from '../../module'\nimport * as strings from '../../strings'\n\nexport class StatePayloadModule extends Module {\n public constructor(private _state: sdk.BotStateDefinition) {\n super({\n path: 'payload.ts',\n exportName: strings.typeName('Payload'),\n })\n }\n\n public async getContent() {\n return gen.zuiSchemaToTypeScriptType(this._state.schema, 'Payload')\n }\n}\n\nexport class StateModule extends Module {\n private _payloadModule: StatePayloadModule\n\n public constructor(\n private _name: string,\n private _state: sdk.BotStateDefinition\n ) {\n super({\n path: consts.INDEX_FILE,\n exportName: strings.typeName(_name),\n })\n\n this._payloadModule = new StatePayloadModule(_state)\n this.pushDep(this._payloadModule)\n }\n\n public async getContent(): Promise<string> {\n const { _payloadModule } = this\n const payloadImport = _payloadModule.import(this)\n\n const exportName = strings.typeName(this._name)\n\n return [\n consts.GENERATED_HEADER,\n `import * as ${_payloadModule.name} from './${payloadImport}'`,\n `export type ${exportName} = {`,\n ` type: ${gen.primitiveToTypescriptValue(this._state.type)},`,\n ` payload: ${_payloadModule.name}.${_payloadModule.exportName}`,\n '}',\n ].join('\\n')\n }\n}\n\nexport class StatesModule extends ReExportTypeModule {\n public constructor(states: Record<string, sdk.BotStateDefinition>) {\n super({ exportName: strings.typeName('states') })\n for (const [stateName, state] of Object.entries(states)) {\n const module = new StateModule(stateName, state)\n module.unshift(stateName)\n this.pushDep(module)\n }\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,aAAwB;AACxB,UAAqB;AACrB,oBAA2C;AAC3C,cAAyB;AAElB,MAAM,2BAA2B,qBAAO;AAAA,EACtC,YAAoB,QAAgC;AACzD,UAAM;AAAA,MACJ,MAAM;AAAA,MACN,YAAY,QAAQ,SAAS,SAAS;AAAA,IACxC,CAAC;AAJwB;AAAA,EAK3B;AAAA,EAEA,MAAa,aAAa;AACxB,WAAO,IAAI,0BAA0B,KAAK,OAAO,QAAQ,SAAS;AAAA,EACpE;AACF;AAEO,MAAM,oBAAoB,qBAAO;AAAA,EAG/B,YACG,OACA,QACR;AACA,UAAM;AAAA,MACJ,MAAM,OAAO;AAAA,MACb,YAAY,QAAQ,SAAS,KAAK;AAAA,IACpC,CAAC;AANO;AACA;AAOR,SAAK,iBAAiB,IAAI,mBAAmB,MAAM;AACnD,SAAK,QAAQ,KAAK,cAAc;AAAA,EAClC;AAAA,EAbQ;AAAA,EAeR,MAAa,aAA8B;AACzC,UAAM,EAAE,eAAe,IAAI;AAC3B,UAAM,gBAAgB,eAAe,OAAO,IAAI;AAEhD,UAAM,aAAa,QAAQ,SAAS,KAAK,KAAK;AAE9C,WAAO;AAAA,MACL,OAAO;AAAA,MACP,eAAe,eAAe,gBAAgB;AAAA,MAC9C,eAAe;AAAA,MACf,WAAW,IAAI,2BAA2B,KAAK,OAAO,IAAI;AAAA,MAC1D,cAAc,eAAe,QAAQ,eAAe;AAAA,MACpD;AAAA,IACF,EAAE,KAAK,IAAI;AAAA,EACb;AACF;AAEO,MAAM,qBAAqB,iCAAmB;AAAA,EAC5C,YAAY,QAAgD;AACjE,UAAM,EAAE,YAAY,QAAQ,SAAS,QAAQ,EAAE,CAAC;AAChD,eAAW,CAAC,WAAW,KAAK,KAAK,OAAO,QAAQ,MAAM,GAAG;AACvD,YAAMA,UAAS,IAAI,YAAY,WAAW,KAAK;AAC/C,MAAAA,QAAO,QAAQ,SAAS;AACxB,WAAK,QAAQA,OAAM;AAAA,IACrB;AAAA,EACF;AACF;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,aAAwB;AACxB,UAAqB;AACrB,oBAA2C;AAC3C,cAAyB;AAElB,MAAM,2BAA2B,qBAAO;AAAA,EACtC,YAAoB,QAAgC;AACzD,UAAM;AAAA,MACJ,MAAM;AAAA,MACN,YAAY,QAAQ,SAAS,SAAS;AAAA,IACxC,CAAC;AAJwB;AAAA,EAK3B;AAAA,EAEA,MAAa,aAAa;AACxB,WAAO,IAAI,0BAA0B,KAAK,OAAO,QAAQ,SAAS;AAAA,EACpE;AACF;AAEO,MAAM,oBAAoB,qBAAO;AAAA,EAG/B,YACG,OACA,QACR;AACA,UAAM;AAAA,MACJ,MAAM,OAAO;AAAA,MACb,YAAY,QAAQ,SAAS,KAAK;AAAA,IACpC,CAAC;AANO;AACA;AAOR,SAAK,iBAAiB,IAAI,mBAAmB,MAAM;AACnD,SAAK,QAAQ,KAAK,cAAc;AAAA,EAClC;AAAA,EAbQ;AAAA,EAeR,MAAa,aAA8B;AACzC,UAAM,EAAE,eAAe,IAAI;AAC3B,UAAM,gBAAgB,eAAe,OAAO,IAAI;AAEhD,UAAM,aAAa,QAAQ,SAAS,KAAK,KAAK;AAE9C,WAAO;AAAA,MACL,OAAO;AAAA,MACP,eAAe,eAAe,IAAI,YAAY,aAAa;AAAA,MAC3D,eAAe,UAAU;AAAA,MACzB,WAAW,IAAI,2BAA2B,KAAK,OAAO,IAAI,CAAC;AAAA,MAC3D,cAAc,eAAe,IAAI,IAAI,eAAe,UAAU;AAAA,MAC9D;AAAA,IACF,EAAE,KAAK,IAAI;AAAA,EACb;AACF;AAEO,MAAM,qBAAqB,iCAAmB;AAAA,EAC5C,YAAY,QAAgD;AACjE,UAAM,EAAE,YAAY,QAAQ,SAAS,QAAQ,EAAE,CAAC;AAChD,eAAW,CAAC,WAAW,KAAK,KAAK,OAAO,QAAQ,MAAM,GAAG;AACvD,YAAMA,UAAS,IAAI,YAAY,WAAW,KAAK;AAC/C,MAAAA,QAAO,QAAQ,SAAS;AACxB,WAAK,QAAQA,OAAM;AAAA,IACrB;AAAA,EACF;AACF;",
6
6
  "names": ["module"]
7
7
  }
@@ -0,0 +1,10 @@
1
+ import * as sdk from '@botpress/sdk';
2
+ import { Module, ReExportTypeModule } from '../../module';
3
+ export declare class TableModule extends Module {
4
+ private _table;
5
+ constructor(name: string, _table: sdk.BotTableDefinition);
6
+ getContent(): Promise<string>;
7
+ }
8
+ export declare class TablesModule extends ReExportTypeModule {
9
+ constructor(tables: Record<string, sdk.BotTableDefinition>);
10
+ }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/code-generation/bot-implementation/bot-typings/tables-module.ts"],
4
4
  "sourcesContent": ["import * as sdk from '@botpress/sdk'\nimport { zuiSchemaToTypeScriptType } from '../../generators'\nimport { Module, ReExportTypeModule } from '../../module'\nimport * as strings from '../../strings'\n\nexport class TableModule extends Module {\n public constructor(\n name: string,\n private _table: sdk.BotTableDefinition\n ) {\n super({\n path: `${name}.ts`,\n exportName: strings.typeName(name),\n })\n }\n\n public async getContent() {\n return zuiSchemaToTypeScriptType(this._table.schema, this.exportName)\n }\n}\n\nexport class TablesModule extends ReExportTypeModule {\n public constructor(tables: Record<string, sdk.BotTableDefinition>) {\n super({ exportName: strings.typeName('tables') })\n for (const [tableName, table] of Object.entries(tables)) {\n const module = new TableModule(tableName, table)\n this.pushDep(module)\n }\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,wBAA0C;AAC1C,oBAA2C;AAC3C,cAAyB;AAElB,MAAM,oBAAoB,qBAAO;AAAA,EAC/B,YACL,MACQ,QACR;AACA,UAAM;AAAA,MACJ,MAAM,GAAG;AAAA,MACT,YAAY,QAAQ,SAAS,IAAI;AAAA,IACnC,CAAC;AALO;AAAA,EAMV;AAAA,EAEA,MAAa,aAAa;AACxB,eAAO,6CAA0B,KAAK,OAAO,QAAQ,KAAK,UAAU;AAAA,EACtE;AACF;AAEO,MAAM,qBAAqB,iCAAmB;AAAA,EAC5C,YAAY,QAAgD;AACjE,UAAM,EAAE,YAAY,QAAQ,SAAS,QAAQ,EAAE,CAAC;AAChD,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;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,wBAA0C;AAC1C,oBAA2C;AAC3C,cAAyB;AAElB,MAAM,oBAAoB,qBAAO;AAAA,EAC/B,YACL,MACQ,QACR;AACA,UAAM;AAAA,MACJ,MAAM,GAAG,IAAI;AAAA,MACb,YAAY,QAAQ,SAAS,IAAI;AAAA,IACnC,CAAC;AALO;AAAA,EAMV;AAAA,EAEA,MAAa,aAAa;AACxB,eAAO,6CAA0B,KAAK,OAAO,QAAQ,KAAK,UAAU;AAAA,EACtE;AACF;AAEO,MAAM,qBAAqB,iCAAmB;AAAA,EAC5C,YAAY,QAAgD;AACjE,UAAM,EAAE,YAAY,QAAQ,SAAS,QAAQ,EAAE,CAAC;AAChD,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
6
  "names": ["module"]
7
7
  }
@@ -0,0 +1,27 @@
1
+ import * as sdk from '@botpress/sdk';
2
+ import { Module, ReExportTypeModule } from '../../module';
3
+ type WorkflowInput = sdk.BotWorkflowDefinition['input'];
4
+ type WorkflowOutput = sdk.BotWorkflowDefinition['output'];
5
+ type WorkflowTags = sdk.BotWorkflowDefinition['tags'];
6
+ export declare class WorkflowInputModule extends Module {
7
+ private _input;
8
+ constructor(_input: WorkflowInput);
9
+ getContent(): Promise<string>;
10
+ }
11
+ export declare class WorkflowOutputModule extends Module {
12
+ private _output;
13
+ constructor(_output: WorkflowOutput);
14
+ getContent(): Promise<string>;
15
+ }
16
+ export declare class WorkflowTagsModule extends Module {
17
+ private _tags;
18
+ constructor(_tags: WorkflowTags);
19
+ getContent(): Promise<string>;
20
+ }
21
+ export declare class WorkflowModule extends ReExportTypeModule {
22
+ constructor(workflowName: string, workflow: sdk.BotWorkflowDefinition);
23
+ }
24
+ export declare class WorkflowsModule extends ReExportTypeModule {
25
+ constructor(workflows: Record<string, sdk.BotWorkflowDefinition>);
26
+ }
27
+ export {};
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/code-generation/bot-implementation/bot-typings/workflows-module.ts"],
4
4
  "sourcesContent": ["import * as sdk from '@botpress/sdk'\nimport { primitiveToTypescriptValue, zuiSchemaToTypeScriptType } from '../../generators'\nimport { Module, ReExportTypeModule } from '../../module'\nimport * as strings from '../../strings'\n\ntype WorkflowInput = sdk.BotWorkflowDefinition['input']\ntype WorkflowOutput = sdk.BotWorkflowDefinition['output']\ntype WorkflowTags = sdk.BotWorkflowDefinition['tags']\n\nexport class WorkflowInputModule extends Module {\n public constructor(private _input: WorkflowInput) {\n const name = 'input'\n const exportName = strings.typeName(name)\n super({ path: `${name}.ts`, exportName })\n }\n\n public async getContent() {\n return zuiSchemaToTypeScriptType(this._input.schema, this.exportName)\n }\n}\n\nexport class WorkflowOutputModule extends Module {\n public constructor(private _output: WorkflowOutput) {\n const name = 'output'\n const exportName = strings.typeName(name)\n super({ path: `${name}.ts`, exportName })\n }\n\n public async getContent() {\n return zuiSchemaToTypeScriptType(this._output.schema, this.exportName)\n }\n}\n\nexport class WorkflowTagsModule extends Module {\n public constructor(private _tags: WorkflowTags) {\n const name = 'tags'\n const exportName = strings.typeName(name)\n super({ path: `${name}.ts`, exportName })\n }\n\n public async getContent() {\n const tags = Object.keys(this._tags ?? {})\n .map((tagName) => `${primitiveToTypescriptValue(tagName)}: string`)\n .join(', ')\n\n return `export type ${this.exportName} = { ${tags} }`\n }\n}\n\nexport class WorkflowModule extends ReExportTypeModule {\n public constructor(workflowName: string, workflow: sdk.BotWorkflowDefinition) {\n super({ exportName: strings.typeName(workflowName) })\n\n const inputModule = new WorkflowInputModule(workflow.input)\n const outputModule = new WorkflowOutputModule(workflow.output)\n const tagsModule = new WorkflowTagsModule(workflow.tags)\n\n this.pushDep(inputModule)\n this.pushDep(outputModule)\n this.pushDep(tagsModule)\n }\n}\n\nexport class WorkflowsModule extends ReExportTypeModule {\n public constructor(workflows: Record<string, sdk.BotWorkflowDefinition>) {\n super({ exportName: strings.typeName('workflows') })\n for (const [workflowName, workflow] of Object.entries(workflows)) {\n const module = new WorkflowModule(workflowName, workflow)\n module.unshift(workflowName)\n this.pushDep(module)\n }\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,wBAAsE;AACtE,oBAA2C;AAC3C,cAAyB;AAMlB,MAAM,4BAA4B,qBAAO;AAAA,EACvC,YAAoB,QAAuB;AAChD,UAAM,OAAO;AACb,UAAM,aAAa,QAAQ,SAAS,IAAI;AACxC,UAAM,EAAE,MAAM,GAAG,WAAW,WAAW,CAAC;AAHf;AAAA,EAI3B;AAAA,EAEA,MAAa,aAAa;AACxB,eAAO,6CAA0B,KAAK,OAAO,QAAQ,KAAK,UAAU;AAAA,EACtE;AACF;AAEO,MAAM,6BAA6B,qBAAO;AAAA,EACxC,YAAoB,SAAyB;AAClD,UAAM,OAAO;AACb,UAAM,aAAa,QAAQ,SAAS,IAAI;AACxC,UAAM,EAAE,MAAM,GAAG,WAAW,WAAW,CAAC;AAHf;AAAA,EAI3B;AAAA,EAEA,MAAa,aAAa;AACxB,eAAO,6CAA0B,KAAK,QAAQ,QAAQ,KAAK,UAAU;AAAA,EACvE;AACF;AAEO,MAAM,2BAA2B,qBAAO;AAAA,EACtC,YAAoB,OAAqB;AAC9C,UAAM,OAAO;AACb,UAAM,aAAa,QAAQ,SAAS,IAAI;AACxC,UAAM,EAAE,MAAM,GAAG,WAAW,WAAW,CAAC;AAHf;AAAA,EAI3B;AAAA,EAEA,MAAa,aAAa;AACxB,UAAM,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,EACtC,IAAI,CAAC,YAAY,OAAG,8CAA2B,OAAO,WAAW,EACjE,KAAK,IAAI;AAEZ,WAAO,eAAe,KAAK,kBAAkB;AAAA,EAC/C;AACF;AAEO,MAAM,uBAAuB,iCAAmB;AAAA,EAC9C,YAAY,cAAsB,UAAqC;AAC5E,UAAM,EAAE,YAAY,QAAQ,SAAS,YAAY,EAAE,CAAC;AAEpD,UAAM,cAAc,IAAI,oBAAoB,SAAS,KAAK;AAC1D,UAAM,eAAe,IAAI,qBAAqB,SAAS,MAAM;AAC7D,UAAM,aAAa,IAAI,mBAAmB,SAAS,IAAI;AAEvD,SAAK,QAAQ,WAAW;AACxB,SAAK,QAAQ,YAAY;AACzB,SAAK,QAAQ,UAAU;AAAA,EACzB;AACF;AAEO,MAAM,wBAAwB,iCAAmB;AAAA,EAC/C,YAAY,WAAsD;AACvE,UAAM,EAAE,YAAY,QAAQ,SAAS,WAAW,EAAE,CAAC;AACnD,eAAW,CAAC,cAAc,QAAQ,KAAK,OAAO,QAAQ,SAAS,GAAG;AAChE,YAAMA,UAAS,IAAI,eAAe,cAAc,QAAQ;AACxD,MAAAA,QAAO,QAAQ,YAAY;AAC3B,WAAK,QAAQA,OAAM;AAAA,IACrB;AAAA,EACF;AACF;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,wBAAsE;AACtE,oBAA2C;AAC3C,cAAyB;AAMlB,MAAM,4BAA4B,qBAAO;AAAA,EACvC,YAAoB,QAAuB;AAChD,UAAM,OAAO;AACb,UAAM,aAAa,QAAQ,SAAS,IAAI;AACxC,UAAM,EAAE,MAAM,GAAG,IAAI,OAAO,WAAW,CAAC;AAHf;AAAA,EAI3B;AAAA,EAEA,MAAa,aAAa;AACxB,eAAO,6CAA0B,KAAK,OAAO,QAAQ,KAAK,UAAU;AAAA,EACtE;AACF;AAEO,MAAM,6BAA6B,qBAAO;AAAA,EACxC,YAAoB,SAAyB;AAClD,UAAM,OAAO;AACb,UAAM,aAAa,QAAQ,SAAS,IAAI;AACxC,UAAM,EAAE,MAAM,GAAG,IAAI,OAAO,WAAW,CAAC;AAHf;AAAA,EAI3B;AAAA,EAEA,MAAa,aAAa;AACxB,eAAO,6CAA0B,KAAK,QAAQ,QAAQ,KAAK,UAAU;AAAA,EACvE;AACF;AAEO,MAAM,2BAA2B,qBAAO;AAAA,EACtC,YAAoB,OAAqB;AAC9C,UAAM,OAAO;AACb,UAAM,aAAa,QAAQ,SAAS,IAAI;AACxC,UAAM,EAAE,MAAM,GAAG,IAAI,OAAO,WAAW,CAAC;AAHf;AAAA,EAI3B;AAAA,EAEA,MAAa,aAAa;AACxB,UAAM,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,EACtC,IAAI,CAAC,YAAY,OAAG,8CAA2B,OAAO,CAAC,UAAU,EACjE,KAAK,IAAI;AAEZ,WAAO,eAAe,KAAK,UAAU,QAAQ,IAAI;AAAA,EACnD;AACF;AAEO,MAAM,uBAAuB,iCAAmB;AAAA,EAC9C,YAAY,cAAsB,UAAqC;AAC5E,UAAM,EAAE,YAAY,QAAQ,SAAS,YAAY,EAAE,CAAC;AAEpD,UAAM,cAAc,IAAI,oBAAoB,SAAS,KAAK;AAC1D,UAAM,eAAe,IAAI,qBAAqB,SAAS,MAAM;AAC7D,UAAM,aAAa,IAAI,mBAAmB,SAAS,IAAI;AAEvD,SAAK,QAAQ,WAAW;AACxB,SAAK,QAAQ,YAAY;AACzB,SAAK,QAAQ,UAAU;AAAA,EACzB;AACF;AAEO,MAAM,wBAAwB,iCAAmB;AAAA,EAC/C,YAAY,WAAsD;AACvE,UAAM,EAAE,YAAY,QAAQ,SAAS,WAAW,EAAE,CAAC;AACnD,eAAW,CAAC,cAAc,QAAQ,KAAK,OAAO,QAAQ,SAAS,GAAG;AAChE,YAAMA,UAAS,IAAI,eAAe,cAAc,QAAQ;AACxD,MAAAA,QAAO,QAAQ,YAAY;AAC3B,WAAK,QAAQA,OAAM;AAAA,IACrB;AAAA,EACF;AACF;",
6
6
  "names": ["module"]
7
7
  }
@@ -0,0 +1,3 @@
1
+ import * as sdk from '@botpress/sdk';
2
+ import * as types from '../typings';
3
+ export declare const generateBotImplementation: (sdkBotDefinition: sdk.BotDefinition) => Promise<types.File[]>;
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/code-generation/bot-implementation/index.ts"],
4
4
  "sourcesContent": ["import * as sdk from '@botpress/sdk'\nimport * as consts from '../consts'\nimport * as mod from '../module'\nimport * as types from '../typings'\nimport { BotImplementationModule } from './bot-implementation'\n\nclass BotIndexModule extends mod.Module {\n private _botImplModule: BotImplementationModule\n\n public constructor(sdkBotDefinition: sdk.BotDefinition) {\n super({\n path: consts.INDEX_FILE,\n exportName: '',\n })\n\n const botImpl = new BotImplementationModule(sdkBotDefinition)\n botImpl.unshift(consts.fromOutDir.implementationDir)\n this.pushDep(botImpl)\n\n this._botImplModule = botImpl\n }\n\n public async getContent(): Promise<string> {\n const botImplImport = this._botImplModule.import(this)\n\n return [\n //\n consts.GENERATED_HEADER,\n `export * from \"./${botImplImport}\"`,\n ].join('\\n')\n }\n}\n\nexport const generateBotImplementation = async (sdkBotDefinition: sdk.BotDefinition): Promise<types.File[]> => {\n const botIndexModule = new BotIndexModule(sdkBotDefinition)\n return botIndexModule.flatten()\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,aAAwB;AACxB,UAAqB;AAErB,gCAAwC;AAExC,MAAM,uBAAuB,IAAI,OAAO;AAAA,EAC9B;AAAA,EAED,YAAY,kBAAqC;AACtD,UAAM;AAAA,MACJ,MAAM,OAAO;AAAA,MACb,YAAY;AAAA,IACd,CAAC;AAED,UAAM,UAAU,IAAI,kDAAwB,gBAAgB;AAC5D,YAAQ,QAAQ,OAAO,WAAW,iBAAiB;AACnD,SAAK,QAAQ,OAAO;AAEpB,SAAK,iBAAiB;AAAA,EACxB;AAAA,EAEA,MAAa,aAA8B;AACzC,UAAM,gBAAgB,KAAK,eAAe,OAAO,IAAI;AAErD,WAAO;AAAA;AAAA,MAEL,OAAO;AAAA,MACP,oBAAoB;AAAA,IACtB,EAAE,KAAK,IAAI;AAAA,EACb;AACF;AAEO,MAAM,4BAA4B,OAAO,qBAA+D;AAC7G,QAAM,iBAAiB,IAAI,eAAe,gBAAgB;AAC1D,SAAO,eAAe,QAAQ;AAChC;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,aAAwB;AACxB,UAAqB;AAErB,gCAAwC;AAExC,MAAM,uBAAuB,IAAI,OAAO;AAAA,EAC9B;AAAA,EAED,YAAY,kBAAqC;AACtD,UAAM;AAAA,MACJ,MAAM,OAAO;AAAA,MACb,YAAY;AAAA,IACd,CAAC;AAED,UAAM,UAAU,IAAI,kDAAwB,gBAAgB;AAC5D,YAAQ,QAAQ,OAAO,WAAW,iBAAiB;AACnD,SAAK,QAAQ,OAAO;AAEpB,SAAK,iBAAiB;AAAA,EACxB;AAAA,EAEA,MAAa,aAA8B;AACzC,UAAM,gBAAgB,KAAK,eAAe,OAAO,IAAI;AAErD,WAAO;AAAA;AAAA,MAEL,OAAO;AAAA,MACP,oBAAoB,aAAa;AAAA,IACnC,EAAE,KAAK,IAAI;AAAA,EACb;AACF;AAEO,MAAM,4BAA4B,OAAO,qBAA+D;AAC7G,QAAM,iBAAiB,IAAI,eAAe,gBAAgB;AAC1D,SAAO,eAAe,QAAQ;AAChC;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,5 @@
1
+ export * from '../consts';
2
+ export declare const GENERATED_HEADER: string;
3
+ export declare const INDEX_FILE = "index.ts";
4
+ export declare const INDEX_DECLARATION_FILE = "index.d.ts";
5
+ export declare const DEFAULT_EXPORT_NAME = "default";
@@ -40,6 +40,7 @@ const DEFAULT_EXPORT_NAME = "default";
40
40
  DEFAULT_EXPORT_NAME,
41
41
  GENERATED_HEADER,
42
42
  INDEX_DECLARATION_FILE,
43
- INDEX_FILE
43
+ INDEX_FILE,
44
+ ...require("../consts")
44
45
  });
45
46
  //# sourceMappingURL=consts.js.map
@@ -0,0 +1,10 @@
1
+ import * as sdk from '@botpress/sdk';
2
+ import { JSONSchema7 } from 'json-schema';
3
+ export type Primitive = string | number | boolean | null | undefined;
4
+ export declare const zuiSchemaToTypeScriptType: (zuiSchema: sdk.z.Schema, name: string) => Promise<string>;
5
+ export declare const jsonSchemaToTypescriptZuiSchema: (schema: JSONSchema7, name: string, extraProps?: Record<string, string>) => Promise<string>;
6
+ export declare const stringifySingleLine: (x: object) => string;
7
+ export declare function primitiveToTypescriptValue(x: Primitive): string;
8
+ export declare function primitiveRecordToTypescriptValues(x: Record<string, Primitive>): Record<string, string>;
9
+ export declare const primitiveRecordToRecordString: (record: Record<string, Primitive>) => string;
10
+ export declare const typescriptValuesToRecordString: (record: Record<string, string>) => string;
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/code-generation/generators.ts"],
4
4
  "sourcesContent": ["import * as sdk from '@botpress/sdk'\nimport { JSONSchema7 } from 'json-schema'\nimport _ from 'lodash'\nimport * as prettier from 'prettier'\nimport * as utils from '../utils'\nimport * as consts from './consts'\n\nexport type Primitive = string | number | boolean | null | undefined\n\nexport const zuiSchemaToTypeScriptType = async (zuiSchema: sdk.z.Schema, name: string): Promise<string> => {\n let code = zuiSchema.toTypescriptType()\n code = `export type ${name} = ${code}`\n code = await prettier.format(code, { parser: 'typescript' })\n return [\n //\n consts.GENERATED_HEADER,\n code,\n ].join('\\n')\n}\n\nexport const jsonSchemaToTypescriptZuiSchema = async (\n schema: JSONSchema7,\n name: string,\n extraProps: Record<string, string> = {}\n): Promise<string> => {\n schema = await utils.schema.dereferenceSchema(schema)\n const zuiSchema = sdk.transforms.fromJSONSchemaLegacy(schema)\n\n const allProps = {\n ...extraProps,\n schema: zuiSchema.toTypescriptSchema(),\n }\n\n let code = [\n consts.GENERATED_HEADER,\n 'import { z } from \"@botpress/sdk\"',\n `export const ${name} = ${typescriptValuesToRecordString(allProps)}`,\n ].join('\\n')\n code = await prettier.format(code, { parser: 'typescript' })\n return code\n}\n\nexport const stringifySingleLine = (x: object): string => {\n return JSON.stringify(x, null, 1).replace(/\\n */g, ' ')\n}\n\nexport function primitiveToTypescriptValue(x: Primitive): string {\n if (typeof x === 'undefined') {\n return 'undefined'\n }\n return JSON.stringify(x)\n}\n\nexport function primitiveRecordToTypescriptValues(x: Record<string, Primitive>): Record<string, string> {\n return _(x)\n .toPairs()\n .filter(([_key, value]) => value !== undefined)\n .map(([key, value]) => [key, primitiveToTypescriptValue(value)])\n .fromPairs()\n .value()\n}\n\nexport const primitiveRecordToRecordString = (record: Record<string, Primitive>): string =>\n typescriptValuesToRecordString(primitiveRecordToTypescriptValues(record))\n\nexport const typescriptValuesToRecordString = (record: Record<string, string>): string =>\n ['{', ...Object.entries(record).map(([key, value]) => ` ${key}: ${value},`), '}'].join('\\n')\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAAqB;AAErB,oBAAc;AACd,eAA0B;AAC1B,YAAuB;AACvB,aAAwB;AAIjB,MAAM,4BAA4B,OAAO,WAAyB,SAAkC;AACzG,MAAI,OAAO,UAAU,iBAAiB;AACtC,SAAO,eAAe,UAAU;AAChC,SAAO,MAAM,SAAS,OAAO,MAAM,EAAE,QAAQ,aAAa,CAAC;AAC3D,SAAO;AAAA;AAAA,IAEL,OAAO;AAAA,IACP;AAAA,EACF,EAAE,KAAK,IAAI;AACb;AAEO,MAAM,kCAAkC,OAC7C,QACA,MACA,aAAqC,CAAC,MAClB;AACpB,WAAS,MAAM,MAAM,OAAO,kBAAkB,MAAM;AACpD,QAAM,YAAY,IAAI,WAAW,qBAAqB,MAAM;AAE5D,QAAM,WAAW;AAAA,IACf,GAAG;AAAA,IACH,QAAQ,UAAU,mBAAmB;AAAA,EACvC;AAEA,MAAI,OAAO;AAAA,IACT,OAAO;AAAA,IACP;AAAA,IACA,gBAAgB,UAAU,+BAA+B,QAAQ;AAAA,EACnE,EAAE,KAAK,IAAI;AACX,SAAO,MAAM,SAAS,OAAO,MAAM,EAAE,QAAQ,aAAa,CAAC;AAC3D,SAAO;AACT;AAEO,MAAM,sBAAsB,CAAC,MAAsB;AACxD,SAAO,KAAK,UAAU,GAAG,MAAM,CAAC,EAAE,QAAQ,SAAS,GAAG;AACxD;AAEO,SAAS,2BAA2B,GAAsB;AAC/D,MAAI,OAAO,MAAM,aAAa;AAC5B,WAAO;AAAA,EACT;AACA,SAAO,KAAK,UAAU,CAAC;AACzB;AAEO,SAAS,kCAAkC,GAAsD;AACtG,aAAO,cAAAA,SAAE,CAAC,EACP,QAAQ,EACR,OAAO,CAAC,CAAC,MAAM,KAAK,MAAM,UAAU,MAAS,EAC7C,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,2BAA2B,KAAK,CAAC,CAAC,EAC9D,UAAU,EACV,MAAM;AACX;AAEO,MAAM,gCAAgC,CAAC,WAC5C,+BAA+B,kCAAkC,MAAM,CAAC;AAEnE,MAAM,iCAAiC,CAAC,WAC7C,CAAC,KAAK,GAAG,OAAO,QAAQ,MAAM,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,KAAK,QAAQ,QAAQ,GAAG,GAAG,EAAE,KAAK,IAAI;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAAqB;AAErB,oBAAc;AACd,eAA0B;AAC1B,YAAuB;AACvB,aAAwB;AAIjB,MAAM,4BAA4B,OAAO,WAAyB,SAAkC;AACzG,MAAI,OAAO,UAAU,iBAAiB;AACtC,SAAO,eAAe,IAAI,MAAM,IAAI;AACpC,SAAO,MAAM,SAAS,OAAO,MAAM,EAAE,QAAQ,aAAa,CAAC;AAC3D,SAAO;AAAA;AAAA,IAEL,OAAO;AAAA,IACP;AAAA,EACF,EAAE,KAAK,IAAI;AACb;AAEO,MAAM,kCAAkC,OAC7C,QACA,MACA,aAAqC,CAAC,MAClB;AACpB,WAAS,MAAM,MAAM,OAAO,kBAAkB,MAAM;AACpD,QAAM,YAAY,IAAI,WAAW,qBAAqB,MAAM;AAE5D,QAAM,WAAW;AAAA,IACf,GAAG;AAAA,IACH,QAAQ,UAAU,mBAAmB;AAAA,EACvC;AAEA,MAAI,OAAO;AAAA,IACT,OAAO;AAAA,IACP;AAAA,IACA,gBAAgB,IAAI,MAAM,+BAA+B,QAAQ,CAAC;AAAA,EACpE,EAAE,KAAK,IAAI;AACX,SAAO,MAAM,SAAS,OAAO,MAAM,EAAE,QAAQ,aAAa,CAAC;AAC3D,SAAO;AACT;AAEO,MAAM,sBAAsB,CAAC,MAAsB;AACxD,SAAO,KAAK,UAAU,GAAG,MAAM,CAAC,EAAE,QAAQ,SAAS,GAAG;AACxD;AAEO,SAAS,2BAA2B,GAAsB;AAC/D,MAAI,OAAO,MAAM,aAAa;AAC5B,WAAO;AAAA,EACT;AACA,SAAO,KAAK,UAAU,CAAC;AACzB;AAEO,SAAS,kCAAkC,GAAsD;AACtG,aAAO,cAAAA,SAAE,CAAC,EACP,QAAQ,EACR,OAAO,CAAC,CAAC,MAAM,KAAK,MAAM,UAAU,MAAS,EAC7C,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,2BAA2B,KAAK,CAAC,CAAC,EAC9D,UAAU,EACV,MAAM;AACX;AAEO,MAAM,gCAAgC,CAAC,WAC5C,+BAA+B,kCAAkC,MAAM,CAAC;AAEnE,MAAM,iCAAiC,CAAC,WAC7C,CAAC,KAAK,GAAG,OAAO,QAAQ,MAAM,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,KAAK,GAAG,KAAK,KAAK,GAAG,GAAG,GAAG,EAAE,KAAK,IAAI;",
6
6
  "names": ["_"]
7
7
  }
@@ -0,0 +1,8 @@
1
+ export * from './typings';
2
+ export { secretEnvVariableName } from './integration-implementation/integration-secret';
3
+ export { generateBotImplementation } from './bot-implementation';
4
+ export { generateIntegrationImplementation } from './integration-implementation';
5
+ export { generatePluginImplementation } from './plugin-implementation';
6
+ export { generateIntegrationPackage } from './integration-package';
7
+ export { generateInterfacePackage } from './interface-package';
8
+ export { generatePluginPackage } from './plugin-package';
@@ -44,6 +44,7 @@ var import_plugin_package = require("./plugin-package");
44
44
  generateInterfacePackage,
45
45
  generatePluginImplementation,
46
46
  generatePluginPackage,
47
- secretEnvVariableName
47
+ secretEnvVariableName,
48
+ ...require("./typings")
48
49
  });
49
50
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,3 @@
1
+ import * as sdk from '@botpress/sdk';
2
+ import * as types from '../typings';
3
+ export declare const generateIntegrationImplementation: (sdkIntegrationDefinition: sdk.IntegrationDefinition) => Promise<types.File[]>;
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/code-generation/integration-implementation/index.ts"],
4
4
  "sourcesContent": ["import * as sdk from '@botpress/sdk'\nimport * as consts from '../consts'\nimport * as types from '../typings'\nimport { IntegrationImplementationModule } from './integration-implementation'\nimport { IntegrationSecretIndexModule } from './integration-secret'\n\nconst generateIntegrationImplementationCls = async (\n sdkIntegrationDefinition: sdk.IntegrationDefinition,\n implPath: string\n): Promise<types.File[]> => {\n const indexModule = new IntegrationImplementationModule(sdkIntegrationDefinition)\n indexModule.unshift(implPath)\n return indexModule.flatten()\n}\n\nconst generateIntegrationSecrets = async (\n sdkIntegrationDefinition: sdk.IntegrationDefinition,\n secretsPath: string\n): Promise<types.File[]> => {\n const indexModule = new IntegrationSecretIndexModule(sdkIntegrationDefinition)\n indexModule.unshift(secretsPath)\n return indexModule.flatten()\n}\n\nconst generateIntegrationImplementationIndex = async (implPath: string, secretsPath: string): Promise<types.File> => {\n let content = ''\n content += `export * from './${implPath}'\\n`\n content += `export * from './${secretsPath}'\\n`\n return {\n path: consts.INDEX_FILE,\n content,\n }\n}\n\nexport const generateIntegrationImplementation = async (\n sdkIntegrationDefinition: sdk.IntegrationDefinition\n): Promise<types.File[]> => {\n const implPath = consts.fromOutDir.implementationDir\n const secretsPath = consts.fromOutDir.secretsDir\n const implFiles = await generateIntegrationImplementationCls(sdkIntegrationDefinition, implPath)\n const secretFiles = await generateIntegrationSecrets(sdkIntegrationDefinition, secretsPath)\n const indexFile = await generateIntegrationImplementationIndex(implPath, secretsPath)\n return [...implFiles, ...secretFiles, indexFile]\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,aAAwB;AAExB,wCAAgD;AAChD,gCAA6C;AAE7C,MAAM,uCAAuC,OAC3C,0BACA,aAC0B;AAC1B,QAAM,cAAc,IAAI,kEAAgC,wBAAwB;AAChF,cAAY,QAAQ,QAAQ;AAC5B,SAAO,YAAY,QAAQ;AAC7B;AAEA,MAAM,6BAA6B,OACjC,0BACA,gBAC0B;AAC1B,QAAM,cAAc,IAAI,uDAA6B,wBAAwB;AAC7E,cAAY,QAAQ,WAAW;AAC/B,SAAO,YAAY,QAAQ;AAC7B;AAEA,MAAM,yCAAyC,OAAO,UAAkB,gBAA6C;AACnH,MAAI,UAAU;AACd,aAAW,oBAAoB;AAAA;AAC/B,aAAW,oBAAoB;AAAA;AAC/B,SAAO;AAAA,IACL,MAAM,OAAO;AAAA,IACb;AAAA,EACF;AACF;AAEO,MAAM,oCAAoC,OAC/C,6BAC0B;AAC1B,QAAM,WAAW,OAAO,WAAW;AACnC,QAAM,cAAc,OAAO,WAAW;AACtC,QAAM,YAAY,MAAM,qCAAqC,0BAA0B,QAAQ;AAC/F,QAAM,cAAc,MAAM,2BAA2B,0BAA0B,WAAW;AAC1F,QAAM,YAAY,MAAM,uCAAuC,UAAU,WAAW;AACpF,SAAO,CAAC,GAAG,WAAW,GAAG,aAAa,SAAS;AACjD;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,aAAwB;AAExB,wCAAgD;AAChD,gCAA6C;AAE7C,MAAM,uCAAuC,OAC3C,0BACA,aAC0B;AAC1B,QAAM,cAAc,IAAI,kEAAgC,wBAAwB;AAChF,cAAY,QAAQ,QAAQ;AAC5B,SAAO,YAAY,QAAQ;AAC7B;AAEA,MAAM,6BAA6B,OACjC,0BACA,gBAC0B;AAC1B,QAAM,cAAc,IAAI,uDAA6B,wBAAwB;AAC7E,cAAY,QAAQ,WAAW;AAC/B,SAAO,YAAY,QAAQ;AAC7B;AAEA,MAAM,yCAAyC,OAAO,UAAkB,gBAA6C;AACnH,MAAI,UAAU;AACd,aAAW,oBAAoB,QAAQ;AAAA;AACvC,aAAW,oBAAoB,WAAW;AAAA;AAC1C,SAAO;AAAA,IACL,MAAM,OAAO;AAAA,IACb;AAAA,EACF;AACF;AAEO,MAAM,oCAAoC,OAC/C,6BAC0B;AAC1B,QAAM,WAAW,OAAO,WAAW;AACnC,QAAM,cAAc,OAAO,WAAW;AACtC,QAAM,YAAY,MAAM,qCAAqC,0BAA0B,QAAQ;AAC/F,QAAM,cAAc,MAAM,2BAA2B,0BAA0B,WAAW;AAC1F,QAAM,YAAY,MAAM,uCAAuC,UAAU,WAAW;AACpF,SAAO,CAAC,GAAG,WAAW,GAAG,aAAa,SAAS;AACjD;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,7 @@
1
+ import * as sdk from '@botpress/sdk';
2
+ import { Module } from '../module';
3
+ export declare class IntegrationImplementationModule extends Module {
4
+ private _typingsModule;
5
+ constructor(integration: sdk.IntegrationDefinition);
6
+ getContent(): Promise<string>;
7
+ }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/code-generation/integration-implementation/integration-implementation.ts"],
4
4
  "sourcesContent": ["import * as sdk from '@botpress/sdk'\nimport * as consts from '../consts'\nimport { Module } from '../module'\nimport { IntegrationTypingsModule } from './integration-typings'\n\nexport class IntegrationImplementationModule extends Module {\n private _typingsModule: IntegrationTypingsModule\n\n public constructor(integration: sdk.IntegrationDefinition) {\n super({\n path: consts.INDEX_FILE,\n exportName: 'Integration',\n })\n this._typingsModule = new IntegrationTypingsModule(integration)\n this._typingsModule.unshift('typings')\n this.pushDep(this._typingsModule)\n }\n\n public async getContent() {\n let content = ''\n\n const typingsImport = this._typingsModule.import(this)\n\n content += [\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 TIntegration = sdk.DefaultIntegration<${this._typingsModule.name}.${this._typingsModule.exportName}>`,\n '',\n 'export type IntegrationProps = sdk.IntegrationProps<TIntegration>',\n '',\n 'export class Integration extends sdk.Integration<TIntegration> {}',\n '',\n 'export type Client = sdk.IntegrationSpecificClient<TIntegration>',\n '',\n '// extra types',\n '',\n 'type Cast<X, Y> = X extends Y ? X : Y',\n 'type ValueOf<T> = T[keyof T]',\n 'type AsyncFunction = (...args: any[]) => Promise<any>',\n '',\n \"export type HandlerProps = Parameters<IntegrationProps['handler']>[0]\",\n '',\n 'export type ActionProps = {',\n \" [K in keyof IntegrationProps['actions']]: Parameters<IntegrationProps['actions'][K]>[0]\",\n '}',\n 'export type AnyActionProps = ValueOf<ActionProps>',\n '',\n 'export type MessageProps = {',\n \" [TChannel in keyof IntegrationProps['channels']]: {\",\n \" [TMessage in keyof IntegrationProps['channels'][TChannel]['messages']]: Parameters<\",\n \" IntegrationProps['channels'][TChannel]['messages'][TMessage]\",\n ' >[0]',\n ' }',\n '}',\n 'export type AnyMessageProps = ValueOf<ValueOf<MessageProps>>',\n '',\n \"export type Context = HandlerProps['ctx']\",\n \"export type Logger = HandlerProps['logger']\",\n '',\n 'export type AckFunctions = {',\n ' [TChannel in keyof MessageProps]: {',\n \" [TMessage in keyof MessageProps[TChannel]]: Cast<MessageProps[TChannel][TMessage], AnyMessageProps>['ack']\",\n ' }',\n '}',\n 'export type AnyAckFunction = ValueOf<ValueOf<AckFunctions>>',\n '',\n 'export type ClientOperation = ValueOf<{',\n ' [K in keyof Client as Client[K] extends AsyncFunction ? K : never]: K',\n '}>',\n 'export type ClientRequests = {',\n ' [K in ClientOperation]: Parameters<Client[K]>[0]',\n '}',\n 'export type ClientResponses = {',\n ' [K in ClientOperation]: Awaited<ReturnType<Client[K]>>',\n '}',\n ].join('\\n')\n\n return content\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,aAAwB;AACxB,oBAAuB;AACvB,iCAAyC;AAElC,MAAM,wCAAwC,qBAAO;AAAA,EAClD;AAAA,EAED,YAAY,aAAwC;AACzD,UAAM;AAAA,MACJ,MAAM,OAAO;AAAA,MACb,YAAY;AAAA,IACd,CAAC;AACD,SAAK,iBAAiB,IAAI,oDAAyB,WAAW;AAC9D,SAAK,eAAe,QAAQ,SAAS;AACrC,SAAK,QAAQ,KAAK,cAAc;AAAA,EAClC;AAAA,EAEA,MAAa,aAAa;AACxB,QAAI,UAAU;AAEd,UAAM,gBAAgB,KAAK,eAAe,OAAO,IAAI;AAErD,eAAW;AAAA,MACT,OAAO;AAAA,MACP;AAAA,MACA,eAAe,KAAK,eAAe,gBAAgB;AAAA,MACnD,oBAAoB;AAAA,MACpB;AAAA,MACA,8CAA8C,KAAK,eAAe,QAAQ,KAAK,eAAe;AAAA,MAC9F;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,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;AAEX,WAAO;AAAA,EACT;AACF;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,aAAwB;AACxB,oBAAuB;AACvB,iCAAyC;AAElC,MAAM,wCAAwC,qBAAO;AAAA,EAClD;AAAA,EAED,YAAY,aAAwC;AACzD,UAAM;AAAA,MACJ,MAAM,OAAO;AAAA,MACb,YAAY;AAAA,IACd,CAAC;AACD,SAAK,iBAAiB,IAAI,oDAAyB,WAAW;AAC9D,SAAK,eAAe,QAAQ,SAAS;AACrC,SAAK,QAAQ,KAAK,cAAc;AAAA,EAClC;AAAA,EAEA,MAAa,aAAa;AACxB,QAAI,UAAU;AAEd,UAAM,gBAAgB,KAAK,eAAe,OAAO,IAAI;AAErD,eAAW;AAAA,MACT,OAAO;AAAA,MACP;AAAA,MACA,eAAe,KAAK,eAAe,IAAI,YAAY,aAAa;AAAA,MAChE,oBAAoB,aAAa;AAAA,MACjC;AAAA,MACA,8CAA8C,KAAK,eAAe,IAAI,IAAI,KAAK,eAAe,UAAU;AAAA,MACxG;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,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;AAEX,WAAO;AAAA,EACT;AACF;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,8 @@
1
+ import { IntegrationDefinition } from '@botpress/sdk';
2
+ import { Module } from '../module';
3
+ export declare const secretEnvVariableName: (secretName: string) => string;
4
+ export declare class IntegrationSecretIndexModule extends Module {
5
+ private _integration;
6
+ constructor(_integration: IntegrationDefinition);
7
+ getContent(): Promise<string>;
8
+ }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/code-generation/integration-implementation/integration-secret.ts"],
4
4
  "sourcesContent": ["import { IntegrationDefinition } from '@botpress/sdk'\nimport { casing } from '../../utils'\nimport * as consts from '../consts'\nimport { Module } from '../module'\n\nexport const secretEnvVariableName = (secretName: string) => `SECRET_${casing.to.screamingSnakeCase(secretName)}`\n\nexport class IntegrationSecretIndexModule extends Module {\n public constructor(private _integration: IntegrationDefinition) {\n super({ exportName: 'secrets', path: consts.INDEX_FILE })\n }\n\n public async getContent() {\n let content = consts.GENERATED_HEADER\n content += 'class Secrets {\\n'\n for (const [secretName, { optional }] of Object.entries(this._integration.secrets ?? {})) {\n const envVariableName = secretEnvVariableName(secretName)\n const fieldName = casing.to.screamingSnakeCase(secretName)\n\n if (optional) {\n content += ` public get ${fieldName}(): string | undefined {\\n`\n content += ` const envVarValue = process.env.${envVariableName}\\n`\n content += ' return envVarValue\\n'\n content += ' }\\n'\n } else {\n content += ` public get ${fieldName}(): string {\\n`\n content += ` const envVarValue = process.env.${envVariableName}\\n`\n content += ` if (!envVarValue) throw new Error('Missing required secret \"${secretName}\"')\\n`\n content += ' return envVarValue\\n'\n content += ' }\\n'\n }\n }\n content += '}\\n'\n content += 'export const secrets = new Secrets()\\n'\n return content\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAAuB;AACvB,aAAwB;AACxB,oBAAuB;AAEhB,MAAM,wBAAwB,CAAC,eAAuB,UAAU,oBAAO,GAAG,mBAAmB,UAAU;AAEvG,MAAM,qCAAqC,qBAAO;AAAA,EAChD,YAAoB,cAAqC;AAC9D,UAAM,EAAE,YAAY,WAAW,MAAM,OAAO,WAAW,CAAC;AAD/B;AAAA,EAE3B;AAAA,EAEA,MAAa,aAAa;AACxB,QAAI,UAAU,OAAO;AACrB,eAAW;AACX,eAAW,CAAC,YAAY,EAAE,SAAS,CAAC,KAAK,OAAO,QAAQ,KAAK,aAAa,WAAW,CAAC,CAAC,GAAG;AACxF,YAAM,kBAAkB,sBAAsB,UAAU;AACxD,YAAM,YAAY,oBAAO,GAAG,mBAAmB,UAAU;AAEzD,UAAI,UAAU;AACZ,mBAAW,gBAAgB;AAAA;AAC3B,mBAAW,uCAAuC;AAAA;AAClD,mBAAW;AACX,mBAAW;AAAA,MACb,OAAO;AACL,mBAAW,gBAAgB;AAAA;AAC3B,mBAAW,uCAAuC;AAAA;AAClD,mBAAW,mEAAmE;AAAA;AAC9E,mBAAW;AACX,mBAAW;AAAA,MACb;AAAA,IACF;AACA,eAAW;AACX,eAAW;AACX,WAAO;AAAA,EACT;AACF;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAAuB;AACvB,aAAwB;AACxB,oBAAuB;AAEhB,MAAM,wBAAwB,CAAC,eAAuB,UAAU,oBAAO,GAAG,mBAAmB,UAAU,CAAC;AAExG,MAAM,qCAAqC,qBAAO;AAAA,EAChD,YAAoB,cAAqC;AAC9D,UAAM,EAAE,YAAY,WAAW,MAAM,OAAO,WAAW,CAAC;AAD/B;AAAA,EAE3B;AAAA,EAEA,MAAa,aAAa;AACxB,QAAI,UAAU,OAAO;AACrB,eAAW;AACX,eAAW,CAAC,YAAY,EAAE,SAAS,CAAC,KAAK,OAAO,QAAQ,KAAK,aAAa,WAAW,CAAC,CAAC,GAAG;AACxF,YAAM,kBAAkB,sBAAsB,UAAU;AACxD,YAAM,YAAY,oBAAO,GAAG,mBAAmB,UAAU;AAEzD,UAAI,UAAU;AACZ,mBAAW,gBAAgB,SAAS;AAAA;AACpC,mBAAW,uCAAuC,eAAe;AAAA;AACjE,mBAAW;AACX,mBAAW;AAAA,MACb,OAAO;AACL,mBAAW,gBAAgB,SAAS;AAAA;AACpC,mBAAW,uCAAuC,eAAe;AAAA;AACjE,mBAAW,mEAAmE,UAAU;AAAA;AACxF,mBAAW;AACX,mBAAW;AAAA,MACb;AAAA,IACF;AACA,eAAW;AACX,eAAW;AACX,WAAO;AAAA,EACT;AACF;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,21 @@
1
+ import * as sdk from '@botpress/sdk';
2
+ import { Module, ReExportTypeModule } from '../../module';
3
+ type ActionInput = sdk.ActionDefinition['input'];
4
+ type ActionOutput = sdk.ActionDefinition['output'];
5
+ export declare class ActionInputModule extends Module {
6
+ private _input;
7
+ constructor(_input: ActionInput);
8
+ getContent(): Promise<string>;
9
+ }
10
+ export declare class ActionOutputModule extends Module {
11
+ private _output;
12
+ constructor(_output: ActionOutput);
13
+ getContent(): Promise<string>;
14
+ }
15
+ export declare class ActionModule extends ReExportTypeModule {
16
+ constructor(actionName: string, action: sdk.ActionDefinition);
17
+ }
18
+ export declare class ActionsModule extends ReExportTypeModule {
19
+ constructor(actions: Record<string, sdk.ActionDefinition>);
20
+ }
21
+ export {};
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/code-generation/integration-implementation/integration-typings/actions-module.ts"],
4
4
  "sourcesContent": ["import * as sdk from '@botpress/sdk'\nimport { zuiSchemaToTypeScriptType } from '../../generators'\nimport { Module, ReExportTypeModule } from '../../module'\nimport * as strings from '../../strings'\n\ntype ActionInput = sdk.ActionDefinition['input']\ntype ActionOutput = sdk.ActionDefinition['output']\n\nexport class ActionInputModule extends Module {\n public constructor(private _input: ActionInput) {\n const name = 'input'\n const exportName = strings.typeName(name)\n super({ path: `${name}.ts`, exportName })\n }\n\n public async getContent() {\n return zuiSchemaToTypeScriptType(this._input.schema, this.exportName)\n }\n}\n\nexport class ActionOutputModule extends Module {\n public constructor(private _output: ActionOutput) {\n const name = 'output'\n const exportName = strings.typeName(name)\n super({ path: `${name}.ts`, exportName })\n }\n\n public async getContent() {\n return zuiSchemaToTypeScriptType(this._output.schema, this.exportName)\n }\n}\n\nexport class ActionModule extends ReExportTypeModule {\n public constructor(actionName: string, action: sdk.ActionDefinition) {\n super({ exportName: strings.typeName(actionName) })\n\n const inputModule = new ActionInputModule(action.input)\n const outputModule = new ActionOutputModule(action.output)\n\n this.pushDep(inputModule)\n this.pushDep(outputModule)\n }\n}\n\nexport class ActionsModule extends ReExportTypeModule {\n public constructor(actions: Record<string, sdk.ActionDefinition>) {\n super({ exportName: strings.typeName('actions') })\n for (const [actionName, action] of Object.entries(actions)) {\n const module = new ActionModule(actionName, action)\n module.unshift(actionName)\n this.pushDep(module)\n }\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,wBAA0C;AAC1C,oBAA2C;AAC3C,cAAyB;AAKlB,MAAM,0BAA0B,qBAAO;AAAA,EACrC,YAAoB,QAAqB;AAC9C,UAAM,OAAO;AACb,UAAM,aAAa,QAAQ,SAAS,IAAI;AACxC,UAAM,EAAE,MAAM,GAAG,WAAW,WAAW,CAAC;AAHf;AAAA,EAI3B;AAAA,EAEA,MAAa,aAAa;AACxB,eAAO,6CAA0B,KAAK,OAAO,QAAQ,KAAK,UAAU;AAAA,EACtE;AACF;AAEO,MAAM,2BAA2B,qBAAO;AAAA,EACtC,YAAoB,SAAuB;AAChD,UAAM,OAAO;AACb,UAAM,aAAa,QAAQ,SAAS,IAAI;AACxC,UAAM,EAAE,MAAM,GAAG,WAAW,WAAW,CAAC;AAHf;AAAA,EAI3B;AAAA,EAEA,MAAa,aAAa;AACxB,eAAO,6CAA0B,KAAK,QAAQ,QAAQ,KAAK,UAAU;AAAA,EACvE;AACF;AAEO,MAAM,qBAAqB,iCAAmB;AAAA,EAC5C,YAAY,YAAoB,QAA8B;AACnE,UAAM,EAAE,YAAY,QAAQ,SAAS,UAAU,EAAE,CAAC;AAElD,UAAM,cAAc,IAAI,kBAAkB,OAAO,KAAK;AACtD,UAAM,eAAe,IAAI,mBAAmB,OAAO,MAAM;AAEzD,SAAK,QAAQ,WAAW;AACxB,SAAK,QAAQ,YAAY;AAAA,EAC3B;AACF;AAEO,MAAM,sBAAsB,iCAAmB;AAAA,EAC7C,YAAY,SAA+C;AAChE,UAAM,EAAE,YAAY,QAAQ,SAAS,SAAS,EAAE,CAAC;AACjD,eAAW,CAAC,YAAY,MAAM,KAAK,OAAO,QAAQ,OAAO,GAAG;AAC1D,YAAMA,UAAS,IAAI,aAAa,YAAY,MAAM;AAClD,MAAAA,QAAO,QAAQ,UAAU;AACzB,WAAK,QAAQA,OAAM;AAAA,IACrB;AAAA,EACF;AACF;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,wBAA0C;AAC1C,oBAA2C;AAC3C,cAAyB;AAKlB,MAAM,0BAA0B,qBAAO;AAAA,EACrC,YAAoB,QAAqB;AAC9C,UAAM,OAAO;AACb,UAAM,aAAa,QAAQ,SAAS,IAAI;AACxC,UAAM,EAAE,MAAM,GAAG,IAAI,OAAO,WAAW,CAAC;AAHf;AAAA,EAI3B;AAAA,EAEA,MAAa,aAAa;AACxB,eAAO,6CAA0B,KAAK,OAAO,QAAQ,KAAK,UAAU;AAAA,EACtE;AACF;AAEO,MAAM,2BAA2B,qBAAO;AAAA,EACtC,YAAoB,SAAuB;AAChD,UAAM,OAAO;AACb,UAAM,aAAa,QAAQ,SAAS,IAAI;AACxC,UAAM,EAAE,MAAM,GAAG,IAAI,OAAO,WAAW,CAAC;AAHf;AAAA,EAI3B;AAAA,EAEA,MAAa,aAAa;AACxB,eAAO,6CAA0B,KAAK,QAAQ,QAAQ,KAAK,UAAU;AAAA,EACvE;AACF;AAEO,MAAM,qBAAqB,iCAAmB;AAAA,EAC5C,YAAY,YAAoB,QAA8B;AACnE,UAAM,EAAE,YAAY,QAAQ,SAAS,UAAU,EAAE,CAAC;AAElD,UAAM,cAAc,IAAI,kBAAkB,OAAO,KAAK;AACtD,UAAM,eAAe,IAAI,mBAAmB,OAAO,MAAM;AAEzD,SAAK,QAAQ,WAAW;AACxB,SAAK,QAAQ,YAAY;AAAA,EAC3B;AACF;AAEO,MAAM,sBAAsB,iCAAmB;AAAA,EAC7C,YAAY,SAA+C;AAChE,UAAM,EAAE,YAAY,QAAQ,SAAS,SAAS,EAAE,CAAC;AACjD,eAAW,CAAC,YAAY,MAAM,KAAK,OAAO,QAAQ,OAAO,GAAG;AAC1D,YAAMA,UAAS,IAAI,aAAa,YAAY,MAAM;AAClD,MAAAA,QAAO,QAAQ,UAAU;AACzB,WAAK,QAAQA,OAAM;AAAA,IACrB;AAAA,EACF;AACF;",
6
6
  "names": ["module"]
7
7
  }
@@ -0,0 +1,5 @@
1
+ import * as sdk from '@botpress/sdk';
2
+ import { ReExportTypeModule } from '../../module';
3
+ export declare class ChannelsModule extends ReExportTypeModule {
4
+ constructor(channels: Record<string, sdk.ChannelDefinition>);
5
+ }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/code-generation/integration-implementation/integration-typings/channels-module.ts"],
4
4
  "sourcesContent": ["import * as sdk from '@botpress/sdk'\nimport { GENERATED_HEADER, INDEX_FILE } from '../../consts'\nimport { zuiSchemaToTypeScriptType, stringifySingleLine } from '../../generators'\nimport { Module, ReExportTypeModule } from '../../module'\nimport * as strings from '../../strings'\n\nclass MessageModule extends Module {\n public constructor(\n name: string,\n private _message: sdk.MessageDefinition\n ) {\n super({\n path: `${name}.ts`,\n exportName: strings.typeName(name),\n })\n }\n\n public async getContent() {\n return zuiSchemaToTypeScriptType(this._message.schema, this.exportName)\n }\n}\n\nclass MessagesModule extends ReExportTypeModule {\n public constructor(channel: sdk.ChannelDefinition) {\n super({ exportName: strings.typeName('messages') })\n for (const [messageName, message] of Object.entries(channel.messages ?? {})) {\n const module = new MessageModule(messageName, message)\n this.pushDep(module)\n }\n }\n}\n\nclass ChannelModule extends Module {\n private _messagesModule: MessagesModule\n\n public constructor(\n channelName: string,\n private _channel: sdk.ChannelDefinition\n ) {\n super({\n path: INDEX_FILE,\n exportName: strings.typeName(channelName),\n })\n\n this._messagesModule = new MessagesModule(_channel)\n this._messagesModule.unshift('messages')\n this.pushDep(this._messagesModule)\n }\n\n public async getContent() {\n const messageImport = this._messagesModule.import(this)\n\n const conversation = {\n tags: this._channel.conversation?.tags ?? {},\n creation: this._channel.conversation?.creation ?? { enabled: false, requiredTags: [] },\n }\n\n const message = {\n tags: this._channel.message?.tags ?? {},\n }\n\n return [\n GENERATED_HEADER,\n `import { ${this._messagesModule.exportName} } from './${messageImport}'`,\n `export * from './${messageImport}'`,\n '',\n `export type ${this.exportName} = {`,\n ` messages: ${this._messagesModule.exportName}`,\n ` message: ${stringifySingleLine(message)}`,\n ` conversation: ${stringifySingleLine(conversation)}`,\n '}',\n ].join('\\n')\n }\n}\n\nexport class ChannelsModule extends ReExportTypeModule {\n public constructor(channels: Record<string, sdk.ChannelDefinition>) {\n super({ exportName: strings.typeName('channels') })\n for (const [channelName, channel] of Object.entries(channels)) {\n const module = new ChannelModule(channelName, channel)\n module.unshift(channelName)\n this.pushDep(module)\n }\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA6C;AAC7C,wBAA+D;AAC/D,oBAA2C;AAC3C,cAAyB;AAEzB,MAAM,sBAAsB,qBAAO;AAAA,EAC1B,YACL,MACQ,UACR;AACA,UAAM;AAAA,MACJ,MAAM,GAAG;AAAA,MACT,YAAY,QAAQ,SAAS,IAAI;AAAA,IACnC,CAAC;AALO;AAAA,EAMV;AAAA,EAEA,MAAa,aAAa;AACxB,eAAO,6CAA0B,KAAK,SAAS,QAAQ,KAAK,UAAU;AAAA,EACxE;AACF;AAEA,MAAM,uBAAuB,iCAAmB;AAAA,EACvC,YAAY,SAAgC;AACjD,UAAM,EAAE,YAAY,QAAQ,SAAS,UAAU,EAAE,CAAC;AAClD,eAAW,CAAC,aAAa,OAAO,KAAK,OAAO,QAAQ,QAAQ,YAAY,CAAC,CAAC,GAAG;AAC3E,YAAMA,UAAS,IAAI,cAAc,aAAa,OAAO;AACrD,WAAK,QAAQA,OAAM;AAAA,IACrB;AAAA,EACF;AACF;AAEA,MAAM,sBAAsB,qBAAO;AAAA,EAG1B,YACL,aACQ,UACR;AACA,UAAM;AAAA,MACJ,MAAM;AAAA,MACN,YAAY,QAAQ,SAAS,WAAW;AAAA,IAC1C,CAAC;AALO;AAOR,SAAK,kBAAkB,IAAI,eAAe,QAAQ;AAClD,SAAK,gBAAgB,QAAQ,UAAU;AACvC,SAAK,QAAQ,KAAK,eAAe;AAAA,EACnC;AAAA,EAdQ;AAAA,EAgBR,MAAa,aAAa;AACxB,UAAM,gBAAgB,KAAK,gBAAgB,OAAO,IAAI;AAEtD,UAAM,eAAe;AAAA,MACnB,MAAM,KAAK,SAAS,cAAc,QAAQ,CAAC;AAAA,MAC3C,UAAU,KAAK,SAAS,cAAc,YAAY,EAAE,SAAS,OAAO,cAAc,CAAC,EAAE;AAAA,IACvF;AAEA,UAAM,UAAU;AAAA,MACd,MAAM,KAAK,SAAS,SAAS,QAAQ,CAAC;AAAA,IACxC;AAEA,WAAO;AAAA,MACL;AAAA,MACA,YAAY,KAAK,gBAAgB,wBAAwB;AAAA,MACzD,oBAAoB;AAAA,MACpB;AAAA,MACA,eAAe,KAAK;AAAA,MACpB,eAAe,KAAK,gBAAgB;AAAA,MACpC,kBAAc,uCAAoB,OAAO;AAAA,MACzC,uBAAmB,uCAAoB,YAAY;AAAA,MACnD;AAAA,IACF,EAAE,KAAK,IAAI;AAAA,EACb;AACF;AAEO,MAAM,uBAAuB,iCAAmB;AAAA,EAC9C,YAAY,UAAiD;AAClE,UAAM,EAAE,YAAY,QAAQ,SAAS,UAAU,EAAE,CAAC;AAClD,eAAW,CAAC,aAAa,OAAO,KAAK,OAAO,QAAQ,QAAQ,GAAG;AAC7D,YAAMA,UAAS,IAAI,cAAc,aAAa,OAAO;AACrD,MAAAA,QAAO,QAAQ,WAAW;AAC1B,WAAK,QAAQA,OAAM;AAAA,IACrB;AAAA,EACF;AACF;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA6C;AAC7C,wBAA+D;AAC/D,oBAA2C;AAC3C,cAAyB;AAEzB,MAAM,sBAAsB,qBAAO;AAAA,EAC1B,YACL,MACQ,UACR;AACA,UAAM;AAAA,MACJ,MAAM,GAAG,IAAI;AAAA,MACb,YAAY,QAAQ,SAAS,IAAI;AAAA,IACnC,CAAC;AALO;AAAA,EAMV;AAAA,EAEA,MAAa,aAAa;AACxB,eAAO,6CAA0B,KAAK,SAAS,QAAQ,KAAK,UAAU;AAAA,EACxE;AACF;AAEA,MAAM,uBAAuB,iCAAmB;AAAA,EACvC,YAAY,SAAgC;AACjD,UAAM,EAAE,YAAY,QAAQ,SAAS,UAAU,EAAE,CAAC;AAClD,eAAW,CAAC,aAAa,OAAO,KAAK,OAAO,QAAQ,QAAQ,YAAY,CAAC,CAAC,GAAG;AAC3E,YAAMA,UAAS,IAAI,cAAc,aAAa,OAAO;AACrD,WAAK,QAAQA,OAAM;AAAA,IACrB;AAAA,EACF;AACF;AAEA,MAAM,sBAAsB,qBAAO;AAAA,EAG1B,YACL,aACQ,UACR;AACA,UAAM;AAAA,MACJ,MAAM;AAAA,MACN,YAAY,QAAQ,SAAS,WAAW;AAAA,IAC1C,CAAC;AALO;AAOR,SAAK,kBAAkB,IAAI,eAAe,QAAQ;AAClD,SAAK,gBAAgB,QAAQ,UAAU;AACvC,SAAK,QAAQ,KAAK,eAAe;AAAA,EACnC;AAAA,EAdQ;AAAA,EAgBR,MAAa,aAAa;AACxB,UAAM,gBAAgB,KAAK,gBAAgB,OAAO,IAAI;AAEtD,UAAM,eAAe;AAAA,MACnB,MAAM,KAAK,SAAS,cAAc,QAAQ,CAAC;AAAA,MAC3C,UAAU,KAAK,SAAS,cAAc,YAAY,EAAE,SAAS,OAAO,cAAc,CAAC,EAAE;AAAA,IACvF;AAEA,UAAM,UAAU;AAAA,MACd,MAAM,KAAK,SAAS,SAAS,QAAQ,CAAC;AAAA,IACxC;AAEA,WAAO;AAAA,MACL;AAAA,MACA,YAAY,KAAK,gBAAgB,UAAU,cAAc,aAAa;AAAA,MACtE,oBAAoB,aAAa;AAAA,MACjC;AAAA,MACA,eAAe,KAAK,UAAU;AAAA,MAC9B,eAAe,KAAK,gBAAgB,UAAU;AAAA,MAC9C,kBAAc,uCAAoB,OAAO,CAAC;AAAA,MAC1C,uBAAmB,uCAAoB,YAAY,CAAC;AAAA,MACpD;AAAA,IACF,EAAE,KAAK,IAAI;AAAA,EACb;AACF;AAEO,MAAM,uBAAuB,iCAAmB;AAAA,EAC9C,YAAY,UAAiD;AAClE,UAAM,EAAE,YAAY,QAAQ,SAAS,UAAU,EAAE,CAAC;AAClD,eAAW,CAAC,aAAa,OAAO,KAAK,OAAO,QAAQ,QAAQ,GAAG;AAC7D,YAAMA,UAAS,IAAI,cAAc,aAAa,OAAO;AACrD,MAAAA,QAAO,QAAQ,WAAW;AAC1B,WAAK,QAAQA,OAAM;AAAA,IACrB;AAAA,EACF;AACF;",
6
6
  "names": ["module"]
7
7
  }
@@ -0,0 +1,7 @@
1
+ import * as sdk from '@botpress/sdk';
2
+ import { Module } from '../../module';
3
+ export declare class DefaultConfigurationModule extends Module {
4
+ private _configuration;
5
+ constructor(_configuration: sdk.ConfigurationDefinition | undefined);
6
+ getContent(): Promise<string>;
7
+ }
@@ -0,0 +1,10 @@
1
+ import * as sdk from '@botpress/sdk';
2
+ import { Module, ReExportTypeModule } from '../../module';
3
+ export declare class ConfigurationModule extends Module {
4
+ private _configuration;
5
+ constructor(name: string, _configuration: sdk.ConfigurationDefinition);
6
+ getContent(): Promise<string>;
7
+ }
8
+ export declare class ConfigurationsModule extends ReExportTypeModule {
9
+ constructor(configurations: Record<string, sdk.ConfigurationDefinition>);
10
+ }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/code-generation/integration-implementation/integration-typings/configurations-module.ts"],
4
4
  "sourcesContent": ["import * as sdk from '@botpress/sdk'\nimport { zuiSchemaToTypeScriptType } from '../../generators'\nimport { Module, ReExportTypeModule } from '../../module'\nimport * as strings from '../../strings'\n\nexport class ConfigurationModule extends Module {\n public constructor(\n name: string,\n private _configuration: sdk.ConfigurationDefinition\n ) {\n const configurationName = name\n const exportName = strings.typeName(`${configurationName}Config`)\n super({\n path: `${name}.ts`,\n exportName,\n })\n }\n\n public async getContent() {\n const { schema } = this._configuration\n if (!schema) {\n return `export type ${this.exportName} = Record<string, never>;`\n }\n return zuiSchemaToTypeScriptType(schema, this.exportName)\n }\n}\n\nexport class ConfigurationsModule extends ReExportTypeModule {\n public constructor(configurations: Record<string, sdk.ConfigurationDefinition>) {\n super({ exportName: strings.typeName('configurations') })\n for (const [configurationName, configuration] of Object.entries(configurations)) {\n const module = new ConfigurationModule(configurationName, configuration)\n this.pushDep(module)\n }\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,wBAA0C;AAC1C,oBAA2C;AAC3C,cAAyB;AAElB,MAAM,4BAA4B,qBAAO;AAAA,EACvC,YACL,MACQ,gBACR;AACA,UAAM,oBAAoB;AAC1B,UAAM,aAAa,QAAQ,SAAS,GAAG,yBAAyB;AAChE,UAAM;AAAA,MACJ,MAAM,GAAG;AAAA,MACT;AAAA,IACF,CAAC;AAPO;AAAA,EAQV;AAAA,EAEA,MAAa,aAAa;AACxB,UAAM,EAAE,OAAO,IAAI,KAAK;AACxB,QAAI,CAAC,QAAQ;AACX,aAAO,eAAe,KAAK;AAAA,IAC7B;AACA,eAAO,6CAA0B,QAAQ,KAAK,UAAU;AAAA,EAC1D;AACF;AAEO,MAAM,6BAA6B,iCAAmB;AAAA,EACpD,YAAY,gBAA6D;AAC9E,UAAM,EAAE,YAAY,QAAQ,SAAS,gBAAgB,EAAE,CAAC;AACxD,eAAW,CAAC,mBAAmB,aAAa,KAAK,OAAO,QAAQ,cAAc,GAAG;AAC/E,YAAMA,UAAS,IAAI,oBAAoB,mBAAmB,aAAa;AACvE,WAAK,QAAQA,OAAM;AAAA,IACrB;AAAA,EACF;AACF;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,wBAA0C;AAC1C,oBAA2C;AAC3C,cAAyB;AAElB,MAAM,4BAA4B,qBAAO;AAAA,EACvC,YACL,MACQ,gBACR;AACA,UAAM,oBAAoB;AAC1B,UAAM,aAAa,QAAQ,SAAS,GAAG,iBAAiB,QAAQ;AAChE,UAAM;AAAA,MACJ,MAAM,GAAG,IAAI;AAAA,MACb;AAAA,IACF,CAAC;AAPO;AAAA,EAQV;AAAA,EAEA,MAAa,aAAa;AACxB,UAAM,EAAE,OAAO,IAAI,KAAK;AACxB,QAAI,CAAC,QAAQ;AACX,aAAO,eAAe,KAAK,UAAU;AAAA,IACvC;AACA,eAAO,6CAA0B,QAAQ,KAAK,UAAU;AAAA,EAC1D;AACF;AAEO,MAAM,6BAA6B,iCAAmB;AAAA,EACpD,YAAY,gBAA6D;AAC9E,UAAM,EAAE,YAAY,QAAQ,SAAS,gBAAgB,EAAE,CAAC;AACxD,eAAW,CAAC,mBAAmB,aAAa,KAAK,OAAO,QAAQ,cAAc,GAAG;AAC/E,YAAMA,UAAS,IAAI,oBAAoB,mBAAmB,aAAa;AACvE,WAAK,QAAQA,OAAM;AAAA,IACrB;AAAA,EACF;AACF;",
6
6
  "names": ["module"]
7
7
  }
@@ -0,0 +1,10 @@
1
+ import * as sdk from '@botpress/sdk';
2
+ import { Module, ReExportTypeModule } from '../../module';
3
+ export declare class EntityModule extends Module {
4
+ private _entity;
5
+ constructor(name: string, _entity: sdk.EntityDefinition);
6
+ getContent(): Promise<string>;
7
+ }
8
+ export declare class EntitiesModule extends ReExportTypeModule {
9
+ constructor(entities: Record<string, sdk.EntityDefinition>);
10
+ }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/code-generation/integration-implementation/integration-typings/entities-module.ts"],
4
4
  "sourcesContent": ["import * as sdk from '@botpress/sdk'\nimport { zuiSchemaToTypeScriptType } from '../../generators'\nimport { Module, ReExportTypeModule } from '../../module'\nimport * as strings from '../../strings'\n\nexport class EntityModule extends Module {\n public constructor(\n name: string,\n private _entity: sdk.EntityDefinition\n ) {\n const entityName = name\n const exportName = strings.typeName(entityName)\n super({ path: `${name}.ts`, exportName })\n }\n\n public async getContent() {\n return zuiSchemaToTypeScriptType(this._entity.schema, this.exportName)\n }\n}\n\nexport class EntitiesModule extends ReExportTypeModule {\n public constructor(entities: Record<string, sdk.EntityDefinition>) {\n super({ exportName: strings.typeName('entities') })\n\n for (const [entityName, entity] of Object.entries(entities)) {\n const module = new EntityModule(entityName, entity)\n this.pushDep(module)\n }\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,wBAA0C;AAC1C,oBAA2C;AAC3C,cAAyB;AAElB,MAAM,qBAAqB,qBAAO;AAAA,EAChC,YACL,MACQ,SACR;AACA,UAAM,aAAa;AACnB,UAAM,aAAa,QAAQ,SAAS,UAAU;AAC9C,UAAM,EAAE,MAAM,GAAG,WAAW,WAAW,CAAC;AAJhC;AAAA,EAKV;AAAA,EAEA,MAAa,aAAa;AACxB,eAAO,6CAA0B,KAAK,QAAQ,QAAQ,KAAK,UAAU;AAAA,EACvE;AACF;AAEO,MAAM,uBAAuB,iCAAmB;AAAA,EAC9C,YAAY,UAAgD;AACjE,UAAM,EAAE,YAAY,QAAQ,SAAS,UAAU,EAAE,CAAC;AAElD,eAAW,CAAC,YAAY,MAAM,KAAK,OAAO,QAAQ,QAAQ,GAAG;AAC3D,YAAMA,UAAS,IAAI,aAAa,YAAY,MAAM;AAClD,WAAK,QAAQA,OAAM;AAAA,IACrB;AAAA,EACF;AACF;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,wBAA0C;AAC1C,oBAA2C;AAC3C,cAAyB;AAElB,MAAM,qBAAqB,qBAAO;AAAA,EAChC,YACL,MACQ,SACR;AACA,UAAM,aAAa;AACnB,UAAM,aAAa,QAAQ,SAAS,UAAU;AAC9C,UAAM,EAAE,MAAM,GAAG,IAAI,OAAO,WAAW,CAAC;AAJhC;AAAA,EAKV;AAAA,EAEA,MAAa,aAAa;AACxB,eAAO,6CAA0B,KAAK,QAAQ,QAAQ,KAAK,UAAU;AAAA,EACvE;AACF;AAEO,MAAM,uBAAuB,iCAAmB;AAAA,EAC9C,YAAY,UAAgD;AACjE,UAAM,EAAE,YAAY,QAAQ,SAAS,UAAU,EAAE,CAAC;AAElD,eAAW,CAAC,YAAY,MAAM,KAAK,OAAO,QAAQ,QAAQ,GAAG;AAC3D,YAAMA,UAAS,IAAI,aAAa,YAAY,MAAM;AAClD,WAAK,QAAQA,OAAM;AAAA,IACrB;AAAA,EACF;AACF;",
6
6
  "names": ["module"]
7
7
  }
@@ -0,0 +1,10 @@
1
+ import * as sdk from '@botpress/sdk';
2
+ import { Module, ReExportTypeModule } from '../../module';
3
+ export declare class EventModule extends Module {
4
+ private _event;
5
+ constructor(name: string, _event: sdk.EventDefinition);
6
+ getContent(): Promise<string>;
7
+ }
8
+ export declare class EventsModule extends ReExportTypeModule {
9
+ constructor(events: Record<string, sdk.EventDefinition>);
10
+ }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/code-generation/integration-implementation/integration-typings/events-module.ts"],
4
4
  "sourcesContent": ["import * as sdk from '@botpress/sdk'\nimport { zuiSchemaToTypeScriptType } from '../../generators'\nimport { Module, ReExportTypeModule } from '../../module'\nimport * as strings from '../../strings'\n\nexport class EventModule extends Module {\n public constructor(\n name: string,\n private _event: sdk.EventDefinition\n ) {\n const eventName = name\n const exportName = strings.typeName(eventName)\n super({ path: `${name}.ts`, exportName })\n }\n\n public async getContent() {\n return zuiSchemaToTypeScriptType(this._event.schema, this.exportName)\n }\n}\n\nexport class EventsModule extends ReExportTypeModule {\n public constructor(events: Record<string, sdk.EventDefinition>) {\n super({ exportName: strings.typeName('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;AACA,wBAA0C;AAC1C,oBAA2C;AAC3C,cAAyB;AAElB,MAAM,oBAAoB,qBAAO;AAAA,EAC/B,YACL,MACQ,QACR;AACA,UAAM,YAAY;AAClB,UAAM,aAAa,QAAQ,SAAS,SAAS;AAC7C,UAAM,EAAE,MAAM,GAAG,WAAW,WAAW,CAAC;AAJhC;AAAA,EAKV;AAAA,EAEA,MAAa,aAAa;AACxB,eAAO,6CAA0B,KAAK,OAAO,QAAQ,KAAK,UAAU;AAAA,EACtE;AACF;AAEO,MAAM,qBAAqB,iCAAmB;AAAA,EAC5C,YAAY,QAA6C;AAC9D,UAAM,EAAE,YAAY,QAAQ,SAAS,QAAQ,EAAE,CAAC;AAChD,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;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,wBAA0C;AAC1C,oBAA2C;AAC3C,cAAyB;AAElB,MAAM,oBAAoB,qBAAO;AAAA,EAC/B,YACL,MACQ,QACR;AACA,UAAM,YAAY;AAClB,UAAM,aAAa,QAAQ,SAAS,SAAS;AAC7C,UAAM,EAAE,MAAM,GAAG,IAAI,OAAO,WAAW,CAAC;AAJhC;AAAA,EAKV;AAAA,EAEA,MAAa,aAAa;AACxB,eAAO,6CAA0B,KAAK,OAAO,QAAQ,KAAK,UAAU;AAAA,EACtE;AACF;AAEO,MAAM,qBAAqB,iCAAmB;AAAA,EAC5C,YAAY,QAA6C;AAC9D,UAAM,EAAE,YAAY,QAAQ,SAAS,QAAQ,EAAE,CAAC;AAChD,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
6
  "names": ["module"]
7
7
  }
@@ -0,0 +1,8 @@
1
+ import * as sdk from '@botpress/sdk';
2
+ import { Module } from '../../module';
3
+ export declare class IntegrationTypingsModule extends Module {
4
+ private _integration;
5
+ private _dependencies;
6
+ constructor(_integration: sdk.IntegrationPackage['definition']);
7
+ getContent(): Promise<string>;
8
+ }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/code-generation/integration-implementation/integration-typings/index.ts"],
4
4
  "sourcesContent": ["import * as sdk from '@botpress/sdk'\nimport { GENERATED_HEADER, INDEX_FILE } from '../../consts'\nimport { stringifySingleLine } from '../../generators'\nimport { Module } from '../../module'\nimport { ActionsModule } from './actions-module'\nimport { ChannelsModule } from './channels-module'\nimport { DefaultConfigurationModule } from './configuration-module'\nimport { ConfigurationsModule } from './configurations-module'\nimport { EntitiesModule } from './entities-module'\nimport { EventsModule } from './events-module'\nimport { StatesModule } from './states-module'\n\ntype IntegrationTypingsModuleDependencies = {\n defaultConfigModule: DefaultConfigurationModule\n configurationsModule: ConfigurationsModule\n actionsModule: ActionsModule\n channelsModule: ChannelsModule\n eventsModule: EventsModule\n statesModule: StatesModule\n entitiesModule: EntitiesModule\n}\n\nexport class IntegrationTypingsModule extends Module {\n private _dependencies: IntegrationTypingsModuleDependencies\n\n public constructor(private _integration: sdk.IntegrationPackage['definition']) {\n super({\n path: INDEX_FILE,\n exportName: 'TIntegration',\n })\n\n const defaultConfigModule = new DefaultConfigurationModule(_integration.configuration)\n defaultConfigModule.unshift('configuration')\n\n const configurationsModule = new ConfigurationsModule(_integration.configurations ?? {})\n configurationsModule.unshift('configurations')\n\n const actionsModule = new ActionsModule(_integration.actions ?? {})\n actionsModule.unshift('actions')\n\n const channelsModule = new ChannelsModule(_integration.channels ?? {})\n channelsModule.unshift('channels')\n\n const eventsModule = new EventsModule(_integration.events ?? {})\n eventsModule.unshift('events')\n\n const statesModule = new StatesModule(_integration.states ?? {})\n statesModule.unshift('states')\n\n const entitiesModule = new EntitiesModule(_integration.entities ?? {})\n entitiesModule.unshift('entities')\n\n this._dependencies = {\n defaultConfigModule,\n configurationsModule,\n actionsModule,\n channelsModule,\n eventsModule,\n statesModule,\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 {\n defaultConfigModule,\n configurationsModule,\n actionsModule,\n channelsModule,\n eventsModule,\n statesModule,\n entitiesModule,\n } = this._dependencies\n\n const defaultConfigImport = defaultConfigModule.import(this)\n const configurationsImport = configurationsModule.import(this)\n const actionsImport = actionsModule.import(this)\n const channelsImport = channelsModule.import(this)\n const eventsImport = eventsModule.import(this)\n const statesImport = statesModule.import(this)\n const entitiesImport = entitiesModule.import(this)\n\n const user = {\n tags: this._integration.user?.tags ?? {},\n creation: this._integration.user?.creation ?? { enabled: false, requiredTags: [] },\n }\n\n content += [\n GENERATED_HEADER,\n `import * as ${defaultConfigModule.name} from \"./${defaultConfigImport}\"`,\n `import * as ${configurationsModule.name} from \"./${configurationsImport}\"`,\n `import * as ${actionsModule.name} from \"./${actionsImport}\"`,\n `import * as ${channelsModule.name} from \"./${channelsImport}\"`,\n `import * as ${eventsModule.name} from \"./${eventsImport}\"`,\n `import * as ${statesModule.name} from \"./${statesImport}\"`,\n `import * as ${entitiesModule.name} from \"./${entitiesImport}\"`,\n `export * as ${defaultConfigModule.name} from \"./${defaultConfigImport}\"`,\n `export * as ${configurationsModule.name} from \"./${configurationsImport}\"`,\n `export * as ${actionsModule.name} from \"./${actionsImport}\"`,\n `export * as ${channelsModule.name} from \"./${channelsImport}\"`,\n `export * as ${eventsModule.name} from \"./${eventsImport}\"`,\n `export * as ${statesModule.name} from \"./${statesImport}\"`,\n `export * as ${entitiesModule.name} from \"./${entitiesImport}\"`,\n '',\n 'export type TIntegration = {',\n ` name: \"${this._integration.name}\"`,\n ` version: \"${this._integration.version}\"`,\n ` user: ${stringifySingleLine(user)}`,\n ` configuration: ${defaultConfigModule.name}.${defaultConfigModule.exportName}`,\n ` configurations: ${configurationsModule.name}.${configurationsModule.exportName}`,\n ` actions: ${actionsModule.name}.${actionsModule.exportName}`,\n ` channels: ${channelsModule.name}.${channelsModule.exportName}`,\n ` events: ${eventsModule.name}.${eventsModule.exportName}`,\n ` states: ${statesModule.name}.${statesModule.exportName}`,\n ` entities: ${entitiesModule.name}.${entitiesModule.exportName}`,\n '}',\n ].join('\\n')\n\n return content\n }\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,17 @@
1
+ import * as sdk from '@botpress/sdk';
2
+ import { Module, ReExportTypeModule } from '../../module';
3
+ export declare class StatePayloadModule extends Module {
4
+ private _state;
5
+ constructor(_state: sdk.StateDefinition);
6
+ getContent(): Promise<string>;
7
+ }
8
+ export declare class StateModule extends Module {
9
+ private _name;
10
+ private _state;
11
+ private _payloadModule;
12
+ constructor(_name: string, _state: sdk.StateDefinition);
13
+ getContent(): Promise<string>;
14
+ }
15
+ export declare class StatesModule extends ReExportTypeModule {
16
+ constructor(states: Record<string, sdk.StateDefinition>);
17
+ }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/code-generation/integration-implementation/integration-typings/states-module.ts"],
4
4
  "sourcesContent": ["import * as sdk from '@botpress/sdk'\nimport * as consts from '../../consts'\nimport * as gen from '../../generators'\nimport { Module, ReExportTypeModule } from '../../module'\nimport * as strings from '../../strings'\n\nexport class StatePayloadModule extends Module {\n public constructor(private _state: sdk.StateDefinition) {\n super({\n path: 'payload.ts',\n exportName: strings.typeName('Payload'),\n })\n }\n\n public async getContent() {\n return gen.zuiSchemaToTypeScriptType(this._state.schema, 'Payload')\n }\n}\n\nexport class StateModule extends Module {\n private _payloadModule: StatePayloadModule\n\n public constructor(\n private _name: string,\n private _state: sdk.StateDefinition\n ) {\n super({\n path: consts.INDEX_FILE,\n exportName: strings.typeName(_name),\n })\n\n this._payloadModule = new StatePayloadModule(_state)\n this.pushDep(this._payloadModule)\n }\n\n public async getContent(): Promise<string> {\n const { _payloadModule } = this\n const payloadImport = _payloadModule.import(this)\n\n const exportName = strings.typeName(this._name)\n\n return [\n consts.GENERATED_HEADER,\n `import * as ${_payloadModule.name} from './${payloadImport}'`,\n `export type ${exportName} = {`,\n ` type: ${gen.primitiveToTypescriptValue(this._state.type)},`,\n ` payload: ${_payloadModule.name}.${_payloadModule.exportName}`,\n '}',\n ].join('\\n')\n }\n}\n\nexport class StatesModule extends ReExportTypeModule {\n public constructor(states: Record<string, sdk.StateDefinition>) {\n super({ exportName: strings.typeName('states') })\n for (const [stateName, state] of Object.entries(states)) {\n const module = new StateModule(stateName, state)\n module.unshift(stateName)\n this.pushDep(module)\n }\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,aAAwB;AACxB,UAAqB;AACrB,oBAA2C;AAC3C,cAAyB;AAElB,MAAM,2BAA2B,qBAAO;AAAA,EACtC,YAAoB,QAA6B;AACtD,UAAM;AAAA,MACJ,MAAM;AAAA,MACN,YAAY,QAAQ,SAAS,SAAS;AAAA,IACxC,CAAC;AAJwB;AAAA,EAK3B;AAAA,EAEA,MAAa,aAAa;AACxB,WAAO,IAAI,0BAA0B,KAAK,OAAO,QAAQ,SAAS;AAAA,EACpE;AACF;AAEO,MAAM,oBAAoB,qBAAO;AAAA,EAG/B,YACG,OACA,QACR;AACA,UAAM;AAAA,MACJ,MAAM,OAAO;AAAA,MACb,YAAY,QAAQ,SAAS,KAAK;AAAA,IACpC,CAAC;AANO;AACA;AAOR,SAAK,iBAAiB,IAAI,mBAAmB,MAAM;AACnD,SAAK,QAAQ,KAAK,cAAc;AAAA,EAClC;AAAA,EAbQ;AAAA,EAeR,MAAa,aAA8B;AACzC,UAAM,EAAE,eAAe,IAAI;AAC3B,UAAM,gBAAgB,eAAe,OAAO,IAAI;AAEhD,UAAM,aAAa,QAAQ,SAAS,KAAK,KAAK;AAE9C,WAAO;AAAA,MACL,OAAO;AAAA,MACP,eAAe,eAAe,gBAAgB;AAAA,MAC9C,eAAe;AAAA,MACf,WAAW,IAAI,2BAA2B,KAAK,OAAO,IAAI;AAAA,MAC1D,cAAc,eAAe,QAAQ,eAAe;AAAA,MACpD;AAAA,IACF,EAAE,KAAK,IAAI;AAAA,EACb;AACF;AAEO,MAAM,qBAAqB,iCAAmB;AAAA,EAC5C,YAAY,QAA6C;AAC9D,UAAM,EAAE,YAAY,QAAQ,SAAS,QAAQ,EAAE,CAAC;AAChD,eAAW,CAAC,WAAW,KAAK,KAAK,OAAO,QAAQ,MAAM,GAAG;AACvD,YAAMA,UAAS,IAAI,YAAY,WAAW,KAAK;AAC/C,MAAAA,QAAO,QAAQ,SAAS;AACxB,WAAK,QAAQA,OAAM;AAAA,IACrB;AAAA,EACF;AACF;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,aAAwB;AACxB,UAAqB;AACrB,oBAA2C;AAC3C,cAAyB;AAElB,MAAM,2BAA2B,qBAAO;AAAA,EACtC,YAAoB,QAA6B;AACtD,UAAM;AAAA,MACJ,MAAM;AAAA,MACN,YAAY,QAAQ,SAAS,SAAS;AAAA,IACxC,CAAC;AAJwB;AAAA,EAK3B;AAAA,EAEA,MAAa,aAAa;AACxB,WAAO,IAAI,0BAA0B,KAAK,OAAO,QAAQ,SAAS;AAAA,EACpE;AACF;AAEO,MAAM,oBAAoB,qBAAO;AAAA,EAG/B,YACG,OACA,QACR;AACA,UAAM;AAAA,MACJ,MAAM,OAAO;AAAA,MACb,YAAY,QAAQ,SAAS,KAAK;AAAA,IACpC,CAAC;AANO;AACA;AAOR,SAAK,iBAAiB,IAAI,mBAAmB,MAAM;AACnD,SAAK,QAAQ,KAAK,cAAc;AAAA,EAClC;AAAA,EAbQ;AAAA,EAeR,MAAa,aAA8B;AACzC,UAAM,EAAE,eAAe,IAAI;AAC3B,UAAM,gBAAgB,eAAe,OAAO,IAAI;AAEhD,UAAM,aAAa,QAAQ,SAAS,KAAK,KAAK;AAE9C,WAAO;AAAA,MACL,OAAO;AAAA,MACP,eAAe,eAAe,IAAI,YAAY,aAAa;AAAA,MAC3D,eAAe,UAAU;AAAA,MACzB,WAAW,IAAI,2BAA2B,KAAK,OAAO,IAAI,CAAC;AAAA,MAC3D,cAAc,eAAe,IAAI,IAAI,eAAe,UAAU;AAAA,MAC9D;AAAA,IACF,EAAE,KAAK,IAAI;AAAA,EACb;AACF;AAEO,MAAM,qBAAqB,iCAAmB;AAAA,EAC5C,YAAY,QAA6C;AAC9D,UAAM,EAAE,YAAY,QAAQ,SAAS,QAAQ,EAAE,CAAC;AAChD,eAAW,CAAC,WAAW,KAAK,KAAK,OAAO,QAAQ,MAAM,GAAG;AACvD,YAAMA,UAAS,IAAI,YAAY,WAAW,KAAK;AAC/C,MAAAA,QAAO,QAAQ,SAAS;AACxB,WAAK,QAAQA,OAAM;AAAA,IACrB;AAAA,EACF;AACF;",
6
6
  "names": ["module"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ import * as types from '../typings';
2
+ export declare const generateIntegrationPackage: (pkg: types.IntegrationInstallablePackage) => Promise<types.File[]>;
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/code-generation/integration-package/index.ts"],
4
4
  "sourcesContent": ["import * as consts from '../consts'\nimport * as gen from '../generators'\nimport * as types from '../typings'\nimport { IntegrationPackageDefinitionModule } from './integration-package-definition'\n\nconst generateIntegrationPackageModule = (\n definitionImport: string,\n pkg: types.IntegrationInstallablePackage\n): string => {\n const id = pkg.integration.id ?? pkg.devId\n const uri = pkg.path\n\n const tsId = gen.primitiveToTypescriptValue(id)\n const tsUri = gen.primitiveToTypescriptValue(uri)\n const tsName = gen.primitiveToTypescriptValue(pkg.name)\n const tsVersion = gen.primitiveToTypescriptValue(pkg.version)\n\n return [\n consts.GENERATED_HEADER,\n 'import * as sdk from \"@botpress/sdk\"',\n '',\n `import definition from \"${definitionImport}\"`,\n '',\n 'export default {',\n ' type: \"integration\",',\n ` id: ${tsId},`,\n ` uri: ${tsUri},`,\n ` name: ${tsName},`,\n ` version: ${tsVersion},`,\n ' definition,',\n '} satisfies sdk.IntegrationPackage',\n ].join('\\n')\n}\n\nexport const generateIntegrationPackage = async (pkg: types.IntegrationInstallablePackage): Promise<types.File[]> => {\n const definitionDir = 'definition'\n const definitionModule = new IntegrationPackageDefinitionModule(pkg.integration)\n definitionModule.unshift(definitionDir)\n\n const definitionFiles = await definitionModule.flatten()\n return [\n ...definitionFiles,\n {\n path: consts.INDEX_FILE,\n content: generateIntegrationPackageModule(`./${definitionDir}`, pkg),\n },\n ]\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAAwB;AACxB,UAAqB;AAErB,4CAAmD;AAEnD,MAAM,mCAAmC,CACvC,kBACA,QACW;AACX,QAAM,KAAK,IAAI,YAAY,MAAM,IAAI;AACrC,QAAM,MAAM,IAAI;AAEhB,QAAM,OAAO,IAAI,2BAA2B,EAAE;AAC9C,QAAM,QAAQ,IAAI,2BAA2B,GAAG;AAChD,QAAM,SAAS,IAAI,2BAA2B,IAAI,IAAI;AACtD,QAAM,YAAY,IAAI,2BAA2B,IAAI,OAAO;AAE5D,SAAO;AAAA,IACL,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA,2BAA2B;AAAA,IAC3B;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT,UAAU;AAAA,IACV,WAAW;AAAA,IACX,cAAc;AAAA,IACd;AAAA,IACA;AAAA,EACF,EAAE,KAAK,IAAI;AACb;AAEO,MAAM,6BAA6B,OAAO,QAAoE;AACnH,QAAM,gBAAgB;AACtB,QAAM,mBAAmB,IAAI,yEAAmC,IAAI,WAAW;AAC/E,mBAAiB,QAAQ,aAAa;AAEtC,QAAM,kBAAkB,MAAM,iBAAiB,QAAQ;AACvD,SAAO;AAAA,IACL,GAAG;AAAA,IACH;AAAA,MACE,MAAM,OAAO;AAAA,MACb,SAAS,iCAAiC,KAAK,iBAAiB,GAAG;AAAA,IACrE;AAAA,EACF;AACF;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAAwB;AACxB,UAAqB;AAErB,4CAAmD;AAEnD,MAAM,mCAAmC,CACvC,kBACA,QACW;AACX,QAAM,KAAK,IAAI,YAAY,MAAM,IAAI;AACrC,QAAM,MAAM,IAAI;AAEhB,QAAM,OAAO,IAAI,2BAA2B,EAAE;AAC9C,QAAM,QAAQ,IAAI,2BAA2B,GAAG;AAChD,QAAM,SAAS,IAAI,2BAA2B,IAAI,IAAI;AACtD,QAAM,YAAY,IAAI,2BAA2B,IAAI,OAAO;AAE5D,SAAO;AAAA,IACL,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA,2BAA2B,gBAAgB;AAAA,IAC3C;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS,IAAI;AAAA,IACb,UAAU,KAAK;AAAA,IACf,WAAW,MAAM;AAAA,IACjB,cAAc,SAAS;AAAA,IACvB;AAAA,IACA;AAAA,EACF,EAAE,KAAK,IAAI;AACb;AAEO,MAAM,6BAA6B,OAAO,QAAoE;AACnH,QAAM,gBAAgB;AACtB,QAAM,mBAAmB,IAAI,yEAAmC,IAAI,WAAW;AAC/E,mBAAiB,QAAQ,aAAa;AAEtC,QAAM,kBAAkB,MAAM,iBAAiB,QAAQ;AACvD,SAAO;AAAA,IACL,GAAG;AAAA,IACH;AAAA,MACE,MAAM,OAAO;AAAA,MACb,SAAS,iCAAiC,KAAK,aAAa,IAAI,GAAG;AAAA,IACrE;AAAA,EACF;AACF;",
6
6
  "names": []
7
7
  }