@botpress/cli 2.0.2 → 2.0.4

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 (383) hide show
  1. package/e2e/tests/install-interfaces.ts +1 -0
  2. package/e2e/tests/install-package.ts +1 -0
  3. package/package.json +3 -3
  4. package/templates/empty-bot/package.json +2 -2
  5. package/templates/empty-integration/package.json +2 -2
  6. package/templates/empty-plugin/package.json +1 -1
  7. package/templates/hello-world/package.json +2 -2
  8. package/templates/webhook-message/package.json +2 -2
  9. package/.turbo/turbo-build.log +0 -22
  10. package/dist/api/bot-body.js +0 -89
  11. package/dist/api/bot-body.js.map +0 -7
  12. package/dist/api/client.js +0 -162
  13. package/dist/api/client.js.map +0 -7
  14. package/dist/api/find-previous-version.js +0 -66
  15. package/dist/api/find-previous-version.js.map +0 -7
  16. package/dist/api/find-previous-version.test.js +0 -76
  17. package/dist/api/find-previous-version.test.js.map +0 -7
  18. package/dist/api/index.js +0 -23
  19. package/dist/api/index.js.map +0 -7
  20. package/dist/api/integration-body.js +0 -146
  21. package/dist/api/integration-body.js.map +0 -7
  22. package/dist/api/interface-body.js +0 -95
  23. package/dist/api/interface-body.js.map +0 -7
  24. package/dist/api/paging.js +0 -42
  25. package/dist/api/paging.js.map +0 -7
  26. package/dist/api/plugin-body.js +0 -84
  27. package/dist/api/plugin-body.js.map +0 -7
  28. package/dist/api/types.js +0 -17
  29. package/dist/api/types.js.map +0 -7
  30. package/dist/code-generation/bot-implementation/bot-implementation.js +0 -116
  31. package/dist/code-generation/bot-implementation/bot-implementation.js.map +0 -7
  32. package/dist/code-generation/bot-implementation/bot-plugins/index.js +0 -80
  33. package/dist/code-generation/bot-implementation/bot-plugins/index.js.map +0 -7
  34. package/dist/code-generation/bot-implementation/bot-plugins/plugin-module.js +0 -129
  35. package/dist/code-generation/bot-implementation/bot-plugins/plugin-module.js.map +0 -7
  36. package/dist/code-generation/bot-implementation/bot-typings/actions-module.js +0 -88
  37. package/dist/code-generation/bot-implementation/bot-typings/actions-module.js.map +0 -7
  38. package/dist/code-generation/bot-implementation/bot-typings/events-module.js +0 -63
  39. package/dist/code-generation/bot-implementation/bot-typings/events-module.js.map +0 -7
  40. package/dist/code-generation/bot-implementation/bot-typings/index.js +0 -109
  41. package/dist/code-generation/bot-implementation/bot-typings/index.js.map +0 -7
  42. package/dist/code-generation/bot-implementation/bot-typings/states-module.js +0 -64
  43. package/dist/code-generation/bot-implementation/bot-typings/states-module.js.map +0 -7
  44. package/dist/code-generation/bot-implementation/index.js +0 -66
  45. package/dist/code-generation/bot-implementation/index.js.map +0 -7
  46. package/dist/code-generation/consts.js +0 -45
  47. package/dist/code-generation/consts.js.map +0 -7
  48. package/dist/code-generation/generators.js +0 -81
  49. package/dist/code-generation/generators.js.map +0 -7
  50. package/dist/code-generation/index.js +0 -49
  51. package/dist/code-generation/index.js.map +0 -7
  52. package/dist/code-generation/integration-implementation/index.js +0 -70
  53. package/dist/code-generation/integration-implementation/index.js.map +0 -7
  54. package/dist/code-generation/integration-implementation/integration-implementation.js +0 -114
  55. package/dist/code-generation/integration-implementation/integration-implementation.js.map +0 -7
  56. package/dist/code-generation/integration-implementation/integration-secret.js +0 -78
  57. package/dist/code-generation/integration-implementation/integration-secret.js.map +0 -7
  58. package/dist/code-generation/integration-implementation/integration-typings/actions-module.js +0 -88
  59. package/dist/code-generation/integration-implementation/integration-typings/actions-module.js.map +0 -7
  60. package/dist/code-generation/integration-implementation/integration-typings/channels-module.js +0 -107
  61. package/dist/code-generation/integration-implementation/integration-typings/channels-module.js.map +0 -7
  62. package/dist/code-generation/integration-implementation/integration-typings/configuration-module.js +0 -62
  63. package/dist/code-generation/integration-implementation/integration-typings/configuration-module.js.map +0 -7
  64. package/dist/code-generation/integration-implementation/integration-typings/configurations-module.js +0 -70
  65. package/dist/code-generation/integration-implementation/integration-typings/configurations-module.js.map +0 -7
  66. package/dist/code-generation/integration-implementation/integration-typings/entities-module.js +0 -63
  67. package/dist/code-generation/integration-implementation/integration-typings/entities-module.js.map +0 -7
  68. package/dist/code-generation/integration-implementation/integration-typings/events-module.js +0 -63
  69. package/dist/code-generation/integration-implementation/integration-typings/events-module.js.map +0 -7
  70. package/dist/code-generation/integration-implementation/integration-typings/index.js +0 -128
  71. package/dist/code-generation/integration-implementation/integration-typings/index.js.map +0 -7
  72. package/dist/code-generation/integration-implementation/integration-typings/states-module.js +0 -64
  73. package/dist/code-generation/integration-implementation/integration-typings/states-module.js.map +0 -7
  74. package/dist/code-generation/integration-package/index.js +0 -94
  75. package/dist/code-generation/integration-package/index.js.map +0 -7
  76. package/dist/code-generation/integration-package/integration-package-definition/actions-module.js +0 -88
  77. package/dist/code-generation/integration-package/integration-package-definition/actions-module.js.map +0 -7
  78. package/dist/code-generation/integration-package/integration-package-definition/channels-module.js +0 -107
  79. package/dist/code-generation/integration-package/integration-package-definition/channels-module.js.map +0 -7
  80. package/dist/code-generation/integration-package/integration-package-definition/configuration-module.js +0 -63
  81. package/dist/code-generation/integration-package/integration-package-definition/configuration-module.js.map +0 -7
  82. package/dist/code-generation/integration-package/integration-package-definition/configurations-module.js +0 -70
  83. package/dist/code-generation/integration-package/integration-package-definition/configurations-module.js.map +0 -7
  84. package/dist/code-generation/integration-package/integration-package-definition/entities-module.js +0 -63
  85. package/dist/code-generation/integration-package/integration-package-definition/entities-module.js.map +0 -7
  86. package/dist/code-generation/integration-package/integration-package-definition/events-module.js +0 -66
  87. package/dist/code-generation/integration-package/integration-package-definition/events-module.js.map +0 -7
  88. package/dist/code-generation/integration-package/integration-package-definition/index.js +0 -140
  89. package/dist/code-generation/integration-package/integration-package-definition/index.js.map +0 -7
  90. package/dist/code-generation/integration-package/integration-package-definition/states-module.js +0 -66
  91. package/dist/code-generation/integration-package/integration-package-definition/states-module.js.map +0 -7
  92. package/dist/code-generation/integration-package/integration-package-definition/typings.js +0 -17
  93. package/dist/code-generation/integration-package/integration-package-definition/typings.js.map +0 -7
  94. package/dist/code-generation/interface-implementation/index.js +0 -29
  95. package/dist/code-generation/interface-implementation/index.js.map +0 -7
  96. package/dist/code-generation/interface-implementation/integration-typings/actions-module.js +0 -88
  97. package/dist/code-generation/interface-implementation/integration-typings/actions-module.js.map +0 -7
  98. package/dist/code-generation/interface-implementation/integration-typings/channels-module.js +0 -107
  99. package/dist/code-generation/interface-implementation/integration-typings/channels-module.js.map +0 -7
  100. package/dist/code-generation/interface-implementation/integration-typings/entities-module.js +0 -63
  101. package/dist/code-generation/interface-implementation/integration-typings/entities-module.js.map +0 -7
  102. package/dist/code-generation/interface-implementation/integration-typings/events-module.js +0 -63
  103. package/dist/code-generation/interface-implementation/integration-typings/events-module.js.map +0 -7
  104. package/dist/code-generation/interface-implementation/integration-typings/index.js +0 -121
  105. package/dist/code-generation/interface-implementation/integration-typings/index.js.map +0 -7
  106. package/dist/code-generation/interface-package/index.js +0 -94
  107. package/dist/code-generation/interface-package/index.js.map +0 -7
  108. package/dist/code-generation/interface-package/interface-package-definition/actions-module.js +0 -88
  109. package/dist/code-generation/interface-package/interface-package-definition/actions-module.js.map +0 -7
  110. package/dist/code-generation/interface-package/interface-package-definition/channels-module.js +0 -98
  111. package/dist/code-generation/interface-package/interface-package-definition/channels-module.js.map +0 -7
  112. package/dist/code-generation/interface-package/interface-package-definition/entities-module.js +0 -63
  113. package/dist/code-generation/interface-package/interface-package-definition/entities-module.js.map +0 -7
  114. package/dist/code-generation/interface-package/interface-package-definition/events-module.js +0 -66
  115. package/dist/code-generation/interface-package/interface-package-definition/events-module.js.map +0 -7
  116. package/dist/code-generation/interface-package/interface-package-definition/index.js +0 -104
  117. package/dist/code-generation/interface-package/interface-package-definition/index.js.map +0 -7
  118. package/dist/code-generation/interface-package/interface-package-definition/typings.js +0 -17
  119. package/dist/code-generation/interface-package/interface-package-definition/typings.js.map +0 -7
  120. package/dist/code-generation/module.js +0 -183
  121. package/dist/code-generation/module.js.map +0 -7
  122. package/dist/code-generation/plugin-implementation/index.js +0 -60
  123. package/dist/code-generation/plugin-implementation/index.js.map +0 -7
  124. package/dist/code-generation/plugin-implementation/plugin-implementation.js +0 -90
  125. package/dist/code-generation/plugin-implementation/plugin-implementation.js.map +0 -7
  126. package/dist/code-generation/plugin-implementation/plugin-typings/actions-module.js +0 -88
  127. package/dist/code-generation/plugin-implementation/plugin-typings/actions-module.js.map +0 -7
  128. package/dist/code-generation/plugin-implementation/plugin-typings/configuration-module.js +0 -61
  129. package/dist/code-generation/plugin-implementation/plugin-typings/configuration-module.js.map +0 -7
  130. package/dist/code-generation/plugin-implementation/plugin-typings/events-module.js +0 -63
  131. package/dist/code-generation/plugin-implementation/plugin-typings/events-module.js.map +0 -7
  132. package/dist/code-generation/plugin-implementation/plugin-typings/index.js +0 -150
  133. package/dist/code-generation/plugin-implementation/plugin-typings/index.js.map +0 -7
  134. package/dist/code-generation/plugin-implementation/plugin-typings/states-module.js +0 -64
  135. package/dist/code-generation/plugin-implementation/plugin-typings/states-module.js.map +0 -7
  136. package/dist/code-generation/plugin-package/index.js +0 -151
  137. package/dist/code-generation/plugin-package/index.js.map +0 -7
  138. package/dist/code-generation/plugin-package/plugin-package-definition/actions-module.js +0 -88
  139. package/dist/code-generation/plugin-package/plugin-package-definition/actions-module.js.map +0 -7
  140. package/dist/code-generation/plugin-package/plugin-package-definition/configuration-module.js +0 -56
  141. package/dist/code-generation/plugin-package/plugin-package-definition/configuration-module.js.map +0 -7
  142. package/dist/code-generation/plugin-package/plugin-package-definition/events-module.js +0 -66
  143. package/dist/code-generation/plugin-package/plugin-package-definition/events-module.js.map +0 -7
  144. package/dist/code-generation/plugin-package/plugin-package-definition/index.js +0 -107
  145. package/dist/code-generation/plugin-package/plugin-package-definition/index.js.map +0 -7
  146. package/dist/code-generation/plugin-package/plugin-package-definition/states-module.js +0 -66
  147. package/dist/code-generation/plugin-package/plugin-package-definition/states-module.js.map +0 -7
  148. package/dist/code-generation/plugin-package/plugin-package-definition/typings.js +0 -17
  149. package/dist/code-generation/plugin-package/plugin-package-definition/typings.js.map +0 -7
  150. package/dist/code-generation/strings.js +0 -115
  151. package/dist/code-generation/strings.js.map +0 -7
  152. package/dist/code-generation/typings.js +0 -17
  153. package/dist/code-generation/typings.js.map +0 -7
  154. package/dist/command-definitions.js +0 -84
  155. package/dist/command-definitions.js.map +0 -7
  156. package/dist/command-implementations/add-command.js +0 -249
  157. package/dist/command-implementations/add-command.js.map +0 -7
  158. package/dist/command-implementations/base-command.js +0 -69
  159. package/dist/command-implementations/base-command.js.map +0 -7
  160. package/dist/command-implementations/bot-commands.js +0 -117
  161. package/dist/command-implementations/bot-commands.js.map +0 -7
  162. package/dist/command-implementations/build-command.js +0 -53
  163. package/dist/command-implementations/build-command.js.map +0 -7
  164. package/dist/command-implementations/bundle-command.js +0 -87
  165. package/dist/command-implementations/bundle-command.js.map +0 -7
  166. package/dist/command-implementations/deploy-command.js +0 -481
  167. package/dist/command-implementations/deploy-command.js.map +0 -7
  168. package/dist/command-implementations/dev-command.js +0 -345
  169. package/dist/command-implementations/dev-command.js.map +0 -7
  170. package/dist/command-implementations/gen-command.js +0 -110
  171. package/dist/command-implementations/gen-command.js.map +0 -7
  172. package/dist/command-implementations/global-command.js +0 -137
  173. package/dist/command-implementations/global-command.js.map +0 -7
  174. package/dist/command-implementations/index.js +0 -103
  175. package/dist/command-implementations/index.js.map +0 -7
  176. package/dist/command-implementations/init-command.js +0 -162
  177. package/dist/command-implementations/init-command.js.map +0 -7
  178. package/dist/command-implementations/integration-commands.js +0 -130
  179. package/dist/command-implementations/integration-commands.js.map +0 -7
  180. package/dist/command-implementations/interface-commands.js +0 -110
  181. package/dist/command-implementations/interface-commands.js.map +0 -7
  182. package/dist/command-implementations/lint-command.js +0 -151
  183. package/dist/command-implementations/lint-command.js.map +0 -7
  184. package/dist/command-implementations/login-command.js +0 -82
  185. package/dist/command-implementations/login-command.js.map +0 -7
  186. package/dist/command-implementations/logout-command.js +0 -35
  187. package/dist/command-implementations/logout-command.js.map +0 -7
  188. package/dist/command-implementations/plugin-commands.js +0 -111
  189. package/dist/command-implementations/plugin-commands.js.map +0 -7
  190. package/dist/command-implementations/project-command.js +0 -383
  191. package/dist/command-implementations/project-command.js.map +0 -7
  192. package/dist/command-implementations/read-command.js +0 -70
  193. package/dist/command-implementations/read-command.js.map +0 -7
  194. package/dist/command-implementations/serve-command.js +0 -68
  195. package/dist/command-implementations/serve-command.js.map +0 -7
  196. package/dist/command-tree.js +0 -60
  197. package/dist/command-tree.js.map +0 -7
  198. package/dist/config.js +0 -332
  199. package/dist/config.js.map +0 -7
  200. package/dist/consts.js +0 -124
  201. package/dist/consts.js.map +0 -7
  202. package/dist/errors.js +0 -202
  203. package/dist/errors.js.map +0 -7
  204. package/dist/index.js +0 -51
  205. package/dist/index.js.map +0 -7
  206. package/dist/init.js +0 -50
  207. package/dist/init.js.map +0 -7
  208. package/dist/linter/base-linter.js +0 -75
  209. package/dist/linter/base-linter.js.map +0 -7
  210. package/dist/linter/base-linter.test.js +0 -187
  211. package/dist/linter/base-linter.test.js.map +0 -7
  212. package/dist/linter/bot-linter.js +0 -35
  213. package/dist/linter/bot-linter.js.map +0 -7
  214. package/dist/linter/integration-linter.js +0 -35
  215. package/dist/linter/integration-linter.js.map +0 -7
  216. package/dist/linter/interface-linter.js +0 -35
  217. package/dist/linter/interface-linter.js.map +0 -7
  218. package/dist/linter/ruleset-tests/bot.ruleset.test.js +0 -358
  219. package/dist/linter/ruleset-tests/bot.ruleset.test.js.map +0 -7
  220. package/dist/linter/ruleset-tests/common.js +0 -37
  221. package/dist/linter/ruleset-tests/common.js.map +0 -7
  222. package/dist/linter/ruleset-tests/integration.ruleset.test.js +0 -887
  223. package/dist/linter/ruleset-tests/integration.ruleset.test.js.map +0 -7
  224. package/dist/linter/ruleset-tests/interface.ruleset.test.js +0 -383
  225. package/dist/linter/ruleset-tests/interface.ruleset.test.js.map +0 -7
  226. package/dist/linter/rulesets/bot.ruleset.js +0 -191
  227. package/dist/linter/rulesets/bot.ruleset.js.map +0 -7
  228. package/dist/linter/rulesets/integration.ruleset.js +0 -378
  229. package/dist/linter/rulesets/integration.ruleset.js.map +0 -7
  230. package/dist/linter/rulesets/interface.ruleset.js +0 -157
  231. package/dist/linter/rulesets/interface.ruleset.js.map +0 -7
  232. package/dist/linter/spectral-functions.js +0 -36
  233. package/dist/linter/spectral-functions.js.map +0 -7
  234. package/dist/logger/base-logger.js +0 -170
  235. package/dist/logger/base-logger.js.map +0 -7
  236. package/dist/logger/index.js +0 -86
  237. package/dist/logger/index.js.map +0 -7
  238. package/dist/package-ref.js +0 -107
  239. package/dist/package-ref.js.map +0 -7
  240. package/dist/package-ref.test.js +0 -109
  241. package/dist/package-ref.test.js.map +0 -7
  242. package/dist/register-yargs.js +0 -91
  243. package/dist/register-yargs.js.map +0 -7
  244. package/dist/root.js +0 -41
  245. package/dist/root.js.map +0 -7
  246. package/dist/sdk/index.js +0 -22
  247. package/dist/sdk/index.js.map +0 -7
  248. package/dist/sdk/resolve-bot-interfaces.js +0 -43
  249. package/dist/sdk/resolve-bot-interfaces.js.map +0 -7
  250. package/dist/sdk/resolve-integration-interfaces.js +0 -161
  251. package/dist/sdk/resolve-integration-interfaces.js.map +0 -7
  252. package/dist/sdk/validate-bot.js +0 -88
  253. package/dist/sdk/validate-bot.js.map +0 -7
  254. package/dist/sdk/validate-integration.js +0 -72
  255. package/dist/sdk/validate-integration.js.map +0 -7
  256. package/dist/typings.js +0 -17
  257. package/dist/typings.js.map +0 -7
  258. package/dist/utils/cache-utils.js +0 -104
  259. package/dist/utils/cache-utils.js.map +0 -7
  260. package/dist/utils/case-utils.js +0 -84
  261. package/dist/utils/case-utils.js.map +0 -7
  262. package/dist/utils/case-utils.test.js +0 -75
  263. package/dist/utils/case-utils.test.js.map +0 -7
  264. package/dist/utils/esbuild-utils.js +0 -92
  265. package/dist/utils/esbuild-utils.js.map +0 -7
  266. package/dist/utils/event-emitter.js +0 -63
  267. package/dist/utils/event-emitter.js.map +0 -7
  268. package/dist/utils/file-watcher.js +0 -73
  269. package/dist/utils/file-watcher.js.map +0 -7
  270. package/dist/utils/guard-utils.js +0 -32
  271. package/dist/utils/guard-utils.js.map +0 -7
  272. package/dist/utils/id-utils.js +0 -59
  273. package/dist/utils/id-utils.js.map +0 -7
  274. package/dist/utils/index.js +0 -99
  275. package/dist/utils/index.js.map +0 -7
  276. package/dist/utils/object-utils.js +0 -32
  277. package/dist/utils/object-utils.js.map +0 -7
  278. package/dist/utils/path-utils.js +0 -106
  279. package/dist/utils/path-utils.js.map +0 -7
  280. package/dist/utils/path-utils.test.js +0 -72
  281. package/dist/utils/path-utils.test.js.map +0 -7
  282. package/dist/utils/pkgjson-utils.js +0 -57
  283. package/dist/utils/pkgjson-utils.js.map +0 -7
  284. package/dist/utils/promise-utils.js +0 -33
  285. package/dist/utils/promise-utils.js.map +0 -7
  286. package/dist/utils/promise-utils.test.js +0 -14
  287. package/dist/utils/promise-utils.test.js.map +0 -7
  288. package/dist/utils/prompt-utils.js +0 -105
  289. package/dist/utils/prompt-utils.js.map +0 -7
  290. package/dist/utils/record-utils.js +0 -118
  291. package/dist/utils/record-utils.js.map +0 -7
  292. package/dist/utils/record-utils.test.js +0 -38
  293. package/dist/utils/record-utils.test.js.map +0 -7
  294. package/dist/utils/require-utils.js +0 -90
  295. package/dist/utils/require-utils.js.map +0 -7
  296. package/dist/utils/require-utils.test.js +0 -54
  297. package/dist/utils/require-utils.test.js.map +0 -7
  298. package/dist/utils/schema-utils.js +0 -64
  299. package/dist/utils/schema-utils.js.map +0 -7
  300. package/dist/utils/schema-utils.test.js +0 -50
  301. package/dist/utils/schema-utils.test.js.map +0 -7
  302. package/dist/utils/semver-utils.js +0 -45
  303. package/dist/utils/semver-utils.js.map +0 -7
  304. package/dist/utils/string-utils.js +0 -42
  305. package/dist/utils/string-utils.js.map +0 -7
  306. package/dist/utils/template-utils.js +0 -51
  307. package/dist/utils/template-utils.js.map +0 -7
  308. package/dist/utils/tunnel-utils.js +0 -129
  309. package/dist/utils/tunnel-utils.js.map +0 -7
  310. package/dist/utils/type-utils.js +0 -17
  311. package/dist/utils/type-utils.js.map +0 -7
  312. package/dist/utils/url-utils.js +0 -67
  313. package/dist/utils/url-utils.js.map +0 -7
  314. package/dist/worker/child-entrypoint.js +0 -58
  315. package/dist/worker/child-entrypoint.js.map +0 -7
  316. package/dist/worker/child-wrapper.js +0 -119
  317. package/dist/worker/child-wrapper.js.map +0 -7
  318. package/dist/worker/config.js +0 -44
  319. package/dist/worker/config.js.map +0 -7
  320. package/dist/worker/index.js +0 -32
  321. package/dist/worker/index.js.map +0 -7
  322. package/dist/worker/is-child.js +0 -55
  323. package/dist/worker/is-child.js.map +0 -7
  324. package/dist/worker/worker-state.js +0 -71
  325. package/dist/worker/worker-state.js.map +0 -7
  326. package/dist/worker/worker.js +0 -91
  327. package/dist/worker/worker.js.map +0 -7
  328. package/templates/empty-bot/.botpress/implementation/index.ts +0 -50
  329. package/templates/empty-bot/.botpress/implementation/plugins/index.ts +0 -11
  330. package/templates/empty-bot/.botpress/implementation/typings/actions/index.ts +0 -6
  331. package/templates/empty-bot/.botpress/implementation/typings/events/index.ts +0 -6
  332. package/templates/empty-bot/.botpress/implementation/typings/index.ts +0 -20
  333. package/templates/empty-bot/.botpress/implementation/typings/integrations/index.ts +0 -6
  334. package/templates/empty-bot/.botpress/implementation/typings/states/index.ts +0 -6
  335. package/templates/empty-bot/.botpress/index.ts +0 -5
  336. package/templates/empty-integration/.botpress/implementation/index.ts +0 -57
  337. package/templates/empty-integration/.botpress/implementation/typings/actions/index.ts +0 -6
  338. package/templates/empty-integration/.botpress/implementation/typings/channels/index.ts +0 -6
  339. package/templates/empty-integration/.botpress/implementation/typings/configuration/index.ts +0 -2
  340. package/templates/empty-integration/.botpress/implementation/typings/configurations/index.ts +0 -6
  341. package/templates/empty-integration/.botpress/implementation/typings/entities/index.ts +0 -6
  342. package/templates/empty-integration/.botpress/implementation/typings/events/index.ts +0 -6
  343. package/templates/empty-integration/.botpress/implementation/typings/index.ts +0 -31
  344. package/templates/empty-integration/.botpress/implementation/typings/states/index.ts +0 -6
  345. package/templates/empty-integration/.botpress/index.ts +0 -2
  346. package/templates/empty-integration/.botpress/secrets/index.ts +0 -6
  347. package/templates/empty-plugin/.botpress/implementation/index.ts +0 -35
  348. package/templates/empty-plugin/.botpress/implementation/typings/actions/index.ts +0 -6
  349. package/templates/empty-plugin/.botpress/implementation/typings/configuration/index.ts +0 -2
  350. package/templates/empty-plugin/.botpress/implementation/typings/events/index.ts +0 -6
  351. package/templates/empty-plugin/.botpress/implementation/typings/index.ts +0 -26
  352. package/templates/empty-plugin/.botpress/implementation/typings/integrations/index.ts +0 -6
  353. package/templates/empty-plugin/.botpress/implementation/typings/interfaces/index.ts +0 -6
  354. package/templates/empty-plugin/.botpress/implementation/typings/states/index.ts +0 -6
  355. package/templates/empty-plugin/.botpress/index.ts +0 -1
  356. package/templates/hello-world/.botpress/implementation/index.ts +0 -57
  357. package/templates/hello-world/.botpress/implementation/typings/actions/helloWorld/index.ts +0 -12
  358. package/templates/hello-world/.botpress/implementation/typings/actions/helloWorld/input.ts +0 -5
  359. package/templates/hello-world/.botpress/implementation/typings/actions/helloWorld/output.ts +0 -5
  360. package/templates/hello-world/.botpress/implementation/typings/actions/index.ts +0 -9
  361. package/templates/hello-world/.botpress/implementation/typings/channels/index.ts +0 -6
  362. package/templates/hello-world/.botpress/implementation/typings/configuration/index.ts +0 -2
  363. package/templates/hello-world/.botpress/implementation/typings/configurations/index.ts +0 -6
  364. package/templates/hello-world/.botpress/implementation/typings/entities/index.ts +0 -6
  365. package/templates/hello-world/.botpress/implementation/typings/events/index.ts +0 -6
  366. package/templates/hello-world/.botpress/implementation/typings/index.ts +0 -31
  367. package/templates/hello-world/.botpress/implementation/typings/states/index.ts +0 -6
  368. package/templates/hello-world/.botpress/index.ts +0 -2
  369. package/templates/hello-world/.botpress/secrets/index.ts +0 -6
  370. package/templates/webhook-message/.botpress/implementation/index.ts +0 -57
  371. package/templates/webhook-message/.botpress/implementation/typings/actions/index.ts +0 -6
  372. package/templates/webhook-message/.botpress/implementation/typings/channels/index.ts +0 -9
  373. package/templates/webhook-message/.botpress/implementation/typings/channels/webhook/index.ts +0 -12
  374. package/templates/webhook-message/.botpress/implementation/typings/channels/webhook/messages/index.ts +0 -9
  375. package/templates/webhook-message/.botpress/implementation/typings/channels/webhook/messages/text.ts +0 -5
  376. package/templates/webhook-message/.botpress/implementation/typings/configuration/index.ts +0 -8
  377. package/templates/webhook-message/.botpress/implementation/typings/configurations/index.ts +0 -6
  378. package/templates/webhook-message/.botpress/implementation/typings/entities/index.ts +0 -6
  379. package/templates/webhook-message/.botpress/implementation/typings/events/index.ts +0 -6
  380. package/templates/webhook-message/.botpress/implementation/typings/index.ts +0 -31
  381. package/templates/webhook-message/.botpress/implementation/typings/states/index.ts +0 -6
  382. package/templates/webhook-message/.botpress/index.ts +0 -2
  383. package/templates/webhook-message/.botpress/secrets/index.ts +0 -6
