@camunda8/cli 3.1.0 → 3.2.0-alpha.10

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 (311) hide show
  1. package/CONTEXT.md +7 -15
  2. package/EXAMPLES.md +253 -1
  3. package/PLUGIN-HELP.md +1 -1
  4. package/README.md +50 -180
  5. package/dist/command-dispatch.d.ts +1 -1
  6. package/dist/command-dispatch.d.ts.map +1 -1
  7. package/dist/command-dispatch.js +1 -1
  8. package/dist/command-dispatch.js.map +1 -1
  9. package/dist/commands/completion.d.ts +1 -1
  10. package/dist/commands/completion.d.ts.map +1 -1
  11. package/dist/commands/completion.js +2 -3
  12. package/dist/commands/completion.js.map +1 -1
  13. package/dist/commands/deploy.d.ts +13 -0
  14. package/dist/commands/deploy.d.ts.map +1 -0
  15. package/dist/commands/deploy.js +328 -0
  16. package/dist/commands/deploy.js.map +1 -0
  17. package/dist/commands/forms.d.ts +1 -1
  18. package/dist/commands/forms.d.ts.map +1 -1
  19. package/dist/commands/forms.js +8 -8
  20. package/dist/commands/forms.js.map +1 -1
  21. package/dist/commands/helpers/deploy-helpers.d.ts +120 -0
  22. package/dist/commands/helpers/deploy-helpers.d.ts.map +1 -0
  23. package/dist/{deployments.js → commands/helpers/deploy-helpers.js} +307 -155
  24. package/dist/commands/helpers/deploy-helpers.js.map +1 -0
  25. package/dist/commands/identity-authorizations.d.ts +5 -18
  26. package/dist/commands/identity-authorizations.d.ts.map +1 -1
  27. package/dist/commands/identity-authorizations.js +8 -10
  28. package/dist/commands/identity-authorizations.js.map +1 -1
  29. package/dist/commands/identity-groups.d.ts +5 -5
  30. package/dist/commands/identity-groups.d.ts.map +1 -1
  31. package/dist/commands/identity-groups.js +7 -8
  32. package/dist/commands/identity-groups.js.map +1 -1
  33. package/dist/commands/identity-mapping-rules.d.ts +5 -5
  34. package/dist/commands/identity-mapping-rules.d.ts.map +1 -1
  35. package/dist/commands/identity-mapping-rules.js +7 -8
  36. package/dist/commands/identity-mapping-rules.js.map +1 -1
  37. package/dist/commands/identity-roles.d.ts +5 -5
  38. package/dist/commands/identity-roles.d.ts.map +1 -1
  39. package/dist/commands/identity-roles.js +7 -8
  40. package/dist/commands/identity-roles.js.map +1 -1
  41. package/dist/commands/identity-tenants.d.ts +5 -5
  42. package/dist/commands/identity-tenants.d.ts.map +1 -1
  43. package/dist/commands/identity-tenants.js +7 -8
  44. package/dist/commands/identity-tenants.js.map +1 -1
  45. package/dist/commands/identity-users.d.ts +5 -5
  46. package/dist/commands/identity-users.d.ts.map +1 -1
  47. package/dist/commands/identity-users.js +7 -8
  48. package/dist/commands/identity-users.js.map +1 -1
  49. package/dist/commands/identity.d.ts +11 -31
  50. package/dist/commands/identity.d.ts.map +1 -1
  51. package/dist/commands/identity.js +15 -15
  52. package/dist/commands/identity.js.map +1 -1
  53. package/dist/commands/incidents.d.ts +3 -3
  54. package/dist/commands/incidents.d.ts.map +1 -1
  55. package/dist/commands/incidents.js +6 -6
  56. package/dist/commands/incidents.js.map +1 -1
  57. package/dist/commands/jobs.d.ts +4 -4
  58. package/dist/commands/jobs.d.ts.map +1 -1
  59. package/dist/commands/jobs.js +7 -7
  60. package/dist/commands/jobs.js.map +1 -1
  61. package/dist/commands/mcp-proxy.d.ts +1 -1
  62. package/dist/commands/mcp-proxy.d.ts.map +1 -1
  63. package/dist/commands/mcp-proxy.js +5 -9
  64. package/dist/commands/mcp-proxy.js.map +1 -1
  65. package/dist/commands/messages.d.ts +2 -2
  66. package/dist/commands/messages.d.ts.map +1 -1
  67. package/dist/commands/messages.js +4 -4
  68. package/dist/commands/messages.js.map +1 -1
  69. package/dist/commands/open.d.ts +4 -4
  70. package/dist/commands/open.d.ts.map +1 -1
  71. package/dist/commands/open.js +6 -6
  72. package/dist/commands/open.js.map +1 -1
  73. package/dist/commands/plugins.d.ts +9 -9
  74. package/dist/commands/plugins.d.ts.map +1 -1
  75. package/dist/commands/plugins.js +2 -7
  76. package/dist/commands/plugins.js.map +1 -1
  77. package/dist/commands/process-definitions.d.ts +2 -2
  78. package/dist/commands/process-definitions.d.ts.map +1 -1
  79. package/dist/commands/process-definitions.js +5 -5
  80. package/dist/commands/process-definitions.js.map +1 -1
  81. package/dist/commands/process-instances.d.ts +5 -5
  82. package/dist/commands/process-instances.d.ts.map +1 -1
  83. package/dist/commands/process-instances.js +8 -9
  84. package/dist/commands/process-instances.js.map +1 -1
  85. package/dist/commands/profiles.d.ts +4 -36
  86. package/dist/commands/profiles.d.ts.map +1 -1
  87. package/dist/commands/profiles.js +43 -41
  88. package/dist/commands/profiles.js.map +1 -1
  89. package/dist/commands/run.d.ts +2 -2
  90. package/dist/commands/run.d.ts.map +1 -1
  91. package/dist/commands/run.js +4 -4
  92. package/dist/commands/run.js.map +1 -1
  93. package/dist/commands/search.d.ts +7 -7
  94. package/dist/commands/search.d.ts.map +1 -1
  95. package/dist/commands/search.js +9 -11
  96. package/dist/commands/search.js.map +1 -1
  97. package/dist/commands/session.d.ts +4 -4
  98. package/dist/commands/session.d.ts.map +1 -1
  99. package/dist/commands/session.js +26 -5
  100. package/dist/commands/session.js.map +1 -1
  101. package/dist/commands/topology.d.ts +1 -1
  102. package/dist/commands/topology.d.ts.map +1 -1
  103. package/dist/commands/topology.js +2 -2
  104. package/dist/commands/topology.js.map +1 -1
  105. package/dist/commands/user-tasks.d.ts +2 -2
  106. package/dist/commands/user-tasks.d.ts.map +1 -1
  107. package/dist/commands/user-tasks.js +5 -5
  108. package/dist/commands/user-tasks.js.map +1 -1
  109. package/dist/commands/variables.d.ts +1 -1
  110. package/dist/commands/variables.d.ts.map +1 -1
  111. package/dist/commands/variables.js +3 -3
  112. package/dist/commands/variables.js.map +1 -1
  113. package/dist/commands/watch.d.ts +2 -2
  114. package/dist/commands/watch.d.ts.map +1 -1
  115. package/dist/commands/watch.js +86 -19
  116. package/dist/commands/watch.js.map +1 -1
  117. package/dist/core/client.d.ts.map +1 -0
  118. package/dist/core/client.js.map +1 -0
  119. package/dist/{config.d.ts → core/config.d.ts} +28 -2
  120. package/dist/core/config.d.ts.map +1 -0
  121. package/dist/{config.js → core/config.js} +61 -5
  122. package/dist/core/config.js.map +1 -0
  123. package/dist/core/errors.d.ts.map +1 -0
  124. package/dist/core/errors.js.map +1 -0
  125. package/dist/core/index.d.ts +7 -0
  126. package/dist/core/index.d.ts.map +1 -0
  127. package/dist/core/index.js +13 -0
  128. package/dist/core/index.js.map +1 -0
  129. package/dist/core/logger.d.ts.map +1 -0
  130. package/dist/core/logger.js.map +1 -0
  131. package/dist/core/runtime.d.ts.map +1 -0
  132. package/dist/{runtime.js → core/runtime.js} +2 -2
  133. package/dist/core/runtime.js.map +1 -0
  134. package/dist/core/update-check.d.ts.map +1 -0
  135. package/dist/core/update-check.js.map +1 -0
  136. package/dist/default-plugins/bpmn/README.md +12 -3
  137. package/dist/default-plugins/bpmn/c8ctl-plugin.js +7376 -108
  138. package/dist/default-plugins/bpmn/package.json +8 -1
  139. package/dist/default-plugins/cluster/c8ctl-plugin.js +66 -9
  140. package/dist/default-plugins/element-template/README.md +6 -3
  141. package/dist/default-plugins/element-template/c8ctl-plugin.js +10195 -229
  142. package/dist/default-plugins/element-template/docs/design.md +1 -1
  143. package/dist/default-plugins/element-template/package.json +11 -1
  144. package/dist/default-plugins/feel/c8ctl-plugin.js +14030 -584
  145. package/dist/default-plugins/feel/package.json +4 -1
  146. package/dist/{command-framework.d.ts → framework/command-framework.d.ts} +23 -9
  147. package/dist/framework/command-framework.d.ts.map +1 -0
  148. package/dist/{command-framework.js → framework/command-framework.js} +16 -29
  149. package/dist/framework/command-framework.js.map +1 -0
  150. package/dist/{command-registry.d.ts → framework/command-registry.d.ts} +35 -8
  151. package/dist/framework/command-registry.d.ts.map +1 -0
  152. package/dist/{command-registry.js → framework/command-registry.js} +74 -9
  153. package/dist/framework/command-registry.js.map +1 -0
  154. package/dist/{command-validation.d.ts → framework/command-validation.d.ts} +0 -14
  155. package/dist/framework/command-validation.d.ts.map +1 -0
  156. package/dist/{command-validation.js → framework/command-validation.js} +1 -34
  157. package/dist/framework/command-validation.js.map +1 -0
  158. package/dist/framework/index.d.ts +10 -0
  159. package/dist/framework/index.d.ts.map +1 -0
  160. package/dist/framework/index.js +16 -0
  161. package/dist/framework/index.js.map +1 -0
  162. package/dist/{plugin-loader.d.ts → framework/plugins/plugin-loader.d.ts} +30 -5
  163. package/dist/framework/plugins/plugin-loader.d.ts.map +1 -0
  164. package/dist/{plugin-loader.js → framework/plugins/plugin-loader.js} +26 -10
  165. package/dist/framework/plugins/plugin-loader.js.map +1 -0
  166. package/dist/framework/plugins/plugin-registry.d.ts.map +1 -0
  167. package/dist/{plugin-registry.js → framework/plugins/plugin-registry.js} +1 -1
  168. package/dist/framework/plugins/plugin-registry.js.map +1 -0
  169. package/dist/framework/plugins/plugin-version.d.ts.map +1 -0
  170. package/dist/framework/plugins/plugin-version.js.map +1 -0
  171. package/dist/{completion.d.ts → framework/ui/completion.d.ts} +2 -2
  172. package/dist/framework/ui/completion.d.ts.map +1 -0
  173. package/dist/{completion.js → framework/ui/completion.js} +7 -9
  174. package/dist/framework/ui/completion.js.map +1 -0
  175. package/dist/framework/ui/help.d.ts.map +1 -0
  176. package/dist/{help.js → framework/ui/help.js} +4 -4
  177. package/dist/framework/ui/help.js.map +1 -0
  178. package/dist/framework/ui/prompt.d.ts +132 -0
  179. package/dist/framework/ui/prompt.d.ts.map +1 -0
  180. package/dist/framework/ui/prompt.js +298 -0
  181. package/dist/framework/ui/prompt.js.map +1 -0
  182. package/dist/index.d.ts.map +1 -1
  183. package/dist/index.js +24 -20
  184. package/dist/index.js.map +1 -1
  185. package/dist/utils/command-local/deploy-version.d.ts +21 -0
  186. package/dist/utils/command-local/deploy-version.d.ts.map +1 -0
  187. package/dist/utils/command-local/deploy-version.js +31 -0
  188. package/dist/utils/command-local/deploy-version.js.map +1 -0
  189. package/dist/{mcp-proxy-helpers.d.ts → utils/command-local/mcp-proxy-helpers.d.ts} +1 -1
  190. package/dist/utils/command-local/mcp-proxy-helpers.d.ts.map +1 -0
  191. package/dist/{mcp-proxy-helpers.js → utils/command-local/mcp-proxy-helpers.js} +1 -1
  192. package/dist/utils/command-local/mcp-proxy-helpers.js.map +1 -0
  193. package/dist/utils/command-local/open-helpers.d.ts.map +1 -0
  194. package/dist/{open-helpers.js → utils/command-local/open-helpers.js} +2 -2
  195. package/dist/utils/command-local/open-helpers.js.map +1 -0
  196. package/dist/{search-helpers.d.ts → utils/command-local/search-helpers.d.ts} +1 -1
  197. package/dist/utils/command-local/search-helpers.d.ts.map +1 -0
  198. package/dist/utils/command-local/search-helpers.js.map +1 -0
  199. package/dist/utils/command-local/watch-constants.d.ts.map +1 -0
  200. package/dist/utils/command-local/watch-constants.js.map +1 -0
  201. package/dist/utils/index.d.ts +10 -0
  202. package/dist/utils/index.d.ts.map +1 -0
  203. package/dist/utils/index.js +16 -0
  204. package/dist/utils/index.js.map +1 -0
  205. package/dist/utils/shared/date-filter.d.ts.map +1 -0
  206. package/dist/utils/shared/date-filter.js.map +1 -0
  207. package/dist/{ignore.d.ts → utils/shared/ignore.d.ts} +19 -1
  208. package/dist/utils/shared/ignore.d.ts.map +1 -0
  209. package/dist/utils/shared/ignore.js +234 -0
  210. package/dist/utils/shared/ignore.js.map +1 -0
  211. package/dist/utils/shared/resource-extensions.d.ts.map +1 -0
  212. package/dist/utils/shared/resource-extensions.js.map +1 -0
  213. package/dist/utils/shared/validation.d.ts +23 -0
  214. package/dist/utils/shared/validation.d.ts.map +1 -0
  215. package/dist/utils/shared/validation.js +43 -0
  216. package/dist/utils/shared/validation.js.map +1 -0
  217. package/dist/vendor/bpmnlint.cjs +25907 -0
  218. package/package.json +12 -14
  219. package/dist/client.d.ts.map +0 -1
  220. package/dist/client.js.map +0 -1
  221. package/dist/command-framework.d.ts.map +0 -1
  222. package/dist/command-framework.js.map +0 -1
  223. package/dist/command-registry.d.ts.map +0 -1
  224. package/dist/command-registry.js.map +0 -1
  225. package/dist/command-validation.d.ts.map +0 -1
  226. package/dist/command-validation.js.map +0 -1
  227. package/dist/commands/resource-extensions.d.ts.map +0 -1
  228. package/dist/commands/resource-extensions.js.map +0 -1
  229. package/dist/completion.d.ts.map +0 -1
  230. package/dist/completion.js.map +0 -1
  231. package/dist/config.d.ts.map +0 -1
  232. package/dist/config.js.map +0 -1
  233. package/dist/date-filter.d.ts.map +0 -1
  234. package/dist/date-filter.js.map +0 -1
  235. package/dist/default-plugins/bpmn/c8ctl-plugin.js.map +0 -1
  236. package/dist/default-plugins/bpmn/lint.js +0 -320
  237. package/dist/default-plugins/bpmn/lint.js.map +0 -1
  238. package/dist/default-plugins/element-template/c8ctl-plugin.js.map +0 -1
  239. package/dist/default-plugins/element-template/commands/apply.js +0 -336
  240. package/dist/default-plugins/element-template/commands/apply.js.map +0 -1
  241. package/dist/default-plugins/element-template/commands/get-properties.js +0 -344
  242. package/dist/default-plugins/element-template/commands/get-properties.js.map +0 -1
  243. package/dist/default-plugins/element-template/commands/get.js +0 -107
  244. package/dist/default-plugins/element-template/commands/get.js.map +0 -1
  245. package/dist/default-plugins/element-template/commands/info.js +0 -189
  246. package/dist/default-plugins/element-template/commands/info.js.map +0 -1
  247. package/dist/default-plugins/element-template/commands/search.js +0 -102
  248. package/dist/default-plugins/element-template/commands/search.js.map +0 -1
  249. package/dist/default-plugins/element-template/commands/sync.js +0 -36
  250. package/dist/default-plugins/element-template/commands/sync.js.map +0 -1
  251. package/dist/default-plugins/element-template/helpers.js +0 -429
  252. package/dist/default-plugins/element-template/helpers.js.map +0 -1
  253. package/dist/default-plugins/element-template/marketplace.js +0 -586
  254. package/dist/default-plugins/element-template/marketplace.js.map +0 -1
  255. package/dist/default-plugins/element-template/template-ref.js +0 -232
  256. package/dist/default-plugins/element-template/template-ref.js.map +0 -1
  257. package/dist/default-plugins/feel/c8ctl-plugin.js.map +0 -1
  258. package/dist/default-plugins/hello-world/README.md +0 -161
  259. package/dist/default-plugins/hello-world/c8ctl-plugin.js +0 -69
  260. package/dist/default-plugins/hello-world/package.json +0 -8
  261. package/dist/deployments.d.ts +0 -42
  262. package/dist/deployments.d.ts.map +0 -1
  263. package/dist/deployments.js.map +0 -1
  264. package/dist/errors.d.ts.map +0 -1
  265. package/dist/errors.js.map +0 -1
  266. package/dist/help.d.ts.map +0 -1
  267. package/dist/help.js.map +0 -1
  268. package/dist/ignore.d.ts.map +0 -1
  269. package/dist/ignore.js +0 -101
  270. package/dist/ignore.js.map +0 -1
  271. package/dist/logger.d.ts.map +0 -1
  272. package/dist/logger.js.map +0 -1
  273. package/dist/mcp-proxy-helpers.d.ts.map +0 -1
  274. package/dist/mcp-proxy-helpers.js.map +0 -1
  275. package/dist/open-helpers.d.ts.map +0 -1
  276. package/dist/open-helpers.js.map +0 -1
  277. package/dist/plugin-loader.d.ts.map +0 -1
  278. package/dist/plugin-loader.js.map +0 -1
  279. package/dist/plugin-registry.d.ts.map +0 -1
  280. package/dist/plugin-registry.js.map +0 -1
  281. package/dist/plugin-version.d.ts.map +0 -1
  282. package/dist/plugin-version.js.map +0 -1
  283. package/dist/runtime.d.ts.map +0 -1
  284. package/dist/runtime.js.map +0 -1
  285. package/dist/search-helpers.d.ts.map +0 -1
  286. package/dist/search-helpers.js.map +0 -1
  287. package/dist/update-check.d.ts.map +0 -1
  288. package/dist/update-check.js.map +0 -1
  289. package/dist/watch-constants.d.ts.map +0 -1
  290. package/dist/watch-constants.js.map +0 -1
  291. /package/dist/{client.d.ts → core/client.d.ts} +0 -0
  292. /package/dist/{client.js → core/client.js} +0 -0
  293. /package/dist/{errors.d.ts → core/errors.d.ts} +0 -0
  294. /package/dist/{errors.js → core/errors.js} +0 -0
  295. /package/dist/{logger.d.ts → core/logger.d.ts} +0 -0
  296. /package/dist/{logger.js → core/logger.js} +0 -0
  297. /package/dist/{runtime.d.ts → core/runtime.d.ts} +0 -0
  298. /package/dist/{update-check.d.ts → core/update-check.d.ts} +0 -0
  299. /package/dist/{update-check.js → core/update-check.js} +0 -0
  300. /package/dist/{plugin-registry.d.ts → framework/plugins/plugin-registry.d.ts} +0 -0
  301. /package/dist/{plugin-version.d.ts → framework/plugins/plugin-version.d.ts} +0 -0
  302. /package/dist/{plugin-version.js → framework/plugins/plugin-version.js} +0 -0
  303. /package/dist/{help.d.ts → framework/ui/help.d.ts} +0 -0
  304. /package/dist/{open-helpers.d.ts → utils/command-local/open-helpers.d.ts} +0 -0
  305. /package/dist/{search-helpers.js → utils/command-local/search-helpers.js} +0 -0
  306. /package/dist/{watch-constants.d.ts → utils/command-local/watch-constants.d.ts} +0 -0
  307. /package/dist/{watch-constants.js → utils/command-local/watch-constants.js} +0 -0
  308. /package/dist/{date-filter.d.ts → utils/shared/date-filter.d.ts} +0 -0
  309. /package/dist/{date-filter.js → utils/shared/date-filter.js} +0 -0
  310. /package/dist/{commands → utils/shared}/resource-extensions.d.ts +0 -0
  311. /package/dist/{commands → utils/shared}/resource-extensions.js +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"info.js","sourceRoot":"","sources":["../../../../default-plugins/element-template/commands/info.ts"],"names":[],"mappings":"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"}
