@botpress/cli 2.0.2 → 2.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (383) hide show
  1. package/e2e/tests/install-interfaces.ts +1 -0
  2. package/e2e/tests/install-package.ts +1 -0
  3. package/package.json +3 -3
  4. package/templates/empty-bot/package.json +2 -2
  5. package/templates/empty-integration/package.json +2 -2
  6. package/templates/empty-plugin/package.json +1 -1
  7. package/templates/hello-world/package.json +2 -2
  8. package/templates/webhook-message/package.json +2 -2
  9. package/.turbo/turbo-build.log +0 -22
  10. package/dist/api/bot-body.js +0 -89
  11. package/dist/api/bot-body.js.map +0 -7
  12. package/dist/api/client.js +0 -162
  13. package/dist/api/client.js.map +0 -7
  14. package/dist/api/find-previous-version.js +0 -66
  15. package/dist/api/find-previous-version.js.map +0 -7
  16. package/dist/api/find-previous-version.test.js +0 -76
  17. package/dist/api/find-previous-version.test.js.map +0 -7
  18. package/dist/api/index.js +0 -23
  19. package/dist/api/index.js.map +0 -7
  20. package/dist/api/integration-body.js +0 -146
  21. package/dist/api/integration-body.js.map +0 -7
  22. package/dist/api/interface-body.js +0 -95
  23. package/dist/api/interface-body.js.map +0 -7
  24. package/dist/api/paging.js +0 -42
  25. package/dist/api/paging.js.map +0 -7
  26. package/dist/api/plugin-body.js +0 -84
  27. package/dist/api/plugin-body.js.map +0 -7
  28. package/dist/api/types.js +0 -17
  29. package/dist/api/types.js.map +0 -7
  30. package/dist/code-generation/bot-implementation/bot-implementation.js +0 -116
  31. package/dist/code-generation/bot-implementation/bot-implementation.js.map +0 -7
  32. package/dist/code-generation/bot-implementation/bot-plugins/index.js +0 -80
  33. package/dist/code-generation/bot-implementation/bot-plugins/index.js.map +0 -7
  34. package/dist/code-generation/bot-implementation/bot-plugins/plugin-module.js +0 -129
  35. package/dist/code-generation/bot-implementation/bot-plugins/plugin-module.js.map +0 -7
  36. package/dist/code-generation/bot-implementation/bot-typings/actions-module.js +0 -88
  37. package/dist/code-generation/bot-implementation/bot-typings/actions-module.js.map +0 -7
  38. package/dist/code-generation/bot-implementation/bot-typings/events-module.js +0 -63
  39. package/dist/code-generation/bot-implementation/bot-typings/events-module.js.map +0 -7
  40. package/dist/code-generation/bot-implementation/bot-typings/index.js +0 -109
  41. package/dist/code-generation/bot-implementation/bot-typings/index.js.map +0 -7
  42. package/dist/code-generation/bot-implementation/bot-typings/states-module.js +0 -64
  43. package/dist/code-generation/bot-implementation/bot-typings/states-module.js.map +0 -7
  44. package/dist/code-generation/bot-implementation/index.js +0 -66
  45. package/dist/code-generation/bot-implementation/index.js.map +0 -7
  46. package/dist/code-generation/consts.js +0 -45
  47. package/dist/code-generation/consts.js.map +0 -7
  48. package/dist/code-generation/generators.js +0 -81
  49. package/dist/code-generation/generators.js.map +0 -7
  50. package/dist/code-generation/index.js +0 -49
  51. package/dist/code-generation/index.js.map +0 -7
  52. package/dist/code-generation/integration-implementation/index.js +0 -70
  53. package/dist/code-generation/integration-implementation/index.js.map +0 -7
  54. package/dist/code-generation/integration-implementation/integration-implementation.js +0 -114
  55. package/dist/code-generation/integration-implementation/integration-implementation.js.map +0 -7
  56. package/dist/code-generation/integration-implementation/integration-secret.js +0 -78
  57. package/dist/code-generation/integration-implementation/integration-secret.js.map +0 -7
  58. package/dist/code-generation/integration-implementation/integration-typings/actions-module.js +0 -88
  59. package/dist/code-generation/integration-implementation/integration-typings/actions-module.js.map +0 -7
  60. package/dist/code-generation/integration-implementation/integration-typings/channels-module.js +0 -107
  61. package/dist/code-generation/integration-implementation/integration-typings/channels-module.js.map +0 -7
  62. package/dist/code-generation/integration-implementation/integration-typings/configuration-module.js +0 -62
  63. package/dist/code-generation/integration-implementation/integration-typings/configuration-module.js.map +0 -7
  64. package/dist/code-generation/integration-implementation/integration-typings/configurations-module.js +0 -70
  65. package/dist/code-generation/integration-implementation/integration-typings/configurations-module.js.map +0 -7
  66. package/dist/code-generation/integration-implementation/integration-typings/entities-module.js +0 -63
  67. package/dist/code-generation/integration-implementation/integration-typings/entities-module.js.map +0 -7
  68. package/dist/code-generation/integration-implementation/integration-typings/events-module.js +0 -63
  69. package/dist/code-generation/integration-implementation/integration-typings/events-module.js.map +0 -7
  70. package/dist/code-generation/integration-implementation/integration-typings/index.js +0 -128
  71. package/dist/code-generation/integration-implementation/integration-typings/index.js.map +0 -7
  72. package/dist/code-generation/integration-implementation/integration-typings/states-module.js +0 -64
  73. package/dist/code-generation/integration-implementation/integration-typings/states-module.js.map +0 -7
  74. package/dist/code-generation/integration-package/index.js +0 -94
  75. package/dist/code-generation/integration-package/index.js.map +0 -7
  76. package/dist/code-generation/integration-package/integration-package-definition/actions-module.js +0 -88
  77. package/dist/code-generation/integration-package/integration-package-definition/actions-module.js.map +0 -7
  78. package/dist/code-generation/integration-package/integration-package-definition/channels-module.js +0 -107
  79. package/dist/code-generation/integration-package/integration-package-definition/channels-module.js.map +0 -7
  80. package/dist/code-generation/integration-package/integration-package-definition/configuration-module.js +0 -63
  81. package/dist/code-generation/integration-package/integration-package-definition/configuration-module.js.map +0 -7
  82. package/dist/code-generation/integration-package/integration-package-definition/configurations-module.js +0 -70
  83. package/dist/code-generation/integration-package/integration-package-definition/configurations-module.js.map +0 -7
  84. package/dist/code-generation/integration-package/integration-package-definition/entities-module.js +0 -63
  85. package/dist/code-generation/integration-package/integration-package-definition/entities-module.js.map +0 -7
  86. package/dist/code-generation/integration-package/integration-package-definition/events-module.js +0 -66
  87. package/dist/code-generation/integration-package/integration-package-definition/events-module.js.map +0 -7
  88. package/dist/code-generation/integration-package/integration-package-definition/index.js +0 -140
  89. package/dist/code-generation/integration-package/integration-package-definition/index.js.map +0 -7
  90. package/dist/code-generation/integration-package/integration-package-definition/states-module.js +0 -66
  91. package/dist/code-generation/integration-package/integration-package-definition/states-module.js.map +0 -7
  92. package/dist/code-generation/integration-package/integration-package-definition/typings.js +0 -17
  93. package/dist/code-generation/integration-package/integration-package-definition/typings.js.map +0 -7
  94. package/dist/code-generation/interface-implementation/index.js +0 -29
  95. package/dist/code-generation/interface-implementation/index.js.map +0 -7
  96. package/dist/code-generation/interface-implementation/integration-typings/actions-module.js +0 -88
  97. package/dist/code-generation/interface-implementation/integration-typings/actions-module.js.map +0 -7
  98. package/dist/code-generation/interface-implementation/integration-typings/channels-module.js +0 -107
  99. package/dist/code-generation/interface-implementation/integration-typings/channels-module.js.map +0 -7
  100. package/dist/code-generation/interface-implementation/integration-typings/entities-module.js +0 -63
  101. package/dist/code-generation/interface-implementation/integration-typings/entities-module.js.map +0 -7
  102. package/dist/code-generation/interface-implementation/integration-typings/events-module.js +0 -63
  103. package/dist/code-generation/interface-implementation/integration-typings/events-module.js.map +0 -7
  104. package/dist/code-generation/interface-implementation/integration-typings/index.js +0 -121
  105. package/dist/code-generation/interface-implementation/integration-typings/index.js.map +0 -7
  106. package/dist/code-generation/interface-package/index.js +0 -94
  107. package/dist/code-generation/interface-package/index.js.map +0 -7
  108. package/dist/code-generation/interface-package/interface-package-definition/actions-module.js +0 -88
  109. package/dist/code-generation/interface-package/interface-package-definition/actions-module.js.map +0 -7
  110. package/dist/code-generation/interface-package/interface-package-definition/channels-module.js +0 -98
  111. package/dist/code-generation/interface-package/interface-package-definition/channels-module.js.map +0 -7
  112. package/dist/code-generation/interface-package/interface-package-definition/entities-module.js +0 -63
  113. package/dist/code-generation/interface-package/interface-package-definition/entities-module.js.map +0 -7
  114. package/dist/code-generation/interface-package/interface-package-definition/events-module.js +0 -66
  115. package/dist/code-generation/interface-package/interface-package-definition/events-module.js.map +0 -7
  116. package/dist/code-generation/interface-package/interface-package-definition/index.js +0 -104
  117. package/dist/code-generation/interface-package/interface-package-definition/index.js.map +0 -7
  118. package/dist/code-generation/interface-package/interface-package-definition/typings.js +0 -17
  119. package/dist/code-generation/interface-package/interface-package-definition/typings.js.map +0 -7
  120. package/dist/code-generation/module.js +0 -183
  121. package/dist/code-generation/module.js.map +0 -7
  122. package/dist/code-generation/plugin-implementation/index.js +0 -60
  123. package/dist/code-generation/plugin-implementation/index.js.map +0 -7
  124. package/dist/code-generation/plugin-implementation/plugin-implementation.js +0 -90
  125. package/dist/code-generation/plugin-implementation/plugin-implementation.js.map +0 -7
  126. package/dist/code-generation/plugin-implementation/plugin-typings/actions-module.js +0 -88
  127. package/dist/code-generation/plugin-implementation/plugin-typings/actions-module.js.map +0 -7
  128. package/dist/code-generation/plugin-implementation/plugin-typings/configuration-module.js +0 -61
  129. package/dist/code-generation/plugin-implementation/plugin-typings/configuration-module.js.map +0 -7
  130. package/dist/code-generation/plugin-implementation/plugin-typings/events-module.js +0 -63
  131. package/dist/code-generation/plugin-implementation/plugin-typings/events-module.js.map +0 -7
  132. package/dist/code-generation/plugin-implementation/plugin-typings/index.js +0 -150
  133. package/dist/code-generation/plugin-implementation/plugin-typings/index.js.map +0 -7
  134. package/dist/code-generation/plugin-implementation/plugin-typings/states-module.js +0 -64
  135. package/dist/code-generation/plugin-implementation/plugin-typings/states-module.js.map +0 -7
  136. package/dist/code-generation/plugin-package/index.js +0 -151
  137. package/dist/code-generation/plugin-package/index.js.map +0 -7
  138. package/dist/code-generation/plugin-package/plugin-package-definition/actions-module.js +0 -88
  139. package/dist/code-generation/plugin-package/plugin-package-definition/actions-module.js.map +0 -7
  140. package/dist/code-generation/plugin-package/plugin-package-definition/configuration-module.js +0 -56
  141. package/dist/code-generation/plugin-package/plugin-package-definition/configuration-module.js.map +0 -7
  142. package/dist/code-generation/plugin-package/plugin-package-definition/events-module.js +0 -66
  143. package/dist/code-generation/plugin-package/plugin-package-definition/events-module.js.map +0 -7
  144. package/dist/code-generation/plugin-package/plugin-package-definition/index.js +0 -107
  145. package/dist/code-generation/plugin-package/plugin-package-definition/index.js.map +0 -7
  146. package/dist/code-generation/plugin-package/plugin-package-definition/states-module.js +0 -66
  147. package/dist/code-generation/plugin-package/plugin-package-definition/states-module.js.map +0 -7
  148. package/dist/code-generation/plugin-package/plugin-package-definition/typings.js +0 -17
  149. package/dist/code-generation/plugin-package/plugin-package-definition/typings.js.map +0 -7
  150. package/dist/code-generation/strings.js +0 -115
  151. package/dist/code-generation/strings.js.map +0 -7
  152. package/dist/code-generation/typings.js +0 -17
  153. package/dist/code-generation/typings.js.map +0 -7
  154. package/dist/command-definitions.js +0 -84
  155. package/dist/command-definitions.js.map +0 -7
  156. package/dist/command-implementations/add-command.js +0 -249
  157. package/dist/command-implementations/add-command.js.map +0 -7
  158. package/dist/command-implementations/base-command.js +0 -69
  159. package/dist/command-implementations/base-command.js.map +0 -7
  160. package/dist/command-implementations/bot-commands.js +0 -117
  161. package/dist/command-implementations/bot-commands.js.map +0 -7
  162. package/dist/command-implementations/build-command.js +0 -53
  163. package/dist/command-implementations/build-command.js.map +0 -7
  164. package/dist/command-implementations/bundle-command.js +0 -87
  165. package/dist/command-implementations/bundle-command.js.map +0 -7
  166. package/dist/command-implementations/deploy-command.js +0 -481
  167. package/dist/command-implementations/deploy-command.js.map +0 -7
  168. package/dist/command-implementations/dev-command.js +0 -345
  169. package/dist/command-implementations/dev-command.js.map +0 -7
  170. package/dist/command-implementations/gen-command.js +0 -110
  171. package/dist/command-implementations/gen-command.js.map +0 -7
  172. package/dist/command-implementations/global-command.js +0 -137
  173. package/dist/command-implementations/global-command.js.map +0 -7
  174. package/dist/command-implementations/index.js +0 -103
  175. package/dist/command-implementations/index.js.map +0 -7
  176. package/dist/command-implementations/init-command.js +0 -162
  177. package/dist/command-implementations/init-command.js.map +0 -7
  178. package/dist/command-implementations/integration-commands.js +0 -130
  179. package/dist/command-implementations/integration-commands.js.map +0 -7
  180. package/dist/command-implementations/interface-commands.js +0 -110
  181. package/dist/command-implementations/interface-commands.js.map +0 -7
  182. package/dist/command-implementations/lint-command.js +0 -151
  183. package/dist/command-implementations/lint-command.js.map +0 -7
  184. package/dist/command-implementations/login-command.js +0 -82
  185. package/dist/command-implementations/login-command.js.map +0 -7
  186. package/dist/command-implementations/logout-command.js +0 -35
  187. package/dist/command-implementations/logout-command.js.map +0 -7
  188. package/dist/command-implementations/plugin-commands.js +0 -111
  189. package/dist/command-implementations/plugin-commands.js.map +0 -7
  190. package/dist/command-implementations/project-command.js +0 -383
  191. package/dist/command-implementations/project-command.js.map +0 -7
  192. package/dist/command-implementations/read-command.js +0 -70
  193. package/dist/command-implementations/read-command.js.map +0 -7
  194. package/dist/command-implementations/serve-command.js +0 -68
  195. package/dist/command-implementations/serve-command.js.map +0 -7
  196. package/dist/command-tree.js +0 -60
  197. package/dist/command-tree.js.map +0 -7
  198. package/dist/config.js +0 -332
  199. package/dist/config.js.map +0 -7
  200. package/dist/consts.js +0 -124
  201. package/dist/consts.js.map +0 -7
  202. package/dist/errors.js +0 -202
  203. package/dist/errors.js.map +0 -7
  204. package/dist/index.js +0 -51
  205. package/dist/index.js.map +0 -7
  206. package/dist/init.js +0 -50
  207. package/dist/init.js.map +0 -7
  208. package/dist/linter/base-linter.js +0 -75
  209. package/dist/linter/base-linter.js.map +0 -7
  210. package/dist/linter/base-linter.test.js +0 -187
  211. package/dist/linter/base-linter.test.js.map +0 -7
  212. package/dist/linter/bot-linter.js +0 -35
  213. package/dist/linter/bot-linter.js.map +0 -7
  214. package/dist/linter/integration-linter.js +0 -35
  215. package/dist/linter/integration-linter.js.map +0 -7
  216. package/dist/linter/interface-linter.js +0 -35
  217. package/dist/linter/interface-linter.js.map +0 -7
  218. package/dist/linter/ruleset-tests/bot.ruleset.test.js +0 -358
  219. package/dist/linter/ruleset-tests/bot.ruleset.test.js.map +0 -7
  220. package/dist/linter/ruleset-tests/common.js +0 -37
  221. package/dist/linter/ruleset-tests/common.js.map +0 -7
  222. package/dist/linter/ruleset-tests/integration.ruleset.test.js +0 -887
  223. package/dist/linter/ruleset-tests/integration.ruleset.test.js.map +0 -7
  224. package/dist/linter/ruleset-tests/interface.ruleset.test.js +0 -383
  225. package/dist/linter/ruleset-tests/interface.ruleset.test.js.map +0 -7
  226. package/dist/linter/rulesets/bot.ruleset.js +0 -191
  227. package/dist/linter/rulesets/bot.ruleset.js.map +0 -7
  228. package/dist/linter/rulesets/integration.ruleset.js +0 -378
  229. package/dist/linter/rulesets/integration.ruleset.js.map +0 -7
  230. package/dist/linter/rulesets/interface.ruleset.js +0 -157
  231. package/dist/linter/rulesets/interface.ruleset.js.map +0 -7
  232. package/dist/linter/spectral-functions.js +0 -36
  233. package/dist/linter/spectral-functions.js.map +0 -7
  234. package/dist/logger/base-logger.js +0 -170
  235. package/dist/logger/base-logger.js.map +0 -7
  236. package/dist/logger/index.js +0 -86
  237. package/dist/logger/index.js.map +0 -7
  238. package/dist/package-ref.js +0 -107
  239. package/dist/package-ref.js.map +0 -7
  240. package/dist/package-ref.test.js +0 -109
  241. package/dist/package-ref.test.js.map +0 -7
  242. package/dist/register-yargs.js +0 -91
  243. package/dist/register-yargs.js.map +0 -7
  244. package/dist/root.js +0 -41
  245. package/dist/root.js.map +0 -7
  246. package/dist/sdk/index.js +0 -22
  247. package/dist/sdk/index.js.map +0 -7
  248. package/dist/sdk/resolve-bot-interfaces.js +0 -43
  249. package/dist/sdk/resolve-bot-interfaces.js.map +0 -7
  250. package/dist/sdk/resolve-integration-interfaces.js +0 -161
  251. package/dist/sdk/resolve-integration-interfaces.js.map +0 -7
  252. package/dist/sdk/validate-bot.js +0 -88
  253. package/dist/sdk/validate-bot.js.map +0 -7
  254. package/dist/sdk/validate-integration.js +0 -72
  255. package/dist/sdk/validate-integration.js.map +0 -7
  256. package/dist/typings.js +0 -17
  257. package/dist/typings.js.map +0 -7
  258. package/dist/utils/cache-utils.js +0 -104
  259. package/dist/utils/cache-utils.js.map +0 -7
  260. package/dist/utils/case-utils.js +0 -84
  261. package/dist/utils/case-utils.js.map +0 -7
  262. package/dist/utils/case-utils.test.js +0 -75
  263. package/dist/utils/case-utils.test.js.map +0 -7
  264. package/dist/utils/esbuild-utils.js +0 -92
  265. package/dist/utils/esbuild-utils.js.map +0 -7
  266. package/dist/utils/event-emitter.js +0 -63
  267. package/dist/utils/event-emitter.js.map +0 -7
  268. package/dist/utils/file-watcher.js +0 -73
  269. package/dist/utils/file-watcher.js.map +0 -7
  270. package/dist/utils/guard-utils.js +0 -32
  271. package/dist/utils/guard-utils.js.map +0 -7
  272. package/dist/utils/id-utils.js +0 -59
  273. package/dist/utils/id-utils.js.map +0 -7
  274. package/dist/utils/index.js +0 -99
  275. package/dist/utils/index.js.map +0 -7
  276. package/dist/utils/object-utils.js +0 -32
  277. package/dist/utils/object-utils.js.map +0 -7
  278. package/dist/utils/path-utils.js +0 -106
  279. package/dist/utils/path-utils.js.map +0 -7
  280. package/dist/utils/path-utils.test.js +0 -72
  281. package/dist/utils/path-utils.test.js.map +0 -7
  282. package/dist/utils/pkgjson-utils.js +0 -57
  283. package/dist/utils/pkgjson-utils.js.map +0 -7
  284. package/dist/utils/promise-utils.js +0 -33
  285. package/dist/utils/promise-utils.js.map +0 -7
  286. package/dist/utils/promise-utils.test.js +0 -14
  287. package/dist/utils/promise-utils.test.js.map +0 -7
  288. package/dist/utils/prompt-utils.js +0 -105
  289. package/dist/utils/prompt-utils.js.map +0 -7
  290. package/dist/utils/record-utils.js +0 -118
  291. package/dist/utils/record-utils.js.map +0 -7
  292. package/dist/utils/record-utils.test.js +0 -38
  293. package/dist/utils/record-utils.test.js.map +0 -7
  294. package/dist/utils/require-utils.js +0 -90
  295. package/dist/utils/require-utils.js.map +0 -7
  296. package/dist/utils/require-utils.test.js +0 -54
  297. package/dist/utils/require-utils.test.js.map +0 -7
  298. package/dist/utils/schema-utils.js +0 -64
  299. package/dist/utils/schema-utils.js.map +0 -7
  300. package/dist/utils/schema-utils.test.js +0 -50
  301. package/dist/utils/schema-utils.test.js.map +0 -7
  302. package/dist/utils/semver-utils.js +0 -45
  303. package/dist/utils/semver-utils.js.map +0 -7
  304. package/dist/utils/string-utils.js +0 -42
  305. package/dist/utils/string-utils.js.map +0 -7
  306. package/dist/utils/template-utils.js +0 -51
  307. package/dist/utils/template-utils.js.map +0 -7
  308. package/dist/utils/tunnel-utils.js +0 -129
  309. package/dist/utils/tunnel-utils.js.map +0 -7
  310. package/dist/utils/type-utils.js +0 -17
  311. package/dist/utils/type-utils.js.map +0 -7
  312. package/dist/utils/url-utils.js +0 -67
  313. package/dist/utils/url-utils.js.map +0 -7
  314. package/dist/worker/child-entrypoint.js +0 -58
  315. package/dist/worker/child-entrypoint.js.map +0 -7
  316. package/dist/worker/child-wrapper.js +0 -119
  317. package/dist/worker/child-wrapper.js.map +0 -7
  318. package/dist/worker/config.js +0 -44
  319. package/dist/worker/config.js.map +0 -7
  320. package/dist/worker/index.js +0 -32
  321. package/dist/worker/index.js.map +0 -7
  322. package/dist/worker/is-child.js +0 -55
  323. package/dist/worker/is-child.js.map +0 -7
  324. package/dist/worker/worker-state.js +0 -71
  325. package/dist/worker/worker-state.js.map +0 -7
  326. package/dist/worker/worker.js +0 -91
  327. package/dist/worker/worker.js.map +0 -7
  328. package/templates/empty-bot/.botpress/implementation/index.ts +0 -50
  329. package/templates/empty-bot/.botpress/implementation/plugins/index.ts +0 -11
  330. package/templates/empty-bot/.botpress/implementation/typings/actions/index.ts +0 -6
  331. package/templates/empty-bot/.botpress/implementation/typings/events/index.ts +0 -6
  332. package/templates/empty-bot/.botpress/implementation/typings/index.ts +0 -20
  333. package/templates/empty-bot/.botpress/implementation/typings/integrations/index.ts +0 -6
  334. package/templates/empty-bot/.botpress/implementation/typings/states/index.ts +0 -6
  335. package/templates/empty-bot/.botpress/index.ts +0 -5
  336. package/templates/empty-integration/.botpress/implementation/index.ts +0 -57
  337. package/templates/empty-integration/.botpress/implementation/typings/actions/index.ts +0 -6
  338. package/templates/empty-integration/.botpress/implementation/typings/channels/index.ts +0 -6
  339. package/templates/empty-integration/.botpress/implementation/typings/configuration/index.ts +0 -2
  340. package/templates/empty-integration/.botpress/implementation/typings/configurations/index.ts +0 -6
  341. package/templates/empty-integration/.botpress/implementation/typings/entities/index.ts +0 -6
  342. package/templates/empty-integration/.botpress/implementation/typings/events/index.ts +0 -6
  343. package/templates/empty-integration/.botpress/implementation/typings/index.ts +0 -31
  344. package/templates/empty-integration/.botpress/implementation/typings/states/index.ts +0 -6
  345. package/templates/empty-integration/.botpress/index.ts +0 -2
  346. package/templates/empty-integration/.botpress/secrets/index.ts +0 -6
  347. package/templates/empty-plugin/.botpress/implementation/index.ts +0 -35
  348. package/templates/empty-plugin/.botpress/implementation/typings/actions/index.ts +0 -6
  349. package/templates/empty-plugin/.botpress/implementation/typings/configuration/index.ts +0 -2
  350. package/templates/empty-plugin/.botpress/implementation/typings/events/index.ts +0 -6
  351. package/templates/empty-plugin/.botpress/implementation/typings/index.ts +0 -26
  352. package/templates/empty-plugin/.botpress/implementation/typings/integrations/index.ts +0 -6
  353. package/templates/empty-plugin/.botpress/implementation/typings/interfaces/index.ts +0 -6
  354. package/templates/empty-plugin/.botpress/implementation/typings/states/index.ts +0 -6
  355. package/templates/empty-plugin/.botpress/index.ts +0 -1
  356. package/templates/hello-world/.botpress/implementation/index.ts +0 -57
  357. package/templates/hello-world/.botpress/implementation/typings/actions/helloWorld/index.ts +0 -12
  358. package/templates/hello-world/.botpress/implementation/typings/actions/helloWorld/input.ts +0 -5
  359. package/templates/hello-world/.botpress/implementation/typings/actions/helloWorld/output.ts +0 -5
  360. package/templates/hello-world/.botpress/implementation/typings/actions/index.ts +0 -9
  361. package/templates/hello-world/.botpress/implementation/typings/channels/index.ts +0 -6
  362. package/templates/hello-world/.botpress/implementation/typings/configuration/index.ts +0 -2
  363. package/templates/hello-world/.botpress/implementation/typings/configurations/index.ts +0 -6
  364. package/templates/hello-world/.botpress/implementation/typings/entities/index.ts +0 -6
  365. package/templates/hello-world/.botpress/implementation/typings/events/index.ts +0 -6
  366. package/templates/hello-world/.botpress/implementation/typings/index.ts +0 -31
  367. package/templates/hello-world/.botpress/implementation/typings/states/index.ts +0 -6
  368. package/templates/hello-world/.botpress/index.ts +0 -2
  369. package/templates/hello-world/.botpress/secrets/index.ts +0 -6
  370. package/templates/webhook-message/.botpress/implementation/index.ts +0 -57
  371. package/templates/webhook-message/.botpress/implementation/typings/actions/index.ts +0 -6
  372. package/templates/webhook-message/.botpress/implementation/typings/channels/index.ts +0 -9
  373. package/templates/webhook-message/.botpress/implementation/typings/channels/webhook/index.ts +0 -12
  374. package/templates/webhook-message/.botpress/implementation/typings/channels/webhook/messages/index.ts +0 -9
  375. package/templates/webhook-message/.botpress/implementation/typings/channels/webhook/messages/text.ts +0 -5
  376. package/templates/webhook-message/.botpress/implementation/typings/configuration/index.ts +0 -8
  377. package/templates/webhook-message/.botpress/implementation/typings/configurations/index.ts +0 -6
  378. package/templates/webhook-message/.botpress/implementation/typings/entities/index.ts +0 -6
  379. package/templates/webhook-message/.botpress/implementation/typings/events/index.ts +0 -6
  380. package/templates/webhook-message/.botpress/implementation/typings/index.ts +0 -31
  381. package/templates/webhook-message/.botpress/implementation/typings/states/index.ts +0 -6
  382. package/templates/webhook-message/.botpress/index.ts +0 -2
  383. package/templates/webhook-message/.botpress/secrets/index.ts +0 -6
