@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.
Files changed (144) hide show
  1. package/README.md +80 -1
  2. package/dist/command-dispatch.d.ts +16 -0
  3. package/dist/command-dispatch.d.ts.map +1 -0
  4. package/dist/command-dispatch.js +129 -0
  5. package/dist/command-dispatch.js.map +1 -0
  6. package/dist/command-framework.d.ts +248 -0
  7. package/dist/command-framework.d.ts.map +1 -0
  8. package/dist/command-framework.js +229 -0
  9. package/dist/command-framework.js.map +1 -0
  10. package/dist/command-registry.d.ts +2014 -14
  11. package/dist/command-registry.d.ts.map +1 -1
  12. package/dist/command-registry.js +653 -66
  13. package/dist/command-registry.js.map +1 -1
  14. package/dist/command-validation.d.ts +30 -4
  15. package/dist/command-validation.d.ts.map +1 -1
  16. package/dist/command-validation.js +90 -4
  17. package/dist/command-validation.js.map +1 -1
  18. package/dist/commands/completion.d.ts +25 -1
  19. package/dist/commands/completion.d.ts.map +1 -1
  20. package/dist/commands/completion.js +590 -1223
  21. package/dist/commands/completion.js.map +1 -1
  22. package/dist/commands/deployments.d.ts +2 -0
  23. package/dist/commands/deployments.d.ts.map +1 -1
  24. package/dist/commands/deployments.js +13 -2
  25. package/dist/commands/deployments.js.map +1 -1
  26. package/dist/commands/forms.d.ts +2 -20
  27. package/dist/commands/forms.d.ts.map +1 -1
  28. package/dist/commands/forms.js +76 -79
  29. package/dist/commands/forms.js.map +1 -1
  30. package/dist/commands/help.d.ts +4 -88
  31. package/dist/commands/help.d.ts.map +1 -1
  32. package/dist/commands/help.js +574 -1948
  33. package/dist/commands/help.js.map +1 -1
  34. package/dist/commands/identity-authorizations.d.ts +5 -24
  35. package/dist/commands/identity-authorizations.d.ts.map +1 -1
  36. package/dist/commands/identity-authorizations.js +113 -137
  37. package/dist/commands/identity-authorizations.js.map +1 -1
  38. package/dist/commands/identity-groups.d.ts +5 -26
  39. package/dist/commands/identity-groups.d.ts.map +1 -1
  40. package/dist/commands/identity-groups.js +91 -124
  41. package/dist/commands/identity-groups.js.map +1 -1
  42. package/dist/commands/identity-mapping-rules.d.ts +5 -30
  43. package/dist/commands/identity-mapping-rules.d.ts.map +1 -1
  44. package/dist/commands/identity-mapping-rules.js +106 -136
  45. package/dist/commands/identity-mapping-rules.js.map +1 -1
  46. package/dist/commands/identity-roles.d.ts +5 -26
  47. package/dist/commands/identity-roles.d.ts.map +1 -1
  48. package/dist/commands/identity-roles.js +91 -124
  49. package/dist/commands/identity-roles.js.map +1 -1
  50. package/dist/commands/identity-tenants.d.ts +5 -26
  51. package/dist/commands/identity-tenants.d.ts.map +1 -1
  52. package/dist/commands/identity-tenants.js +92 -126
  53. package/dist/commands/identity-tenants.js.map +1 -1
  54. package/dist/commands/identity-users.d.ts +5 -29
  55. package/dist/commands/identity-users.d.ts.map +1 -1
  56. package/dist/commands/identity-users.js +95 -129
  57. package/dist/commands/identity-users.js.map +1 -1
  58. package/dist/commands/identity.d.ts +6 -6
  59. package/dist/commands/identity.d.ts.map +1 -1
  60. package/dist/commands/identity.js +6 -7
  61. package/dist/commands/identity.js.map +1 -1
  62. package/dist/commands/incidents.d.ts +3 -16
  63. package/dist/commands/incidents.d.ts.map +1 -1
  64. package/dist/commands/incidents.js +71 -98
  65. package/dist/commands/incidents.js.map +1 -1
  66. package/dist/commands/jobs.d.ts +4 -26
  67. package/dist/commands/jobs.d.ts.map +1 -1
  68. package/dist/commands/jobs.js +143 -159
  69. package/dist/commands/jobs.js.map +1 -1
  70. package/dist/commands/mcp-proxy.d.ts +1 -0
  71. package/dist/commands/mcp-proxy.d.ts.map +1 -1
  72. package/dist/commands/mcp-proxy.js +10 -2
  73. package/dist/commands/mcp-proxy.js.map +1 -1
  74. package/dist/commands/messages.d.ts +2 -12
  75. package/dist/commands/messages.d.ts.map +1 -1
  76. package/dist/commands/messages.js +87 -81
  77. package/dist/commands/messages.js.map +1 -1
  78. package/dist/commands/open.d.ts +4 -0
  79. package/dist/commands/open.d.ts.map +1 -1
  80. package/dist/commands/open.js +18 -0
  81. package/dist/commands/open.js.map +1 -1
  82. package/dist/commands/plugins.d.ts +7 -9
  83. package/dist/commands/plugins.d.ts.map +1 -1
  84. package/dist/commands/plugins.js +32 -25
  85. package/dist/commands/plugins.js.map +1 -1
  86. package/dist/commands/process-definitions.d.ts +2 -14
  87. package/dist/commands/process-definitions.d.ts.map +1 -1
  88. package/dist/commands/process-definitions.js +57 -80
  89. package/dist/commands/process-definitions.js.map +1 -1
  90. package/dist/commands/process-instances.d.ts +8 -37
  91. package/dist/commands/process-instances.d.ts.map +1 -1
  92. package/dist/commands/process-instances.js +242 -193
  93. package/dist/commands/process-instances.js.map +1 -1
  94. package/dist/commands/profiles.d.ts +4 -0
  95. package/dist/commands/profiles.d.ts.map +1 -1
  96. package/dist/commands/profiles.js +29 -0
  97. package/dist/commands/profiles.js.map +1 -1
  98. package/dist/commands/run.d.ts +2 -0
  99. package/dist/commands/run.d.ts.map +1 -1
  100. package/dist/commands/run.js +10 -0
  101. package/dist/commands/run.js.map +1 -1
  102. package/dist/commands/search.d.ts +7 -100
  103. package/dist/commands/search.d.ts.map +1 -1
  104. package/dist/commands/search.js +530 -694
  105. package/dist/commands/search.js.map +1 -1
  106. package/dist/commands/session.d.ts +3 -0
  107. package/dist/commands/session.d.ts.map +1 -1
  108. package/dist/commands/session.js +30 -0
  109. package/dist/commands/session.js.map +1 -1
  110. package/dist/commands/topology.d.ts +1 -3
  111. package/dist/commands/topology.d.ts.map +1 -1
  112. package/dist/commands/topology.js +11 -18
  113. package/dist/commands/topology.js.map +1 -1
  114. package/dist/commands/user-tasks.d.ts +2 -16
  115. package/dist/commands/user-tasks.d.ts.map +1 -1
  116. package/dist/commands/user-tasks.js +73 -101
  117. package/dist/commands/user-tasks.js.map +1 -1
  118. package/dist/commands/watch.d.ts +1 -0
  119. package/dist/commands/watch.d.ts.map +1 -1
  120. package/dist/commands/watch.js +15 -0
  121. package/dist/commands/watch.js.map +1 -1
  122. package/dist/config.d.ts.map +1 -1
  123. package/dist/config.js +5 -0
  124. package/dist/config.js.map +1 -1
  125. package/dist/default-plugins/cluster/README.md +1 -1
  126. package/dist/default-plugins/cluster/c8ctl-plugin.js +281 -59
  127. package/dist/index.d.ts +0 -4
  128. package/dist/index.d.ts.map +1 -1
  129. package/dist/index.js +102 -979
  130. package/dist/index.js.map +1 -1
  131. package/dist/logger.d.ts +5 -0
  132. package/dist/logger.d.ts.map +1 -1
  133. package/dist/logger.js +7 -1
  134. package/dist/logger.js.map +1 -1
  135. package/dist/plugin-loader.d.ts +5 -0
  136. package/dist/plugin-loader.d.ts.map +1 -1
  137. package/dist/plugin-loader.js +1 -0
  138. package/dist/plugin-loader.js.map +1 -1
  139. package/dist/update-check.d.ts +67 -0
  140. package/dist/update-check.d.ts.map +1 -0
  141. package/dist/update-check.js +284 -0
  142. package/dist/update-check.js.map +1 -0
  143. package/package.json +3 -2
  144. /package/dist/templates/{tsconfig.json → tsconfig.json.template} +0 -0
@@ -5,15 +5,48 @@
5
5
  * Consumers (help, completion, validation, dispatch) derive their
6
6
  * data from this registry instead of maintaining separate copies.
7
7
  */
