@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
package/dist/index.js CHANGED
@@ -5,6 +5,10 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
6
  var __getProtoOf = Object.getPrototypeOf;
7
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
+ };
8
12
  var __copyProps = (to, from, except, desc) => {
9
13
  if (from && typeof from === "object" || typeof from === "function") {
10
14
  for (let key of __getOwnPropNames(from))
@@ -21,31 +25,52 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
21
25
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
26
  mod
23
27
  ));
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"));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var index_exports = {};
30
+ __export(index_exports, {
31
+ default: () => index_default
32
+ });
33
+ module.exports = __toCommonJS(index_exports);
27
34
  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);
35
+ var index_default = {
36
+ login: import_command_implementations.default.login,
37
+ logout: import_command_implementations.default.logout,
38
+ bots: {
39
+ create: import_command_implementations.default.bots.subcommands.create,
40
+ get: import_command_implementations.default.bots.subcommands.get,
41
+ delete: import_command_implementations.default.bots.subcommands.delete,
42
+ list: import_command_implementations.default.bots.subcommands.list
43
+ },
44
+ integrations: {
45
+ get: import_command_implementations.default.integrations.subcommands.get,
46
+ list: import_command_implementations.default.integrations.subcommands.list,
47
+ delete: import_command_implementations.default.integrations.subcommands.delete
48
+ },
49
+ interfaces: {
50
+ get: import_command_implementations.default.interfaces.subcommands.get,
51
+ list: import_command_implementations.default.interfaces.subcommands.list,
52
+ delete: import_command_implementations.default.interfaces.subcommands.delete
53
+ },
54
+ plugins: {
55
+ get: import_command_implementations.default.plugins.subcommands.get,
56
+ list: import_command_implementations.default.plugins.subcommands.list,
57
+ delete: import_command_implementations.default.plugins.subcommands.delete
58
+ },
59
+ init: import_command_implementations.default.init,
60
+ generate: import_command_implementations.default.generate,
61
+ bundle: import_command_implementations.default.bundle,
62
+ build: import_command_implementations.default.build,
63
+ read: import_command_implementations.default.read,
64
+ serve: import_command_implementations.default.serve,
65
+ deploy: import_command_implementations.default.deploy,
66
+ add: import_command_implementations.default.add,
67
+ dev: import_command_implementations.default.dev,
68
+ lint: import_command_implementations.default.lint,
69
+ chat: import_command_implementations.default.chat,
70
+ profiles: {
71
+ list: import_command_implementations.default.profiles.subcommands.list,
72
+ active: import_command_implementations.default.profiles.subcommands.active,
73
+ use: import_command_implementations.default.profiles.subcommands.use
74
+ }
45
75
  };
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
76
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
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"]
4
+ "sourcesContent": ["import commandDefinitions from './command-definitions'\nimport commandImplementations from './command-implementations'\nimport { DefinitionSubTree, DefinitionTree, DefinitionTreeNode } from './command-tree'\nimport type * as typings from './typings'\n\ntype CommandHandlersNode<D extends DefinitionTreeNode = DefinitionTreeNode> = D extends DefinitionSubTree\n ? CommandHandlers<D['subcommands']>\n : D extends typings.CommandDefinition\n ? typings.CommandImplementation<D>\n : never\n\ntype CommandHandlers<D extends DefinitionTree = DefinitionTree> = {\n [K in keyof D]: CommandHandlersNode<D[K]>\n}\n\nexport default {\n login: commandImplementations.login,\n logout: commandImplementations.logout,\n bots: {\n create: commandImplementations.bots.subcommands.create,\n get: commandImplementations.bots.subcommands.get,\n delete: commandImplementations.bots.subcommands.delete,\n list: commandImplementations.bots.subcommands.list,\n },\n integrations: {\n get: commandImplementations.integrations.subcommands.get,\n list: commandImplementations.integrations.subcommands.list,\n delete: commandImplementations.integrations.subcommands.delete,\n },\n interfaces: {\n get: commandImplementations.interfaces.subcommands.get,\n list: commandImplementations.interfaces.subcommands.list,\n delete: commandImplementations.interfaces.subcommands.delete,\n },\n plugins: {\n get: commandImplementations.plugins.subcommands.get,\n list: commandImplementations.plugins.subcommands.list,\n delete: commandImplementations.plugins.subcommands.delete,\n },\n init: commandImplementations.init,\n generate: commandImplementations.generate,\n bundle: commandImplementations.bundle,\n build: commandImplementations.build,\n read: commandImplementations.read,\n serve: commandImplementations.serve,\n deploy: commandImplementations.deploy,\n add: commandImplementations.add,\n dev: commandImplementations.dev,\n lint: commandImplementations.lint,\n chat: commandImplementations.chat,\n profiles: {\n list: commandImplementations.profiles.subcommands.list,\n active: commandImplementations.profiles.subcommands.active,\n use: commandImplementations.profiles.subcommands.use,\n },\n} satisfies CommandHandlers<typeof commandDefinitions>\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,qCAAmC;AAcnC,IAAO,gBAAQ;AAAA,EACb,OAAO,+BAAAA,QAAuB;AAAA,EAC9B,QAAQ,+BAAAA,QAAuB;AAAA,EAC/B,MAAM;AAAA,IACJ,QAAQ,+BAAAA,QAAuB,KAAK,YAAY;AAAA,IAChD,KAAK,+BAAAA,QAAuB,KAAK,YAAY;AAAA,IAC7C,QAAQ,+BAAAA,QAAuB,KAAK,YAAY;AAAA,IAChD,MAAM,+BAAAA,QAAuB,KAAK,YAAY;AAAA,EAChD;AAAA,EACA,cAAc;AAAA,IACZ,KAAK,+BAAAA,QAAuB,aAAa,YAAY;AAAA,IACrD,MAAM,+BAAAA,QAAuB,aAAa,YAAY;AAAA,IACtD,QAAQ,+BAAAA,QAAuB,aAAa,YAAY;AAAA,EAC1D;AAAA,EACA,YAAY;AAAA,IACV,KAAK,+BAAAA,QAAuB,WAAW,YAAY;AAAA,IACnD,MAAM,+BAAAA,QAAuB,WAAW,YAAY;AAAA,IACpD,QAAQ,+BAAAA,QAAuB,WAAW,YAAY;AAAA,EACxD;AAAA,EACA,SAAS;AAAA,IACP,KAAK,+BAAAA,QAAuB,QAAQ,YAAY;AAAA,IAChD,MAAM,+BAAAA,QAAuB,QAAQ,YAAY;AAAA,IACjD,QAAQ,+BAAAA,QAAuB,QAAQ,YAAY;AAAA,EACrD;AAAA,EACA,MAAM,+BAAAA,QAAuB;AAAA,EAC7B,UAAU,+BAAAA,QAAuB;AAAA,EACjC,QAAQ,+BAAAA,QAAuB;AAAA,EAC/B,OAAO,+BAAAA,QAAuB;AAAA,EAC9B,MAAM,+BAAAA,QAAuB;AAAA,EAC7B,OAAO,+BAAAA,QAAuB;AAAA,EAC9B,QAAQ,+BAAAA,QAAuB;AAAA,EAC/B,KAAK,+BAAAA,QAAuB;AAAA,EAC5B,KAAK,+BAAAA,QAAuB;AAAA,EAC5B,MAAM,+BAAAA,QAAuB;AAAA,EAC7B,MAAM,+BAAAA,QAAuB;AAAA,EAC7B,UAAU;AAAA,IACR,MAAM,+BAAAA,QAAuB,SAAS,YAAY;AAAA,IAClD,QAAQ,+BAAAA,QAAuB,SAAS,YAAY;AAAA,IACpD,KAAK,+BAAAA,QAAuB,SAAS,YAAY;AAAA,EACnD;AACF;",
6
+ "names": ["commandImplementations"]
7
7
  }
