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,236 @@
1
+ /**
2
+ * CALLEDBY-CONSISTENCY Validation Script
3
+ *
4
+ * Validates that subworkflows have their callers correctly listed in calledBy.
5
+ * When workflow A calls subworkflow B via SUBWKFL placeholder,
6
+ * B's trigger config must include A in its calledBy array.
7
+ *
8
+ * @see .guides/specific/sub-workflows.md - "calledBy Array"
9
+ */
10
+ import { readFileSync, readdirSync, existsSync } from 'fs';
11
+ import { join, basename } from 'path';
12
+ export const RULE_ID = 'CALLEDBY-CONSISTENCY';
13
+ export const metadata = {
14
+ id: RULE_ID,
15
+ name: 'calledby_consistency',
16
+ severity: 'should',
17
+ description: 'Subworkflow calledBy arrays must include all actual callers',
18
+ details: "When workflow A calls subworkflow B, B's trigger config must list A in calledBy",
19
+ fixable: true,
20
+ category: 'references',
21
+ guideRef: {
22
+ path: 'specific/sub-workflows.md',
23
+ section: 'calledBy Array',
24
+ },
25
+ };
26
+ // Regex to find SUBWKFL placeholders
27
+ const SUBWKFL_PATTERN = /\{\{SUBWKFL_([a-zA-Z0-9_-]+)_LFKWBUS\}\}/g;
28
+ // Regex to extract workflowTemplateId from config.ts
29
+ const TEMPLATE_ID_PATTERN = /workflowTemplateId:\s*['"]([^'"]+)['"]/g;
30
+ /**
31
+ * Extracts all SUBWKFL_ references from workflow content
32
+ */
33
+ function extractSubworkflowCalls(content) {
34
+ const references = [];
35
+ let match;
36
+ // Reset regex state
37
+ SUBWKFL_PATTERN.lastIndex = 0;
38
+ while ((match = SUBWKFL_PATTERN.exec(content)) !== null) {
39
+ if (!references.includes(match[1])) {
40
+ references.push(match[1]);
41
+ }
42
+ }
43
+ return references;
44
+ }
45
+ /**
46
+ * Extracts calledBy mappings from config.ts content
47
+ *
48
+ * Returns a map of templateId -> { calledBy: [...], hasCalledByField: boolean }
49
+ */
50
+ function extractCalledByMappings(configContent) {
51
+ const mappings = new Map();
52
+ // Find each workflowTemplateId
53
+ const templateIdPattern = /workflowTemplateId:\s*['"]([^'"]+)['"]/g;
54
+ let templateMatch;
55
+ while ((templateMatch = templateIdPattern.exec(configContent)) !== null) {
56
+ const templateId = templateMatch[1];
57
+ const templateIdEndPos = templateMatch.index + templateMatch[0].length;
58
+ // Look for the next workflow block or end of content
59
+ const nextTemplateMatch = /workflowTemplateId:/g;
60
+ nextTemplateMatch.lastIndex = templateIdEndPos;
61
+ const nextMatch = nextTemplateMatch.exec(configContent);
62
+ const blockEnd = nextMatch ? nextMatch.index : configContent.length;
63
+ // Extract the block for this workflow
64
+ const workflowBlock = configContent.slice(templateMatch.index, blockEnd);
65
+ // Check if this block has a subworkflow trigger with type: 'subworkflow'
66
+ if (!workflowBlock.includes("type: 'subworkflow'") && !workflowBlock.includes('type: "subworkflow"')) {
67
+ continue;
68
+ }
69
+ // Check if this trigger block has calledBy
70
+ const calledByMatch = workflowBlock.match(/calledBy:\s*\[([^\]]*)\]/);
71
+ if (calledByMatch) {
72
+ // Extract the callers from the calledBy array
73
+ const calledByContent = calledByMatch[1];
74
+ const callers = [];
75
+ // Match quoted strings in the array
76
+ const callerPattern = /['"]([^'"]+)['"]/g;
77
+ let callerMatch;
78
+ while ((callerMatch = callerPattern.exec(calledByContent)) !== null) {
79
+ callers.push(callerMatch[1]);
80
+ }
81
+ mappings.set(templateId, {
82
+ templateId,
83
+ calledBy: callers,
84
+ hasCalledByField: true,
85
+ });
86
+ }
87
+ else {
88
+ // Subworkflow trigger without calledBy field
89
+ mappings.set(templateId, {
90
+ templateId,
91
+ calledBy: [],
92
+ hasCalledByField: false,
93
+ });
94
+ }
95
+ }
96
+ return mappings;
97
+ }
98
+ /**
99
+ * Gets the workflow template ID from a workflow JSON filename
100
+ *
101
+ * By convention, the filename (without .json) matches the workflowTemplateId
102
+ */
103
+ function getTemplateIdFromFilename(workflowFile) {
104
+ return basename(workflowFile, '.json');
105
+ }
106
+ /**
107
+ * Creates a fix function that adds a missing caller to a subworkflow's calledBy array
108
+ */
109
+ function createFixFunction(subworkflowId, missingCaller, hasCalledByField) {
110
+ return (content) => {
111
+ // Find the workflow block for this subworkflow
112
+ const workflowBlockPattern = new RegExp(`(workflowTemplateId:\\s*['"]${subworkflowId}['"][\\s\\S]*?triggers:\\s*\\[[\\s\\S]*?)` +
113
+ (hasCalledByField
114
+ ? `(calledBy:\\s*\\[)([^\\]]*)\\]`
115
+ : `(inputSchema:\\s*\\[[^\\]]*\\],?)`), 'g');
116
+ if (hasCalledByField) {
117
+ // Add to existing calledBy array
118
+ return content.replace(workflowBlockPattern, (match, prefix, calledByStart, calledByContent) => {
119
+ const trimmedContent = calledByContent.trim();
120
+ if (trimmedContent === '') {
121
+ // Empty array
122
+ return `${prefix}${calledByStart}'${missingCaller}']`;
123
+ }
124
+ else {
125
+ // Non-empty array - add with comma
126
+ return `${prefix}${calledByStart}${calledByContent}, '${missingCaller}']`;
127
+ }
128
+ });
129
+ }
130
+ else {
131
+ // Add calledBy field after inputSchema
132
+ return content.replace(workflowBlockPattern, (match, prefix, inputSchema) => {
133
+ const needsComma = !inputSchema.trim().endsWith(',');
134
+ return `${prefix}${inputSchema}${needsComma ? ',' : ''}\n calledBy: ['${missingCaller}'],`;
135
+ });
136
+ }
137
+ };
138
+ }
139
+ /**
140
+ * Validates that all workflow callers are listed in subworkflow calledBy arrays
141
+ */
142
+ export async function checkCalledByConsistency(useCasePath) {
143
+ const findings = [];
144
+ // Check if config.ts exists
145
+ const configPath = join(useCasePath, 'config.ts');
146
+ if (!existsSync(configPath)) {
147
+ // Cannot validate without config.ts - this is handled by other rules
148
+ return findings;
149
+ }
150
+ // Read config.ts
151
+ let configContent;
152
+ try {
153
+ configContent = readFileSync(configPath, 'utf-8');
154
+ }
155
+ catch {
156
+ // Cannot read config.ts - this is handled by other rules
157
+ return findings;
158
+ }
159
+ // Extract calledBy mappings from config.ts
160
+ const calledByMappings = extractCalledByMappings(configContent);
161
+ // Check workflows folder
162
+ const workflowsPath = join(useCasePath, 'workflows');
163
+ if (!existsSync(workflowsPath)) {
164
+ // No workflows folder - nothing to validate
165
+ return findings;
166
+ }
167
+ // Get all workflow JSON files
168
+ let workflowFiles;
169
+ try {
170
+ workflowFiles = readdirSync(workflowsPath)
171
+ .filter(f => f.endsWith('.json'))
172
+ .map(f => join(workflowsPath, f));
173
+ }
174
+ catch {
175
+ // Cannot read workflows folder - this is handled by other rules
176
+ return findings;
177
+ }
178
+ // Build a map of which workflows call which subworkflows
179
+ // Map: subworkflowId -> [callerIds]
180
+ const actualCallers = new Map();
181
+ for (const workflowFile of workflowFiles) {
182
+ let content;
183
+ try {
184
+ content = readFileSync(workflowFile, 'utf-8');
185
+ }
186
+ catch {
187
+ continue; // Skip unreadable files
188
+ }
189
+ const callerTemplateId = getTemplateIdFromFilename(workflowFile);
190
+ const subworkflowCalls = extractSubworkflowCalls(content);
191
+ for (const subworkflowId of subworkflowCalls) {
192
+ const existingCallers = actualCallers.get(subworkflowId) || [];
193
+ if (!existingCallers.includes(callerTemplateId)) {
194
+ existingCallers.push(callerTemplateId);
195
+ }
196
+ actualCallers.set(subworkflowId, existingCallers);
197
+ }
198
+ }
199
+ // Check each subworkflow that is being called
200
+ for (const [subworkflowId, callers] of actualCallers) {
201
+ const calledByInfo = calledByMappings.get(subworkflowId);
202
+ // Skip if this subworkflow doesn't have a trigger configuration
203
+ // (might not be a subworkflow-triggered workflow)
204
+ if (!calledByInfo) {
205
+ continue;
206
+ }
207
+ // Check each caller
208
+ for (const callerId of callers) {
209
+ if (!calledByInfo.calledBy.includes(callerId)) {
210
+ const hasCalledByField = calledByInfo.hasCalledByField;
211
+ findings.push({
212
+ rule: RULE_ID,
213
+ severity: 'should',
214
+ path: configPath,
215
+ message: hasCalledByField
216
+ ? `Subworkflow "${subworkflowId}" is called by "${callerId}" but "${callerId}" is not listed in its calledBy array`
217
+ : `Subworkflow "${subworkflowId}" is called by "${callerId}" but has no calledBy field`,
218
+ raw_details: hasCalledByField
219
+ ? `Add '${callerId}' to the calledBy array for subworkflow '${subworkflowId}' in config.ts. Current calledBy: [${calledByInfo.calledBy.map(c => `'${c}'`).join(', ')}]`
220
+ : `Add calledBy: ['${callerId}'] to the trigger configuration for subworkflow '${subworkflowId}' in config.ts`,
221
+ guideRef: metadata.guideRef,
222
+ fixable: true,
223
+ fix: {
224
+ description: hasCalledByField
225
+ ? `Add '${callerId}' to calledBy array for '${subworkflowId}'`
226
+ : `Add calledBy field with '${callerId}' for '${subworkflowId}'`,
227
+ apply: createFixFunction(subworkflowId, callerId, hasCalledByField),
228
+ },
229
+ });
230
+ }
231
+ }
232
+ }
233
+ return findings;
234
+ }
235
+ export default checkCalledByConsistency;
236
+ //# sourceMappingURL=calledby-consistency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calledby-consistency.js","sourceRoot":"","sources":["../../../src/validation/use-case-scripts/calledby-consistency.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Script: CONFIG-EXPORTS
3
+ *
4
+ * Validates that config.ts exports the required members:
5
+ * - WORKFLOW_FILES (array)
6
+ * - getConfiguration (function)
7
+ *
8
+ * Also checks that project.json exists in the use case folder.
9
+ */
10
+ import type { Finding } from '../types.js';
11
+ import type { RuleMetadata } from '../types.js';
12
+ export declare const metadata: RuleMetadata;
13
+ /**
14
+ * Check that config.ts exports required members
15
+ */
16
+ export declare function checkConfigExports(useCasePath: string): Promise<Finding[]>;
17
+ //# sourceMappingURL=config-exports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-exports.d.ts","sourceRoot":"","sources":["../../../src/validation/use-case-scripts/config-exports.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,QAAQ,EAAE,YAOtB,CAAC;AAEF;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CA2EhF"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Script: CONFIG-EXPORTS
3
+ *
4
+ * Validates that config.ts exports the required members:
5
+ * - WORKFLOW_FILES (array)
6
+ * - getConfiguration (function)
7
+ *
8
+ * Also checks that project.json exists in the use case folder.
9
+ */
10
+ import { existsSync, readFileSync } from 'fs';
11
+ import { join } from 'path';
12
+ export const metadata = {
13
+ id: 'CONFIG-EXPORTS',
14
+ name: 'config_exports',
15
+ severity: 'must',
16
+ description: 'config.ts must export WORKFLOW_FILES and getConfiguration, and project.json must exist',
17
+ details: 'Ensure your config.ts file exports all required members and project.json contains the target project ID',
18
+ category: 'config',
19
+ };
20
+ /**
21
+ * Check that config.ts exports required members
22
+ */
23
+ export async function checkConfigExports(useCasePath) {
24
+ const findings = [];
25
+ const configTsPath = join(useCasePath, 'config.ts');
26
+ const configJsPath = join(useCasePath, 'config.js');
27
+ // Check if config file exists
28
+ let configPath = null;
29
+ if (existsSync(configTsPath)) {
30
+ configPath = configTsPath;
31
+ }
32
+ else if (existsSync(configJsPath)) {
33
+ configPath = configJsPath;
34
+ }
35
+ if (!configPath) {
36
+ findings.push({
37
+ rule: metadata.id,
38
+ severity: 'must',
39
+ path: useCasePath,
40
+ message: 'Missing config.ts file',
41
+ raw_details: 'Create a config.ts file that exports WORKFLOW_FILES and getConfiguration()',
42
+ });
43
+ return findings;
44
+ }
45
+ // Read and analyze config file
46
+ let content;
47
+ try {
48
+ content = readFileSync(configPath, 'utf-8');
49
+ }
50
+ catch (error) {
51
+ findings.push({
52
+ rule: metadata.id,
53
+ severity: 'must',
54
+ path: configPath,
55
+ message: `Cannot read config file: ${error.message}`,
56
+ });
57
+ return findings;
58
+ }
59
+ // Check for required exports using simple regex patterns
60
+ // (A full AST parser would be more robust but this covers common cases)
61
+ // Check for project.json
62
+ if (!existsSync(join(useCasePath, 'project.json'))) {
63
+ findings.push({
64
+ rule: metadata.id,
65
+ severity: 'should',
66
+ path: useCasePath,
67
+ message: 'Missing project.json — required before deployment',
68
+ raw_details: 'Create project.json with {"projectId": "..."} in the use case folder, or run: codika project create --name "..." --path .',
69
+ });
70
+ }
71
+ // Check for WORKFLOW_FILES export
72
+ if (!/export\s+(const|let|var)\s+WORKFLOW_FILES\s*=/s.test(content)) {
73
+ findings.push({
74
+ rule: metadata.id,
75
+ severity: 'must',
76
+ path: configPath,
77
+ message: 'Missing export: WORKFLOW_FILES',
78
+ raw_details: 'Add: export const WORKFLOW_FILES = [join(__dirname, \'workflows/workflow.json\')];',
79
+ });
80
+ }
81
+ // Check for getConfiguration export
82
+ if (!/export\s+(function|const)\s+getConfiguration/s.test(content)) {
83
+ findings.push({
84
+ rule: metadata.id,
85
+ severity: 'must',
86
+ path: configPath,
87
+ message: 'Missing export: getConfiguration',
88
+ raw_details: 'Add: export function getConfiguration(): ProcessDeploymentConfigurationInput { ... }',
89
+ });
90
+ }
91
+ return findings;
92
+ }
93
+ //# sourceMappingURL=config-exports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-exports.js","sourceRoot":"","sources":["../../../src/validation/use-case-scripts/config-exports.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
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 type { Finding, RuleMetadata } from '../types.js';
15
+ export declare const RULE_ID = "CUSTOM-INTEGRATION";
16
+ export declare const metadata: RuleMetadata;
17
+ /**
18
+ * Validate custom integration schemas in a use case config.ts
19
+ */
20
+ export declare function checkCustomIntegrationSchema(useCasePath: string): Promise<Finding[]>;
21
+ //# sourceMappingURL=custom-integration-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-integration-schema.d.ts","sourceRoot":"","sources":["../../../src/validation/use-case-scripts/custom-integration-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,OAAO,uBAAuB,CAAC;AAE5C,eAAO,MAAM,QAAQ,EAAE,YAQtB,CAAC;AAmPF;;GAEG;AACH,wBAAsB,4BAA4B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAwJ1F"}