@camunda8/cli 3.2.0-alpha.2 → 3.2.0-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/CONTEXT.md +7 -15
  2. package/EXAMPLES.md +233 -1
  3. package/README.md +44 -177
  4. package/dist/command-dispatch.js +1 -1
  5. package/dist/command-dispatch.js.map +1 -1
  6. package/dist/command-registry.d.ts +19 -7
  7. package/dist/command-registry.d.ts.map +1 -1
  8. package/dist/command-registry.js +47 -7
  9. package/dist/command-registry.js.map +1 -1
  10. package/dist/commands/deploy.d.ts +13 -0
  11. package/dist/commands/deploy.d.ts.map +1 -0
  12. package/dist/commands/deploy.js +91 -0
  13. package/dist/commands/deploy.js.map +1 -0
  14. package/dist/{deployments.d.ts → commands/helpers/deploy-helpers.d.ts} +49 -12
  15. package/dist/commands/helpers/deploy-helpers.d.ts.map +1 -0
  16. package/dist/{deployments.js → commands/helpers/deploy-helpers.js} +16 -97
  17. package/dist/commands/helpers/deploy-helpers.js.map +1 -0
  18. package/dist/commands/identity-authorizations.d.ts +0 -13
  19. package/dist/commands/identity-authorizations.d.ts.map +1 -1
  20. package/dist/commands/identity-authorizations.js +1 -1
  21. package/dist/commands/identity-authorizations.js.map +1 -1
  22. package/dist/commands/identity.d.ts +1 -21
  23. package/dist/commands/identity.d.ts.map +1 -1
  24. package/dist/commands/identity.js +7 -8
  25. package/dist/commands/identity.js.map +1 -1
  26. package/dist/commands/profiles.d.ts +0 -32
  27. package/dist/commands/profiles.d.ts.map +1 -1
  28. package/dist/commands/profiles.js +5 -36
  29. package/dist/commands/profiles.js.map +1 -1
  30. package/dist/commands/watch.d.ts.map +1 -1
  31. package/dist/commands/watch.js +2 -2
  32. package/dist/commands/watch.js.map +1 -1
  33. package/dist/default-plugins/bpmn/c8ctl-plugin.js +7374 -137
  34. package/dist/default-plugins/bpmn/package.json +8 -1
  35. package/dist/default-plugins/element-template/c8ctl-plugin.js +10194 -248
  36. package/dist/default-plugins/element-template/package.json +11 -1
  37. package/dist/default-plugins/feel/c8ctl-plugin.js +14030 -584
  38. package/dist/default-plugins/feel/package.json +4 -1
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +16 -9
  41. package/dist/index.js.map +1 -1
  42. package/dist/resource-extensions.d.ts.map +1 -0
  43. package/dist/resource-extensions.js.map +1 -0
  44. package/dist/vendor/bpmnlint.cjs +25907 -0
  45. package/package.json +11 -13
  46. package/dist/commands/resource-extensions.d.ts.map +0 -1
  47. package/dist/commands/resource-extensions.js.map +0 -1
  48. package/dist/default-plugins/bpmn/c8ctl-plugin.js.map +0 -1
  49. package/dist/default-plugins/bpmn/format.js +0 -64
  50. package/dist/default-plugins/bpmn/format.js.map +0 -1
  51. package/dist/default-plugins/bpmn/lint.js +0 -323
  52. package/dist/default-plugins/bpmn/lint.js.map +0 -1
  53. package/dist/default-plugins/element-template/c8ctl-plugin.js.map +0 -1
  54. package/dist/default-plugins/element-template/commands/apply.js +0 -337
  55. package/dist/default-plugins/element-template/commands/apply.js.map +0 -1
  56. package/dist/default-plugins/element-template/commands/get-properties.js +0 -350
  57. package/dist/default-plugins/element-template/commands/get-properties.js.map +0 -1
  58. package/dist/default-plugins/element-template/commands/get.js +0 -107
  59. package/dist/default-plugins/element-template/commands/get.js.map +0 -1
  60. package/dist/default-plugins/element-template/commands/info.js +0 -196
  61. package/dist/default-plugins/element-template/commands/info.js.map +0 -1
  62. package/dist/default-plugins/element-template/commands/search.js +0 -106
  63. package/dist/default-plugins/element-template/commands/search.js.map +0 -1
  64. package/dist/default-plugins/element-template/commands/sync.js +0 -36
  65. package/dist/default-plugins/element-template/commands/sync.js.map +0 -1
  66. package/dist/default-plugins/element-template/helpers.js +0 -515
  67. package/dist/default-plugins/element-template/helpers.js.map +0 -1
  68. package/dist/default-plugins/element-template/marketplace.js +0 -597
  69. package/dist/default-plugins/element-template/marketplace.js.map +0 -1
  70. package/dist/default-plugins/element-template/template-ref.js +0 -243
  71. package/dist/default-plugins/element-template/template-ref.js.map +0 -1
  72. package/dist/default-plugins/feel/c8ctl-plugin.js.map +0 -1
  73. package/dist/default-plugins/hello-world/README.md +0 -161
  74. package/dist/default-plugins/hello-world/c8ctl-plugin.js +0 -69
  75. package/dist/default-plugins/hello-world/package.json +0 -8
  76. package/dist/deployments.d.ts.map +0 -1
  77. package/dist/deployments.js.map +0 -1
  78. /package/dist/{commands/resource-extensions.d.ts → resource-extensions.d.ts} +0 -0
  79. /package/dist/{commands/resource-extensions.js → resource-extensions.js} +0 -0