package/dist/init.d.ts ADDED
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,21 @@
1
+ import { type RulesetDefinition } from '@stoplight/spectral-core';
2
+ import { type Logger } from '../logger';
3
+ type ProblemSeverity = 0 | 1 | 2 | 3;
4
+ export declare abstract class BaseLinter<TDefinition> {
5
+ private readonly _spectral;
6
+ private readonly _spectralDocument;
7
+ private _results;
8
+ protected constructor(definition: TDefinition, ruleset: RulesetDefinition);
9
+ lint(): Promise<void>;
10
+ logResults(logger: Logger): void;
11
+ getSortedResults(): {
12
+ message: string;
13
+ path: string;
14
+ severity: ProblemSeverity;
15
+ }[];
16
+ hasErrors(): boolean;
17
+ private _getResults;
18
+ private _simplifyPath;
19
+ private _logResultMessage;
20
+ }
21
+ export {};
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/linter/base-linter.ts"],
4
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;",
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,IAAI,KAAK,OAAO,OAAO;AAEjD,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
6
  "names": ["JsonParser"]
7
7
  }
@@ -0,0 +1 @@
1
+ export {};
@@ -112,10 +112,10 @@ const VALID_INTEGRATION = {
112
112
  }
113
113
  };
114
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)
115
+ log: import_vitest.vi.fn((message) => void message),
116
+ warn: import_vitest.vi.fn((message) => void message),
117
+ error: import_vitest.vi.fn((message) => void message),
118
+ debug: import_vitest.vi.fn((message) => void message)
119
119
  };
