@botpress/cli 2.0.3 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (378) hide show
  1. package/e2e/tests/install-interfaces.ts +1 -0
  2. package/e2e/tests/install-package.ts +1 -0
  3. package/package.json +2 -1
  4. package/.turbo/turbo-build.log +0 -22
  5. package/dist/api/bot-body.js +0 -89
  6. package/dist/api/bot-body.js.map +0 -7
  7. package/dist/api/client.js +0 -162
  8. package/dist/api/client.js.map +0 -7
  9. package/dist/api/find-previous-version.js +0 -66
  10. package/dist/api/find-previous-version.js.map +0 -7
  11. package/dist/api/find-previous-version.test.js +0 -76
  12. package/dist/api/find-previous-version.test.js.map +0 -7
  13. package/dist/api/index.js +0 -23
  14. package/dist/api/index.js.map +0 -7
  15. package/dist/api/integration-body.js +0 -146
  16. package/dist/api/integration-body.js.map +0 -7
  17. package/dist/api/interface-body.js +0 -95
  18. package/dist/api/interface-body.js.map +0 -7
  19. package/dist/api/paging.js +0 -42
  20. package/dist/api/paging.js.map +0 -7
  21. package/dist/api/plugin-body.js +0 -84
  22. package/dist/api/plugin-body.js.map +0 -7
  23. package/dist/api/types.js +0 -17
  24. package/dist/api/types.js.map +0 -7
  25. package/dist/code-generation/bot-implementation/bot-implementation.js +0 -116
  26. package/dist/code-generation/bot-implementation/bot-implementation.js.map +0 -7
  27. package/dist/code-generation/bot-implementation/bot-plugins/index.js +0 -80
  28. package/dist/code-generation/bot-implementation/bot-plugins/index.js.map +0 -7
  29. package/dist/code-generation/bot-implementation/bot-plugins/plugin-module.js +0 -129
  30. package/dist/code-generation/bot-implementation/bot-plugins/plugin-module.js.map +0 -7
  31. package/dist/code-generation/bot-implementation/bot-typings/actions-module.js +0 -88
  32. package/dist/code-generation/bot-implementation/bot-typings/actions-module.js.map +0 -7
  33. package/dist/code-generation/bot-implementation/bot-typings/events-module.js +0 -63
  34. package/dist/code-generation/bot-implementation/bot-typings/events-module.js.map +0 -7
  35. package/dist/code-generation/bot-implementation/bot-typings/index.js +0 -109
  36. package/dist/code-generation/bot-implementation/bot-typings/index.js.map +0 -7
  37. package/dist/code-generation/bot-implementation/bot-typings/states-module.js +0 -64
  38. package/dist/code-generation/bot-implementation/bot-typings/states-module.js.map +0 -7
  39. package/dist/code-generation/bot-implementation/index.js +0 -66
  40. package/dist/code-generation/bot-implementation/index.js.map +0 -7
  41. package/dist/code-generation/consts.js +0 -45
  42. package/dist/code-generation/consts.js.map +0 -7
  43. package/dist/code-generation/generators.js +0 -81
  44. package/dist/code-generation/generators.js.map +0 -7
  45. package/dist/code-generation/index.js +0 -49
  46. package/dist/code-generation/index.js.map +0 -7
  47. package/dist/code-generation/integration-implementation/index.js +0 -70
  48. package/dist/code-generation/integration-implementation/index.js.map +0 -7
  49. package/dist/code-generation/integration-implementation/integration-implementation.js +0 -114
  50. package/dist/code-generation/integration-implementation/integration-implementation.js.map +0 -7
  51. package/dist/code-generation/integration-implementation/integration-secret.js +0 -78
  52. package/dist/code-generation/integration-implementation/integration-secret.js.map +0 -7
  53. package/dist/code-generation/integration-implementation/integration-typings/actions-module.js +0 -88
  54. package/dist/code-generation/integration-implementation/integration-typings/actions-module.js.map +0 -7
  55. package/dist/code-generation/integration-implementation/integration-typings/channels-module.js +0 -107
  56. package/dist/code-generation/integration-implementation/integration-typings/channels-module.js.map +0 -7
  57. package/dist/code-generation/integration-implementation/integration-typings/configuration-module.js +0 -62
  58. package/dist/code-generation/integration-implementation/integration-typings/configuration-module.js.map +0 -7
  59. package/dist/code-generation/integration-implementation/integration-typings/configurations-module.js +0 -70
  60. package/dist/code-generation/integration-implementation/integration-typings/configurations-module.js.map +0 -7
  61. package/dist/code-generation/integration-implementation/integration-typings/entities-module.js +0 -63
  62. package/dist/code-generation/integration-implementation/integration-typings/entities-module.js.map +0 -7
  63. package/dist/code-generation/integration-implementation/integration-typings/events-module.js +0 -63
  64. package/dist/code-generation/integration-implementation/integration-typings/events-module.js.map +0 -7
  65. package/dist/code-generation/integration-implementation/integration-typings/index.js +0 -128
  66. package/dist/code-generation/integration-implementation/integration-typings/index.js.map +0 -7
  67. package/dist/code-generation/integration-implementation/integration-typings/states-module.js +0 -64
  68. package/dist/code-generation/integration-implementation/integration-typings/states-module.js.map +0 -7
  69. package/dist/code-generation/integration-package/index.js +0 -94
  70. package/dist/code-generation/integration-package/index.js.map +0 -7
  71. package/dist/code-generation/integration-package/integration-package-definition/actions-module.js +0 -88
  72. package/dist/code-generation/integration-package/integration-package-definition/actions-module.js.map +0 -7
  73. package/dist/code-generation/integration-package/integration-package-definition/channels-module.js +0 -107
  74. package/dist/code-generation/integration-package/integration-package-definition/channels-module.js.map +0 -7
  75. package/dist/code-generation/integration-package/integration-package-definition/configuration-module.js +0 -63
  76. package/dist/code-generation/integration-package/integration-package-definition/configuration-module.js.map +0 -7
  77. package/dist/code-generation/integration-package/integration-package-definition/configurations-module.js +0 -70
  78. package/dist/code-generation/integration-package/integration-package-definition/configurations-module.js.map +0 -7
  79. package/dist/code-generation/integration-package/integration-package-definition/entities-module.js +0 -63
  80. package/dist/code-generation/integration-package/integration-package-definition/entities-module.js.map +0 -7
  81. package/dist/code-generation/integration-package/integration-package-definition/events-module.js +0 -66
  82. package/dist/code-generation/integration-package/integration-package-definition/events-module.js.map +0 -7
  83. package/dist/code-generation/integration-package/integration-package-definition/index.js +0 -140
  84. package/dist/code-generation/integration-package/integration-package-definition/index.js.map +0 -7
  85. package/dist/code-generation/integration-package/integration-package-definition/states-module.js +0 -66
  86. package/dist/code-generation/integration-package/integration-package-definition/states-module.js.map +0 -7
  87. package/dist/code-generation/integration-package/integration-package-definition/typings.js +0 -17
  88. package/dist/code-generation/integration-package/integration-package-definition/typings.js.map +0 -7
  89. package/dist/code-generation/interface-implementation/index.js +0 -29
  90. package/dist/code-generation/interface-implementation/index.js.map +0 -7
  91. package/dist/code-generation/interface-implementation/integration-typings/actions-module.js +0 -88
  92. package/dist/code-generation/interface-implementation/integration-typings/actions-module.js.map +0 -7
  93. package/dist/code-generation/interface-implementation/integration-typings/channels-module.js +0 -107
  94. package/dist/code-generation/interface-implementation/integration-typings/channels-module.js.map +0 -7
  95. package/dist/code-generation/interface-implementation/integration-typings/entities-module.js +0 -63
  96. package/dist/code-generation/interface-implementation/integration-typings/entities-module.js.map +0 -7
  97. package/dist/code-generation/interface-implementation/integration-typings/events-module.js +0 -63
  98. package/dist/code-generation/interface-implementation/integration-typings/events-module.js.map +0 -7
  99. package/dist/code-generation/interface-implementation/integration-typings/index.js +0 -121
  100. package/dist/code-generation/interface-implementation/integration-typings/index.js.map +0 -7
  101. package/dist/code-generation/interface-package/index.js +0 -94
  102. package/dist/code-generation/interface-package/index.js.map +0 -7
  103. package/dist/code-generation/interface-package/interface-package-definition/actions-module.js +0 -88
  104. package/dist/code-generation/interface-package/interface-package-definition/actions-module.js.map +0 -7
  105. package/dist/code-generation/interface-package/interface-package-definition/channels-module.js +0 -98
  106. package/dist/code-generation/interface-package/interface-package-definition/channels-module.js.map +0 -7
  107. package/dist/code-generation/interface-package/interface-package-definition/entities-module.js +0 -63
  108. package/dist/code-generation/interface-package/interface-package-definition/entities-module.js.map +0 -7
  109. package/dist/code-generation/interface-package/interface-package-definition/events-module.js +0 -66
  110. package/dist/code-generation/interface-package/interface-package-definition/events-module.js.map +0 -7
  111. package/dist/code-generation/interface-package/interface-package-definition/index.js +0 -104
  112. package/dist/code-generation/interface-package/interface-package-definition/index.js.map +0 -7
  113. package/dist/code-generation/interface-package/interface-package-definition/typings.js +0 -17
  114. package/dist/code-generation/interface-package/interface-package-definition/typings.js.map +0 -7
  115. package/dist/code-generation/module.js +0 -183
  116. package/dist/code-generation/module.js.map +0 -7
  117. package/dist/code-generation/plugin-implementation/index.js +0 -60
  118. package/dist/code-generation/plugin-implementation/index.js.map +0 -7
  119. package/dist/code-generation/plugin-implementation/plugin-implementation.js +0 -90
  120. package/dist/code-generation/plugin-implementation/plugin-implementation.js.map +0 -7
  121. package/dist/code-generation/plugin-implementation/plugin-typings/actions-module.js +0 -88
  122. package/dist/code-generation/plugin-implementation/plugin-typings/actions-module.js.map +0 -7
  123. package/dist/code-generation/plugin-implementation/plugin-typings/configuration-module.js +0 -61
  124. package/dist/code-generation/plugin-implementation/plugin-typings/configuration-module.js.map +0 -7
  125. package/dist/code-generation/plugin-implementation/plugin-typings/events-module.js +0 -63
  126. package/dist/code-generation/plugin-implementation/plugin-typings/events-module.js.map +0 -7
  127. package/dist/code-generation/plugin-implementation/plugin-typings/index.js +0 -150
  128. package/dist/code-generation/plugin-implementation/plugin-typings/index.js.map +0 -7
  129. package/dist/code-generation/plugin-implementation/plugin-typings/states-module.js +0 -64
  130. package/dist/code-generation/plugin-implementation/plugin-typings/states-module.js.map +0 -7
  131. package/dist/code-generation/plugin-package/index.js +0 -151
  132. package/dist/code-generation/plugin-package/index.js.map +0 -7
  133. package/dist/code-generation/plugin-package/plugin-package-definition/actions-module.js +0 -88
  134. package/dist/code-generation/plugin-package/plugin-package-definition/actions-module.js.map +0 -7
  135. package/dist/code-generation/plugin-package/plugin-package-definition/configuration-module.js +0 -56
  136. package/dist/code-generation/plugin-package/plugin-package-definition/configuration-module.js.map +0 -7
  137. package/dist/code-generation/plugin-package/plugin-package-definition/events-module.js +0 -66
  138. package/dist/code-generation/plugin-package/plugin-package-definition/events-module.js.map +0 -7
  139. package/dist/code-generation/plugin-package/plugin-package-definition/index.js +0 -107
  140. package/dist/code-generation/plugin-package/plugin-package-definition/index.js.map +0 -7
  141. package/dist/code-generation/plugin-package/plugin-package-definition/states-module.js +0 -66
  142. package/dist/code-generation/plugin-package/plugin-package-definition/states-module.js.map +0 -7
  143. package/dist/code-generation/plugin-package/plugin-package-definition/typings.js +0 -17
  144. package/dist/code-generation/plugin-package/plugin-package-definition/typings.js.map +0 -7
  145. package/dist/code-generation/strings.js +0 -115
  146. package/dist/code-generation/strings.js.map +0 -7
  147. package/dist/code-generation/typings.js +0 -17
  148. package/dist/code-generation/typings.js.map +0 -7
  149. package/dist/command-definitions.js +0 -84
  150. package/dist/command-definitions.js.map +0 -7
  151. package/dist/command-implementations/add-command.js +0 -249
  152. package/dist/command-implementations/add-command.js.map +0 -7
  153. package/dist/command-implementations/base-command.js +0 -69
  154. package/dist/command-implementations/base-command.js.map +0 -7
  155. package/dist/command-implementations/bot-commands.js +0 -117
  156. package/dist/command-implementations/bot-commands.js.map +0 -7
  157. package/dist/command-implementations/build-command.js +0 -53
  158. package/dist/command-implementations/build-command.js.map +0 -7
  159. package/dist/command-implementations/bundle-command.js +0 -87
  160. package/dist/command-implementations/bundle-command.js.map +0 -7
  161. package/dist/command-implementations/deploy-command.js +0 -481
  162. package/dist/command-implementations/deploy-command.js.map +0 -7
  163. package/dist/command-implementations/dev-command.js +0 -345
  164. package/dist/command-implementations/dev-command.js.map +0 -7
  165. package/dist/command-implementations/gen-command.js +0 -110
  166. package/dist/command-implementations/gen-command.js.map +0 -7
  167. package/dist/command-implementations/global-command.js +0 -137
  168. package/dist/command-implementations/global-command.js.map +0 -7
  169. package/dist/command-implementations/index.js +0 -103
  170. package/dist/command-implementations/index.js.map +0 -7
  171. package/dist/command-implementations/init-command.js +0 -162
  172. package/dist/command-implementations/init-command.js.map +0 -7
  173. package/dist/command-implementations/integration-commands.js +0 -130
  174. package/dist/command-implementations/integration-commands.js.map +0 -7
  175. package/dist/command-implementations/interface-commands.js +0 -110
  176. package/dist/command-implementations/interface-commands.js.map +0 -7
  177. package/dist/command-implementations/lint-command.js +0 -151
  178. package/dist/command-implementations/lint-command.js.map +0 -7
  179. package/dist/command-implementations/login-command.js +0 -82
  180. package/dist/command-implementations/login-command.js.map +0 -7
  181. package/dist/command-implementations/logout-command.js +0 -35
  182. package/dist/command-implementations/logout-command.js.map +0 -7
  183. package/dist/command-implementations/plugin-commands.js +0 -111
  184. package/dist/command-implementations/plugin-commands.js.map +0 -7
  185. package/dist/command-implementations/project-command.js +0 -383
  186. package/dist/command-implementations/project-command.js.map +0 -7
  187. package/dist/command-implementations/read-command.js +0 -70
  188. package/dist/command-implementations/read-command.js.map +0 -7
  189. package/dist/command-implementations/serve-command.js +0 -68
  190. package/dist/command-implementations/serve-command.js.map +0 -7
  191. package/dist/command-tree.js +0 -60
  192. package/dist/command-tree.js.map +0 -7
  193. package/dist/config.js +0 -332
  194. package/dist/config.js.map +0 -7
  195. package/dist/consts.js +0 -124
  196. package/dist/consts.js.map +0 -7
  197. package/dist/errors.js +0 -202
  198. package/dist/errors.js.map +0 -7
  199. package/dist/index.js +0 -51
  200. package/dist/index.js.map +0 -7
  201. package/dist/init.js +0 -50
  202. package/dist/init.js.map +0 -7
  203. package/dist/linter/base-linter.js +0 -75
  204. package/dist/linter/base-linter.js.map +0 -7
  205. package/dist/linter/base-linter.test.js +0 -187
  206. package/dist/linter/base-linter.test.js.map +0 -7
  207. package/dist/linter/bot-linter.js +0 -35
  208. package/dist/linter/bot-linter.js.map +0 -7
  209. package/dist/linter/integration-linter.js +0 -35
  210. package/dist/linter/integration-linter.js.map +0 -7
  211. package/dist/linter/interface-linter.js +0 -35
  212. package/dist/linter/interface-linter.js.map +0 -7
  213. package/dist/linter/ruleset-tests/bot.ruleset.test.js +0 -358
  214. package/dist/linter/ruleset-tests/bot.ruleset.test.js.map +0 -7
  215. package/dist/linter/ruleset-tests/common.js +0 -37
  216. package/dist/linter/ruleset-tests/common.js.map +0 -7
  217. package/dist/linter/ruleset-tests/integration.ruleset.test.js +0 -887
  218. package/dist/linter/ruleset-tests/integration.ruleset.test.js.map +0 -7
  219. package/dist/linter/ruleset-tests/interface.ruleset.test.js +0 -383
  220. package/dist/linter/ruleset-tests/interface.ruleset.test.js.map +0 -7
  221. package/dist/linter/rulesets/bot.ruleset.js +0 -191
  222. package/dist/linter/rulesets/bot.ruleset.js.map +0 -7
  223. package/dist/linter/rulesets/integration.ruleset.js +0 -378
  224. package/dist/linter/rulesets/integration.ruleset.js.map +0 -7
  225. package/dist/linter/rulesets/interface.ruleset.js +0 -157
  226. package/dist/linter/rulesets/interface.ruleset.js.map +0 -7
  227. package/dist/linter/spectral-functions.js +0 -36
  228. package/dist/linter/spectral-functions.js.map +0 -7
  229. package/dist/logger/base-logger.js +0 -170
  230. package/dist/logger/base-logger.js.map +0 -7
  231. package/dist/logger/index.js +0 -86
  232. package/dist/logger/index.js.map +0 -7
  233. package/dist/package-ref.js +0 -107
  234. package/dist/package-ref.js.map +0 -7
  235. package/dist/package-ref.test.js +0 -109
  236. package/dist/package-ref.test.js.map +0 -7
  237. package/dist/register-yargs.js +0 -91
  238. package/dist/register-yargs.js.map +0 -7
  239. package/dist/root.js +0 -41
  240. package/dist/root.js.map +0 -7
  241. package/dist/sdk/index.js +0 -22
  242. package/dist/sdk/index.js.map +0 -7
  243. package/dist/sdk/resolve-bot-interfaces.js +0 -43
  244. package/dist/sdk/resolve-bot-interfaces.js.map +0 -7
  245. package/dist/sdk/resolve-integration-interfaces.js +0 -161
  246. package/dist/sdk/resolve-integration-interfaces.js.map +0 -7
  247. package/dist/sdk/validate-bot.js +0 -88
  248. package/dist/sdk/validate-bot.js.map +0 -7
  249. package/dist/sdk/validate-integration.js +0 -72
  250. package/dist/sdk/validate-integration.js.map +0 -7
  251. package/dist/typings.js +0 -17
  252. package/dist/typings.js.map +0 -7
  253. package/dist/utils/cache-utils.js +0 -104
  254. package/dist/utils/cache-utils.js.map +0 -7
  255. package/dist/utils/case-utils.js +0 -84
  256. package/dist/utils/case-utils.js.map +0 -7
  257. package/dist/utils/case-utils.test.js +0 -75
  258. package/dist/utils/case-utils.test.js.map +0 -7
  259. package/dist/utils/esbuild-utils.js +0 -92
  260. package/dist/utils/esbuild-utils.js.map +0 -7
  261. package/dist/utils/event-emitter.js +0 -63
  262. package/dist/utils/event-emitter.js.map +0 -7
  263. package/dist/utils/file-watcher.js +0 -73
  264. package/dist/utils/file-watcher.js.map +0 -7
  265. package/dist/utils/guard-utils.js +0 -32
  266. package/dist/utils/guard-utils.js.map +0 -7
  267. package/dist/utils/id-utils.js +0 -59
  268. package/dist/utils/id-utils.js.map +0 -7
  269. package/dist/utils/index.js +0 -99
  270. package/dist/utils/index.js.map +0 -7
  271. package/dist/utils/object-utils.js +0 -32
  272. package/dist/utils/object-utils.js.map +0 -7
  273. package/dist/utils/path-utils.js +0 -106
  274. package/dist/utils/path-utils.js.map +0 -7
  275. package/dist/utils/path-utils.test.js +0 -72
  276. package/dist/utils/path-utils.test.js.map +0 -7
  277. package/dist/utils/pkgjson-utils.js +0 -57
  278. package/dist/utils/pkgjson-utils.js.map +0 -7
  279. package/dist/utils/promise-utils.js +0 -33
  280. package/dist/utils/promise-utils.js.map +0 -7
  281. package/dist/utils/promise-utils.test.js +0 -14
  282. package/dist/utils/promise-utils.test.js.map +0 -7
  283. package/dist/utils/prompt-utils.js +0 -105
  284. package/dist/utils/prompt-utils.js.map +0 -7
  285. package/dist/utils/record-utils.js +0 -118
  286. package/dist/utils/record-utils.js.map +0 -7
  287. package/dist/utils/record-utils.test.js +0 -38
  288. package/dist/utils/record-utils.test.js.map +0 -7
  289. package/dist/utils/require-utils.js +0 -90
  290. package/dist/utils/require-utils.js.map +0 -7
  291. package/dist/utils/require-utils.test.js +0 -54
  292. package/dist/utils/require-utils.test.js.map +0 -7
  293. package/dist/utils/schema-utils.js +0 -64
  294. package/dist/utils/schema-utils.js.map +0 -7
  295. package/dist/utils/schema-utils.test.js +0 -50
  296. package/dist/utils/schema-utils.test.js.map +0 -7
  297. package/dist/utils/semver-utils.js +0 -45
  298. package/dist/utils/semver-utils.js.map +0 -7
  299. package/dist/utils/string-utils.js +0 -42
  300. package/dist/utils/string-utils.js.map +0 -7
  301. package/dist/utils/template-utils.js +0 -51
  302. package/dist/utils/template-utils.js.map +0 -7
  303. package/dist/utils/tunnel-utils.js +0 -129
  304. package/dist/utils/tunnel-utils.js.map +0 -7
  305. package/dist/utils/type-utils.js +0 -17
  306. package/dist/utils/type-utils.js.map +0 -7
  307. package/dist/utils/url-utils.js +0 -67
  308. package/dist/utils/url-utils.js.map +0 -7
  309. package/dist/worker/child-entrypoint.js +0 -58
  310. package/dist/worker/child-entrypoint.js.map +0 -7
  311. package/dist/worker/child-wrapper.js +0 -119
  312. package/dist/worker/child-wrapper.js.map +0 -7
  313. package/dist/worker/config.js +0 -44
  314. package/dist/worker/config.js.map +0 -7
  315. package/dist/worker/index.js +0 -32
  316. package/dist/worker/index.js.map +0 -7
  317. package/dist/worker/is-child.js +0 -55
  318. package/dist/worker/is-child.js.map +0 -7
  319. package/dist/worker/worker-state.js +0 -71
  320. package/dist/worker/worker-state.js.map +0 -7
  321. package/dist/worker/worker.js +0 -91
  322. package/dist/worker/worker.js.map +0 -7
  323. package/templates/empty-bot/.botpress/implementation/index.ts +0 -50
  324. package/templates/empty-bot/.botpress/implementation/plugins/index.ts +0 -11
  325. package/templates/empty-bot/.botpress/implementation/typings/actions/index.ts +0 -6
  326. package/templates/empty-bot/.botpress/implementation/typings/events/index.ts +0 -6
  327. package/templates/empty-bot/.botpress/implementation/typings/index.ts +0 -20
  328. package/templates/empty-bot/.botpress/implementation/typings/integrations/index.ts +0 -6
  329. package/templates/empty-bot/.botpress/implementation/typings/states/index.ts +0 -6
  330. package/templates/empty-bot/.botpress/index.ts +0 -5
  331. package/templates/empty-integration/.botpress/implementation/index.ts +0 -57
  332. package/templates/empty-integration/.botpress/implementation/typings/actions/index.ts +0 -6
  333. package/templates/empty-integration/.botpress/implementation/typings/channels/index.ts +0 -6
  334. package/templates/empty-integration/.botpress/implementation/typings/configuration/index.ts +0 -2
  335. package/templates/empty-integration/.botpress/implementation/typings/configurations/index.ts +0 -6
  336. package/templates/empty-integration/.botpress/implementation/typings/entities/index.ts +0 -6
  337. package/templates/empty-integration/.botpress/implementation/typings/events/index.ts +0 -6
  338. package/templates/empty-integration/.botpress/implementation/typings/index.ts +0 -31
  339. package/templates/empty-integration/.botpress/implementation/typings/states/index.ts +0 -6
  340. package/templates/empty-integration/.botpress/index.ts +0 -2
  341. package/templates/empty-integration/.botpress/secrets/index.ts +0 -6
  342. package/templates/empty-plugin/.botpress/implementation/index.ts +0 -35
  343. package/templates/empty-plugin/.botpress/implementation/typings/actions/index.ts +0 -6
  344. package/templates/empty-plugin/.botpress/implementation/typings/configuration/index.ts +0 -2
  345. package/templates/empty-plugin/.botpress/implementation/typings/events/index.ts +0 -6
  346. package/templates/empty-plugin/.botpress/implementation/typings/index.ts +0 -26
  347. package/templates/empty-plugin/.botpress/implementation/typings/integrations/index.ts +0 -6
  348. package/templates/empty-plugin/.botpress/implementation/typings/interfaces/index.ts +0 -6
  349. package/templates/empty-plugin/.botpress/implementation/typings/states/index.ts +0 -6
  350. package/templates/empty-plugin/.botpress/index.ts +0 -1
  351. package/templates/hello-world/.botpress/implementation/index.ts +0 -57
  352. package/templates/hello-world/.botpress/implementation/typings/actions/helloWorld/index.ts +0 -12
  353. package/templates/hello-world/.botpress/implementation/typings/actions/helloWorld/input.ts +0 -5
  354. package/templates/hello-world/.botpress/implementation/typings/actions/helloWorld/output.ts +0 -5
  355. package/templates/hello-world/.botpress/implementation/typings/actions/index.ts +0 -9
  356. package/templates/hello-world/.botpress/implementation/typings/channels/index.ts +0 -6
  357. package/templates/hello-world/.botpress/implementation/typings/configuration/index.ts +0 -2
  358. package/templates/hello-world/.botpress/implementation/typings/configurations/index.ts +0 -6
  359. package/templates/hello-world/.botpress/implementation/typings/entities/index.ts +0 -6
  360. package/templates/hello-world/.botpress/implementation/typings/events/index.ts +0 -6
  361. package/templates/hello-world/.botpress/implementation/typings/index.ts +0 -31
  362. package/templates/hello-world/.botpress/implementation/typings/states/index.ts +0 -6
  363. package/templates/hello-world/.botpress/index.ts +0 -2
  364. package/templates/hello-world/.botpress/secrets/index.ts +0 -6
  365. package/templates/webhook-message/.botpress/implementation/index.ts +0 -57
  366. package/templates/webhook-message/.botpress/implementation/typings/actions/index.ts +0 -6
  367. package/templates/webhook-message/.botpress/implementation/typings/channels/index.ts +0 -9
  368. package/templates/webhook-message/.botpress/implementation/typings/channels/webhook/index.ts +0 -12
  369. package/templates/webhook-message/.botpress/implementation/typings/channels/webhook/messages/index.ts +0 -9
  370. package/templates/webhook-message/.botpress/implementation/typings/channels/webhook/messages/text.ts +0 -5
  371. package/templates/webhook-message/.botpress/implementation/typings/configuration/index.ts +0 -8
  372. package/templates/webhook-message/.botpress/implementation/typings/configurations/index.ts +0 -6
  373. package/templates/webhook-message/.botpress/implementation/typings/entities/index.ts +0 -6
  374. package/templates/webhook-message/.botpress/implementation/typings/events/index.ts +0 -6
  375. package/templates/webhook-message/.botpress/implementation/typings/index.ts +0 -31
  376. package/templates/webhook-message/.botpress/implementation/typings/states/index.ts +0 -6
  377. package/templates/webhook-message/.botpress/index.ts +0 -2
  378. package/templates/webhook-message/.botpress/secrets/index.ts +0 -6
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/linter/ruleset-tests/interface.ruleset.test.ts"],
4
- "sourcesContent": ["import { test, expect } from 'vitest'\nimport { INTERFACE_RULESET } from '../rulesets/interface.ruleset'\nimport { createDescribeRule, type RecursivePartial } from './common'\nimport { type CreateInterfaceBody } from '../../api/interface-body'\n\ntype PartialInterface = RecursivePartial<CreateInterfaceBody>\nconst describeRule = createDescribeRule<CreateInterfaceBody>()(INTERFACE_RULESET)\n\nconst EMPTY_STRING = ''\nconst TRUTHY_STRING = 'truthy'\nconst ACTION_NAME = 'actionName'\nconst EVENT_NAME = 'eventName'\nconst PARAM_NAME = 'paramName'\nconst PROPERTIES_PARAM = 'properties'\nconst PARAM_NAMES = [PARAM_NAME, PROPERTIES_PARAM] as const\nconst CHANNEL_NAME = 'channelName'\nconst ENTITY_NAME = 'entityName'\nconst MESSAGE_TYPE = 'text'\nconst ZUI = 'x-zui'\nconst LEGACY_ZUI = 'ui'\n\ndescribeRule('action-inputparams-should-have-a-title', (lint) => {\n test.each(PARAM_NAMES)('missing title should trigger (%s)', async (paramName) => {\n // arrange\n const definition = {\n actions: { [ACTION_NAME]: { input: { schema: { properties: { [paramName]: { [ZUI]: {} } } } } } },\n } as const satisfies PartialInterface\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual(['actions', ACTION_NAME, 'input', 'schema', 'properties', paramName, ZUI])\n expect(results[0]?.message).toContain('title')\n })\n\n test.each(PARAM_NAMES)('empty title should trigger (%s)', async (paramName) => {\n // arrange\n const definition = {\n actions: {\n [ACTION_NAME]: { input: { schema: { properties: { [paramName]: { [ZUI]: { title: EMPTY_STRING } } } } } },\n },\n } as const satisfies PartialInterface\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual(['actions', ACTION_NAME, 'input', 'schema', 'properties', paramName, ZUI, 'title'])\n expect(results[0]?.message).toContain('title')\n })\n\n test.each(PARAM_NAMES)('valid title should not trigger (%s)', async (paramName) => {\n // arrange\n const definition = {\n actions: {\n [ACTION_NAME]: { input: { schema: { properties: { [paramName]: { [ZUI]: { title: TRUTHY_STRING } } } } } },\n },\n } as const satisfies PartialInterface\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(0)\n })\n})\n\ndescribeRule('action-inputparams-must-have-a-description', (lint) => {\n test.each(PARAM_NAMES)('missing description should trigger (%s)', async (paramName) => {\n // arrange\n const definition = {\n actions: { [ACTION_NAME]: { input: { schema: { properties: { [paramName]: {} } } } } },\n } as const satisfies PartialInterface\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual(['actions', ACTION_NAME, 'input', 'schema', 'properties', paramName])\n expect(results[0]?.message).toContain('description')\n })\n\n test.each(PARAM_NAMES)('empty description should trigger (%s)', async (paramName) => {\n // arrange\n const definition = {\n actions: {\n [ACTION_NAME]: { input: { schema: { properties: { [paramName]: { description: EMPTY_STRING } } } } },\n },\n } as const satisfies PartialInterface\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual([\n 'actions',\n ACTION_NAME,\n 'input',\n 'schema',\n 'properties',\n paramName,\n 'description',\n ])\n expect(results[0]?.message).toContain('description')\n })\n\n test.each(PARAM_NAMES)('valid description should not trigger (%s)', async (paramName) => {\n // arrange\n const definition = {\n actions: {\n [ACTION_NAME]: { input: { schema: { properties: { [paramName]: { description: TRUTHY_STRING } } } } },\n },\n } as const satisfies PartialInterface\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(0)\n })\n})\n\ndescribeRule('action-outputparams-should-have-a-title', (lint) => {\n test.each(PARAM_NAMES)('missing title should trigger (%s)', async (paramName) => {\n // arrange\n const definition = {\n actions: { [ACTION_NAME]: { output: { schema: { properties: { [paramName]: { [ZUI]: {} } } } } } },\n } as const satisfies PartialInterface\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual(['actions', ACTION_NAME, 'output', 'schema', 'properties', paramName, ZUI])\n expect(results[0]?.message).toContain('title')\n })\n\n test.each(PARAM_NAMES)('empty title should trigger (%s)', async (paramName) => {\n // arrange\n const definition = {\n actions: {\n [ACTION_NAME]: { output: { schema: { properties: { [paramName]: { [ZUI]: { title: EMPTY_STRING } } } } } },\n },\n } as const satisfies PartialInterface\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual([\n 'actions',\n ACTION_NAME,\n 'output',\n 'schema',\n 'properties',\n paramName,\n ZUI,\n 'title',\n ])\n expect(results[0]?.message).toContain('title')\n })\n\n test.each(PARAM_NAMES)('valid title should not trigger (%s)', async (paramName) => {\n // arrange\n const definition = {\n actions: {\n [ACTION_NAME]: { output: { schema: { properties: { [paramName]: { [ZUI]: { title: TRUTHY_STRING } } } } } },\n },\n } as const satisfies PartialInterface\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(0)\n })\n})\n\ndescribeRule('action-outputparams-must-have-a-description', (lint) => {\n test.each(PARAM_NAMES)('missing description should trigger (%s)', async (paramName) => {\n // arrange\n const definition = {\n actions: { [ACTION_NAME]: { output: { schema: { properties: { [paramName]: {} } } } } },\n } as const satisfies PartialInterface\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual(['actions', ACTION_NAME, 'output', 'schema', 'properties', paramName])\n expect(results[0]?.message).toContain('description')\n })\n\n test.each(PARAM_NAMES)('empty description should trigger (%s)', async (paramName) => {\n // arrange\n const definition = {\n actions: {\n [ACTION_NAME]: { output: { schema: { properties: { [paramName]: { description: EMPTY_STRING } } } } },\n },\n } as const satisfies PartialInterface\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual([\n 'actions',\n ACTION_NAME,\n 'output',\n 'schema',\n 'properties',\n paramName,\n 'description',\n ])\n expect(results[0]?.message).toContain('description')\n })\n\n test.each(PARAM_NAMES)('valid description should not trigger (%s)', async (paramName) => {\n // arrange\n const definition = {\n actions: {\n [ACTION_NAME]: { output: { schema: { properties: { [paramName]: { description: TRUTHY_STRING } } } } },\n },\n } as const satisfies PartialInterface\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(0)\n })\n})\n\ndescribeRule('event-outputparams-should-have-title', (lint) => {\n test.each(PARAM_NAMES)('missing title should trigger (%s)', async (paramName) => {\n // arrange\n const definition = {\n events: { [EVENT_NAME]: { schema: { properties: { [paramName]: { [ZUI]: {} } } } } },\n } as const satisfies PartialInterface\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual(['events', EVENT_NAME, 'schema', 'properties', paramName, ZUI])\n expect(results[0]?.message).toContain('title')\n })\n\n test.each(PARAM_NAMES)('empty title should trigger (%s)', async (paramName) => {\n // arrange\n const definition = {\n events: {\n [EVENT_NAME]: { schema: { properties: { [paramName]: { [ZUI]: { title: EMPTY_STRING } } } } },\n },\n } as const satisfies PartialInterface\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual(['events', EVENT_NAME, 'schema', 'properties', paramName, ZUI, 'title'])\n expect(results[0]?.message).toContain('title')\n })\n\n test.each(PARAM_NAMES)('valid title should not trigger (%s)', async (paramName) => {\n // arrange\n const definition = {\n events: {\n [EVENT_NAME]: { schema: { properties: { [paramName]: { [ZUI]: { title: TRUTHY_STRING } } } } },\n },\n } as const satisfies PartialInterface\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(0)\n })\n})\n\ndescribeRule('event-outputparams-must-have-description', (lint) => {\n test.each(PARAM_NAMES)('missing description should trigger (%s)', async (paramName) => {\n // arrange\n const definition = {\n events: { [EVENT_NAME]: { schema: { properties: { [paramName]: {} } } } },\n } as const satisfies PartialInterface\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual(['events', EVENT_NAME, 'schema', 'properties', paramName])\n expect(results[0]?.message).toContain('description')\n })\n\n test.each(PARAM_NAMES)('empty description should trigger (%s)', async (paramName) => {\n // arrange\n const definition = {\n events: {\n [EVENT_NAME]: { schema: { properties: { [paramName]: { description: EMPTY_STRING } } } },\n },\n } as const satisfies PartialInterface\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual(['events', EVENT_NAME, 'schema', 'properties', paramName, 'description'])\n expect(results[0]?.message).toContain('description')\n })\n\n test.each(PARAM_NAMES)('valid description should not trigger (%s)', async (paramName) => {\n // arrange\n const definition = {\n events: {\n [EVENT_NAME]: { schema: { properties: { [paramName]: { description: TRUTHY_STRING } } } },\n },\n } as const satisfies PartialInterface\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(0)\n })\n})\n\ndescribeRule('legacy-zui-title-should-be-removed', (lint) => {\n test.each(PARAM_NAMES)('legacy zui title should trigger (%s)', async (paramName) => {\n // arrange\n const definition = {\n actions: {\n [ACTION_NAME]: { input: { [LEGACY_ZUI]: { [paramName]: { title: TRUTHY_STRING } }, schema: {} } },\n },\n events: { [EVENT_NAME]: { [LEGACY_ZUI]: { [paramName]: { title: TRUTHY_STRING } }, schema: {} } },\n channels: {\n [CHANNEL_NAME]: {\n messages: { [MESSAGE_TYPE]: { [LEGACY_ZUI]: { [paramName]: { title: TRUTHY_STRING } }, schema: {} } },\n },\n },\n entities: { [ENTITY_NAME]: { [LEGACY_ZUI]: { [paramName]: { title: TRUTHY_STRING } }, schema: {} } },\n } as const satisfies PartialInterface\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(4)\n expect(results[0]?.message).toContain('.title()')\n })\n})\n\ndescribeRule('legacy-zui-examples-should-be-removed', (lint) => {\n test.each(PARAM_NAMES)('legacy zui examples should trigger (%s)', async (paramName) => {\n // arrange\n const definition = {\n actions: {\n [ACTION_NAME]: { input: { [LEGACY_ZUI]: { [paramName]: { examples: [TRUTHY_STRING] } }, schema: {} } },\n },\n events: { [EVENT_NAME]: { [LEGACY_ZUI]: { [paramName]: { examples: [TRUTHY_STRING] } }, schema: {} } },\n channels: {\n [CHANNEL_NAME]: {\n messages: { [MESSAGE_TYPE]: { [LEGACY_ZUI]: { [paramName]: { examples: [TRUTHY_STRING] } }, schema: {} } },\n },\n },\n entities: { [ENTITY_NAME]: { [LEGACY_ZUI]: { [paramName]: { examples: [TRUTHY_STRING] } }, schema: {} } },\n } as const satisfies PartialInterface\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(4)\n expect(results[0]?.message).toContain('examples')\n })\n})\n\ndescribeRule('entities-should-have-a-title', (lint) => {\n test('missing title should trigger', async () => {\n // arrange\n const definition = {\n entities: { [ENTITY_NAME]: {} },\n } as const satisfies PartialInterface\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual(['entities', ENTITY_NAME])\n expect(results[0]?.message).toContain('title')\n })\n\n test('empty title should trigger', async () => {\n // arrange\n const definition = {\n entities: { [ENTITY_NAME]: { title: EMPTY_STRING } },\n } as const satisfies PartialInterface\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual(['entities', ENTITY_NAME, 'title'])\n expect(results[0]?.message).toContain('title')\n })\n\n test('valid title should not trigger', async () => {\n // arrange\n const definition = {\n entities: { [ENTITY_NAME]: { title: TRUTHY_STRING } },\n } as const satisfies PartialInterface\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(0)\n })\n})\n\ndescribeRule('entities-must-have-a-description', (lint) => {\n test('missing description should trigger', async () => {\n // arrange\n const definition = {\n entities: { [ENTITY_NAME]: {} },\n } as const satisfies PartialInterface\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual(['entities', ENTITY_NAME])\n expect(results[0]?.message).toContain('description')\n })\n\n test('empty description should trigger', async () => {\n // arrange\n const definition = {\n entities: { [ENTITY_NAME]: { description: EMPTY_STRING } },\n } as const satisfies PartialInterface\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual(['entities', ENTITY_NAME, 'description'])\n expect(results[0]?.message).toContain('description')\n })\n\n test('valid description should not trigger', async () => {\n // arrange\n const definition = {\n entities: { [ENTITY_NAME]: { description: TRUTHY_STRING } },\n } as const satisfies PartialInterface\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(0)\n })\n})\n\ndescribeRule('entity-fields-should-have-a-title', (lint) => {\n test.each(PARAM_NAMES)('missing title should trigger (%s)', async (paramName) => {\n // arrange\n const definition = {\n entities: { [ENTITY_NAME]: { schema: { properties: { [paramName]: { [ZUI]: {} } } } } },\n } as const satisfies PartialInterface\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual(['entities', ENTITY_NAME, 'schema', 'properties', paramName, ZUI])\n expect(results[0]?.message).toContain('title')\n })\n\n test.each(PARAM_NAMES)('empty title should trigger (%s)', async (paramName) => {\n // arrange\n const definition = {\n entities: {\n [ENTITY_NAME]: { schema: { properties: { [paramName]: { [ZUI]: { title: EMPTY_STRING } } } } },\n },\n } as const satisfies PartialInterface\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual(['entities', ENTITY_NAME, 'schema', 'properties', paramName, ZUI, 'title'])\n expect(results[0]?.message).toContain('title')\n })\n\n test.each(PARAM_NAMES)('valid title should not trigger (%s)', async (paramName) => {\n // arrange\n const definition = {\n entities: {\n [ENTITY_NAME]: { schema: { properties: { [paramName]: { [ZUI]: { title: TRUTHY_STRING } } } } },\n },\n } as const satisfies PartialInterface\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(0)\n })\n})\n\ndescribeRule('entity-fields-must-have-a-description', (lint) => {\n test.each(PARAM_NAMES)('missing description should trigger (%s)', async (paramName) => {\n // arrange\n const definition = {\n entities: { [ENTITY_NAME]: { schema: { properties: { [paramName]: {} } } } },\n } as const satisfies PartialInterface\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual(['entities', ENTITY_NAME, 'schema', 'properties', paramName])\n expect(results[0]?.message).toContain('description')\n })\n\n test.each(PARAM_NAMES)('empty description should trigger (%s)', async (paramName) => {\n // arrange\n const definition = {\n entities: {\n [ENTITY_NAME]: { schema: { properties: { [paramName]: { description: EMPTY_STRING } } } },\n },\n } as const satisfies PartialInterface\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual(['entities', ENTITY_NAME, 'schema', 'properties', paramName, 'description'])\n expect(results[0]?.message).toContain('description')\n })\n\n test.each(PARAM_NAMES)('valid description should not trigger (%s)', async (paramName) => {\n // arrange\n const definition = {\n entities: {\n [ENTITY_NAME]: { schema: { properties: { [paramName]: { description: TRUTHY_STRING } } } },\n },\n } as const satisfies PartialInterface\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(0)\n })\n})\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,191 +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 bot_ruleset_exports = {};
20
- __export(bot_ruleset_exports, {
21
- BOT_RULESET: () => BOT_RULESET
22
- });
23
- module.exports = __toCommonJS(bot_ruleset_exports);
24
- var import_spectral_functions = require("@stoplight/spectral-functions");
25
- var import_spectral_functions2 = require("../spectral-functions");
26
- const BOT_RULESET = {
27
- extends: [],
28
- rules: {
29
- "event-outputparams-should-have-title": {
30
- description: "All event output parameters SHOULD have a title",
31
- message: "{{description}}: {{error}} SHOULD provide a non-empty title by using .title() in its Zod schema",
32
- severity: "warn",
33
- given: "$.events[*]..schema.properties[*]",
34
- then: [
35
- {
36
- field: "x-zui.title",
37
- function: (0, import_spectral_functions2.truthyWithMessage)(({ path }) => `output parameter "${path.at(-3)}" of event "${path[1]}"`)
38
- }
39
- ]
40
- },
41
- "event-outputparams-must-have-description": {
42
- description: "All event output parameters MUST have a description",
43
- message: "{{description}}: {{error}} SHOULD provide a non-empty description by using .describe() in its Zod schema",
44
- severity: "error",
45
- given: "$.events[*]..schema.properties[*]",
46
- then: [
47
- {
48
- field: "description",
49
- function: (0, import_spectral_functions2.truthyWithMessage)(({ path }) => `output parameter "${path.at(-2)}" of event "${path[1]}"`)
50
- }
51
- ]
52
- },
53
- "configuration-fields-must-have-a-title": {
54
- description: "All configuration fields MUST have a title",
55
- message: "{{description}}: {{error}} MUST provide a non-empty title by using .title() in its Zod schema",
56
- severity: "error",
57
- given: "$.configuration..schema.properties[*].x-zui",
58
- then: [
59
- {
60
- field: "title",
61
- function: (0, import_spectral_functions2.truthyWithMessage)(({ path }) => `configuration parameter "${path.at(-3)}"`)
62
- }
63
- ]
64
- },
65
- "configuration-fields-must-have-a-description": {
66
- description: "All configuration fields MUST have a description",
67
- message: "{{description}}: {{error}} MUST provide a non-empty description by using .describe() in its Zod schema",
68
- severity: "error",
69
- given: "$.configuration..schema.properties[*]",
70
- then: [
71
- {
72
- field: "description",
73
- function: (0, import_spectral_functions2.truthyWithMessage)(({ path }) => `configuration parameter "${path.at(-2)}"`)
74
- }
75
- ]
76
- },
77
- "user-tags-should-have-a-title": {
78
- description: "All user tags SHOULD have a title",
79
- message: "{{description}}: {{error}} SHOULD have a non-empty title",
80
- severity: "warn",
81
- given: "$.user.tags[*]",
82
- then: [
83
- {
84
- field: "title",
85
- function: (0, import_spectral_functions2.truthyWithMessage)(({ path }) => `user tag "${path[2]}"`)
86
- }
87
- ]
88
- },
89
- "user-tags-must-have-a-description": {
90
- description: "All user tags MUST have a description",
91
- message: "{{description}}: {{error}} MUST have a non-empty description",
92
- severity: "error",
93
- given: "$.user.tags[*]",
94
- then: [
95
- {
96
- field: "description",
97
- function: (0, import_spectral_functions2.truthyWithMessage)(({ path }) => `user tag "${path[2]}"`)
98
- }
99
- ]
100
- },
101
- "conversation-tags-should-have-a-title": {
102
- description: "All conversation tags SHOULD have a title",
103
- message: "{{description}}: {{error}} SHOULD have a non-empty title",
104
- severity: "warn",
105
- given: "$.conversation.tags[*]",
106
- then: [
107
- {
108
- field: "title",
109
- function: (0, import_spectral_functions2.truthyWithMessage)(({ path }) => `conversation tag "${path[2]}"`)
110
- }
111
- ]
112
- },
113
- "conversation-tags-must-have-a-description": {
114
- description: "All conversation tags MUST have a description",
115
- message: "{{description}}: {{error}} MUST have a non-empty description",
116
- severity: "error",
117
- given: "$.conversation.tags[*]",
118
- then: [
119
- {
120
- field: "description",
121
- function: (0, import_spectral_functions2.truthyWithMessage)(({ path }) => `conversation tag "${path[2]}"`)
122
- }
123
- ]
124
- },
125
- "message-tags-should-have-a-title": {
126
- description: "All message tags SHOULD have a title",
127
- message: "{{description}}: {{error}} SHOULD have a non-empty title",
128
- severity: "warn",
129
- given: "$.message.tags[*]",
130
- then: [
131
- {
132
- field: "title",
133
- function: (0, import_spectral_functions2.truthyWithMessage)(({ path }) => `message tag "${path[2]}"`)
134
- }
135
- ]
136
- },
137
- "message-tags-must-have-a-description": {
138
- description: "All message tags MUST have a description",
139
- message: "{{description}}: {{error}} MUST have a non-empty description",
140
- severity: "error",
141
- given: "$.message.tags[*]",
142
- then: [
143
- {
144
- field: "description",
145
- function: (0, import_spectral_functions2.truthyWithMessage)(({ path }) => `message tag "${path[2]}"`)
146
- }
147
- ]
148
- },
149
- "legacy-zui-title-should-be-removed": {
150
- description: "Legacy ZUI title fields (ui.title) SHOULD be removed. Please use .title() in your Zod schemas instead",
151
- severity: "error",
152
- given: "$..ui[*].title",
153
- then: [{ function: import_spectral_functions.falsy }]
154
- },
155
- "legacy-zui-examples-should-be-removed": {
156
- description: "Legacy ZUI examples fields (ui.examples) SHOULD be removed. There are currently no alternatives",
157
- severity: "hint",
158
- given: "$..ui[*].examples",
159
- then: [{ function: import_spectral_functions.falsy }]
160
- },
161
- "state-fields-should-have-title": {
162
- description: "All state fields SHOULD have a title",
163
- message: "{{description}}: {{error}} SHOULD provide a non-empty title by using .title() in its Zod schema",
164
- severity: "warn",
165
- given: "$.states[*]..schema.properties[*]",
166
- then: [
167
- {
168
- field: "x-zui.title",
169
- function: (0, import_spectral_functions2.truthyWithMessage)(({ path }) => `field "${path.at(-3)}" of state "${path[1]}"`)
170
- }
171
- ]
172
- },
173
- "state-fields-must-have-description": {
174
- description: "All state fields MUST have a description",
175
- message: "{{description}}: {{error}} SHOULD provide a non-empty description by using .describe() in its Zod schema",
176
- severity: "error",
177
- given: "$.states[*]..schema.properties[*]",
178
- then: [
179
- {
180
- field: "description",
181
- function: (0, import_spectral_functions2.truthyWithMessage)(({ path }) => `field "${path.at(-2)}" of state "${path[1]}"`)
182
- }
183
- ]
184
- }
185
- }
186
- };
187
- // Annotate the CommonJS export names for ESM import in node:
188
- 0 && (module.exports = {
189
- BOT_RULESET
190
- });
191
- //# sourceMappingURL=bot.ruleset.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/linter/rulesets/bot.ruleset.ts"],
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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",
6
- "names": ["import_spectral_functions"]
7
- }