@camunda8/cli 1.1.0 → 2.0.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 (47) hide show
  1. package/README.md +98 -39
  2. package/dist/client.d.ts.map +1 -1
  3. package/dist/client.js +1 -1
  4. package/dist/client.js.map +1 -1
  5. package/dist/commands/completion.d.ts.map +1 -1
  6. package/dist/commands/completion.js +108 -9
  7. package/dist/commands/completion.js.map +1 -1
  8. package/dist/commands/deployments.d.ts.map +1 -1
  9. package/dist/commands/deployments.js +289 -49
  10. package/dist/commands/deployments.js.map +1 -1
  11. package/dist/commands/forms.d.ts +26 -0
  12. package/dist/commands/forms.d.ts.map +1 -0
  13. package/dist/commands/forms.js +125 -0
  14. package/dist/commands/forms.js.map +1 -0
  15. package/dist/commands/help.d.ts +24 -0
  16. package/dist/commands/help.d.ts.map +1 -1
  17. package/dist/commands/help.js +238 -9
  18. package/dist/commands/help.js.map +1 -1
  19. package/dist/commands/incidents.d.ts +6 -0
  20. package/dist/commands/incidents.d.ts.map +1 -1
  21. package/dist/commands/incidents.js +15 -0
  22. package/dist/commands/incidents.js.map +1 -1
  23. package/dist/commands/plugins.d.ts +5 -0
  24. package/dist/commands/plugins.d.ts.map +1 -1
  25. package/dist/commands/plugins.js +190 -23
  26. package/dist/commands/plugins.js.map +1 -1
  27. package/dist/commands/process-instances.d.ts +12 -2
  28. package/dist/commands/process-instances.d.ts.map +1 -1
  29. package/dist/commands/process-instances.js +55 -4
  30. package/dist/commands/process-instances.js.map +1 -1
  31. package/dist/commands/profiles.d.ts +17 -8
  32. package/dist/commands/profiles.d.ts.map +1 -1
  33. package/dist/commands/profiles.js +74 -35
  34. package/dist/commands/profiles.js.map +1 -1
  35. package/dist/commands/session.js +3 -3
  36. package/dist/commands/session.js.map +1 -1
  37. package/dist/config.d.ts +104 -49
  38. package/dist/config.d.ts.map +1 -1
  39. package/dist/config.js +306 -165
  40. package/dist/config.js.map +1 -1
  41. package/dist/index.js +100 -16
  42. package/dist/index.js.map +1 -1
  43. package/dist/plugin-registry.d.ts +45 -0
  44. package/dist/plugin-registry.d.ts.map +1 -0
  45. package/dist/plugin-registry.js +101 -0
  46. package/dist/plugin-registry.js.map +1 -0
  47. package/package.json +1 -1
@@ -5,8 +5,9 @@ import { getLogger } from "../logger.js";
5
5
  import { createClient } from "../client.js";
6
6
  import { resolveTenantId } from "../config.js";
7
7
  import { readFileSync, readdirSync, statSync, existsSync } from 'node:fs';
8
- import { join, dirname, extname, basename } from 'node:path';
8
+ import { join, dirname, extname, basename, relative } from 'node:path';
9
9
  const RESOURCE_EXTENSIONS = ['.bpmn', '.dmn', '.form'];
10
+ const PROCESS_APPLICATION_FILE = '.process-application';
10
11
  /**
11
12
  * Extract process/decision IDs from BPMN/DMN files to detect duplicates
12
13
  */