@@ -1,196 +0,0 @@
1
- /**
2
- * `c8ctl element-template info` — show a keyed card of template-level
3
- * metadata.
4
- *
5
- * Also hosts the shared inspect-arg parser (used by `info` and
6
- * `get-properties`), the template-header renderer (used by `info` and
7
- * `search`), and the generic keyed-card layout used by both header and
8
- * property-detail cards.
9
- */
10
- import { styleText } from "node:util";
11
- import { parseEngineVersionFlag } from "../helpers.js";
12
- import { loadTemplate } from "../template-ref.js";
13
- if (!globalThis.c8ctl)
14
- throw new Error("c8ctl runtime not initialised");
15
- const c8ctl = globalThis.c8ctl;
16
- /**
17
- * Parse the shared inspect args: `<template> [<name>...] [--group <id>...]`.
18
- * `--group` is repeatable. Comma-separated values are NOT split — pass
19
- * `--group a --group b` for multiple ids.
20
- */
21
- export function parseInspectArgs(args, usage, { allowPropertyNames, allowFilters, }) {
22
- let templateArg;
23
- const propertyArgs = [];
24
- const groups = [];
25
- let detailed = false;
26
- let afterDoubleDash = false;
27
- for (let i = 0; i < args.length; i++) {
28
- const arg = args[i];
29
- if (!afterDoubleDash && arg === "--") {
30
- afterDoubleDash = true;
31
- continue;
32
- }
33
- if (!afterDoubleDash && (arg === "--group" || arg.startsWith("--group="))) {
34
- if (!allowFilters) {
35
- throw new Error(`Unknown flag: --group. ${usage}`);
36
- }
37
- const value = arg === "--group" ? args[++i] : arg.slice("--group=".length);
38
- if (value === undefined || value === "") {
39
- throw new Error(`--group requires a value (group id). ${usage}`);
40
- }
41
- groups.push(value);
42
- continue;
43
- }
44
- if (!afterDoubleDash && (arg === "--detailed" || arg === "-d")) {
45
- if (!allowFilters) {
46
- throw new Error(`Unknown flag: ${arg}. ${usage}`);
47
- }
48
- detailed = true;
49
- continue;
50
- }
51
- if (!afterDoubleDash && arg.startsWith("-")) {
52
- throw new Error(`Unknown flag: ${arg}. ${usage}`);
53
- }
54
- if (templateArg === undefined) {
55
- templateArg = arg;
56
- continue;
57
- }
58
- if (!allowPropertyNames) {
59
- throw new Error(`Unexpected argument: ${arg}. ${usage}`);
60
- }
61
- propertyArgs.push(arg);
62
- }
63
- if (!templateArg) {
64
- throw new Error(`Missing template argument. ${usage}`);
65
- }
66
- return { templateArg, propertyArgs, groups, detailed };
67
- }
68
- /**
69
- * Project a template into the JSON summary shape — only the fields
70
- * the text output surfaces (name/id/version, description, applies-to,
71
- * engines, docs link), but using the element-templates JSON schema's
72
- * own field names. No invented derivations; no full-template dump.
73
- */
74
- export function buildTemplateSummary(template) {
75
- return {
76
- name: template.name,
77
- id: template.id,
78
- version: template.version,
79
- description: template.description,
80
- documentationRef: template.documentationRef,
81
- appliesTo: template.appliesTo,
82
- elementType: template.elementType,
83
- engines: template.engines,
84
- };
85
- }
86
- /**
87
- * Render template-level metadata as a keyed card.
88
- */
89
- export function formatTemplateHeaderLines(template, fallbackName, { autoResolvedVersion = false } = {}) {
90
- const fields = [];
91
- if (template.id) {
92
- fields.push(["ID", template.id]);
93
- }
94
- if (template.version !== undefined) {
95
- const versionCell = autoResolvedVersion
96
- ? `${template.version} ${styleText("dim", "(latest; @<n> to pin)")}`
97
- : String(template.version);
98
- fields.push(["Version", versionCell]);
99
- }
100
- const appliesValue = formatAppliesToValue(template);
101
- if (appliesValue) {
102
- fields.push(["Applies to", appliesValue]);
103
- }
104
- if (template.engines?.camunda) {
105
- fields.push(["Engines", template.engines.camunda]);
106
- }
107
- if (template.description) {
108
- fields.push(["Description", template.description]);
109
- }
110
- if (template.documentationRef) {
111
- fields.push(["Docs", styleText("dim", template.documentationRef)]);
112
- }
113
- return formatKeyedCard({
114
- title: template.name ?? fallbackName ?? "Template",
115
- fields,
116
- });
117
- }
118
- /**
119
- * Resolve `appliesTo` and `elementType.value` into a single value cell.
120
- */
121
- export function formatAppliesToValue(template) {
122
- const applies = Array.isArray(template.appliesTo)
123
- ? template.appliesTo.filter((v) => Boolean(v))
124
- : [];
125
- const elementType = template.elementType?.value;
126
- if (applies.length === 0 && !elementType) {
127
- return null;
128
- }
129
- const left = applies.length === 0
130
- ? null
131
- : applies.length === 1
132
- ? applies[0]
133
- : applies.length === 2
134
- ? applies.join(" or ")
135
- : `${applies.slice(0, -1).join(", ")}, or ${applies[applies.length - 1]}`;
136
- if (left && elementType && !applies.includes(elementType)) {
137
- return `${left} → ${elementType}`;
138
- }
139
- if (left) {
140
- return left;
141
- }
142
- return elementType ?? null;
143
- }
144
- /**
145
- * Generic keyed-card renderer used by both the template header and the
146
- * property detail card.
147
- */
148
- export function formatKeyedCard({ title, subtitle, fields, }) {
149
- const lines = [];
150
- const titleParts = [styleText("bold", title)];
151
- if (subtitle) {
152
- titleParts.push(styleText("dim", subtitle));
153
- }
154
- lines.push(titleParts.join(" "));
155
- if (fields.length === 0) {
156
- return lines;
157
- }
158
- const keyWidth = Math.max(0, ...fields.map(([k]) => k.length));
159
- for (const [key, value] of fields) {
160
- const paddedKey = key.padEnd(keyWidth);
161
- const styledKey = key ? styleText("dim", paddedKey) : paddedKey;
162
- lines.push(` ${styledKey} ${value}`);
163
- }
164
- return lines;
165
- }
166
- export async function infoSubcommand(args) {
167
- const logger = c8ctl.getLogger();
168
- const usage = "Usage: c8ctl element-template info <template> [--engine-version <x.y.z>]";
169
- const { engineVersion, rest } = parseEngineVersionFlag(args, usage);
170
- const parsed = parseInspectArgs(rest, usage, {
171
- allowPropertyNames: false,
172
- allowFilters: false,
173
- });
174
- const { template, autoResolvedVersion, engineVersionIgnoredByPinnedVersion } = await loadTemplate(parsed.templateArg, {
175
- executionPlatformVersion: engineVersion,
176
- });
177
- if (engineVersionIgnoredByPinnedVersion && engineVersion) {
178
- logger.warn(`Ignoring --engine-version ${engineVersion} because ${parsed.templateArg} pins a template version.`);
179
- }
180
- if (c8ctl.outputMode === "json") {
181
- logger.json(buildTemplateSummary(template));
182
- return;
183
- }
184
- // Template metadata card. The version row carries a dim parenthetical
185
- // when the version was auto-resolved from an OOTB id.
186
- for (const line of formatTemplateHeaderLines(template, parsed.templateArg, {
187
- autoResolvedVersion,
188
- })) {
189
- logger.output(line);
190
- }
191
- logger.output("");
192
- // Trailing hint — point at get-properties for the property listing.
193
- logger.output(styleText("dim", "For settable properties, run:\n" +
194
- ` c8ctl element-template get-properties ${parsed.templateArg}`));
195
- }
196
- //# sourceMappingURL=info.js.map
@@ -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,106 +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 { parseEngineVersionFlag } from "../helpers.js";
8
- import { nudgeIfStale, requireCachePresent, searchTemplates, } from "../marketplace.js";
9
- import { buildTemplateSummary, formatTemplateHeaderLines } from "./info.js";
10
- if (!globalThis.c8ctl)
11
- throw new Error("c8ctl runtime not initialised");
12
- const c8ctl = globalThis.c8ctl;
13
- export async function searchSubcommand(args) {
14
- const logger = c8ctl.getLogger();
15
- const usage = "Usage: c8ctl element-template search <query> [--limit N] [--engine-version <x.y.z>]";
16
- const { engineVersion, rest } = parseEngineVersionFlag(args, usage);
17
- // Default cap that covers the common "AWS"-shaped query without
18
- // dumping the whole catalogue. Pass --limit to widen.
19
- const DEFAULT_LIMIT = 20;
20
- let limit = DEFAULT_LIMIT;
21
- const queryParts = [];
22
- for (let i = 0; i < rest.length; i++) {
23
- const arg = rest[i];
24
- if (arg === "--") {
25
- queryParts.push(...rest.slice(i + 1));
26
- break;
27
- }
28
- if (arg === "--limit" || arg.startsWith("--limit=")) {
29
- const value = arg === "--limit" ? rest[++i] : arg.slice("--limit=".length);
30
- if (value === undefined || value === "") {
31
- throw new Error(`--limit requires a value (positive integer). ${usage}`);
32
- }
33
- const parsed = Number(value);
34
- if (!Number.isInteger(parsed) || parsed < 1) {
35
- throw new Error(`--limit must be a positive integer; got "${value}". ${usage}`);
36
- }
37
- limit = parsed;
38
- continue;
39
- }
40
- if (arg.startsWith("-")) {
41
- throw new Error(`Unknown flag: ${arg}. ${usage}`);
42
- }
43
- queryParts.push(arg);
44
- }
45
- const query = queryParts.join(" ").trim();
46
- if (!query) {
47
- throw new Error(`Missing query. ${usage}`);
48
- }
49
- requireCachePresent();
50
- nudgeIfStale(logger);
51
- // Deprecated filtering and per-id latest-version reduction are done
52
- // inside searchTemplates() so the latest non-deprecated version of a
53
- // connector is still returned when its newest version is deprecated.
54
- const allMatches = searchTemplates(query, {
55
- executionPlatformVersion: engineVersion,
56
- });
57
- const total = allMatches.length;
58
- const limited = allMatches.slice(0, limit);
59
- const truncated = total > limited.length;
60
- if (c8ctl.outputMode === "json") {
61
- // JSON consumers see `count` (post-limit) and `total` (pre-limit).
62
- // `count !== total` is the explicit truncation signal — no need to
63
- // inspect a separate field.
64
- logger.json({
65
- query,
66
- count: limited.length,
67
- total,
68
- matches: limited.map(buildTemplateSummary),
69
- });
70
- return;
71
- }
72
- if (total === 0) {
73
- logger.output(`No element templates match '${query}'.`);
74
- logger.output("");
75
- logger.output(styleText("dim", "Try a broader query, or run 'c8ctl element-template sync' to refresh the cache."));
76
- return;
77
- }
78
- // Header — when truncated, lead with "Showing X of Y" so the elision
79
- // is visible on the first line; otherwise the plain count is enough.
80
- // Dim because it's meta-info above the result cards, matching how
81
- // get-properties styles its "Showing X of Y properties" line.
82
- const matchWord = total === 1 ? "match" : "matches";
83
- logger.output(styleText("dim", truncated
84
- ? `Showing ${limited.length} of ${total} ${matchWord} for '${query}'`
85
- : `${total} ${matchWord} for '${query}'`));
86
- logger.output("");
87
- for (let i = 0; i < limited.length; i++) {
88
- const t = limited[i];
89
- for (const line of formatTemplateHeaderLines(t, t.id)) {
90
- logger.output(line);
91
- }
92
- if (i < limited.length - 1) {
93
- logger.output("");
94
- }
95
- }
96
- // Trailing hint.
97
- logger.output("");
98
- if (truncated) {
99
- logger.output(styleText("dim", `Refine the query or pass --limit ${total} to see them all.`));
100
- logger.output("");
101
- }
102
- const exampleId = limited[0]?.id ?? "<id>";
103
- logger.output(styleText("dim", "For details on a template:\n" +
104
- ` c8ctl element-template info ${exampleId}`));
105
- }
106
- //# 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"}