8
+ import { AuthorizationKey, IncidentKey, JobKey, ProcessDefinitionId, ProcessDefinitionKey, ProcessInstanceKey, TenantId, Username, UserTaskKey } from "@camunda8/orchestration-cluster-api";
8
9
  export interface FlagDef {
10
+ /** Value type: "string" expects an argument, "boolean" is a presence flag. */
9
11
  type: "string" | "boolean";
12
+ /** One-line description shown in command-level help output. */
10
13
  description: string;
14
+ /** Single-character alias (e.g. "k" → -k). */
11
15
  short?: string;
16
+ /** When true, the flag must be supplied or the command exits with an error. */
12
17
  required?: boolean;
13
18
  /** SDK enum object for automatic validation (keys are valid values). */
14
19
  enum?: Record<string, string>;
15
20
  /** When true, flag value is comma-separated and each item is validated against enum. */
16
21
  csv?: boolean;
22
+ /**
23
+ * Transform and validate raw CLI input into a typed value.
24
+ * Called at the validation boundary before dispatch.
25
+ * Should throw on invalid input (error message is surfaced to the user).
26
+ * Each concrete validator returns its branded type (e.g. ProcessDefinitionKey),
27
+ * erased to unknown here since FlagDef holds heterogeneous validators.
28
+ */
29
+ validate?: (value: string) => any;
30
+ /** When true, this flag appears in the top-level `c8ctl help` Flags section. */
31
+ showInTopLevelHelp?: boolean;
32
+ /** Context hint shown in the top-level help (e.g. "use with 'get pd'"). */
33
+ helpHint?: string;
34
+ /** Rich description for agent-facing help (AI/programmatic consumers). Shown in Agent Flags section. */
35
+ agentDescription?: string;
36
+ /** Scope hint for agent-facing help (e.g. "all commands", "all list/search/get commands"). */
37
+ agentAppliesTo?: string;
38
+ }
39
+ /**
40
+ * Schema for a single positional argument.
41
+ *
42
+ * - `name`: used as the key in the typed args record and in error messages
43
+ * - `required`: when true, missing value exits with an error
44
+ * - `validate`: optional branded-type constructor (e.g. ProcessDefinitionKey.assumeExists)
45
+ */
46
+ export interface PositionalDef {
47
+ name: string;
48
+ required?: boolean;
49
+ validate?: (value: string) => any;
17
50
  }