@@ -1,102 +0,0 @@
1
- /**
2
- * `c8ctl element-template search` — search the local cache of OOTB
3
- * element templates by name/id. Requires the cache to be populated;
4
- * run `c8ctl element-template sync` once first.
5
- */
6
- import { styleText } from "node:util";
7
- import { nudgeIfStale, requireCachePresent, searchTemplates, } from "../marketplace.js";
8
- import { buildTemplateSummary, formatTemplateHeaderLines } from "./info.js";
9
- if (!globalThis.c8ctl)
10
- throw new Error("c8ctl runtime not initialised");
11
- const c8ctl = globalThis.c8ctl;
12
- export async function searchSubcommand(args) {
13
- const logger = c8ctl.getLogger();
14
- const usage = "Usage: c8ctl element-template search <query> [--limit N]";
15
- // Default cap that covers the common "AWS"-shaped query without
16
- // dumping the whole catalogue. Pass --limit to widen.
17
- const DEFAULT_LIMIT = 20;
18
- let limit = DEFAULT_LIMIT;
19
- const queryParts = [];
20
- for (let i = 0; i < args.length; i++) {
21
- const arg = args[i];
22
- if (arg === "--") {
23
- queryParts.push(...args.slice(i + 1));
24
- break;
25
- }
26
- if (arg === "--limit" || arg.startsWith("--limit=")) {
27
- const value = arg === "--limit" ? args[++i] : arg.slice("--limit=".length);
28
- if (value === undefined || value === "") {
29
- throw new Error(`--limit requires a value (positive integer). ${usage}`);
30
- }
31
- const parsed = Number(value);
32
- if (!Number.isInteger(parsed) || parsed < 1) {
33
- throw new Error(`--limit must be a positive integer; got "${value}". ${usage}`);
34
- }
35
- limit = parsed;
36
- continue;
37
- }
38
- if (arg.startsWith("-")) {
39
- throw new Error(`Unknown flag: ${arg}. ${usage}`);
40
- }
41
- queryParts.push(arg);
42
- }
43
- const query = queryParts.join(" ").trim();
44
- if (!query) {
45
- throw new Error(`Missing query. ${usage}`);
46
- }
47
- requireCachePresent();
48
- nudgeIfStale(logger);
49
- // Deprecated filtering and per-id latest-version reduction are done
50
- // inside searchTemplates() so the latest non-deprecated version of a
51
- // connector is still returned when its newest version is deprecated.
52
- const allMatches = searchTemplates(query);
53
- const total = allMatches.length;
54
- const limited = allMatches.slice(0, limit);
55
- const truncated = total > limited.length;
56
- if (c8ctl.outputMode === "json") {
57
- // JSON consumers see `count` (post-limit) and `total` (pre-limit).
58
- // `count !== total` is the explicit truncation signal — no need to
59
- // inspect a separate field.
60
- logger.json({
61
- query,
62
- count: limited.length,
63
- total,
64
- matches: limited.map(buildTemplateSummary),
65
- });
66
- return;
67
- }
68
- if (total === 0) {
69
- logger.output(`No element templates match '${query}'.`);
70
- logger.output("");
71
- logger.output(styleText("dim", "Try a broader query, or run 'c8ctl element-template sync' to refresh the cache."));
72
- return;
73
- }
74
- // Header — when truncated, lead with "Showing X of Y" so the elision
75
- // is visible on the first line; otherwise the plain count is enough.
76
- // Dim because it's meta-info above the result cards, matching how
77
- // get-properties styles its "Showing X of Y properties" line.
78
- const matchWord = total === 1 ? "match" : "matches";
79
- logger.output(styleText("dim", truncated
80
- ? `Showing ${limited.length} of ${total} ${matchWord} for '${query}'`
81
- : `${total} ${matchWord} for '${query}'`));
82
- logger.output("");
83
- for (let i = 0; i < limited.length; i++) {
84
- const t = limited[i];
85
- for (const line of formatTemplateHeaderLines(t, t.id)) {
86
- logger.output(line);
87
- }
88
- if (i < limited.length - 1) {
89
- logger.output("");
90
- }
91
- }
92
- // Trailing hint.
93
- logger.output("");
94
- if (truncated) {
95
- logger.output(styleText("dim", `Refine the query or pass --limit ${total} to see them all.`));
96
- logger.output("");
97
- }
98
- const exampleId = limited[0]?.id ?? "<id>";
99
- logger.output(styleText("dim", "For details on a template:\n" +
100
- ` c8ctl element-template info ${exampleId}`));
101
- }
102
- //# sourceMappingURL=search.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../../default-plugins/element-template/commands/search.ts"],"names":[],"mappings":"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"}
@@ -1,36 +0,0 @@
1
- /**
2
- * `c8ctl element-template sync` — refresh the local OOTB element template
3
- * cache from the marketplace.
4
- */
5
- import { syncTemplates } from "../marketplace.js";
6
- if (!globalThis.c8ctl)
7
- throw new Error("c8ctl runtime not initialised");
8
- const c8ctl = globalThis.c8ctl;
9
- export async function syncSubcommand(args) {
10
- const logger = c8ctl.getLogger();
11
- let prune = false;
12
- for (let i = 0; i < args.length; i++) {
13
- const arg = args[i];
14
- if (arg === "--prune") {
15
- prune = true;
16
- continue;
17
- }
18
- if (arg === "--") {
19
- // No positional args expected — reject anything after `--`.
20
- const rest = args.slice(i + 1);
21
- if (rest.length > 0) {
22
- throw new Error(`Unexpected argument: ${rest[0]}. Usage: c8ctl element-template sync [--prune]`);
23
- }
24
- break;
25
- }
26
- if (arg.startsWith("-")) {
27
- throw new Error(`Unknown flag: ${arg}. Usage: c8ctl element-template sync [--prune]`);
28
- }
29
- throw new Error(`Unexpected argument: ${arg}. Usage: c8ctl element-template sync [--prune]`);
30
- }
31
- const summary = await syncTemplates({ logger, prune });
32
- if (c8ctl.outputMode === "json") {
33
- logger.json(summary);
34
- }
35
- }
36
- //# sourceMappingURL=sync.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../../default-plugins/element-template/commands/sync.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,IAAI,CAAC,UAAU,CAAC,KAAK;IAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;AACxE,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;AAE/B,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAc;IAClD,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;IACjC,IAAI,KAAK,GAAG,KAAK,CAAC;IAElB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACvB,KAAK,GAAG,IAAI,CAAC;YACb,SAAS;QACV,CAAC;QACD,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAClB,4DAA4D;YAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CACd,wBAAwB,IAAI,CAAC,CAAC,CAAC,gDAAgD,CAC/E,CAAC;YACH,CAAC;YACD,MAAM;QACP,CAAC;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACd,iBAAiB,GAAG,gDAAgD,CACpE,CAAC;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CACd,wBAAwB,GAAG,gDAAgD,CAC3E,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAEvD,IAAI,KAAK,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;AACF,CAAC"}
@@ -1,429 +0,0 @@
1
- /**
2
- * Helpers for the element-template plugin: --set parsing, file/URL fetching,
3
- * shared element-template schema types.
4
- */
5
- import { existsSync, readFileSync } from "node:fs";
6
- import { resolve as resolvePath } from "node:path";
7
- if (!globalThis.c8ctl)
8
- throw new Error("c8ctl runtime not initialised");
9
- const c8ctl = globalThis.c8ctl;
10
- /**
11
- * User-Agent header sent on every outbound HTTP call this plugin makes
12
- * (marketplace index/template fetches and ad-hoc template URL loads),
13
- * so traffic from c8ctl is attributable in upstream logs.
14
- */
15
- export const USER_AGENT = `c8ctl-plugin-element-template/${c8ctl.version}`;
16
- /**
17
- * Subcommands that write the primary payload to stdout (apply, get)
18
- * must call this once before the first write. Closing the downstream
19
- * pipe early (e.g. `apply <id> ... | head -c 100`) raises EPIPE on
20
- * `process.stdout`; without a listener Node treats it as an
21
- * uncaught 'error' event and crashes with a stack trace. Swallow it
22
- * and exit cleanly — there's no useful work left to do once the
23
- * consumer has gone away.
24
- *
25
- * Idempotent: the handler is registered at most once per process so
26
- * repeated calls from different subcommand modules don't accumulate.
27
- */
28
- let stdoutEpipeInstalled = false;
29
- export function installStdoutEpipeHandler() {
30
- if (stdoutEpipeInstalled) {
31
- return;
32
- }
33
- stdoutEpipeInstalled = true;
34
- process.stdout.on("error", (err) => {
35
- if (err.code === "EPIPE") {
36
- process.exit(0);
37
- }
38
- throw err;
39
- });
40
- }
41
- export function isRecord(value) {
42
- return value != null && typeof value === "object" && !Array.isArray(value);
43
- }
44
- // ---------------------------------------------------------------------------
45
- // File / URL fetching
46
- // ---------------------------------------------------------------------------
47
- export function isUrl(input) {
48
- return input.startsWith("https://") || input.startsWith("http://");
49
- }
50
- /**
51
- * Rewrite a GitHub blob URL to the raw content URL.
52
- * https://github.com/<owner>/<repo>/blob/<ref>/<path>
53
- * → https://raw.githubusercontent.com/<owner>/<repo>/<ref>/<path>
54
- */
55
- export function toRawGitHubUrl(url) {
56
- const match = url.match(/^https:\/\/github\.com\/([^/]+)\/([^/]+)\/blob\/(.+)$/);
57
- if (match) {
58
- const [, owner, repo, rest] = match;
59
- return `https://raw.githubusercontent.com/${owner}/${repo}/${rest}`;
60
- }
61
- return url;
62
- }
63
- export async function readFileOrUrl(input) {
64
- if (input.startsWith("http://")) {
65
- throw new Error(`Insecure template URL rejected: ${input}\n` +
66
- "Template URLs must use HTTPS to protect credentials and content integrity.");
67
- }
68
- if (isUrl(input)) {
69
- const resolvedUrl = toRawGitHubUrl(input);
70
- const response = await fetch(resolvedUrl, {
71
- headers: { "User-Agent": USER_AGENT },
72
- signal: AbortSignal.timeout(30_000),
73
- });
74
- if (!response.ok) {
75
- throw new Error(`Failed to fetch ${resolvedUrl}: HTTP ${response.status}`);
76
- }
77
- return response.text();
78
- }
79
- const resolved = resolvePath(input);
80
- if (!existsSync(resolved)) {
81
- throw new Error(`File not found: ${input}`);
82
- }
83
- return readFileSync(resolved, "utf-8");
84
- }
85
- // ---------------------------------------------------------------------------
86
- // --set flag: template property mutation
87
- // ---------------------------------------------------------------------------
88
- /** Binding type shorthand prefixes for disambiguation. */
89
- export const BINDING_TYPE_SHORTHANDS = {
90
- input: "zeebe:input",
91
- output: "zeebe:output",
92
- header: "zeebe:taskHeader",
93
- property: "zeebe:property",
94
- taskDefinition: "zeebe:taskDefinition",
95
- };
96
- /** Get the user-facing binding name for a template property. */
97
- export function getBindingName(prop) {
98
- const b = prop.binding;
99
- if (!b)
100
- return null;
101
- if (b.name !== undefined)
102
- return b.name;
103
- if (b.key !== undefined)
104
- return b.key;
105
- if (b.property !== undefined)
106
- return b.property;
107
- // zeebe:output bindings use `source` as the user-facing identifier
108
- // (the expression that produces the value). Without this fallback,
109
- // output bindings are invisible to `--set` and `get-properties`.
110
- if (b.source !== undefined)
111
- return b.source;
112
- return null;
113
- }
114
- /** Get the shorthand label for a binding type (e.g. "zeebe:taskHeader" → "header"). */
115
- export function getBindingTypeShorthand(bindingType) {
116
- const entry = Object.entries(BINDING_TYPE_SHORTHANDS).find(([, v]) => v === bindingType);
117
- return entry ? entry[0] : bindingType;
118
- }
119
- /** Return only the properties that can be targeted by --set. */
120
- export function getSettableProperties(properties) {
121
- return properties.filter((p) => p.type !== "Hidden" && getBindingName(p) !== null);
122
- }
123
- /**
124
- * A property is "required" if either `optional: false` or
125
- * `constraints.notEmpty: true`. The element-template schema accepts both
126
- * forms; templates in the wild use them interchangeably.
127
- */
128
- export function isPropertyRequired(prop) {
129
- if (prop.optional === false)
130
- return true;
131
- if (prop.constraints?.notEmpty === true)
132
- return true;
133
- return false;
134
- }
135
- /**
136
- * Render an element-template `condition` object as a human-readable
137
- * expression. Handles the common forms (`equals`, `oneOf`, `isActive`)
138
- * and best-effort handles `allMatch`. Returns null for unrecognised
139
- * shapes so the caller can fall back to a generic "(conditional)"
140
- * marker.
141
- *
142
- * Examples:
143
- * { property: "method", equals: "POST" } → 'method = "POST"'
144
- * { property: "method", oneOf: ["POST","PUT"] } → 'method ∈ {"POST", "PUT"}'
145
- * { property: "auth", isActive: true } → 'auth is active'
146
- */
147
- export function formatCondition(condition) {
148
- if (!condition)
149
- return null;
150
- if (Array.isArray(condition.allMatch)) {
151
- const parts = condition.allMatch
152
- .map((c) => formatCondition(c))
153
- .filter((p) => Boolean(p));
154
- return parts.length > 0 ? parts.join(" AND ") : null;
155
- }
156
- if (!condition.property)
157
- return null;
158
- if (Object.hasOwn(condition, "equals")) {
159
- return `${condition.property} = ${formatConditionValue(condition.equals)}`;
160
- }
161
- if (Array.isArray(condition.oneOf)) {
162
- return `${condition.property} ∈ {${condition.oneOf.map(formatConditionValue).join(", ")}}`;
163
- }
164
- if (condition.isActive === true)
165
- return `${condition.property} is active`;
166
- if (condition.isActive === false)
167
- return `${condition.property} is inactive`;
168
- return null;
169
- }
170
- function formatConditionValue(value) {
171
- return JSON.stringify(value);
172
- }
173
- /**
174
- * Build the structured property descriptor used by both text and JSON
175
- * output of `get-properties`. Surfaces every field an agent or human
176
- * needs to pick a value without re-reading the raw template.
177
- */
178
- export function getPropertyDetail(prop, groupLabelMap) {
179
- const bindingName = getBindingName(prop);
180
- const bindingType = prop.binding?.type;
181
- const detail = {
182
- // `id` is the schema's stable identifier — optional in the spec
183
- // (~37% of OOTB properties don't have one) but the only reliable
184
- // discriminator for properties that share binding name + type
185
- // (operation-conditional duplicates).
186
- id: prop.id,
187
- name: bindingName,
188
- type: prop.type,
189
- label: prop.label,
190
- description: prop.description,
191
- // Both `groupId` (raw template id, used by --group filtering) and
192
- // `group` (user-facing label) are exposed so callers can filter
193
- // by the stable id without giving up the readable display string.
194
- groupId: prop.group,
195
- group: prop.group
196
- ? (groupLabelMap?.get(prop.group) ?? prop.group)
197
- : undefined,
198
- bindingType,
199
- bindingShorthand: bindingType
200
- ? getBindingTypeShorthand(bindingType)
201
- : undefined,
202
- required: isPropertyRequired(prop),
203
- feel: prop.feel,
204
- default: prop.value,
205
- choices: prop.choices?.map((c) => ({ value: c.value, label: c.name })),
206
- condition: prop.condition ?? undefined,
207
- conditionText: formatCondition(prop.condition),
208
- };
209
- if (prop.constraints?.pattern) {
210
- detail.pattern = {
211
- value: prop.constraints.pattern.value,
212
- message: prop.constraints.pattern.message,
213
- };
214
- }
215
- return detail;
216
- }
217
- /**
218
- * Compile a shell-style glob to a regex. Only `*` is special — every
219
- * other character matches literally. Used for `show-properties auth*`
220
- * style positional matching.
221
- *
222
- * "auth*" → /^auth.*$/
223
- * "url" → /^url$/
224
- * "a.b.*c" → /^a\.b\..*c$/
225
- */
226
- export function globToRegex(pattern) {
227
- const escaped = pattern.replace(/[.+?^${}()|[\]\\]/g, "\\$&");
228
- return new RegExp(`^${escaped.replace(/\*/g, ".*")}$`);
229
- }
230
- /**
231
- * Parse a --set key=value string. If key contains a `:` prefix,
232
- * resolve the binding type shorthand.
233
- */
234
- export function parseSetArg(arg) {
235
- const eqIndex = arg.indexOf("=");
236
- if (eqIndex === -1) {
237
- throw new Error(`Invalid --set format: "${arg}". Expected key=value (e.g. --set method=POST)`);
238
- }
239
- const key = arg.slice(0, eqIndex);
240
- const value = arg.slice(eqIndex + 1);
241
- const colonIndex = key.indexOf(":");
242
- if (colonIndex !== -1) {
243
- const prefix = key.slice(0, colonIndex);
244
- const name = key.slice(colonIndex + 1);
245
- const bindingType = BINDING_TYPE_SHORTHANDS[prefix];
246
- if (!bindingType) {
247
- const valid = Object.keys(BINDING_TYPE_SHORTHANDS).join(", ");
248
- throw new Error(`Unknown binding type prefix "${prefix}". Valid prefixes: ${valid}`);
249
- }
250
- return { bindingTypeFilter: bindingType, name, value };
251
- }
252
- return { bindingTypeFilter: null, name: key, value };
253
- }
254
- /**
255
- * Find every template property matching a binding name, optionally
256
- * filtered by binding type. Returns a non-empty array — the caller
257
- * applies the value to ALL matches.
258
- *
259
- * Multi-match handling:
260
- * - Same name + SAME binding type → conditional duplicates (template
261
- * authors use these to vary defaults/labels per operation while
262
- * all targeting the same `<zeebe:input target="x">`). Apply the
263
- * value to all; the engine's condition evaluation drops inactive
264
- * ones at apply time.
265
- * - Same name + DIFFERENT binding types → genuine ambiguity (e.g.
266
- * `correlationKey` as both `zeebe:input` and `zeebe:taskHeader`
267
- * writes to two different BPMN locations). Throw, ask the user
268
- * to qualify with `<binding-type>:<name>`.
269
- */
270
- export function findPropertiesByBindingName(properties, name, bindingTypeFilter) {
271
- const settable = getSettableProperties(properties);
272
- const matches = settable.filter((p) => {
273
- if (getBindingName(p) !== name)
274
- return false;
275
- if (bindingTypeFilter && p.binding?.type !== bindingTypeFilter)
276
- return false;
277
- return true;
278
- });
279
- if (matches.length === 0) {
280
- const available = [
281
- ...new Set(settable.map(getBindingName).filter((n) => Boolean(n))),
282
- ];
283
- throw new Error(`Unknown property "${name}". Available properties for --set:\n ${available.join(", ")}`);
284
- }
285
- // Multi-match across binding types is genuinely ambiguous — different
286
- // binding types write to different BPMN locations.
287
- const types = new Set(matches.map((p) => p.binding?.type));
288
- if (types.size > 1) {
289
- const qualified = [...types].map((t) => `${getBindingTypeShorthand(t ?? "")}:${name}`);
290
- throw new Error(`Ambiguous property "${name}" matches ${matches.length} bindings across ${types.size} binding types. ` +
291
- `Use a qualified name: ${qualified.join(", ")}`);
292
- }
293
- return matches;
294
- }
295
- export function validateDropdownValue(prop, name, value) {
296
- if (!prop.choices)
297
- return;
298
- const validValues = prop.choices.map((c) => c.value);
299
- if (!validValues.includes(value)) {
300
- throw new Error(`Invalid value "${value}" for "${name}". Valid choices: ${validValues.join(", ")}`);
301
- }
302
- }
303
- /**
304
- * Apply --set overrides to template properties. Mutates the template
305
- * in place. When a name matches multiple conditional duplicates, the
306
- * value is set on all of them — the engine's condition evaluation
307
- * picks the active one at apply time. Returns the list of binding
308
- * names that were set (deduped) for the post-apply unmet-condition
309
- * warning check.
310
- */
311
- export function applySetOverrides(properties, setArgs) {
312
- // Track by object reference so qualified sets like `input:foo=...` and
313
- // `header:foo=...` preserve their binding type through to warnUnmetConditions.
314
- const setProperties = new Set();
315
- for (const arg of setArgs) {
316
- const { bindingTypeFilter, name, value } = parseSetArg(arg);
317
- const matches = findPropertiesByBindingName(properties, name, bindingTypeFilter);
318
- for (const prop of matches) {
319
- if (prop.choices)
320
- validateDropdownValue(prop, name, value);
321
- prop.value = value;
322
- setProperties.add(prop);
323
- }
324
- }
325
- return [...setProperties];
326
- }
327
- /**
328
- * Check which --set bindings actually made it into the output XML.
329
- * Warn for any that were dropped (unmet condition).
330
- */
331
- export function warnUnmetConditions(logger, resultXml, setProperties) {
332
- for (const prop of setProperties) {
333
- if (!prop.binding)
334
- continue;
335
- const name = getBindingName(prop);
336
- if (!name)
337
- continue;
338
- const bt = prop.binding.type;
339
- let present = false;
340
- if (bt === "zeebe:input")
341
- present = resultXml.includes(`target="${name}"`);
342
- else if (bt === "zeebe:taskHeader")
343
- present = resultXml.includes(`key="${name}"`);
344
- else if (bt === "zeebe:taskDefinition")
345
- present = true;
346
- else
347
- present = resultXml.includes(name);
348
- if (!present) {
349
- logger.warn(`Property "${name}" was set but not applied (unmet condition). Check that controlling properties are also set.`);
350
- }
351
- }
352
- }
353
- // ---------------------------------------------------------------------------
354
- // Plugin arg parser — extracts --set, --in-place/-i, and positionals
355
- // ---------------------------------------------------------------------------
356
- /**
357
- * Parse plugin args, separating flags from positionals.
358
- * - `--set foo=bar` (or `--set=foo=bar`) is repeatable, collected into setArgs[]
359
- * - `--in-place` / `-i` is a boolean
360
- * - everything else is a positional
361
- *
362
- * `--help` / `-h` is handled by the host before args reach here.
363
- * Unknown flags return { error: '...' } so the caller can warn and exit.
364
- */
365
- export function parseArgs(args) {
366
- const result = {
367
- inPlace: false,
368
- setArgs: [],
369
- positionals: [],
370
- error: null,
371
- };
372
- for (let i = 0; i < args.length; i++) {
373
- const arg = args[i];
374
- if (arg === "--") {
375
- result.positionals.push(...args.slice(i + 1));
376
- break;
377
- }
378
- if (arg === "--in-place" || arg === "-i") {
379
- result.inPlace = true;
380
- continue;
381
- }
382
- if (arg === "--set") {
383
- const next = args[i + 1];
384
- if (next === undefined) {
385
- result.error = "--set requires a value (e.g. --set method=POST)";
386
- return result;
387
- }
388
- result.setArgs.push(next);
389
- i++;
390
- continue;
391
- }
392
- if (arg.startsWith("--set=")) {
393
- result.setArgs.push(arg.slice("--set=".length));
394
- continue;
395
- }
396
- if (arg.startsWith("-")) {
397
- result.error = `Unknown flag: ${arg}`;
398
- return result;
399
- }
400
- result.positionals.push(arg);
401
- }
402
- return result;
403
- }
404
- /**
405
- * Parse JSON template content with explicit error wrapping. Surfaces
406
- * "expected an object" instead of letting `unknown.properties` blow up
407
- * downstream.
408
- */
409
- function isTemplate(value) {
410
- return isRecord(value) && Array.isArray(value.properties);
411
- }
412
- export function parseTemplateJson(content) {
413
- const parsed = JSON.parse(content);
414
- if (!isRecord(parsed)) {
415
- throw new Error("Element template must be a JSON object");
416
- }
417
- if (!Array.isArray(parsed.properties)) {
418
- throw new Error("Element template is missing a properties array");
419
- }
420
- if (!isTemplate(parsed)) {
421
- throw new Error("Element template did not match the expected shape");
422
- }
423
- // We trust the rest of the shape because the source is either the
424
- // marketplace (commit-pinned, schema-validated upstream) or a
425
- // file/URL the user owns. Read-time strict validation would block
426
- // 90% of the workflow without catching meaningful bugs.
427
- return parsed;
428
- }
429
- //# sourceMappingURL=helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../default-plugins/element-template/helpers.ts"],"names":[],"mappings":"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"}