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,82 @@
1
+ /**
2
+ * Verify Workflow Command
3
+ *
4
+ * Validates a single workflow JSON file using:
5
+ * - Flowlint core rules (static analysis)
6
+ * - Custom Codika rules
7
+ * - Workflow scripts (content-based checks)
8
+ *
9
+ * Usage:
10
+ * codika verify workflow <path> [options]
11
+ *
12
+ * Options:
13
+ * --json Output result as JSON
14
+ * --strict Treat 'should' as 'must'
15
+ * --fix Apply available auto-fixes
16
+ * --dry-run Show what --fix would change
17
+ * --rules Only run specific rules (comma-separated)
18
+ * --exclude-rules Exclude specific rules (comma-separated)
19
+ */
20
+ import { Command } from 'commander';
21
+ import { resolve } from 'path';
22
+ import { validateWorkflow } from '../../../validation/runner.js';
23
+ import { formatValidationResult } from '../../utils/validation-output.js';
24
+ export const workflowCommand = new Command('workflow')
25
+ .description('Validate a workflow JSON file')
26
+ .argument('<path>', 'Path to the workflow JSON file')
27
+ .option('--json', 'Output result as JSON')
28
+ .option('--strict', 'Treat "should" severity as "must"')
29
+ .option('--fix', 'Apply available auto-fixes')
30
+ .option('--dry-run', 'Show what --fix would change without applying')
31
+ .option('--rules <list>', 'Only run specific rules (comma-separated)')
32
+ .option('--exclude-rules <list>', 'Exclude specific rules (comma-separated)')
33
+ .action(async (path, options) => {
34
+ const absolutePath = resolve(path);
35
+ // Parse rules list if provided
36
+ const rules = options.rules
37
+ ? options.rules.split(',').map(r => r.trim())
38
+ : undefined;
39
+ // Parse exclude rules list if provided
40
+ const excludeRules = options.excludeRules
41
+ ? options.excludeRules.split(',').map(r => r.trim())
42
+ : undefined;
43
+ try {
44
+ const result = await validateWorkflow({
45
+ path: absolutePath,
46
+ strict: options.strict,
47
+ fix: options.fix,
48
+ dryRun: options.dryRun,
49
+ rules,
50
+ excludeRules,
51
+ });
52
+ if (options.json) {
53
+ console.log(JSON.stringify({
54
+ valid: result.valid,
55
+ path: absolutePath,
56
+ summary: result.summary,
57
+ findings: result.findings.map(f => ({
58
+ rule: f.rule,
59
+ severity: f.severity,
60
+ message: f.message,
61
+ details: f.raw_details,
62
+ line: f.line,
63
+ nodeId: f.nodeId,
64
+ fixable: f.fixable,
65
+ })),
66
+ }, null, 2));
67
+ }
68
+ else {
69
+ console.log(formatValidationResult(result, absolutePath, {
70
+ showFixTip: !options.fix && !options.dryRun,
71
+ isDryRun: options.dryRun,
72
+ }));
73
+ }
74
+ // Exit with appropriate code
75
+ process.exit(result.valid ? 0 : 1);
76
+ }
77
+ catch (error) {
78
+ console.error(`\n\x1b[31mError:\x1b[0m ${error.message}\n`);
79
+ process.exit(2);
80
+ }
81
+ });
82
+ //# sourceMappingURL=workflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../../../src/cli/commands/verify/workflow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Who Am I Command
3
+ *
4
+ * Shows the currently authenticated identity by calling /verifyApiKey.
5
+ * Falls back to cached profile data if the network call fails.
6
+ *
7
+ * Usage:
8
+ * codika whoami
9
+ * codika whoami --json
10
+ */
11
+ import { Command } from 'commander';
12
+ export declare const whoamiCommand: Command;
13
+ //# sourceMappingURL=whoami.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whoami.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/whoami.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,eAAO,MAAM,aAAa,SAwHtB,CAAC"}
@@ -0,0 +1,126 @@
1
+ /**
2
+ * Who Am I Command
3
+ *
4
+ * Shows the currently authenticated identity by calling /verifyApiKey.
5
+ * Falls back to cached profile data if the network call fails.
6
+ *
7
+ * Usage:
8
+ * codika whoami
9
+ * codika whoami --json
10
+ */
11
+ import { Command } from 'commander';
12
+ import { resolveApiKey, resolveEndpointUrl, getActiveProfile, maskApiKey, describeApiKeySource, } from '../../utils/config.js';
13
+ import { verifyApiKeyRemote } from './config/set.js';
14
+ export const whoamiCommand = new Command('whoami')
15
+ .description('Show current authentication identity')
16
+ .option('--json', 'Output as JSON')
17
+ .option('--profile <name>', 'Use a specific profile instead of the active one')
18
+ .action(async (options) => {
19
+ const apiKey = resolveApiKey(undefined, options.profile);
20
+ const activeProfile = getActiveProfile();
21
+ if (!apiKey) {
22
+ if (options.json) {
23
+ console.log(JSON.stringify({ loggedIn: false }));
24
+ }
25
+ else {
26
+ console.log('');
27
+ console.log("Not logged in. Run 'codika login' to authenticate.");
28
+ console.log('');
29
+ }
30
+ process.exit(1);
31
+ }
32
+ // Call verifyApiKey for fresh data
33
+ const verifyUrl = resolveEndpointUrl('verifyApiKey', undefined, options.profile);
34
+ const result = await verifyApiKeyRemote(apiKey, verifyUrl);
35
+ if (result.success && result.data) {
36
+ if (options.json) {
37
+ console.log(JSON.stringify({
38
+ loggedIn: true,
39
+ ...result.data,
40
+ source: describeApiKeySource(),
41
+ profileName: activeProfile?.name ?? null,
42
+ }, null, 2));
43
+ return;
44
+ }
45
+ const isAdmin = result.data.type === 'admin-api-key';
46
+ console.log('');
47
+ console.log(`Logged in to Codika${isAdmin ? ' (admin)' : ''}`);
48
+ console.log('');
49
+ if (!isAdmin && result.data.organizationName) {
50
+ const orgDisplay = result.data.organizationId
51
+ ? `${result.data.organizationName} (${result.data.organizationId})`
52
+ : result.data.organizationName;
53
+ console.log(` Organization: ${orgDisplay}`);
54
+ }
55
+ if (result.data.keyName) {
56
+ console.log(` Key name: ${result.data.keyName}`);
57
+ }
58
+ console.log(` Key: ${maskApiKey(apiKey)}`);
59
+ if (result.data.scopes && result.data.scopes.length > 0) {
60
+ console.log(` Scopes: ${result.data.scopes.join(', ')}`);
61
+ }
62
+ if (result.data.expiresAt) {
63
+ const expDate = new Date(result.data.expiresAt);
64
+ const isExpired = expDate < new Date();
65
+ const dateStr = expDate.toLocaleDateString();
66
+ console.log(` Expires: ${dateStr}${isExpired ? ' \x1b[33m[EXPIRED]\x1b[0m' : ''}`);
67
+ }
68
+ if (activeProfile) {
69
+ console.log(` Profile: ${activeProfile.name}`);
70
+ }
71
+ console.log('');
72
+ return;
73
+ }
74
+ // Network error — fall back to cached profile data
75
+ if (activeProfile) {
76
+ if (options.json) {
77
+ console.log(JSON.stringify({
78
+ loggedIn: true,
79
+ cached: true,
80
+ ...activeProfile.profile,
81
+ profileName: activeProfile.name,
82
+ }, null, 2));
83
+ return;
84
+ }
85
+ const isAdmin = activeProfile.profile.type === 'admin-api-key';
86
+ console.log('');
87
+ console.log(`Logged in to Codika${isAdmin ? ' (admin)' : ''} \x1b[33m(cached \u2014 run 'codika login' to refresh)\x1b[0m`);
88
+ console.log('');
89
+ if (!isAdmin && activeProfile.profile.organizationName) {
90
+ const orgDisplay = activeProfile.profile.organizationId
91
+ ? `${activeProfile.profile.organizationName} (${activeProfile.profile.organizationId})`
92
+ : activeProfile.profile.organizationName;
93
+ console.log(` Organization: ${orgDisplay}`);
94
+ }
95
+ if (activeProfile.profile.keyName) {
96
+ console.log(` Key name: ${activeProfile.profile.keyName}`);
97
+ }
98
+ console.log(` Key: ${maskApiKey(apiKey)}`);
99
+ if (activeProfile.profile.scopes && activeProfile.profile.scopes.length > 0) {
100
+ console.log(` Scopes: ${activeProfile.profile.scopes.join(', ')}`);
101
+ }
102
+ console.log(` Profile: ${activeProfile.name}`);
103
+ console.log('');
104
+ return;
105
+ }
106
+ // No cached data, network failed
107
+ if (options.json) {
108
+ console.log(JSON.stringify({
109
+ loggedIn: true,
110
+ error: result.error || 'Failed to verify API key',
111
+ key: maskApiKey(apiKey),
112
+ source: describeApiKeySource(),
113
+ }, null, 2));
114
+ }
115
+ else {
116
+ console.log('');
117
+ console.log('\x1b[33mCould not verify API key\x1b[0m');
118
+ console.log('');
119
+ console.log(` Key: ${maskApiKey(apiKey)}`);
120
+ console.log(` Source: ${describeApiKeySource()}`);
121
+ console.log(` Error: ${result.error || 'Unknown error'}`);
122
+ console.log('');
123
+ }
124
+ process.exit(1);
125
+ });
126
+ //# sourceMappingURL=whoami.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../../src/cli/commands/whoami.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,EACV,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,kBAAkB,EAAqB,MAAM,iBAAiB,CAAC;AAExE,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KAC/C,WAAW,CAAC,sCAAsC,CAAC;KACnD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;KAClC,MAAM,CAAC,kBAAkB,EAAE,kDAAkD,CAAC;KAC9E,MAAM,CAAC,KAAK,EAAE,OAA6C,EAAE,EAAE;IAC9D,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IAEzC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,mCAAmC;IACnC,MAAM,SAAS,GAAG,kBAAkB,CAAC,cAAc,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACjF,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAE3D,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAClC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;gBACzB,QAAQ,EAAE,IAAI;gBACd,GAAG,MAAM,CAAC,IAAI;gBACd,MAAM,EAAE,oBAAoB,EAAE;gBAC9B,WAAW,EAAE,aAAa,EAAE,IAAI,IAAI,IAAI;aACzC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACb,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC;QAErD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,sBAAsB,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC7C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc;gBAC3C,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,KAAK,MAAM,CAAC,IAAI,CAAC,cAAc,GAAG;gBACnE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,oBAAoB,UAAU,EAAE,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,oBAAoB,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACtD,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAChD,MAAM,SAAS,GAAG,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,oBAAoB,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5F,CAAC;QACD,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,oBAAoB,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO;IACT,CAAC;IAED,mDAAmD;IACnD,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;gBACzB,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,IAAI;gBACZ,GAAG,aAAa,CAAC,OAAO;gBACxB,WAAW,EAAE,aAAa,CAAC,IAAI;aAChC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACb,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,KAAK,eAAe,CAAC;QAE/D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,sBAAsB,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,gEAAgE,CAAC,CAAC;QAC7H,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,IAAI,CAAC,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;YACvD,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,cAAc;gBACrD,CAAC,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,gBAAgB,KAAK,aAAa,CAAC,OAAO,CAAC,cAAc,GAAG;gBACvF,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,oBAAoB,UAAU,EAAE,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,oBAAoB,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,oBAAoB,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACtD,IAAI,aAAa,CAAC,OAAO,CAAC,MAAM,IAAI,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5E,OAAO,CAAC,GAAG,CAAC,oBAAoB,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7E,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,oBAAoB,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO;IACT,CAAC;IAED,iCAAiC;IACjC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;YACzB,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,0BAA0B;YACjD,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC;YACvB,MAAM,EAAE,oBAAoB,EAAE;SAC/B,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACf,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,cAAc,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,cAAc,oBAAoB,EAAE,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,KAAK,IAAI,eAAe,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env -S node --experimental-strip-types --disable-warning=ExperimentalWarning
2
+ /**
3
+ * Codika SDK CLI
4
+ *
5
+ * Command-line interface for deploying and managing Codika use cases.
6
+ *
7
+ * Usage:
8
+ * codika <command> [options]
9
+ *
10
+ * Commands:
11
+ * login Save API key (alias for config set)
12
+ * init <path> Scaffold a new use case folder
13
+ * config set|show|clear Manage CLI configuration
14
+ * deploy use-case <path> Deploy a use case to the Codika platform
15
+ * deploy process-data-ingestion <path> Deploy a process-level data ingestion configuration
16
+ * project create --name "..." Create a new project
17
+ * verify workflow <path> Validate a single workflow JSON file
18
+ * verify use-case <path> Validate an entire use-case folder
19
+ * publish <templateId> Publish a deployment to production
20
+ * redeploy Redeploy a deployment instance with parameter overrides
21
+ * list executions <processInstanceId> List recent executions
22
+ */
23
+ export {};
24
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;GAoBG"}
@@ -0,0 +1,90 @@
1
+ #!/usr/bin/env -S node --experimental-strip-types --disable-warning=ExperimentalWarning
2
+ /**
3
+ * Codika SDK CLI
4
+ *
5
+ * Command-line interface for deploying and managing Codika use cases.
6
+ *
7
+ * Usage:
8
+ * codika <command> [options]
9
+ *
10
+ * Commands:
11
+ * login Save API key (alias for config set)
12
+ * init <path> Scaffold a new use case folder
13
+ * config set|show|clear Manage CLI configuration
14
+ * deploy use-case <path> Deploy a use case to the Codika platform
15
+ * deploy process-data-ingestion <path> Deploy a process-level data ingestion configuration
16
+ * project create --name "..." Create a new project
17
+ * verify workflow <path> Validate a single workflow JSON file
18
+ * verify use-case <path> Validate an entire use-case folder
19
+ * publish <templateId> Publish a deployment to production
20
+ * redeploy Redeploy a deployment instance with parameter overrides
21
+ * list executions <processInstanceId> List recent executions
22
+ */
23
+ import { program, Command } from 'commander';
24
+ import { createRequire } from 'module';
25
+ import { deployCommand } from './commands/deploy/index.js';
26
+ import { getCommand } from './commands/get/index.js';
27
+ import { projectCommand } from './commands/project/index.js';
28
+ import { verifyCommand } from './commands/verify/index.js';
29
+ import { configCommand, runConfigSet } from './commands/config/index.js';
30
+ import { triggerCommand } from './commands/trigger.js';
31
+ import { whoamiCommand } from './commands/whoami.js';
32
+ import { useCommand } from './commands/use.js';
33
+ import { logoutCommand } from './commands/logout.js';
34
+ import { initCommand } from './commands/init.js';
35
+ import { statusCommand } from './commands/status.js';
36
+ import { completionCommand } from './commands/completion.js';
37
+ import { publishCommand } from './commands/publish.js';
38
+ import { redeployCommand } from './commands/redeploy.js';
39
+ import { listCommand } from './commands/list/index.js';
40
+ import { integrationCommand } from './commands/integration/index.js';
41
+ import { checkProfileExpiry } from '../utils/config.js';
42
+ // Read version from package.json dynamically
43
+ const require = createRequire(import.meta.url);
44
+ const { version: VERSION } = require('../../package.json');
45
+ program
46
+ .name('codika')
47
+ .description('Codika CLI - Deploy and manage use cases')
48
+ .version(VERSION, '-V, --cli-version');
49
+ // Register commands
50
+ program.addCommand(deployCommand);
51
+ program.addCommand(getCommand);
52
+ program.addCommand(projectCommand);
53
+ program.addCommand(verifyCommand);
54
+ program.addCommand(configCommand);
55
+ program.addCommand(triggerCommand);
56
+ // Top-level `login` alias for `config set`
57
+ const loginCommand = new Command('login')
58
+ .description('Save API key (alias for "config set")')
59
+ .option('--api-key <key>', 'API key (skips interactive prompt)')
60
+ .option('--base-url <url>', 'Base URL override (default: production)')
61
+ .option('--name <name>', 'Custom profile name (auto-derived if omitted)')
62
+ .option('--skip-verify', 'Save without verifying the key')
63
+ .action(async (options) => {
64
+ await runConfigSet(options);
65
+ });
66
+ program.addCommand(loginCommand);
67
+ program.addCommand(initCommand);
68
+ program.addCommand(whoamiCommand);
69
+ program.addCommand(useCommand);
70
+ program.addCommand(logoutCommand);
71
+ program.addCommand(statusCommand);
72
+ program.addCommand(completionCommand);
73
+ program.addCommand(publishCommand);
74
+ program.addCommand(redeployCommand);
75
+ program.addCommand(listCommand);
76
+ program.addCommand(integrationCommand);
77
+ // Profile expiry warning — runs before every command
78
+ program.hook('preAction', () => {
79
+ const expiry = checkProfileExpiry();
80
+ if (!expiry)
81
+ return;
82
+ if (expiry.expired) {
83
+ process.stderr.write(`\x1b[33m\u26A0 API key "${expiry.profileName}" expired on ${new Date(expiry.expiresAt).toLocaleDateString()}. Run 'codika login' to refresh.\x1b[0m\n`);
84
+ }
85
+ else if (expiry.daysLeft <= 7) {
86
+ process.stderr.write(`\x1b[33m\u26A0 API key "${expiry.profileName}" expires in ${expiry.daysLeft} day${expiry.daysLeft !== 1 ? 's' : ''}. Run 'codika login' to refresh.\x1b[0m\n`);
87
+ }
88
+ });
89
+ program.parse();
90
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * CLAUDE.md Template
3
+ *
4
+ * Generates a CLAUDE.md file for use case folders so AI agents
5
+ * immediately understand the Codika context, patterns, and available tooling.
6
+ */
7
+ export interface ClaudeMdTemplateParams {
8
+ name: string;
9
+ slug: string;
10
+ }
11
+ export declare function generateClaudeMd(params: ClaudeMdTemplateParams): string;
12
+ //# sourceMappingURL=claude-md-template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-md-template.d.ts","sourceRoot":"","sources":["../../../src/cli/templates/claude-md-template.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,GAAG,MAAM,CA0JvE"}
@@ -0,0 +1,162 @@
1
+ /**
2
+ * CLAUDE.md Template
3
+ *
4
+ * Generates a CLAUDE.md file for use case folders so AI agents
5
+ * immediately understand the Codika context, patterns, and available tooling.
6
+ */
7
+ export function generateClaudeMd(params) {
8
+ return `# ${params.name} — Codika Use Case
9
+
10
+ This folder is a **Codika use case**: a set of n8n workflow templates and deployment configuration managed by the \`codika\` CLI (npm package \`codika\`). Codika is a multi-tenant SaaS platform that orchestrates n8n workflows — you design workflow templates with placeholders, deploy them, and the platform creates personalized copies for each user with their own credentials and parameters.
11
+
12
+ ## Folder Structure
13
+
14
+ | File / Folder | Purpose |
15
+ |---|---|
16
+ | \`config.ts\` | Deployment configuration. Exports \`WORKFLOW_FILES\` (array of workflow paths) and \`getConfiguration()\` (metadata, workflow definitions, triggers, input/output schemas, integrations, tags). |
17
+ | \`workflows/\` | n8n workflow JSON files. Each file is one workflow template with placeholder tokens. |
18
+ | \`data-ingestion/\` | *(Optional)* Embedding pipeline workflow for RAG-enabled processes. |
19
+ | \`version.json\` | Local semantic version (\`X.Y.Z\`). Automatically incremented on each deploy. |
20
+ | \`project.json\` | Links this use case to a Codika project (\`projectId\`, \`organizationId\`, and \`deployments\` map after first deploy). |
21
+
22
+ ## Mandatory Workflow Pattern
23
+
24
+ Every **parent workflow** (not sub-workflows) must follow this exact node sequence:
25
+
26
+ \`\`\`
27
+ Trigger → Codika Init → [Business Logic] → IF (success?)
28
+ ├─ Yes → Codika Submit Result
29
+ └─ No → Codika Report Error
30
+ \`\`\`
31
+
32
+ **Sub-workflows** start with \`Execute Workflow Trigger\` and do NOT include Codika Init, Submit Result, or Report Error nodes. They must have at least 1 input parameter.
33
+
34
+ **Critical rules:**
35
+ - Never place a Merge node before a terminal Codika node (Submit Result / Report Error) — it stalls the execution.
36
+ - The Codika Init node must be the first node after the trigger, with no other nodes in between.
37
+
38
+ ## Codika Nodes
39
+
40
+ Six custom nodes from the \`n8n-nodes-codika\` package:
41
+
42
+ | Node | Resource | Purpose |
43
+ |---|---|---|
44
+ | **Codika Init** | \`initializeExecution\` | Registers the execution with the platform, provides resolved credentials and parameters. |
45
+ | **Codika Submit Result** | \`workflowOutputs\` | Reports successful completion with result data. |
46
+ | **Codika Report Error** | \`errorHandling\` | Reports failure with an error message and type (\`node_failure\`, \`validation_error\`, \`external_api_error\`, \`timeout\`). |
47
+ | **Codika Upload File** | — | Uploads a file to Codika storage, returns a \`documentId\`. |
48
+ | **Codika Init Data Ingestion** | — | Initializes RAG document embedding workflows. |
49
+ | **Codika Ingestion Callback** | — | Reports RAG ingestion status (success/skipped/failed). |
50
+
51
+ ## Placeholder System
52
+
53
+ Workflow JSON files use placeholder tokens that are replaced at deployment time with real values specific to each user/organization. Format: \`{{TYPE_KEY_REVERSEDSUFFIX}}\` where the suffix is the type name reversed.
54
+
55
+ | Type | Suffix | Purpose | Example |
56
+ |---|---|---|---|
57
+ | \`USERDATA\` | \`ATADRESU\` | Per-user runtime values (instance ID, user ID) | \`{{USERDATA_PROCESS_INSTANCE_UID_ATADRESU}}\` |
58
+ | \`PROCDATA\` | \`ATADCORP\` | Process-level values (namespace, process ID) | \`{{PROCDATA_NAMESPACE_ATADCORP}}\` |
59
+ | \`USERCRED\` | \`DERCRESU\` | User OAuth credentials (Gmail, Calendar, etc.) | \`{{USERCRED_GMAIL_ID_DERCRESU}}\` |
60
+ | \`SYSCREDS\` | \`SDERCSYS\` | System-level AI credentials | \`{{SYSCREDS_ANTHROPIC_ID_SDERCSYS}}\` |
61
+ | \`ORGCRED\` | \`DERCGRO\` | Organization-level credentials | \`{{ORGCRED_SLACK_ID_DERCGRO}}\` |
62
+ | \`ORGSECRET\` | \`TERCESORG\` | Organization secrets (API URLs, keys) | \`{{ORGSECRET_N8N_BASE_URL_TERCESORG}}\` |
63
+ | \`FLEXCRED\` | \`DERCXELF\` | AI provider credentials with Codika fallback | \`{{FLEXCRED_OPENAI_ID_DERCXELF}}\` |
64
+ | \`MEMSECRT\` | \`TRCESMEM\` | Member-level secrets | \`{{MEMSECRT_EXECUTION_AUTH_TRCESMEM}}\` |
65
+ | \`INSTPARM\` | \`MRAPTSNI\` | User-provided deployment parameters | \`{{INSTPARM_COMPANY_NAME_MRAPTSNI}}\` |
66
+ | \`INSTCRED\` | \`DERCTSNI\` | Per-instance database credentials | \`{{INSTCRED_SUPABASE_ID_DERCTSNI}}\` |
67
+ | \`SUBWKFL\` | \`LFKWBUS\` | Sub-workflow n8n IDs (resolved during deploy) | \`{{SUBWKFL_text-processor_LFKWBUS}}\` |
68
+
69
+ Do not invent new placeholder types. Use existing types and follow the naming convention exactly.
70
+
71
+ ## Trigger Types
72
+
73
+ | Type | Description | Config type |
74
+ |---|---|---|
75
+ | **HTTP** | User-initiated via form submission in the dashboard | \`HttpTrigger\` |
76
+ | **Schedule** | Cron-based automation (runs on a timer) | \`ScheduleTrigger\` |
77
+ | **Service Event** | External webhook (Gmail, Calendly, WhatsApp, Slack, etc.) | \`ServiceEventTrigger\` |
78
+ | **Sub-workflow** | Called by other workflows within this use case (cost: 0) | \`SubworkflowTrigger\` |
79
+ | **Data Ingestion** | RAG document embedding pipeline | \`DataIngestionTrigger\` |
80
+
81
+ ## Platform Entities & Deployment Model
82
+
83
+ The Codika backend manages 4 core Firestore entities:
84
+
85
+ | Entity | What it is |
86
+ |---|---|
87
+ | **Process** | Public listing and metadata for the use case. Its ID equals the \`projectId\` from \`project.json\`. |
88
+ | **ProcessDeploymentTemplate** | An immutable version snapshot containing the config and all workflow JSON files. Created on each deploy. |
89
+ | **ProcessInstance** | A user's installation of the process. Each user gets their own instance (dev or prod environment). |
90
+ | **ProcessDeploymentInstance** | The actual running copy with real n8n workflow IDs and resolved credentials/parameters. |
91
+
92
+ ### Deploy flow
93
+
94
+ 1. \`codika deploy use-case .\` validates the use case, base64-encodes workflows, and uploads everything to the platform.
95
+ 2. The platform creates a new **ProcessDeploymentTemplate** (status: \`inactive\`).
96
+ 3. On **first deploy**: also creates the Process, a **dev** ProcessInstance, and a dev ProcessDeploymentInstance — then deploys the workflows to n8n.
97
+ 4. On **subsequent deploys**: creates a new template version and updates the dev instance with new n8n workflows.
98
+
99
+ ### Publish flow
100
+
101
+ 1. Publishing sets the template status from \`inactive\` to \`published\` and deprecates previous templates.
102
+ 2. Creates a **prod** ProcessInstance and ProcessDeploymentInstance for the owner, deploying prod n8n workflows.
103
+ 3. **Auto-toggle**: the dev instance is deactivated, the prod instance becomes active.
104
+ 4. Other users who installed the process get \`hasUpdate: true\` on their instance — they auto-update on their next visit.
105
+
106
+ ### Dev / Prod environments
107
+
108
+ - **Dev** instance is for testing (created automatically on deploy). Only the process owner has one.
109
+ - **Prod** instance is the live version (created on publish). All users get prod instances.
110
+ - Only one environment is active at a time for the process owner (auto-toggle between dev and prod).
111
+ - When you redeploy after publishing, dev is re-activated and prod is deactivated, so you can test changes before publishing again.
112
+
113
+ ### project.json after deployments
114
+
115
+ After deploying and publishing, \`project.json\` grows to include a \`deployments\` map:
116
+
117
+ \`\`\`json
118
+ {
119
+ "projectId": "abc123-def456",
120
+ "organizationId": "org_789",
121
+ "deployments": {
122
+ "1.0": { "templateId": "tmpl_...", "deployedAt": "2025-01-15T10:30:00Z" },
123
+ "1.1": { "templateId": "tmpl_...", "deployedAt": "2025-02-01T14:00:00Z" }
124
+ }
125
+ }
126
+ \`\`\`
127
+
128
+ The \`deployments\` map tracks every version deployed. The \`templateId\` values are needed when publishing a specific version.
129
+
130
+ ## Development Workflow
131
+
132
+ 1. **Edit** workflow JSON files in \`workflows/\` and update \`config.ts\` to match (triggers, schemas, workflow references).
133
+ 2. **Validate**: \`codika verify use-case .\` — checks mandatory nodes, placeholder syntax, credential patterns, sub-workflow references. Use \`--fix\` for auto-fixable issues.
134
+ 3. **Deploy to dev**: \`codika deploy use-case .\` — deploys to the platform, creates/updates dev n8n workflows, increments \`version.json\`.
135
+ 4. **Test** the dev instance by triggering workflows and checking execution results.
136
+ 5. **Publish to prod**: promotes the deployed version to production, making it available to users.
137
+
138
+ ## Available CLI Skills
139
+
140
+ These skills are available when the \`codika\` plugin is installed:
141
+
142
+ | Skill | What it does |
143
+ |---|---|
144
+ | \`setup-codika\` | Install the CLI and authenticate with the platform |
145
+ | \`create-project\` | Create a new project on the platform (writes \`project.json\`) |
146
+ | \`init-use-case\` | Scaffold a new use case folder |
147
+ | \`verify-use-case\` | Validate use case structure and rules locally |
148
+ | \`deploy-use-case\` | Deploy use case to the platform (dev instance) |
149
+ | \`deploy-data-ingestion\` | Deploy data ingestion workflow separately |
150
+ | \`deploy-documents\` | Upload stage documentation markdown files |
151
+ | \`publish-use-case\` | Promote a deployed version to production |
152
+ | \`fetch-use-case\` | Download a deployed use case from the platform |
153
+ | \`trigger-workflow\` | Trigger a deployed workflow and optionally poll for results |
154
+ | \`get-execution\` | Fetch full execution details for debugging (node-by-node) |
155
+ | \`list-executions\` | List recent executions with status overview |
156
+
157
+ ## Documentation
158
+
159
+ Full platform documentation: https://doc.codika.io
160
+ `;
161
+ }
162
+ //# sourceMappingURL=claude-md-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-md-template.js","sourceRoot":"","sources":["../../../src/cli/templates/claude-md-template.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,MAAM,UAAU,gBAAgB,CAAC,MAA8B;IAC7D,OAAO,KAAK,MAAM,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwJxB,CAAC;AACF,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Config Template Generator
3
+ *
4
+ * Generates a config.ts file for a new use case following the patterns
5
+ * established in simple-translator and subworkflow-demo.
6
+ */
7
+ export interface ConfigTemplateParams {
8
+ name: string;
9
+ slug: string;
10
+ description: string;
11
+ icon: string;
12
+ withDataIngestion?: boolean;
13
+ }
14
+ /**
15
+ * Generate a complete config.ts file as a string.
16
+ */
17
+ export declare function generateConfigTs(params: ConfigTemplateParams): string;
18
+ //# sourceMappingURL=config-template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-template.d.ts","sourceRoot":"","sources":["../../../src/cli/templates/config-template.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAoTrE"}