18
51
  export interface CommandDef {
19
52
  description: string;
@@ -22,10 +55,42 @@ export interface CommandDef {
22
55
  requiresResource: boolean;
23
56
  /** Valid resource names (canonical short forms used in help). */
24
57
  resources: string[];
25
- /** Flags specific to this verb (beyond global flags). */
58
+ /** Flags specific to this verb (beyond global flags). Superset of all resource-specific flags. */
26
59
  flags: Record<string, FlagDef>;
60
+ /** Per-resource flag scoping. Keys are canonical resource names. */
61
+ resourceFlags?: Record<string, Record<string, FlagDef>>;
62
+ /** Per-resource positional argument schemas. Keys are canonical resource names. */
63
+ resourcePositionals?: Record<string, readonly PositionalDef[]>;
27
64
  /** Verb aliases that dispatch to this command (e.g. "rm" → remove, "w" → watch). */
28
65
  aliases?: string[];
66
+ /**
67
+ * Override the resource column in `c8ctl help` output.
68
+ * Auto-derived from resources/positionals when omitted.
69
+ */
70
+ helpResource?: string;
71
+ /**
72
+ * Override the description shown in `c8ctl help` output.
73
+ * Falls back to `description` when omitted.
74
+ */
75
+ helpDescription?: string;
76
+ /**
77
+ * When true, `c8ctl help <verb>` is listed in the footer of main help.
78
+ * Derived: true for any verb with a showCommandHelp handler.
79
+ */
80
+ hasDetailedHelp?: boolean;
81
+ /**
82
+ * Short label for the `c8ctl help <verb>` footer entry.
83
+ * Defaults to "Show <verb> command with all flags".
84
+ */
85
+ helpFooterLabel?: string;
86
+ /**
87
+ * Examples shown in the top-level `c8ctl help` Examples section.
88
+ * Each entry: { command, description }. Rendered in declaration order.
89
+ */
90
+ helpExamples?: readonly {
91
+ command: string;
92
+ description: string;
93
+ }[];
29
94
  }
30
95
  /**
31
96
  * Maps short/plural resource names to their canonical singular form.
@@ -35,18 +100,1952 @@ export declare const RESOURCE_ALIASES: Record<string, string>;
35
100
  /**
36
101
  * Flags accepted by every command (infrastructure/agent flags).
37
102
  */
38
- export declare const GLOBAL_FLAGS: Record<string, FlagDef>;
103
+ export declare const GLOBAL_FLAGS: {
104
+ readonly help: {
105
+ readonly type: "boolean";
106
+ readonly description: "Show help";
107
+ readonly short: "h";
108
+ };
109
+ readonly version: {
110
+ readonly type: "string";
111
+ readonly description: "Show CLI version, or filter by process definition version on supported commands";
112
+ readonly short: "v";
113
+ };
114
+ readonly profile: {
115
+ readonly type: "string";
116
+ readonly description: "Use a specific profile";
117
+ };
118
+ readonly "dry-run": {
119
+ readonly type: "boolean";
120
+ readonly description: "Preview the API request without executing";
121
+ readonly agentDescription: "Preview the API request that would be sent, without executing it.\nEmits JSON: { dryRun, command, method, url, body }\nAlways exits 0.";
122
+ readonly agentAppliesTo: "all commands";
123
+ };
124
+ readonly verbose: {
125
+ readonly type: "boolean";
126
+ readonly description: "Show verbose output";
127
+ };
128
+ readonly fields: {
129
+ readonly type: "string";
130
+ readonly description: "Comma-separated list of fields to display";
131
+ readonly agentDescription: "Comma-separated list of output fields to include.\nReduces context window size when parsing output.\nExample: c8ctl list pi --fields Key,State,processDefinitionId\nCase-insensitive.";
132
+ readonly agentAppliesTo: "all list/search/get commands";
133
+ };
134
+ };
39
135
  /**
40
136
  * Flags shared across all search/list commands.
41
137
  */
42
- export declare const SEARCH_FLAGS: Record<string, FlagDef>;
43
- export declare const COMMAND_REGISTRY: Record<string, CommandDef>;
44
- /**
45
- * Maps each searchable resource (canonical name) to the set of flag names
46
- * that are valid for that resource's search command. Used for unknown-flag
47
- * detection in search commands.
48
- */
49
- export declare const SEARCH_RESOURCE_FLAGS: Record<string, Set<string>>;
138
+ export declare const SEARCH_FLAGS: {
139
+ readonly sortBy: {
140
+ readonly type: "string";
141
+ readonly description: "Sort results by field";
142
+ };
143
+ readonly asc: {
144
+ readonly type: "boolean";
145
+ readonly description: "Sort ascending";
146
+ };
147
+ readonly desc: {
148
+ readonly type: "boolean";
149
+ readonly description: "Sort descending";
150
+ };
151
+ readonly limit: {
152
+ readonly type: "string";
153
+ readonly description: "Maximum number of results";
154
+ };
155
+ readonly between: {
156
+ readonly type: "string";
157
+ readonly description: "Date range filter (e.g. 7d, 30d, 2024-01-01..2024-12-31)";
158
+ };
159
+ readonly dateField: {
160
+ readonly type: "string";
161
+ readonly description: "Date field for --between filter";
162
+ };
163
+ };
164
+ export declare const GET_PD_FLAGS: {
165
+ readonly xml: {
166
+ readonly type: "boolean";
167
+ readonly description: "Get BPMN XML (process definitions)";
168
+ readonly showInTopLevelHelp: true;
169
+ readonly helpHint: "use with 'get pd'";
170
+ };
171
+ };
172
+ export declare const GET_PD_POSITIONALS: readonly [{
173
+ readonly name: "key";
174
+ readonly required: true;
175
+ readonly validate: typeof ProcessDefinitionKey.assumeExists;
176
+ }];
177
+ export declare const COMMAND_REGISTRY: {
178
+ list: {
179
+ description: string;
180
+ helpDescription: string;
181
+ hasDetailedHelp: true;
182
+ helpFooterLabel: string;
183
+ mutating: false;
184
+ requiresResource: true;
185
+ helpExamples: {
186
+ command: string;
187
+ description: string;
188
+ }[];
189
+ resources: string[];
190
+ flags: {
191
+ mappingRuleId: {
192
+ readonly type: "string";
193
+ readonly description: "Filter by mapping rule ID";
194
+ };
195
+ name: {
196
+ readonly type: "string";
197
+ readonly description: "Filter by name";
198
+ };
199
+ claimName: {
200
+ readonly type: "string";
201
+ readonly description: "Filter by claim name";
202
+ };
203
+ claimValue: {
204
+ readonly type: "string";
205
+ readonly description: "Filter by claim value";
206
+ };
207
+ ownerId: {
208
+ readonly type: "string";
209
+ readonly description: "Filter by owner ID";
210
+ };
211
+ ownerType: {
212
+ readonly type: "string";
213
+ readonly description: "Filter by owner type";
214
+ };
215
+ resourceType: {
216
+ readonly type: "string";
217
+ readonly description: "Filter by resource type";
218
+ };
219
+ resourceId: {
220
+ readonly type: "string";
221
+ readonly description: "Filter by resource ID";
222
+ };
223
+ tenantId: {
224
+ readonly type: "string";
225
+ readonly description: "Filter by tenant ID";
226
+ readonly validate: typeof TenantId.assumeExists;
227
+ };
228
+ groupId: {
229
+ readonly type: "string";
230
+ readonly description: "Filter by group ID";
231
+ };
232
+ roleId: {
233
+ readonly type: "string";
234
+ readonly description: "Filter by role ID";
235
+ };
236
+ username: {
237
+ readonly type: "string";
238
+ readonly description: "Filter by username";
239
+ readonly validate: typeof Username.assumeExists;
240
+ };
241
+ email: {
242
+ readonly type: "string";
243
+ readonly description: "Filter by email";
244
+ };
245
+ state: {
246
+ readonly type: "string";
247
+ readonly description: "Filter by state";
248
+ };
249
+ type: {
250
+ readonly type: "string";
251
+ readonly description: "Filter by job type";
252
+ };
253
+ processInstanceKey: {
254
+ readonly type: "string";
255
+ readonly description: "Filter by process instance key";
256
+ readonly validate: typeof ProcessInstanceKey.assumeExists;
257
+ };
258
+ processDefinitionKey: {
259
+ readonly type: "string";
260
+ readonly description: "Filter by process definition key";
261
+ readonly validate: typeof ProcessDefinitionKey.assumeExists;
262
+ };
263
+ itype: {
264
+ readonly type: "string";
265
+ readonly description: "Case-insensitive filter by job type";
266
+ };
267
+ bpmnProcessId: {
268
+ readonly type: "string";
269
+ readonly description: "Filter by BPMN process ID";
270
+ };
271
+ id: {
272
+ readonly type: "string";
273
+ readonly description: "Filter by BPMN process ID (alias)";
274
+ };
275
+ processDefinitionId: {
276
+ readonly type: "string";
277
+ readonly description: "Filter by process definition ID";
278
+ readonly validate: typeof ProcessDefinitionId.assumeExists;
279
+ };
280
+ errorType: {
281
+ readonly type: "string";
282
+ readonly description: "Filter by error type";
283
+ };
284
+ errorMessage: {
285
+ readonly type: "string";
286
+ readonly description: "Filter by error message";
287
+ };
288
+ ierrorMessage: {
289
+ readonly type: "string";
290
+ readonly description: "Case-insensitive filter by error message";
291
+ };
292
+ iid: {
293
+ readonly type: "string";
294
+ readonly description: "Case-insensitive filter by BPMN process ID";
295
+ };
296
+ assignee: {
297
+ readonly type: "string";
298
+ readonly description: "Filter by assignee";
299
+ };
300
+ elementId: {
301
+ readonly type: "string";
302
+ readonly description: "Filter by element ID";
303
+ };
304
+ iassignee: {
305
+ readonly type: "string";
306
+ readonly description: "Case-insensitive filter by assignee";
307
+ };
308
+ key: {
309
+ readonly type: "string";
310
+ readonly description: "Filter by key";
311
+ };
312
+ iname: {
313
+ readonly type: "string";
314
+ readonly description: "Case-insensitive filter by name";
315
+ };
316
+ parentProcessInstanceKey: {
317
+ readonly type: "string";
318
+ readonly description: "Filter by parent process instance key";
319
+ readonly validate: typeof ProcessInstanceKey.assumeExists;
320
+ };
321
+ sortBy: {
322
+ readonly type: "string";
323
+ readonly description: "Sort results by field";
324
+ };
325
+ asc: {
326
+ readonly type: "boolean";
327
+ readonly description: "Sort ascending";
328
+ };
329
+ desc: {
330
+ readonly type: "boolean";
331
+ readonly description: "Sort descending";
332
+ };
333
+ limit: {
334
+ readonly type: "string";
335
+ readonly description: "Maximum number of results";
336
+ };
337
+ between: {
338
+ readonly type: "string";
339
+ readonly description: "Date range filter (e.g. 7d, 30d, 2024-01-01..2024-12-31)";
340
+ };
341
+ dateField: {
342
+ readonly type: "string";
343
+ readonly description: "Date field for --between filter";
344
+ };
345
+ all: {
346
+ type: "boolean";
347
+ description: string;
348
+ };
349
+ };
350
+ resourceFlags: {
351
+ "process-definition": {
352
+ readonly bpmnProcessId: {
353
+ readonly type: "string";
354
+ readonly description: "Filter by BPMN process ID";
355
+ };
356
+ readonly id: {
357
+ readonly type: "string";
358
+ readonly description: "Filter by BPMN process ID (alias)";
359
+ };
360
+ readonly processDefinitionId: {
361
+ readonly type: "string";
362
+ readonly description: "Filter by process definition ID";
363
+ readonly validate: typeof ProcessDefinitionId.assumeExists;
364
+ };
365
+ readonly name: {
366
+ readonly type: "string";
367
+ readonly description: "Filter by name";
368
+ };
369
+ readonly key: {
370
+ readonly type: "string";
371
+ readonly description: "Filter by key";
372
+ };
373
+ readonly iid: {
374
+ readonly type: "string";
375
+ readonly description: "Case-insensitive filter by BPMN process ID";
376
+ };
377
+ readonly iname: {
378
+ readonly type: "string";
379
+ readonly description: "Case-insensitive filter by name";
380
+ };
381
+ };
382
+ "process-instance": {
383
+ readonly bpmnProcessId: {
384
+ readonly type: "string";
385
+ readonly description: "Filter by BPMN process ID";
386
+ };
387
+ readonly id: {
388
+ readonly type: "string";
389
+ readonly description: "Filter by BPMN process ID (alias)";
390
+ };
391
+ readonly processDefinitionId: {
392
+ readonly type: "string";
393
+ readonly description: "Filter by process definition ID";
394
+ readonly validate: typeof ProcessDefinitionId.assumeExists;
395
+ };
396
+ readonly processDefinitionKey: {
397
+ readonly type: "string";
398
+ readonly description: "Filter by process definition key";
399
+ readonly validate: typeof ProcessDefinitionKey.assumeExists;
400
+ };
401
+ readonly state: {
402
+ readonly type: "string";
403
+ readonly description: "Filter by state (ACTIVE, COMPLETED, etc)";
404
+ };
405
+ readonly key: {
406
+ readonly type: "string";
407
+ readonly description: "Filter by key";
408
+ };
409
+ readonly parentProcessInstanceKey: {
410
+ readonly type: "string";
411
+ readonly description: "Filter by parent process instance key";
412
+ readonly validate: typeof ProcessInstanceKey.assumeExists;
413
+ };
414
+ readonly iid: {
415
+ readonly type: "string";
416
+ readonly description: "Case-insensitive filter by BPMN process ID";
417
+ };
418
+ };
419
+ "user-task": {
420
+ readonly state: {
421
+ readonly type: "string";
422
+ readonly description: "Filter by state";
423
+ };
424
+ readonly assignee: {
425
+ readonly type: "string";
426
+ readonly description: "Filter by assignee";
427
+ };
428
+ readonly processInstanceKey: {
429
+ readonly type: "string";
430
+ readonly description: "Filter by process instance key";
431
+ readonly validate: typeof ProcessInstanceKey.assumeExists;
432
+ };
433
+ readonly processDefinitionKey: {
434
+ readonly type: "string";
435
+ readonly description: "Filter by process definition key";
436
+ readonly validate: typeof ProcessDefinitionKey.assumeExists;
437
+ };
438
+ readonly elementId: {
439
+ readonly type: "string";
440
+ readonly description: "Filter by element ID";
441
+ };
442
+ readonly iassignee: {
443
+ readonly type: "string";
444
+ readonly description: "Case-insensitive filter by assignee";
445
+ };
446
+ };
447
+ incident: {
448
+ readonly state: {
449
+ readonly type: "string";
450
+ readonly description: "Filter by state";
451
+ };
452
+ readonly processInstanceKey: {
453
+ readonly type: "string";
454
+ readonly description: "Filter by process instance key";
455
+ readonly validate: typeof ProcessInstanceKey.assumeExists;
456
+ };
457
+ readonly processDefinitionKey: {
458
+ readonly type: "string";
459
+ readonly description: "Filter by process definition key";
460
+ readonly validate: typeof ProcessDefinitionKey.assumeExists;
461
+ };
462
+ readonly bpmnProcessId: {
463
+ readonly type: "string";
464
+ readonly description: "Filter by BPMN process ID";
465
+ };
466
+ readonly id: {
467
+ readonly type: "string";
468
+ readonly description: "Filter by BPMN process ID (alias)";
469
+ };
470
+ readonly processDefinitionId: {
471
+ readonly type: "string";
472
+ readonly description: "Filter by process definition ID";
473
+ readonly validate: typeof ProcessDefinitionId.assumeExists;
474
+ };
475
+ readonly errorType: {
476
+ readonly type: "string";
477
+ readonly description: "Filter by error type";
478
+ };
479
+ readonly errorMessage: {
480
+ readonly type: "string";
481
+ readonly description: "Filter by error message";
482
+ };
483
+ readonly ierrorMessage: {
484
+ readonly type: "string";
485
+ readonly description: "Case-insensitive filter by error message";
486
+ };
487
+ readonly iid: {
488
+ readonly type: "string";
489
+ readonly description: "Case-insensitive filter by BPMN process ID";
490
+ };
491
+ };
492
+ jobs: {
493
+ readonly state: {
494
+ readonly type: "string";
495
+ readonly description: "Filter by state";
496
+ };
497
+ readonly type: {
498
+ readonly type: "string";
499
+ readonly description: "Filter by job type";
500
+ };
501
+ readonly processInstanceKey: {
502
+ readonly type: "string";
503
+ readonly description: "Filter by process instance key";
504
+ readonly validate: typeof ProcessInstanceKey.assumeExists;
505
+ };
506
+ readonly processDefinitionKey: {
507
+ readonly type: "string";
508
+ readonly description: "Filter by process definition key";
509
+ readonly validate: typeof ProcessDefinitionKey.assumeExists;
510
+ };
511
+ readonly itype: {
512
+ readonly type: "string";
513
+ readonly description: "Case-insensitive filter by job type";
514
+ };
515
+ };
516
+ user: {
517
+ readonly username: {
518
+ readonly type: "string";
519
+ readonly description: "Filter by username";
520
+ readonly validate: typeof Username.assumeExists;
521
+ };
522
+ readonly name: {
523
+ readonly type: "string";
524
+ readonly description: "Filter by name";
525
+ };
526
+ readonly email: {
527
+ readonly type: "string";
528
+ readonly description: "Filter by email";
529
+ };
530
+ };
531
+ role: {
532
+ readonly roleId: {
533
+ readonly type: "string";
534
+ readonly description: "Filter by role ID";
535
+ };
536
+ readonly name: {
537
+ readonly type: "string";
538
+ readonly description: "Filter by name";
539
+ };
540
+ };
541
+ group: {
542
+ readonly groupId: {
543
+ readonly type: "string";
544
+ readonly description: "Filter by group ID";
545
+ };
546
+ readonly name: {
547
+ readonly type: "string";
548
+ readonly description: "Filter by name";
549
+ };
550
+ };
551
+ tenant: {
552
+ readonly tenantId: {
553
+ readonly type: "string";
554
+ readonly description: "Filter by tenant ID";
555
+ readonly validate: typeof TenantId.assumeExists;
556
+ };
557
+ readonly name: {
558
+ readonly type: "string";
559
+ readonly description: "Filter by name";
560
+ };
561
+ };
562
+ authorization: {
563
+ readonly ownerId: {
564
+ readonly type: "string";
565
+ readonly description: "Filter by owner ID";
566
+ };
567
+ readonly ownerType: {
568
+ readonly type: "string";
569
+ readonly description: "Filter by owner type";
570
+ };
571
+ readonly resourceType: {
572
+ readonly type: "string";
573
+ readonly description: "Filter by resource type";
574
+ };
575
+ readonly resourceId: {
576
+ readonly type: "string";
577
+ readonly description: "Filter by resource ID";
578
+ };
579
+ };
580
+ "mapping-rule": {
581
+ readonly mappingRuleId: {
582
+ readonly type: "string";
583
+ readonly description: "Filter by mapping rule ID";
584
+ };
585
+ readonly name: {
586
+ readonly type: "string";
587
+ readonly description: "Filter by name";
588
+ };
589
+ readonly claimName: {
590
+ readonly type: "string";
591
+ readonly description: "Filter by claim name";
592
+ };
593
+ readonly claimValue: {
594
+ readonly type: "string";
595
+ readonly description: "Filter by claim value";
596
+ };
597
+ };
598
+ };
599
+ };
600
+ search: {
601
+ description: string;
602
+ helpDescription: string;
603
+ hasDetailedHelp: true;
604
+ helpFooterLabel: string;
605
+ mutating: false;
606
+ requiresResource: true;
607
+ helpExamples: {
608
+ command: string;
609
+ description: string;
610
+ }[];
611
+ resources: string[];
612
+ flags: {
613
+ mappingRuleId: {
614
+ readonly type: "string";
615
+ readonly description: "Filter by mapping rule ID";
616
+ };
617
+ name: {
618
+ readonly type: "string";
619
+ readonly description: "Filter by name";
620
+ };
621
+ claimName: {
622
+ readonly type: "string";
623
+ readonly description: "Filter by claim name";
624
+ };
625
+ claimValue: {
626
+ readonly type: "string";
627
+ readonly description: "Filter by claim value";
628
+ };
629
+ ownerId: {
630
+ readonly type: "string";
631
+ readonly description: "Filter by owner ID";
632
+ };
633
+ ownerType: {
634
+ readonly type: "string";
635
+ readonly description: "Filter by owner type";
636
+ };
637
+ resourceType: {
638
+ readonly type: "string";
639
+ readonly description: "Filter by resource type";
640
+ };
641
+ resourceId: {
642
+ readonly type: "string";
643
+ readonly description: "Filter by resource ID";
644
+ };
645
+ tenantId: {
646
+ readonly type: "string";
647
+ readonly description: "Filter by tenant ID";
648
+ readonly validate: typeof TenantId.assumeExists;
649
+ };
650
+ groupId: {
651
+ readonly type: "string";
652
+ readonly description: "Filter by group ID";
653
+ };
654
+ roleId: {
655
+ readonly type: "string";
656
+ readonly description: "Filter by role ID";
657
+ };
658
+ username: {
659
+ readonly type: "string";
660
+ readonly description: "Filter by username";
661
+ readonly validate: typeof Username.assumeExists;
662
+ };
663
+ email: {
664
+ readonly type: "string";
665
+ readonly description: "Filter by email";
666
+ };
667
+ value: {
668
+ readonly type: "string";
669
+ readonly description: "Filter by value";
670
+ };
671
+ processInstanceKey: {
672
+ readonly type: "string";
673
+ readonly description: "Filter by process instance key";
674
+ readonly validate: typeof ProcessInstanceKey.assumeExists;
675
+ };
676
+ scopeKey: {
677
+ readonly type: "string";
678
+ readonly description: "Filter by scope key";
679
+ };
680
+ fullValue: {
681
+ readonly type: "boolean";
682
+ readonly description: "Return full variable values (not truncated)";
683
+ };
684
+ iname: {
685
+ readonly type: "string";
686
+ readonly description: "Case-insensitive filter by name";
687
+ };
688
+ ivalue: {
689
+ readonly type: "string";
690
+ readonly description: "Case-insensitive filter by value";
691
+ };
692
+ state: {
693
+ readonly type: "string";
694
+ readonly description: "Filter by state";
695
+ };
696
+ type: {
697
+ readonly type: "string";
698
+ readonly description: "Filter by job type";
699
+ };
700
+ processDefinitionKey: {
701
+ readonly type: "string";
702
+ readonly description: "Filter by process definition key";
703
+ readonly validate: typeof ProcessDefinitionKey.assumeExists;
704
+ };
705
+ itype: {
706
+ readonly type: "string";
707
+ readonly description: "Case-insensitive filter by job type";
708
+ };
709
+ bpmnProcessId: {
710
+ readonly type: "string";
711
+ readonly description: "Filter by BPMN process ID";
712
+ };
713
+ id: {
714
+ readonly type: "string";
715
+ readonly description: "Filter by BPMN process ID (alias)";
716
+ };
717
+ processDefinitionId: {
718
+ readonly type: "string";
719
+ readonly description: "Filter by process definition ID";
720
+ readonly validate: typeof ProcessDefinitionId.assumeExists;
721
+ };
722
+ errorType: {
723
+ readonly type: "string";
724
+ readonly description: "Filter by error type";
725
+ };
726
+ errorMessage: {
727
+ readonly type: "string";
728
+ readonly description: "Filter by error message";
729
+ };
730
+ ierrorMessage: {
731
+ readonly type: "string";
732
+ readonly description: "Case-insensitive filter by error message";
733
+ };
734
+ iid: {
735
+ readonly type: "string";
736
+ readonly description: "Case-insensitive filter by BPMN process ID";
737
+ };
738
+ assignee: {
739
+ readonly type: "string";
740
+ readonly description: "Filter by assignee";
741
+ };
742
+ elementId: {
743
+ readonly type: "string";
744
+ readonly description: "Filter by element ID";
745
+ };
746
+ iassignee: {
747
+ readonly type: "string";
748
+ readonly description: "Case-insensitive filter by assignee";
749
+ };
750
+ key: {
751
+ readonly type: "string";
752
+ readonly description: "Filter by key";
753
+ };
754
+ parentProcessInstanceKey: {
755
+ readonly type: "string";
756
+ readonly description: "Filter by parent process instance key";
757
+ readonly validate: typeof ProcessInstanceKey.assumeExists;
758
+ };
759
+ sortBy: {
760
+ readonly type: "string";
761
+ readonly description: "Sort results by field";
762
+ };
763
+ asc: {
764
+ readonly type: "boolean";
765
+ readonly description: "Sort ascending";
766
+ };
767
+ desc: {
768
+ readonly type: "boolean";
769
+ readonly description: "Sort descending";
770
+ };
771
+ limit: {
772
+ readonly type: "string";
773
+ readonly description: "Maximum number of results";
774
+ };
775
+ between: {
776
+ readonly type: "string";
777
+ readonly description: "Date range filter (e.g. 7d, 30d, 2024-01-01..2024-12-31)";
778
+ };
779
+ dateField: {
780
+ readonly type: "string";
781
+ readonly description: "Date field for --between filter";
782
+ };
783
+ };
784
+ resourceFlags: {
785
+ "process-definition": {
786
+ readonly bpmnProcessId: {
787
+ readonly type: "string";
788
+ readonly description: "Filter by BPMN process ID";
789
+ };
790
+ readonly id: {
791
+ readonly type: "string";
792
+ readonly description: "Filter by BPMN process ID (alias)";
793
+ };
794
+ readonly processDefinitionId: {
795
+ readonly type: "string";
796
+ readonly description: "Filter by process definition ID";
797
+ readonly validate: typeof ProcessDefinitionId.assumeExists;
798
+ };
799
+ readonly name: {
800
+ readonly type: "string";
801
+ readonly description: "Filter by name";
802
+ };
803
+ readonly key: {
804
+ readonly type: "string";
805
+ readonly description: "Filter by key";
806
+ };
807
+ readonly iid: {
808
+ readonly type: "string";
809
+ readonly description: "Case-insensitive filter by BPMN process ID";
810
+ };
811
+ readonly iname: {
812
+ readonly type: "string";
813
+ readonly description: "Case-insensitive filter by name";
814
+ };
815
+ };
816
+ "process-instance": {
817
+ readonly bpmnProcessId: {
818
+ readonly type: "string";
819
+ readonly description: "Filter by BPMN process ID";
820
+ };
821
+ readonly id: {
822
+ readonly type: "string";
823
+ readonly description: "Filter by BPMN process ID (alias)";
824
+ };
825
+ readonly processDefinitionId: {
826
+ readonly type: "string";
827
+ readonly description: "Filter by process definition ID";
828
+ readonly validate: typeof ProcessDefinitionId.assumeExists;
829
+ };
830
+ readonly processDefinitionKey: {
831
+ readonly type: "string";
832
+ readonly description: "Filter by process definition key";
833
+ readonly validate: typeof ProcessDefinitionKey.assumeExists;
834
+ };
835
+ readonly state: {
836
+ readonly type: "string";
837
+ readonly description: "Filter by state (ACTIVE, COMPLETED, etc)";
838
+ };
839
+ readonly key: {
840
+ readonly type: "string";
841
+ readonly description: "Filter by key";
842
+ };
843
+ readonly parentProcessInstanceKey: {
844
+ readonly type: "string";
845
+ readonly description: "Filter by parent process instance key";
846
+ readonly validate: typeof ProcessInstanceKey.assumeExists;
847
+ };
848
+ readonly iid: {
849
+ readonly type: "string";
850
+ readonly description: "Case-insensitive filter by BPMN process ID";
851
+ };
852
+ };
853
+ "user-task": {
854
+ readonly state: {
855
+ readonly type: "string";
856
+ readonly description: "Filter by state";
857
+ };
858
+ readonly assignee: {
859
+ readonly type: "string";
860
+ readonly description: "Filter by assignee";
861
+ };
862
+ readonly processInstanceKey: {
863
+ readonly type: "string";
864
+ readonly description: "Filter by process instance key";
865
+ readonly validate: typeof ProcessInstanceKey.assumeExists;
866
+ };
867
+ readonly processDefinitionKey: {
868
+ readonly type: "string";
869
+ readonly description: "Filter by process definition key";
870
+ readonly validate: typeof ProcessDefinitionKey.assumeExists;
871
+ };
872
+ readonly elementId: {
873
+ readonly type: "string";
874
+ readonly description: "Filter by element ID";
875
+ };
876
+ readonly iassignee: {
877
+ readonly type: "string";
878
+ readonly description: "Case-insensitive filter by assignee";
879
+ };
880
+ };
881
+ incident: {
882
+ readonly state: {
883
+ readonly type: "string";
884
+ readonly description: "Filter by state";
885
+ };
886
+ readonly processInstanceKey: {
887
+ readonly type: "string";
888
+ readonly description: "Filter by process instance key";
889
+ readonly validate: typeof ProcessInstanceKey.assumeExists;
890
+ };
891
+ readonly processDefinitionKey: {
892
+ readonly type: "string";
893
+ readonly description: "Filter by process definition key";
894
+ readonly validate: typeof ProcessDefinitionKey.assumeExists;
895
+ };
896
+ readonly bpmnProcessId: {
897
+ readonly type: "string";
898
+ readonly description: "Filter by BPMN process ID";
899
+ };
900
+ readonly id: {
901
+ readonly type: "string";
902
+ readonly description: "Filter by BPMN process ID (alias)";
903
+ };
904
+ readonly processDefinitionId: {
905
+ readonly type: "string";
906
+ readonly description: "Filter by process definition ID";
907
+ readonly validate: typeof ProcessDefinitionId.assumeExists;
908
+ };
909
+ readonly errorType: {
910
+ readonly type: "string";
911
+ readonly description: "Filter by error type";
912
+ };
913
+ readonly errorMessage: {
914
+ readonly type: "string";
915
+ readonly description: "Filter by error message";
916
+ };
917
+ readonly ierrorMessage: {
918
+ readonly type: "string";
919
+ readonly description: "Case-insensitive filter by error message";
920
+ };
921
+ readonly iid: {
922
+ readonly type: "string";
923
+ readonly description: "Case-insensitive filter by BPMN process ID";
924
+ };
925
+ };
926
+ jobs: {
927
+ readonly state: {
928
+ readonly type: "string";
929
+ readonly description: "Filter by state";
930
+ };
931
+ readonly type: {
932
+ readonly type: "string";
933
+ readonly description: "Filter by job type";
934
+ };
935
+ readonly processInstanceKey: {
936
+ readonly type: "string";
937
+ readonly description: "Filter by process instance key";
938
+ readonly validate: typeof ProcessInstanceKey.assumeExists;
939
+ };
940
+ readonly processDefinitionKey: {
941
+ readonly type: "string";
942
+ readonly description: "Filter by process definition key";
943
+ readonly validate: typeof ProcessDefinitionKey.assumeExists;
944
+ };
945
+ readonly itype: {
946
+ readonly type: "string";
947
+ readonly description: "Case-insensitive filter by job type";
948
+ };
949
+ };
950
+ variable: {
951
+ readonly name: {
952
+ readonly type: "string";
953
+ readonly description: "Filter by variable name";
954
+ };
955
+ readonly value: {
956
+ readonly type: "string";
957
+ readonly description: "Filter by value";
958
+ };
959
+ readonly processInstanceKey: {
960
+ readonly type: "string";
961
+ readonly description: "Filter by process instance key";
962
+ readonly validate: typeof ProcessInstanceKey.assumeExists;
963
+ };
964
+ readonly scopeKey: {
965
+ readonly type: "string";
966
+ readonly description: "Filter by scope key";
967
+ };
968
+ readonly fullValue: {
969
+ readonly type: "boolean";
970
+ readonly description: "Return full variable values (not truncated)";
971
+ };
972
+ readonly iname: {
973
+ readonly type: "string";
974
+ readonly description: "Case-insensitive filter by name";
975
+ };
976
+ readonly ivalue: {
977
+ readonly type: "string";
978
+ readonly description: "Case-insensitive filter by value";
979
+ };
980
+ };
981
+ user: {
982
+ readonly username: {
983
+ readonly type: "string";
984
+ readonly description: "Filter by username";
985
+ readonly validate: typeof Username.assumeExists;
986
+ };
987
+ readonly name: {
988
+ readonly type: "string";
989
+ readonly description: "Filter by name";
990
+ };
991
+ readonly email: {
992
+ readonly type: "string";
993
+ readonly description: "Filter by email";
994
+ };
995
+ };
996
+ role: {
997
+ readonly roleId: {
998
+ readonly type: "string";
999
+ readonly description: "Filter by role ID";
1000
+ };
1001
+ readonly name: {
1002
+ readonly type: "string";
1003
+ readonly description: "Filter by name";
1004
+ };
1005
+ };
1006
+ group: {
1007
+ readonly groupId: {
1008
+ readonly type: "string";
1009
+ readonly description: "Filter by group ID";
1010
+ };
1011
+ readonly name: {
1012
+ readonly type: "string";
1013
+ readonly description: "Filter by name";
1014
+ };
1015
+ };
1016
+ tenant: {
1017
+ readonly tenantId: {
1018
+ readonly type: "string";
1019
+ readonly description: "Filter by tenant ID";
1020
+ readonly validate: typeof TenantId.assumeExists;
1021
+ };
1022
+ readonly name: {
1023
+ readonly type: "string";
1024
+ readonly description: "Filter by name";
1025
+ };
1026
+ };
1027
+ authorization: {
1028
+ readonly ownerId: {
1029
+ readonly type: "string";
1030
+ readonly description: "Filter by owner ID";
1031
+ };
1032
+ readonly ownerType: {
1033
+ readonly type: "string";
1034
+ readonly description: "Filter by owner type";
1035
+ };
1036
+ readonly resourceType: {
1037
+ readonly type: "string";
1038
+ readonly description: "Filter by resource type";
1039
+ };
1040
+ readonly resourceId: {
1041
+ readonly type: "string";
1042
+ readonly description: "Filter by resource ID";
1043
+ };
1044
+ };
1045
+ "mapping-rule": {
1046
+ readonly mappingRuleId: {
1047
+ readonly type: "string";
1048
+ readonly description: "Filter by mapping rule ID";
1049
+ };
1050
+ readonly name: {
1051
+ readonly type: "string";
1052
+ readonly description: "Filter by name";
1053
+ };
1054
+ readonly claimName: {
1055
+ readonly type: "string";
1056
+ readonly description: "Filter by claim name";
1057
+ };
1058
+ readonly claimValue: {
1059
+ readonly type: "string";
1060
+ readonly description: "Filter by claim value";
1061
+ };
1062
+ };
1063
+ };
1064
+ };
1065
+ get: {
1066
+ description: string;
1067
+ helpDescription: string;
1068
+ hasDetailedHelp: true;
1069
+ helpFooterLabel: string;
1070
+ mutating: false;
1071
+ requiresResource: true;
1072
+ helpExamples: {
1073
+ command: string;
1074
+ description: string;
1075
+ }[];
1076
+ resources: string[];
1077
+ flags: {
1078
+ variables: {
1079
+ readonly type: "boolean";
1080
+ readonly description: "Include variables in output";
1081
+ readonly showInTopLevelHelp: true;
1082
+ readonly helpHint: "use with 'get pi'";
1083
+ };
1084
+ userTask: {
1085
+ readonly type: "boolean";
1086
+ readonly description: "Get form for user task";
1087
+ readonly showInTopLevelHelp: true;
1088
+ readonly helpHint: "use with 'get form'";
1089
+ };
1090
+ ut: {
1091
+ readonly type: "boolean";
1092
+ readonly description: "Alias for --userTask";
1093
+ };
1094
+ processDefinition: {
1095
+ readonly type: "boolean";
1096
+ readonly description: "Get form for process definition";
1097
+ readonly showInTopLevelHelp: true;
1098
+ readonly helpHint: "use with 'get form'";
1099
+ };
1100
+ pd: {
1101
+ readonly type: "boolean";
1102
+ readonly description: "Alias for --processDefinition";
1103
+ };
1104
+ xml: {
1105
+ readonly type: "boolean";
1106
+ readonly description: "Get BPMN XML (process definitions)";
1107
+ readonly showInTopLevelHelp: true;
1108
+ readonly helpHint: "use with 'get pd'";
1109
+ };
1110
+ };
1111
+ resourceFlags: {
1112
+ "process-definition": {
1113
+ readonly xml: {
1114
+ readonly type: "boolean";
1115
+ readonly description: "Get BPMN XML (process definitions)";
1116
+ readonly showInTopLevelHelp: true;
1117
+ readonly helpHint: "use with 'get pd'";
1118
+ };
1119
+ };
1120
+ form: {
1121
+ readonly userTask: {
1122
+ readonly type: "boolean";
1123
+ readonly description: "Get form for user task";
1124
+ readonly showInTopLevelHelp: true;
1125
+ readonly helpHint: "use with 'get form'";
1126
+ };
1127
+ readonly ut: {
1128
+ readonly type: "boolean";
1129
+ readonly description: "Alias for --userTask";
1130
+ };
1131
+ readonly processDefinition: {
1132
+ readonly type: "boolean";
1133
+ readonly description: "Get form for process definition";
1134
+ readonly showInTopLevelHelp: true;
1135
+ readonly helpHint: "use with 'get form'";
1136
+ };
1137
+ readonly pd: {
1138
+ readonly type: "boolean";
1139
+ readonly description: "Alias for --processDefinition";
1140
+ };
1141
+ };
1142
+ "process-instance": {
1143
+ readonly variables: {
1144
+ readonly type: "boolean";
1145
+ readonly description: "Include variables in output";
1146
+ readonly showInTopLevelHelp: true;
1147
+ readonly helpHint: "use with 'get pi'";
1148
+ };
1149
+ };
1150
+ };
1151
+ resourcePositionals: {
1152
+ "process-definition": readonly [{
1153
+ readonly name: "key";
1154
+ readonly required: true;
1155
+ readonly validate: typeof ProcessDefinitionKey.assumeExists;
1156
+ }];
1157
+ "process-instance": readonly [{
1158
+ readonly name: "key";
1159
+ readonly required: true;
1160
+ readonly validate: typeof ProcessInstanceKey.assumeExists;
1161
+ }];
1162
+ incident: readonly [{
1163
+ readonly name: "key";
1164
+ readonly required: true;
1165
+ readonly validate: typeof IncidentKey.assumeExists;
1166
+ }];
1167
+ user: readonly [{
1168
+ readonly name: "username";
1169
+ readonly required: true;
1170
+ readonly validate: typeof Username.assumeExists;
1171
+ }];
1172
+ role: readonly [{
1173
+ readonly name: "roleId";
1174
+ readonly required: true;
1175
+ }];
1176
+ group: readonly [{
1177
+ readonly name: "groupId";
1178
+ readonly required: true;
1179
+ }];
1180
+ tenant: readonly [{
1181
+ readonly name: "tenantId";
1182
+ readonly required: true;
1183
+ readonly validate: typeof TenantId.assumeExists;
1184
+ }];
1185
+ authorization: readonly [{
1186
+ readonly name: "authorizationKey";
1187
+ readonly required: true;
1188
+ readonly validate: typeof AuthorizationKey.assumeExists;
1189
+ }];
1190
+ "mapping-rule": readonly [{
1191
+ readonly name: "mappingRuleId";
1192
+ readonly required: true;
1193
+ }];
1194
+ form: readonly [{
1195
+ readonly name: "key";
1196
+ readonly required: true;
1197
+ }];
1198
+ };
1199
+ };
1200
+ create: {
1201
+ description: string;
1202
+ helpDescription: string;
1203
+ hasDetailedHelp: true;
1204
+ helpFooterLabel: string;
1205
+ mutating: true;
1206
+ requiresResource: true;
1207
+ helpExamples: {
1208
+ command: string;
1209
+ description: string;
1210
+ }[];
1211
+ resources: string[];
1212
+ flags: {
1213
+ processDefinitionId: {
1214
+ type: "string";
1215
+ description: string;
1216
+ validate: typeof ProcessDefinitionId.assumeExists;
1217
+ };
1218
+ id: {
1219
+ type: "string";
1220
+ description: string;
1221
+ showInTopLevelHelp: true;
1222
+ helpHint: string;
1223
+ };
1224
+ bpmnProcessId: {
1225
+ type: "string";
1226
+ description: string;
1227
+ };
1228
+ variables: {
1229
+ type: "string";
1230
+ description: string;
1231
+ };
1232
+ awaitCompletion: {
1233
+ type: "boolean";
1234
+ description: string;
1235
+ showInTopLevelHelp: true;
1236
+ helpHint: string;
1237
+ };
1238
+ fetchVariables: {
1239
+ type: "boolean";
1240
+ description: string;
1241
+ showInTopLevelHelp: true;
1242
+ };
1243
+ requestTimeout: {
1244
+ type: "string";
1245
+ description: string;
1246
+ showInTopLevelHelp: true;
1247
+ helpHint: string;
1248
+ };
1249
+ username: {
1250
+ type: "string";
1251
+ description: string;
1252
+ validate: typeof Username.assumeExists;
1253
+ };
1254
+ name: {
1255
+ type: "string";
1256
+ description: string;
1257
+ };
1258
+ email: {
1259
+ type: "string";
1260
+ description: string;
1261
+ };
1262
+ password: {
1263
+ type: "string";
1264
+ description: string;
1265
+ };
1266
+ roleId: {
1267
+ type: "string";
1268
+ description: string;
1269
+ };
1270
+ groupId: {
1271
+ type: "string";
1272
+ description: string;
1273
+ };
1274
+ tenantId: {
1275
+ type: "string";
1276
+ description: string;
1277
+ validate: typeof TenantId.assumeExists;
1278
+ };
1279
+ ownerId: {
1280
+ type: "string";
1281
+ description: string;
1282
+ required: true;
1283
+ };
1284
+ ownerType: {
1285
+ type: "string";
1286
+ description: string;
1287
+ required: true;
1288
+ };
1289
+ resourceType: {
1290
+ type: "string";
1291
+ description: string;
1292
+ required: true;
1293
+ };
1294
+ resourceId: {
1295
+ type: "string";
1296
+ description: string;
1297
+ required: true;
1298
+ };
1299
+ permissions: {
1300
+ type: "string";
1301
+ description: string;
1302
+ required: true;
1303
+ csv: true;
1304
+ };
1305
+ mappingRuleId: {
1306
+ type: "string";
1307
+ description: string;
1308
+ };
1309
+ claimName: {
1310
+ type: "string";
1311
+ description: string;
1312
+ };
1313
+ claimValue: {
1314
+ type: "string";
1315
+ description: string;
1316
+ };
1317
+ };
1318
+ };
1319
+ delete: {
1320
+ description: string;
1321
+ helpDescription: string;
1322
+ helpResource: string;
1323
+ hasDetailedHelp: true;
1324
+ helpFooterLabel: string;
1325
+ mutating: true;
1326
+ requiresResource: true;
1327
+ helpExamples: {
1328
+ command: string;
1329
+ description: string;
1330
+ }[];
1331
+ resources: string[];
1332
+ flags: {};
1333
+ resourcePositionals: {
1334
+ user: readonly [{
1335
+ readonly name: "username";
1336
+ readonly required: true;
1337
+ readonly validate: typeof Username.assumeExists;
1338
+ }];
1339
+ role: readonly [{
1340
+ readonly name: "roleId";
1341
+ readonly required: true;
1342
+ }];
1343
+ group: readonly [{
1344
+ readonly name: "groupId";
1345
+ readonly required: true;
1346
+ }];
1347
+ tenant: readonly [{
1348
+ readonly name: "tenantId";
1349
+ readonly required: true;
1350
+ readonly validate: typeof TenantId.assumeExists;
1351
+ }];
1352
+ authorization: readonly [{
1353
+ readonly name: "authorizationKey";
1354
+ readonly required: true;
1355
+ readonly validate: typeof AuthorizationKey.assumeExists;
1356
+ }];
1357
+ "mapping-rule": readonly [{
1358
+ readonly name: "mappingRuleId";
1359
+ readonly required: true;
1360
+ }];
1361
+ };
1362
+ };
1363
+ cancel: {
1364
+ description: string;
1365
+ helpDescription: string;
1366
+ helpResource: string;
1367
+ hasDetailedHelp: true;
1368
+ helpFooterLabel: string;
1369
+ mutating: true;
1370
+ requiresResource: true;
1371
+ resources: string[];
1372
+ flags: {};
1373
+ resourcePositionals: {
1374
+ "process-instance": readonly [{
1375
+ readonly name: "key";
1376
+ readonly required: true;
1377
+ readonly validate: typeof ProcessInstanceKey.assumeExists;
1378
+ }];
1379
+ };
1380
+ };
1381
+ await: {
1382
+ description: string;
1383
+ helpDescription: string;
1384
+ helpResource: string;
1385
+ hasDetailedHelp: true;
1386
+ helpFooterLabel: string;
1387
+ mutating: true;
1388
+ requiresResource: true;
1389
+ helpExamples: {
1390
+ command: string;
1391
+ description: string;
1392
+ }[];
1393
+ resources: string[];
1394
+ flags: {
1395
+ processDefinitionId: {
1396
+ type: "string";
1397
+ description: string;
1398
+ validate: typeof ProcessDefinitionId.assumeExists;
1399
+ };
1400
+ id: {
1401
+ type: "string";
1402
+ description: string;
1403
+ };
1404
+ bpmnProcessId: {
1405
+ type: "string";
1406
+ description: string;
1407
+ };
1408
+ variables: {
1409
+ type: "string";
1410
+ description: string;
1411
+ };
1412
+ fetchVariables: {
1413
+ type: "boolean";
1414
+ description: string;
1415
+ };
1416
+ requestTimeout: {
1417
+ type: "string";
1418
+ description: string;
1419
+ };
1420
+ };
1421
+ };
1422
+ complete: {
1423
+ description: string;
1424
+ helpDescription: string;
1425
+ helpResource: string;
1426
+ hasDetailedHelp: true;
1427
+ helpFooterLabel: string;
1428
+ mutating: true;
1429
+ requiresResource: true;
1430
+ resources: string[];
1431
+ flags: {
1432
+ variables: {
1433
+ type: "string";
1434
+ description: string;
1435
+ };
1436
+ };
1437
+ resourcePositionals: {
1438
+ "user-task": readonly [{
1439
+ readonly name: "key";
1440
+ readonly required: true;
1441
+ readonly validate: typeof UserTaskKey.assumeExists;
1442
+ }];
1443
+ job: readonly [{
1444
+ readonly name: "key";
1445
+ readonly required: true;
1446
+ readonly validate: typeof JobKey.assumeExists;
1447
+ }];
1448
+ };
1449
+ };
1450
+ fail: {
1451
+ description: string;
1452
+ helpDescription: string;
1453
+ hasDetailedHelp: true;
1454
+ helpFooterLabel: string;
1455
+ mutating: true;
1456
+ requiresResource: true;
1457
+ resources: string[];
1458
+ flags: {
1459
+ retries: {
1460
+ type: "string";
1461
+ description: string;
1462
+ };
1463
+ errorMessage: {
1464
+ type: "string";
1465
+ description: string;
1466
+ };
1467
+ };
1468
+ resourcePositionals: {
1469
+ job: readonly [{
1470
+ readonly name: "key";
1471
+ readonly required: true;
1472
+ readonly validate: typeof JobKey.assumeExists;
1473
+ }];
1474
+ };
1475
+ };
1476
+ activate: {
1477
+ description: string;
1478
+ helpDescription: string;
1479
+ hasDetailedHelp: true;
1480
+ helpFooterLabel: string;
1481
+ mutating: true;
1482
+ requiresResource: true;
1483
+ resources: string[];
1484
+ flags: {
1485
+ maxJobsToActivate: {
1486
+ type: "string";
1487
+ description: string;
1488
+ };
1489
+ timeout: {
1490
+ type: "string";
1491
+ description: string;
1492
+ };
1493
+ worker: {
1494
+ type: "string";
1495
+ description: string;
1496
+ };
1497
+ };
1498
+ resourcePositionals: {
1499
+ jobs: readonly [{
1500
+ readonly name: "type";
1501
+ readonly required: true;
1502
+ }];
1503
+ };
1504
+ };
1505
+ resolve: {
1506
+ description: string;
1507
+ helpDescription: string;
1508
+ hasDetailedHelp: true;
1509
+ helpFooterLabel: string;
1510
+ mutating: true;
1511
+ requiresResource: true;
1512
+ resources: string[];
1513
+ flags: {};
1514
+ resourcePositionals: {
1515
+ incident: readonly [{
1516
+ readonly name: "key";
1517
+ readonly required: true;
1518
+ readonly validate: typeof IncidentKey.assumeExists;
1519
+ }];
1520
+ };
1521
+ };
1522
+ publish: {
1523
+ description: string;
1524
+ helpDescription: string;
1525
+ hasDetailedHelp: true;
1526
+ helpFooterLabel: string;
1527
+ mutating: true;
1528
+ requiresResource: true;
1529
+ resources: string[];
1530
+ flags: {
1531
+ correlationKey: {
1532
+ type: "string";
1533
+ description: string;
1534
+ };
1535
+ variables: {
1536
+ type: "string";
1537
+ description: string;
1538
+ };
1539
+ timeToLive: {
1540
+ type: "string";
1541
+ description: string;
1542
+ };
1543
+ };
1544
+ resourcePositionals: {
1545
+ message: readonly [{
1546
+ readonly name: "name";
1547
+ readonly required: true;
1548
+ }];
1549
+ };
1550
+ };
1551
+ correlate: {
1552
+ description: string;
1553
+ helpDescription: string;
1554
+ hasDetailedHelp: true;
1555
+ helpFooterLabel: string;
1556
+ mutating: true;
1557
+ requiresResource: true;
1558
+ resources: string[];
1559
+ flags: {
1560
+ correlationKey: {
1561
+ type: "string";
1562
+ description: string;
1563
+ required: true;
1564
+ };
1565
+ variables: {
1566
+ type: "string";
1567
+ description: string;
1568
+ };
1569
+ timeToLive: {
1570
+ type: "string";
1571
+ description: string;
1572
+ };
1573
+ };
1574
+ resourcePositionals: {
1575
+ message: readonly [{
1576
+ readonly name: "name";
1577
+ readonly required: true;
1578
+ }];
1579
+ };
1580
+ };
1581
+ deploy: {
1582
+ description: string;
1583
+ helpDescription: string;
1584
+ helpResource: string;
1585
+ hasDetailedHelp: true;
1586
+ helpFooterLabel: string;
1587
+ mutating: true;
1588
+ requiresResource: false;
1589
+ helpExamples: {
1590
+ command: string;
1591
+ description: string;
1592
+ }[];
1593
+ resources: never[];
1594
+ flags: {};
1595
+ };
1596
+ run: {
1597
+ description: string;
1598
+ helpDescription: string;
1599
+ helpResource: string;
1600
+ hasDetailedHelp: true;
1601
+ helpFooterLabel: string;
1602
+ mutating: true;
1603
+ requiresResource: true;
1604
+ helpExamples: {
1605
+ command: string;
1606
+ description: string;
1607
+ }[];
1608
+ resources: never[];
1609
+ flags: {
1610
+ variables: {
1611
+ type: "string";
1612
+ description: string;
1613
+ };
1614
+ };
1615
+ };
1616
+ assign: {
1617
+ description: string;
1618
+ helpDescription: string;
1619
+ helpResource: string;
1620
+ hasDetailedHelp: true;
1621
+ helpFooterLabel: string;
1622
+ mutating: true;
1623
+ requiresResource: true;
1624
+ helpExamples: {
1625
+ command: string;
1626
+ description: string;
1627
+ }[];
1628
+ resources: string[];
1629
+ flags: {
1630
+ "to-user": {
1631
+ readonly type: "string";
1632
+ readonly description: "Target user ID";
1633
+ };
1634
+ "to-group": {
1635
+ readonly type: "string";
1636
+ readonly description: "Target group ID";
1637
+ };
1638
+ "to-tenant": {
1639
+ readonly type: "string";
1640
+ readonly description: "Target tenant ID";
1641
+ };
1642
+ "to-mapping-rule": {
1643
+ readonly type: "string";
1644
+ readonly description: "Target mapping rule ID";
1645
+ };
1646
+ };
1647
+ resourcePositionals: {
1648
+ role: readonly [{
1649
+ readonly name: "roleId";
1650
+ readonly required: true;
1651
+ }];
1652
+ user: readonly [{
1653
+ readonly name: "username";
1654
+ readonly required: true;
1655
+ readonly validate: typeof Username.assumeExists;
1656
+ }];
1657
+ group: readonly [{
1658
+ readonly name: "groupId";
1659
+ readonly required: true;
1660
+ }];
1661
+ "mapping-rule": readonly [{
1662
+ readonly name: "mappingRuleId";
1663
+ readonly required: true;
1664
+ }];
1665
+ };
1666
+ };
1667
+ unassign: {
1668
+ description: string;
1669
+ helpDescription: string;
1670
+ helpResource: string;
1671
+ hasDetailedHelp: true;
1672
+ helpFooterLabel: string;
1673
+ mutating: true;
1674
+ requiresResource: true;
1675
+ helpExamples: {
1676
+ command: string;
1677
+ description: string;
1678
+ }[];
1679
+ resources: string[];
1680
+ flags: {
1681
+ "from-user": {
1682
+ readonly type: "string";
1683
+ readonly description: "Source user ID";
1684
+ };
1685
+ "from-group": {
1686
+ readonly type: "string";
1687
+ readonly description: "Source group ID";
1688
+ };
1689
+ "from-tenant": {
1690
+ readonly type: "string";
1691
+ readonly description: "Source tenant ID";
1692
+ };
1693
+ "from-mapping-rule": {
1694
+ readonly type: "string";
1695
+ readonly description: "Source mapping rule ID";
1696
+ };
1697
+ };
1698
+ resourcePositionals: {
1699
+ role: readonly [{
1700
+ readonly name: "roleId";
1701
+ readonly required: true;
1702
+ }];
1703
+ user: readonly [{
1704
+ readonly name: "username";
1705
+ readonly required: true;
1706
+ readonly validate: typeof Username.assumeExists;
1707
+ }];
1708
+ group: readonly [{
1709
+ readonly name: "groupId";
1710
+ readonly required: true;
1711
+ }];
1712
+ "mapping-rule": readonly [{
1713
+ readonly name: "mappingRuleId";
1714
+ readonly required: true;
1715
+ }];
1716
+ };
1717
+ };
1718
+ watch: {
1719
+ description: string;
1720
+ helpDescription: string;
1721
+ helpResource: string;
1722
+ hasDetailedHelp: true;
1723
+ helpFooterLabel: string;
1724
+ mutating: false;
1725
+ requiresResource: false;
1726
+ helpExamples: {
1727
+ command: string;
1728
+ description: string;
1729
+ }[];
1730
+ resources: never[];
1731
+ flags: {
1732
+ force: {
1733
+ type: "boolean";
1734
+ description: string;
1735
+ };
1736
+ };
1737
+ aliases: string[];
1738
+ };
1739
+ open: {
1740
+ description: string;
1741
+ helpDescription: string;
1742
+ helpResource: string;
1743
+ hasDetailedHelp: true;
1744
+ helpFooterLabel: string;
1745
+ mutating: false;
1746
+ requiresResource: true;
1747
+ helpExamples: {
1748
+ command: string;
1749
+ description: string;
1750
+ }[];
1751
+ resources: string[];
1752
+ flags: {};
1753
+ };
1754
+ add: {
1755
+ description: string;
1756
+ mutating: false;
1757
+ requiresResource: true;
1758
+ resources: string[];
1759
+ flags: {
1760
+ baseUrl: {
1761
+ readonly type: "string";
1762
+ readonly description: "Cluster base URL";
1763
+ };
1764
+ clientId: {
1765
+ readonly type: "string";
1766
+ readonly description: "OAuth client ID";
1767
+ };
1768
+ clientSecret: {
1769
+ readonly type: "string";
1770
+ readonly description: "OAuth client secret";
1771
+ };
1772
+ audience: {
1773
+ readonly type: "string";
1774
+ readonly description: "OAuth audience";
1775
+ };
1776
+ oAuthUrl: {
1777
+ readonly type: "string";
1778
+ readonly description: "OAuth token URL";
1779
+ };
1780
+ defaultTenantId: {
1781
+ readonly type: "string";
1782
+ readonly description: "Default tenant ID";
1783
+ };
1784
+ username: {
1785
+ readonly type: "string";
1786
+ readonly description: "Basic auth username";
1787
+ };
1788
+ password: {
1789
+ readonly type: "string";
1790
+ readonly description: "Basic auth password";
1791
+ };
1792
+ "from-file": {
1793
+ readonly type: "string";
1794
+ readonly description: "Import from .env file";
1795
+ };
1796
+ "from-env": {
1797
+ readonly type: "boolean";
1798
+ readonly description: "Import from environment variables";
1799
+ };
1800
+ };
1801
+ resourcePositionals: {
1802
+ profile: readonly [{
1803
+ readonly name: "name";
1804
+ readonly required: true;
1805
+ }];
1806
+ };
1807
+ };
1808
+ remove: {
1809
+ description: string;
1810
+ helpResource: string;
1811
+ helpDescription: string;
1812
+ mutating: false;
1813
+ requiresResource: true;
1814
+ resources: string[];
1815
+ flags: {
1816
+ none: {
1817
+ type: "boolean";
1818
+ description: string;
1819
+ };
1820
+ };
1821
+ aliases: string[];
1822
+ resourcePositionals: {
1823
+ profile: readonly [{
1824
+ readonly name: "name";
1825
+ readonly required: true;
1826
+ }];
1827
+ plugin: readonly [{
1828
+ readonly name: "package";
1829
+ readonly required: true;
1830
+ }];
1831
+ };
1832
+ };
1833
+ load: {
1834
+ description: string;
1835
+ helpResource: string;
1836
+ helpDescription: string;
1837
+ mutating: false;
1838
+ requiresResource: true;
1839
+ helpExamples: {
1840
+ command: string;
1841
+ description: string;
1842
+ }[];
1843
+ resources: string[];
1844
+ flags: {
1845
+ from: {
1846
+ type: "string";
1847
+ description: string;
1848
+ showInTopLevelHelp: true;
1849
+ helpHint: string;
1850
+ };
1851
+ };
1852
+ resourcePositionals: {
1853
+ plugin: readonly [{
1854
+ readonly name: "package";
1855
+ readonly required: false;
1856
+ }];
1857
+ };
1858
+ };
1859
+ unload: {
1860
+ description: string;
1861
+ helpResource: string;
1862
+ helpDescription: string;
1863
+ mutating: false;
1864
+ requiresResource: true;
1865
+ resources: string[];
1866
+ flags: {
1867
+ force: {
1868
+ type: "boolean";
1869
+ description: string;
1870
+ };
1871
+ };
1872
+ aliases: string[];
1873
+ resourcePositionals: {
1874
+ plugin: readonly [{
1875
+ readonly name: "package";
1876
+ readonly required: true;
1877
+ }];
1878
+ };
1879
+ };
1880
+ upgrade: {
1881
+ description: string;
1882
+ helpResource: string;
1883
+ helpDescription: string;
1884
+ mutating: false;
1885
+ requiresResource: true;
1886
+ helpExamples: {
1887
+ command: string;
1888
+ description: string;
1889
+ }[];
1890
+ resources: string[];
1891
+ flags: {};
1892
+ resourcePositionals: {
1893
+ plugin: readonly [{
1894
+ readonly name: "package";
1895
+ readonly required: true;
1896
+ }, {
1897
+ readonly name: "version";
1898
+ readonly required: false;
1899
+ }];
1900
+ };
1901
+ };
1902
+ downgrade: {
1903
+ description: string;
1904
+ helpResource: string;
1905
+ mutating: false;
1906
+ requiresResource: true;
1907
+ resources: string[];
1908
+ flags: {};
1909
+ resourcePositionals: {
1910
+ plugin: readonly [{
1911
+ readonly name: "package";
1912
+ readonly required: true;
1913
+ }, {
1914
+ readonly name: "version";
1915
+ readonly required: true;
1916
+ }];
1917
+ };
1918
+ };
1919
+ sync: {
1920
+ description: string;
1921
+ helpDescription: string;
1922
+ mutating: false;
1923
+ requiresResource: true;
1924
+ helpExamples: {
1925
+ command: string;
1926
+ description: string;
1927
+ }[];
1928
+ resources: string[];
1929
+ flags: {};
1930
+ };
1931
+ init: {
1932
+ description: string;
1933
+ mutating: false;
1934
+ requiresResource: true;
1935
+ helpExamples: {
1936
+ command: string;
1937
+ description: string;
1938
+ }[];
1939
+ resources: string[];
1940
+ flags: {};
1941
+ resourcePositionals: {
1942
+ plugin: readonly [{
1943
+ readonly name: "name";
1944
+ readonly required: false;
1945
+ }];
1946
+ };
1947
+ };
1948
+ use: {
1949
+ description: string;
1950
+ helpResource: string;
1951
+ mutating: false;
1952
+ requiresResource: true;
1953
+ helpExamples: {
1954
+ command: string;
1955
+ description: string;
1956
+ }[];
1957
+ resources: string[];
1958
+ flags: {
1959
+ none: {
1960
+ type: "boolean";
1961
+ description: string;
1962
+ };
1963
+ };
1964
+ resourcePositionals: {
1965
+ profile: readonly [{
1966
+ readonly name: "name";
1967
+ readonly required: false;
1968
+ }];
1969
+ tenant: readonly [{
1970
+ readonly name: "tenantId";
1971
+ readonly required: true;
1972
+ }];
1973
+ };
1974
+ };
1975
+ output: {
1976
+ description: string;
1977
+ helpResource: string;
1978
+ mutating: false;
1979
+ requiresResource: false;
1980
+ helpExamples: {
1981
+ command: string;
1982
+ description: string;
1983
+ }[];
1984
+ resources: string[];
1985
+ flags: {};
1986
+ };
1987
+ completion: {
1988
+ description: string;
1989
+ helpResource: string;
1990
+ mutating: true;
1991
+ requiresResource: false;
1992
+ helpExamples: {
1993
+ command: string;
1994
+ description: string;
1995
+ }[];
1996
+ resources: string[];
1997
+ flags: {};
1998
+ resourceFlags: {
1999
+ install: {
2000
+ shell: {
2001
+ type: "string";
2002
+ description: string;
2003
+ };
2004
+ };
2005
+ };
2006
+ };
2007
+ "mcp-proxy": {
2008
+ description: string;
2009
+ helpDescription: string;
2010
+ helpResource: string;
2011
+ hasDetailedHelp: true;
2012
+ helpFooterLabel: string;
2013
+ mutating: false;
2014
+ requiresResource: false;
2015
+ resources: never[];
2016
+ flags: {};
2017
+ };
2018
+ feedback: {
2019
+ description: string;
2020
+ mutating: false;
2021
+ requiresResource: false;
2022
+ resources: never[];
2023
+ flags: {};
2024
+ };
2025
+ help: {
2026
+ description: string;
2027
+ helpResource: string;
2028
+ helpDescription: string;
2029
+ mutating: false;
2030
+ requiresResource: false;
2031
+ resources: never[];
2032
+ flags: {};
2033
+ aliases: string[];
2034
+ };
2035
+ which: {
2036
+ description: string;
2037
+ mutating: false;
2038
+ requiresResource: true;
2039
+ helpExamples: {
2040
+ command: string;
2041
+ description: string;
2042
+ }[];
2043
+ resources: string[];
2044
+ flags: {};
2045
+ };
2046
+ };
2047
+ /** Union of all known verb names, derived from COMMAND_REGISTRY keys. */
2048
+ export type Verb = keyof typeof COMMAND_REGISTRY;
50
2049
  /**
51
2050
  * Maps verb aliases to their canonical verb names.
52
2051
  * Built from COMMAND_REGISTRY aliases fields.
@@ -68,10 +2067,6 @@ export declare function getCommandDef(verb: string): CommandDef | undefined;
68
2067
  * Get all flags accepted for a given verb, including global flags.
69
2068
  */
70
2069
  export declare function getAcceptedFlags(verb: string): Record<string, FlagDef> | undefined;
71
- /**
72
- * Get the set of resource-specific search flags for a given canonical resource.
73
- */
74
- export declare function getSearchFlagsForResource(resource: string): Set<string> | undefined;
75
2070
  /**
76
2071
  * Check whether a verb×resource combination is valid.
77
2072
  * Accepts both raw aliases and canonical resource names.
@@ -81,6 +2076,11 @@ export declare function isValidCommand(verb: string, resource: string): boolean;
81
2076
  * Derive parseArgs options from the registry. This produces the flat
82
2077
  * options object that node:util parseArgs expects, covering all flags
83
2078
  * from all commands plus global flags.
2079
+ *
2080
+ * When the same flag name appears with different types across commands
2081
+ * (e.g. `--variables` is boolean for `get pi` but string for `create pi`),
2082
+ * "string" wins because parseArgs with `type: "string"` can accept any
2083
+ * value, whereas `type: "boolean"` would discard the string payload.
84
2084
  */
85
2085
  export declare function deriveParseArgsOptions(): Record<string, {
86
2086
  type: "string" | "boolean";