@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.
- package/CONTEXT.md +7 -15
- package/EXAMPLES.md +253 -1
- package/PLUGIN-HELP.md +1 -1
- package/README.md +50 -180
- package/dist/command-dispatch.d.ts +1 -1
- package/dist/command-dispatch.d.ts.map +1 -1
- package/dist/command-dispatch.js +1 -1
- package/dist/command-dispatch.js.map +1 -1
- package/dist/commands/completion.d.ts +1 -1
- package/dist/commands/completion.d.ts.map +1 -1
- package/dist/commands/completion.js +2 -3
- package/dist/commands/completion.js.map +1 -1
- package/dist/commands/deploy.d.ts +13 -0
- package/dist/commands/deploy.d.ts.map +1 -0
- package/dist/commands/deploy.js +328 -0
- package/dist/commands/deploy.js.map +1 -0
- package/dist/commands/forms.d.ts +1 -1
- package/dist/commands/forms.d.ts.map +1 -1
- package/dist/commands/forms.js +8 -8
- package/dist/commands/forms.js.map +1 -1
- package/dist/commands/helpers/deploy-helpers.d.ts +120 -0
- package/dist/commands/helpers/deploy-helpers.d.ts.map +1 -0
- package/dist/{deployments.js → commands/helpers/deploy-helpers.js} +307 -155
- package/dist/commands/helpers/deploy-helpers.js.map +1 -0
- package/dist/commands/identity-authorizations.d.ts +5 -18
- package/dist/commands/identity-authorizations.d.ts.map +1 -1
- package/dist/commands/identity-authorizations.js +8 -10
- package/dist/commands/identity-authorizations.js.map +1 -1
- package/dist/commands/identity-groups.d.ts +5 -5
- package/dist/commands/identity-groups.d.ts.map +1 -1
- package/dist/commands/identity-groups.js +7 -8
- package/dist/commands/identity-groups.js.map +1 -1
- package/dist/commands/identity-mapping-rules.d.ts +5 -5
- package/dist/commands/identity-mapping-rules.d.ts.map +1 -1
- package/dist/commands/identity-mapping-rules.js +7 -8
- package/dist/commands/identity-mapping-rules.js.map +1 -1
- package/dist/commands/identity-roles.d.ts +5 -5
- package/dist/commands/identity-roles.d.ts.map +1 -1
- package/dist/commands/identity-roles.js +7 -8
- package/dist/commands/identity-roles.js.map +1 -1
- package/dist/commands/identity-tenants.d.ts +5 -5
- package/dist/commands/identity-tenants.d.ts.map +1 -1
- package/dist/commands/identity-tenants.js +7 -8
- package/dist/commands/identity-tenants.js.map +1 -1
- package/dist/commands/identity-users.d.ts +5 -5
- package/dist/commands/identity-users.d.ts.map +1 -1
- package/dist/commands/identity-users.js +7 -8
- package/dist/commands/identity-users.js.map +1 -1
- package/dist/commands/identity.d.ts +11 -31
- package/dist/commands/identity.d.ts.map +1 -1
- package/dist/commands/identity.js +15 -15
- package/dist/commands/identity.js.map +1 -1
- package/dist/commands/incidents.d.ts +3 -3
- package/dist/commands/incidents.d.ts.map +1 -1
- package/dist/commands/incidents.js +6 -6
- package/dist/commands/incidents.js.map +1 -1
- package/dist/commands/jobs.d.ts +4 -4
- package/dist/commands/jobs.d.ts.map +1 -1
- package/dist/commands/jobs.js +7 -7
- package/dist/commands/jobs.js.map +1 -1
- package/dist/commands/mcp-proxy.d.ts +1 -1
- package/dist/commands/mcp-proxy.d.ts.map +1 -1
- package/dist/commands/mcp-proxy.js +5 -9
- package/dist/commands/mcp-proxy.js.map +1 -1
- package/dist/commands/messages.d.ts +2 -2
- package/dist/commands/messages.d.ts.map +1 -1
- package/dist/commands/messages.js +4 -4
- package/dist/commands/messages.js.map +1 -1
- package/dist/commands/open.d.ts +4 -4
- package/dist/commands/open.d.ts.map +1 -1
- package/dist/commands/open.js +6 -6
- package/dist/commands/open.js.map +1 -1
- package/dist/commands/plugins.d.ts +9 -9
- package/dist/commands/plugins.d.ts.map +1 -1
- package/dist/commands/plugins.js +2 -7
- package/dist/commands/plugins.js.map +1 -1
- package/dist/commands/process-definitions.d.ts +2 -2
- package/dist/commands/process-definitions.d.ts.map +1 -1
- package/dist/commands/process-definitions.js +5 -5
- package/dist/commands/process-definitions.js.map +1 -1
- package/dist/commands/process-instances.d.ts +5 -5
- package/dist/commands/process-instances.d.ts.map +1 -1
- package/dist/commands/process-instances.js +8 -9
- package/dist/commands/process-instances.js.map +1 -1
- package/dist/commands/profiles.d.ts +4 -36
- package/dist/commands/profiles.d.ts.map +1 -1
- package/dist/commands/profiles.js +43 -41
- package/dist/commands/profiles.js.map +1 -1
- package/dist/commands/run.d.ts +2 -2
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +4 -4
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/search.d.ts +7 -7
- package/dist/commands/search.d.ts.map +1 -1
- package/dist/commands/search.js +9 -11
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/session.d.ts +4 -4
- package/dist/commands/session.d.ts.map +1 -1
- package/dist/commands/session.js +26 -5
- package/dist/commands/session.js.map +1 -1
- package/dist/commands/topology.d.ts +1 -1
- package/dist/commands/topology.d.ts.map +1 -1
- package/dist/commands/topology.js +2 -2
- package/dist/commands/topology.js.map +1 -1
- package/dist/commands/user-tasks.d.ts +2 -2
- package/dist/commands/user-tasks.d.ts.map +1 -1
- package/dist/commands/user-tasks.js +5 -5
- package/dist/commands/user-tasks.js.map +1 -1
- package/dist/commands/variables.d.ts +1 -1
- package/dist/commands/variables.d.ts.map +1 -1
- package/dist/commands/variables.js +3 -3
- package/dist/commands/variables.js.map +1 -1
- package/dist/commands/watch.d.ts +2 -2
- package/dist/commands/watch.d.ts.map +1 -1
- package/dist/commands/watch.js +86 -19
- package/dist/commands/watch.js.map +1 -1
- package/dist/core/client.d.ts.map +1 -0
- package/dist/core/client.js.map +1 -0
- package/dist/{config.d.ts → core/config.d.ts} +28 -2
- package/dist/core/config.d.ts.map +1 -0
- package/dist/{config.js → core/config.js} +61 -5
- package/dist/core/config.js.map +1 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/index.d.ts +7 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +13 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/logger.d.ts.map +1 -0
- package/dist/core/logger.js.map +1 -0
- package/dist/core/runtime.d.ts.map +1 -0
- package/dist/{runtime.js → core/runtime.js} +2 -2
- package/dist/core/runtime.js.map +1 -0
- package/dist/core/update-check.d.ts.map +1 -0
- package/dist/core/update-check.js.map +1 -0
- package/dist/default-plugins/bpmn/README.md +12 -3
- package/dist/default-plugins/bpmn/c8ctl-plugin.js +7376 -108
- package/dist/default-plugins/bpmn/package.json +8 -1
- package/dist/default-plugins/cluster/c8ctl-plugin.js +66 -9
- package/dist/default-plugins/element-template/README.md +6 -3
- package/dist/default-plugins/element-template/c8ctl-plugin.js +10195 -229
- package/dist/default-plugins/element-template/docs/design.md +1 -1
- package/dist/default-plugins/element-template/package.json +11 -1
- package/dist/default-plugins/feel/c8ctl-plugin.js +14030 -584
- package/dist/default-plugins/feel/package.json +4 -1
- package/dist/{command-framework.d.ts → framework/command-framework.d.ts} +23 -9
- package/dist/framework/command-framework.d.ts.map +1 -0
- package/dist/{command-framework.js → framework/command-framework.js} +16 -29
- package/dist/framework/command-framework.js.map +1 -0
- package/dist/{command-registry.d.ts → framework/command-registry.d.ts} +35 -8
- package/dist/framework/command-registry.d.ts.map +1 -0
- package/dist/{command-registry.js → framework/command-registry.js} +74 -9
- package/dist/framework/command-registry.js.map +1 -0
- package/dist/{command-validation.d.ts → framework/command-validation.d.ts} +0 -14
- package/dist/framework/command-validation.d.ts.map +1 -0
- package/dist/{command-validation.js → framework/command-validation.js} +1 -34
- package/dist/framework/command-validation.js.map +1 -0
- package/dist/framework/index.d.ts +10 -0
- package/dist/framework/index.d.ts.map +1 -0
- package/dist/framework/index.js +16 -0
- package/dist/framework/index.js.map +1 -0
- package/dist/{plugin-loader.d.ts → framework/plugins/plugin-loader.d.ts} +30 -5
- package/dist/framework/plugins/plugin-loader.d.ts.map +1 -0
- package/dist/{plugin-loader.js → framework/plugins/plugin-loader.js} +26 -10
- package/dist/framework/plugins/plugin-loader.js.map +1 -0
- package/dist/framework/plugins/plugin-registry.d.ts.map +1 -0
- package/dist/{plugin-registry.js → framework/plugins/plugin-registry.js} +1 -1
- package/dist/framework/plugins/plugin-registry.js.map +1 -0
- package/dist/framework/plugins/plugin-version.d.ts.map +1 -0
- package/dist/framework/plugins/plugin-version.js.map +1 -0
- package/dist/{completion.d.ts → framework/ui/completion.d.ts} +2 -2
- package/dist/framework/ui/completion.d.ts.map +1 -0
- package/dist/{completion.js → framework/ui/completion.js} +7 -9
- package/dist/framework/ui/completion.js.map +1 -0
- package/dist/framework/ui/help.d.ts.map +1 -0
- package/dist/{help.js → framework/ui/help.js} +4 -4
- package/dist/framework/ui/help.js.map +1 -0
- package/dist/framework/ui/prompt.d.ts +132 -0
- package/dist/framework/ui/prompt.d.ts.map +1 -0
- package/dist/framework/ui/prompt.js +298 -0
- package/dist/framework/ui/prompt.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -20
- package/dist/index.js.map +1 -1
- package/dist/utils/command-local/deploy-version.d.ts +21 -0
- package/dist/utils/command-local/deploy-version.d.ts.map +1 -0
- package/dist/utils/command-local/deploy-version.js +31 -0
- package/dist/utils/command-local/deploy-version.js.map +1 -0
- package/dist/{mcp-proxy-helpers.d.ts → utils/command-local/mcp-proxy-helpers.d.ts} +1 -1
- package/dist/utils/command-local/mcp-proxy-helpers.d.ts.map +1 -0
- package/dist/{mcp-proxy-helpers.js → utils/command-local/mcp-proxy-helpers.js} +1 -1
- package/dist/utils/command-local/mcp-proxy-helpers.js.map +1 -0
- package/dist/utils/command-local/open-helpers.d.ts.map +1 -0
- package/dist/{open-helpers.js → utils/command-local/open-helpers.js} +2 -2
- package/dist/utils/command-local/open-helpers.js.map +1 -0
- package/dist/{search-helpers.d.ts → utils/command-local/search-helpers.d.ts} +1 -1
- package/dist/utils/command-local/search-helpers.d.ts.map +1 -0
- package/dist/utils/command-local/search-helpers.js.map +1 -0
- package/dist/utils/command-local/watch-constants.d.ts.map +1 -0
- package/dist/utils/command-local/watch-constants.js.map +1 -0
- package/dist/utils/index.d.ts +10 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +16 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/shared/date-filter.d.ts.map +1 -0
- package/dist/utils/shared/date-filter.js.map +1 -0
- package/dist/{ignore.d.ts → utils/shared/ignore.d.ts} +19 -1
- package/dist/utils/shared/ignore.d.ts.map +1 -0
- package/dist/utils/shared/ignore.js +234 -0
- package/dist/utils/shared/ignore.js.map +1 -0
- package/dist/utils/shared/resource-extensions.d.ts.map +1 -0
- package/dist/utils/shared/resource-extensions.js.map +1 -0
- package/dist/utils/shared/validation.d.ts +23 -0
- package/dist/utils/shared/validation.d.ts.map +1 -0
- package/dist/utils/shared/validation.js +43 -0
- package/dist/utils/shared/validation.js.map +1 -0
- package/dist/vendor/bpmnlint.cjs +25907 -0
- package/package.json +12 -14
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js.map +0 -1
- package/dist/command-framework.d.ts.map +0 -1
- package/dist/command-framework.js.map +0 -1
- package/dist/command-registry.d.ts.map +0 -1
- package/dist/command-registry.js.map +0 -1
- package/dist/command-validation.d.ts.map +0 -1
- package/dist/command-validation.js.map +0 -1
- package/dist/commands/resource-extensions.d.ts.map +0 -1
- package/dist/commands/resource-extensions.js.map +0 -1
- package/dist/completion.d.ts.map +0 -1
- package/dist/completion.js.map +0 -1
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js.map +0 -1
- package/dist/date-filter.d.ts.map +0 -1
- package/dist/date-filter.js.map +0 -1
- package/dist/default-plugins/bpmn/c8ctl-plugin.js.map +0 -1
- package/dist/default-plugins/bpmn/lint.js +0 -320
- package/dist/default-plugins/bpmn/lint.js.map +0 -1
- package/dist/default-plugins/element-template/c8ctl-plugin.js.map +0 -1
- package/dist/default-plugins/element-template/commands/apply.js +0 -336
- package/dist/default-plugins/element-template/commands/apply.js.map +0 -1
- package/dist/default-plugins/element-template/commands/get-properties.js +0 -344
- package/dist/default-plugins/element-template/commands/get-properties.js.map +0 -1
- package/dist/default-plugins/element-template/commands/get.js +0 -107
- package/dist/default-plugins/element-template/commands/get.js.map +0 -1
- package/dist/default-plugins/element-template/commands/info.js +0 -189
- package/dist/default-plugins/element-template/commands/info.js.map +0 -1
- package/dist/default-plugins/element-template/commands/search.js +0 -102
- package/dist/default-plugins/element-template/commands/search.js.map +0 -1
- package/dist/default-plugins/element-template/commands/sync.js +0 -36
- package/dist/default-plugins/element-template/commands/sync.js.map +0 -1
- package/dist/default-plugins/element-template/helpers.js +0 -429
- package/dist/default-plugins/element-template/helpers.js.map +0 -1
- package/dist/default-plugins/element-template/marketplace.js +0 -586
- package/dist/default-plugins/element-template/marketplace.js.map +0 -1
- package/dist/default-plugins/element-template/template-ref.js +0 -232
- package/dist/default-plugins/element-template/template-ref.js.map +0 -1
- package/dist/default-plugins/feel/c8ctl-plugin.js.map +0 -1
- package/dist/default-plugins/hello-world/README.md +0 -161
- package/dist/default-plugins/hello-world/c8ctl-plugin.js +0 -69
- package/dist/default-plugins/hello-world/package.json +0 -8
- package/dist/deployments.d.ts +0 -42
- package/dist/deployments.d.ts.map +0 -1
- package/dist/deployments.js.map +0 -1
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js.map +0 -1
- package/dist/help.d.ts.map +0 -1
- package/dist/help.js.map +0 -1
- package/dist/ignore.d.ts.map +0 -1
- package/dist/ignore.js +0 -101
- package/dist/ignore.js.map +0 -1
- package/dist/logger.d.ts.map +0 -1
- package/dist/logger.js.map +0 -1
- package/dist/mcp-proxy-helpers.d.ts.map +0 -1
- package/dist/mcp-proxy-helpers.js.map +0 -1
- package/dist/open-helpers.d.ts.map +0 -1
- package/dist/open-helpers.js.map +0 -1
- package/dist/plugin-loader.d.ts.map +0 -1
- package/dist/plugin-loader.js.map +0 -1
- package/dist/plugin-registry.d.ts.map +0 -1
- package/dist/plugin-registry.js.map +0 -1
- package/dist/plugin-version.d.ts.map +0 -1
- package/dist/plugin-version.js.map +0 -1
- package/dist/runtime.d.ts.map +0 -1
- package/dist/runtime.js.map +0 -1
- package/dist/search-helpers.d.ts.map +0 -1
- package/dist/search-helpers.js.map +0 -1
- package/dist/update-check.d.ts.map +0 -1
- package/dist/update-check.js.map +0 -1
- package/dist/watch-constants.d.ts.map +0 -1
- package/dist/watch-constants.js.map +0 -1
- /package/dist/{client.d.ts → core/client.d.ts} +0 -0
- /package/dist/{client.js → core/client.js} +0 -0
- /package/dist/{errors.d.ts → core/errors.d.ts} +0 -0
- /package/dist/{errors.js → core/errors.js} +0 -0
- /package/dist/{logger.d.ts → core/logger.d.ts} +0 -0
- /package/dist/{logger.js → core/logger.js} +0 -0
- /package/dist/{runtime.d.ts → core/runtime.d.ts} +0 -0
- /package/dist/{update-check.d.ts → core/update-check.d.ts} +0 -0
- /package/dist/{update-check.js → core/update-check.js} +0 -0
- /package/dist/{plugin-registry.d.ts → framework/plugins/plugin-registry.d.ts} +0 -0
- /package/dist/{plugin-version.d.ts → framework/plugins/plugin-version.d.ts} +0 -0
- /package/dist/{plugin-version.js → framework/plugins/plugin-version.js} +0 -0
- /package/dist/{help.d.ts → framework/ui/help.d.ts} +0 -0
- /package/dist/{open-helpers.d.ts → utils/command-local/open-helpers.d.ts} +0 -0
- /package/dist/{search-helpers.js → utils/command-local/search-helpers.js} +0 -0
- /package/dist/{watch-constants.d.ts → utils/command-local/watch-constants.d.ts} +0 -0
- /package/dist/{watch-constants.js → utils/command-local/watch-constants.js} +0 -0
- /package/dist/{date-filter.d.ts → utils/shared/date-filter.d.ts} +0 -0
- /package/dist/{date-filter.js → utils/shared/date-filter.js} +0 -0
- /package/dist/{commands → utils/shared}/resource-extensions.d.ts +0 -0
- /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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"}
|