package/dist/errors.js DELETED
@@ -1,202 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var errors_exports = {};
30
- __export(errors_exports, {
31
- BotpressCLIError: () => BotpressCLIError,
32
- ExclusiveBotFeatureError: () => ExclusiveBotFeatureError,
33
- ExclusiveIntegrationFeatureError: () => ExclusiveIntegrationFeatureError,
34
- HTTPError: () => HTTPError,
35
- InvalidPackageReferenceError: () => InvalidPackageReferenceError,
36
- NoBotsFoundError: () => NoBotsFoundError,
37
- NoBundleFoundError: () => NoBundleFoundError,
38
- NoWorkspacesFoundError: () => NoWorkspacesFoundError,
39
- NotLoggedInError: () => NotLoggedInError,
40
- ParamRequiredError: () => ParamRequiredError,
41
- ProjectDefinitionNotFoundError: () => ProjectDefinitionNotFoundError,
42
- UnsupportedProjectType: () => UnsupportedProjectType
43
- });
44
- module.exports = __toCommonJS(errors_exports);
45
- var import_client = require("@botpress/client");
46
- var import_axios = __toESM(require("axios"));
47
- var import_verror = require("verror");
48
- var consts = __toESM(require("./consts"));
49
- const isKnownApiError = (e) => (0, import_client.isApiError)(e) && !(e instanceof import_client.UnknownError);
50
- class BotpressCLIError extends import_verror.VError {
51
- static wrap(thrown, message) {
52
- const err = BotpressCLIError.map(thrown);
53
- return new BotpressCLIError(err, message ?? "");
54
- }
55
- static map(thrown) {
56
- if (thrown instanceof BotpressCLIError) {
57
- return thrown;
58
- }
59
- if (thrown instanceof import_client.UnknownError) {
60
- const inst = new HTTPError(500, "An unknown error has occurred.");
61
- inst.debug = thrown.message;
62
- return inst;
63
- }
64
- if (isKnownApiError(thrown)) {
65
- return HTTPError.fromApi(thrown);
66
- }
67
- if (import_axios.default.isAxiosError(thrown)) {
68
- return HTTPError.fromAxios(thrown);
69
- }
70
- if (thrown instanceof Error) {
71
- const { message } = thrown;
72
- return new BotpressCLIError(message);
73
- }
74
- return new BotpressCLIError(`${thrown}`);
75
- }
76
- _debug;
77
- constructor(first, second) {
78
- if (typeof first === "string") {
79
- super(first);
80
- this._debug = [];
81
- return;
82
- }
83
- super(first, second);
84
- this._debug = [...first._debug];
85
- }
86
- set debug(msg) {
87
- this._debug.push(msg);
88
- }
89
- get debug() {
90
- const dbgMsgs = this._debug.filter((s) => s.length);
91
- if (!dbgMsgs.length) {
92
- return "";
93
- }
94
- return "Error: \n" + dbgMsgs.map((s) => ` ${s}`).join("\n");
95
- }
96
- }
97
- class ExclusiveBotFeatureError extends BotpressCLIError {
98
- constructor() {
99
- const message = "This feature is only available for bots. This project is an integration or interface.";
100
- super(message);
101
- }
102
- }
103
- class ExclusiveIntegrationFeatureError extends BotpressCLIError {
104
- constructor() {
105
- const message = "This feature is only available for integration. This project is a bot or interface.";
106
- super(message);
107
- }
108
- }
109
- class HTTPError extends BotpressCLIError {
110
- constructor(status, message) {
111
- super(message);
112
- this.status = status;
113
- }
114
- static fromAxios(e) {
115
- const message = this._axiosMsg(e);
116
- return new HTTPError(e.response?.status, message);
117
- }
118
- static fromApi(e) {
119
- const { message, code } = e;
120
- return new HTTPError(code, message);
121
- }
122
- static _axiosMsg(e) {
123
- let message = e.message;
124
- if (e.response?.statusText) {
125
- message += `
126
- ${e.response?.statusText}`;
127
- }
128
- if (e.response?.status && e.request?.method && e.request?.path) {
129
- message += `
130
- (${e.response?.status}) ${e.request.method} ${e.request.path}`;
131
- }
132
- if (e.response?.data?.message) {
133
- message += `
134
- ${e.response?.data?.message}`;
135
- }
136
- return message;
137
- }
138
- }
139
- class NoBundleFoundError extends BotpressCLIError {
140
- constructor() {
141
- const message = "No bundle found. Please run `bp bundle` first.";
142
- super(message);
143
- }
144
- }
145
- class NoBotsFoundError extends BotpressCLIError {
146
- constructor() {
147
- const message = `No Bot found in your Workspace. Please create one first at ${consts.defaultBotpressAppUrl}.`;
148
- super(message);
149
- }
150
- }
151
- class NoWorkspacesFoundError extends BotpressCLIError {
152
- constructor() {
153
- const message = "No Workspace found. Please create one first.";
154
- super(message);
155
- }
156
- }
157
- class NotLoggedInError extends BotpressCLIError {
158
- constructor() {
159
- const message = "Not logged in. Please run `bp login` first.";
160
- super(message);
161
- }
162
- }
163
- class ParamRequiredError extends BotpressCLIError {
164
- constructor(param) {
165
- const message = `${param} is required.`;
166
- super(message);
167
- }
168
- }
169
- class InvalidPackageReferenceError extends BotpressCLIError {
170
- constructor(ref) {
171
- const message = `Invalid package reference "${ref}".`;
172
- super(message);
173
- }
174
- }
175
- class UnsupportedProjectType extends BotpressCLIError {
176
- constructor() {
177
- const message = "Unsupported project type.";
178
- super(message);
179
- }
180
- }
181
- class ProjectDefinitionNotFoundError extends BotpressCLIError {
182
- constructor(workdir) {
183
- const message = `No project definition found at "${workdir}".`;
184
- super(message);
185
- }
186
- }
187
- // Annotate the CommonJS export names for ESM import in node:
188
- 0 && (module.exports = {
189
- BotpressCLIError,
190
- ExclusiveBotFeatureError,
191
- ExclusiveIntegrationFeatureError,
192
- HTTPError,
193
- InvalidPackageReferenceError,
194
- NoBotsFoundError,
195
- NoBundleFoundError,
196
- NoWorkspacesFoundError,
197
- NotLoggedInError,
198
- ParamRequiredError,
199
- ProjectDefinitionNotFoundError,
200
- UnsupportedProjectType
201
- });
202
- //# sourceMappingURL=errors.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/errors.ts"],
4
- "sourcesContent": ["import { isApiError, ApiError, UnknownError } from '@botpress/client'\nimport axios, { AxiosError } from 'axios'\nimport { VError } from 'verror'\nimport * as consts from './consts'\n\ntype KnownApiError = Exclude<ApiError, UnknownError>\nconst isKnownApiError = (e: unknown): e is KnownApiError => isApiError(e) && !(e instanceof UnknownError)\n\nexport class BotpressCLIError extends VError {\n public static wrap(thrown: unknown, message: string): BotpressCLIError {\n const err = BotpressCLIError.map(thrown)\n return new BotpressCLIError(err, message ?? '')\n }\n\n public static map(thrown: unknown): BotpressCLIError {\n if (thrown instanceof BotpressCLIError) {\n return thrown\n }\n if (thrown instanceof UnknownError) {\n const inst = new HTTPError(500, 'An unknown error has occurred.')\n inst.debug = thrown.message\n return inst\n }\n if (isKnownApiError(thrown)) {\n return HTTPError.fromApi(thrown)\n }\n if (axios.isAxiosError(thrown)) {\n return HTTPError.fromAxios(thrown)\n }\n if (thrown instanceof Error) {\n const { message } = thrown\n return new BotpressCLIError(message)\n }\n return new BotpressCLIError(`${thrown}`)\n }\n\n private readonly _debug: string[]\n\n public constructor(error: BotpressCLIError, message: string)\n public constructor(message: string)\n public constructor(first: BotpressCLIError | string, second?: string) {\n if (typeof first === 'string') {\n super(first)\n this._debug = []\n return\n }\n super(first, second!)\n this._debug = [...first._debug]\n }\n\n public set debug(msg: string) {\n this._debug.push(msg)\n }\n\n public get debug(): string {\n const dbgMsgs = this._debug.filter((s) => s.length)\n if (!dbgMsgs.length) {\n return ''\n }\n return 'Error: \\n' + dbgMsgs.map((s) => ` ${s}`).join('\\n')\n }\n}\n\nexport class ExclusiveBotFeatureError extends BotpressCLIError {\n public constructor() {\n const message = 'This feature is only available for bots. This project is an integration or interface.'\n super(message)\n }\n}\n\nexport class ExclusiveIntegrationFeatureError extends BotpressCLIError {\n public constructor() {\n const message = 'This feature is only available for integration. This project is a bot or interface.'\n super(message)\n }\n}\n\nexport class HTTPError extends BotpressCLIError {\n public constructor(public readonly status: number | undefined, message: string) {\n super(message)\n }\n\n public static fromAxios(e: AxiosError<{ message?: string }>): HTTPError {\n const message = this._axiosMsg(e)\n return new HTTPError(e.response?.status, message)\n }\n\n public static fromApi(e: KnownApiError): HTTPError {\n const { message, code } = e\n return new HTTPError(code, message)\n }\n\n private static _axiosMsg(e: AxiosError<{ message?: string }>): string {\n let message = e.message\n if (e.response?.statusText) {\n message += `\\n ${e.response?.statusText}`\n }\n if (e.response?.status && e.request?.method && e.request?.path) {\n message += `\\n (${e.response?.status}) ${e.request.method} ${e.request.path}`\n }\n if (e.response?.data?.message) {\n message += `\\n ${e.response?.data?.message}`\n }\n return message\n }\n}\n\nexport class NoBundleFoundError extends BotpressCLIError {\n public constructor() {\n const message = 'No bundle found. Please run `bp bundle` first.'\n super(message)\n }\n}\n\nexport class NoBotsFoundError extends BotpressCLIError {\n public constructor() {\n const message = `No Bot found in your Workspace. Please create one first at ${consts.defaultBotpressAppUrl}.`\n super(message)\n }\n}\n\nexport class NoWorkspacesFoundError extends BotpressCLIError {\n public constructor() {\n const message = 'No Workspace found. Please create one first.'\n super(message)\n }\n}\n\nexport class NotLoggedInError extends BotpressCLIError {\n public constructor() {\n const message = 'Not logged in. Please run `bp login` first.'\n super(message)\n }\n}\n\nexport class ParamRequiredError extends BotpressCLIError {\n public constructor(param: string) {\n const message = `${param} is required.`\n super(message)\n }\n}\n\nexport class InvalidPackageReferenceError extends BotpressCLIError {\n public constructor(ref: string) {\n const message = `Invalid package reference \"${ref}\".`\n super(message)\n }\n}\n\nexport class UnsupportedProjectType extends BotpressCLIError {\n public constructor() {\n const message = 'Unsupported project type.'\n super(message)\n }\n}\n\nexport class ProjectDefinitionNotFoundError extends BotpressCLIError {\n public constructor(workdir: string) {\n const message = `No project definition found at \"${workdir}\".`\n super(message)\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["axios"]
7
- }
package/dist/index.js DELETED
@@ -1,51 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __copyProps = (to, from, except, desc) => {
9
- if (from && typeof from === "object" || typeof from === "function") {
10
- for (let key of __getOwnPropNames(from))
11
- if (!__hasOwnProp.call(to, key) && key !== except)
12
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
- }
14
- return to;
15
- };
16
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
17
- // If the importer is in node compatibility mode or this is not an ESM
18
- // file that has been converted to a CommonJS file using a Babel-
19
- // compatible transform (i.e. "__esModule" has not been set), then set
20
- // "default" to the CommonJS "module.exports" for node compatibility.
21
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
- mod
23
- ));
24
- var import_config = require("dotenv/config");
25
- var import_yargs_extra = __toESM(require("@bpinternal/yargs-extra"));
26
- var import_command_definitions = __toESM(require("./command-definitions"));
27
- var import_command_implementations = __toESM(require("./command-implementations"));
28
- var tree = __toESM(require("./command-tree"));
29
- var errors = __toESM(require("./errors"));
30
- var import_logger = require("./logger");
31
- var import_register_yargs = require("./register-yargs");
32
- const logError = (thrown) => {
33
- const error = errors.BotpressCLIError.map(thrown);
34
- new import_logger.Logger().error(error.message);
35
- };
36
- const onError = (thrown) => {
37
- logError(thrown);
38
- process.exit(1);
39
- };
40
- const yargsFail = (msg) => {
41
- logError(`${msg}
42
- `);
43
- import_yargs_extra.default.showHelp();
44
- process.exit(1);
45
- };
46
- process.on("uncaughtException", (thrown) => onError(thrown));
47
- process.on("unhandledRejection", (thrown) => onError(thrown));
48
- const commands = tree.zipTree(import_command_definitions.default, import_command_implementations.default);
49
- (0, import_register_yargs.registerYargs)(import_yargs_extra.default, commands);
50
- void import_yargs_extra.default.version().scriptName("bp").demandCommand(1, "You didn't provide any command. Use the --help flag to see the list of available commands.").recommendCommands().strict().help().fail(yargsFail).parse();
51
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/index.ts"],
4
- "sourcesContent": ["import 'dotenv/config'\nimport yargs from '@bpinternal/yargs-extra'\nimport commandDefinitions from './command-definitions'\nimport commandImplementations from './command-implementations'\nimport * as tree from './command-tree'\nimport * as errors from './errors'\nimport { Logger } from './logger'\nimport { registerYargs } from './register-yargs'\n\nconst logError = (thrown: unknown) => {\n const error = errors.BotpressCLIError.map(thrown)\n new Logger().error(error.message)\n}\n\nconst onError = (thrown: unknown) => {\n logError(thrown)\n process.exit(1)\n}\n\nconst yargsFail = (msg: string) => {\n logError(`${msg}\\n`)\n yargs.showHelp()\n process.exit(1)\n}\n\nprocess.on('uncaughtException', (thrown: unknown) => onError(thrown))\nprocess.on('unhandledRejection', (thrown: unknown) => onError(thrown))\n\nconst commands = tree.zipTree(commandDefinitions, commandImplementations)\n\nregisterYargs(yargs, commands)\n\nvoid yargs\n .version()\n .scriptName('bp')\n .demandCommand(1, \"You didn't provide any command. Use the --help flag to see the list of available commands.\")\n .recommendCommands()\n .strict()\n .help()\n .fail(yargsFail)\n .parse()\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA,oBAAO;AACP,yBAAkB;AAClB,iCAA+B;AAC/B,qCAAmC;AACnC,WAAsB;AACtB,aAAwB;AACxB,oBAAuB;AACvB,4BAA8B;AAE9B,MAAM,WAAW,CAAC,WAAoB;AACpC,QAAM,QAAQ,OAAO,iBAAiB,IAAI,MAAM;AAChD,MAAI,qBAAO,EAAE,MAAM,MAAM,OAAO;AAClC;AAEA,MAAM,UAAU,CAAC,WAAoB;AACnC,WAAS,MAAM;AACf,UAAQ,KAAK,CAAC;AAChB;AAEA,MAAM,YAAY,CAAC,QAAgB;AACjC,WAAS,GAAG;AAAA,CAAO;AACnB,qBAAAA,QAAM,SAAS;AACf,UAAQ,KAAK,CAAC;AAChB;AAEA,QAAQ,GAAG,qBAAqB,CAAC,WAAoB,QAAQ,MAAM,CAAC;AACpE,QAAQ,GAAG,sBAAsB,CAAC,WAAoB,QAAQ,MAAM,CAAC;AAErE,MAAM,WAAW,KAAK,QAAQ,2BAAAC,SAAoB,+BAAAC,OAAsB;AAAA,IAExE,qCAAc,mBAAAF,SAAO,QAAQ;AAE7B,KAAK,mBAAAA,QACF,QAAQ,EACR,WAAW,IAAI,EACf,cAAc,GAAG,4FAA4F,EAC7G,kBAAkB,EAClB,OAAO,EACP,KAAK,EACL,KAAK,SAAS,EACd,MAAM;",
6
- "names": ["yargs", "commandDefinitions", "commandImplementations"]
7
- }
package/dist/init.js DELETED
@@ -1,50 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __copyProps = (to, from, except, desc) => {
9
- if (from && typeof from === "object" || typeof from === "function") {
10
- for (let key of __getOwnPropNames(from))
11
- if (!__hasOwnProp.call(to, key) && key !== except)
12
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
- }
14
- return to;
15
- };
16
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
17
- // If the importer is in node compatibility mode or this is not an ESM
18
- // file that has been converted to a CommonJS file using a Babel-
19
- // compatible transform (i.e. "__esModule" has not been set), then set
20
- // "default" to the CommonJS "module.exports" for node compatibility.
21
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
- mod
23
- ));
24
- var import_module = __toESM(require("module"));
25
- var import_path = __toESM(require("path"));
26
- const DEFAULT_DIRNAME = ".botpress";
27
- const getOutDir = () => {
28
- const { BP_OUTDIR } = process.env;
29
- if (!BP_OUTDIR) {
30
- return import_path.default.join(process.cwd(), DEFAULT_DIRNAME);
31
- }
32
- if (import_path.default.isAbsolute(BP_OUTDIR)) {
33
- return BP_OUTDIR;
34
- }
35
- return import_path.default.join(process.cwd(), BP_OUTDIR);
36
- };
37
- const outDirPath = getOutDir();
38
- const outDirName = import_path.default.basename(outDirPath);
39
- const originalRequire = import_module.default.prototype.require;
40
- const rewire = function(mod) {
41
- const importParts = mod.split("/");
42
- if (importParts[0] === outDirName) {
43
- const newMod = importParts.slice(1).join("/");
44
- const fullpath = import_path.default.join(outDirPath, newMod);
45
- return originalRequire.apply(this, [fullpath]);
46
- }
47
- return originalRequire.apply(this, [mod]);
48
- };
49
- import_module.default.prototype.require = rewire;
50
- //# sourceMappingURL=init.js.map
package/dist/init.js.map DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/init.ts"],
4
- "sourcesContent": ["/**\n * Important:\n *\n * This file must be kept at the root of the src directory (and dist directory when built)\n */\nimport Module from 'module'\nimport pathlib from 'path'\n\nconst DEFAULT_DIRNAME = '.botpress'\n\nconst getOutDir = () => {\n const { BP_OUTDIR } = process.env\n if (!BP_OUTDIR) {\n return pathlib.join(process.cwd(), DEFAULT_DIRNAME)\n }\n if (pathlib.isAbsolute(BP_OUTDIR)) {\n return BP_OUTDIR\n }\n return pathlib.join(process.cwd(), BP_OUTDIR)\n}\n\nconst outDirPath = getOutDir()\nconst outDirName = pathlib.basename(outDirPath)\nconst originalRequire = Module.prototype.require\n\nconst rewire = function (this: NodeRequire, mod: string) {\n const importParts = mod.split('/')\n\n if (importParts[0] === outDirName) {\n const newMod = importParts.slice(1).join('/')\n const fullpath = pathlib.join(outDirPath, newMod)\n return originalRequire.apply(this, [fullpath])\n }\n\n return originalRequire.apply(this, [mod])\n} as NodeRequire\n\nModule.prototype.require = rewire\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAKA,oBAAmB;AACnB,kBAAoB;AAEpB,MAAM,kBAAkB;AAExB,MAAM,YAAY,MAAM;AACtB,QAAM,EAAE,UAAU,IAAI,QAAQ;AAC9B,MAAI,CAAC,WAAW;AACd,WAAO,YAAAA,QAAQ,KAAK,QAAQ,IAAI,GAAG,eAAe;AAAA,EACpD;AACA,MAAI,YAAAA,QAAQ,WAAW,SAAS,GAAG;AACjC,WAAO;AAAA,EACT;AACA,SAAO,YAAAA,QAAQ,KAAK,QAAQ,IAAI,GAAG,SAAS;AAC9C;AAEA,MAAM,aAAa,UAAU;AAC7B,MAAM,aAAa,YAAAA,QAAQ,SAAS,UAAU;AAC9C,MAAM,kBAAkB,cAAAC,QAAO,UAAU;AAEzC,MAAM,SAAS,SAA6B,KAAa;AACvD,QAAM,cAAc,IAAI,MAAM,GAAG;AAEjC,MAAI,YAAY,CAAC,MAAM,YAAY;AACjC,UAAM,SAAS,YAAY,MAAM,CAAC,EAAE,KAAK,GAAG;AAC5C,UAAM,WAAW,YAAAD,QAAQ,KAAK,YAAY,MAAM;AAChD,WAAO,gBAAgB,MAAM,MAAM,CAAC,QAAQ,CAAC;AAAA,EAC/C;AAEA,SAAO,gBAAgB,MAAM,MAAM,CAAC,GAAG,CAAC;AAC1C;AAEA,cAAAC,QAAO,UAAU,UAAU;",
6
- "names": ["pathlib", "Module"]
7
- }
@@ -1,75 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var base_linter_exports = {};
20
- __export(base_linter_exports, {
21
- BaseLinter: () => BaseLinter
22
- });
23
- module.exports = __toCommonJS(base_linter_exports);
24
- var import_spectral_core = require("@stoplight/spectral-core");
25
- var import_spectral_parsers = require("@stoplight/spectral-parsers");
26
- class BaseLinter {
27
- _spectral;
28
- _spectralDocument;
29
- _results = [];
30
- constructor(definition, ruleset) {
31
- const json = JSON.stringify(definition);
32
- this._spectralDocument = new import_spectral_core.Document(json, import_spectral_parsers.Json);
33
- this._spectral = new import_spectral_core.Spectral();
34
- this._spectral.setRuleset(ruleset);
35
- }
36
- async lint() {
37
- this._results = await this._spectral.run(this._spectralDocument);
38
- }
39
- logResults(logger) {
40
- for (const result of this.getSortedResults()) {
41
- const message = `${result.path}: ${result.message}`;
42
- this._logResultMessage(logger, message, result.severity);
43
- }
44
- }
45
- getSortedResults() {
46
- return this._getResults().sort((a, b) => a.path > b.path ? 1 : a.path < b.path ? -1 : 0);
47
- }
48
- hasErrors() {
49
- return this._results.some((result) => result.severity === 0);
50
- }
51
- _getResults() {
52
- return this._results.map((result) => ({
53
- message: result.message,
54
- path: this._simplifyPath(result.path),
55
- severity: result.severity
56
- }));
57
- }
58
- _simplifyPath(path) {
59
- return path.join(".").replaceAll(".properties.", ".").replaceAll(".x-zui", "");
60
- }
61
- _logResultMessage(logger, message, severity) {
62
- const logLevelMapping = {
63
- 0: logger.error,
64
- 1: logger.warn,
65
- 2: logger.log,
66
- 3: logger.debug
67
- };
68
- logLevelMapping[severity].call(logger, message);
69
- }
70
- }
71
- // Annotate the CommonJS export names for ESM import in node:
72
- 0 && (module.exports = {
73
- BaseLinter
74
- });
75
- //# sourceMappingURL=base-linter.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/linter/base-linter.ts"],
4
- "sourcesContent": ["import { Spectral, Document, type ISpectralDiagnostic, type RulesetDefinition } from '@stoplight/spectral-core'\nimport { Json as JsonParser, type JsonParserResult } from '@stoplight/spectral-parsers'\nimport { type Logger } from '../logger'\n\ntype ProblemSeverity = 0 | 1 | 2 | 3\n\nexport abstract class BaseLinter<TDefinition> {\n private readonly _spectral: Spectral\n private readonly _spectralDocument: Document<unknown, JsonParserResult<unknown>>\n private _results: ISpectralDiagnostic[] = []\n\n protected constructor(definition: TDefinition, ruleset: RulesetDefinition) {\n const json = JSON.stringify(definition)\n this._spectralDocument = new Document(json, JsonParser)\n this._spectral = new Spectral()\n this._spectral.setRuleset(ruleset)\n }\n\n public async lint(): Promise<void> {\n this._results = await this._spectral.run(this._spectralDocument)\n }\n\n public logResults(logger: Logger) {\n for (const result of this.getSortedResults()) {\n const message = `${result.path}: ${result.message}`\n\n this._logResultMessage(logger, message, result.severity)\n }\n }\n\n public getSortedResults() {\n return this._getResults().sort((a, b) => (a.path > b.path ? 1 : a.path < b.path ? -1 : 0))\n }\n\n public hasErrors() {\n return this._results.some((result) => result.severity === 0)\n }\n\n private _getResults() {\n return this._results.map((result) => ({\n message: result.message,\n path: this._simplifyPath(result.path),\n severity: result.severity as ProblemSeverity,\n }))\n }\n\n private _simplifyPath(path: (string | number)[]) {\n return path.join('.').replaceAll('.properties.', '.').replaceAll('.x-zui', '')\n }\n\n private _logResultMessage(logger: Logger, message: string, severity: ProblemSeverity) {\n const logLevelMapping = {\n 0: logger.error,\n 1: logger.warn,\n 2: logger.log,\n 3: logger.debug,\n } as const\n\n logLevelMapping[severity].call(logger, message)\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAAqF;AACrF,8BAA0D;AAKnD,MAAe,WAAwB;AAAA,EAC3B;AAAA,EACA;AAAA,EACT,WAAkC,CAAC;AAAA,EAEjC,YAAY,YAAyB,SAA4B;AACzE,UAAM,OAAO,KAAK,UAAU,UAAU;AACtC,SAAK,oBAAoB,IAAI,8BAAS,MAAM,wBAAAA,IAAU;AACtD,SAAK,YAAY,IAAI,8BAAS;AAC9B,SAAK,UAAU,WAAW,OAAO;AAAA,EACnC;AAAA,EAEA,MAAa,OAAsB;AACjC,SAAK,WAAW,MAAM,KAAK,UAAU,IAAI,KAAK,iBAAiB;AAAA,EACjE;AAAA,EAEO,WAAW,QAAgB;AAChC,eAAW,UAAU,KAAK,iBAAiB,GAAG;AAC5C,YAAM,UAAU,GAAG,OAAO,SAAS,OAAO;AAE1C,WAAK,kBAAkB,QAAQ,SAAS,OAAO,QAAQ;AAAA,IACzD;AAAA,EACF;AAAA,EAEO,mBAAmB;AACxB,WAAO,KAAK,YAAY,EAAE,KAAK,CAAC,GAAG,MAAO,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,OAAO,EAAE,OAAO,KAAK,CAAE;AAAA,EAC3F;AAAA,EAEO,YAAY;AACjB,WAAO,KAAK,SAAS,KAAK,CAAC,WAAW,OAAO,aAAa,CAAC;AAAA,EAC7D;AAAA,EAEQ,cAAc;AACpB,WAAO,KAAK,SAAS,IAAI,CAAC,YAAY;AAAA,MACpC,SAAS,OAAO;AAAA,MAChB,MAAM,KAAK,cAAc,OAAO,IAAI;AAAA,MACpC,UAAU,OAAO;AAAA,IACnB,EAAE;AAAA,EACJ;AAAA,EAEQ,cAAc,MAA2B;AAC/C,WAAO,KAAK,KAAK,GAAG,EAAE,WAAW,gBAAgB,GAAG,EAAE,WAAW,UAAU,EAAE;AAAA,EAC/E;AAAA,EAEQ,kBAAkB,QAAgB,SAAiB,UAA2B;AACpF,UAAM,kBAAkB;AAAA,MACtB,GAAG,OAAO;AAAA,MACV,GAAG,OAAO;AAAA,MACV,GAAG,OAAO;AAAA,MACV,GAAG,OAAO;AAAA,IACZ;AAEA,oBAAgB,QAAQ,EAAE,KAAK,QAAQ,OAAO;AAAA,EAChD;AACF;",
6
- "names": ["JsonParser"]
7
- }
@@ -1,187 +0,0 @@
1
- "use strict";
2
- var import_vitest = require("vitest");
3
- var import_integration_body = require("../api/integration-body");
4
- var import_integration_linter = require("./integration-linter");
5
- var import_sdk = require("@botpress/sdk");
6
- const EMPTY_STRING = "";
7
- const TRUTHY_STRING = "truthy";
8
- const ACTION_NAME = "actionName";
9
- const EVENT_NAME = "eventName";
10
- const CONFIG_NAME = "configName";
11
- const PARAM_NAME = "paramName";
12
- const TAG_NAME = "tagName";
13
- const CHANNEL_NAME = "channelName";
14
- const STATE_NAME = "stateName";
15
- const MESSAGE_TYPE = "text";
16
- const SECRET_NAME = "SECRET_NAME";
17
- const VALID_INTEGRATION = {
18
- name: TRUTHY_STRING,
19
- title: TRUTHY_STRING,
20
- description: TRUTHY_STRING,
21
- version: TRUTHY_STRING,
22
- readme: TRUTHY_STRING,
23
- icon: TRUTHY_STRING,
24
- actions: {
25
- [ACTION_NAME]: {
26
- title: TRUTHY_STRING,
27
- description: TRUTHY_STRING,
28
- input: {
29
- schema: import_sdk.z.object({
30
- [PARAM_NAME]: import_sdk.z.string().title(TRUTHY_STRING).describe(TRUTHY_STRING)
31
- }).title(TRUTHY_STRING).describe(TRUTHY_STRING)
32
- },
33
- output: {
34
- schema: import_sdk.z.object({
35
- [PARAM_NAME]: import_sdk.z.string().title(TRUTHY_STRING).describe(TRUTHY_STRING)
36
- }).title(TRUTHY_STRING).describe(TRUTHY_STRING)
37
- }
38
- }
39
- },
40
- events: {
41
- [EVENT_NAME]: {
42
- title: TRUTHY_STRING,
43
- description: TRUTHY_STRING,
44
- schema: import_sdk.z.object({
45
- [PARAM_NAME]: import_sdk.z.string().title(TRUTHY_STRING).describe(TRUTHY_STRING)
46
- }).title(TRUTHY_STRING).describe(TRUTHY_STRING)
47
- }
48
- },
49
- configuration: {
50
- schema: import_sdk.z.object({
51
- [PARAM_NAME]: import_sdk.z.string().title(TRUTHY_STRING).describe(TRUTHY_STRING)
52
- }).title(TRUTHY_STRING).describe(TRUTHY_STRING)
53
- },
54
- configurations: {
55
- [CONFIG_NAME]: {
56
- title: TRUTHY_STRING,
57
- description: TRUTHY_STRING,
58
- schema: import_sdk.z.object({
59
- [PARAM_NAME]: import_sdk.z.string().title(TRUTHY_STRING).describe(TRUTHY_STRING)
60
- }).title(TRUTHY_STRING).describe(TRUTHY_STRING)
61
- }
62
- },
63
- user: {
64
- tags: {
65
- [TAG_NAME]: {
66
- title: TRUTHY_STRING,
67
- description: TRUTHY_STRING
68
- }
69
- }
70
- },
71
- channels: {
72
- [CHANNEL_NAME]: {
73
- title: TRUTHY_STRING,
74
- description: TRUTHY_STRING,
75
- messages: {
76
- [MESSAGE_TYPE]: {
77
- schema: import_sdk.z.object({
78
- [PARAM_NAME]: import_sdk.z.string().title(TRUTHY_STRING).describe(TRUTHY_STRING)
79
- }).title(TRUTHY_STRING).describe(TRUTHY_STRING)
80
- }
81
- },
82
- message: {
83
- tags: {
84
- [TAG_NAME]: {
85
- title: TRUTHY_STRING,
86
- description: TRUTHY_STRING
87
- }
88
- }
89
- },
90
- conversation: {
91
- tags: {
92
- [TAG_NAME]: {
93
- title: TRUTHY_STRING,
94
- description: TRUTHY_STRING
95
- }
96
- }
97
- }
98
- }
99
- },
100
- states: {
101
- [STATE_NAME]: {
102
- type: "integration",
103
- schema: import_sdk.z.object({
104
- [PARAM_NAME]: import_sdk.z.string().title(TRUTHY_STRING).describe(TRUTHY_STRING)
105
- }).title(TRUTHY_STRING).describe(TRUTHY_STRING)
106
- }
107
- },
108
- secrets: {
109
- [SECRET_NAME]: {
110
- description: TRUTHY_STRING
111
- }
112
- }
113
- };
114
- const mockLogger = {
115
- log: import_vitest.vi.fn((message) => void 0),
116
- warn: import_vitest.vi.fn((message) => void 0),
117
- error: import_vitest.vi.fn((message) => void 0),
118
- debug: import_vitest.vi.fn((message) => void 0)
119
- };
120
- const lintDefinition = async (definition) => {
121
- const integrationDefinition = new import_sdk.IntegrationDefinition(definition);
122
- const integrationBody = await (0, import_integration_body.prepareCreateIntegrationBody)(integrationDefinition);
123
- const linter = new import_integration_linter.IntegrationLinter({ ...integrationBody, secrets: integrationDefinition.secrets });
124
- await linter.lint();
125
- return linter;
126
- };
127
- const lintDefinitionAndReturnResults = async (definition) => {
128
- const linter = await lintDefinition(definition);
129
- return linter.getSortedResults();
130
- };
131
- const lintDefinitionAndLogResults = async (definition) => {
132
- const linter = await lintDefinition(definition);
133
- linter.logResults(mockLogger);
134
- };
135
- import_vitest.describe.concurrent("Integration Linter", () => {
136
- (0, import_vitest.test)("should lint a valid definition without giving errors", async () => {
137
- const definition = VALID_INTEGRATION;
138
- const results = await lintDefinitionAndReturnResults(definition);
139
- (0, import_vitest.expect)(results).toEqual([]);
140
- });
141
- (0, import_vitest.test)("should report an error when missing required fields", async () => {
142
- const definition = {
143
- ...VALID_INTEGRATION,
144
- title: EMPTY_STRING
145
- };
146
- const results = await lintDefinitionAndReturnResults(definition);
147
- (0, import_vitest.expect)(results[0]?.message).toContain("title");
148
- });
149
- (0, import_vitest.test)("should report an error when missing a title in an action input schema", async () => {
150
- const definition = {
151
- ...VALID_INTEGRATION,
152
- actions: {
153
- [ACTION_NAME]: {
154
- ...VALID_INTEGRATION.actions[ACTION_NAME],
155
- input: {
156
- schema: import_sdk.z.object({
157
- [PARAM_NAME]: import_sdk.z.string().describe(TRUTHY_STRING)
158
- })
159
- }
160
- }
161
- }
162
- };
163
- const results = await lintDefinitionAndReturnResults(definition);
164
- (0, import_vitest.expect)(results[0]?.message).toContain("title");
165
- });
166
- (0, import_vitest.test)("should log as an error when severity is 0", async () => {
167
- const definition = {
168
- ...VALID_INTEGRATION,
169
- title: EMPTY_STRING
170
- };
171
- await lintDefinitionAndLogResults(definition);
172
- (0, import_vitest.expect)(mockLogger.error).toHaveBeenCalled();
173
- });
174
- (0, import_vitest.test)("should log as a warning when severity is 1", async () => {
175
- const definition = {
176
- ...VALID_INTEGRATION,
177
- user: {
178
- tags: {
179
- [TAG_NAME]: {}
180
- }
181
- }
182
- };
183
- await lintDefinitionAndLogResults(definition);
184
- (0, import_vitest.expect)(mockLogger.warn).toHaveBeenCalled();
185
- });
186
- });
187
- //# sourceMappingURL=base-linter.test.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/linter/base-linter.test.ts"],
4
- "sourcesContent": ["import { test, expect, describe, vi } from 'vitest'\nimport { prepareCreateIntegrationBody } from '../api/integration-body'\nimport { IntegrationLinter } from './integration-linter'\nimport { IntegrationDefinition, type IntegrationDefinitionProps, z } from '@botpress/sdk'\n\nconst EMPTY_STRING = ''\nconst TRUTHY_STRING = 'truthy'\nconst ACTION_NAME = 'actionName'\nconst EVENT_NAME = 'eventName'\nconst CONFIG_NAME = 'configName'\nconst PARAM_NAME = 'paramName'\nconst TAG_NAME = 'tagName'\nconst CHANNEL_NAME = 'channelName'\nconst STATE_NAME = 'stateName'\nconst MESSAGE_TYPE = 'text'\nconst SECRET_NAME = 'SECRET_NAME'\n\nconst VALID_INTEGRATION = {\n name: TRUTHY_STRING,\n title: TRUTHY_STRING,\n description: TRUTHY_STRING,\n version: TRUTHY_STRING,\n readme: TRUTHY_STRING,\n icon: TRUTHY_STRING,\n actions: {\n [ACTION_NAME]: {\n title: TRUTHY_STRING,\n description: TRUTHY_STRING,\n input: {\n schema: z\n .object({\n [PARAM_NAME]: z.string().title(TRUTHY_STRING).describe(TRUTHY_STRING),\n })\n .title(TRUTHY_STRING)\n .describe(TRUTHY_STRING),\n },\n output: {\n schema: z\n .object({\n [PARAM_NAME]: z.string().title(TRUTHY_STRING).describe(TRUTHY_STRING),\n })\n .title(TRUTHY_STRING)\n .describe(TRUTHY_STRING),\n },\n },\n },\n events: {\n [EVENT_NAME]: {\n title: TRUTHY_STRING,\n description: TRUTHY_STRING,\n schema: z\n .object({\n [PARAM_NAME]: z.string().title(TRUTHY_STRING).describe(TRUTHY_STRING),\n })\n .title(TRUTHY_STRING)\n .describe(TRUTHY_STRING),\n },\n },\n configuration: {\n schema: z\n .object({\n [PARAM_NAME]: z.string().title(TRUTHY_STRING).describe(TRUTHY_STRING),\n })\n .title(TRUTHY_STRING)\n .describe(TRUTHY_STRING),\n },\n configurations: {\n [CONFIG_NAME]: {\n title: TRUTHY_STRING,\n description: TRUTHY_STRING,\n schema: z\n .object({\n [PARAM_NAME]: z.string().title(TRUTHY_STRING).describe(TRUTHY_STRING),\n })\n .title(TRUTHY_STRING)\n .describe(TRUTHY_STRING),\n },\n },\n user: {\n tags: {\n [TAG_NAME]: {\n title: TRUTHY_STRING,\n description: TRUTHY_STRING,\n },\n },\n },\n channels: {\n [CHANNEL_NAME]: {\n title: TRUTHY_STRING,\n description: TRUTHY_STRING,\n messages: {\n [MESSAGE_TYPE]: {\n schema: z\n .object({\n [PARAM_NAME]: z.string().title(TRUTHY_STRING).describe(TRUTHY_STRING),\n })\n .title(TRUTHY_STRING)\n .describe(TRUTHY_STRING),\n },\n },\n message: {\n tags: {\n [TAG_NAME]: {\n title: TRUTHY_STRING,\n description: TRUTHY_STRING,\n },\n },\n },\n conversation: {\n tags: {\n [TAG_NAME]: {\n title: TRUTHY_STRING,\n description: TRUTHY_STRING,\n },\n },\n },\n },\n },\n states: {\n [STATE_NAME]: {\n type: 'integration',\n schema: z\n .object({\n [PARAM_NAME]: z.string().title(TRUTHY_STRING).describe(TRUTHY_STRING),\n })\n .title(TRUTHY_STRING)\n .describe(TRUTHY_STRING),\n },\n },\n secrets: {\n [SECRET_NAME]: {\n description: TRUTHY_STRING,\n },\n },\n} as const satisfies IntegrationDefinitionProps\n\nconst mockLogger = {\n log: vi.fn((message) => void message),\n warn: vi.fn((message) => void message),\n error: vi.fn((message) => void message),\n debug: vi.fn((message) => void message),\n}\n\nconst lintDefinition = async (definition: IntegrationDefinitionProps) => {\n const integrationDefinition = new IntegrationDefinition(definition)\n const integrationBody = await prepareCreateIntegrationBody(integrationDefinition)\n const linter = new IntegrationLinter({ ...integrationBody, secrets: integrationDefinition.secrets })\n await linter.lint()\n return linter\n}\n\nconst lintDefinitionAndReturnResults = async (definition: IntegrationDefinitionProps) => {\n const linter = await lintDefinition(definition)\n return linter.getSortedResults()\n}\n\nconst lintDefinitionAndLogResults = async (definition: IntegrationDefinitionProps) => {\n const linter = await lintDefinition(definition)\n linter.logResults(mockLogger as any)\n}\n\ndescribe.concurrent('Integration Linter', () => {\n test('should lint a valid definition without giving errors', async () => {\n // arrange\n const definition = VALID_INTEGRATION\n\n // act\n const results = await lintDefinitionAndReturnResults(definition)\n\n expect(results).toEqual([])\n })\n\n test('should report an error when missing required fields', async () => {\n // arrange\n const definition = {\n ...VALID_INTEGRATION,\n title: EMPTY_STRING,\n } as const\n\n // act\n const results = await lintDefinitionAndReturnResults(definition)\n\n // assert\n expect(results[0]?.message).toContain('title')\n })\n\n test('should report an error when missing a title in an action input schema', async () => {\n // arrange\n const definition = {\n ...VALID_INTEGRATION,\n actions: {\n [ACTION_NAME]: {\n ...VALID_INTEGRATION.actions[ACTION_NAME],\n input: {\n schema: z.object({\n [PARAM_NAME]: z.string().describe(TRUTHY_STRING),\n }),\n },\n },\n },\n } as const\n\n // act\n const results = await lintDefinitionAndReturnResults(definition)\n\n // assert\n expect(results[0]?.message).toContain('title')\n })\n\n test('should log as an error when severity is 0', async () => {\n // arrange\n const definition = {\n ...VALID_INTEGRATION,\n title: EMPTY_STRING,\n } as const\n\n // act\n await lintDefinitionAndLogResults(definition)\n\n // assert\n expect(mockLogger.error).toHaveBeenCalled()\n })\n\n test('should log as a warning when severity is 1', async () => {\n // arrange\n const definition = {\n ...VALID_INTEGRATION,\n user: {\n tags: {\n [TAG_NAME]: {},\n },\n },\n } as const\n\n // act\n await lintDefinitionAndLogResults(definition)\n\n // assert\n expect(mockLogger.warn).toHaveBeenCalled()\n })\n})\n"],
5
- "mappings": "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",
6
- "names": []
7
- }