120
120
  const lintDefinition = async (definition) => {
121
121
  const integrationDefinition = new import_sdk.IntegrationDefinition(definition);
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/linter/base-linter.test.ts"],
4
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({\n ...integrationBody,\n readme: integrationDefinition.readme,\n icon: integrationDefinition.icon,\n secrets: integrationDefinition.secrets,\n })\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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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,5 @@
1
+ import { CreateBotRequestBody } from '../api';
2
+ import { BaseLinter } from './base-linter';
3
+ export declare class BotLinter extends BaseLinter<CreateBotRequestBody> {
4
+ constructor(definition: CreateBotRequestBody);
5
+ }
@@ -0,0 +1,7 @@
1
+ import * as sdk from '@botpress/sdk';
2
+ import { CreateIntegrationRequestBody } from '../api';
3
+ import { BaseLinter } from './base-linter';
4
+ export type AggregateIntegrationBody = Omit<CreateIntegrationRequestBody, 'secrets'> & Pick<sdk.IntegrationDefinitionProps, 'secrets'>;
5
+ export declare class IntegrationLinter extends BaseLinter<AggregateIntegrationBody> {
6
+ constructor(definition: AggregateIntegrationBody);
7
+ }
@@ -0,0 +1,5 @@
1
+ import { CreateInterfaceRequestBody } from '../api';
2
+ import { BaseLinter } from './base-linter';
3
+ export declare class InterfaceLinter extends BaseLinter<CreateInterfaceRequestBody> {
4
+ constructor(definition: CreateInterfaceRequestBody);
5
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,9 @@
1
+ import { type ISpectralDiagnostic, type RuleDefinition } from '@stoplight/spectral-core';
2
+ export type RecursivePartial<T> = {
3
+ [P in Extract<keyof T, string>]?: T[P] extends (infer U)[] ? RecursivePartial<U>[] : T[P] extends object | undefined ? RecursivePartial<T[P]> : T[P];
4
+ };
5
+ type Ruleset = {
6
+ rules: Record<string, Readonly<RuleDefinition>>;
7
+ };
8
+ export declare const createDescribeRule: <TDefinition>() => <TRuleset extends Ruleset>(ruleset: TRuleset) => <TPartialDefinition extends RecursivePartial<TDefinition>>(ruleName: Extract<keyof (typeof ruleset)["rules"], string>, fn: (lint: (definition: TPartialDefinition) => Promise<ISpectralDiagnostic[]>) => void) => import("vitest").SuiteCollector<object>;
9
+ export {};
@@ -0,0 +1,165 @@
1
+ export declare const BOT_RULESET: {
2
+ extends: never[];
3
+ rules: {
4
+ 'event-outputparams-should-have-title': {
5
+ description: string;
6
+ message: string;
7
+ severity: "warn";
8
+ given: string;
9
+ then: {
10
+ field: string;
11
+ function: (input: string, _: unknown, context: import("@stoplight/spectral-core").RulesetFunctionContext) => {
12
+ message: string;
13
+ }[];
14
+ }[];
15
+ };
16
+ 'event-outputparams-must-have-description': {
17
+ description: string;
18
+ message: string;
19
+ severity: "error";
20
+ given: string;
21
+ then: {
22
+ field: string;
23
+ function: (input: string, _: unknown, context: import("@stoplight/spectral-core").RulesetFunctionContext) => {
24
+ message: string;
25
+ }[];
26
+ }[];
27
+ };
28
+ 'configuration-fields-must-have-a-title': {
29
+ description: string;
30
+ message: string;
31
+ severity: "error";
32
+ given: string;
33
+ then: {
34
+ field: string;
35
+ function: (input: string, _: unknown, context: import("@stoplight/spectral-core").RulesetFunctionContext) => {
36
+ message: string;
37
+ }[];
38
+ }[];
39
+ };
40
+ 'configuration-fields-must-have-a-description': {
41
+ description: string;
42
+ message: string;
43
+ severity: "error";
44
+ given: string;
45
+ then: {
46
+ field: string;
47
+ function: (input: string, _: unknown, context: import("@stoplight/spectral-core").RulesetFunctionContext) => {
48
+ message: string;
49
+ }[];
50
+ }[];
51
+ };
52
+ 'user-tags-should-have-a-title': {
53
+ description: string;
54
+ message: string;
55
+ severity: "warn";
56
+ given: string;
57
+ then: {
58
+ field: string;
59
+ function: (input: string, _: unknown, context: import("@stoplight/spectral-core").RulesetFunctionContext) => {
60
+ message: string;
61
+ }[];
62
+ }[];
63
+ };
64
+ 'user-tags-must-have-a-description': {
65
+ description: string;
66
+ message: string;
67
+ severity: "error";
68
+ given: string;
69
+ then: {
70
+ field: string;
71
+ function: (input: string, _: unknown, context: import("@stoplight/spectral-core").RulesetFunctionContext) => {
72
+ message: string;
73
+ }[];
74
+ }[];
75
+ };
76
+ 'conversation-tags-should-have-a-title': {
77
+ description: string;
78
+ message: string;
79
+ severity: "warn";
80
+ given: string;
81
+ then: {
82
+ field: string;
83
+ function: (input: string, _: unknown, context: import("@stoplight/spectral-core").RulesetFunctionContext) => {
84
+ message: string;
85
+ }[];
86
+ }[];
87
+ };
88
+ 'conversation-tags-must-have-a-description': {
89
+ description: string;
90
+ message: string;
91
+ severity: "error";
92
+ given: string;
93
+ then: {
94
+ field: string;
95
+ function: (input: string, _: unknown, context: import("@stoplight/spectral-core").RulesetFunctionContext) => {
96
+ message: string;
97
+ }[];
98
+ }[];
99
+ };
100
+ 'message-tags-should-have-a-title': {
101
+ description: string;
102
+ message: string;
103
+ severity: "warn";
104
+ given: string;
105
+ then: {
106
+ field: string;
107
+ function: (input: string, _: unknown, context: import("@stoplight/spectral-core").RulesetFunctionContext) => {
108
+ message: string;
109
+ }[];
110
+ }[];
111
+ };
112
+ 'message-tags-must-have-a-description': {
113
+ description: string;
114
+ message: string;
115
+ severity: "error";
116
+ given: string;
117
+ then: {
118
+ field: string;
119
+ function: (input: string, _: unknown, context: import("@stoplight/spectral-core").RulesetFunctionContext) => {
120
+ message: string;
121
+ }[];
122
+ }[];
123
+ };
124
+ 'legacy-zui-title-should-be-removed': {
125
+ description: string;
126
+ severity: "error";
127
+ given: string;
128
+ then: {
129
+ function: import("@stoplight/spectral-core").RulesetFunctionWithValidator<unknown, null>;
130
+ }[];
131
+ };
132
+ 'legacy-zui-examples-should-be-removed': {
133
+ description: string;
134
+ severity: "hint";
135
+ given: string;
136
+ then: {
137
+ function: import("@stoplight/spectral-core").RulesetFunctionWithValidator<unknown, null>;
138
+ }[];
139
+ };
140
+ 'state-fields-should-have-title': {
141
+ description: string;
142
+ message: string;
143
+ severity: "warn";
144
+ given: string;
145
+ then: {
146
+ field: string;
147
+ function: (input: string, _: unknown, context: import("@stoplight/spectral-core").RulesetFunctionContext) => {
148
+ message: string;
149
+ }[];
150
+ }[];
151
+ };
152
+ 'state-fields-must-have-description': {
153
+ description: string;
154
+ message: string;
155
+ severity: "error";
156
+ given: string;
157
+ then: {
158
+ field: string;
159
+ function: (input: string, _: unknown, context: import("@stoplight/spectral-core").RulesetFunctionContext) => {
160
+ message: string;
161
+ }[];
162
+ }[];
163
+ };
164
+ };
165
+ };
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/linter/rulesets/bot.ruleset.ts"],
4
4
  "sourcesContent": ["import { type RulesetDefinition } from '@stoplight/spectral-core'\nimport { falsy } from '@stoplight/spectral-functions'\nimport { truthyWithMessage } from '../spectral-functions'\n\nexport const BOT_RULESET = {\n extends: [],\n rules: {\n 'event-outputparams-should-have-title': {\n description: 'All event output parameters SHOULD have a title',\n message: '{{description}}: {{error}} SHOULD provide a non-empty title by using .title() in its Zod schema',\n severity: 'warn',\n given: '$.events[*]..schema.properties[*]',\n then: [\n {\n field: 'x-zui.title',\n function: truthyWithMessage(({ path }) => `output parameter \"${path.at(-3)}\" of event \"${path[1]}\"`),\n },\n ],\n },\n 'event-outputparams-must-have-description': {\n description: 'All event output parameters MUST have a description',\n message:\n '{{description}}: {{error}} SHOULD provide a non-empty description by using .describe() in its Zod schema',\n severity: 'error',\n given: '$.events[*]..schema.properties[*]',\n then: [\n {\n field: 'description',\n function: truthyWithMessage(({ path }) => `output parameter \"${path.at(-2)}\" of event \"${path[1]}\"`),\n },\n ],\n },\n 'configuration-fields-must-have-a-title': {\n description: 'All configuration fields MUST have a title',\n message: '{{description}}: {{error}} MUST provide a non-empty title by using .title() in its Zod schema',\n severity: 'error',\n given: '$.configuration..schema.properties[*].x-zui',\n then: [\n {\n field: 'title',\n function: truthyWithMessage(({ path }) => `configuration parameter \"${path.at(-3)}\"`),\n },\n ],\n },\n 'configuration-fields-must-have-a-description': {\n description: 'All configuration fields MUST have a description',\n message: '{{description}}: {{error}} MUST provide a non-empty description by using .describe() in its Zod schema',\n severity: 'error',\n given: '$.configuration..schema.properties[*]',\n then: [\n {\n field: 'description',\n function: truthyWithMessage(({ path }) => `configuration parameter \"${path.at(-2)}\"`),\n },\n ],\n },\n 'user-tags-should-have-a-title': {\n description: 'All user tags SHOULD have a title',\n message: '{{description}}: {{error}} SHOULD have a non-empty title',\n severity: 'warn',\n given: '$.user.tags[*]',\n then: [\n {\n field: 'title',\n function: truthyWithMessage(({ path }) => `user tag \"${path[2]}\"`),\n },\n ],\n },\n 'user-tags-must-have-a-description': {\n description: 'All user tags MUST have a description',\n message: '{{description}}: {{error}} MUST have a non-empty description',\n severity: 'error',\n given: '$.user.tags[*]',\n then: [\n {\n field: 'description',\n function: truthyWithMessage(({ path }) => `user tag \"${path[2]}\"`),\n },\n ],\n },\n 'conversation-tags-should-have-a-title': {\n description: 'All conversation tags SHOULD have a title',\n message: '{{description}}: {{error}} SHOULD have a non-empty title',\n severity: 'warn',\n given: '$.conversation.tags[*]',\n then: [\n {\n field: 'title',\n function: truthyWithMessage(({ path }) => `conversation tag \"${path[2]}\"`),\n },\n ],\n },\n 'conversation-tags-must-have-a-description': {\n description: 'All conversation tags MUST have a description',\n message: '{{description}}: {{error}} MUST have a non-empty description',\n severity: 'error',\n given: '$.conversation.tags[*]',\n then: [\n {\n field: 'description',\n function: truthyWithMessage(({ path }) => `conversation tag \"${path[2]}\"`),\n },\n ],\n },\n 'message-tags-should-have-a-title': {\n description: 'All message tags SHOULD have a title',\n message: '{{description}}: {{error}} SHOULD have a non-empty title',\n severity: 'warn',\n given: '$.message.tags[*]',\n then: [\n {\n field: 'title',\n function: truthyWithMessage(({ path }) => `message tag \"${path[2]}\"`),\n },\n ],\n },\n 'message-tags-must-have-a-description': {\n description: 'All message tags MUST have a description',\n message: '{{description}}: {{error}} MUST have a non-empty description',\n severity: 'error',\n given: '$.message.tags[*]',\n then: [\n {\n field: 'description',\n function: truthyWithMessage(({ path }) => `message tag \"${path[2]}\"`),\n },\n ],\n },\n 'legacy-zui-title-should-be-removed': {\n description:\n 'Legacy ZUI title fields (ui.title) SHOULD be removed. Please use .title() in your Zod schemas instead',\n severity: 'error',\n given: '$..ui[*].title',\n then: [{ function: falsy }],\n },\n 'legacy-zui-examples-should-be-removed': {\n description: 'Legacy ZUI examples fields (ui.examples) SHOULD be removed. There are currently no alternatives',\n severity: 'hint',\n given: '$..ui[*].examples',\n then: [{ function: falsy }],\n },\n 'state-fields-should-have-title': {\n description: 'All state fields SHOULD have a title',\n message: '{{description}}: {{error}} SHOULD provide a non-empty title by using .title() in its Zod schema',\n severity: 'warn',\n given: '$.states[*]..schema.properties[*]',\n then: [\n {\n field: 'x-zui.title',\n function: truthyWithMessage(({ path }) => `field \"${path.at(-3)}\" of state \"${path[1]}\"`),\n },\n ],\n },\n 'state-fields-must-have-description': {\n description: 'All state fields MUST have a description',\n message:\n '{{description}}: {{error}} SHOULD provide a non-empty description by using .describe() in its Zod schema',\n severity: 'error',\n given: '$.states[*]..schema.properties[*]',\n then: [\n {\n field: 'description',\n function: truthyWithMessage(({ path }) => `field \"${path.at(-2)}\" of state \"${path[1]}\"`),\n },\n ],\n },\n },\n} satisfies RulesetDefinition\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["import_spectral_functions"]
7
7
  }