codika 3.0.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 (403) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +68 -0
  3. package/dist/cli/commands/completion.d.ts +15 -0
  4. package/dist/cli/commands/completion.d.ts.map +1 -0
  5. package/dist/cli/commands/completion.js +810 -0
  6. package/dist/cli/commands/completion.js.map +1 -0
  7. package/dist/cli/commands/config/clear.d.ts +12 -0
  8. package/dist/cli/commands/config/clear.d.ts.map +1 -0
  9. package/dist/cli/commands/config/clear.js +35 -0
  10. package/dist/cli/commands/config/clear.js.map +1 -0
  11. package/dist/cli/commands/config/index.d.ts +15 -0
  12. package/dist/cli/commands/config/index.d.ts.map +1 -0
  13. package/dist/cli/commands/config/index.js +21 -0
  14. package/dist/cli/commands/config/index.js.map +1 -0
  15. package/dist/cli/commands/config/set.d.ts +41 -0
  16. package/dist/cli/commands/config/set.d.ts.map +1 -0
  17. package/dist/cli/commands/config/set.js +185 -0
  18. package/dist/cli/commands/config/set.js.map +1 -0
  19. package/dist/cli/commands/config/show.d.ts +12 -0
  20. package/dist/cli/commands/config/show.d.ts.map +1 -0
  21. package/dist/cli/commands/config/show.js +45 -0
  22. package/dist/cli/commands/config/show.js.map +1 -0
  23. package/dist/cli/commands/deploy/documents.d.ts +12 -0
  24. package/dist/cli/commands/deploy/documents.d.ts.map +1 -0
  25. package/dist/cli/commands/deploy/documents.js +217 -0
  26. package/dist/cli/commands/deploy/documents.js.map +1 -0
  27. package/dist/cli/commands/deploy/index.d.ts +14 -0
  28. package/dist/cli/commands/deploy/index.d.ts.map +1 -0
  29. package/dist/cli/commands/deploy/index.js +21 -0
  30. package/dist/cli/commands/deploy/index.js.map +1 -0
  31. package/dist/cli/commands/deploy/process-data-ingestion.d.ts +13 -0
  32. package/dist/cli/commands/deploy/process-data-ingestion.d.ts.map +1 -0
  33. package/dist/cli/commands/deploy/process-data-ingestion.js +226 -0
  34. package/dist/cli/commands/deploy/process-data-ingestion.js.map +1 -0
  35. package/dist/cli/commands/deploy/use-case.d.ts +9 -0
  36. package/dist/cli/commands/deploy/use-case.d.ts.map +1 -0
  37. package/dist/cli/commands/deploy/use-case.js +212 -0
  38. package/dist/cli/commands/deploy/use-case.js.map +1 -0
  39. package/dist/cli/commands/get/execution.d.ts +9 -0
  40. package/dist/cli/commands/get/execution.d.ts.map +1 -0
  41. package/dist/cli/commands/get/execution.js +159 -0
  42. package/dist/cli/commands/get/execution.js.map +1 -0
  43. package/dist/cli/commands/get/index.d.ts +13 -0
  44. package/dist/cli/commands/get/index.d.ts.map +1 -0
  45. package/dist/cli/commands/get/index.js +20 -0
  46. package/dist/cli/commands/get/index.js.map +1 -0
  47. package/dist/cli/commands/get/skills.d.ts +15 -0
  48. package/dist/cli/commands/get/skills.d.ts.map +1 -0
  49. package/dist/cli/commands/get/skills.js +135 -0
  50. package/dist/cli/commands/get/skills.js.map +1 -0
  51. package/dist/cli/commands/get/use-case.d.ts +9 -0
  52. package/dist/cli/commands/get/use-case.d.ts.map +1 -0
  53. package/dist/cli/commands/get/use-case.js +186 -0
  54. package/dist/cli/commands/get/use-case.js.map +1 -0
  55. package/dist/cli/commands/init.d.ts +14 -0
  56. package/dist/cli/commands/init.d.ts.map +1 -0
  57. package/dist/cli/commands/init.js +347 -0
  58. package/dist/cli/commands/init.js.map +1 -0
  59. package/dist/cli/commands/integration/delete.d.ts +13 -0
  60. package/dist/cli/commands/integration/delete.d.ts.map +1 -0
  61. package/dist/cli/commands/integration/delete.js +140 -0
  62. package/dist/cli/commands/integration/delete.js.map +1 -0
  63. package/dist/cli/commands/integration/index.d.ts +13 -0
  64. package/dist/cli/commands/integration/index.d.ts.map +1 -0
  65. package/dist/cli/commands/integration/index.js +20 -0
  66. package/dist/cli/commands/integration/index.js.map +1 -0
  67. package/dist/cli/commands/integration/list.d.ts +13 -0
  68. package/dist/cli/commands/integration/list.d.ts.map +1 -0
  69. package/dist/cli/commands/integration/list.js +129 -0
  70. package/dist/cli/commands/integration/list.js.map +1 -0
  71. package/dist/cli/commands/integration/set.d.ts +13 -0
  72. package/dist/cli/commands/integration/set.d.ts.map +1 -0
  73. package/dist/cli/commands/integration/set.js +253 -0
  74. package/dist/cli/commands/integration/set.js.map +1 -0
  75. package/dist/cli/commands/list/executions.d.ts +12 -0
  76. package/dist/cli/commands/list/executions.d.ts.map +1 -0
  77. package/dist/cli/commands/list/executions.js +168 -0
  78. package/dist/cli/commands/list/executions.js.map +1 -0
  79. package/dist/cli/commands/list/index.d.ts +11 -0
  80. package/dist/cli/commands/list/index.d.ts.map +1 -0
  81. package/dist/cli/commands/list/index.js +14 -0
  82. package/dist/cli/commands/list/index.js.map +1 -0
  83. package/dist/cli/commands/logout.d.ts +12 -0
  84. package/dist/cli/commands/logout.d.ts.map +1 -0
  85. package/dist/cli/commands/logout.js +58 -0
  86. package/dist/cli/commands/logout.js.map +1 -0
  87. package/dist/cli/commands/project/create.d.ts +8 -0
  88. package/dist/cli/commands/project/create.d.ts.map +1 -0
  89. package/dist/cli/commands/project/create.js +109 -0
  90. package/dist/cli/commands/project/create.js.map +1 -0
  91. package/dist/cli/commands/project/index.d.ts +12 -0
  92. package/dist/cli/commands/project/index.d.ts.map +1 -0
  93. package/dist/cli/commands/project/index.js +15 -0
  94. package/dist/cli/commands/project/index.js.map +1 -0
  95. package/dist/cli/commands/publish.d.ts +12 -0
  96. package/dist/cli/commands/publish.d.ts.map +1 -0
  97. package/dist/cli/commands/publish.js +152 -0
  98. package/dist/cli/commands/publish.js.map +1 -0
  99. package/dist/cli/commands/redeploy.d.ts +11 -0
  100. package/dist/cli/commands/redeploy.d.ts.map +1 -0
  101. package/dist/cli/commands/redeploy.js +166 -0
  102. package/dist/cli/commands/redeploy.js.map +1 -0
  103. package/dist/cli/commands/status.d.ts +63 -0
  104. package/dist/cli/commands/status.d.ts.map +1 -0
  105. package/dist/cli/commands/status.js +290 -0
  106. package/dist/cli/commands/status.js.map +1 -0
  107. package/dist/cli/commands/trigger.d.ts +8 -0
  108. package/dist/cli/commands/trigger.d.ts.map +1 -0
  109. package/dist/cli/commands/trigger.js +247 -0
  110. package/dist/cli/commands/trigger.js.map +1 -0
  111. package/dist/cli/commands/use.d.ts +13 -0
  112. package/dist/cli/commands/use.d.ts.map +1 -0
  113. package/dist/cli/commands/use.js +92 -0
  114. package/dist/cli/commands/use.js.map +1 -0
  115. package/dist/cli/commands/verify/index.d.ts +13 -0
  116. package/dist/cli/commands/verify/index.d.ts.map +1 -0
  117. package/dist/cli/commands/verify/index.js +18 -0
  118. package/dist/cli/commands/verify/index.js.map +1 -0
  119. package/dist/cli/commands/verify/use-case.d.ts +23 -0
  120. package/dist/cli/commands/verify/use-case.d.ts.map +1 -0
  121. package/dist/cli/commands/verify/use-case.js +94 -0
  122. package/dist/cli/commands/verify/use-case.js.map +1 -0
  123. package/dist/cli/commands/verify/workflow.d.ts +22 -0
  124. package/dist/cli/commands/verify/workflow.d.ts.map +1 -0
  125. package/dist/cli/commands/verify/workflow.js +82 -0
  126. package/dist/cli/commands/verify/workflow.js.map +1 -0
  127. package/dist/cli/commands/whoami.d.ts +13 -0
  128. package/dist/cli/commands/whoami.d.ts.map +1 -0
  129. package/dist/cli/commands/whoami.js +126 -0
  130. package/dist/cli/commands/whoami.js.map +1 -0
  131. package/dist/cli/index.d.ts +24 -0
  132. package/dist/cli/index.d.ts.map +1 -0
  133. package/dist/cli/index.js +90 -0
  134. package/dist/cli/index.js.map +1 -0
  135. package/dist/cli/templates/claude-md-template.d.ts +12 -0
  136. package/dist/cli/templates/claude-md-template.d.ts.map +1 -0
  137. package/dist/cli/templates/claude-md-template.js +162 -0
  138. package/dist/cli/templates/claude-md-template.js.map +1 -0
  139. package/dist/cli/templates/config-template.d.ts +18 -0
  140. package/dist/cli/templates/config-template.d.ts.map +1 -0
  141. package/dist/cli/templates/config-template.js +350 -0
  142. package/dist/cli/templates/config-template.js.map +1 -0
  143. package/dist/cli/templates/skill-templates.d.ts +24 -0
  144. package/dist/cli/templates/skill-templates.d.ts.map +1 -0
  145. package/dist/cli/templates/skill-templates.js +117 -0
  146. package/dist/cli/templates/skill-templates.js.map +1 -0
  147. package/dist/cli/templates/slug.d.ts +9 -0
  148. package/dist/cli/templates/slug.d.ts.map +1 -0
  149. package/dist/cli/templates/slug.js +17 -0
  150. package/dist/cli/templates/slug.js.map +1 -0
  151. package/dist/cli/templates/workflow-templates.d.ts +693 -0
  152. package/dist/cli/templates/workflow-templates.d.ts.map +1 -0
  153. package/dist/cli/templates/workflow-templates.js +516 -0
  154. package/dist/cli/templates/workflow-templates.js.map +1 -0
  155. package/dist/cli/utils/output.d.ts +65 -0
  156. package/dist/cli/utils/output.d.ts.map +1 -0
  157. package/dist/cli/utils/output.js +188 -0
  158. package/dist/cli/utils/output.js.map +1 -0
  159. package/dist/cli/utils/validation-output.d.ts +21 -0
  160. package/dist/cli/utils/validation-output.d.ts.map +1 -0
  161. package/dist/cli/utils/validation-output.js +204 -0
  162. package/dist/cli/utils/validation-output.js.map +1 -0
  163. package/dist/data/integration-fields.d.ts +27 -0
  164. package/dist/data/integration-fields.d.ts.map +1 -0
  165. package/dist/data/integration-fields.js +361 -0
  166. package/dist/data/integration-fields.js.map +1 -0
  167. package/dist/index.d.ts +25 -0
  168. package/dist/index.d.ts.map +1 -0
  169. package/dist/index.js +39 -0
  170. package/dist/index.js.map +1 -0
  171. package/dist/types/process-types.d.ts +740 -0
  172. package/dist/types/process-types.d.ts.map +1 -0
  173. package/dist/types/process-types.js +22 -0
  174. package/dist/types/process-types.js.map +1 -0
  175. package/dist/utils/config.d.ts +127 -0
  176. package/dist/utils/config.d.ts.map +1 -0
  177. package/dist/utils/config.js +315 -0
  178. package/dist/utils/config.js.map +1 -0
  179. package/dist/utils/data-ingestion-deploy-client.d.ts +53 -0
  180. package/dist/utils/data-ingestion-deploy-client.d.ts.map +1 -0
  181. package/dist/utils/data-ingestion-deploy-client.js +63 -0
  182. package/dist/utils/data-ingestion-deploy-client.js.map +1 -0
  183. package/dist/utils/data-ingestion-deployer.d.ts +78 -0
  184. package/dist/utils/data-ingestion-deployer.d.ts.map +1 -0
  185. package/dist/utils/data-ingestion-deployer.js +119 -0
  186. package/dist/utils/data-ingestion-deployer.js.map +1 -0
  187. package/dist/utils/deploy-client.d.ts +55 -0
  188. package/dist/utils/deploy-client.d.ts.map +1 -0
  189. package/dist/utils/deploy-client.js +73 -0
  190. package/dist/utils/deploy-client.js.map +1 -0
  191. package/dist/utils/deployment-archiver.d.ts +110 -0
  192. package/dist/utils/deployment-archiver.d.ts.map +1 -0
  193. package/dist/utils/deployment-archiver.js +158 -0
  194. package/dist/utils/deployment-archiver.js.map +1 -0
  195. package/dist/utils/document-deploy-client.d.ts +41 -0
  196. package/dist/utils/document-deploy-client.d.ts.map +1 -0
  197. package/dist/utils/document-deploy-client.js +46 -0
  198. package/dist/utils/document-deploy-client.js.map +1 -0
  199. package/dist/utils/encryption.d.ts +85 -0
  200. package/dist/utils/encryption.d.ts.map +1 -0
  201. package/dist/utils/encryption.js +162 -0
  202. package/dist/utils/encryption.js.map +1 -0
  203. package/dist/utils/execution-client.d.ts +71 -0
  204. package/dist/utils/execution-client.d.ts.map +1 -0
  205. package/dist/utils/execution-client.js +56 -0
  206. package/dist/utils/execution-client.js.map +1 -0
  207. package/dist/utils/integration-client.d.ts +134 -0
  208. package/dist/utils/integration-client.d.ts.map +1 -0
  209. package/dist/utils/integration-client.js +109 -0
  210. package/dist/utils/integration-client.js.map +1 -0
  211. package/dist/utils/list-executions-client.d.ts +47 -0
  212. package/dist/utils/list-executions-client.d.ts.map +1 -0
  213. package/dist/utils/list-executions-client.js +50 -0
  214. package/dist/utils/list-executions-client.js.map +1 -0
  215. package/dist/utils/metadata-client.d.ts +90 -0
  216. package/dist/utils/metadata-client.d.ts.map +1 -0
  217. package/dist/utils/metadata-client.js +66 -0
  218. package/dist/utils/metadata-client.js.map +1 -0
  219. package/dist/utils/project-client.d.ts +70 -0
  220. package/dist/utils/project-client.d.ts.map +1 -0
  221. package/dist/utils/project-client.js +63 -0
  222. package/dist/utils/project-client.js.map +1 -0
  223. package/dist/utils/project-json.d.ts +71 -0
  224. package/dist/utils/project-json.d.ts.map +1 -0
  225. package/dist/utils/project-json.js +129 -0
  226. package/dist/utils/project-json.js.map +1 -0
  227. package/dist/utils/publish-client.d.ts +53 -0
  228. package/dist/utils/publish-client.d.ts.map +1 -0
  229. package/dist/utils/publish-client.js +64 -0
  230. package/dist/utils/publish-client.js.map +1 -0
  231. package/dist/utils/redeploy-client.d.ts +39 -0
  232. package/dist/utils/redeploy-client.d.ts.map +1 -0
  233. package/dist/utils/redeploy-client.js +51 -0
  234. package/dist/utils/redeploy-client.js.map +1 -0
  235. package/dist/utils/skill-parser.d.ts +52 -0
  236. package/dist/utils/skill-parser.d.ts.map +1 -0
  237. package/dist/utils/skill-parser.js +127 -0
  238. package/dist/utils/skill-parser.js.map +1 -0
  239. package/dist/utils/skills-client.d.ts +39 -0
  240. package/dist/utils/skills-client.d.ts.map +1 -0
  241. package/dist/utils/skills-client.js +32 -0
  242. package/dist/utils/skills-client.js.map +1 -0
  243. package/dist/utils/trigger-client.d.ts +78 -0
  244. package/dist/utils/trigger-client.d.ts.map +1 -0
  245. package/dist/utils/trigger-client.js +81 -0
  246. package/dist/utils/trigger-client.js.map +1 -0
  247. package/dist/utils/use-case-deployer.d.ts +93 -0
  248. package/dist/utils/use-case-deployer.d.ts.map +1 -0
  249. package/dist/utils/use-case-deployer.js +270 -0
  250. package/dist/utils/use-case-deployer.js.map +1 -0
  251. package/dist/utils/version-manager.d.ts +63 -0
  252. package/dist/utils/version-manager.d.ts.map +1 -0
  253. package/dist/utils/version-manager.js +91 -0
  254. package/dist/utils/version-manager.js.map +1 -0
  255. package/dist/utils/workflow-encoding.d.ts +26 -0
  256. package/dist/utils/workflow-encoding.d.ts.map +1 -0
  257. package/dist/utils/workflow-encoding.js +41 -0
  258. package/dist/utils/workflow-encoding.js.map +1 -0
  259. package/dist/validation/fixer.d.ts +56 -0
  260. package/dist/validation/fixer.d.ts.map +1 -0
  261. package/dist/validation/fixer.js +168 -0
  262. package/dist/validation/fixer.js.map +1 -0
  263. package/dist/validation/rules/codika-init-required.d.ts +18 -0
  264. package/dist/validation/rules/codika-init-required.d.ts.map +1 -0
  265. package/dist/validation/rules/codika-init-required.js +70 -0
  266. package/dist/validation/rules/codika-init-required.js.map +1 -0
  267. package/dist/validation/rules/codika-submit-result.d.ts +22 -0
  268. package/dist/validation/rules/codika-submit-result.d.ts.map +1 -0
  269. package/dist/validation/rules/codika-submit-result.js +144 -0
  270. package/dist/validation/rules/codika-submit-result.js.map +1 -0
  271. package/dist/validation/rules/error-branch-required.d.ts +24 -0
  272. package/dist/validation/rules/error-branch-required.d.ts.map +1 -0
  273. package/dist/validation/rules/error-branch-required.js +103 -0
  274. package/dist/validation/rules/error-branch-required.js.map +1 -0
  275. package/dist/validation/rules/index.d.ts +18 -0
  276. package/dist/validation/rules/index.d.ts.map +1 -0
  277. package/dist/validation/rules/index.js +28 -0
  278. package/dist/validation/rules/index.js.map +1 -0
  279. package/dist/validation/rules/schedule-webhook-convergence.d.ts +24 -0
  280. package/dist/validation/rules/schedule-webhook-convergence.d.ts.map +1 -0
  281. package/dist/validation/rules/schedule-webhook-convergence.js +129 -0
  282. package/dist/validation/rules/schedule-webhook-convergence.js.map +1 -0
  283. package/dist/validation/rules/subworkflow-min-params.d.ts +21 -0
  284. package/dist/validation/rules/subworkflow-min-params.d.ts.map +1 -0
  285. package/dist/validation/rules/subworkflow-min-params.js +84 -0
  286. package/dist/validation/rules/subworkflow-min-params.js.map +1 -0
  287. package/dist/validation/runner.d.ts +43 -0
  288. package/dist/validation/runner.d.ts.map +1 -0
  289. package/dist/validation/runner.js +335 -0
  290. package/dist/validation/runner.js.map +1 -0
  291. package/dist/validation/types.d.ts +155 -0
  292. package/dist/validation/types.d.ts.map +1 -0
  293. package/dist/validation/types.js +8 -0
  294. package/dist/validation/types.js.map +1 -0
  295. package/dist/validation/use-case-scripts/calledby-consistency.d.ts +23 -0
  296. package/dist/validation/use-case-scripts/calledby-consistency.d.ts.map +1 -0
  297. package/dist/validation/use-case-scripts/calledby-consistency.js +236 -0
  298. package/dist/validation/use-case-scripts/calledby-consistency.js.map +1 -0
  299. package/dist/validation/use-case-scripts/config-exports.d.ts +17 -0
  300. package/dist/validation/use-case-scripts/config-exports.d.ts.map +1 -0
  301. package/dist/validation/use-case-scripts/config-exports.js +93 -0
  302. package/dist/validation/use-case-scripts/config-exports.js.map +1 -0
  303. package/dist/validation/use-case-scripts/custom-integration-schema.d.ts +21 -0
  304. package/dist/validation/use-case-scripts/custom-integration-schema.d.ts.map +1 -0
  305. package/dist/validation/use-case-scripts/custom-integration-schema.js +378 -0
  306. package/dist/validation/use-case-scripts/custom-integration-schema.js.map +1 -0
  307. package/dist/validation/use-case-scripts/index.d.ts +27 -0
  308. package/dist/validation/use-case-scripts/index.d.ts.map +1 -0
  309. package/dist/validation/use-case-scripts/index.js +52 -0
  310. package/dist/validation/use-case-scripts/index.js.map +1 -0
  311. package/dist/validation/use-case-scripts/integration-inheritance.d.ts +35 -0
  312. package/dist/validation/use-case-scripts/integration-inheritance.d.ts.map +1 -0
  313. package/dist/validation/use-case-scripts/integration-inheritance.js +348 -0
  314. package/dist/validation/use-case-scripts/integration-inheritance.js.map +1 -0
  315. package/dist/validation/use-case-scripts/schema-types.d.ts +21 -0
  316. package/dist/validation/use-case-scripts/schema-types.d.ts.map +1 -0
  317. package/dist/validation/use-case-scripts/schema-types.js +134 -0
  318. package/dist/validation/use-case-scripts/schema-types.js.map +1 -0
  319. package/dist/validation/use-case-scripts/skill-consistency.d.ts +21 -0
  320. package/dist/validation/use-case-scripts/skill-consistency.d.ts.map +1 -0
  321. package/dist/validation/use-case-scripts/skill-consistency.js +180 -0
  322. package/dist/validation/use-case-scripts/skill-consistency.js.map +1 -0
  323. package/dist/validation/use-case-scripts/subworkflow-references.d.ts +22 -0
  324. package/dist/validation/use-case-scripts/subworkflow-references.d.ts.map +1 -0
  325. package/dist/validation/use-case-scripts/subworkflow-references.js +139 -0
  326. package/dist/validation/use-case-scripts/subworkflow-references.js.map +1 -0
  327. package/dist/validation/use-case-scripts/trigger-type-consistency.d.ts +25 -0
  328. package/dist/validation/use-case-scripts/trigger-type-consistency.d.ts.map +1 -0
  329. package/dist/validation/use-case-scripts/trigger-type-consistency.js +265 -0
  330. package/dist/validation/use-case-scripts/trigger-type-consistency.js.map +1 -0
  331. package/dist/validation/use-case-scripts/trigger-types.d.ts +20 -0
  332. package/dist/validation/use-case-scripts/trigger-types.d.ts.map +1 -0
  333. package/dist/validation/use-case-scripts/trigger-types.js +177 -0
  334. package/dist/validation/use-case-scripts/trigger-types.js.map +1 -0
  335. package/dist/validation/use-case-scripts/triggers-required.d.ts +23 -0
  336. package/dist/validation/use-case-scripts/triggers-required.d.ts.map +1 -0
  337. package/dist/validation/use-case-scripts/triggers-required.js +111 -0
  338. package/dist/validation/use-case-scripts/triggers-required.js.map +1 -0
  339. package/dist/validation/use-case-scripts/webhook-path-consistency.d.ts +28 -0
  340. package/dist/validation/use-case-scripts/webhook-path-consistency.d.ts.map +1 -0
  341. package/dist/validation/use-case-scripts/webhook-path-consistency.js +288 -0
  342. package/dist/validation/use-case-scripts/webhook-path-consistency.js.map +1 -0
  343. package/dist/validation/use-case-scripts/workflow-imports.d.ts +16 -0
  344. package/dist/validation/use-case-scripts/workflow-imports.d.ts.map +1 -0
  345. package/dist/validation/use-case-scripts/workflow-imports.js +206 -0
  346. package/dist/validation/use-case-scripts/workflow-imports.js.map +1 -0
  347. package/dist/validation/workflow-scripts/credential-placeholders.d.ts +21 -0
  348. package/dist/validation/workflow-scripts/credential-placeholders.d.ts.map +1 -0
  349. package/dist/validation/workflow-scripts/credential-placeholders.js +278 -0
  350. package/dist/validation/workflow-scripts/credential-placeholders.js.map +1 -0
  351. package/dist/validation/workflow-scripts/db-always-output.d.ts +16 -0
  352. package/dist/validation/workflow-scripts/db-always-output.d.ts.map +1 -0
  353. package/dist/validation/workflow-scripts/db-always-output.js +95 -0
  354. package/dist/validation/workflow-scripts/db-always-output.js.map +1 -0
  355. package/dist/validation/workflow-scripts/exec-workflow-wait.d.ts +15 -0
  356. package/dist/validation/workflow-scripts/exec-workflow-wait.d.ts.map +1 -0
  357. package/dist/validation/workflow-scripts/exec-workflow-wait.js +85 -0
  358. package/dist/validation/workflow-scripts/exec-workflow-wait.js.map +1 -0
  359. package/dist/validation/workflow-scripts/index.d.ts +31 -0
  360. package/dist/validation/workflow-scripts/index.d.ts.map +1 -0
  361. package/dist/validation/workflow-scripts/index.js +58 -0
  362. package/dist/validation/workflow-scripts/index.js.map +1 -0
  363. package/dist/validation/workflow-scripts/instparm-quoting.d.ts +21 -0
  364. package/dist/validation/workflow-scripts/instparm-quoting.d.ts.map +1 -0
  365. package/dist/validation/workflow-scripts/instparm-quoting.js +59 -0
  366. package/dist/validation/workflow-scripts/instparm-quoting.js.map +1 -0
  367. package/dist/validation/workflow-scripts/llm-model-id.d.ts +17 -0
  368. package/dist/validation/workflow-scripts/llm-model-id.d.ts.map +1 -0
  369. package/dist/validation/workflow-scripts/llm-model-id.js +171 -0
  370. package/dist/validation/workflow-scripts/llm-model-id.js.map +1 -0
  371. package/dist/validation/workflow-scripts/llm-output-access.d.ts +23 -0
  372. package/dist/validation/workflow-scripts/llm-output-access.d.ts.map +1 -0
  373. package/dist/validation/workflow-scripts/llm-output-access.js +274 -0
  374. package/dist/validation/workflow-scripts/llm-output-access.js.map +1 -0
  375. package/dist/validation/workflow-scripts/merge-before-terminal.d.ts +20 -0
  376. package/dist/validation/workflow-scripts/merge-before-terminal.d.ts.map +1 -0
  377. package/dist/validation/workflow-scripts/merge-before-terminal.js +87 -0
  378. package/dist/validation/workflow-scripts/merge-before-terminal.js.map +1 -0
  379. package/dist/validation/workflow-scripts/placeholder-syntax.d.ts +29 -0
  380. package/dist/validation/workflow-scripts/placeholder-syntax.d.ts.map +1 -0
  381. package/dist/validation/workflow-scripts/placeholder-syntax.js +154 -0
  382. package/dist/validation/workflow-scripts/placeholder-syntax.js.map +1 -0
  383. package/dist/validation/workflow-scripts/retry-backoff.d.ts +16 -0
  384. package/dist/validation/workflow-scripts/retry-backoff.d.ts.map +1 -0
  385. package/dist/validation/workflow-scripts/retry-backoff.js +197 -0
  386. package/dist/validation/workflow-scripts/retry-backoff.js.map +1 -0
  387. package/dist/validation/workflow-scripts/webhook-id.d.ts +17 -0
  388. package/dist/validation/workflow-scripts/webhook-id.d.ts.map +1 -0
  389. package/dist/validation/workflow-scripts/webhook-id.js +79 -0
  390. package/dist/validation/workflow-scripts/webhook-id.js.map +1 -0
  391. package/dist/validation/workflow-scripts/workflow-format.d.ts +16 -0
  392. package/dist/validation/workflow-scripts/workflow-format.d.ts.map +1 -0
  393. package/dist/validation/workflow-scripts/workflow-format.js +51 -0
  394. package/dist/validation/workflow-scripts/workflow-format.js.map +1 -0
  395. package/dist/validation/workflow-scripts/workflow-sanitization.d.ts +21 -0
  396. package/dist/validation/workflow-scripts/workflow-sanitization.d.ts.map +1 -0
  397. package/dist/validation/workflow-scripts/workflow-sanitization.js +78 -0
  398. package/dist/validation/workflow-scripts/workflow-sanitization.js.map +1 -0
  399. package/dist/validation/workflow-scripts/workflow-settings.d.ts +19 -0
  400. package/dist/validation/workflow-scripts/workflow-settings.d.ts.map +1 -0
  401. package/dist/validation/workflow-scripts/workflow-settings.js +131 -0
  402. package/dist/validation/workflow-scripts/workflow-settings.js.map +1 -0
  403. package/package.json +64 -0