@@ -34,23 +35,65 @@ function extractDefinitionId(content, extension) {
34
35
  function isBuildingBlockFolder(path) {
35
36
  return basename(path).includes('_bb-');
36
37
  }
38
+ /**
39
+ * Check if a directory contains a .process-application file
40
+ */
41
+ function hasProcessApplicationFile(dirPath) {
42
+ const paFilePath = join(dirPath, PROCESS_APPLICATION_FILE);
43
+ return existsSync(paFilePath);
44
+ }
45
+ /**
46
+ * Find the root building block or process application folder by traversing up the path
47
+ * Returns the path to the group root, or null if not in a group
48
+ */
49
+ function findGroupRoot(filePath, basePath) {
50
+ let currentDir = dirname(filePath);
51
+ // Traverse up the directory tree until we reach or go outside basePath
52
+ while (true) {
53
+ // Check if we've gone outside the basePath
54
+ const rel = relative(basePath, currentDir);
55
+ if (rel.startsWith('..') || rel === '') {
56
+ break;
57
+ }
58
+ // Check if this directory is a building block
59
+ if (isBuildingBlockFolder(currentDir)) {
60
+ return { type: 'bb', root: currentDir };
61
+ }
62
+ // Check if this directory has a .process-application file
63
+ if (hasProcessApplicationFile(currentDir)) {
64
+ return { type: 'pa', root: currentDir };
65
+ }
66
+ // Move up one level
67
+ const parentDir = dirname(currentDir);
68
+ if (parentDir === currentDir)
69
+ break; // Reached filesystem root
70
+ currentDir = parentDir;
71
+ }
72
+ return { type: null, root: null };
73
+ }
37
74
  /**
38
75
  * Recursively collect resource files from a directory
39
76
  */
40
- function collectResourceFiles(dirPath, collected = []) {
77
+ function collectResourceFiles(dirPath, collected = [], basePath) {
41
78
  if (!existsSync(dirPath)) {
42
79
  return collected;
43
80
  }
81
+ // Set basePath to dirPath on first call
82
+ if (!basePath) {
83
+ basePath = dirPath;
84
+ }
44
85
  const stat = statSync(dirPath);
45
86
  if (stat.isFile()) {
46
87
  const ext = extname(dirPath);
47
88
  if (RESOURCE_EXTENSIONS.includes(ext)) {
48
- const parentDir = dirname(dirPath);
89
+ const groupInfo = findGroupRoot(dirPath, basePath);
49
90
  collected.push({
50
91
  path: dirPath,
51
92
  name: basename(dirPath),
52
93
  content: readFileSync(dirPath),
53
- isBuildingBlock: isBuildingBlockFolder(parentDir),
94
+ isBuildingBlock: groupInfo.type === 'bb',
95
+ isProcessApplication: groupInfo.type === 'pa',
96
+ groupPath: groupInfo.root || undefined,
54
97
  });
55
98
  }
56
99
  return collected;
@@ -80,21 +123,24 @@ function collectResourceFiles(dirPath, collected = []) {
80
123
  files.forEach(file => {
81
124
  const ext = extname(file);
82
125
  if (RESOURCE_EXTENSIONS.includes(ext)) {
126
+ const groupInfo = findGroupRoot(file, basePath);
83
127
  collected.push({
84
128
  path: file,
85
129
  name: basename(file),
86
130
  content: readFileSync(file),
87
- isBuildingBlock: isBuildingBlockFolder(dirPath),
131
+ isBuildingBlock: groupInfo.type === 'bb',
132
+ isProcessApplication: groupInfo.type === 'pa',
133
+ groupPath: groupInfo.root || undefined,
88
134
  });
89
135
  }
90
136
  });
91
137
  // Process building block folders first (prioritized)
92
138
  bbFolders.forEach(bbFolder => {
93
- collectResourceFiles(bbFolder, collected);
139
+ collectResourceFiles(bbFolder, collected, basePath);
94
140
  });
95
141
  // Then process regular folders
96
142
  regularFolders.forEach(regularFolder => {
97
- collectResourceFiles(regularFolder, collected);
143
+ collectResourceFiles(regularFolder, collected, basePath);
98
144
  });
99
145
  }
100
146
  return collected;
@@ -121,8 +167,10 @@ export async function deploy(paths, options) {
121
167
  const logger = getLogger();
122
168
  const client = createClient(options.profile);
123
169
  const tenantId = resolveTenantId(options.profile);
170
+ const resources = [];
124
171
  try {
125
- const resources = [];
172
+ // Store the base paths for relative path calculation
173
+ const basePaths = paths.length === 0 ? [process.cwd()] : paths;
126
174
  if (paths.length === 0) {
127
175
  logger.error('No paths provided. Use: c8 deploy <path> or c8 deploy (for current directory)');
128
176
  process.exit(1);
@@ -135,12 +183,42 @@ export async function deploy(paths, options) {
135
183
  logger.error('No BPMN/DMN/Form files found in the specified paths');
136
184
  process.exit(1);
137
185
  }
138
- // Sort: building blocks first, then by path
186
+ // Calculate relative paths for display
187
+ const basePath = basePaths.length === 1 ? basePaths[0] : process.cwd();
188
+ resources.forEach(r => {
189
+ r.relativePath = relative(basePath, r.path) || r.name;
190
+ });
191
+ // Sort: group resources by their group, with building blocks first, then process applications, then standalone
139
192
  resources.sort((a, b) => {
193
+ // Building blocks have highest priority
140
194
  if (a.isBuildingBlock && !b.isBuildingBlock)
141
195
  return -1;
142
196
  if (!a.isBuildingBlock && b.isBuildingBlock)
143
197
  return 1;
198
+ // Within building blocks, group by groupPath
199
+ if (a.isBuildingBlock && b.isBuildingBlock) {
200
+ if (a.groupPath && b.groupPath) {
201
+ const groupCompare = a.groupPath.localeCompare(b.groupPath);
202
+ if (groupCompare !== 0)
203
+ return groupCompare;
204
+ }
205
+ return a.path.localeCompare(b.path);
206
+ }
207
+ // Process applications come next
208
+ if (a.isProcessApplication && !b.isProcessApplication)
209
+ return -1;
210
+ if (!a.isProcessApplication && b.isProcessApplication)
211
+ return 1;
212
+ // Within process applications, group by groupPath
213
+ if (a.isProcessApplication && b.isProcessApplication) {
214
+ if (a.groupPath && b.groupPath) {
215
+ const groupCompare = a.groupPath.localeCompare(b.groupPath);
216
+ if (groupCompare !== 0)
217
+ return groupCompare;
218
+ }
219
+ return a.path.localeCompare(b.path);
220
+ }
221
+ // Finally, standalone resources sorted by path
144
222
  return a.path.localeCompare(b.path);
145
223
  });
146
224
  // Validate for duplicate process/decision IDs
@@ -153,6 +231,23 @@ export async function deploy(paths, options) {
153
231
  process.exit(1);
154
232
  }
155
233
  logger.info(`Deploying ${resources.length} resource(s)...`);
234
+ // Create a mapping from definition ID to resource file for later reference
235
+ const definitionIdToResource = new Map();
236
+ const formNameToResource = new Map();
237
+ resources.forEach(r => {
238
+ const ext = extname(r.path);
239
+ if (ext === '.bpmn' || ext === '.dmn') {
240
+ const defId = extractDefinitionId(r.content, ext);
241
+ if (defId) {
242
+ definitionIdToResource.set(defId, r);
243
+ }
244
+ }
245
+ else if (ext === '.form') {
246
+ // Forms are matched by filename (without extension)
247
+ const formId = basename(r.name, '.form');
248
+ formNameToResource.set(formId, r);
249
+ }
250
+ });
156
251
  // Create deployment request - convert buffers to File objects with proper MIME types
157
252
  const result = await client.createDeployment({
158
253
  tenantId,
@@ -168,55 +263,200 @@ export async function deploy(paths, options) {
168
263
  }),
169
264
  });
170
265
  logger.success('Deployment successful', result.deploymentKey.toString());
171
- // Display deployed resources
172
- const tableData = [];
173
- result.processes.forEach(proc => {
174
- tableData.push({
175
- Type: 'Process',
176
- ID: proc.processDefinitionId,
177
- Version: proc.processDefinitionVersion,
178
- Key: proc.processDefinitionKey.toString(),
179
- });
180
- });
181
- result.decisions.forEach(dec => {
182
- tableData.push({
183
- Type: 'Decision',
184
- ID: dec.decisionDefinitionId || '-',
185
- Version: dec.version ?? '-',
186
- Key: dec.decisionDefinitionKey?.toString() || '-',
187
- });
266
+ // Normalize all deployed resources into a common structure
267
+ const allResources = [
268
+ ...result.processes.map(proc => ({
269
+ type: 'Process',
270
+ id: proc.processDefinitionId,
271
+ version: proc.processDefinitionVersion,
272
+ key: proc.processDefinitionKey.toString(),
273
+ resource: definitionIdToResource.get(proc.processDefinitionId),
274
+ })),
275
+ ...result.decisions.map(dec => ({
276
+ type: 'Decision',
277
+ id: dec.decisionDefinitionId || '-',
278
+ version: dec.version ?? '-',
279
+ key: dec.decisionDefinitionKey?.toString() || '-',
280
+ resource: definitionIdToResource.get(dec.decisionDefinitionId || ''),
281
+ })),
282
+ ...result.forms.map(form => ({
283
+ type: 'Form',
284
+ id: form.formId || '-',
285
+ version: form.version ?? '-',
286
+ key: form.formKey?.toString() || '-',
287
+ resource: formNameToResource.get(form.formId || ''),
288
+ })),
289
+ ];
290
+ const tableData = allResources.map(({ type, id, version, key, resource }) => {
291
+ const fileDisplay = resource
292
+ ? `${resource.isBuildingBlock ? '🧱 ' : ''}${resource.isProcessApplication ? '📦 ' : ''}${resource.relativePath || resource.name}`
293
+ : '-';
294
+ // Extract directory path for grouping (e.g., "bla/_bb-building-block" or "pa")
295
+ const sortKey = resource?.relativePath
296
+ ? resource.relativePath.substring(0, resource.relativePath.lastIndexOf('/') + 1) || resource.relativePath
297
+ : 'zzz'; // Resources without paths go last
298
+ return {
299
+ File: fileDisplay,
300
+ Type: type,
301
+ ID: id,
302
+ Version: version,
303
+ Key: key,
304
+ sortKey,
305
+ };
188
306
  });
189
- result.forms.forEach(form => {
190
- tableData.push({
191
- Type: 'Form',
192
- ID: form.formId || '-',
193
- Version: form.version ?? '-',
194
- Key: form.formKey?.toString() || '-',
195
- });
307
+ // Sort by directory path (grouping), then by file name
308
+ tableData.sort((a, b) => {
309
+ if (a.sortKey !== b.sortKey) {
310
+ return a.sortKey.localeCompare(b.sortKey);
311
+ }
312
+ return a.File.localeCompare(b.File);
196
313
  });
197
- if (tableData.length > 0) {
198
- logger.table(tableData);
314
+ // Remove sortKey before displaying
315
+ const displayData = tableData.map(({ File, Type, ID, Version, Key }) => ({ File, Type, ID, Version, Key }));
316
+ if (displayData.length > 0) {
317
+ logger.table(displayData);
199
318
  }
200
319
  }
201
320
  catch (error) {
202
- // Log detailed error information
203
- if (error && typeof error === 'object') {
204
- const err = error;
205
- logger.error('Failed to deploy resources', error);
206
- if (err.response) {
207
- console.error('API Response:', err.response);
208
- }
209
- if (err.message) {
210
- console.error('Error message:', err.message);
211
- }
212
- if (err.cause) {
213
- console.error('Error cause:', err.cause);
321
+ handleDeploymentError(error, resources, logger);
322
+ }
323
+ }
324
+ /**
325
+ * Format and display deployment errors with actionable guidance
326
+ */
327
+ function handleDeploymentError(error, resources, logger) {
328
+ const raw = (error && typeof error === 'object') ? error : {};
329
+ // Try to interpret common transport/network issues first for actionable guidance
330
+ const deriveNetworkErrorTitle = (err) => {
331
+ const anyErr = err;
332
+ const code = typeof anyErr?.code === 'string'
333
+ ? anyErr.code
334
+ : (typeof anyErr?.cause?.code === 'string'
335
+ ? anyErr.cause.code
336
+ : undefined);
337
+ if (!code && typeof anyErr?.name === 'string') {
338
+ // Handle fetch/abort style errors
339
+ if (anyErr.name === 'AbortError') {
340
+ return 'Request to Camunda cluster timed out or was aborted. Please check your network connection and try again.';
214
341
  }
215
342
  }
343
+ switch (code) {
344
+ case 'ECONNREFUSED':
345
+ return 'Cannot connect to Camunda cluster (connection refused). Verify the endpoint URL and that the cluster is reachable.';
346
+ case 'ENOTFOUND':
347
+ return 'Cannot resolve Camunda cluster host. Check the cluster URL and your DNS/network configuration.';
348
+ case 'EHOSTUNREACH':
349
+ return 'Camunda cluster host is unreachable. Check VPN/proxy settings and your network connectivity.';
350
+ case 'ECONNRESET':
351
+ return 'Connection to Camunda cluster was reset. Retry the operation and check for intermittent network issues.';
352
+ case 'ETIMEDOUT':
353
+ return 'Request to Camunda cluster timed out. Check your network connection and consider retrying.';
354
+ default:
355
+ return undefined;
356
+ }
357
+ };
358
+ // Extract RFC 9457 Problem Detail fields and other useful signals
359
+ const problemTitle = typeof raw.title === 'string' ? raw.title : undefined;
360
+ const networkTitle = deriveNetworkErrorTitle(error);
361
+ const errorInstanceTitle = error instanceof Error && typeof error.message === 'string' && error.message
362
+ ? error.message
363
+ : undefined;
364
+ const messageFieldTitle = typeof raw.message === 'string' ? raw.message : undefined;
365
+ const title = problemTitle ??
366
+ networkTitle ??
367
+ errorInstanceTitle ??
368
+ messageFieldTitle ??
369
+ 'Unknown error (unexpected error format; re-run with increased logging or check network configuration).';
370
+ const detail = typeof raw.detail === 'string' ? raw.detail : undefined;
371
+ const status = typeof raw.status === 'number' ? raw.status : undefined;
372
+ // Display the main error
373
+ logger.error('Deployment failed', new Error(title));
374
+ // Display the detailed error message if available
375
+ if (detail) {
376
+ console.error('\n' + formatDeploymentErrorDetail(detail));
377
+ }
378
+ // Provide actionable hints based on error type
379
+ console.error('');
380
+ printDeploymentHints(title, detail, status, resources);
381
+ process.exit(1);
382
+ }
383
+ /**
384
+ * Format the error detail for better readability
385
+ */
386
+ function formatDeploymentErrorDetail(detail) {
387
+ // The detail often contains embedded newlines, format them nicely
388
+ const lines = detail.split('\n').map(line => line.trim()).filter(Boolean);
389
+ // Find the main message and the file-specific errors
390
+ const result = [];
391
+ let inFileError = false;
392
+ for (const line of lines) {
393
+ if (line.startsWith("'") && (line.includes('.bpmn') || line.includes('.dmn') || line.includes('.form'))) {
394
+ // This is a file-specific error
395
+ inFileError = true;
396
+ result.push(` 📄 ${line}`);
397
+ }
398
+ else if (line.startsWith('- Element:')) {
399
+ result.push(` ${line}`);
400
+ }
401
+ else if (line.startsWith('- ERROR:') || line.startsWith('- WARNING:')) {
402
+ const icon = line.startsWith('- ERROR:') ? '❌' : '⚠️';
403
+ result.push(` ${icon} ${line.substring(2)}`);
404
+ }
405
+ else if (inFileError && line.startsWith('-')) {
406
+ result.push(` ${line}`);
407
+ }
216
408
  else {
217
- logger.error('Failed to deploy resources', error);
409
+ result.push(` ${line}`);
410
+ }
411
+ }
412
+ return result.join('\n');
413
+ }
414
+ /**
415
+ * Print actionable hints based on the error type
416
+ */
417
+ function printDeploymentHints(title, detail, status, resources) {
418
+ const hints = [];
419
+ if (title === 'INVALID_ARGUMENT') {
420
+ if (detail?.includes('Must reference a message')) {
421
+ hints.push('💡 A message start event or intermediate catch event is missing a message reference.');
422
+ hints.push(' Open the BPMN file in Camunda Modeler and configure the message name.');
423
+ }
424
+ if (detail?.includes('duplicate')) {
425
+ hints.push('💡 Resource IDs must be unique within a deployment.');
426
+ hints.push(' Check for duplicate process/decision IDs in your files.');
427
+ }
428
+ if (detail?.includes('parsing') || detail?.includes('syntax')) {
429
+ hints.push('💡 The resource file contains syntax errors.');
430
+ hints.push(' Validate the file in Camunda Modeler or check the XML/JSON structure.');
431
+ }
432
+ }
433
+ else if (title === 'RESOURCE_EXHAUSTED') {
434
+ hints.push('💡 The server is under heavy load (backpressure).');
435
+ hints.push(' Wait a moment and retry the deployment.');
436
+ }
437
+ else if (title === 'NOT_FOUND' || status === 404) {
438
+ hints.push('💡 The Camunda server could not be reached or the endpoint was not found.');
439
+ hints.push(' Check your connection settings with: c8 list profiles');
440
+ }
441
+ else if (title === 'UNAUTHENTICATED' || title === 'PERMISSION_DENIED' || status === 401 || status === 403) {
442
+ hints.push('💡 Authentication or authorization failed.');
443
+ hints.push(' Check your credentials and permissions for the current profile.');
444
+ }
445
+ else {
446
+ hints.push('💡 Review the error message above for specific issues.');
447
+ hints.push(' You may need to fix the resource files before deploying.');
448
+ }
449
+ // Show which files were being deployed
450
+ if (resources.length > 0) {
451
+ hints.push('');
452
+ hints.push(`📁 Resources attempted (${resources.length}):`);
453
+ resources.slice(0, 5).forEach(r => {
454
+ hints.push(` - ${r.relativePath || r.name}`);
455
+ });
456
+ if (resources.length > 5) {
457
+ hints.push(` ... and ${resources.length - 5} more`);
218
458
  }
219
- process.exit(1);
220
459
  }
460
+ hints.forEach(h => console.error(h));
221
461
  }
222
462
  //# sourceMappingURL=deployments.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"deployments.js","sourceRoot":"","sources":["../../src/commands/deployments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deployments.js","sourceRoot":"","sources":["../../src/commands/deployments.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Form commands
3
+ */
4
+ /**
5
+ * Get form for a user task
6
+ */
7
+ export declare function getUserTaskForm(userTaskKey: string, options: {
8
+ profile?: string;
9
+ }): Promise<Record<string, unknown> | undefined>;
10
+ /**
11
+ * Get start form for a process definition
12
+ */
13
+ export declare function getStartForm(processDefinitionKey: string, options: {
14
+ profile?: string;
15
+ }): Promise<Record<string, unknown> | undefined>;
16
+ /**
17
+ * Get form by trying both user task and process definition APIs
18
+ */
19
+ export declare function getForm(key: string, options: {
20
+ profile?: string;
21
+ }): Promise<{
22
+ type: string;
23
+ key: string;
24
+ form: Record<string, unknown>;
25
+ } | undefined>;
26
+ //# sourceMappingURL=forms.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forms.d.ts","sourceRoot":"","sources":["../../src/commands/forms.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;GAEG;AACH,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC,CAyB/C;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,oBAAoB,EAAE,MAAM,EAAE,OAAO,EAAE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC,CAyB/C;AAED;;GAEG;AACH,wBAAsB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG,SAAS,CAAC,CAmEpF"}
@@ -0,0 +1,125 @@
1
+ /**
2
+ * Form commands
3
+ */
4
+ import { getLogger } from "../logger.js";
5
+ import { createClient } from "../client.js";
6
+ /**
7
+ * Get form for a user task
8
+ */
9
+ export async function getUserTaskForm(userTaskKey, options) {
10
+ const logger = getLogger();
11
+ const client = createClient(options.profile);
12
+ try {
13
+ const result = await client.getUserTaskForm({ userTaskKey: userTaskKey }, { consistency: { waitUpToMs: 0 } });
14
+ // API returns null when user task exists but has no form
15
+ if (result === null || result === undefined) {
16
+ logger.info('User task found but has no associated form');
17
+ return undefined;
18
+ }
19
+ logger.json(result);
20
+ return result;
21
+ }
22
+ catch (error) {
23
+ // Handle 204 No Content (user task exists but has no form)
24
+ if (error.statusCode === 204 || error.status === 204) {
25
+ logger.info('User task found but has no associated form');
26
+ return undefined;
27
+ }
28
+ logger.error(`Failed to get form for user task ${userTaskKey}`, error);
29
+ process.exit(1);
30
+ }
31
+ }
32
+ /**
33
+ * Get start form for a process definition
34
+ */
35
+ export async function getStartForm(processDefinitionKey, options) {
36
+ const logger = getLogger();
37
+ const client = createClient(options.profile);
38
+ try {
39
+ const result = await client.getStartProcessForm({ processDefinitionKey: processDefinitionKey }, { consistency: { waitUpToMs: 0 } });
40
+ // API returns null when process definition exists but has no start form
41
+ if (result === null || result === undefined) {
42
+ logger.info('Process definition found but has no associated start form');
43
+ return undefined;
44
+ }
45
+ logger.json(result);
46
+ return result;
47
+ }
48
+ catch (error) {
49
+ // Handle 204 No Content (process definition exists but has no form)
50
+ if (error.statusCode === 204 || error.status === 204) {
51
+ logger.info('Process definition found but has no associated start form');
52
+ return undefined;
53
+ }
54
+ logger.error(`Failed to get start form for process definition ${processDefinitionKey}`, error);
55
+ process.exit(1);
56
+ }
57
+ }
58
+ /**
59
+ * Get form by trying both user task and process definition APIs
60
+ */
61
+ export async function getForm(key, options) {
62
+ const logger = getLogger();
63
+ const client = createClient(options.profile);
64
+ const results = [];
65
+ const errors = [];
66
+ // Try user task form
67
+ try {
68
+ const result = await client.getUserTaskForm({ userTaskKey: key }, { consistency: { waitUpToMs: 0 } });
69
+ if (result !== null && result !== undefined) {
70
+ results.push({ type: 'user task', key, form: result });
71
+ }
72
+ }
73
+ catch (error) {
74
+ // 204 means resource exists but no form - not an error
75
+ if (error.statusCode !== 204 && error.status !== 204) {
76
+ errors.push({ type: 'user task', error });
77
+ }
78
+ }
79
+ // Try process definition form
80
+ try {
81
+ const result = await client.getStartProcessForm({ processDefinitionKey: key }, { consistency: { waitUpToMs: 0 } });
82
+ if (result !== null && result !== undefined) {
83
+ results.push({ type: 'process definition', key, form: result });
84
+ }
85
+ }
86
+ catch (error) {
87
+ // 204 means resource exists but no form - not an error
88
+ if (error.statusCode !== 204 && error.status !== 204) {
89
+ errors.push({ type: 'process definition', error });
90
+ }
91
+ }
92
+ // Report results
93
+ if (results.length === 0) {
94
+ if (errors.length === 0) {
95
+ logger.info('No form found for user task or process definition');
96
+ return undefined;
97
+ }
98
+ else if (errors.length === 1) {
99
+ logger.error(`Failed to get form: not found as ${errors[0].type}`, errors[0].error);
100
+ process.exit(1);
101
+ }
102
+ else {
103
+ logger.error(`Failed to get form: not found as user task or process definition`);
104
+ process.exit(1);
105
+ }
106
+ }
107
+ else if (results.length === 1) {
108
+ const keyType = results[0].type === 'user task' ? 'userTaskKey' : 'processDefinitionKey';
109
+ logger.info(`Form found for ${results[0].type} (${keyType}: ${key}):`);
110
+ logger.json(results[0].form);
111
+ return { type: results[0].type, key, form: results[0].form };
112
+ }
113
+ else {
114
+ logger.info(`Form found in both user task and process definition (key: ${key}):`);
115
+ const combined = {
116
+ userTaskKey: key,
117
+ userTask: results.find(r => r.type === 'user task')?.form,
118
+ processDefinitionKey: key,
119
+ processDefinition: results.find(r => r.type === 'process definition')?.form,
120
+ };
121
+ logger.json(combined);
122
+ return { type: 'both', key, form: combined };
123
+ }
124
+ }
125
+ //# sourceMappingURL=forms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forms.js","sourceRoot":"","sources":["../../src/commands/forms.ts"],"names":[],"mappings":"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"}