@@ -1,35 +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_linter_exports = {};
20
- __export(bot_linter_exports, {
21
- BotLinter: () => BotLinter
22
- });
23
- module.exports = __toCommonJS(bot_linter_exports);
24
- var import_base_linter = require("./base-linter");
25
- var import_bot = require("./rulesets/bot.ruleset");
26
- class BotLinter extends import_base_linter.BaseLinter {
27
- constructor(definition) {
28
- super(definition, import_bot.BOT_RULESET);
29
- }
30
- }
31
- // Annotate the CommonJS export names for ESM import in node:
32
- 0 && (module.exports = {
33
- BotLinter
34
- });
35
- //# sourceMappingURL=bot-linter.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/linter/bot-linter.ts"],
4
- "sourcesContent": ["import { type CreateBotBody } from '../api/bot-body'\nimport { BaseLinter } from './base-linter'\nimport { BOT_RULESET } from './rulesets/bot.ruleset'\n\nexport class BotLinter extends BaseLinter<CreateBotBody> {\n public constructor(definition: CreateBotBody) {\n super(definition, BOT_RULESET)\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,yBAA2B;AAC3B,iBAA4B;AAErB,MAAM,kBAAkB,8BAA0B;AAAA,EAChD,YAAY,YAA2B;AAC5C,UAAM,YAAY,sBAAW;AAAA,EAC/B;AACF;",
6
- "names": []
7
- }
@@ -1,35 +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 integration_linter_exports = {};
20
- __export(integration_linter_exports, {
21
- IntegrationLinter: () => IntegrationLinter
22
- });
23
- module.exports = __toCommonJS(integration_linter_exports);
24
- var import_base_linter = require("./base-linter");
25
- var import_integration = require("./rulesets/integration.ruleset");
26
- class IntegrationLinter extends import_base_linter.BaseLinter {
27
- constructor(definition) {
28
- super(definition, import_integration.INTEGRATION_RULESET);
29
- }
30
- }
31
- // Annotate the CommonJS export names for ESM import in node:
32
- 0 && (module.exports = {
33
- IntegrationLinter
34
- });
35
- //# sourceMappingURL=integration-linter.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/linter/integration-linter.ts"],
4
- "sourcesContent": ["import * as sdk from '@botpress/sdk'\nimport { type CreateIntegrationBody } from '../api/integration-body'\nimport { BaseLinter } from './base-linter'\nimport { INTEGRATION_RULESET } from './rulesets/integration.ruleset'\n\n// The CreateIntegrationBody type does not contain the descriptions for the secrets\nexport type AggregateIntegrationBody = Omit<CreateIntegrationBody, 'secrets'> &\n Pick<sdk.IntegrationDefinitionProps, 'secrets'>\n\nexport class IntegrationLinter extends BaseLinter<AggregateIntegrationBody> {\n public constructor(definition: AggregateIntegrationBody) {\n super(definition, INTEGRATION_RULESET)\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,yBAA2B;AAC3B,yBAAoC;AAM7B,MAAM,0BAA0B,8BAAqC;AAAA,EACnE,YAAY,YAAsC;AACvD,UAAM,YAAY,sCAAmB;AAAA,EACvC;AACF;",
6
- "names": []
7
- }
@@ -1,35 +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 interface_linter_exports = {};
20
- __export(interface_linter_exports, {
21
- InterfaceLinter: () => InterfaceLinter
22
- });
23
- module.exports = __toCommonJS(interface_linter_exports);
24
- var import_base_linter = require("./base-linter");
25
- var import_interface = require("./rulesets/interface.ruleset");
26
- class InterfaceLinter extends import_base_linter.BaseLinter {
27
- constructor(definition) {
28
- super(definition, import_interface.INTERFACE_RULESET);
29
- }
30
- }
31
- // Annotate the CommonJS export names for ESM import in node:
32
- 0 && (module.exports = {
33
- InterfaceLinter
34
- });
35
- //# sourceMappingURL=interface-linter.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/linter/interface-linter.ts"],
4
- "sourcesContent": ["import { type CreateInterfaceBody } from '../api/interface-body'\nimport { BaseLinter } from './base-linter'\nimport { INTERFACE_RULESET } from './rulesets/interface.ruleset'\n\nexport class InterfaceLinter extends BaseLinter<CreateInterfaceBody> {\n public constructor(definition: CreateInterfaceBody) {\n super(definition, INTERFACE_RULESET)\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,yBAA2B;AAC3B,uBAAkC;AAE3B,MAAM,wBAAwB,8BAAgC;AAAA,EAC5D,YAAY,YAAiC;AAClD,UAAM,YAAY,kCAAiB;AAAA,EACrC;AACF;",
6
- "names": []
7
- }
@@ -1,358 +0,0 @@
1
- "use strict";
2
- var import_vitest = require("vitest");
3
- var import_bot = require("../rulesets/bot.ruleset");
4
- var import_common = require("./common");
5
- const describeRule = (0, import_common.createDescribeRule)()(import_bot.BOT_RULESET);
6
- const EMPTY_STRING = "";
7
- const TRUTHY_STRING = "truthy";
8
- const EVENT_NAME = "eventName";
9
- const PARAM_NAME = "paramName";
10
- const PROPERTIES_PARAM = "properties";
11
- const PARAM_NAMES = [PARAM_NAME, PROPERTIES_PARAM];
12
- const TAG_NAME = "tagName";
13
- const STATE_NAME = "stateName";
14
- const ZUI = "x-zui";
15
- const LEGACY_ZUI = "ui";
16
- describeRule("event-outputparams-should-have-title", (lint) => {
17
- import_vitest.test.each(PARAM_NAMES)("missing title should trigger (%s)", async (paramName) => {
18
- const definition = {
19
- events: { [EVENT_NAME]: { schema: { properties: { [paramName]: { [ZUI]: {} } } } } }
20
- };
21
- const results = await lint(definition);
22
- (0, import_vitest.expect)(results).toHaveLength(1);
23
- (0, import_vitest.expect)(results[0]?.path).toEqual(["events", EVENT_NAME, "schema", "properties", paramName, ZUI]);
24
- (0, import_vitest.expect)(results[0]?.message).toContain("title");
25
- });
26
- import_vitest.test.each(PARAM_NAMES)("empty title should trigger (%s)", async (paramName) => {
27
- const definition = {
28
- events: {
29
- [EVENT_NAME]: { schema: { properties: { [paramName]: { [ZUI]: { title: EMPTY_STRING } } } } }
30
- }
31
- };
32
- const results = await lint(definition);
33
- (0, import_vitest.expect)(results).toHaveLength(1);
34
- (0, import_vitest.expect)(results[0]?.path).toEqual(["events", EVENT_NAME, "schema", "properties", paramName, ZUI, "title"]);
35
- (0, import_vitest.expect)(results[0]?.message).toContain("title");
36
- });
37
- import_vitest.test.each(PARAM_NAMES)("valid title should not trigger (%s)", async (paramName) => {
38
- const definition = {
39
- events: {
40
- [EVENT_NAME]: { schema: { properties: { [paramName]: { [ZUI]: { title: TRUTHY_STRING } } } } }
41
- }
42
- };
43
- const results = await lint(definition);
44
- (0, import_vitest.expect)(results).toHaveLength(0);
45
- });
46
- });
47
- describeRule("event-outputparams-must-have-description", (lint) => {
48
- import_vitest.test.each(PARAM_NAMES)("missing description should trigger (%s)", async (paramName) => {
49
- const definition = {
50
- events: { [EVENT_NAME]: { schema: { properties: { [paramName]: {} } } } }
51
- };
52
- const results = await lint(definition);
53
- (0, import_vitest.expect)(results).toHaveLength(1);
54
- (0, import_vitest.expect)(results[0]?.path).toEqual(["events", EVENT_NAME, "schema", "properties", paramName]);
55
- (0, import_vitest.expect)(results[0]?.message).toContain("description");
56
- });
57
- import_vitest.test.each(PARAM_NAMES)("empty description should trigger (%s)", async (paramName) => {
58
- const definition = {
59
- events: {
60
- [EVENT_NAME]: { schema: { properties: { [paramName]: { description: EMPTY_STRING } } } }
61
- }
62
- };
63
- const results = await lint(definition);
64
- (0, import_vitest.expect)(results).toHaveLength(1);
65
- (0, import_vitest.expect)(results[0]?.path).toEqual(["events", EVENT_NAME, "schema", "properties", paramName, "description"]);
66
- (0, import_vitest.expect)(results[0]?.message).toContain("description");
67
- });
68
- import_vitest.test.each(PARAM_NAMES)("valid description should not trigger (%s)", async (paramName) => {
69
- const definition = {
70
- events: {
71
- [EVENT_NAME]: { schema: { properties: { [paramName]: { description: TRUTHY_STRING } } } }
72
- }
73
- };
74
- const results = await lint(definition);
75
- (0, import_vitest.expect)(results).toHaveLength(0);
76
- });
77
- });
78
- describeRule("configuration-fields-must-have-a-title", (lint) => {
79
- import_vitest.test.each(PARAM_NAMES)("missing title should trigger (%s)", async (paramName) => {
80
- const definition = {
81
- configuration: { schema: { properties: { [paramName]: { [ZUI]: {} } } } }
82
- };
83
- const results = await lint(definition);
84
- (0, import_vitest.expect)(results).toHaveLength(1);
85
- (0, import_vitest.expect)(results[0]?.path).toEqual(["configuration", "schema", "properties", paramName, ZUI]);
86
- (0, import_vitest.expect)(results[0]?.message).toContain("title");
87
- });
88
- import_vitest.test.each(PARAM_NAMES)("empty title should trigger (%s)", async (paramName) => {
89
- const definition = {
90
- configuration: { schema: { properties: { [paramName]: { [ZUI]: { title: EMPTY_STRING } } } } }
91
- };
92
- const results = await lint(definition);
93
- (0, import_vitest.expect)(results).toHaveLength(1);
94
- (0, import_vitest.expect)(results[0]?.path).toEqual(["configuration", "schema", "properties", paramName, ZUI, "title"]);
95
- (0, import_vitest.expect)(results[0]?.message).toContain("title");
96
- });
97
- import_vitest.test.each(PARAM_NAMES)("valid title should not trigger (%s)", async (paramName) => {
98
- const definition = {
99
- configuration: { schema: { properties: { [paramName]: { [ZUI]: { title: TRUTHY_STRING } } } } }
100
- };
101
- const results = await lint(definition);
102
- (0, import_vitest.expect)(results).toHaveLength(0);
103
- });
104
- });
105
- describeRule("configuration-fields-must-have-a-description", (lint) => {
106
- import_vitest.test.each(PARAM_NAMES)("missing description should trigger (%s)", async (paramName) => {
107
- const definition = {
108
- configuration: { schema: { properties: { [paramName]: {} } } }
109
- };
110
- const results = await lint(definition);
111
- (0, import_vitest.expect)(results).toHaveLength(1);
112
- (0, import_vitest.expect)(results[0]?.path).toEqual(["configuration", "schema", "properties", paramName]);
113
- (0, import_vitest.expect)(results[0]?.message).toContain("description");
114
- });
115
- import_vitest.test.each(PARAM_NAMES)("empty description should trigger (%s)", async (paramName) => {
116
- const definition = {
117
- configuration: { schema: { properties: { [paramName]: { description: EMPTY_STRING } } } }
118
- };
119
- const results = await lint(definition);
120
- (0, import_vitest.expect)(results).toHaveLength(1);
121
- (0, import_vitest.expect)(results[0]?.path).toEqual(["configuration", "schema", "properties", paramName, "description"]);
122
- (0, import_vitest.expect)(results[0]?.message).toContain("description");
123
- });
124
- import_vitest.test.each(PARAM_NAMES)("valid description should not trigger (%s)", async (paramName) => {
125
- const definition = {
126
- configuration: { schema: { properties: { [paramName]: { description: TRUTHY_STRING } } } }
127
- };
128
- const results = await lint(definition);
129
- (0, import_vitest.expect)(results).toHaveLength(0);
130
- });
131
- });
132
- describeRule("user-tags-should-have-a-title", (lint) => {
133
- (0, import_vitest.test)("missing title should trigger", async () => {
134
- const definition = { user: { tags: { [TAG_NAME]: {} } } };
135
- const results = await lint(definition);
136
- (0, import_vitest.expect)(results).toHaveLength(1);
137
- (0, import_vitest.expect)(results[0]?.path).toEqual(["user", "tags", TAG_NAME]);
138
- (0, import_vitest.expect)(results[0]?.message).toContain("title");
139
- });
140
- (0, import_vitest.test)("empty title should trigger", async () => {
141
- const definition = { user: { tags: { [TAG_NAME]: { title: EMPTY_STRING } } } };
142
- const results = await lint(definition);
143
- (0, import_vitest.expect)(results).toHaveLength(1);
144
- (0, import_vitest.expect)(results[0]?.path).toEqual(["user", "tags", TAG_NAME, "title"]);
145
- (0, import_vitest.expect)(results[0]?.message).toContain("title");
146
- });
147
- (0, import_vitest.test)("valid title should not trigger", async () => {
148
- const definition = { user: { tags: { [TAG_NAME]: { title: TRUTHY_STRING } } } };
149
- const results = await lint(definition);
150
- (0, import_vitest.expect)(results).toHaveLength(0);
151
- });
152
- });
153
- describeRule("user-tags-must-have-a-description", (lint) => {
154
- (0, import_vitest.test)("missing description should trigger", async () => {
155
- const definition = { user: { tags: { [TAG_NAME]: {} } } };
156
- const results = await lint(definition);
157
- (0, import_vitest.expect)(results).toHaveLength(1);
158
- (0, import_vitest.expect)(results[0]?.path).toEqual(["user", "tags", TAG_NAME]);
159
- (0, import_vitest.expect)(results[0]?.message).toContain("description");
160
- });
161
- (0, import_vitest.test)("empty description should trigger", async () => {
162
- const definition = {
163
- user: { tags: { [TAG_NAME]: { description: EMPTY_STRING } } }
164
- };
165
- const results = await lint(definition);
166
- (0, import_vitest.expect)(results).toHaveLength(1);
167
- (0, import_vitest.expect)(results[0]?.path).toEqual(["user", "tags", TAG_NAME, "description"]);
168
- (0, import_vitest.expect)(results[0]?.message).toContain("description");
169
- });
170
- (0, import_vitest.test)("valid description should not trigger", async () => {
171
- const definition = {
172
- user: { tags: { [TAG_NAME]: { description: TRUTHY_STRING } } }
173
- };
174
- const results = await lint(definition);
175
- (0, import_vitest.expect)(results).toHaveLength(0);
176
- });
177
- });
178
- describeRule("conversation-tags-should-have-a-title", (lint) => {
179
- (0, import_vitest.test)("missing title should trigger", async () => {
180
- const definition = { conversation: { tags: { [TAG_NAME]: {} } } };
181
- const results = await lint(definition);
182
- (0, import_vitest.expect)(results).toHaveLength(1);
183
- (0, import_vitest.expect)(results[0]?.path).toEqual(["conversation", "tags", TAG_NAME]);
184
- (0, import_vitest.expect)(results[0]?.message).toContain("title");
185
- });
186
- (0, import_vitest.test)("empty title should trigger", async () => {
187
- const definition = {
188
- conversation: { tags: { [TAG_NAME]: { title: EMPTY_STRING } } }
189
- };
190
- const results = await lint(definition);
191
- (0, import_vitest.expect)(results).toHaveLength(1);
192
- (0, import_vitest.expect)(results[0]?.path).toEqual(["conversation", "tags", TAG_NAME, "title"]);
193
- (0, import_vitest.expect)(results[0]?.message).toContain("title");
194
- });
195
- (0, import_vitest.test)("valid title should not trigger", async () => {
196
- const definition = {
197
- conversation: { tags: { [TAG_NAME]: { title: TRUTHY_STRING } } }
198
- };
199
- const results = await lint(definition);
200
- (0, import_vitest.expect)(results).toHaveLength(0);
201
- });
202
- });
203
- describeRule("conversation-tags-must-have-a-description", (lint) => {
204
- (0, import_vitest.test)("missing description should trigger", async () => {
205
- const definition = { conversation: { tags: { [TAG_NAME]: {} } } };
206
- const results = await lint(definition);
207
- (0, import_vitest.expect)(results).toHaveLength(1);
208
- (0, import_vitest.expect)(results[0]?.path).toEqual(["conversation", "tags", TAG_NAME]);
209
- (0, import_vitest.expect)(results[0]?.message).toContain("description");
210
- });
211
- (0, import_vitest.test)("empty description should trigger", async () => {
212
- const definition = {
213
- conversation: { tags: { [TAG_NAME]: { description: EMPTY_STRING } } }
214
- };
215
- const results = await lint(definition);
216
- (0, import_vitest.expect)(results).toHaveLength(1);
217
- (0, import_vitest.expect)(results[0]?.path).toEqual(["conversation", "tags", TAG_NAME, "description"]);
218
- (0, import_vitest.expect)(results[0]?.message).toContain("description");
219
- });
220
- (0, import_vitest.test)("valid description should not trigger", async () => {
221
- const definition = {
222
- conversation: { tags: { [TAG_NAME]: { description: TRUTHY_STRING } } }
223
- };
224
- const results = await lint(definition);
225
- (0, import_vitest.expect)(results).toHaveLength(0);
226
- });
227
- });
228
- describeRule("message-tags-should-have-a-title", (lint) => {
229
- (0, import_vitest.test)("missing title should trigger", async () => {
230
- const definition = { message: { tags: { [TAG_NAME]: {} } } };
231
- const results = await lint(definition);
232
- (0, import_vitest.expect)(results).toHaveLength(1);
233
- (0, import_vitest.expect)(results[0]?.path).toEqual(["message", "tags", TAG_NAME]);
234
- (0, import_vitest.expect)(results[0]?.message).toContain("title");
235
- });
236
- (0, import_vitest.test)("empty title should trigger", async () => {
237
- const definition = {
238
- message: { tags: { [TAG_NAME]: { title: EMPTY_STRING } } }
239
- };
240
- const results = await lint(definition);
241
- (0, import_vitest.expect)(results).toHaveLength(1);
242
- (0, import_vitest.expect)(results[0]?.path).toEqual(["message", "tags", TAG_NAME, "title"]);
243
- (0, import_vitest.expect)(results[0]?.message).toContain("title");
244
- });
245
- (0, import_vitest.test)("valid title should not trigger", async () => {
246
- const definition = {
247
- message: { tags: { [TAG_NAME]: { title: TRUTHY_STRING } } }
248
- };
249
- const results = await lint(definition);
250
- (0, import_vitest.expect)(results).toHaveLength(0);
251
- });
252
- });
253
- describeRule("message-tags-must-have-a-description", (lint) => {
254
- (0, import_vitest.test)("missing description should trigger", async () => {
255
- const definition = { message: { tags: { [TAG_NAME]: {} } } };
256
- const results = await lint(definition);
257
- (0, import_vitest.expect)(results).toHaveLength(1);
258
- (0, import_vitest.expect)(results[0]?.path).toEqual(["message", "tags", TAG_NAME]);
259
- (0, import_vitest.expect)(results[0]?.message).toContain("description");
260
- });
261
- (0, import_vitest.test)("empty description should trigger", async () => {
262
- const definition = {
263
- message: { tags: { [TAG_NAME]: { description: EMPTY_STRING } } }
264
- };
265
- const results = await lint(definition);
266
- (0, import_vitest.expect)(results).toHaveLength(1);
267
- (0, import_vitest.expect)(results[0]?.path).toEqual(["message", "tags", TAG_NAME, "description"]);
268
- (0, import_vitest.expect)(results[0]?.message).toContain("description");
269
- });
270
- (0, import_vitest.test)("valid description should not trigger", async () => {
271
- const definition = {
272
- message: { tags: { [TAG_NAME]: { description: TRUTHY_STRING } } }
273
- };
274
- const results = await lint(definition);
275
- (0, import_vitest.expect)(results).toHaveLength(0);
276
- });
277
- });
278
- describeRule("legacy-zui-title-should-be-removed", (lint) => {
279
- import_vitest.test.each(PARAM_NAMES)("legacy zui title should trigger (%s)", async (paramName) => {
280
- const definition = {
281
- configuration: {
282
- [LEGACY_ZUI]: { [paramName]: { title: TRUTHY_STRING } },
283
- schema: {}
284
- },
285
- events: { [EVENT_NAME]: { [LEGACY_ZUI]: { [paramName]: { title: TRUTHY_STRING } }, schema: {} } },
286
- states: { [STATE_NAME]: { [LEGACY_ZUI]: { [paramName]: { title: TRUTHY_STRING } }, schema: {} } }
287
- };
288
- const results = await lint(definition);
289
- (0, import_vitest.expect)(results).toHaveLength(3);
290
- (0, import_vitest.expect)(results[0]?.message).toContain(".title()");
291
- });
292
- });
293
- describeRule("legacy-zui-examples-should-be-removed", (lint) => {
294
- import_vitest.test.each(PARAM_NAMES)("legacy zui examples should trigger (%s)", async (paramName) => {
295
- const definition = {
296
- configuration: {
297
- [LEGACY_ZUI]: { [paramName]: { examples: [TRUTHY_STRING] } },
298
- schema: {}
299
- },
300
- events: { [EVENT_NAME]: { [LEGACY_ZUI]: { [paramName]: { examples: [TRUTHY_STRING] } }, schema: {} } },
301
- states: { [STATE_NAME]: { [LEGACY_ZUI]: { [paramName]: { examples: [TRUTHY_STRING] } }, schema: {} } }
302
- };
303
- const results = await lint(definition);
304
- (0, import_vitest.expect)(results).toHaveLength(3);
305
- (0, import_vitest.expect)(results[0]?.message).toContain("examples");
306
- });
307
- });
308
- describeRule("state-fields-should-have-title", (lint) => {
309
- import_vitest.test.each(PARAM_NAMES)("missing title should trigger (%s)", async (paramName) => {
310
- const definition = {
311
- states: { [STATE_NAME]: { schema: { properties: { [paramName]: { [ZUI]: {} } } } } }
312
- };
313
- const results = await lint(definition);
314
- (0, import_vitest.expect)(results).toHaveLength(1);
315
- (0, import_vitest.expect)(results[0]?.path).toEqual(["states", STATE_NAME, "schema", "properties", paramName, ZUI]);
316
- });
317
- import_vitest.test.each(PARAM_NAMES)("empty title should trigger (%s)", async (paramName) => {
318
- const definition = {
319
- states: { [STATE_NAME]: { schema: { properties: { [paramName]: { [ZUI]: { title: EMPTY_STRING } } } } } }
320
- };
321
- const results = await lint(definition);
322
- (0, import_vitest.expect)(results).toHaveLength(1);
323
- (0, import_vitest.expect)(results[0]?.path).toEqual(["states", STATE_NAME, "schema", "properties", paramName, ZUI, "title"]);
324
- });
325
- import_vitest.test.each(PARAM_NAMES)("valid title should not trigger (%s)", async (paramName) => {
326
- const definition = {
327
- states: { [STATE_NAME]: { schema: { properties: { [paramName]: { [ZUI]: { title: TRUTHY_STRING } } } } } }
328
- };
329
- const results = await lint(definition);
330
- (0, import_vitest.expect)(results).toHaveLength(0);
331
- });
332
- });
333
- describeRule("state-fields-must-have-description", (lint) => {
334
- import_vitest.test.each(PARAM_NAMES)("missing description should trigger (%s)", async (paramName) => {
335
- const definition = {
336
- states: { [STATE_NAME]: { schema: { properties: { [paramName]: {} } } } }
337
- };
338
- const results = await lint(definition);
339
- (0, import_vitest.expect)(results).toHaveLength(1);
340
- (0, import_vitest.expect)(results[0]?.path).toEqual(["states", STATE_NAME, "schema", "properties", paramName]);
341
- });
342
- import_vitest.test.each(PARAM_NAMES)("empty description should trigger (%s)", async (paramName) => {
343
- const definition = {
344
- states: { [STATE_NAME]: { schema: { properties: { [paramName]: { description: EMPTY_STRING } } } } }
345
- };
346
- const results = await lint(definition);
347
- (0, import_vitest.expect)(results).toHaveLength(1);
348
- (0, import_vitest.expect)(results[0]?.path).toEqual(["states", STATE_NAME, "schema", "properties", paramName, "description"]);
349
- });
350
- import_vitest.test.each(PARAM_NAMES)("valid description should not trigger (%s)", async (paramName) => {
351
- const definition = {
352
- states: { [STATE_NAME]: { schema: { properties: { [paramName]: { description: TRUTHY_STRING } } } } }
353
- };
354
- const results = await lint(definition);
355
- (0, import_vitest.expect)(results).toHaveLength(0);
356
- });
357
- });
358
- //# sourceMappingURL=bot.ruleset.test.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/linter/ruleset-tests/bot.ruleset.test.ts"],
4
- "sourcesContent": ["import { test, expect } from 'vitest'\nimport { BOT_RULESET } from '../rulesets/bot.ruleset'\nimport { createDescribeRule, type RecursivePartial } from './common'\nimport { type CreateBotBody } from '../../api/bot-body'\n\ntype PartialDefinition = RecursivePartial<CreateBotBody>\nconst describeRule = createDescribeRule<CreateBotBody>()(BOT_RULESET)\n\nconst EMPTY_STRING = ''\nconst TRUTHY_STRING = 'truthy'\nconst EVENT_NAME = 'eventName'\nconst PARAM_NAME = 'paramName'\nconst PROPERTIES_PARAM = 'properties'\nconst PARAM_NAMES = [PARAM_NAME, PROPERTIES_PARAM] as const\nconst TAG_NAME = 'tagName'\nconst STATE_NAME = 'stateName'\nconst ZUI = 'x-zui'\nconst LEGACY_ZUI = 'ui'\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 PartialDefinition\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 PartialDefinition\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 PartialDefinition\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 PartialDefinition\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 PartialDefinition\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 PartialDefinition\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(0)\n })\n})\n\ndescribeRule('configuration-fields-must-have-a-title', (lint) => {\n test.each(PARAM_NAMES)('missing title should trigger (%s)', async (paramName) => {\n // arrange\n const definition = {\n configuration: { schema: { properties: { [paramName]: { [ZUI]: {} } } } },\n } as const satisfies PartialDefinition\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual(['configuration', '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 configuration: { schema: { properties: { [paramName]: { [ZUI]: { title: EMPTY_STRING } } } } },\n } as const satisfies PartialDefinition\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual(['configuration', '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 configuration: { schema: { properties: { [paramName]: { [ZUI]: { title: TRUTHY_STRING } } } } },\n } as const satisfies PartialDefinition\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(0)\n })\n})\n\ndescribeRule('configuration-fields-must-have-a-description', (lint) => {\n test.each(PARAM_NAMES)('missing description should trigger (%s)', async (paramName) => {\n // arrange\n const definition = {\n configuration: { schema: { properties: { [paramName]: {} } } },\n } as const satisfies PartialDefinition\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual(['configuration', '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 configuration: { schema: { properties: { [paramName]: { description: EMPTY_STRING } } } },\n } as const satisfies PartialDefinition\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual(['configuration', '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 configuration: { schema: { properties: { [paramName]: { description: TRUTHY_STRING } } } },\n } as const satisfies PartialDefinition\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(0)\n })\n})\n\ndescribeRule('user-tags-should-have-a-title', (lint) => {\n test('missing title should trigger', async () => {\n // arrange\n const definition = { user: { tags: { [TAG_NAME]: {} } } } as const satisfies PartialDefinition\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual(['user', 'tags', TAG_NAME])\n expect(results[0]?.message).toContain('title')\n })\n\n test('empty title should trigger', async () => {\n // arrange\n const definition = { user: { tags: { [TAG_NAME]: { title: EMPTY_STRING } } } } as const satisfies PartialDefinition\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual(['user', 'tags', TAG_NAME, 'title'])\n expect(results[0]?.message).toContain('title')\n })\n\n test('valid title should not trigger', async () => {\n // arrange\n const definition = { user: { tags: { [TAG_NAME]: { title: TRUTHY_STRING } } } } as const satisfies PartialDefinition\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(0)\n })\n})\n\ndescribeRule('user-tags-must-have-a-description', (lint) => {\n test('missing description should trigger', async () => {\n // arrange\n const definition = { user: { tags: { [TAG_NAME]: {} } } } as const satisfies PartialDefinition\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual(['user', 'tags', TAG_NAME])\n expect(results[0]?.message).toContain('description')\n })\n\n test('empty description should trigger', async () => {\n // arrange\n const definition = {\n user: { tags: { [TAG_NAME]: { description: EMPTY_STRING } } },\n } as const satisfies PartialDefinition\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual(['user', 'tags', TAG_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 user: { tags: { [TAG_NAME]: { description: TRUTHY_STRING } } },\n } as const satisfies PartialDefinition\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(0)\n })\n})\n\ndescribeRule('conversation-tags-should-have-a-title', (lint) => {\n test('missing title should trigger', async () => {\n // arrange\n const definition = { conversation: { tags: { [TAG_NAME]: {} } } } as const satisfies PartialDefinition\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual(['conversation', 'tags', TAG_NAME])\n expect(results[0]?.message).toContain('title')\n })\n\n test('empty title should trigger', async () => {\n // arrange\n const definition = {\n conversation: { tags: { [TAG_NAME]: { title: EMPTY_STRING } } },\n } as const satisfies PartialDefinition\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual(['conversation', 'tags', TAG_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 conversation: { tags: { [TAG_NAME]: { title: TRUTHY_STRING } } },\n } as const satisfies PartialDefinition\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(0)\n })\n})\n\ndescribeRule('conversation-tags-must-have-a-description', (lint) => {\n test('missing description should trigger', async () => {\n // arrange\n const definition = { conversation: { tags: { [TAG_NAME]: {} } } } as const satisfies PartialDefinition\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual(['conversation', 'tags', TAG_NAME])\n expect(results[0]?.message).toContain('description')\n })\n\n test('empty description should trigger', async () => {\n // arrange\n const definition = {\n conversation: { tags: { [TAG_NAME]: { description: EMPTY_STRING } } },\n } as const satisfies PartialDefinition\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual(['conversation', 'tags', TAG_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 conversation: { tags: { [TAG_NAME]: { description: TRUTHY_STRING } } },\n } as const satisfies PartialDefinition\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(0)\n })\n})\n\ndescribeRule('message-tags-should-have-a-title', (lint) => {\n test('missing title should trigger', async () => {\n // arrange\n const definition = { message: { tags: { [TAG_NAME]: {} } } } as const satisfies PartialDefinition\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual(['message', 'tags', TAG_NAME])\n expect(results[0]?.message).toContain('title')\n })\n\n test('empty title should trigger', async () => {\n // arrange\n const definition = {\n message: { tags: { [TAG_NAME]: { title: EMPTY_STRING } } },\n } as const satisfies PartialDefinition\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual(['message', 'tags', TAG_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 message: { tags: { [TAG_NAME]: { title: TRUTHY_STRING } } },\n } as const satisfies PartialDefinition\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(0)\n })\n})\n\ndescribeRule('message-tags-must-have-a-description', (lint) => {\n test('missing description should trigger', async () => {\n // arrange\n const definition = { message: { tags: { [TAG_NAME]: {} } } } as const satisfies PartialDefinition\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual(['message', 'tags', TAG_NAME])\n expect(results[0]?.message).toContain('description')\n })\n\n test('empty description should trigger', async () => {\n // arrange\n const definition = {\n message: { tags: { [TAG_NAME]: { description: EMPTY_STRING } } },\n } as const satisfies PartialDefinition\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual(['message', 'tags', TAG_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 message: { tags: { [TAG_NAME]: { description: TRUTHY_STRING } } },\n } as const satisfies PartialDefinition\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 configuration: {\n [LEGACY_ZUI]: { [paramName]: { title: TRUTHY_STRING } },\n schema: {},\n },\n events: { [EVENT_NAME]: { [LEGACY_ZUI]: { [paramName]: { title: TRUTHY_STRING } }, schema: {} } },\n states: { [STATE_NAME]: { [LEGACY_ZUI]: { [paramName]: { title: TRUTHY_STRING } }, schema: {} } },\n } as const satisfies PartialDefinition\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(3)\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 configuration: {\n [LEGACY_ZUI]: { [paramName]: { examples: [TRUTHY_STRING] } },\n schema: {},\n },\n events: { [EVENT_NAME]: { [LEGACY_ZUI]: { [paramName]: { examples: [TRUTHY_STRING] } }, schema: {} } },\n states: { [STATE_NAME]: { [LEGACY_ZUI]: { [paramName]: { examples: [TRUTHY_STRING] } }, schema: {} } },\n } as const satisfies PartialDefinition\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(3)\n expect(results[0]?.message).toContain('examples')\n })\n})\n\ndescribeRule('state-fields-should-have-title', (lint) => {\n test.each(PARAM_NAMES)('missing title should trigger (%s)', async (paramName) => {\n // arrange\n const definition = {\n states: { [STATE_NAME]: { schema: { properties: { [paramName]: { [ZUI]: {} } } } } },\n } as const satisfies PartialDefinition\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual(['states', STATE_NAME, 'schema', 'properties', paramName, ZUI])\n })\n\n test.each(PARAM_NAMES)('empty title should trigger (%s)', async (paramName) => {\n // arrange\n const definition = {\n states: { [STATE_NAME]: { schema: { properties: { [paramName]: { [ZUI]: { title: EMPTY_STRING } } } } } },\n } as const satisfies PartialDefinition\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual(['states', STATE_NAME, 'schema', 'properties', paramName, ZUI, 'title'])\n })\n\n test.each(PARAM_NAMES)('valid title should not trigger (%s)', async (paramName) => {\n // arrange\n const definition = {\n states: { [STATE_NAME]: { schema: { properties: { [paramName]: { [ZUI]: { title: TRUTHY_STRING } } } } } },\n } as const satisfies PartialDefinition\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(0)\n })\n})\n\ndescribeRule('state-fields-must-have-description', (lint) => {\n test.each(PARAM_NAMES)('missing description should trigger (%s)', async (paramName) => {\n // arrange\n const definition = {\n states: { [STATE_NAME]: { schema: { properties: { [paramName]: {} } } } },\n } as const satisfies PartialDefinition\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual(['states', STATE_NAME, 'schema', 'properties', paramName])\n })\n\n test.each(PARAM_NAMES)('empty description should trigger (%s)', async (paramName) => {\n // arrange\n const definition = {\n states: { [STATE_NAME]: { schema: { properties: { [paramName]: { description: EMPTY_STRING } } } } },\n } as const satisfies PartialDefinition\n\n // act\n const results = await lint(definition)\n\n // assert\n expect(results).toHaveLength(1)\n expect(results[0]?.path).toEqual(['states', STATE_NAME, 'schema', 'properties', paramName, 'description'])\n })\n\n test.each(PARAM_NAMES)('valid description should not trigger (%s)', async (paramName) => {\n // arrange\n const definition = {\n states: { [STATE_NAME]: { schema: { properties: { [paramName]: { description: TRUTHY_STRING } } } } },\n } as const satisfies PartialDefinition\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,37 +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 common_exports = {};
20
- __export(common_exports, {
21
- createDescribeRule: () => createDescribeRule
22
- });
23
- module.exports = __toCommonJS(common_exports);
24
- var import_spectral_core = require("@stoplight/spectral-core");
25
- var import_spectral_parsers = require("@stoplight/spectral-parsers");
26
- var import_vitest = require("vitest");
27
- const createDescribeRule = () => (ruleset) => (ruleName, fn) => import_vitest.describe.concurrent(ruleName, () => {
28
- const spectral = new import_spectral_core.Spectral();
29
- spectral.setRuleset({ ...ruleset, rules: { [ruleName]: ruleset.rules[ruleName] } });
30
- const lintFn = (definition) => spectral.run(new import_spectral_core.Document(JSON.stringify(definition), import_spectral_parsers.Json));
31
- fn(lintFn);
32
- });
33
- // Annotate the CommonJS export names for ESM import in node:
34
- 0 && (module.exports = {
35
- createDescribeRule
36
- });
37
- //# sourceMappingURL=common.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/linter/ruleset-tests/common.ts"],
4
- "sourcesContent": ["import { Document, type ISpectralDiagnostic, Spectral, type RuleDefinition } from '@stoplight/spectral-core'\nimport { Json as JsonParser } from '@stoplight/spectral-parsers'\nimport { describe } from 'vitest'\n\nexport type RecursivePartial<T> = {\n [P in Extract<keyof T, string>]?: T[P] extends (infer U)[]\n ? RecursivePartial<U>[]\n : T[P] extends object | undefined\n ? RecursivePartial<T[P]>\n : T[P]\n}\n\ntype Ruleset = {\n rules: Record<string, Readonly<RuleDefinition>>\n}\n\nexport const createDescribeRule =\n <TDefinition>() =>\n <TRuleset extends Ruleset>(ruleset: TRuleset) =>\n <TPartialDefinition extends RecursivePartial<TDefinition>>(\n ruleName: Extract<keyof (typeof ruleset)['rules'], string>,\n fn: (lint: (definition: TPartialDefinition) => Promise<ISpectralDiagnostic[]>) => void\n ) =>\n describe.concurrent(ruleName, () => {\n const spectral = new Spectral()\n spectral.setRuleset({ ...ruleset, rules: { [ruleName]: ruleset.rules[ruleName]! } })\n\n const lintFn = (definition: TPartialDefinition) =>\n spectral.run(new Document(JSON.stringify(definition), JsonParser))\n\n fn(lintFn)\n })\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAAkF;AAClF,8BAAmC;AACnC,oBAAyB;AAclB,MAAM,qBACX,MACA,CAA2B,YAC3B,CACE,UACA,OAEA,uBAAS,WAAW,UAAU,MAAM;AAClC,QAAM,WAAW,IAAI,8BAAS;AAC9B,WAAS,WAAW,EAAE,GAAG,SAAS,OAAO,EAAE,CAAC,QAAQ,GAAG,QAAQ,MAAM,QAAQ,EAAG,EAAE,CAAC;AAEnF,QAAM,SAAS,CAAC,eACd,SAAS,IAAI,IAAI,8BAAS,KAAK,UAAU,UAAU,GAAG,wBAAAA,IAAU,CAAC;AAEnE,KAAG,MAAM;AACX,CAAC;",
6
- "names": ["JsonParser"]
7
- }