@camunda8/cli 2.7.0-alpha.1 → 2.7.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/README.md +80 -1
- package/dist/command-dispatch.d.ts +16 -0
- package/dist/command-dispatch.d.ts.map +1 -0
- package/dist/command-dispatch.js +129 -0
- package/dist/command-dispatch.js.map +1 -0
- package/dist/command-framework.d.ts +248 -0
- package/dist/command-framework.d.ts.map +1 -0
- package/dist/command-framework.js +229 -0
- package/dist/command-framework.js.map +1 -0
- package/dist/command-registry.d.ts +2014 -14
- package/dist/command-registry.d.ts.map +1 -1
- package/dist/command-registry.js +653 -66
- package/dist/command-registry.js.map +1 -1
- package/dist/command-validation.d.ts +30 -4
- package/dist/command-validation.d.ts.map +1 -1
- package/dist/command-validation.js +90 -4
- package/dist/command-validation.js.map +1 -1
- package/dist/commands/completion.d.ts +25 -1
- package/dist/commands/completion.d.ts.map +1 -1
- package/dist/commands/completion.js +590 -1223
- package/dist/commands/completion.js.map +1 -1
- package/dist/commands/deployments.d.ts +2 -0
- package/dist/commands/deployments.d.ts.map +1 -1
- package/dist/commands/deployments.js +13 -2
- package/dist/commands/deployments.js.map +1 -1
- package/dist/commands/forms.d.ts +2 -20
- package/dist/commands/forms.d.ts.map +1 -1
- package/dist/commands/forms.js +76 -79
- package/dist/commands/forms.js.map +1 -1
- package/dist/commands/help.d.ts +4 -88
- package/dist/commands/help.d.ts.map +1 -1
- package/dist/commands/help.js +574 -1948
- package/dist/commands/help.js.map +1 -1
- package/dist/commands/identity-authorizations.d.ts +5 -24
- package/dist/commands/identity-authorizations.d.ts.map +1 -1
- package/dist/commands/identity-authorizations.js +113 -137
- package/dist/commands/identity-authorizations.js.map +1 -1
- package/dist/commands/identity-groups.d.ts +5 -26
- package/dist/commands/identity-groups.d.ts.map +1 -1
- package/dist/commands/identity-groups.js +91 -124
- package/dist/commands/identity-groups.js.map +1 -1
- package/dist/commands/identity-mapping-rules.d.ts +5 -30
- package/dist/commands/identity-mapping-rules.d.ts.map +1 -1
- package/dist/commands/identity-mapping-rules.js +106 -136
- package/dist/commands/identity-mapping-rules.js.map +1 -1
- package/dist/commands/identity-roles.d.ts +5 -26
- package/dist/commands/identity-roles.d.ts.map +1 -1
- package/dist/commands/identity-roles.js +91 -124
- package/dist/commands/identity-roles.js.map +1 -1
- package/dist/commands/identity-tenants.d.ts +5 -26
- package/dist/commands/identity-tenants.d.ts.map +1 -1
- package/dist/commands/identity-tenants.js +92 -126
- package/dist/commands/identity-tenants.js.map +1 -1
- package/dist/commands/identity-users.d.ts +5 -29
- package/dist/commands/identity-users.d.ts.map +1 -1
- package/dist/commands/identity-users.js +95 -129
- package/dist/commands/identity-users.js.map +1 -1
- package/dist/commands/identity.d.ts +6 -6
- package/dist/commands/identity.d.ts.map +1 -1
- package/dist/commands/identity.js +6 -7
- package/dist/commands/identity.js.map +1 -1
- package/dist/commands/incidents.d.ts +3 -16
- package/dist/commands/incidents.d.ts.map +1 -1
- package/dist/commands/incidents.js +71 -98
- package/dist/commands/incidents.js.map +1 -1
- package/dist/commands/jobs.d.ts +4 -26
- package/dist/commands/jobs.d.ts.map +1 -1
- package/dist/commands/jobs.js +143 -159
- package/dist/commands/jobs.js.map +1 -1
- package/dist/commands/mcp-proxy.d.ts +1 -0
- package/dist/commands/mcp-proxy.d.ts.map +1 -1
- package/dist/commands/mcp-proxy.js +10 -2
- package/dist/commands/mcp-proxy.js.map +1 -1
- package/dist/commands/messages.d.ts +2 -12
- package/dist/commands/messages.d.ts.map +1 -1
- package/dist/commands/messages.js +87 -81
- package/dist/commands/messages.js.map +1 -1
- package/dist/commands/open.d.ts +4 -0
- package/dist/commands/open.d.ts.map +1 -1
- package/dist/commands/open.js +18 -0
- package/dist/commands/open.js.map +1 -1
- package/dist/commands/plugins.d.ts +7 -9
- package/dist/commands/plugins.d.ts.map +1 -1
- package/dist/commands/plugins.js +32 -25
- package/dist/commands/plugins.js.map +1 -1
- package/dist/commands/process-definitions.d.ts +2 -14
- package/dist/commands/process-definitions.d.ts.map +1 -1
- package/dist/commands/process-definitions.js +57 -80
- package/dist/commands/process-definitions.js.map +1 -1
- package/dist/commands/process-instances.d.ts +8 -37
- package/dist/commands/process-instances.d.ts.map +1 -1
- package/dist/commands/process-instances.js +242 -193
- package/dist/commands/process-instances.js.map +1 -1
- package/dist/commands/profiles.d.ts +4 -0
- package/dist/commands/profiles.d.ts.map +1 -1
- package/dist/commands/profiles.js +29 -0
- package/dist/commands/profiles.js.map +1 -1
- package/dist/commands/run.d.ts +2 -0
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +10 -0
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/search.d.ts +7 -100
- package/dist/commands/search.d.ts.map +1 -1
- package/dist/commands/search.js +530 -694
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/session.d.ts +3 -0
- package/dist/commands/session.d.ts.map +1 -1
- package/dist/commands/session.js +30 -0
- package/dist/commands/session.js.map +1 -1
- package/dist/commands/topology.d.ts +1 -3
- package/dist/commands/topology.d.ts.map +1 -1
- package/dist/commands/topology.js +11 -18
- package/dist/commands/topology.js.map +1 -1
- package/dist/commands/user-tasks.d.ts +2 -16
- package/dist/commands/user-tasks.d.ts.map +1 -1
- package/dist/commands/user-tasks.js +73 -101
- package/dist/commands/user-tasks.js.map +1 -1
- package/dist/commands/watch.d.ts +1 -0
- package/dist/commands/watch.d.ts.map +1 -1
- package/dist/commands/watch.js +15 -0
- package/dist/commands/watch.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +5 -0
- package/dist/config.js.map +1 -1
- package/dist/default-plugins/cluster/README.md +1 -1
- package/dist/default-plugins/cluster/c8ctl-plugin.js +281 -59
- package/dist/index.d.ts +0 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +102 -979
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +5 -0
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +7 -1
- package/dist/logger.js.map +1 -1
- package/dist/plugin-loader.d.ts +5 -0
- package/dist/plugin-loader.d.ts.map +1 -1
- package/dist/plugin-loader.js +1 -0
- package/dist/plugin-loader.js.map +1 -1
- package/dist/update-check.d.ts +67 -0
- package/dist/update-check.d.ts.map +1 -0
- package/dist/update-check.js +284 -0
- package/dist/update-check.js.map +1 -0
- package/package.json +3 -2
- /package/dist/templates/{tsconfig.json → tsconfig.json.template} +0 -0
|
@@ -1,12 +1,218 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Shell completion commands
|
|
2
|
+
* Shell completion commands — derived from COMMAND_REGISTRY + plugins.
|
|
3
3
|
*/
|
|
4
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
5
|
+
import { homedir, platform } from "node:os";
|
|
6
|
+
import { join } from "node:path";
|
|
7
|
+
import { COMMAND_REGISTRY, GLOBAL_FLAGS, RESOURCE_ALIASES, } from "../command-registry.js";
|
|
8
|
+
import { getUserDataDir } from "../config.js";
|
|
4
9
|
import { getLogger } from "../logger.js";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
10
|
+
import { getPluginCommandsInfo, } from "../plugin-loader.js";
|
|
11
|
+
import { c8ctl } from "../runtime.js";
|
|
12
|
+
// ─── Typed helpers (same pattern as help.ts) ─────────────────────────────────
|
|
13
|
+
/** Typed entries for COMMAND_REGISTRY — avoids per-loop casts. */
|
|
14
|
+
function registryEntries() {
|
|
15
|
+
return Object.entries(COMMAND_REGISTRY);
|
|
16
|
+
}
|
|
17
|
+
/** Typed entries for a flag record — avoids per-loop casts. */
|
|
18
|
+
function flagEntries(flags) {
|
|
19
|
+
return Object.entries(flags);
|
|
20
|
+
}
|
|
21
|
+
// ─── Derived completion data ─────────────────────────────────────────────────
|
|
22
|
+
/** Reverse map: canonical resource → all names that resolve to it (including itself). */
|
|
23
|
+
function buildCanonicalToAliases() {
|
|
24
|
+
const map = new Map();
|
|
25
|
+
// Seed with every known canonical name from the registry
|
|
26
|
+
for (const [, def] of registryEntries()) {
|
|
27
|
+
for (const r of def.resources) {
|
|
28
|
+
const canonical = RESOURCE_ALIASES[r] ?? r;
|
|
29
|
+
if (!map.has(canonical)) {
|
|
30
|
+
map.set(canonical, [canonical]);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
// Add every alias
|
|
35
|
+
for (const [alias, canonical] of Object.entries(RESOURCE_ALIASES)) {
|
|
36
|
+
if (!map.has(canonical)) {
|
|
37
|
+
map.set(canonical, [canonical]);
|
|
38
|
+
}
|
|
39
|
+
const arr = map.get(canonical) ?? [];
|
|
40
|
+
if (!arr.includes(alias)) {
|
|
41
|
+
arr.push(alias);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return map;
|
|
45
|
+
}
|
|
46
|
+
/** All accepted forms for a verb's resources (canonical + all aliases). */
|
|
47
|
+
function resourceFormsForVerb(def, canonicalToAliases) {
|
|
48
|
+
const seen = new Set();
|
|
49
|
+
for (const r of def.resources) {
|
|
50
|
+
const canonical = RESOURCE_ALIASES[r] ?? r;
|
|
51
|
+
for (const form of canonicalToAliases.get(canonical) ?? [canonical]) {
|
|
52
|
+
seen.add(form);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return [...seen];
|
|
56
|
+
}
|
|
57
|
+
function deriveVerbInfos(pluginCommandsInfo) {
|
|
58
|
+
const canonicalToAliases = buildCanonicalToAliases();
|
|
59
|
+
const infos = [];
|
|
60
|
+
for (const [verb, def] of registryEntries()) {
|
|
61
|
+
// Skip mcp-proxy — not a user-facing verb
|
|
62
|
+
if (verb === "mcp-proxy")
|
|
63
|
+
continue;
|
|
64
|
+
const resources = resourceFormsForVerb(def, canonicalToAliases);
|
|
65
|
+
const fileComplete = !def.requiresResource &&
|
|
66
|
+
def.resources.length === 0 &&
|
|
67
|
+
["deploy", "run", "watch"].includes(verb);
|
|
68
|
+
infos.push({
|
|
69
|
+
verb,
|
|
70
|
+
description: def.description,
|
|
71
|
+
resources,
|
|
72
|
+
aliases: def.aliases ?? [],
|
|
73
|
+
fileComplete,
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
// Plugin-provided verbs (e.g. cluster)
|
|
77
|
+
for (const cmd of pluginCommandsInfo) {
|
|
78
|
+
// Skip if already in registry
|
|
79
|
+
if (cmd.commandName in COMMAND_REGISTRY)
|
|
80
|
+
continue;
|
|
81
|
+
infos.push({
|
|
82
|
+
verb: cmd.commandName,
|
|
83
|
+
description: cmd.description ?? "",
|
|
84
|
+
resources: (cmd.subcommands ?? []).map((s) => s.name),
|
|
85
|
+
aliases: [],
|
|
86
|
+
fileComplete: false,
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
return infos;
|
|
90
|
+
}
|
|
91
|
+
/** Collect all unique flag names across all commands + global + search flags. */
|
|
92
|
+
function deriveAllFlagNames() {
|
|
93
|
+
const names = new Set();
|
|
94
|
+
for (const name of Object.keys(GLOBAL_FLAGS)) {
|
|
95
|
+
names.add(name);
|
|
96
|
+
}
|
|
97
|
+
for (const [, def] of registryEntries()) {
|
|
98
|
+
for (const [name] of flagEntries(def.flags)) {
|
|
99
|
+
names.add(name);
|
|
100
|
+
}
|
|
101
|
+
if (def.resourceFlags) {
|
|
102
|
+
for (const rf of Object.values(def.resourceFlags)) {
|
|
103
|
+
for (const name of Object.keys(rf)) {
|
|
104
|
+
names.add(name);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return [...names].map((n) => `--${n}`);
|
|
110
|
+
}
|
|
111
|
+
/** Collect all flags with descriptions and types for rich completions (zsh/fish). */
|
|
112
|
+
function deriveAllFlags() {
|
|
113
|
+
const seen = new Map();
|
|
114
|
+
function addFlags(flags) {
|
|
115
|
+
for (const [name, def] of flagEntries(flags)) {
|
|
116
|
+
if (!seen.has(name)) {
|
|
117
|
+
seen.set(name, {
|
|
118
|
+
description: def.description,
|
|
119
|
+
type: def.type,
|
|
120
|
+
short: def.short,
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
addFlags(GLOBAL_FLAGS);
|
|
126
|
+
for (const [, def] of registryEntries()) {
|
|
127
|
+
addFlags(def.flags);
|
|
128
|
+
if (def.resourceFlags) {
|
|
129
|
+
for (const rf of Object.values(def.resourceFlags)) {
|
|
130
|
+
addFlags(rf);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return [...seen].map(([name, info]) => ({
|
|
135
|
+
name,
|
|
136
|
+
...info,
|
|
137
|
+
}));
|
|
138
|
+
}
|
|
139
|
+
/** Get resources for the `help` verb: verbs with hasDetailedHelp + special topics. */
|
|
140
|
+
function deriveHelpResources() {
|
|
141
|
+
const items = [];
|
|
142
|
+
for (const [verb, def] of registryEntries()) {
|
|
143
|
+
if (def.hasDetailedHelp) {
|
|
144
|
+
items.push({ name: verb, description: `Show ${verb} command help` });
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
// Special topics that aren't verbs but have help pages
|
|
148
|
+
items.push({
|
|
149
|
+
name: "profiles",
|
|
150
|
+
description: "Show profile management help",
|
|
151
|
+
}, {
|
|
152
|
+
name: "profile",
|
|
153
|
+
description: "Alias for profile management help",
|
|
154
|
+
}, {
|
|
155
|
+
name: "plugin",
|
|
156
|
+
description: "Show plugin management help",
|
|
157
|
+
}, {
|
|
158
|
+
name: "plugins",
|
|
159
|
+
description: "Alias for plugin management help",
|
|
160
|
+
});
|
|
161
|
+
// Plugin verbs
|
|
162
|
+
const pluginCmds = getPluginCommandsInfo();
|
|
163
|
+
for (const cmd of pluginCmds) {
|
|
164
|
+
if (!items.some((i) => i.name === cmd.commandName) &&
|
|
165
|
+
!(cmd.commandName in COMMAND_REGISTRY)) {
|
|
166
|
+
items.push({
|
|
167
|
+
name: cmd.commandName,
|
|
168
|
+
description: cmd.description
|
|
169
|
+
? `Show ${cmd.commandName} command help`
|
|
170
|
+
: `No detailed help; use c8ctl help for general usage`,
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
return items;
|
|
175
|
+
}
|
|
176
|
+
// ─── Bash completion ─────────────────────────────────────────────────────────
|
|
8
177
|
function generateBashCompletion() {
|
|
9
|
-
|
|
178
|
+
const pluginCmds = getPluginCommandsInfo();
|
|
179
|
+
const verbInfos = deriveVerbInfos(pluginCmds);
|
|
180
|
+
const allFlags = deriveAllFlagNames();
|
|
181
|
+
const helpResources = deriveHelpResources();
|
|
182
|
+
// All verb names (including aliases)
|
|
183
|
+
const allVerbs = new Set();
|
|
184
|
+
for (const v of verbInfos) {
|
|
185
|
+
allVerbs.add(v.verb);
|
|
186
|
+
for (const a of v.aliases)
|
|
187
|
+
allVerbs.add(a);
|
|
188
|
+
}
|
|
189
|
+
const verbsStr = [...allVerbs].join(" ");
|
|
190
|
+
const flagsStr = allFlags.join(" ");
|
|
191
|
+
// Build per-verb resource variables
|
|
192
|
+
const resourceVars = [];
|
|
193
|
+
const caseBranches = [];
|
|
194
|
+
for (const v of verbInfos) {
|
|
195
|
+
if (v.verb === "help") {
|
|
196
|
+
// Help completes to verbs/topics, not resources
|
|
197
|
+
resourceVars.push(` local help_resources="${helpResources.map((r) => r.name).join(" ")}"`);
|
|
198
|
+
caseBranches.push(` help)\n COMPREPLY=( $(compgen -W "\${help_resources}" -- "\${cur}") )\n ;;`);
|
|
199
|
+
continue;
|
|
200
|
+
}
|
|
201
|
+
if (v.fileComplete) {
|
|
202
|
+
// deploy/run/watch complete with files
|
|
203
|
+
caseBranches.push(` ${v.verb})\n COMPREPLY=( $(compgen -f -- "\${cur}") )\n ;;`);
|
|
204
|
+
continue;
|
|
205
|
+
}
|
|
206
|
+
if (v.resources.length === 0)
|
|
207
|
+
continue;
|
|
208
|
+
const varName = `${v.verb.replace(/-/g, "_")}_resources`;
|
|
209
|
+
resourceVars.push(` local ${varName}="${v.resources.join(" ")}"`);
|
|
210
|
+
// Include aliases in the case pattern
|
|
211
|
+
const casePattern = v.aliases.length > 0 ? `${v.verb}|${v.aliases.join("|")}` : v.verb;
|
|
212
|
+
caseBranches.push(` ${casePattern})\n COMPREPLY=( $(compgen -W "\${${varName}}" -- "\${cur}") )\n ;;`);
|
|
213
|
+
}
|
|
214
|
+
return `# c8ctl-completion-version: ${c8ctl.version}
|
|
215
|
+
# c8ctl bash completion
|
|
10
216
|
_c8ctl_completions() {
|
|
11
217
|
local cur prev words cword
|
|
12
218
|
|
|
@@ -18,42 +224,13 @@ _c8ctl_completions() {
|
|
|
18
224
|
cword=\${COMP_CWORD}
|
|
19
225
|
|
|
20
226
|
# Commands (verbs)
|
|
21
|
-
local verbs="
|
|
227
|
+
local verbs="${verbsStr}"
|
|
22
228
|
|
|
23
229
|
# Resources by verb
|
|
24
|
-
|
|
25
|
-
local search_resources="process-instances process-instance pi process-definitions process-definition pd user-tasks user-task ut incidents incident inc jobs variables variable vars users user roles role groups group tenants tenant authorizations authorization auth mapping-rules mapping-rule mr"
|
|
26
|
-
local get_resources="process-instance pi process-definition pd incident inc topology form user role group tenant authorization auth mapping-rule mr"
|
|
27
|
-
local create_resources="process-instance pi user role group tenant authorization auth mapping-rule mr"
|
|
28
|
-
local cancel_resources="process-instance pi"
|
|
29
|
-
local await_resources="process-instance pi"
|
|
30
|
-
local complete_resources="user-task ut job"
|
|
31
|
-
local fail_resources="job"
|
|
32
|
-
local activate_resources="jobs"
|
|
33
|
-
local resolve_resources="incident inc"
|
|
34
|
-
local publish_resources="message msg"
|
|
35
|
-
local correlate_resources="message msg"
|
|
36
|
-
local add_resources="profile"
|
|
37
|
-
local remove_resources="profile"
|
|
38
|
-
local load_resources="plugin"
|
|
39
|
-
local unload_resources="plugin"
|
|
40
|
-
local sync_resources="plugin plugins"
|
|
41
|
-
local upgrade_resources="plugin"
|
|
42
|
-
local downgrade_resources="plugin"
|
|
43
|
-
local init_resources="plugin"
|
|
44
|
-
local use_resources="profile tenant"
|
|
45
|
-
local which_resources="profile"
|
|
46
|
-
local output_resources="json text"
|
|
47
|
-
local completion_resources="bash zsh fish"
|
|
48
|
-
local cluster_resources="start stop status list list-remote install delete log logs"
|
|
49
|
-
local open_resources="operate tasklist modeler optimize"
|
|
50
|
-
local delete_resources="user role group tenant authorization auth mapping-rule mr"
|
|
51
|
-
local assign_resources="role user group mapping-rule mr"
|
|
52
|
-
local unassign_resources="role user group mapping-rule mr"
|
|
53
|
-
local help_resources="list get create delete complete await search deploy run watch open cancel resolve fail activate publish correlate upgrade downgrade init assign unassign profiles profile plugin plugins cluster feedback"
|
|
230
|
+
${resourceVars.join("\n")}
|
|
54
231
|
|
|
55
232
|
# Global flags
|
|
56
|
-
local flags="
|
|
233
|
+
local flags="${flagsStr}"
|
|
57
234
|
|
|
58
235
|
case \${cword} in
|
|
59
236
|
1)
|
|
@@ -64,100 +241,7 @@ _c8ctl_completions() {
|
|
|
64
241
|
# Complete resources based on verb
|
|
65
242
|
local verb="\${words[1]}"
|
|
66
243
|
case "\${verb}" in
|
|
67
|
-
|
|
68
|
-
COMPREPLY=( $(compgen -W "\${list_resources}" -- "\${cur}") )
|
|
69
|
-
;;
|
|
70
|
-
search)
|
|
71
|
-
COMPREPLY=( $(compgen -W "\${search_resources}" -- "\${cur}") )
|
|
72
|
-
;;
|
|
73
|
-
get)
|
|
74
|
-
COMPREPLY=( $(compgen -W "\${get_resources}" -- "\${cur}") )
|
|
75
|
-
;;
|
|
76
|
-
create)
|
|
77
|
-
COMPREPLY=( $(compgen -W "\${create_resources}" -- "\${cur}") )
|
|
78
|
-
;;
|
|
79
|
-
cancel)
|
|
80
|
-
COMPREPLY=( $(compgen -W "\${cancel_resources}" -- "\${cur}") )
|
|
81
|
-
;;
|
|
82
|
-
await)
|
|
83
|
-
COMPREPLY=( $(compgen -W "\${await_resources}" -- "\${cur}") )
|
|
84
|
-
;;
|
|
85
|
-
complete)
|
|
86
|
-
COMPREPLY=( $(compgen -W "\${complete_resources}" -- "\${cur}") )
|
|
87
|
-
;;
|
|
88
|
-
fail)
|
|
89
|
-
COMPREPLY=( $(compgen -W "\${fail_resources}" -- "\${cur}") )
|
|
90
|
-
;;
|
|
91
|
-
activate)
|
|
92
|
-
COMPREPLY=( $(compgen -W "\${activate_resources}" -- "\${cur}") )
|
|
93
|
-
;;
|
|
94
|
-
resolve)
|
|
95
|
-
COMPREPLY=( $(compgen -W "\${resolve_resources}" -- "\${cur}") )
|
|
96
|
-
;;
|
|
97
|
-
publish)
|
|
98
|
-
COMPREPLY=( $(compgen -W "\${publish_resources}" -- "\${cur}") )
|
|
99
|
-
;;
|
|
100
|
-
correlate)
|
|
101
|
-
COMPREPLY=( $(compgen -W "\${correlate_resources}" -- "\${cur}") )
|
|
102
|
-
;;
|
|
103
|
-
delete)
|
|
104
|
-
COMPREPLY=( $(compgen -W "\${delete_resources}" -- "\${cur}") )
|
|
105
|
-
;;
|
|
106
|
-
assign)
|
|
107
|
-
COMPREPLY=( $(compgen -W "\${assign_resources}" -- "\${cur}") )
|
|
108
|
-
;;
|
|
109
|
-
unassign)
|
|
110
|
-
COMPREPLY=( $(compgen -W "\${unassign_resources}" -- "\${cur}") )
|
|
111
|
-
;;
|
|
112
|
-
add)
|
|
113
|
-
COMPREPLY=( $(compgen -W "\${add_resources}" -- "\${cur}") )
|
|
114
|
-
;;
|
|
115
|
-
remove|rm)
|
|
116
|
-
COMPREPLY=( $(compgen -W "\${remove_resources}" -- "\${cur}") )
|
|
117
|
-
;;
|
|
118
|
-
load)
|
|
119
|
-
COMPREPLY=( $(compgen -W "\${load_resources}" -- "\${cur}") )
|
|
120
|
-
;;
|
|
121
|
-
unload)
|
|
122
|
-
COMPREPLY=( $(compgen -W "\${unload_resources}" -- "\${cur}") )
|
|
123
|
-
;;
|
|
124
|
-
sync)
|
|
125
|
-
COMPREPLY=( $(compgen -W "\${sync_resources}" -- "\${cur}") )
|
|
126
|
-
;;
|
|
127
|
-
upgrade)
|
|
128
|
-
COMPREPLY=( $(compgen -W "\${upgrade_resources}" -- "\${cur}") )
|
|
129
|
-
;;
|
|
130
|
-
downgrade)
|
|
131
|
-
COMPREPLY=( $(compgen -W "\${downgrade_resources}" -- "\${cur}") )
|
|
132
|
-
;;
|
|
133
|
-
init)
|
|
134
|
-
COMPREPLY=( $(compgen -W "\${init_resources}" -- "\${cur}") )
|
|
135
|
-
;;
|
|
136
|
-
use)
|
|
137
|
-
COMPREPLY=( $(compgen -W "\${use_resources}" -- "\${cur}") )
|
|
138
|
-
;;
|
|
139
|
-
which)
|
|
140
|
-
COMPREPLY=( $(compgen -W "\${which_resources}" -- "\${cur}") )
|
|
141
|
-
;;
|
|
142
|
-
output)
|
|
143
|
-
COMPREPLY=( $(compgen -W "\${output_resources}" -- "\${cur}") )
|
|
144
|
-
;;
|
|
145
|
-
completion)
|
|
146
|
-
COMPREPLY=( $(compgen -W "\${completion_resources}" -- "\${cur}") )
|
|
147
|
-
;;
|
|
148
|
-
help)
|
|
149
|
-
COMPREPLY=( $(compgen -W "\${help_resources}" -- "\${cur}") )
|
|
150
|
-
;;
|
|
151
|
-
cluster)
|
|
152
|
-
COMPREPLY=( $(compgen -W "\${cluster_resources}" -- "\${cur}") )
|
|
153
|
-
;;
|
|
154
|
-
open)
|
|
155
|
-
COMPREPLY=( $(compgen -W "\${open_resources}" -- "\${cur}") )
|
|
156
|
-
;;
|
|
157
|
-
deploy|run|watch)
|
|
158
|
-
# Complete with files
|
|
159
|
-
COMPREPLY=( $(compgen -f -- "\${cur}") )
|
|
160
|
-
;;
|
|
244
|
+
${caseBranches.join("\n")}
|
|
161
245
|
esac
|
|
162
246
|
;;
|
|
163
247
|
*)
|
|
@@ -175,139 +259,59 @@ complete -F _c8ctl_completions c8ctl
|
|
|
175
259
|
complete -F _c8ctl_completions c8
|
|
176
260
|
`;
|
|
177
261
|
}
|
|
178
|
-
|
|
179
|
-
* Generate zsh completion script
|
|
180
|
-
*/
|
|
262
|
+
// ─── Zsh completion ──────────────────────────────────────────────────────────
|
|
181
263
|
function generateZshCompletion() {
|
|
264
|
+
const pluginCmds = getPluginCommandsInfo();
|
|
265
|
+
const verbInfos = deriveVerbInfos(pluginCmds);
|
|
266
|
+
const allFlags = deriveAllFlags();
|
|
267
|
+
const helpResources = deriveHelpResources();
|
|
268
|
+
// Verb entries: 'verb:description'
|
|
269
|
+
const verbEntries = verbInfos.map((v) => {
|
|
270
|
+
const items = [` '${v.verb}:${escZsh(v.description)}'`];
|
|
271
|
+
for (const a of v.aliases) {
|
|
272
|
+
items.push(` '${a}:${escZsh(v.description)}'`);
|
|
273
|
+
}
|
|
274
|
+
return items.join("\n");
|
|
275
|
+
});
|
|
276
|
+
// Flag entries: '--flag[description]:hint:' or '--flag[description]'
|
|
277
|
+
const flagEntryLines = allFlags.map((f) => {
|
|
278
|
+
const desc = escZsh(f.description);
|
|
279
|
+
if (f.short) {
|
|
280
|
+
return ` '-${f.short}[${desc}]'\n '--${f.name}[${desc}]${f.type === "string" ? `:${f.name}:` : ""}'`;
|
|
281
|
+
}
|
|
282
|
+
return ` '--${f.name}[${desc}]${f.type === "string" ? `:${f.name}:` : ""}'`;
|
|
283
|
+
});
|
|
284
|
+
// Per-verb resource case branches
|
|
285
|
+
const resourceCases = [];
|
|
286
|
+
for (const v of verbInfos) {
|
|
287
|
+
if (v.verb === "help") {
|
|
288
|
+
const entries = helpResources.map((r) => ` '${r.name}:${escZsh(r.description)}'`);
|
|
289
|
+
resourceCases.push(` help)\n resources=(\n${entries.join("\n")}\n )\n _describe 'resource' resources\n ;;`);
|
|
290
|
+
continue;
|
|
291
|
+
}
|
|
292
|
+
if (v.fileComplete) {
|
|
293
|
+
const casePattern = v.aliases.length > 0 ? `${v.verb}|${v.aliases.join("|")}` : v.verb;
|
|
294
|
+
resourceCases.push(` ${casePattern})\n _files\n ;;`);
|
|
295
|
+
continue;
|
|
296
|
+
}
|
|
297
|
+
if (v.resources.length === 0)
|
|
298
|
+
continue;
|
|
299
|
+
const entries = v.resources.map((r) => ` '${r}:${escZsh(capitalize(v.verb))} ${resourceDisplayName(r)}'`);
|
|
300
|
+
const casePattern = v.aliases.length > 0 ? `${v.verb}|${v.aliases.join("|")}` : v.verb;
|
|
301
|
+
resourceCases.push(` ${casePattern})\n resources=(\n${entries.join("\n")}\n )\n _describe 'resource' resources\n ;;`);
|
|
302
|
+
}
|
|
182
303
|
return `#compdef c8ctl c8
|
|
304
|
+
# c8ctl-completion-version: ${c8ctl.version}
|
|
183
305
|
|
|
184
306
|
_c8ctl() {
|
|
185
307
|
local -a verbs resources flags
|
|
186
308
|
|
|
187
309
|
verbs=(
|
|
188
|
-
|
|
189
|
-
'search:Search resources with filters'
|
|
190
|
-
'get:Get resource by key'
|
|
191
|
-
'create:Create resource'
|
|
192
|
-
'cancel:Cancel resource'
|
|
193
|
-
'await:Await resource completion'
|
|
194
|
-
'complete:Complete resource'
|
|
195
|
-
'fail:Fail a job'
|
|
196
|
-
'activate:Activate jobs by type'
|
|
197
|
-
'resolve:Resolve incident'
|
|
198
|
-
'publish:Publish message'
|
|
199
|
-
'correlate:Correlate message'
|
|
200
|
-
'delete:Delete resource'
|
|
201
|
-
'deploy:Deploy BPMN/DMN/forms'
|
|
202
|
-
'run:Deploy and start process'
|
|
203
|
-
'watch:Watch files for changes and auto-deploy'
|
|
204
|
-
'add:Add a profile'
|
|
205
|
-
'remove:Remove a profile'
|
|
206
|
-
'rm:Remove a profile'
|
|
207
|
-
'load:Load a c8ctl plugin'
|
|
208
|
-
'unload:Unload a c8ctl plugin'
|
|
209
|
-
'sync:Synchronize plugins from registry'
|
|
210
|
-
'upgrade:Upgrade a plugin'
|
|
211
|
-
'downgrade:Downgrade a plugin'
|
|
212
|
-
'init:Create a new plugin from template'
|
|
213
|
-
'assign:Assign a resource to another'
|
|
214
|
-
'unassign:Unassign a resource from another'
|
|
215
|
-
'use:Set active profile or tenant'
|
|
216
|
-
'which:Show active profile or tenant'
|
|
217
|
-
'output:Set output format'
|
|
218
|
-
'open:Open Camunda web application in browser'
|
|
219
|
-
'completion:Generate shell completion script'
|
|
220
|
-
'help:Show help or detailed help for a command'
|
|
221
|
-
'cluster:Manage local Camunda 8 cluster'
|
|
222
|
-
'feedback:Open the feedback page to report issues or request features'
|
|
310
|
+
${verbEntries.join("\n")}
|
|
223
311
|
)
|
|
224
312
|
|
|
225
313
|
flags=(
|
|
226
|
-
|
|
227
|
-
'-h[Show help]'
|
|
228
|
-
'--version[Show version]'
|
|
229
|
-
'-v[Show version]'
|
|
230
|
-
'--profile[Use specific profile]:profile:'
|
|
231
|
-
'--from[Load plugin from URL]:url:'
|
|
232
|
-
'--all[Show all results]'
|
|
233
|
-
'--bpmnProcessId[Process definition ID]:id:'
|
|
234
|
-
'--id[Process definition ID (alias for --bpmnProcessId)]:id:'
|
|
235
|
-
'--processInstanceKey[Process instance key]:key:'
|
|
236
|
-
'--processDefinitionKey[Process definition key]:key:'
|
|
237
|
-
'--parentProcessInstanceKey[Parent process instance key]:key:'
|
|
238
|
-
'--variables[JSON variables]:json:'
|
|
239
|
-
'--state[Filter by state]:state:'
|
|
240
|
-
'--assignee[Filter by assignee]:assignee:'
|
|
241
|
-
'--type[Job type]:type:'
|
|
242
|
-
'--correlationKey[Message correlation key]:key:'
|
|
243
|
-
'--timeToLive[Message TTL in ms]:ttl:'
|
|
244
|
-
'--maxJobsToActivate[Maximum jobs to activate]:count:'
|
|
245
|
-
'--timeout[Job timeout in ms]:timeout:'
|
|
246
|
-
'--worker[Worker name]:name:'
|
|
247
|
-
'--retries[Number of retries]:count:'
|
|
248
|
-
'--errorMessage[Error message]:message:'
|
|
249
|
-
'--baseUrl[Cluster base URL]:url:'
|
|
250
|
-
'--clientId[OAuth client ID]:id:'
|
|
251
|
-
'--clientSecret[OAuth client secret]:secret:'
|
|
252
|
-
'--audience[OAuth audience]:audience:'
|
|
253
|
-
'--oAuthUrl[OAuth token endpoint]:url:'
|
|
254
|
-
'--defaultTenantId[Default tenant ID]:id:'
|
|
255
|
-
'--version[Process definition version]:version:'
|
|
256
|
-
'--awaitCompletion[Wait for process instance to complete]'
|
|
257
|
-
'--fetchVariables[Comma-separated variable names]:variables:'
|
|
258
|
-
'--requestTimeout[Timeout in milliseconds for process completion]:milliseconds:'
|
|
259
|
-
'--sortBy[Sort list output by column name]:column:'
|
|
260
|
-
'--asc[Sort in ascending order (default)]'
|
|
261
|
-
'--desc[Sort in descending order]'
|
|
262
|
-
'--limit[Maximum number of items to fetch]:number:'
|
|
263
|
-
'--between[Filter by date range (from..to)]:range:'
|
|
264
|
-
'--dateField[Date field to filter on with --between]:field:'
|
|
265
|
-
'--name[Variable or resource name]:name:'
|
|
266
|
-
'--key[Resource key]:key:'
|
|
267
|
-
'--elementId[Element ID]:id:'
|
|
268
|
-
'--errorType[Error type]:type:'
|
|
269
|
-
'--value[Variable value]:value:'
|
|
270
|
-
'--scopeKey[Scope key]:key:'
|
|
271
|
-
'--fullValue[Return full variable values]'
|
|
272
|
-
'--userTask[Get form for a user task]'
|
|
273
|
-
'--ut[Get form for a user task (alias for --userTask)]'
|
|
274
|
-
'--processDefinition[Get start form for a process definition]'
|
|
275
|
-
'--pd[Get start form for a process definition (alias for --processDefinition)]'
|
|
276
|
-
'--iname[Case-insensitive name filter]:pattern:'
|
|
277
|
-
'--iid[Case-insensitive process definition ID filter]:pattern:'
|
|
278
|
-
'--iassignee[Case-insensitive assignee filter]:pattern:'
|
|
279
|
-
'--ierrorMessage[Case-insensitive error message filter]:pattern:'
|
|
280
|
-
'--itype[Case-insensitive job type filter]:pattern:'
|
|
281
|
-
'--ivalue[Case-insensitive variable value filter]:pattern:'
|
|
282
|
-
'--fields[Agent: comma-separated output fields to include (reduces context window)]:fields:'
|
|
283
|
-
'--dry-run[Agent: preview API request without executing (for mutating commands)]'
|
|
284
|
-
'--verbose[Enable SDK trace logging and show full error details]'
|
|
285
|
-
'--force[Continue watching after all deployment errors (watch command) or force-remove a limbo plugin (unload plugin)]'
|
|
286
|
-
'--none[Clear the active session profile (use profile --none)]'
|
|
287
|
-
'--from-file[Create profile from a .env file]:file:_files'
|
|
288
|
-
'--from-env[Create profile from current CAMUNDA_* environment variables]'
|
|
289
|
-
'--username[Username for identity operations]:username:'
|
|
290
|
-
'--email[Email for identity operations]:email:'
|
|
291
|
-
'--password[Password for identity operations]:password:'
|
|
292
|
-
'--ownerId[Owner ID for authorization]:ownerId:'
|
|
293
|
-
'--ownerType[Owner type for authorization]:ownerType:'
|
|
294
|
-
'--resourceType[Resource type for authorization]:resourceType:'
|
|
295
|
-
'--resourceId[Resource ID for authorization]:resourceId:'
|
|
296
|
-
'--permissions[Permissions for authorization]:permissions:'
|
|
297
|
-
'--tenantId[Tenant ID]:tenantId:'
|
|
298
|
-
'--claimName[Claim name for mapping rule]:claimName:'
|
|
299
|
-
'--claimValue[Claim value for mapping rule]:claimValue:'
|
|
300
|
-
'--roleId[Role ID for search]:roleId:'
|
|
301
|
-
'--groupId[Group ID for search]:groupId:'
|
|
302
|
-
'--mappingRuleId[Mapping rule ID]:mappingRuleId:'
|
|
303
|
-
'--to-user[Target user for assignment]:user:'
|
|
304
|
-
'--to-group[Target group for assignment]:group:'
|
|
305
|
-
'--to-tenant[Target tenant for assignment]:tenant:'
|
|
306
|
-
'--to-mapping-rule[Target mapping rule for assignment]:mappingRule:'
|
|
307
|
-
'--from-user[Source user for unassignment]:user:'
|
|
308
|
-
'--from-group[Source group for unassignment]:group:'
|
|
309
|
-
'--from-tenant[Source tenant for unassignment]:tenant:'
|
|
310
|
-
'--from-mapping-rule[Source mapping rule for unassignment]:mappingRule:'
|
|
314
|
+
${flagEntryLines.join("\n")}
|
|
311
315
|
)
|
|
312
316
|
|
|
313
317
|
case $CURRENT in
|
|
@@ -316,327 +320,7 @@ _c8ctl() {
|
|
|
316
320
|
;;
|
|
317
321
|
3)
|
|
318
322
|
case "\${words[2]}" in
|
|
319
|
-
|
|
320
|
-
resources=(
|
|
321
|
-
'process-instances:List process instances'
|
|
322
|
-
'process-instance:List process instances'
|
|
323
|
-
'pi:List process instances'
|
|
324
|
-
'user-tasks:List user tasks'
|
|
325
|
-
'user-task:List user tasks'
|
|
326
|
-
'ut:List user tasks'
|
|
327
|
-
'incidents:List incidents'
|
|
328
|
-
'incident:List incidents'
|
|
329
|
-
'inc:List incidents'
|
|
330
|
-
'jobs:List jobs'
|
|
331
|
-
'profiles:List profiles'
|
|
332
|
-
'profile:List profiles'
|
|
333
|
-
'plugins:List plugins'
|
|
334
|
-
'plugin:List plugins'
|
|
335
|
-
'users:List users'
|
|
336
|
-
'user:List users'
|
|
337
|
-
'roles:List roles'
|
|
338
|
-
'role:List roles'
|
|
339
|
-
'groups:List groups'
|
|
340
|
-
'group:List groups'
|
|
341
|
-
'tenants:List tenants'
|
|
342
|
-
'tenant:List tenants'
|
|
343
|
-
'authorizations:List authorizations'
|
|
344
|
-
'authorization:List authorizations'
|
|
345
|
-
'auth:List authorizations'
|
|
346
|
-
'mapping-rules:List mapping rules'
|
|
347
|
-
'mapping-rule:List mapping rules'
|
|
348
|
-
'mr:List mapping rules'
|
|
349
|
-
)
|
|
350
|
-
_describe 'resource' resources
|
|
351
|
-
;;
|
|
352
|
-
search)
|
|
353
|
-
resources=(
|
|
354
|
-
'process-instances:Search process instances'
|
|
355
|
-
'process-instance:Search process instances'
|
|
356
|
-
'pi:Search process instances'
|
|
357
|
-
'process-definitions:Search process definitions'
|
|
358
|
-
'process-definition:Search process definitions'
|
|
359
|
-
'pd:Search process definitions'
|
|
360
|
-
'user-tasks:Search user tasks'
|
|
361
|
-
'user-task:Search user tasks'
|
|
362
|
-
'ut:Search user tasks'
|
|
363
|
-
'incidents:Search incidents'
|
|
364
|
-
'incident:Search incidents'
|
|
365
|
-
'inc:Search incidents'
|
|
366
|
-
'jobs:Search jobs'
|
|
367
|
-
'variables:Search variables'
|
|
368
|
-
'variable:Search variables'
|
|
369
|
-
'vars:Search variables'
|
|
370
|
-
'users:Search users'
|
|
371
|
-
'user:Search users'
|
|
372
|
-
'roles:Search roles'
|
|
373
|
-
'role:Search roles'
|
|
374
|
-
'groups:Search groups'
|
|
375
|
-
'group:Search groups'
|
|
376
|
-
'tenants:Search tenants'
|
|
377
|
-
'tenant:Search tenants'
|
|
378
|
-
'authorizations:Search authorizations'
|
|
379
|
-
'authorization:Search authorizations'
|
|
380
|
-
'auth:Search authorizations'
|
|
381
|
-
'mapping-rules:Search mapping rules'
|
|
382
|
-
'mapping-rule:Search mapping rules'
|
|
383
|
-
'mr:Search mapping rules'
|
|
384
|
-
)
|
|
385
|
-
_describe 'resource' resources
|
|
386
|
-
;;
|
|
387
|
-
get)
|
|
388
|
-
resources=(
|
|
389
|
-
'process-instance:Get process instance'
|
|
390
|
-
'pi:Get process instance'
|
|
391
|
-
'process-definition:Get process definition'
|
|
392
|
-
'pd:Get process definition'
|
|
393
|
-
'incident:Get incident'
|
|
394
|
-
'inc:Get incident'
|
|
395
|
-
'topology:Get cluster topology'
|
|
396
|
-
'form:Get form for user task or process definition'
|
|
397
|
-
'user:Get user'
|
|
398
|
-
'role:Get role'
|
|
399
|
-
'group:Get group'
|
|
400
|
-
'tenant:Get tenant'
|
|
401
|
-
'authorization:Get authorization'
|
|
402
|
-
'auth:Get authorization'
|
|
403
|
-
'mapping-rule:Get mapping rule'
|
|
404
|
-
'mr:Get mapping rule'
|
|
405
|
-
)
|
|
406
|
-
_describe 'resource' resources
|
|
407
|
-
;;
|
|
408
|
-
create)
|
|
409
|
-
resources=(
|
|
410
|
-
'process-instance:Create process instance'
|
|
411
|
-
'pi:Create process instance'
|
|
412
|
-
'user:Create user'
|
|
413
|
-
'role:Create role'
|
|
414
|
-
'group:Create group'
|
|
415
|
-
'tenant:Create tenant'
|
|
416
|
-
'authorization:Create authorization'
|
|
417
|
-
'auth:Create authorization'
|
|
418
|
-
'mapping-rule:Create mapping rule'
|
|
419
|
-
'mr:Create mapping rule'
|
|
420
|
-
)
|
|
421
|
-
_describe 'resource' resources
|
|
422
|
-
;;
|
|
423
|
-
cancel)
|
|
424
|
-
resources=(
|
|
425
|
-
'process-instance:Cancel process instance'
|
|
426
|
-
'pi:Cancel process instance'
|
|
427
|
-
)
|
|
428
|
-
_describe 'resource' resources
|
|
429
|
-
;;
|
|
430
|
-
await)
|
|
431
|
-
resources=(
|
|
432
|
-
'process-instance:Await process instance completion'
|
|
433
|
-
'pi:Await process instance completion'
|
|
434
|
-
)
|
|
435
|
-
_describe 'resource' resources
|
|
436
|
-
;;
|
|
437
|
-
complete)
|
|
438
|
-
resources=(
|
|
439
|
-
'user-task:Complete user task'
|
|
440
|
-
'ut:Complete user task'
|
|
441
|
-
'job:Complete job'
|
|
442
|
-
)
|
|
443
|
-
_describe 'resource' resources
|
|
444
|
-
;;
|
|
445
|
-
fail)
|
|
446
|
-
resources=(
|
|
447
|
-
'job:Fail job'
|
|
448
|
-
)
|
|
449
|
-
_describe 'resource' resources
|
|
450
|
-
;;
|
|
451
|
-
activate)
|
|
452
|
-
resources=(
|
|
453
|
-
'jobs:Activate jobs'
|
|
454
|
-
)
|
|
455
|
-
_describe 'resource' resources
|
|
456
|
-
;;
|
|
457
|
-
resolve)
|
|
458
|
-
resources=(
|
|
459
|
-
'incident:Resolve incident'
|
|
460
|
-
'inc:Resolve incident'
|
|
461
|
-
)
|
|
462
|
-
_describe 'resource' resources
|
|
463
|
-
;;
|
|
464
|
-
publish)
|
|
465
|
-
resources=(
|
|
466
|
-
'message:Publish message'
|
|
467
|
-
'msg:Publish message'
|
|
468
|
-
)
|
|
469
|
-
_describe 'resource' resources
|
|
470
|
-
;;
|
|
471
|
-
correlate)
|
|
472
|
-
resources=(
|
|
473
|
-
'message:Correlate message'
|
|
474
|
-
'msg:Correlate message'
|
|
475
|
-
)
|
|
476
|
-
_describe 'resource' resources
|
|
477
|
-
;;
|
|
478
|
-
delete)
|
|
479
|
-
resources=(
|
|
480
|
-
'user:Delete user'
|
|
481
|
-
'role:Delete role'
|
|
482
|
-
'group:Delete group'
|
|
483
|
-
'tenant:Delete tenant'
|
|
484
|
-
'authorization:Delete authorization'
|
|
485
|
-
'auth:Delete authorization'
|
|
486
|
-
'mapping-rule:Delete mapping rule'
|
|
487
|
-
'mr:Delete mapping rule'
|
|
488
|
-
)
|
|
489
|
-
_describe 'resource' resources
|
|
490
|
-
;;
|
|
491
|
-
assign)
|
|
492
|
-
resources=(
|
|
493
|
-
'role:Assign role'
|
|
494
|
-
'user:Assign user'
|
|
495
|
-
'group:Assign group'
|
|
496
|
-
'mapping-rule:Assign mapping rule'
|
|
497
|
-
'mr:Assign mapping rule'
|
|
498
|
-
)
|
|
499
|
-
_describe 'resource' resources
|
|
500
|
-
;;
|
|
501
|
-
unassign)
|
|
502
|
-
resources=(
|
|
503
|
-
'role:Unassign role'
|
|
504
|
-
'user:Unassign user'
|
|
505
|
-
'group:Unassign group'
|
|
506
|
-
'mapping-rule:Unassign mapping rule'
|
|
507
|
-
'mr:Unassign mapping rule'
|
|
508
|
-
)
|
|
509
|
-
_describe 'resource' resources
|
|
510
|
-
;;
|
|
511
|
-
add)
|
|
512
|
-
resources=(
|
|
513
|
-
'profile:Add profile'
|
|
514
|
-
)
|
|
515
|
-
_describe 'resource' resources
|
|
516
|
-
;;
|
|
517
|
-
remove|rm)
|
|
518
|
-
resources=(
|
|
519
|
-
'profile:Remove profile'
|
|
520
|
-
)
|
|
521
|
-
_describe 'resource' resources
|
|
522
|
-
;;
|
|
523
|
-
load)
|
|
524
|
-
resources=(
|
|
525
|
-
'plugin:Load plugin'
|
|
526
|
-
)
|
|
527
|
-
_describe 'resource' resources
|
|
528
|
-
;;
|
|
529
|
-
unload)
|
|
530
|
-
resources=(
|
|
531
|
-
'plugin:Unload plugin'
|
|
532
|
-
)
|
|
533
|
-
_describe 'resource' resources
|
|
534
|
-
;;
|
|
535
|
-
sync)
|
|
536
|
-
resources=(
|
|
537
|
-
'plugin:Synchronize plugin'
|
|
538
|
-
'plugins:Synchronize plugins'
|
|
539
|
-
)
|
|
540
|
-
_describe 'resource' resources
|
|
541
|
-
;;
|
|
542
|
-
upgrade)
|
|
543
|
-
resources=(
|
|
544
|
-
'plugin:Upgrade plugin'
|
|
545
|
-
)
|
|
546
|
-
_describe 'resource' resources
|
|
547
|
-
;;
|
|
548
|
-
downgrade)
|
|
549
|
-
resources=(
|
|
550
|
-
'plugin:Downgrade plugin'
|
|
551
|
-
)
|
|
552
|
-
_describe 'resource' resources
|
|
553
|
-
;;
|
|
554
|
-
init)
|
|
555
|
-
resources=(
|
|
556
|
-
'plugin:Create new plugin from template'
|
|
557
|
-
)
|
|
558
|
-
_describe 'resource' resources
|
|
559
|
-
;;
|
|
560
|
-
use)
|
|
561
|
-
resources=(
|
|
562
|
-
'profile:Set active profile'
|
|
563
|
-
'tenant:Set active tenant'
|
|
564
|
-
)
|
|
565
|
-
_describe 'resource' resources
|
|
566
|
-
;;
|
|
567
|
-
which)
|
|
568
|
-
resources=(
|
|
569
|
-
'profile:Show active profile'
|
|
570
|
-
)
|
|
571
|
-
_describe 'resource' resources
|
|
572
|
-
;;
|
|
573
|
-
output)
|
|
574
|
-
resources=(
|
|
575
|
-
'json:JSON output'
|
|
576
|
-
'text:Text output'
|
|
577
|
-
)
|
|
578
|
-
_describe 'resource' resources
|
|
579
|
-
;;
|
|
580
|
-
completion)
|
|
581
|
-
resources=(
|
|
582
|
-
'bash:Generate bash completion'
|
|
583
|
-
'zsh:Generate zsh completion'
|
|
584
|
-
'fish:Generate fish completion'
|
|
585
|
-
)
|
|
586
|
-
_describe 'resource' resources
|
|
587
|
-
;;
|
|
588
|
-
help)
|
|
589
|
-
resources=(
|
|
590
|
-
'list:Show list command help'
|
|
591
|
-
'get:Show get command help'
|
|
592
|
-
'create:Show create command help'
|
|
593
|
-
'complete:Show complete command help'
|
|
594
|
-
'await:Show await command help'
|
|
595
|
-
'search:Show search command help'
|
|
596
|
-
'deploy:Show deploy command help'
|
|
597
|
-
'run:Show run command help'
|
|
598
|
-
'watch:Show watch command help'
|
|
599
|
-
'open:Show open command help'
|
|
600
|
-
'cancel:Show cancel command help'
|
|
601
|
-
'resolve:Show resolve command help'
|
|
602
|
-
'fail:Show fail command help'
|
|
603
|
-
'activate:Show activate command help'
|
|
604
|
-
'publish:Show publish command help'
|
|
605
|
-
'correlate:Show correlate command help'
|
|
606
|
-
'delete:Show delete command help'
|
|
607
|
-
'assign:Show assign command help'
|
|
608
|
-
'unassign:Show unassign command help'
|
|
609
|
-
'upgrade:Show upgrade command help'
|
|
610
|
-
'downgrade:Show downgrade command help'
|
|
611
|
-
'init:Show init command help'
|
|
612
|
-
'profiles:Show profile management help'
|
|
613
|
-
'profile:Alias for profile management help'
|
|
614
|
-
'plugin:Show plugin management help'
|
|
615
|
-
'plugins:Alias for plugin management help'
|
|
616
|
-
'cluster:No detailed help; use c8ctl help for general usage'
|
|
617
|
-
'feedback:Show feedback command help'
|
|
618
|
-
)
|
|
619
|
-
_describe 'resource' resources
|
|
620
|
-
;;
|
|
621
|
-
cluster)
|
|
622
|
-
resources=(
|
|
623
|
-
'start:Start local Camunda 8 cluster'
|
|
624
|
-
'stop:Stop local Camunda 8 cluster'
|
|
625
|
-
)
|
|
626
|
-
_describe 'resource' resources
|
|
627
|
-
;;
|
|
628
|
-
open)
|
|
629
|
-
resources=(
|
|
630
|
-
'operate:Open Camunda Operate'
|
|
631
|
-
'tasklist:Open Camunda Tasklist'
|
|
632
|
-
'modeler:Open Camunda Web Modeler'
|
|
633
|
-
'optimize:Open Camunda Optimize'
|
|
634
|
-
)
|
|
635
|
-
_describe 'resource' resources
|
|
636
|
-
;;
|
|
637
|
-
deploy|run|watch)
|
|
638
|
-
_files
|
|
639
|
-
;;
|
|
323
|
+
${resourceCases.join("\n")}
|
|
640
324
|
esac
|
|
641
325
|
;;
|
|
642
326
|
*)
|
|
@@ -645,658 +329,94 @@ _c8ctl() {
|
|
|
645
329
|
esac
|
|
646
330
|
}
|
|
647
331
|
|
|
648
|
-
|
|
332
|
+
if (( $+functions[compdef] )); then
|
|
333
|
+
compdef _c8ctl c8ctl c8
|
|
334
|
+
fi
|
|
649
335
|
`;
|
|
650
336
|
}
|
|
651
|
-
|
|
652
|
-
* Generate fish completion script
|
|
653
|
-
*/
|
|
337
|
+
// ─── Fish completion ─────────────────────────────────────────────────────────
|
|
654
338
|
function generateFishCompletion() {
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
complete -c
|
|
664
|
-
complete -c
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
complete -c
|
|
674
|
-
complete -c
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
complete -c
|
|
678
|
-
complete -c
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
complete -c c8ctl -
|
|
687
|
-
complete -c c8 -
|
|
688
|
-
|
|
689
|
-
complete -c
|
|
690
|
-
complete -c
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
complete -c c8ctl -
|
|
701
|
-
complete -c c8 -
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
complete -c c8ctl -
|
|
713
|
-
complete -c c8 -
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
complete -c c8ctl -l dateField -d 'Date field to filter on with --between' -r
|
|
735
|
-
complete -c c8 -l dateField -d 'Date field to filter on with --between' -r
|
|
736
|
-
complete -c c8ctl -l name -d 'Variable or resource name' -r
|
|
737
|
-
complete -c c8 -l name -d 'Variable or resource name' -r
|
|
738
|
-
complete -c c8ctl -l key -d 'Resource key' -r
|
|
739
|
-
complete -c c8 -l key -d 'Resource key' -r
|
|
740
|
-
complete -c c8ctl -l elementId -d 'Element ID' -r
|
|
741
|
-
complete -c c8 -l elementId -d 'Element ID' -r
|
|
742
|
-
complete -c c8ctl -l errorType -d 'Error type' -r
|
|
743
|
-
complete -c c8 -l errorType -d 'Error type' -r
|
|
744
|
-
complete -c c8ctl -l value -d 'Variable value' -r
|
|
745
|
-
complete -c c8 -l value -d 'Variable value' -r
|
|
746
|
-
complete -c c8ctl -l scopeKey -d 'Scope key' -r
|
|
747
|
-
complete -c c8 -l scopeKey -d 'Scope key' -r
|
|
748
|
-
complete -c c8ctl -l fullValue -d 'Return full variable values'
|
|
749
|
-
complete -c c8 -l fullValue -d 'Return full variable values'
|
|
750
|
-
complete -c c8ctl -l userTask -d 'Get form for a user task'
|
|
751
|
-
complete -c c8 -l userTask -d 'Get form for a user task'
|
|
752
|
-
complete -c c8ctl -l ut -d 'Get form for a user task (alias for --userTask)'
|
|
753
|
-
complete -c c8 -l ut -d 'Get form for a user task (alias for --userTask)'
|
|
754
|
-
complete -c c8ctl -l processDefinition -d 'Get start form for a process definition'
|
|
755
|
-
complete -c c8 -l processDefinition -d 'Get start form for a process definition'
|
|
756
|
-
complete -c c8ctl -l pd -d 'Get start form for a process definition (alias for --processDefinition)'
|
|
757
|
-
complete -c c8 -l pd -d 'Get start form for a process definition (alias for --processDefinition)'
|
|
758
|
-
complete -c c8ctl -l iname -d 'Case-insensitive name filter' -r
|
|
759
|
-
complete -c c8 -l iname -d 'Case-insensitive name filter' -r
|
|
760
|
-
complete -c c8ctl -l iid -d 'Case-insensitive process definition ID filter' -r
|
|
761
|
-
complete -c c8 -l iid -d 'Case-insensitive process definition ID filter' -r
|
|
762
|
-
complete -c c8ctl -l iassignee -d 'Case-insensitive assignee filter' -r
|
|
763
|
-
complete -c c8 -l iassignee -d 'Case-insensitive assignee filter' -r
|
|
764
|
-
complete -c c8ctl -l ierrorMessage -d 'Case-insensitive error message filter' -r
|
|
765
|
-
complete -c c8 -l ierrorMessage -d 'Case-insensitive error message filter' -r
|
|
766
|
-
complete -c c8ctl -l itype -d 'Case-insensitive job type filter' -r
|
|
767
|
-
complete -c c8 -l itype -d 'Case-insensitive job type filter' -r
|
|
768
|
-
complete -c c8ctl -l ivalue -d 'Case-insensitive variable value filter' -r
|
|
769
|
-
complete -c c8 -l ivalue -d 'Case-insensitive variable value filter' -r
|
|
770
|
-
complete -c c8ctl -l fields -d 'Agent: comma-separated output fields to include' -r
|
|
771
|
-
complete -c c8 -l fields -d 'Agent: comma-separated output fields to include' -r
|
|
772
|
-
complete -c c8ctl -l dry-run -d 'Agent: preview API request without executing'
|
|
773
|
-
complete -c c8 -l dry-run -d 'Agent: preview API request without executing'
|
|
774
|
-
complete -c c8ctl -l verbose -d 'Enable SDK trace logging and show full error details'
|
|
775
|
-
complete -c c8 -l verbose -d 'Enable SDK trace logging and show full error details'
|
|
776
|
-
complete -c c8ctl -l force -d 'Continue watching after all deployment errors or force-remove a limbo plugin'
|
|
777
|
-
complete -c c8 -l force -d 'Continue watching after all deployment errors or force-remove a limbo plugin'
|
|
778
|
-
complete -c c8ctl -l none -d 'Clear the active session profile'
|
|
779
|
-
complete -c c8 -l none -d 'Clear the active session profile'
|
|
780
|
-
complete -c c8ctl -l from-file -r -d 'Create profile from a .env file'
|
|
781
|
-
complete -c c8 -l from-file -r -d 'Create profile from a .env file'
|
|
782
|
-
complete -c c8ctl -l from-env -d 'Create profile from current environment variables'
|
|
783
|
-
complete -c c8 -l from-env -d 'Create profile from current environment variables'
|
|
784
|
-
complete -c c8ctl -l username -d 'Username for identity operations' -r
|
|
785
|
-
complete -c c8 -l username -d 'Username for identity operations' -r
|
|
786
|
-
complete -c c8ctl -l email -d 'Email for identity operations' -r
|
|
787
|
-
complete -c c8 -l email -d 'Email for identity operations' -r
|
|
788
|
-
complete -c c8ctl -l password -d 'Password for identity operations' -r
|
|
789
|
-
complete -c c8 -l password -d 'Password for identity operations' -r
|
|
790
|
-
complete -c c8ctl -l ownerId -d 'Owner ID for authorization' -r
|
|
791
|
-
complete -c c8 -l ownerId -d 'Owner ID for authorization' -r
|
|
792
|
-
complete -c c8ctl -l ownerType -d 'Owner type for authorization' -r
|
|
793
|
-
complete -c c8 -l ownerType -d 'Owner type for authorization' -r
|
|
794
|
-
complete -c c8ctl -l resourceType -d 'Resource type for authorization' -r
|
|
795
|
-
complete -c c8 -l resourceType -d 'Resource type for authorization' -r
|
|
796
|
-
complete -c c8ctl -l resourceId -d 'Resource ID for authorization' -r
|
|
797
|
-
complete -c c8 -l resourceId -d 'Resource ID for authorization' -r
|
|
798
|
-
complete -c c8ctl -l permissions -d 'Permissions for authorization' -r
|
|
799
|
-
complete -c c8 -l permissions -d 'Permissions for authorization' -r
|
|
800
|
-
complete -c c8ctl -l tenantId -d 'Tenant ID' -r
|
|
801
|
-
complete -c c8 -l tenantId -d 'Tenant ID' -r
|
|
802
|
-
complete -c c8ctl -l claimName -d 'Claim name for mapping rule' -r
|
|
803
|
-
complete -c c8 -l claimName -d 'Claim name for mapping rule' -r
|
|
804
|
-
complete -c c8ctl -l claimValue -d 'Claim value for mapping rule' -r
|
|
805
|
-
complete -c c8 -l claimValue -d 'Claim value for mapping rule' -r
|
|
806
|
-
complete -c c8ctl -l roleId -d 'Role ID for search' -r
|
|
807
|
-
complete -c c8 -l roleId -d 'Role ID for search' -r
|
|
808
|
-
complete -c c8ctl -l groupId -d 'Group ID for search' -r
|
|
809
|
-
complete -c c8 -l groupId -d 'Group ID for search' -r
|
|
810
|
-
complete -c c8ctl -l mappingRuleId -d 'Mapping rule ID' -r
|
|
811
|
-
complete -c c8 -l mappingRuleId -d 'Mapping rule ID' -r
|
|
812
|
-
complete -c c8ctl -l to-user -d 'Target user for assignment' -r
|
|
813
|
-
complete -c c8 -l to-user -d 'Target user for assignment' -r
|
|
814
|
-
complete -c c8ctl -l to-group -d 'Target group for assignment' -r
|
|
815
|
-
complete -c c8 -l to-group -d 'Target group for assignment' -r
|
|
816
|
-
complete -c c8ctl -l to-tenant -d 'Target tenant for assignment' -r
|
|
817
|
-
complete -c c8 -l to-tenant -d 'Target tenant for assignment' -r
|
|
818
|
-
complete -c c8ctl -l to-mapping-rule -d 'Target mapping rule for assignment' -r
|
|
819
|
-
complete -c c8 -l to-mapping-rule -d 'Target mapping rule for assignment' -r
|
|
820
|
-
complete -c c8ctl -l from-user -d 'Source user for unassignment' -r
|
|
821
|
-
complete -c c8 -l from-user -d 'Source user for unassignment' -r
|
|
822
|
-
complete -c c8ctl -l from-group -d 'Source group for unassignment' -r
|
|
823
|
-
complete -c c8 -l from-group -d 'Source group for unassignment' -r
|
|
824
|
-
complete -c c8ctl -l from-tenant -d 'Source tenant for unassignment' -r
|
|
825
|
-
complete -c c8 -l from-tenant -d 'Source tenant for unassignment' -r
|
|
826
|
-
complete -c c8ctl -l from-mapping-rule -d 'Source mapping rule for unassignment' -r
|
|
827
|
-
complete -c c8 -l from-mapping-rule -d 'Source mapping rule for unassignment' -r
|
|
828
|
-
|
|
829
|
-
# Commands (verbs) - only suggest when no command is given yet
|
|
830
|
-
complete -c c8ctl -n '__fish_use_subcommand' -a 'list' -d 'List resources'
|
|
831
|
-
complete -c c8 -n '__fish_use_subcommand' -a 'list' -d 'List resources'
|
|
832
|
-
complete -c c8ctl -n '__fish_use_subcommand' -a 'search' -d 'Search resources with filters'
|
|
833
|
-
complete -c c8 -n '__fish_use_subcommand' -a 'search' -d 'Search resources with filters'
|
|
834
|
-
complete -c c8ctl -n '__fish_use_subcommand' -a 'get' -d 'Get resource by key'
|
|
835
|
-
complete -c c8 -n '__fish_use_subcommand' -a 'get' -d 'Get resource by key'
|
|
836
|
-
complete -c c8ctl -n '__fish_use_subcommand' -a 'create' -d 'Create resource'
|
|
837
|
-
complete -c c8 -n '__fish_use_subcommand' -a 'create' -d 'Create resource'
|
|
838
|
-
complete -c c8ctl -n '__fish_use_subcommand' -a 'delete' -d 'Delete resource'
|
|
839
|
-
complete -c c8 -n '__fish_use_subcommand' -a 'delete' -d 'Delete resource'
|
|
840
|
-
complete -c c8ctl -n '__fish_use_subcommand' -a 'cancel' -d 'Cancel resource'
|
|
841
|
-
complete -c c8 -n '__fish_use_subcommand' -a 'cancel' -d 'Cancel resource'
|
|
842
|
-
complete -c c8ctl -n '__fish_use_subcommand' -a 'await' -d 'Await resource completion'
|
|
843
|
-
complete -c c8 -n '__fish_use_subcommand' -a 'await' -d 'Await resource completion'
|
|
844
|
-
complete -c c8ctl -n '__fish_use_subcommand' -a 'complete' -d 'Complete resource'
|
|
845
|
-
complete -c c8 -n '__fish_use_subcommand' -a 'complete' -d 'Complete resource'
|
|
846
|
-
complete -c c8ctl -n '__fish_use_subcommand' -a 'fail' -d 'Fail a job'
|
|
847
|
-
complete -c c8 -n '__fish_use_subcommand' -a 'fail' -d 'Fail a job'
|
|
848
|
-
complete -c c8ctl -n '__fish_use_subcommand' -a 'activate' -d 'Activate jobs by type'
|
|
849
|
-
complete -c c8 -n '__fish_use_subcommand' -a 'activate' -d 'Activate jobs by type'
|
|
850
|
-
complete -c c8ctl -n '__fish_use_subcommand' -a 'resolve' -d 'Resolve incident'
|
|
851
|
-
complete -c c8 -n '__fish_use_subcommand' -a 'resolve' -d 'Resolve incident'
|
|
852
|
-
complete -c c8ctl -n '__fish_use_subcommand' -a 'publish' -d 'Publish message'
|
|
853
|
-
complete -c c8 -n '__fish_use_subcommand' -a 'publish' -d 'Publish message'
|
|
854
|
-
complete -c c8ctl -n '__fish_use_subcommand' -a 'correlate' -d 'Correlate message'
|
|
855
|
-
complete -c c8 -n '__fish_use_subcommand' -a 'correlate' -d 'Correlate message'
|
|
856
|
-
complete -c c8ctl -n '__fish_use_subcommand' -a 'deploy' -d 'Deploy BPMN/DMN/forms'
|
|
857
|
-
complete -c c8 -n '__fish_use_subcommand' -a 'deploy' -d 'Deploy BPMN/DMN/forms'
|
|
858
|
-
complete -c c8ctl -n '__fish_use_subcommand' -a 'run' -d 'Deploy and start process'
|
|
859
|
-
complete -c c8 -n '__fish_use_subcommand' -a 'run' -d 'Deploy and start process'
|
|
860
|
-
complete -c c8ctl -n '__fish_use_subcommand' -a 'watch' -d 'Watch files and auto-deploy'
|
|
861
|
-
complete -c c8 -n '__fish_use_subcommand' -a 'watch' -d 'Watch files and auto-deploy'
|
|
862
|
-
complete -c c8ctl -n '__fish_use_subcommand' -a 'open' -d 'Open Camunda web application in browser'
|
|
863
|
-
complete -c c8 -n '__fish_use_subcommand' -a 'open' -d 'Open Camunda web application in browser'
|
|
864
|
-
complete -c c8ctl -n '__fish_use_subcommand' -a 'add' -d 'Add a profile'
|
|
865
|
-
complete -c c8 -n '__fish_use_subcommand' -a 'add' -d 'Add a profile'
|
|
866
|
-
complete -c c8ctl -n '__fish_use_subcommand' -a 'remove' -d 'Remove a profile'
|
|
867
|
-
complete -c c8 -n '__fish_use_subcommand' -a 'remove' -d 'Remove a profile'
|
|
868
|
-
complete -c c8ctl -n '__fish_use_subcommand' -a 'rm' -d 'Remove a profile'
|
|
869
|
-
complete -c c8 -n '__fish_use_subcommand' -a 'rm' -d 'Remove a profile'
|
|
870
|
-
complete -c c8ctl -n '__fish_use_subcommand' -a 'load' -d 'Load a c8ctl plugin'
|
|
871
|
-
complete -c c8 -n '__fish_use_subcommand' -a 'load' -d 'Load a c8ctl plugin'
|
|
872
|
-
complete -c c8ctl -n '__fish_use_subcommand' -a 'unload' -d 'Unload a c8ctl plugin'
|
|
873
|
-
complete -c c8 -n '__fish_use_subcommand' -a 'unload' -d 'Unload a c8ctl plugin'
|
|
874
|
-
complete -c c8ctl -n '__fish_use_subcommand' -a 'sync' -d 'Synchronize plugins from registry'
|
|
875
|
-
complete -c c8 -n '__fish_use_subcommand' -a 'sync' -d 'Synchronize plugins from registry'
|
|
876
|
-
complete -c c8ctl -n '__fish_use_subcommand' -a 'upgrade' -d 'Upgrade a plugin'
|
|
877
|
-
complete -c c8 -n '__fish_use_subcommand' -a 'upgrade' -d 'Upgrade a plugin'
|
|
878
|
-
complete -c c8ctl -n '__fish_use_subcommand' -a 'downgrade' -d 'Downgrade a plugin'
|
|
879
|
-
complete -c c8 -n '__fish_use_subcommand' -a 'downgrade' -d 'Downgrade a plugin'
|
|
880
|
-
complete -c c8ctl -n '__fish_use_subcommand' -a 'init' -d 'Create a new plugin from template'
|
|
881
|
-
complete -c c8 -n '__fish_use_subcommand' -a 'init' -d 'Create a new plugin from template'
|
|
882
|
-
complete -c c8ctl -n '__fish_use_subcommand' -a 'assign' -d 'Assign a resource to another'
|
|
883
|
-
complete -c c8 -n '__fish_use_subcommand' -a 'assign' -d 'Assign a resource to another'
|
|
884
|
-
complete -c c8ctl -n '__fish_use_subcommand' -a 'unassign' -d 'Unassign a resource from another'
|
|
885
|
-
complete -c c8 -n '__fish_use_subcommand' -a 'unassign' -d 'Unassign a resource from another'
|
|
886
|
-
complete -c c8ctl -n '__fish_use_subcommand' -a 'use' -d 'Set active profile or tenant'
|
|
887
|
-
complete -c c8 -n '__fish_use_subcommand' -a 'use' -d 'Set active profile or tenant'
|
|
888
|
-
complete -c c8ctl -n '__fish_use_subcommand' -a 'which' -d 'Show active profile'
|
|
889
|
-
complete -c c8 -n '__fish_use_subcommand' -a 'which' -d 'Show active profile'
|
|
890
|
-
complete -c c8ctl -n '__fish_use_subcommand' -a 'output' -d 'Set output format'
|
|
891
|
-
complete -c c8 -n '__fish_use_subcommand' -a 'output' -d 'Set output format'
|
|
892
|
-
complete -c c8ctl -n '__fish_use_subcommand' -a 'help' -d 'Show help or detailed help for a command'
|
|
893
|
-
complete -c c8 -n '__fish_use_subcommand' -a 'help' -d 'Show help or detailed help for a command'
|
|
894
|
-
complete -c c8ctl -n '__fish_use_subcommand' -a 'completion' -d 'Generate shell completion script'
|
|
895
|
-
complete -c c8 -n '__fish_use_subcommand' -a 'completion' -d 'Generate shell completion script'
|
|
896
|
-
complete -c c8ctl -n '__fish_use_subcommand' -a 'cluster' -d 'Manage local Camunda 8 cluster'
|
|
897
|
-
complete -c c8 -n '__fish_use_subcommand' -a 'cluster' -d 'Manage local Camunda 8 cluster'
|
|
898
|
-
complete -c c8ctl -n '__fish_use_subcommand' -a 'feedback' -d 'Open the feedback page to report issues or request features'
|
|
899
|
-
complete -c c8 -n '__fish_use_subcommand' -a 'feedback' -d 'Open the feedback page to report issues or request features'
|
|
900
|
-
|
|
901
|
-
# Resources for 'list' command
|
|
902
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from list' -a 'process-instances' -d 'List process instances'
|
|
903
|
-
complete -c c8 -n '__fish_seen_subcommand_from list' -a 'process-instances' -d 'List process instances'
|
|
904
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from list' -a 'process-instance' -d 'List process instances'
|
|
905
|
-
complete -c c8 -n '__fish_seen_subcommand_from list' -a 'process-instance' -d 'List process instances'
|
|
906
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from list' -a 'pi' -d 'List process instances'
|
|
907
|
-
complete -c c8 -n '__fish_seen_subcommand_from list' -a 'pi' -d 'List process instances'
|
|
908
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from list' -a 'user-tasks' -d 'List user tasks'
|
|
909
|
-
complete -c c8 -n '__fish_seen_subcommand_from list' -a 'user-tasks' -d 'List user tasks'
|
|
910
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from list' -a 'user-task' -d 'List user tasks'
|
|
911
|
-
complete -c c8 -n '__fish_seen_subcommand_from list' -a 'user-task' -d 'List user tasks'
|
|
912
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from list' -a 'ut' -d 'List user tasks'
|
|
913
|
-
complete -c c8 -n '__fish_seen_subcommand_from list' -a 'ut' -d 'List user tasks'
|
|
914
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from list' -a 'incidents' -d 'List incidents'
|
|
915
|
-
complete -c c8 -n '__fish_seen_subcommand_from list' -a 'incidents' -d 'List incidents'
|
|
916
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from list' -a 'incident' -d 'List incidents'
|
|
917
|
-
complete -c c8 -n '__fish_seen_subcommand_from list' -a 'incident' -d 'List incidents'
|
|
918
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from list' -a 'inc' -d 'List incidents'
|
|
919
|
-
complete -c c8 -n '__fish_seen_subcommand_from list' -a 'inc' -d 'List incidents'
|
|
920
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from list' -a 'jobs' -d 'List jobs'
|
|
921
|
-
complete -c c8 -n '__fish_seen_subcommand_from list' -a 'jobs' -d 'List jobs'
|
|
922
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from list' -a 'profiles' -d 'List profiles'
|
|
923
|
-
complete -c c8 -n '__fish_seen_subcommand_from list' -a 'profiles' -d 'List profiles'
|
|
924
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from list' -a 'profile' -d 'List profiles'
|
|
925
|
-
complete -c c8 -n '__fish_seen_subcommand_from list' -a 'profile' -d 'List profiles'
|
|
926
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from list' -a 'plugins' -d 'List plugins'
|
|
927
|
-
complete -c c8 -n '__fish_seen_subcommand_from list' -a 'plugins' -d 'List plugins'
|
|
928
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from list' -a 'plugin' -d 'List plugins'
|
|
929
|
-
complete -c c8 -n '__fish_seen_subcommand_from list' -a 'plugin' -d 'List plugins'
|
|
930
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from list' -a 'users' -d 'List users'
|
|
931
|
-
complete -c c8 -n '__fish_seen_subcommand_from list' -a 'users' -d 'List users'
|
|
932
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from list' -a 'user' -d 'List users'
|
|
933
|
-
complete -c c8 -n '__fish_seen_subcommand_from list' -a 'user' -d 'List users'
|
|
934
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from list' -a 'roles' -d 'List roles'
|
|
935
|
-
complete -c c8 -n '__fish_seen_subcommand_from list' -a 'roles' -d 'List roles'
|
|
936
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from list' -a 'role' -d 'List roles'
|
|
937
|
-
complete -c c8 -n '__fish_seen_subcommand_from list' -a 'role' -d 'List roles'
|
|
938
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from list' -a 'groups' -d 'List groups'
|
|
939
|
-
complete -c c8 -n '__fish_seen_subcommand_from list' -a 'groups' -d 'List groups'
|
|
940
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from list' -a 'group' -d 'List groups'
|
|
941
|
-
complete -c c8 -n '__fish_seen_subcommand_from list' -a 'group' -d 'List groups'
|
|
942
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from list' -a 'tenants' -d 'List tenants'
|
|
943
|
-
complete -c c8 -n '__fish_seen_subcommand_from list' -a 'tenants' -d 'List tenants'
|
|
944
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from list' -a 'tenant' -d 'List tenants'
|
|
945
|
-
complete -c c8 -n '__fish_seen_subcommand_from list' -a 'tenant' -d 'List tenants'
|
|
946
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from list' -a 'authorizations' -d 'List authorizations'
|
|
947
|
-
complete -c c8 -n '__fish_seen_subcommand_from list' -a 'authorizations' -d 'List authorizations'
|
|
948
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from list' -a 'authorization' -d 'List authorizations'
|
|
949
|
-
complete -c c8 -n '__fish_seen_subcommand_from list' -a 'authorization' -d 'List authorizations'
|
|
950
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from list' -a 'auth' -d 'List authorizations'
|
|
951
|
-
complete -c c8 -n '__fish_seen_subcommand_from list' -a 'auth' -d 'List authorizations'
|
|
952
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from list' -a 'mapping-rules' -d 'List mapping rules'
|
|
953
|
-
complete -c c8 -n '__fish_seen_subcommand_from list' -a 'mapping-rules' -d 'List mapping rules'
|
|
954
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from list' -a 'mapping-rule' -d 'List mapping rules'
|
|
955
|
-
complete -c c8 -n '__fish_seen_subcommand_from list' -a 'mapping-rule' -d 'List mapping rules'
|
|
956
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from list' -a 'mr' -d 'List mapping rules'
|
|
957
|
-
complete -c c8 -n '__fish_seen_subcommand_from list' -a 'mr' -d 'List mapping rules'
|
|
958
|
-
|
|
959
|
-
# Resources for 'search' command
|
|
960
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from search' -a 'process-instances' -d 'Search process instances'
|
|
961
|
-
complete -c c8 -n '__fish_seen_subcommand_from search' -a 'process-instances' -d 'Search process instances'
|
|
962
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from search' -a 'process-instance' -d 'Search process instances'
|
|
963
|
-
complete -c c8 -n '__fish_seen_subcommand_from search' -a 'process-instance' -d 'Search process instances'
|
|
964
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from search' -a 'pi' -d 'Search process instances'
|
|
965
|
-
complete -c c8 -n '__fish_seen_subcommand_from search' -a 'pi' -d 'Search process instances'
|
|
966
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from search' -a 'process-definitions' -d 'Search process definitions'
|
|
967
|
-
complete -c c8 -n '__fish_seen_subcommand_from search' -a 'process-definitions' -d 'Search process definitions'
|
|
968
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from search' -a 'process-definition' -d 'Search process definitions'
|
|
969
|
-
complete -c c8 -n '__fish_seen_subcommand_from search' -a 'process-definition' -d 'Search process definitions'
|
|
970
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from search' -a 'pd' -d 'Search process definitions'
|
|
971
|
-
complete -c c8 -n '__fish_seen_subcommand_from search' -a 'pd' -d 'Search process definitions'
|
|
972
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from search' -a 'user-tasks' -d 'Search user tasks'
|
|
973
|
-
complete -c c8 -n '__fish_seen_subcommand_from search' -a 'user-tasks' -d 'Search user tasks'
|
|
974
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from search' -a 'user-task' -d 'Search user tasks'
|
|
975
|
-
complete -c c8 -n '__fish_seen_subcommand_from search' -a 'user-task' -d 'Search user tasks'
|
|
976
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from search' -a 'ut' -d 'Search user tasks'
|
|
977
|
-
complete -c c8 -n '__fish_seen_subcommand_from search' -a 'ut' -d 'Search user tasks'
|
|
978
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from search' -a 'incidents' -d 'Search incidents'
|
|
979
|
-
complete -c c8 -n '__fish_seen_subcommand_from search' -a 'incidents' -d 'Search incidents'
|
|
980
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from search' -a 'incident' -d 'Search incidents'
|
|
981
|
-
complete -c c8 -n '__fish_seen_subcommand_from search' -a 'incident' -d 'Search incidents'
|
|
982
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from search' -a 'inc' -d 'Search incidents'
|
|
983
|
-
complete -c c8 -n '__fish_seen_subcommand_from search' -a 'inc' -d 'Search incidents'
|
|
984
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from search' -a 'jobs' -d 'Search jobs'
|
|
985
|
-
complete -c c8 -n '__fish_seen_subcommand_from search' -a 'jobs' -d 'Search jobs'
|
|
986
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from search' -a 'variables' -d 'Search variables'
|
|
987
|
-
complete -c c8 -n '__fish_seen_subcommand_from search' -a 'variables' -d 'Search variables'
|
|
988
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from search' -a 'variable' -d 'Search variables'
|
|
989
|
-
complete -c c8 -n '__fish_seen_subcommand_from search' -a 'variable' -d 'Search variables'
|
|
990
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from search' -a 'vars' -d 'Search variables'
|
|
991
|
-
complete -c c8 -n '__fish_seen_subcommand_from search' -a 'vars' -d 'Search variables'
|
|
992
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from search' -a 'users' -d 'Search users'
|
|
993
|
-
complete -c c8 -n '__fish_seen_subcommand_from search' -a 'users' -d 'Search users'
|
|
994
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from search' -a 'user' -d 'Search users'
|
|
995
|
-
complete -c c8 -n '__fish_seen_subcommand_from search' -a 'user' -d 'Search users'
|
|
996
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from search' -a 'roles' -d 'Search roles'
|
|
997
|
-
complete -c c8 -n '__fish_seen_subcommand_from search' -a 'roles' -d 'Search roles'
|
|
998
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from search' -a 'role' -d 'Search roles'
|
|
999
|
-
complete -c c8 -n '__fish_seen_subcommand_from search' -a 'role' -d 'Search roles'
|
|
1000
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from search' -a 'groups' -d 'Search groups'
|
|
1001
|
-
complete -c c8 -n '__fish_seen_subcommand_from search' -a 'groups' -d 'Search groups'
|
|
1002
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from search' -a 'group' -d 'Search groups'
|
|
1003
|
-
complete -c c8 -n '__fish_seen_subcommand_from search' -a 'group' -d 'Search groups'
|
|
1004
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from search' -a 'tenants' -d 'Search tenants'
|
|
1005
|
-
complete -c c8 -n '__fish_seen_subcommand_from search' -a 'tenants' -d 'Search tenants'
|
|
1006
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from search' -a 'tenant' -d 'Search tenants'
|
|
1007
|
-
complete -c c8 -n '__fish_seen_subcommand_from search' -a 'tenant' -d 'Search tenants'
|
|
1008
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from search' -a 'authorizations' -d 'Search authorizations'
|
|
1009
|
-
complete -c c8 -n '__fish_seen_subcommand_from search' -a 'authorizations' -d 'Search authorizations'
|
|
1010
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from search' -a 'authorization' -d 'Search authorizations'
|
|
1011
|
-
complete -c c8 -n '__fish_seen_subcommand_from search' -a 'authorization' -d 'Search authorizations'
|
|
1012
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from search' -a 'auth' -d 'Search authorizations'
|
|
1013
|
-
complete -c c8 -n '__fish_seen_subcommand_from search' -a 'auth' -d 'Search authorizations'
|
|
1014
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from search' -a 'mapping-rules' -d 'Search mapping rules'
|
|
1015
|
-
complete -c c8 -n '__fish_seen_subcommand_from search' -a 'mapping-rules' -d 'Search mapping rules'
|
|
1016
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from search' -a 'mapping-rule' -d 'Search mapping rules'
|
|
1017
|
-
complete -c c8 -n '__fish_seen_subcommand_from search' -a 'mapping-rule' -d 'Search mapping rules'
|
|
1018
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from search' -a 'mr' -d 'Search mapping rules'
|
|
1019
|
-
complete -c c8 -n '__fish_seen_subcommand_from search' -a 'mr' -d 'Search mapping rules'
|
|
1020
|
-
|
|
1021
|
-
# Resources for 'get' command
|
|
1022
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from get' -a 'process-instance' -d 'Get process instance'
|
|
1023
|
-
complete -c c8 -n '__fish_seen_subcommand_from get' -a 'process-instance' -d 'Get process instance'
|
|
1024
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from get' -a 'pi' -d 'Get process instance'
|
|
1025
|
-
complete -c c8 -n '__fish_seen_subcommand_from get' -a 'pi' -d 'Get process instance'
|
|
1026
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from get' -a 'process-definition' -d 'Get process definition'
|
|
1027
|
-
complete -c c8 -n '__fish_seen_subcommand_from get' -a 'process-definition' -d 'Get process definition'
|
|
1028
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from get' -a 'pd' -d 'Get process definition'
|
|
1029
|
-
complete -c c8 -n '__fish_seen_subcommand_from get' -a 'pd' -d 'Get process definition'
|
|
1030
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from get' -a 'incident' -d 'Get incident'
|
|
1031
|
-
complete -c c8 -n '__fish_seen_subcommand_from get' -a 'incident' -d 'Get incident'
|
|
1032
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from get' -a 'inc' -d 'Get incident'
|
|
1033
|
-
complete -c c8 -n '__fish_seen_subcommand_from get' -a 'inc' -d 'Get incident'
|
|
1034
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from get' -a 'topology' -d 'Get cluster topology'
|
|
1035
|
-
complete -c c8 -n '__fish_seen_subcommand_from get' -a 'topology' -d 'Get cluster topology'
|
|
1036
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from get' -a 'form' -d 'Get form for user task or process definition'
|
|
1037
|
-
complete -c c8 -n '__fish_seen_subcommand_from get' -a 'form' -d 'Get form for user task or process definition'
|
|
1038
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from get' -a 'user' -d 'Get user'
|
|
1039
|
-
complete -c c8 -n '__fish_seen_subcommand_from get' -a 'user' -d 'Get user'
|
|
1040
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from get' -a 'role' -d 'Get role'
|
|
1041
|
-
complete -c c8 -n '__fish_seen_subcommand_from get' -a 'role' -d 'Get role'
|
|
1042
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from get' -a 'group' -d 'Get group'
|
|
1043
|
-
complete -c c8 -n '__fish_seen_subcommand_from get' -a 'group' -d 'Get group'
|
|
1044
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from get' -a 'tenant' -d 'Get tenant'
|
|
1045
|
-
complete -c c8 -n '__fish_seen_subcommand_from get' -a 'tenant' -d 'Get tenant'
|
|
1046
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from get' -a 'authorization' -d 'Get authorization'
|
|
1047
|
-
complete -c c8 -n '__fish_seen_subcommand_from get' -a 'authorization' -d 'Get authorization'
|
|
1048
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from get' -a 'auth' -d 'Get authorization'
|
|
1049
|
-
complete -c c8 -n '__fish_seen_subcommand_from get' -a 'auth' -d 'Get authorization'
|
|
1050
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from get' -a 'mapping-rule' -d 'Get mapping rule'
|
|
1051
|
-
complete -c c8 -n '__fish_seen_subcommand_from get' -a 'mapping-rule' -d 'Get mapping rule'
|
|
1052
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from get' -a 'mr' -d 'Get mapping rule'
|
|
1053
|
-
complete -c c8 -n '__fish_seen_subcommand_from get' -a 'mr' -d 'Get mapping rule'
|
|
1054
|
-
|
|
1055
|
-
# Resources for 'create' command
|
|
1056
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from create' -a 'process-instance' -d 'Create process instance'
|
|
1057
|
-
complete -c c8 -n '__fish_seen_subcommand_from create' -a 'process-instance' -d 'Create process instance'
|
|
1058
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from create' -a 'pi' -d 'Create process instance'
|
|
1059
|
-
complete -c c8 -n '__fish_seen_subcommand_from create' -a 'pi' -d 'Create process instance'
|
|
1060
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from create' -a 'user' -d 'Create user'
|
|
1061
|
-
complete -c c8 -n '__fish_seen_subcommand_from create' -a 'user' -d 'Create user'
|
|
1062
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from create' -a 'role' -d 'Create role'
|
|
1063
|
-
complete -c c8 -n '__fish_seen_subcommand_from create' -a 'role' -d 'Create role'
|
|
1064
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from create' -a 'group' -d 'Create group'
|
|
1065
|
-
complete -c c8 -n '__fish_seen_subcommand_from create' -a 'group' -d 'Create group'
|
|
1066
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from create' -a 'tenant' -d 'Create tenant'
|
|
1067
|
-
complete -c c8 -n '__fish_seen_subcommand_from create' -a 'tenant' -d 'Create tenant'
|
|
1068
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from create' -a 'authorization' -d 'Create authorization'
|
|
1069
|
-
complete -c c8 -n '__fish_seen_subcommand_from create' -a 'authorization' -d 'Create authorization'
|
|
1070
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from create' -a 'auth' -d 'Create authorization'
|
|
1071
|
-
complete -c c8 -n '__fish_seen_subcommand_from create' -a 'auth' -d 'Create authorization'
|
|
1072
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from create' -a 'mapping-rule' -d 'Create mapping rule'
|
|
1073
|
-
complete -c c8 -n '__fish_seen_subcommand_from create' -a 'mapping-rule' -d 'Create mapping rule'
|
|
1074
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from create' -a 'mr' -d 'Create mapping rule'
|
|
1075
|
-
complete -c c8 -n '__fish_seen_subcommand_from create' -a 'mr' -d 'Create mapping rule'
|
|
1076
|
-
|
|
1077
|
-
# Resources for 'cancel' command
|
|
1078
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from cancel' -a 'process-instance' -d 'Cancel process instance'
|
|
1079
|
-
complete -c c8 -n '__fish_seen_subcommand_from cancel' -a 'process-instance' -d 'Cancel process instance'
|
|
1080
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from cancel' -a 'pi' -d 'Cancel process instance'
|
|
1081
|
-
complete -c c8 -n '__fish_seen_subcommand_from cancel' -a 'pi' -d 'Cancel process instance'
|
|
1082
|
-
|
|
1083
|
-
# Resources for 'await' command
|
|
1084
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from await' -a 'process-instance' -d 'Await process instance completion'
|
|
1085
|
-
complete -c c8 -n '__fish_seen_subcommand_from await' -a 'process-instance' -d 'Await process instance completion'
|
|
1086
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from await' -a 'pi' -d 'Await process instance completion'
|
|
1087
|
-
complete -c c8 -n '__fish_seen_subcommand_from await' -a 'pi' -d 'Await process instance completion'
|
|
1088
|
-
|
|
1089
|
-
# Resources for 'complete' command
|
|
1090
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from complete' -a 'user-task' -d 'Complete user task'
|
|
1091
|
-
complete -c c8 -n '__fish_seen_subcommand_from complete' -a 'user-task' -d 'Complete user task'
|
|
1092
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from complete' -a 'ut' -d 'Complete user task'
|
|
1093
|
-
complete -c c8 -n '__fish_seen_subcommand_from complete' -a 'ut' -d 'Complete user task'
|
|
1094
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from complete' -a 'job' -d 'Complete job'
|
|
1095
|
-
complete -c c8 -n '__fish_seen_subcommand_from complete' -a 'job' -d 'Complete job'
|
|
1096
|
-
|
|
1097
|
-
# Resources for 'fail' command
|
|
1098
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from fail' -a 'job' -d 'Fail job'
|
|
1099
|
-
complete -c c8 -n '__fish_seen_subcommand_from fail' -a 'job' -d 'Fail job'
|
|
1100
|
-
|
|
1101
|
-
# Resources for 'activate' command
|
|
1102
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from activate' -a 'jobs' -d 'Activate jobs'
|
|
1103
|
-
complete -c c8 -n '__fish_seen_subcommand_from activate' -a 'jobs' -d 'Activate jobs'
|
|
1104
|
-
|
|
1105
|
-
# Resources for 'resolve' command
|
|
1106
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from resolve' -a 'incident' -d 'Resolve incident'
|
|
1107
|
-
complete -c c8 -n '__fish_seen_subcommand_from resolve' -a 'incident' -d 'Resolve incident'
|
|
1108
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from resolve' -a 'inc' -d 'Resolve incident'
|
|
1109
|
-
complete -c c8 -n '__fish_seen_subcommand_from resolve' -a 'inc' -d 'Resolve incident'
|
|
1110
|
-
|
|
1111
|
-
# Resources for 'publish' command
|
|
1112
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from publish' -a 'message' -d 'Publish message'
|
|
1113
|
-
complete -c c8 -n '__fish_seen_subcommand_from publish' -a 'message' -d 'Publish message'
|
|
1114
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from publish' -a 'msg' -d 'Publish message'
|
|
1115
|
-
complete -c c8 -n '__fish_seen_subcommand_from publish' -a 'msg' -d 'Publish message'
|
|
1116
|
-
|
|
1117
|
-
# Resources for 'correlate' command
|
|
1118
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from correlate' -a 'message' -d 'Correlate message'
|
|
1119
|
-
complete -c c8 -n '__fish_seen_subcommand_from correlate' -a 'message' -d 'Correlate message'
|
|
1120
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from correlate' -a 'msg' -d 'Correlate message'
|
|
1121
|
-
complete -c c8 -n '__fish_seen_subcommand_from correlate' -a 'msg' -d 'Correlate message'
|
|
1122
|
-
|
|
1123
|
-
# Resources for 'delete' command
|
|
1124
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from delete' -a 'user' -d 'Delete user'
|
|
1125
|
-
complete -c c8 -n '__fish_seen_subcommand_from delete' -a 'user' -d 'Delete user'
|
|
1126
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from delete' -a 'role' -d 'Delete role'
|
|
1127
|
-
complete -c c8 -n '__fish_seen_subcommand_from delete' -a 'role' -d 'Delete role'
|
|
1128
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from delete' -a 'group' -d 'Delete group'
|
|
1129
|
-
complete -c c8 -n '__fish_seen_subcommand_from delete' -a 'group' -d 'Delete group'
|
|
1130
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from delete' -a 'tenant' -d 'Delete tenant'
|
|
1131
|
-
complete -c c8 -n '__fish_seen_subcommand_from delete' -a 'tenant' -d 'Delete tenant'
|
|
1132
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from delete' -a 'authorization' -d 'Delete authorization'
|
|
1133
|
-
complete -c c8 -n '__fish_seen_subcommand_from delete' -a 'authorization' -d 'Delete authorization'
|
|
1134
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from delete' -a 'auth' -d 'Delete authorization'
|
|
1135
|
-
complete -c c8 -n '__fish_seen_subcommand_from delete' -a 'auth' -d 'Delete authorization'
|
|
1136
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from delete' -a 'mapping-rule' -d 'Delete mapping rule'
|
|
1137
|
-
complete -c c8 -n '__fish_seen_subcommand_from delete' -a 'mapping-rule' -d 'Delete mapping rule'
|
|
1138
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from delete' -a 'mr' -d 'Delete mapping rule'
|
|
1139
|
-
complete -c c8 -n '__fish_seen_subcommand_from delete' -a 'mr' -d 'Delete mapping rule'
|
|
1140
|
-
|
|
1141
|
-
# Resources for 'assign' command
|
|
1142
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from assign' -a 'role' -d 'Assign role'
|
|
1143
|
-
complete -c c8 -n '__fish_seen_subcommand_from assign' -a 'role' -d 'Assign role'
|
|
1144
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from assign' -a 'user' -d 'Assign user'
|
|
1145
|
-
complete -c c8 -n '__fish_seen_subcommand_from assign' -a 'user' -d 'Assign user'
|
|
1146
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from assign' -a 'group' -d 'Assign group'
|
|
1147
|
-
complete -c c8 -n '__fish_seen_subcommand_from assign' -a 'group' -d 'Assign group'
|
|
1148
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from assign' -a 'mapping-rule' -d 'Assign mapping rule'
|
|
1149
|
-
complete -c c8 -n '__fish_seen_subcommand_from assign' -a 'mapping-rule' -d 'Assign mapping rule'
|
|
1150
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from assign' -a 'mr' -d 'Assign mapping rule'
|
|
1151
|
-
complete -c c8 -n '__fish_seen_subcommand_from assign' -a 'mr' -d 'Assign mapping rule'
|
|
1152
|
-
|
|
1153
|
-
# Resources for 'unassign' command
|
|
1154
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from unassign' -a 'role' -d 'Unassign role'
|
|
1155
|
-
complete -c c8 -n '__fish_seen_subcommand_from unassign' -a 'role' -d 'Unassign role'
|
|
1156
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from unassign' -a 'user' -d 'Unassign user'
|
|
1157
|
-
complete -c c8 -n '__fish_seen_subcommand_from unassign' -a 'user' -d 'Unassign user'
|
|
1158
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from unassign' -a 'group' -d 'Unassign group'
|
|
1159
|
-
complete -c c8 -n '__fish_seen_subcommand_from unassign' -a 'group' -d 'Unassign group'
|
|
1160
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from unassign' -a 'mapping-rule' -d 'Unassign mapping rule'
|
|
1161
|
-
complete -c c8 -n '__fish_seen_subcommand_from unassign' -a 'mapping-rule' -d 'Unassign mapping rule'
|
|
1162
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from unassign' -a 'mr' -d 'Unassign mapping rule'
|
|
1163
|
-
complete -c c8 -n '__fish_seen_subcommand_from unassign' -a 'mr' -d 'Unassign mapping rule'
|
|
1164
|
-
|
|
1165
|
-
# Resources for 'add' command
|
|
1166
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from add' -a 'profile' -d 'Add profile'
|
|
1167
|
-
complete -c c8 -n '__fish_seen_subcommand_from add' -a 'profile' -d 'Add profile'
|
|
1168
|
-
|
|
1169
|
-
# Resources for 'remove' and 'rm' commands
|
|
1170
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from remove' -a 'profile' -d 'Remove profile'
|
|
1171
|
-
complete -c c8 -n '__fish_seen_subcommand_from remove' -a 'profile' -d 'Remove profile'
|
|
1172
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from rm' -a 'profile' -d 'Remove profile'
|
|
1173
|
-
complete -c c8 -n '__fish_seen_subcommand_from rm' -a 'profile' -d 'Remove profile'
|
|
1174
|
-
|
|
1175
|
-
# Resources for 'load' command
|
|
1176
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from load' -a 'plugin' -d 'Load plugin'
|
|
1177
|
-
complete -c c8 -n '__fish_seen_subcommand_from load' -a 'plugin' -d 'Load plugin'
|
|
1178
|
-
|
|
1179
|
-
# Resources for 'unload' command
|
|
1180
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from unload' -a 'plugin' -d 'Unload plugin'
|
|
1181
|
-
complete -c c8 -n '__fish_seen_subcommand_from unload' -a 'plugin' -d 'Unload plugin'
|
|
1182
|
-
|
|
1183
|
-
# Resources for 'sync' command
|
|
1184
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from sync' -a 'plugin' -d 'Synchronize plugin'
|
|
1185
|
-
complete -c c8 -n '__fish_seen_subcommand_from sync' -a 'plugin' -d 'Synchronize plugin'
|
|
1186
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from sync' -a 'plugins' -d 'Synchronize plugins'
|
|
1187
|
-
complete -c c8 -n '__fish_seen_subcommand_from sync' -a 'plugins' -d 'Synchronize plugins'
|
|
1188
|
-
|
|
1189
|
-
# Resources for 'upgrade' command
|
|
1190
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from upgrade' -a 'plugin' -d 'Upgrade plugin'
|
|
1191
|
-
complete -c c8 -n '__fish_seen_subcommand_from upgrade' -a 'plugin' -d 'Upgrade plugin'
|
|
1192
|
-
|
|
1193
|
-
# Resources for 'downgrade' command
|
|
1194
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from downgrade' -a 'plugin' -d 'Downgrade plugin'
|
|
1195
|
-
complete -c c8 -n '__fish_seen_subcommand_from downgrade' -a 'plugin' -d 'Downgrade plugin'
|
|
1196
|
-
|
|
1197
|
-
# Resources for 'init' command
|
|
1198
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from init' -a 'plugin' -d 'Create new plugin from template'
|
|
1199
|
-
complete -c c8 -n '__fish_seen_subcommand_from init' -a 'plugin' -d 'Create new plugin from template'
|
|
1200
|
-
|
|
1201
|
-
# Resources for 'use' command
|
|
1202
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from use' -a 'profile' -d 'Set active profile'
|
|
1203
|
-
complete -c c8 -n '__fish_seen_subcommand_from use' -a 'profile' -d 'Set active profile'
|
|
1204
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from use' -a 'tenant' -d 'Set active tenant'
|
|
1205
|
-
complete -c c8 -n '__fish_seen_subcommand_from use' -a 'tenant' -d 'Set active tenant'
|
|
1206
|
-
|
|
1207
|
-
# Resources for 'which' command
|
|
1208
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from which' -a 'profile' -d 'Show active profile'
|
|
1209
|
-
complete -c c8 -n '__fish_seen_subcommand_from which' -a 'profile' -d 'Show active profile'
|
|
1210
|
-
|
|
1211
|
-
# Resources for 'output' command
|
|
1212
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from output' -a 'json' -d 'JSON output'
|
|
1213
|
-
complete -c c8 -n '__fish_seen_subcommand_from output' -a 'json' -d 'JSON output'
|
|
1214
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from output' -a 'text' -d 'Text output'
|
|
1215
|
-
complete -c c8 -n '__fish_seen_subcommand_from output' -a 'text' -d 'Text output'
|
|
1216
|
-
|
|
1217
|
-
# Resources for 'completion' command
|
|
1218
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from completion' -a 'bash' -d 'Generate bash completion'
|
|
1219
|
-
complete -c c8 -n '__fish_seen_subcommand_from completion' -a 'bash' -d 'Generate bash completion'
|
|
1220
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from completion' -a 'zsh' -d 'Generate zsh completion'
|
|
1221
|
-
complete -c c8 -n '__fish_seen_subcommand_from completion' -a 'zsh' -d 'Generate zsh completion'
|
|
1222
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from completion' -a 'fish' -d 'Generate fish completion'
|
|
1223
|
-
complete -c c8 -n '__fish_seen_subcommand_from completion' -a 'fish' -d 'Generate fish completion'
|
|
1224
|
-
|
|
1225
|
-
# Resources for 'help' command
|
|
1226
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from help' -a 'list' -d 'Show list command help'
|
|
1227
|
-
complete -c c8 -n '__fish_seen_subcommand_from help' -a 'list' -d 'Show list command help'
|
|
1228
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from help' -a 'get' -d 'Show get command help'
|
|
1229
|
-
complete -c c8 -n '__fish_seen_subcommand_from help' -a 'get' -d 'Show get command help'
|
|
1230
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from help' -a 'create' -d 'Show create command help'
|
|
1231
|
-
complete -c c8 -n '__fish_seen_subcommand_from help' -a 'create' -d 'Show create command help'
|
|
1232
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from help' -a 'complete' -d 'Show complete command help'
|
|
1233
|
-
complete -c c8 -n '__fish_seen_subcommand_from help' -a 'complete' -d 'Show complete command help'
|
|
1234
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from help' -a 'await' -d 'Show await command help'
|
|
1235
|
-
complete -c c8 -n '__fish_seen_subcommand_from help' -a 'await' -d 'Show await command help'
|
|
1236
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from help' -a 'search' -d 'Show search command help'
|
|
1237
|
-
complete -c c8 -n '__fish_seen_subcommand_from help' -a 'search' -d 'Show search command help'
|
|
1238
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from help' -a 'deploy' -d 'Show deploy command help'
|
|
1239
|
-
complete -c c8 -n '__fish_seen_subcommand_from help' -a 'deploy' -d 'Show deploy command help'
|
|
1240
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from help' -a 'run' -d 'Show run command help'
|
|
1241
|
-
complete -c c8 -n '__fish_seen_subcommand_from help' -a 'run' -d 'Show run command help'
|
|
1242
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from help' -a 'watch' -d 'Show watch command help'
|
|
1243
|
-
complete -c c8 -n '__fish_seen_subcommand_from help' -a 'watch' -d 'Show watch command help'
|
|
1244
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from help' -a 'open' -d 'Show open command help'
|
|
1245
|
-
complete -c c8 -n '__fish_seen_subcommand_from help' -a 'open' -d 'Show open command help'
|
|
1246
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from help' -a 'cancel' -d 'Show cancel command help'
|
|
1247
|
-
complete -c c8 -n '__fish_seen_subcommand_from help' -a 'cancel' -d 'Show cancel command help'
|
|
1248
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from help' -a 'resolve' -d 'Show resolve command help'
|
|
1249
|
-
complete -c c8 -n '__fish_seen_subcommand_from help' -a 'resolve' -d 'Show resolve command help'
|
|
1250
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from help' -a 'fail' -d 'Show fail command help'
|
|
1251
|
-
complete -c c8 -n '__fish_seen_subcommand_from help' -a 'fail' -d 'Show fail command help'
|
|
1252
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from help' -a 'activate' -d 'Show activate command help'
|
|
1253
|
-
complete -c c8 -n '__fish_seen_subcommand_from help' -a 'activate' -d 'Show activate command help'
|
|
1254
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from help' -a 'publish' -d 'Show publish command help'
|
|
1255
|
-
complete -c c8 -n '__fish_seen_subcommand_from help' -a 'publish' -d 'Show publish command help'
|
|
1256
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from help' -a 'correlate' -d 'Show correlate command help'
|
|
1257
|
-
complete -c c8 -n '__fish_seen_subcommand_from help' -a 'correlate' -d 'Show correlate command help'
|
|
1258
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from help' -a 'delete' -d 'Show delete command help'
|
|
1259
|
-
complete -c c8 -n '__fish_seen_subcommand_from help' -a 'delete' -d 'Show delete command help'
|
|
1260
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from help' -a 'assign' -d 'Show assign command help'
|
|
1261
|
-
complete -c c8 -n '__fish_seen_subcommand_from help' -a 'assign' -d 'Show assign command help'
|
|
1262
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from help' -a 'unassign' -d 'Show unassign command help'
|
|
1263
|
-
complete -c c8 -n '__fish_seen_subcommand_from help' -a 'unassign' -d 'Show unassign command help'
|
|
1264
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from help' -a 'upgrade' -d 'Show upgrade command help'
|
|
1265
|
-
complete -c c8 -n '__fish_seen_subcommand_from help' -a 'upgrade' -d 'Show upgrade command help'
|
|
1266
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from help' -a 'downgrade' -d 'Show downgrade command help'
|
|
1267
|
-
complete -c c8 -n '__fish_seen_subcommand_from help' -a 'downgrade' -d 'Show downgrade command help'
|
|
1268
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from help' -a 'init' -d 'Show init command help'
|
|
1269
|
-
complete -c c8 -n '__fish_seen_subcommand_from help' -a 'init' -d 'Show init command help'
|
|
1270
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from help' -a 'profiles' -d 'Show profile management help'
|
|
1271
|
-
complete -c c8 -n '__fish_seen_subcommand_from help' -a 'profiles' -d 'Show profile management help'
|
|
1272
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from help' -a 'profile' -d 'Alias for profile management help'
|
|
1273
|
-
complete -c c8 -n '__fish_seen_subcommand_from help' -a 'profile' -d 'Alias for profile management help'
|
|
1274
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from help' -a 'plugin' -d 'Show plugin management help'
|
|
1275
|
-
complete -c c8 -n '__fish_seen_subcommand_from help' -a 'plugin' -d 'Show plugin management help'
|
|
1276
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from help' -a 'plugins' -d 'Alias for plugin management help'
|
|
1277
|
-
complete -c c8 -n '__fish_seen_subcommand_from help' -a 'plugins' -d 'Alias for plugin management help'
|
|
1278
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from help' -a 'cluster' -d 'No detailed help; use c8ctl help for general usage'
|
|
1279
|
-
complete -c c8 -n '__fish_seen_subcommand_from help' -a 'cluster' -d 'No detailed help; use c8ctl help for general usage'
|
|
1280
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from help' -a 'feedback' -d 'Show feedback command help'
|
|
1281
|
-
complete -c c8 -n '__fish_seen_subcommand_from help' -a 'feedback' -d 'Show feedback command help'
|
|
1282
|
-
|
|
1283
|
-
# Resources for 'cluster' command
|
|
1284
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from cluster' -a 'start' -d 'Start local Camunda 8 cluster'
|
|
1285
|
-
complete -c c8 -n '__fish_seen_subcommand_from cluster' -a 'start' -d 'Start local Camunda 8 cluster'
|
|
1286
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from cluster' -a 'stop' -d 'Stop local Camunda 8 cluster'
|
|
1287
|
-
complete -c c8 -n '__fish_seen_subcommand_from cluster' -a 'stop' -d 'Stop local Camunda 8 cluster'
|
|
1288
|
-
|
|
1289
|
-
# Resources for 'open' command
|
|
1290
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from open' -a 'operate' -d 'Open Camunda Operate'
|
|
1291
|
-
complete -c c8 -n '__fish_seen_subcommand_from open' -a 'operate' -d 'Open Camunda Operate'
|
|
1292
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from open' -a 'tasklist' -d 'Open Camunda Tasklist'
|
|
1293
|
-
complete -c c8 -n '__fish_seen_subcommand_from open' -a 'tasklist' -d 'Open Camunda Tasklist'
|
|
1294
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from open' -a 'modeler' -d 'Open Camunda Web Modeler'
|
|
1295
|
-
complete -c c8 -n '__fish_seen_subcommand_from open' -a 'modeler' -d 'Open Camunda Web Modeler'
|
|
1296
|
-
complete -c c8ctl -n '__fish_seen_subcommand_from open' -a 'optimize' -d 'Open Camunda Optimize'
|
|
1297
|
-
complete -c c8 -n '__fish_seen_subcommand_from open' -a 'optimize' -d 'Open Camunda Optimize'
|
|
1298
|
-
`;
|
|
339
|
+
const pluginCmds = getPluginCommandsInfo();
|
|
340
|
+
const verbInfos = deriveVerbInfos(pluginCmds);
|
|
341
|
+
const allFlags = deriveAllFlags();
|
|
342
|
+
const helpResources = deriveHelpResources();
|
|
343
|
+
const lines = [
|
|
344
|
+
"# c8ctl fish completion",
|
|
345
|
+
"",
|
|
346
|
+
"# Remove all existing completions for c8ctl and c8",
|
|
347
|
+
"complete -c c8ctl -e",
|
|
348
|
+
"complete -c c8 -e",
|
|
349
|
+
"",
|
|
350
|
+
];
|
|
351
|
+
// Global flags
|
|
352
|
+
lines.push("# Global flags");
|
|
353
|
+
for (const f of allFlags) {
|
|
354
|
+
const desc = escFish(f.description);
|
|
355
|
+
const req = f.type === "string" ? " -r" : "";
|
|
356
|
+
if (f.short) {
|
|
357
|
+
lines.push(`complete -c c8ctl -s ${f.short} -l ${f.name} -d '${desc}'${req}`);
|
|
358
|
+
lines.push(`complete -c c8 -s ${f.short} -l ${f.name} -d '${desc}'${req}`);
|
|
359
|
+
}
|
|
360
|
+
else {
|
|
361
|
+
lines.push(`complete -c c8ctl -l ${f.name} -d '${desc}'${req}`);
|
|
362
|
+
lines.push(`complete -c c8 -l ${f.name} -d '${desc}'${req}`);
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
lines.push("");
|
|
366
|
+
// Verb completions
|
|
367
|
+
lines.push("# Commands (verbs) - only suggest when no command is given yet");
|
|
368
|
+
for (const v of verbInfos) {
|
|
369
|
+
const desc = escFish(v.description);
|
|
370
|
+
lines.push(`complete -c c8ctl -n '__fish_use_subcommand' -a '${v.verb}' -d '${desc}'`);
|
|
371
|
+
lines.push(`complete -c c8 -n '__fish_use_subcommand' -a '${v.verb}' -d '${desc}'`);
|
|
372
|
+
for (const a of v.aliases) {
|
|
373
|
+
lines.push(`complete -c c8ctl -n '__fish_use_subcommand' -a '${a}' -d '${desc}'`);
|
|
374
|
+
lines.push(`complete -c c8 -n '__fish_use_subcommand' -a '${a}' -d '${desc}'`);
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
lines.push("");
|
|
378
|
+
// Per-verb resource completions
|
|
379
|
+
for (const v of verbInfos) {
|
|
380
|
+
if (v.verb === "help") {
|
|
381
|
+
lines.push(`# Resources for 'help' command`);
|
|
382
|
+
for (const r of helpResources) {
|
|
383
|
+
const desc = escFish(r.description);
|
|
384
|
+
lines.push(`complete -c c8ctl -n '__fish_seen_subcommand_from help' -a '${r.name}' -d '${desc}'`);
|
|
385
|
+
lines.push(`complete -c c8 -n '__fish_seen_subcommand_from help' -a '${r.name}' -d '${desc}'`);
|
|
386
|
+
}
|
|
387
|
+
lines.push("");
|
|
388
|
+
continue;
|
|
389
|
+
}
|
|
390
|
+
if (v.fileComplete || v.resources.length === 0)
|
|
391
|
+
continue;
|
|
392
|
+
const seenFrom = [v.verb, ...v.aliases].join(" ");
|
|
393
|
+
lines.push(`# Resources for '${v.verb}' command`);
|
|
394
|
+
for (const r of v.resources) {
|
|
395
|
+
const desc = escFish(`${capitalize(v.verb)} ${resourceDisplayName(r)}`);
|
|
396
|
+
lines.push(`complete -c c8ctl -n '__fish_seen_subcommand_from ${seenFrom}' -a '${r}' -d '${desc}'`);
|
|
397
|
+
lines.push(`complete -c c8 -n '__fish_seen_subcommand_from ${seenFrom}' -a '${r}' -d '${desc}'`);
|
|
398
|
+
}
|
|
399
|
+
lines.push("");
|
|
400
|
+
}
|
|
401
|
+
lines.unshift(`# c8ctl-completion-version: ${c8ctl.version}`);
|
|
402
|
+
return `${lines.join("\n")}\n`;
|
|
403
|
+
}
|
|
404
|
+
// ─── Helpers ─────────────────────────────────────────────────────────────────
|
|
405
|
+
function capitalize(s) {
|
|
406
|
+
return s.charAt(0).toUpperCase() + s.slice(1);
|
|
407
|
+
}
|
|
408
|
+
/** Human-readable name from resource alias. */
|
|
409
|
+
function resourceDisplayName(resource) {
|
|
410
|
+
const canonical = RESOURCE_ALIASES[resource] ?? resource;
|
|
411
|
+
return canonical.replace(/-/g, " ") + (resource !== canonical ? "s" : "");
|
|
412
|
+
}
|
|
413
|
+
function escZsh(s) {
|
|
414
|
+
return s.replace(/'/g, "'\\''");
|
|
415
|
+
}
|
|
416
|
+
function escFish(s) {
|
|
417
|
+
return s.replace(/\\/g, "\\\\").replace(/'/g, "\\'");
|
|
1299
418
|
}
|
|
419
|
+
// ─── Public API ──────────────────────────────────────────────────────────────
|
|
1300
420
|
/**
|
|
1301
421
|
* Show completion command
|
|
1302
422
|
*/
|
|
@@ -1324,4 +444,251 @@ export function showCompletion(shell) {
|
|
|
1324
444
|
process.exit(1);
|
|
1325
445
|
}
|
|
1326
446
|
}
|
|
447
|
+
// ─── Completion install ──────────────────────────────────────────────────────
|
|
448
|
+
/** Version header prefix used to tag generated completion files. */
|
|
449
|
+
const VERSION_HEADER_PREFIX = "# c8ctl-completion-version: ";
|
|
450
|
+
/** Completions subdirectory under the user data dir. */
|
|
451
|
+
const COMPLETIONS_DIR = "completions";
|
|
452
|
+
/** Shell file extensions. */
|
|
453
|
+
const SHELL_EXTENSIONS = {
|
|
454
|
+
bash: "bash",
|
|
455
|
+
zsh: "zsh",
|
|
456
|
+
fish: "fish",
|
|
457
|
+
};
|
|
458
|
+
/** Detect the user's shell from $SHELL. Returns lowercase shell name or undefined. */
|
|
459
|
+
export function detectShell() {
|
|
460
|
+
const shellPath = process.env.SHELL;
|
|
461
|
+
if (!shellPath)
|
|
462
|
+
return undefined;
|
|
463
|
+
const base = shellPath.split("/").pop();
|
|
464
|
+
if (!base)
|
|
465
|
+
return undefined;
|
|
466
|
+
const name = base.toLowerCase();
|
|
467
|
+
if (name === "bash" || name === "zsh" || name === "fish")
|
|
468
|
+
return name;
|
|
469
|
+
return undefined;
|
|
470
|
+
}
|
|
471
|
+
/** Get the appropriate RC file path for a given shell. */
|
|
472
|
+
export function getShellRcFile(shell) {
|
|
473
|
+
const home = homedir();
|
|
474
|
+
switch (shell) {
|
|
475
|
+
case "bash":
|
|
476
|
+
// macOS uses .bash_profile by default; Linux uses .bashrc
|
|
477
|
+
return platform() === "darwin"
|
|
478
|
+
? join(home, ".bash_profile")
|
|
479
|
+
: join(home, ".bashrc");
|
|
480
|
+
case "zsh":
|
|
481
|
+
return join(home, ".zshrc");
|
|
482
|
+
case "fish":
|
|
483
|
+
// fish auto-loads from completions dir — no rc edit needed
|
|
484
|
+
return undefined;
|
|
485
|
+
default:
|
|
486
|
+
return undefined;
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
/** Get the path where the completion file will be written. */
|
|
490
|
+
export function getCompletionFilePath(shell) {
|
|
491
|
+
const ext = SHELL_EXTENSIONS[shell] ?? shell;
|
|
492
|
+
return join(getUserDataDir(), COMPLETIONS_DIR, `c8ctl.${ext}`);
|
|
493
|
+
}
|
|
494
|
+
/** Get the fish completions dir (fish auto-loads from here). Respects XDG_CONFIG_HOME. */
|
|
495
|
+
function getFishCompletionsDir() {
|
|
496
|
+
const configHome = process.env.XDG_CONFIG_HOME || join(homedir(), ".config");
|
|
497
|
+
return join(configHome, "fish", "completions");
|
|
498
|
+
}
|
|
499
|
+
/** Generate the source line that goes into the shell RC file.
|
|
500
|
+
* Uses single quotes to prevent shell expansion of the path. */
|
|
501
|
+
function buildSourceLine(completionFilePath) {
|
|
502
|
+
// Reject control characters (newlines, null, etc.) that could inject
|
|
503
|
+
// additional commands into the shell RC file.
|
|
504
|
+
for (const ch of completionFilePath) {
|
|
505
|
+
const code = ch.charCodeAt(0);
|
|
506
|
+
if (code <= 0x1f || code === 0x7f) {
|
|
507
|
+
throw new Error("Completion file path contains control characters.");
|
|
508
|
+
}
|
|
509
|
+
}
|
|
510
|
+
const escaped = completionFilePath.replaceAll("'", "'\\''");
|
|
511
|
+
return `source '${escaped}'`;
|
|
512
|
+
}
|
|
513
|
+
/** Generate the comment+source block for the RC file. */
|
|
514
|
+
function buildRcBlock(completionFilePath) {
|
|
515
|
+
return `\n# c8ctl shell completion\n${buildSourceLine(completionFilePath)}\n`;
|
|
516
|
+
}
|
|
517
|
+
/** Check if the RC file already contains the source line.
|
|
518
|
+
* Checks for both the current single-quoted source line and the legacy
|
|
519
|
+
* double-quoted form, so upgrades are detected without false-positiving
|
|
520
|
+
* on the raw path appearing in unrelated lines. */
|
|
521
|
+
function rcAlreadyConfigured(rcFile, completionFilePath) {
|
|
522
|
+
if (!existsSync(rcFile))
|
|
523
|
+
return false;
|
|
524
|
+
try {
|
|
525
|
+
const content = readFileSync(rcFile, "utf-8");
|
|
526
|
+
// Check for current single-quoted source line
|
|
527
|
+
if (content.includes(buildSourceLine(completionFilePath)))
|
|
528
|
+
return true;
|
|
529
|
+
// Check for legacy double-quoted source line
|
|
530
|
+
const escaped = completionFilePath.replaceAll('"', '\\"');
|
|
531
|
+
if (content.includes(`source "${escaped}"`))
|
|
532
|
+
return true;
|
|
533
|
+
return false;
|
|
534
|
+
}
|
|
535
|
+
catch {
|
|
536
|
+
return false;
|
|
537
|
+
}
|
|
538
|
+
}
|
|
539
|
+
/** Generate the completion script content for a given shell. */
|
|
540
|
+
function generateForShell(shell) {
|
|
541
|
+
switch (shell) {
|
|
542
|
+
case "bash":
|
|
543
|
+
return generateBashCompletion();
|
|
544
|
+
case "zsh":
|
|
545
|
+
return generateZshCompletion();
|
|
546
|
+
case "fish":
|
|
547
|
+
return generateFishCompletion();
|
|
548
|
+
default:
|
|
549
|
+
throw new Error(`Unknown shell: ${shell}`);
|
|
550
|
+
}
|
|
551
|
+
}
|
|
552
|
+
/** Extract the version from a completion file's header lines.
|
|
553
|
+
* Scans the first few lines so the header can appear after
|
|
554
|
+
* shell-required directives like zsh's #compdef. */
|
|
555
|
+
export function extractCompletionVersion(filePath) {
|
|
556
|
+
if (!existsSync(filePath))
|
|
557
|
+
return undefined;
|
|
558
|
+
try {
|
|
559
|
+
const content = readFileSync(filePath, "utf-8");
|
|
560
|
+
const lines = content.split("\n").slice(0, 5);
|
|
561
|
+
for (const line of lines) {
|
|
562
|
+
if (line.startsWith(VERSION_HEADER_PREFIX)) {
|
|
563
|
+
return line.slice(VERSION_HEADER_PREFIX.length).trim();
|
|
564
|
+
}
|
|
565
|
+
}
|
|
566
|
+
return undefined;
|
|
567
|
+
}
|
|
568
|
+
catch {
|
|
569
|
+
return undefined;
|
|
570
|
+
}
|
|
571
|
+
}
|
|
572
|
+
/**
|
|
573
|
+
* Install shell completions: write script to data dir, wire into RC file.
|
|
574
|
+
*
|
|
575
|
+
* Supports --dry-run via the c8ctl runtime flag.
|
|
576
|
+
*/
|
|
577
|
+
export function installCompletion(shellOverride) {
|
|
578
|
+
const logger = getLogger();
|
|
579
|
+
const shell = shellOverride?.toLowerCase() ?? detectShell();
|
|
580
|
+
if (!shell) {
|
|
581
|
+
logger.error("Could not detect shell. Specify with: c8ctl completion install --shell <bash|zsh|fish>");
|
|
582
|
+
process.exit(1);
|
|
583
|
+
}
|
|
584
|
+
if (!["bash", "zsh", "fish"].includes(shell)) {
|
|
585
|
+
logger.error(`Unsupported shell: ${shell}`);
|
|
586
|
+
logger.info("Supported shells: bash, zsh, fish");
|
|
587
|
+
process.exit(1);
|
|
588
|
+
}
|
|
589
|
+
const completionFile = getCompletionFilePath(shell);
|
|
590
|
+
const rcFile = getShellRcFile(shell);
|
|
591
|
+
const rcConfigured = rcFile
|
|
592
|
+
? rcAlreadyConfigured(rcFile, completionFile)
|
|
593
|
+
: true;
|
|
594
|
+
// Dry-run support
|
|
595
|
+
if (c8ctl.dryRun) {
|
|
596
|
+
const result = {
|
|
597
|
+
dryRun: true,
|
|
598
|
+
detectedShell: shell,
|
|
599
|
+
completionFile,
|
|
600
|
+
};
|
|
601
|
+
if (rcFile) {
|
|
602
|
+
result.rcFile = rcFile;
|
|
603
|
+
result.sourceLine = buildSourceLine(completionFile);
|
|
604
|
+
result.rcAlreadyConfigured = rcConfigured;
|
|
605
|
+
}
|
|
606
|
+
if (shell === "fish") {
|
|
607
|
+
result.fishCompletionsDir = getFishCompletionsDir();
|
|
608
|
+
}
|
|
609
|
+
logger.json(result);
|
|
610
|
+
return;
|
|
611
|
+
}
|
|
612
|
+
// Write the completion file
|
|
613
|
+
try {
|
|
614
|
+
const completionDir = join(getUserDataDir(), COMPLETIONS_DIR);
|
|
615
|
+
mkdirSync(completionDir, { recursive: true });
|
|
616
|
+
const script = generateForShell(shell);
|
|
617
|
+
writeFileSync(completionFile, script, "utf-8");
|
|
618
|
+
logger.info(`Completion script written to ${completionFile}`);
|
|
619
|
+
// Fish: also copy to fish auto-load directory
|
|
620
|
+
if (shell === "fish") {
|
|
621
|
+
const fishDir = getFishCompletionsDir();
|
|
622
|
+
mkdirSync(fishDir, { recursive: true });
|
|
623
|
+
writeFileSync(join(fishDir, "c8ctl.fish"), script, "utf-8");
|
|
624
|
+
logger.info(`Fish completion installed to ${fishDir}/c8ctl.fish`);
|
|
625
|
+
logger.info("Completions will be loaded automatically on next shell start.");
|
|
626
|
+
return;
|
|
627
|
+
}
|
|
628
|
+
// Wire into RC file (bash/zsh)
|
|
629
|
+
if (rcFile) {
|
|
630
|
+
if (rcConfigured) {
|
|
631
|
+
logger.info(`RC file already configured: ${rcFile}`);
|
|
632
|
+
}
|
|
633
|
+
else {
|
|
634
|
+
const block = buildRcBlock(completionFile);
|
|
635
|
+
writeFileSync(rcFile, block, { encoding: "utf-8", flag: "a" });
|
|
636
|
+
logger.info(`Added source line to ${rcFile}`);
|
|
637
|
+
}
|
|
638
|
+
}
|
|
639
|
+
logger.info("Restart your shell or run:");
|
|
640
|
+
logger.info(` ${buildSourceLine(completionFile)}`);
|
|
641
|
+
}
|
|
642
|
+
catch (err) {
|
|
643
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
644
|
+
logger.error(`Failed to install completions: ${msg}`);
|
|
645
|
+
logger.info(`Target path: ${completionFile}`);
|
|
646
|
+
if (rcFile) {
|
|
647
|
+
logger.info(`Add this line manually to your shell config:\n ${buildSourceLine(completionFile)}`);
|
|
648
|
+
}
|
|
649
|
+
process.exit(1);
|
|
650
|
+
}
|
|
651
|
+
}
|
|
652
|
+
/**
|
|
653
|
+
* Refresh the installed completion file if the CLI version has changed.
|
|
654
|
+
*
|
|
655
|
+
* Called on every CLI invocation — no-op if completions are not installed
|
|
656
|
+
* or if the embedded version matches the running CLI version.
|
|
657
|
+
* Synchronous write (~1ms for a few KB).
|
|
658
|
+
*/
|
|
659
|
+
export function refreshCompletionsIfStale() {
|
|
660
|
+
// Skip in dry-run mode — refresh is a side effect
|
|
661
|
+
if (c8ctl.dryRun)
|
|
662
|
+
return;
|
|
663
|
+
// Use the same source of truth as generateForShell() for version headers
|
|
664
|
+
const currentVersion = c8ctl.version;
|
|
665
|
+
// Check each shell — user may have installed for multiple shells
|
|
666
|
+
for (const shell of ["bash", "zsh", "fish"]) {
|
|
667
|
+
const filePath = getCompletionFilePath(shell);
|
|
668
|
+
const installed = extractCompletionVersion(filePath);
|
|
669
|
+
if (installed === undefined) {
|
|
670
|
+
// No version header — treat existing file as stale, regenerate
|
|
671
|
+
if (!existsSync(filePath))
|
|
672
|
+
continue; // not installed for this shell
|
|
673
|
+
}
|
|
674
|
+
else if (installed === currentVersion) {
|
|
675
|
+
continue; // up to date
|
|
676
|
+
}
|
|
677
|
+
// Stale — regenerate
|
|
678
|
+
try {
|
|
679
|
+
const script = generateForShell(shell);
|
|
680
|
+
writeFileSync(filePath, script, "utf-8");
|
|
681
|
+
// Fish: also update the auto-load copy
|
|
682
|
+
if (shell === "fish") {
|
|
683
|
+
const fishTarget = join(getFishCompletionsDir(), "c8ctl.fish");
|
|
684
|
+
if (existsSync(fishTarget)) {
|
|
685
|
+
writeFileSync(fishTarget, script, "utf-8");
|
|
686
|
+
}
|
|
687
|
+
}
|
|
688
|
+
}
|
|
689
|
+
catch {
|
|
690
|
+
// Best-effort — don't crash if the write fails
|
|
691
|
+
}
|
|
692
|
+
}
|
|
693
|
+
}
|
|
1327
694
|
//# sourceMappingURL=completion.js.map
|