@@ -0,0 +1,378 @@
1
+ /**
2
+ * Script: CUSTOM-INTEGRATION
3
+ *
4
+ * Validates custom integration schemas defined in config.ts:
5
+ * - All customIntegrations[].id must start with 'cstm_'
6
+ * - IDs must be snake_case (only lowercase letters, numbers, underscores)
7
+ * - No duplicate IDs within customIntegrations
8
+ * - n8nCredentialMapping keys must exist in secretFields or metadataFields
9
+ * - secretFields[].key must be UPPER_SNAKE_CASE
10
+ * - No duplicate field keys within an integration
11
+ * - If n8nCredentialType !== 'none', n8nCredentialMapping must be provided and non-empty
12
+ * - Custom integration IDs in integrationUids must have corresponding entries in customIntegrations
13
+ */
14
+ import { readFileSync, existsSync } from 'fs';
15
+ import { join } from 'path';
16
+ export const RULE_ID = 'CUSTOM-INTEGRATION';
17
+ export const metadata = {
18
+ id: RULE_ID,
19
+ name: 'custom_integration_schema',
20
+ severity: 'must',
21
+ description: 'Custom integration schemas must be well-formed and consistent',
22
+ details: 'Validates cstm_ prefix, snake_case IDs, UPPER_SNAKE_CASE secret keys, no duplicates, credential mapping consistency, and integrationUids references',
23
+ category: 'config',
24
+ };
25
+ /** snake_case: only lowercase letters, numbers, and underscores */
26
+ const SNAKE_CASE_PATTERN = /^[a-z][a-z0-9_]*$/;
27
+ /** UPPER_SNAKE_CASE: only uppercase letters, numbers, and underscores */
28
+ const UPPER_SNAKE_CASE_PATTERN = /^[A-Z][A-Z0-9_]*$/;
29
+ /**
30
+ * Extract custom integration definitions and integrationUids from config.ts source.
31
+ *
32
+ * This uses regex-based extraction from the TypeScript source code rather than
33
+ * importing the module, since the config may not be compiled.
34
+ * We look for the customIntegrations array and integrationUids arrays.
35
+ */
36
+ function extractCustomIntegrations(content) {
37
+ const ids = [];
38
+ const integrations = [];
39
+ const integrationUidsCstm = [];
40
+ // Extract custom integration IDs from id fields
41
+ // Pattern: id: 'cstm_...' or id: "cstm_..."
42
+ const idPattern = /id:\s*['"]([^'"]+)['"]/g;
43
+ let idMatch;
44
+ // Find customIntegrations array block
45
+ const customIntBlock = findArrayBlock(content, 'customIntegrations');
46
+ if (!customIntBlock) {
47
+ // No customIntegrations found — check integrationUids for orphaned cstm_ refs
48
+ extractCstmFromIntegrationUids(content, integrationUidsCstm);
49
+ return { ids, integrations, integrationUidsCstm };
50
+ }
51
+ // Extract each integration object from the block.
52
+ // First try inline objects inside the customIntegrations array.
53
+ let objectBlocks = extractObjectBlocks(customIntBlock);
54
+ // If no inline objects found, the config likely uses variable references
55
+ // (e.g., customIntegrations: [weatherApiIntegration, orgCrmIntegration]).
56
+ // In that case, find top-level variable declarations that match the
57
+ // CustomIntegrationSchema shape: have id: 'cstm_...', n8nCredentialType, and secretFields.
58
+ if (objectBlocks.length === 0) {
59
+ // Extract all top-level const/let/var assignments that contain cstm_ integration patterns
60
+ // by finding balanced {} blocks that contain the signature fields
61
+ const topLevelPattern = /(?:const|let|var)\s+\w+\s*(?::\s*\w+)?\s*=\s*\{/g;
62
+ let varMatch;
63
+ while ((varMatch = topLevelPattern.exec(content)) !== null) {
64
+ const startIdx = content.indexOf('{', varMatch.index);
65
+ if (startIdx === -1)
66
+ continue;
67
+ let depth = 0;
68
+ let endIdx = -1;
69
+ for (let i = startIdx; i < content.length; i++) {
70
+ if (content[i] === '{')
71
+ depth++;
72
+ else if (content[i] === '}') {
73
+ depth--;
74
+ if (depth === 0) {
75
+ endIdx = i;
76
+ break;
77
+ }
78
+ }
79
+ }
80
+ if (endIdx === -1)
81
+ continue;
82
+ const block = content.slice(startIdx, endIdx + 1);
83
+ if (/id:\s*['"]cstm_/.test(block) &&
84
+ /n8nCredentialType:\s*['"]/.test(block) &&
85
+ /secretFields:\s*\[/.test(block)) {
86
+ objectBlocks.push(block);
87
+ }
88
+ }
89
+ }
90
+ for (const block of objectBlocks) {
91
+ const idM = block.match(/id:\s*['"]([^'"]+)['"]/);
92
+ const id = idM ? idM[1] : '';
93
+ if (id)
94
+ ids.push(id);
95
+ const credTypeM = block.match(/n8nCredentialType:\s*['"]([^'"]+)['"]/);
96
+ const n8nCredentialType = credTypeM ? credTypeM[1] : 'none';
97
+ // Extract n8nCredentialMapping keys
98
+ const mappingKeys = extractMappingKeys(block);
99
+ // Extract secretFields keys
100
+ const secretFieldKeys = extractFieldKeys(block, 'secretFields');
101
+ // Extract metadataFields keys
102
+ const metadataFieldKeys = extractFieldKeys(block, 'metadataFields');
103
+ integrations.push({
104
+ id,
105
+ n8nCredentialType,
106
+ n8nCredentialMappingKeys: mappingKeys,
107
+ secretFieldKeys,
108
+ metadataFieldKeys,
109
+ allFieldKeys: [...secretFieldKeys, ...metadataFieldKeys],
110
+ });
111
+ }
112
+ // Extract cstm_ IDs from integrationUids at all levels
113
+ extractCstmFromIntegrationUids(content, integrationUidsCstm);
114
+ return { ids, integrations, integrationUidsCstm };
115
+ }
116
+ /**
117
+ * Find a named array block in the source, e.g., customIntegrations: [...]
118
+ */
119
+ function findArrayBlock(content, name) {
120
+ const startIdx = content.indexOf(`${name}:`);
121
+ if (startIdx === -1)
122
+ return null;
123
+ // Find the opening bracket
124
+ const bracketStart = content.indexOf('[', startIdx);
125
+ if (bracketStart === -1)
126
+ return null;
127
+ // Find matching closing bracket
128
+ let depth = 0;
129
+ for (let i = bracketStart; i < content.length; i++) {
130
+ if (content[i] === '[')
131
+ depth++;
132
+ else if (content[i] === ']') {
133
+ depth--;
134
+ if (depth === 0) {
135
+ return content.slice(bracketStart, i + 1);
136
+ }
137
+ }
138
+ }
139
+ return null;
140
+ }
141
+ /**
142
+ * Extract top-level object blocks from an array string.
143
+ */
144
+ function extractObjectBlocks(arrayStr) {
145
+ const blocks = [];
146
+ let depth = 0;
147
+ let start = -1;
148
+ for (let i = 0; i < arrayStr.length; i++) {
149
+ if (arrayStr[i] === '{') {
150
+ if (depth === 0)
151
+ start = i;
152
+ depth++;
153
+ }
154
+ else if (arrayStr[i] === '}') {
155
+ depth--;
156
+ if (depth === 0 && start !== -1) {
157
+ blocks.push(arrayStr.slice(start, i + 1));
158
+ start = -1;
159
+ }
160
+ }
161
+ }
162
+ return blocks;
163
+ }
164
+ /**
165
+ * Extract mapping keys from n8nCredentialMapping: { KEY: 'value', ... }
166
+ */
167
+ function extractMappingKeys(block) {
168
+ const keys = [];
169
+ const mappingBlock = findObjectBlock(block, 'n8nCredentialMapping');
170
+ if (!mappingBlock)
171
+ return keys;
172
+ const keyPattern = /['"]?([A-Z_][A-Z0-9_]*)['"]?\s*:/g;
173
+ let m;
174
+ while ((m = keyPattern.exec(mappingBlock)) !== null) {
175
+ keys.push(m[1]);
176
+ }
177
+ return keys;
178
+ }
179
+ /**
180
+ * Find a named object block, e.g., n8nCredentialMapping: { ... }
181
+ */
182
+ function findObjectBlock(content, name) {
183
+ const startIdx = content.indexOf(`${name}:`);
184
+ if (startIdx === -1)
185
+ return null;
186
+ const braceStart = content.indexOf('{', startIdx);
187
+ if (braceStart === -1)
188
+ return null;
189
+ let depth = 0;
190
+ for (let i = braceStart; i < content.length; i++) {
191
+ if (content[i] === '{')
192
+ depth++;
193
+ else if (content[i] === '}') {
194
+ depth--;
195
+ if (depth === 0) {
196
+ return content.slice(braceStart, i + 1);
197
+ }
198
+ }
199
+ }
200
+ return null;
201
+ }
202
+ /**
203
+ * Extract field keys from a named array of field objects (secretFields or metadataFields).
204
+ */
205
+ function extractFieldKeys(block, fieldName) {
206
+ const keys = [];
207
+ const arrayBlock = findArrayBlock(block, fieldName);
208
+ if (!arrayBlock)
209
+ return keys;
210
+ const keyPattern = /key:\s*['"]([^'"]+)['"]/g;
211
+ let m;
212
+ while ((m = keyPattern.exec(arrayBlock)) !== null) {
213
+ keys.push(m[1]);
214
+ }
215
+ return keys;
216
+ }
217
+ /**
218
+ * Extract cstm_* IDs from integrationUids arrays throughout the config.
219
+ */
220
+ function extractCstmFromIntegrationUids(content, result) {
221
+ // Find all integrationUids arrays (at workflow and top level)
222
+ const pattern = /integrationUids:\s*\[([^\]]*)\]/g;
223
+ let m;
224
+ while ((m = pattern.exec(content)) !== null) {
225
+ const arrayContent = m[1];
226
+ const idPattern = /['"]([^'"]+)['"]/g;
227
+ let idM;
228
+ while ((idM = idPattern.exec(arrayContent)) !== null) {
229
+ if (idM[1].startsWith('cstm_') && !result.includes(idM[1])) {
230
+ result.push(idM[1]);
231
+ }
232
+ }
233
+ }
234
+ }
235
+ /**
236
+ * Validate custom integration schemas in a use case config.ts
237
+ */
238
+ export async function checkCustomIntegrationSchema(useCasePath) {
239
+ const findings = [];
240
+ const configTsPath = join(useCasePath, 'config.ts');
241
+ const configJsPath = join(useCasePath, 'config.js');
242
+ let configPath = null;
243
+ if (existsSync(configTsPath)) {
244
+ configPath = configTsPath;
245
+ }
246
+ else if (existsSync(configJsPath)) {
247
+ configPath = configJsPath;
248
+ }
249
+ if (!configPath) {
250
+ // CONFIG-EXPORTS script already handles missing config
251
+ return findings;
252
+ }
253
+ let content;
254
+ try {
255
+ content = readFileSync(configPath, 'utf-8');
256
+ }
257
+ catch {
258
+ return findings;
259
+ }
260
+ // Quick check: does the config reference customIntegrations at all?
261
+ if (!content.includes('customIntegrations')) {
262
+ return findings;
263
+ }
264
+ const { ids, integrations, integrationUidsCstm } = extractCustomIntegrations(content);
265
+ // If no custom integrations found, nothing to validate
266
+ if (integrations.length === 0 && integrationUidsCstm.length === 0) {
267
+ return findings;
268
+ }
269
+ // Rule 1: All IDs must start with 'cstm_'
270
+ for (const integration of integrations) {
271
+ if (integration.id && !integration.id.startsWith('cstm_')) {
272
+ findings.push({
273
+ rule: RULE_ID,
274
+ severity: 'must',
275
+ path: configPath,
276
+ message: `Custom integration ID '${integration.id}' must start with 'cstm_'`,
277
+ raw_details: `Rename to 'cstm_${integration.id}' or another cstm_-prefixed ID`,
278
+ });
279
+ }
280
+ }
281
+ // Rule 2: IDs must be snake_case
282
+ for (const integration of integrations) {
283
+ if (integration.id && !SNAKE_CASE_PATTERN.test(integration.id)) {
284
+ findings.push({
285
+ rule: RULE_ID,
286
+ severity: 'must',
287
+ path: configPath,
288
+ message: `Custom integration ID '${integration.id}' must be snake_case (lowercase letters, numbers, underscores)`,
289
+ raw_details: 'Use only lowercase letters, numbers, and underscores. Must start with a letter.',
290
+ });
291
+ }
292
+ }
293
+ // Rule 3: No duplicate IDs
294
+ const seen = new Set();
295
+ for (const id of ids) {
296
+ if (seen.has(id)) {
297
+ findings.push({
298
+ rule: RULE_ID,
299
+ severity: 'must',
300
+ path: configPath,
301
+ message: `Duplicate custom integration ID '${id}'`,
302
+ raw_details: 'Each custom integration must have a unique ID',
303
+ });
304
+ }
305
+ seen.add(id);
306
+ }
307
+ // Rule 4: n8nCredentialMapping keys must exist in secretFields or metadataFields
308
+ for (const integration of integrations) {
309
+ for (const mappingKey of integration.n8nCredentialMappingKeys) {
310
+ if (!integration.allFieldKeys.includes(mappingKey)) {
311
+ findings.push({
312
+ rule: RULE_ID,
313
+ severity: 'must',
314
+ path: configPath,
315
+ message: `Integration '${integration.id}': n8nCredentialMapping key '${mappingKey}' not found in secretFields or metadataFields`,
316
+ raw_details: `Add a field with key '${mappingKey}' to secretFields or metadataFields, or remove it from n8nCredentialMapping`,
317
+ });
318
+ }
319
+ }
320
+ }
321
+ // Rule 5: secretFields keys must be UPPER_SNAKE_CASE
322
+ for (const integration of integrations) {
323
+ for (const key of integration.secretFieldKeys) {
324
+ if (!UPPER_SNAKE_CASE_PATTERN.test(key)) {
325
+ findings.push({
326
+ rule: RULE_ID,
327
+ severity: 'must',
328
+ path: configPath,
329
+ message: `Integration '${integration.id}': secretFields key '${key}' must be UPPER_SNAKE_CASE`,
330
+ raw_details: 'Secret field keys must use only uppercase letters, numbers, and underscores (e.g., API_KEY, BASE_URL)',
331
+ });
332
+ }
333
+ }
334
+ }
335
+ // Rule 6: No duplicate field keys within an integration
336
+ for (const integration of integrations) {
337
+ const fieldSeen = new Set();
338
+ for (const key of integration.allFieldKeys) {
339
+ if (fieldSeen.has(key)) {
340
+ findings.push({
341
+ rule: RULE_ID,
342
+ severity: 'must',
343
+ path: configPath,
344
+ message: `Integration '${integration.id}': duplicate field key '${key}'`,
345
+ raw_details: 'Each field key must be unique within an integration (across both secretFields and metadataFields)',
346
+ });
347
+ }
348
+ fieldSeen.add(key);
349
+ }
350
+ }
351
+ // Rule 7: If n8nCredentialType !== 'none', n8nCredentialMapping must be provided and non-empty
352
+ for (const integration of integrations) {
353
+ if (integration.n8nCredentialType !== 'none' && integration.n8nCredentialMappingKeys.length === 0) {
354
+ findings.push({
355
+ rule: RULE_ID,
356
+ severity: 'must',
357
+ path: configPath,
358
+ message: `Integration '${integration.id}': n8nCredentialType is '${integration.n8nCredentialType}' but n8nCredentialMapping is missing or empty`,
359
+ raw_details: 'When n8nCredentialType is not "none", you must provide n8nCredentialMapping to map field keys to n8n credential data fields',
360
+ });
361
+ }
362
+ }
363
+ // Rule 8: Custom integration IDs in integrationUids must have corresponding entries in customIntegrations
364
+ const definedIds = new Set(ids);
365
+ for (const cstmId of integrationUidsCstm) {
366
+ if (!definedIds.has(cstmId)) {
367
+ findings.push({
368
+ rule: RULE_ID,
369
+ severity: 'must',
370
+ path: configPath,
371
+ message: `integrationUids references '${cstmId}' but no matching entry in customIntegrations`,
372
+ raw_details: `Add a custom integration definition with id '${cstmId}' to the customIntegrations array, or remove it from integrationUids`,
373
+ });
374
+ }
375
+ }
376
+ return findings;
377
+ }
378
+ //# sourceMappingURL=custom-integration-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-integration-schema.js","sourceRoot":"","sources":["../../../src/validation/use-case-scripts/custom-integration-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,MAAM,CAAC,MAAM,OAAO,GAAG,oBAAoB,CAAC;AAE5C,MAAM,CAAC,MAAM,QAAQ,GAAiB;IACpC,EAAE,EAAE,OAAO;IACX,IAAI,EAAE,2BAA2B;IACjC,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,+DAA+D;IAC5E,OAAO,EACL,qJAAqJ;IACvJ,QAAQ,EAAE,QAAQ;CACnB,CAAC;AAEF,mEAAmE;AACnE,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;AAE/C,yEAAyE;AACzE,MAAM,wBAAwB,GAAG,mBAAmB,CAAC;AAErD;;;;;;GAMG;AACH,SAAS,yBAAyB,CAAC,OAAe;IAYhD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,YAAY,GAOb,EAAE,CAAC;IACR,MAAM,mBAAmB,GAAa,EAAE,CAAC;IAEzC,gDAAgD;IAChD,4CAA4C;IAC5C,MAAM,SAAS,GAAG,yBAAyB,CAAC;IAC5C,IAAI,OAAO,CAAC;IAEZ,sCAAsC;IACtC,MAAM,cAAc,GAAG,cAAc,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;IACrE,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,8EAA8E;QAC9E,8BAA8B,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;QAC7D,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,mBAAmB,EAAE,CAAC;IACpD,CAAC;IAED,kDAAkD;IAClD,gEAAgE;IAChE,IAAI,YAAY,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;IAEvD,yEAAyE;IACzE,0EAA0E;IAC1E,oEAAoE;IACpE,2FAA2F;IAC3F,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,0FAA0F;QAC1F,kEAAkE;QAClE,MAAM,eAAe,GAAG,kDAAkD,CAAC;QAC3E,IAAI,QAAQ,CAAC;QACb,OAAO,CAAC,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAC3D,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YACtD,IAAI,QAAQ,KAAK,CAAC,CAAC;gBAAE,SAAS;YAC9B,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC;YAChB,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/C,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG;oBAAE,KAAK,EAAE,CAAC;qBAC3B,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBAC5B,KAAK,EAAE,CAAC;oBACR,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;wBAAC,MAAM,GAAG,CAAC,CAAC;wBAAC,MAAM;oBAAC,CAAC;gBACzC,CAAC;YACH,CAAC;YACD,IAAI,MAAM,KAAK,CAAC,CAAC;gBAAE,SAAS;YAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;YAClD,IACE,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC7B,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC;gBACvC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,EAChC,CAAC;gBACD,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAClD,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,IAAI,EAAE;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAErB,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QACvE,MAAM,iBAAiB,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAE5D,oCAAoC;QACpC,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAE9C,4BAA4B;QAC5B,MAAM,eAAe,GAAG,gBAAgB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QAEhE,8BAA8B;QAC9B,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;QAEpE,YAAY,CAAC,IAAI,CAAC;YAChB,EAAE;YACF,iBAAiB;YACjB,wBAAwB,EAAE,WAAW;YACrC,eAAe;YACf,iBAAiB;YACjB,YAAY,EAAE,CAAC,GAAG,eAAe,EAAE,GAAG,iBAAiB,CAAC;SACzD,CAAC,CAAC;IACL,CAAC;IAED,uDAAuD;IACvD,8BAA8B,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;IAE7D,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,mBAAmB,EAAE,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,OAAe,EAAE,IAAY;IACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;IAC7C,IAAI,QAAQ,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAEjC,2BAA2B;IAC3B,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACpD,IAAI,YAAY,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAErC,gCAAgC;IAChC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,YAAY,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnD,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;aAC3B,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC5B,KAAK,EAAE,CAAC;YACR,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChB,OAAO,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,QAAgB;IAC3C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;IAEf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACxB,IAAI,KAAK,KAAK,CAAC;gBAAE,KAAK,GAAG,CAAC,CAAC;YAC3B,KAAK,EAAE,CAAC;QACV,CAAC;aAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC/B,KAAK,EAAE,CAAC;YACR,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC1C,KAAK,GAAG,CAAC,CAAC,CAAC;YACb,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,KAAa;IACvC,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;IACpE,IAAI,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IAE/B,MAAM,UAAU,GAAG,mCAAmC,CAAC;IACvD,IAAI,CAAC,CAAC;IACN,OAAO,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,OAAe,EAAE,IAAY;IACpD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;IAC7C,IAAI,QAAQ,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAEjC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAClD,IAAI,UAAU,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAEnC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACjD,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;aAC3B,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC5B,KAAK,EAAE,CAAC;YACR,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChB,OAAO,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,KAAa,EAAE,SAAiB;IACxD,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACpD,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAE7B,MAAM,UAAU,GAAG,0BAA0B,CAAC;IAC9C,IAAI,CAAC,CAAC;IACN,OAAO,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAClD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,8BAA8B,CAAC,OAAe,EAAE,MAAgB;IACvE,8DAA8D;IAC9D,MAAM,OAAO,GAAG,kCAAkC,CAAC;IACnD,IAAI,CAAC,CAAC;IACN,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC5C,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,SAAS,GAAG,mBAAmB,CAAC;QACtC,IAAI,GAAG,CAAC;QACR,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACrD,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,WAAmB;IACpE,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAEpD,IAAI,UAAU,GAAkB,IAAI,CAAC;IACrC,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,UAAU,GAAG,YAAY,CAAC;IAC5B,CAAC;SAAM,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACpC,UAAU,GAAG,YAAY,CAAC;IAC5B,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,uDAAuD;QACvD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,oEAAoE;IACpE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC5C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,mBAAmB,EAAE,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAEtF,uDAAuD;IACvD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,0CAA0C;IAC1C,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,IAAI,WAAW,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1D,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,MAAM;gBAChB,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,0BAA0B,WAAW,CAAC,EAAE,2BAA2B;gBAC5E,WAAW,EAAE,mBAAmB,WAAW,CAAC,EAAE,gCAAgC;aAC/E,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,iCAAiC;IACjC,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,IAAI,WAAW,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;YAC/D,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,MAAM;gBAChB,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,0BAA0B,WAAW,CAAC,EAAE,gEAAgE;gBACjH,WAAW,EAAE,iFAAiF;aAC/F,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,2BAA2B;IAC3B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACjB,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,MAAM;gBAChB,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,oCAAoC,EAAE,GAAG;gBAClD,WAAW,EAAE,+CAA+C;aAC7D,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACf,CAAC;IAED,iFAAiF;IACjF,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,KAAK,MAAM,UAAU,IAAI,WAAW,CAAC,wBAAwB,EAAE,CAAC;YAC9D,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnD,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE,MAAM;oBAChB,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,gBAAgB,WAAW,CAAC,EAAE,gCAAgC,UAAU,+CAA+C;oBAChI,WAAW,EAAE,yBAAyB,UAAU,6EAA6E;iBAC9H,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,qDAAqD;IACrD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,eAAe,EAAE,CAAC;YAC9C,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxC,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE,MAAM;oBAChB,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,gBAAgB,WAAW,CAAC,EAAE,wBAAwB,GAAG,4BAA4B;oBAC9F,WAAW,EAAE,uGAAuG;iBACrH,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,wDAAwD;IACxD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;QACpC,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;YAC3C,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE,MAAM;oBAChB,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,gBAAgB,WAAW,CAAC,EAAE,2BAA2B,GAAG,GAAG;oBACxE,WAAW,EAAE,mGAAmG;iBACjH,CAAC,CAAC;YACL,CAAC;YACD,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,+FAA+F;IAC/F,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,IAAI,WAAW,CAAC,iBAAiB,KAAK,MAAM,IAAI,WAAW,CAAC,wBAAwB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClG,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,MAAM;gBAChB,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,gBAAgB,WAAW,CAAC,EAAE,4BAA4B,WAAW,CAAC,iBAAiB,gDAAgD;gBAChJ,WAAW,EAAE,6HAA6H;aAC3I,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,0GAA0G;IAC1G,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAChC,KAAK,MAAM,MAAM,IAAI,mBAAmB,EAAE,CAAC;QACzC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,MAAM;gBAChB,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,+BAA+B,MAAM,+CAA+C;gBAC7F,WAAW,EAAE,gDAAgD,MAAM,sEAAsE;aAC1I,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Use Case Scripts
3
+ *
4
+ * Validation scripts that operate on the entire use-case folder.
5
+ * These check configuration files, folder structure, and cross-file consistency.
6
+ */
7
+ import type { UseCaseScript } from '../types.js';
8
+ /**
9
+ * All use-case scripts to run during validation
10
+ *
11
+ * Each script receives the use-case folder path,
12
+ * and returns an array of findings.
13
+ */
14
+ export declare const useCaseScripts: UseCaseScript[];
15
+ export { checkConfigExports } from './config-exports.js';
16
+ export { checkWorkflowImports } from './workflow-imports.js';
17
+ export { checkSchemaTypes } from './schema-types.js';
18
+ export { checkSubworkflowReferences } from './subworkflow-references.js';
19
+ export { checkCalledByConsistency } from './calledby-consistency.js';
20
+ export { checkIntegrationInheritance } from './integration-inheritance.js';
21
+ export { checkWebhookPathConsistency } from './webhook-path-consistency.js';
22
+ export { checkTriggersRequired } from './triggers-required.js';
23
+ export { checkTriggerTypeConsistency } from './trigger-type-consistency.js';
24
+ export { checkTriggerTypes } from './trigger-types.js';
25
+ export { checkSkillConsistency } from './skill-consistency.js';
26
+ export { checkCustomIntegrationSchema } from './custom-integration-schema.js';
27
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/validation/use-case-scripts/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAcjD;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,aAAa,EAazC,CAAC;AAGF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Use Case Scripts
3
+ *
4
+ * Validation scripts that operate on the entire use-case folder.
5
+ * These check configuration files, folder structure, and cross-file consistency.
6
+ */
7
+ import { checkConfigExports } from './config-exports.js';
8
+ import { checkWorkflowImports } from './workflow-imports.js';
9
+ import { checkSchemaTypes } from './schema-types.js';
10
+ import { checkSubworkflowReferences } from './subworkflow-references.js';
11
+ import { checkCalledByConsistency } from './calledby-consistency.js';
12
+ import { checkIntegrationInheritance } from './integration-inheritance.js';
13
+ import { checkWebhookPathConsistency } from './webhook-path-consistency.js';
14
+ import { checkTriggersRequired } from './triggers-required.js';
15
+ import { checkTriggerTypeConsistency } from './trigger-type-consistency.js';
16
+ import { checkTriggerTypes } from './trigger-types.js';
17
+ import { checkSkillConsistency } from './skill-consistency.js';
18
+ import { checkCustomIntegrationSchema } from './custom-integration-schema.js';
19
+ /**
20
+ * All use-case scripts to run during validation
21
+ *
22
+ * Each script receives the use-case folder path,
23
+ * and returns an array of findings.
24
+ */
25
+ export const useCaseScripts = [
26
+ checkConfigExports,
27
+ checkWorkflowImports,
28
+ checkSchemaTypes,
29
+ checkSubworkflowReferences,
30
+ checkCalledByConsistency,
31
+ checkIntegrationInheritance,
32
+ checkWebhookPathConsistency,
33
+ checkTriggersRequired,
34
+ checkTriggerTypeConsistency,
35
+ checkTriggerTypes,
36
+ checkSkillConsistency,
37
+ checkCustomIntegrationSchema,
38
+ ];
39
+ // Re-export individual scripts
40
+ export { checkConfigExports } from './config-exports.js';
41
+ export { checkWorkflowImports } from './workflow-imports.js';
42
+ export { checkSchemaTypes } from './schema-types.js';
43
+ export { checkSubworkflowReferences } from './subworkflow-references.js';
44
+ export { checkCalledByConsistency } from './calledby-consistency.js';
45
+ export { checkIntegrationInheritance } from './integration-inheritance.js';
46
+ export { checkWebhookPathConsistency } from './webhook-path-consistency.js';
47
+ export { checkTriggersRequired } from './triggers-required.js';
48
+ export { checkTriggerTypeConsistency } from './trigger-type-consistency.js';
49
+ export { checkTriggerTypes } from './trigger-types.js';
50
+ export { checkSkillConsistency } from './skill-consistency.js';
51
+ export { checkCustomIntegrationSchema } from './custom-integration-schema.js';
52
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/validation/use-case-scripts/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAE9E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAoB;IAC7C,kBAAkB;IAClB,oBAAoB;IACpB,gBAAgB;IAChB,0BAA0B;IAC1B,wBAAwB;IACxB,2BAA2B;IAC3B,2BAA2B;IAC3B,qBAAqB;IACrB,2BAA2B;IAC3B,iBAAiB;IACjB,qBAAqB;IACrB,4BAA4B;CAC7B,CAAC;AAEF,+BAA+B;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * INTEGRATION-INHERITANCE Validation Script
3
+ *
4
+ * Validates that workflows declare all integration IDs they use in their integrationUids config.
5
+ *
6
+ * Two checks are performed:
7
+ * 1. Each workflow's integrationUids must include all integrations used directly in its JSON
8
+ * (detected via credential placeholders like FLEXCRED_ANTHROPIC_ID_DERCXELF)
9
+ * 2. Parent workflows must also include all integrations used by their subworkflows
10
+ *
11
+ * Credential placeholder pattern: {{TYPE_INTEGRATION_NAME_(ID|NAME)_SUFFIX}}
12
+ * - FLEXCRED_*_DERCXELF
13
+ * - USERCRED_*_DERCRESU
14
+ * - ORGCRED_*_DERCGRO
15
+ * - INSTCRED_*_DERCTSNI
16
+ *
17
+ * The INTEGRATION_NAME in CONSTANT_CASE becomes the integrationUid in snake_case.
18
+ * Example: FLEXCRED_GOOGLE_DRIVE_OAUTH_ID_DERCXELF -> google_drive_oauth
19
+ *
20
+ * @see .guides/specific/integrations.md - "Integration Declaration"
21
+ */
22
+ import type { Finding, RuleMetadata } from '../types.js';
23
+ export declare const RULE_ID = "INTEGRATION-INHERITANCE";
24
+ export declare const metadata: RuleMetadata & {
25
+ guideRef: {
26
+ path: string;
27
+ section: string;
28
+ };
29
+ };
30
+ /**
31
+ * Validates that workflows declare all integrations they use (directly or via subworkflows)
32
+ */
33
+ export declare function checkIntegrationInheritance(useCasePath: string): Promise<Finding[]>;
34
+ export default checkIntegrationInheritance;
35
+ //# sourceMappingURL=integration-inheritance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration-inheritance.d.ts","sourceRoot":"","sources":["../../../src/validation/use-case-scripts/integration-inheritance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,OAAO,4BAA4B,CAAC;AAEjD,eAAO,MAAM,QAAQ,EAAE,YAAY,GAAG;IAAE,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;CAalF,CAAC;AA4NF;;GAEG;AACH,wBAAsB,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CA2JzF;AAED,eAAe,2BAA2B,CAAC"}