@camunda8/cli 2.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +387 -0
  3. package/dist/client.d.ts +9 -0
  4. package/dist/client.d.ts.map +1 -0
  5. package/dist/client.js +39 -0
  6. package/dist/client.js.map +1 -0
  7. package/dist/commands/deployments.d.ts +10 -0
  8. package/dist/commands/deployments.d.ts.map +1 -0
  9. package/dist/commands/deployments.js +221 -0
  10. package/dist/commands/deployments.js.map +1 -0
  11. package/dist/commands/help.d.ts +20 -0
  12. package/dist/commands/help.d.ts.map +1 -0
  13. package/dist/commands/help.js +116 -0
  14. package/dist/commands/help.js.map +1 -0
  15. package/dist/commands/incidents.d.ts +18 -0
  16. package/dist/commands/incidents.d.ts.map +1 -0
  17. package/dist/commands/incidents.js +62 -0
  18. package/dist/commands/incidents.js.map +1 -0
  19. package/dist/commands/jobs.d.ts +36 -0
  20. package/dist/commands/jobs.d.ts.map +1 -0
  21. package/dist/commands/jobs.js +129 -0
  22. package/dist/commands/jobs.js.map +1 -0
  23. package/dist/commands/messages.d.ts +22 -0
  24. package/dist/commands/messages.d.ts.map +1 -0
  25. package/dist/commands/messages.js +48 -0
  26. package/dist/commands/messages.js.map +1 -0
  27. package/dist/commands/plugins.d.ts +17 -0
  28. package/dist/commands/plugins.d.ts.map +1 -0
  29. package/dist/commands/plugins.js +113 -0
  30. package/dist/commands/plugins.js.map +1 -0
  31. package/dist/commands/process-instances.d.ts +34 -0
  32. package/dist/commands/process-instances.d.ts.map +1 -0
  33. package/dist/commands/process-instances.js +116 -0
  34. package/dist/commands/process-instances.js.map +1 -0
  35. package/dist/commands/profiles.d.ts +23 -0
  36. package/dist/commands/profiles.d.ts.map +1 -0
  37. package/dist/commands/profiles.js +76 -0
  38. package/dist/commands/profiles.js.map +1 -0
  39. package/dist/commands/run.d.ts +11 -0
  40. package/dist/commands/run.d.ts.map +1 -0
  41. package/dist/commands/run.js +61 -0
  42. package/dist/commands/run.js.map +1 -0
  43. package/dist/commands/session.d.ts +20 -0
  44. package/dist/commands/session.d.ts.map +1 -0
  45. package/dist/commands/session.js +54 -0
  46. package/dist/commands/session.js.map +1 -0
  47. package/dist/commands/topology.d.ts +10 -0
  48. package/dist/commands/topology.d.ts.map +1 -0
  49. package/dist/commands/topology.js +21 -0
  50. package/dist/commands/topology.js.map +1 -0
  51. package/dist/commands/user-tasks.d.ts +20 -0
  52. package/dist/commands/user-tasks.d.ts.map +1 -0
  53. package/dist/commands/user-tasks.js +78 -0
  54. package/dist/commands/user-tasks.js.map +1 -0
  55. package/dist/commands/watch.d.ts +10 -0
  56. package/dist/commands/watch.d.ts.map +1 -0
  57. package/dist/commands/watch.js +76 -0
  58. package/dist/commands/watch.js.map +1 -0
  59. package/dist/config.d.ts +129 -0
  60. package/dist/config.d.ts.map +1 -0
  61. package/dist/config.js +356 -0
  62. package/dist/config.js.map +1 -0
  63. package/dist/index.d.ts +7 -0
  64. package/dist/index.d.ts.map +1 -0
  65. package/dist/index.js +405 -0
  66. package/dist/index.js.map +1 -0
  67. package/dist/logger.d.ts +22 -0
  68. package/dist/logger.d.ts.map +1 -0
  69. package/dist/logger.js +132 -0
  70. package/dist/logger.js.map +1 -0
  71. package/dist/plugin-loader.d.ts +32 -0
  72. package/dist/plugin-loader.d.ts.map +1 -0
  73. package/dist/plugin-loader.js +104 -0
  74. package/dist/plugin-loader.js.map +1 -0
  75. package/dist/runtime.d.ts +20 -0
  76. package/dist/runtime.d.ts.map +1 -0
  77. package/dist/runtime.js +35 -0
  78. package/dist/runtime.js.map +1 -0
  79. package/package.json +61 -0
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Message commands
3
+ */
4
+ /**
5
+ * Publish message
6
+ */
7
+ export declare function publishMessage(name: string, options: {
8
+ profile?: string;
9
+ correlationKey?: string;
10
+ variables?: string;
11
+ timeToLive?: number;
12
+ }): Promise<void>;
13
+ /**
14
+ * Correlate message (same as publish in most cases)
15
+ */
16
+ export declare function correlateMessage(name: string, options: {
17
+ profile?: string;
18
+ correlationKey?: string;
19
+ variables?: string;
20
+ timeToLive?: number;
21
+ }): Promise<void>;
22
+ //# sourceMappingURL=messages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/commands/messages.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH;;GAEG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BhB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,IAAI,CAAC,CAIhB"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Message commands
3
+ */
4
+ import { getLogger } from "../logger.js";
5
+ import { createClient } from "../client.js";
6
+ import { resolveTenantId } from "../config.js";
7
+ /**
8
+ * Publish message
9
+ */
10
+ export async function publishMessage(name, options) {
11
+ const logger = getLogger();
12
+ const client = createClient(options.profile);
13
+ const tenantId = resolveTenantId(options.profile);
14
+ try {
15
+ const request = {
16
+ name,
17
+ tenantId,
18
+ correlationKey: options.correlationKey || '',
19
+ };
20
+ if (options.variables) {
21
+ try {
22
+ request.variables = JSON.parse(options.variables);
23
+ }
24
+ catch (error) {
25
+ logger.error('Invalid JSON for variables', error);
26
+ process.exit(1);
27
+ }
28
+ }
29
+ if (options.timeToLive !== undefined) {
30
+ request.timeToLive = options.timeToLive;
31
+ }
32
+ await client.publishMessage(request);
33
+ logger.success(`Message '${name}' published`);
34
+ }
35
+ catch (error) {
36
+ logger.error(`Failed to publish message '${name}'`, error);
37
+ process.exit(1);
38
+ }
39
+ }
40
+ /**
41
+ * Correlate message (same as publish in most cases)
42
+ */
43
+ export async function correlateMessage(name, options) {
44
+ // For now, correlate is the same as publish
45
+ // In the SDK, both use the same underlying method
46
+ await publishMessage(name, options);
47
+ }
48
+ //# sourceMappingURL=messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/commands/messages.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAY,EAAE,OAKlD;IACC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAElD,IAAI,CAAC;QACH,MAAM,OAAO,GAAQ;YACnB,IAAI;YACJ,QAAQ;YACR,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,EAAE;SAC7C,CAAC;QAEF,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC;gBACH,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACpD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAc,CAAC,CAAC;gBAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAC1C,CAAC;QAED,MAAM,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,CAAC,OAAO,CAAC,YAAY,IAAI,aAAa,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,8BAA8B,IAAI,GAAG,EAAE,KAAc,CAAC,CAAC;QACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAY,EAAE,OAKpD;IACC,4CAA4C;IAC5C,kDAAkD;IAClD,MAAM,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACtC,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Plugin management commands
3
+ */
4
+ /**
5
+ * Load a plugin (npm install wrapper)
6
+ * Supports either package name or --from flag with URL
7
+ */
8
+ export declare function loadPlugin(packageNameOrFrom?: string, fromUrl?: string): Promise<void>;
9
+ /**
10
+ * Unload a plugin (npm uninstall wrapper)
11
+ */
12
+ export declare function unloadPlugin(packageName: string): Promise<void>;
13
+ /**
14
+ * List installed plugins
15
+ */
16
+ export declare function listPlugins(): void;
17
+ //# sourceMappingURL=plugins.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../src/commands/plugins.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH;;;GAGG;AACH,wBAAsB,UAAU,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkC5F;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBrE;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CA8ClC"}
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Plugin management commands
3
+ */
4
+ import { getLogger } from "../logger.js";
5
+ import { execSync } from 'node:child_process';
6
+ import { readFileSync, existsSync } from 'node:fs';
7
+ import { join } from 'node:path';
8
+ import { clearLoadedPlugins } from "../plugin-loader.js";
9
+ /**
10
+ * Load a plugin (npm install wrapper)
11
+ * Supports either package name or --from flag with URL
12
+ */
13
+ export async function loadPlugin(packageNameOrFrom, fromUrl) {
14
+ const logger = getLogger();
15
+ // Validate exclusive usage
16
+ if (packageNameOrFrom && fromUrl) {
17
+ logger.error('Cannot specify both package name and --from flag. Use either "c8 load plugin <name>" or "c8 load plugin --from <url>"');
18
+ process.exit(1);
19
+ }
20
+ if (!packageNameOrFrom && !fromUrl) {
21
+ logger.error('Package name or --from URL required. Usage: c8 load plugin <package-name> OR c8 load plugin --from <url>');
22
+ process.exit(1);
23
+ }
24
+ try {
25
+ if (fromUrl) {
26
+ // Install from URL (file://, https://, git://, etc.)
27
+ logger.info(`Loading plugin from: ${fromUrl}...`);
28
+ execSync(`npm install ${fromUrl}`, { stdio: 'inherit' });
29
+ logger.success('Plugin loaded successfully from URL', fromUrl);
30
+ }
31
+ else {
32
+ // Install from npm registry by package name
33
+ logger.info(`Loading plugin: ${packageNameOrFrom}...`);
34
+ execSync(`npm install ${packageNameOrFrom}`, { stdio: 'inherit' });
35
+ logger.success('Plugin loaded successfully', packageNameOrFrom);
36
+ }
37
+ // Note: Plugin will be available on next CLI invocation
38
+ // We don't reload in the same process to avoid module cache issues
39
+ logger.info('Plugin will be available on next command execution');
40
+ }
41
+ catch (error) {
42
+ logger.error('Failed to load plugin', error);
43
+ process.exit(1);
44
+ }
45
+ }
46
+ /**
47
+ * Unload a plugin (npm uninstall wrapper)
48
+ */
49
+ export async function unloadPlugin(packageName) {
50
+ const logger = getLogger();
51
+ if (!packageName) {
52
+ logger.error('Package name required. Usage: c8 unload plugin <package-name>');
53
+ process.exit(1);
54
+ }
55
+ try {
56
+ logger.info(`Unloading plugin: ${packageName}...`);
57
+ execSync(`npm uninstall ${packageName}`, { stdio: 'inherit' });
58
+ // Clear the loaded plugins cache so the plugin is no longer available
59
+ // This affects the current process - plugin will be gone immediately
60
+ clearLoadedPlugins();
61
+ logger.success('Plugin unloaded successfully', packageName);
62
+ logger.info('Plugin commands are no longer available');
63
+ }
64
+ catch (error) {
65
+ logger.error('Failed to unload plugin', error);
66
+ process.exit(1);
67
+ }
68
+ }
69
+ /**
70
+ * List installed plugins
71
+ */
72
+ export function listPlugins() {
73
+ const logger = getLogger();
74
+ try {
75
+ // Read package.json to find c8ctl plugins
76
+ const packageJsonPath = join(process.cwd(), 'package.json');
77
+ const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
78
+ const dependencies = packageJson.dependencies || {};
79
+ const devDependencies = packageJson.devDependencies || {};
80
+ const allDeps = { ...dependencies, ...devDependencies };
81
+ // Filter for potential plugins (packages with c8ctl-plugin.js or c8ctl-plugin.ts)
82
+ const plugins = [];
83
+ for (const [name, version] of Object.entries(allDeps)) {
84
+ try {
85
+ // Try to resolve the package
86
+ const packageDir = join(process.cwd(), 'node_modules', name);
87
+ // Check if package has c8ctl-plugin.js or c8ctl-plugin.ts file in root
88
+ const hasPluginFile = existsSync(join(packageDir, 'c8ctl-plugin.js')) ||
89
+ existsSync(join(packageDir, 'c8ctl-plugin.ts'));
90
+ if (hasPluginFile) {
91
+ plugins.push({
92
+ Name: name,
93
+ Version: version,
94
+ Type: dependencies[name] ? 'dependency' : 'devDependency',
95
+ });
96
+ }
97
+ }
98
+ catch {
99
+ // Skip packages that can't be read
100
+ }
101
+ }
102
+ if (plugins.length === 0) {
103
+ logger.info('No c8ctl plugins installed');
104
+ return;
105
+ }
106
+ logger.table(plugins);
107
+ }
108
+ catch (error) {
109
+ logger.error('Failed to list plugins', error);
110
+ process.exit(1);
111
+ }
112
+ }
113
+ //# sourceMappingURL=plugins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/commands/plugins.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,iBAA0B,EAAE,OAAgB;IAC3E,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,2BAA2B;IAC3B,IAAI,iBAAiB,IAAI,OAAO,EAAE,CAAC;QACjC,MAAM,CAAC,KAAK,CAAC,uHAAuH,CAAC,CAAC;QACtI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,iBAAiB,IAAI,CAAC,OAAO,EAAE,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,0GAA0G,CAAC,CAAC;QACzH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,IAAI,OAAO,EAAE,CAAC;YACZ,qDAAqD;YACrD,MAAM,CAAC,IAAI,CAAC,wBAAwB,OAAO,KAAK,CAAC,CAAC;YAClD,QAAQ,CAAC,eAAe,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YACzD,MAAM,CAAC,OAAO,CAAC,qCAAqC,EAAE,OAAO,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,4CAA4C;YAC5C,MAAM,CAAC,IAAI,CAAC,mBAAmB,iBAAiB,KAAK,CAAC,CAAC;YACvD,QAAQ,CAAC,eAAe,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YACnE,MAAM,CAAC,OAAO,CAAC,4BAA4B,EAAE,iBAAiB,CAAC,CAAC;QAClE,CAAC;QAED,wDAAwD;QACxD,mEAAmE;QACnE,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;IACpE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAc,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,WAAmB;IACpD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;QAC9E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,qBAAqB,WAAW,KAAK,CAAC,CAAC;QACnD,QAAQ,CAAC,iBAAiB,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAE/D,sEAAsE;QACtE,qEAAqE;QACrE,kBAAkB,EAAE,CAAC;QAErB,MAAM,CAAC,OAAO,CAAC,8BAA8B,EAAE,WAAW,CAAC,CAAC;QAC5D,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAc,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,IAAI,CAAC;QACH,0CAA0C;QAC1C,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;QAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;QAEvE,MAAM,YAAY,GAAG,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC;QACpD,MAAM,eAAe,GAAG,WAAW,CAAC,eAAe,IAAI,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,eAAe,EAAE,CAAC;QAExD,kFAAkF;QAClF,MAAM,OAAO,GAAyD,EAAE,CAAC;QAEzE,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACtD,IAAI,CAAC;gBACH,6BAA6B;gBAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;gBAE7D,uEAAuE;gBACvE,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;oBAChD,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC;gBAErE,IAAI,aAAa,EAAE,CAAC;oBAClB,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,IAAI;wBACV,OAAO,EAAE,OAAiB;wBAC1B,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe;qBAC1D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,mCAAmC;YACrC,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAc,CAAC,CAAC;QACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Process instance commands
3
+ */
4
+ /**
5
+ * List process instances
6
+ */
7
+ export declare function listProcessInstances(options: {
8
+ profile?: string;
9
+ processDefinitionId?: string;
10
+ state?: string;
11
+ all?: boolean;
12
+ }): Promise<void>;
13
+ /**
14
+ * Get process instance by key
15
+ */
16
+ export declare function getProcessInstance(key: string, options: {
17
+ profile?: string;
18
+ }): Promise<void>;
19
+ /**
20
+ * Create process instance
21
+ */
22
+ export declare function createProcessInstance(options: {
23
+ profile?: string;
24
+ processDefinitionId?: string;
25
+ version?: number;
26
+ variables?: string;
27
+ }): Promise<void>;
28
+ /**
29
+ * Cancel process instance
30
+ */
31
+ export declare function cancelProcessInstance(key: string, options: {
32
+ profile?: string;
33
+ }): Promise<void>;
34
+ //# sourceMappingURL=process-instances.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process-instances.d.ts","sourceRoot":"","sources":["../../src/commands/process-instances.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,GAAG,OAAO,CAAC,IAAI,CAAC,CAyChB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,IAAI,CAAC,CAWhB;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmChB;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,IAAI,CAAC,CAWhB"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Process instance commands
3
+ */
4
+ import { getLogger } from "../logger.js";
5
+ import { createClient } from "../client.js";
6
+ import { resolveTenantId } from "../config.js";
7
+ /**
8
+ * List process instances
9
+ */
10
+ export async function listProcessInstances(options) {
11
+ const logger = getLogger();
12
+ const client = createClient(options.profile);
13
+ const tenantId = resolveTenantId(options.profile);
14
+ try {
15
+ const filter = {
16
+ filter: {
17
+ tenantId,
18
+ },
19
+ };
20
+ if (options.processDefinitionId) {
21
+ filter.filter.processDefinitionId = options.processDefinitionId;
22
+ }
23
+ if (options.state) {
24
+ filter.filter.state = options.state;
25
+ }
26
+ else if (!options.all) {
27
+ // By default, exclude COMPLETED instances unless --all is specified
28
+ filter.filter.state = 'ACTIVE';
29
+ }
30
+ const result = await client.searchProcessInstances(filter, { consistency: { waitUpToMs: 0 } });
31
+ if (result.items && result.items.length > 0) {
32
+ const tableData = result.items.map((pi) => ({
33
+ Key: pi.processInstanceKey || pi.key,
34
+ 'Process ID': pi.processDefinitionId,
35
+ State: pi.state,
36
+ Version: pi.processDefinitionVersion || pi.version,
37
+ 'Tenant ID': pi.tenantId,
38
+ }));
39
+ logger.table(tableData);
40
+ }
41
+ else {
42
+ logger.info('No process instances found');
43
+ }
44
+ }
45
+ catch (error) {
46
+ logger.error('Failed to list process instances', error);
47
+ process.exit(1);
48
+ }
49
+ }
50
+ /**
51
+ * Get process instance by key
52
+ */
53
+ export async function getProcessInstance(key, options) {
54
+ const logger = getLogger();
55
+ const client = createClient(options.profile);
56
+ try {
57
+ const result = await client.getProcessInstance({ processInstanceKey: key }, { consistency: { waitUpToMs: 0 } });
58
+ logger.json(result);
59
+ }
60
+ catch (error) {
61
+ logger.error(`Failed to get process instance ${key}`, error);
62
+ process.exit(1);
63
+ }
64
+ }
65
+ /**
66
+ * Create process instance
67
+ */
68
+ export async function createProcessInstance(options) {
69
+ const logger = getLogger();
70
+ const client = createClient(options.profile);
71
+ const tenantId = resolveTenantId(options.profile);
72
+ if (!options.processDefinitionId) {
73
+ logger.error('processDefinitionId is required. Use --processDefinitionId flag');
74
+ process.exit(1);
75
+ }
76
+ try {
77
+ const request = {
78
+ processDefinitionId: options.processDefinitionId,
79
+ tenantId,
80
+ };
81
+ if (options.version !== undefined) {
82
+ request.processDefinitionVersion = options.version;
83
+ }
84
+ if (options.variables) {
85
+ try {
86
+ request.variables = JSON.parse(options.variables);
87
+ }
88
+ catch (error) {
89
+ logger.error('Invalid JSON for variables', error);
90
+ process.exit(1);
91
+ }
92
+ }
93
+ const result = await client.createProcessInstance(request);
94
+ logger.success('Process instance created', result.processInstanceKey);
95
+ }
96
+ catch (error) {
97
+ logger.error('Failed to create process instance', error);
98
+ process.exit(1);
99
+ }
100
+ }
101
+ /**
102
+ * Cancel process instance
103
+ */
104
+ export async function cancelProcessInstance(key, options) {
105
+ const logger = getLogger();
106
+ const client = createClient(options.profile);
107
+ try {
108
+ await client.cancelProcessInstance({ processInstanceKey: key });
109
+ logger.success(`Process instance ${key} cancelled`);
110
+ }
111
+ catch (error) {
112
+ logger.error(`Failed to cancel process instance ${key}`, error);
113
+ process.exit(1);
114
+ }
115
+ }
116
+ //# sourceMappingURL=process-instances.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process-instances.js","sourceRoot":"","sources":["../../src/commands/process-instances.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAK1C;IACC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAElD,IAAI,CAAC;QACH,MAAM,MAAM,GAAQ;YAClB,MAAM,EAAE;gBACN,QAAQ;aACT;SACF,CAAC;QAEF,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;YAChC,MAAM,CAAC,MAAM,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;QAClE,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QACtC,CAAC;aAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACxB,oEAAoE;YACpE,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC;QACjC,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAE/F,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,CAAC;gBAC/C,GAAG,EAAE,EAAE,CAAC,kBAAkB,IAAI,EAAE,CAAC,GAAG;gBACpC,YAAY,EAAE,EAAE,CAAC,mBAAmB;gBACpC,KAAK,EAAE,EAAE,CAAC,KAAK;gBACf,OAAO,EAAE,EAAE,CAAC,wBAAwB,IAAI,EAAE,CAAC,OAAO;gBAClD,WAAW,EAAE,EAAE,CAAC,QAAQ;aACzB,CAAC,CAAC,CAAC;YACJ,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAc,CAAC,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,GAAW,EAAE,OAErD;IACC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAE7C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,EAAE,GAAU,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACvH,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,kCAAkC,GAAG,EAAE,EAAE,KAAc,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAK3C;IACC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAElD,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;QACjC,MAAM,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;QAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAQ;YACnB,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;YAChD,QAAQ;SACT,CAAC;QAEF,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO,CAAC,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC;QACrD,CAAC;QAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC;gBACH,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACpD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAc,CAAC,CAAC;gBAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,CAAC,OAAO,CAAC,0BAA0B,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACxE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAc,CAAC,CAAC;QAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,GAAW,EAAE,OAExD;IACC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAE7C,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,qBAAqB,CAAC,EAAE,kBAAkB,EAAE,GAAU,EAAE,CAAC,CAAC;QACvE,MAAM,CAAC,OAAO,CAAC,oBAAoB,GAAG,YAAY,CAAC,CAAC;IACtD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,qCAAqC,GAAG,EAAE,EAAE,KAAc,CAAC,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Profile management commands
3
+ */
4
+ /**
5
+ * List all profiles
6
+ */
7
+ export declare function listProfiles(): void;
8
+ /**
9
+ * Add a profile
10
+ */
11
+ export declare function addProfile(name: string, options: {
12
+ baseUrl?: string;
13
+ clientId?: string;
14
+ clientSecret?: string;
15
+ audience?: string;
16
+ oAuthUrl?: string;
17
+ defaultTenantId?: string;
18
+ }): void;
19
+ /**
20
+ * Remove a profile
21
+ */
22
+ export declare function removeProfile(name: string): void;
23
+ //# sourceMappingURL=profiles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../src/commands/profiles.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH;;GAEG;AACH,wBAAgB,YAAY,IAAI,IAAI,CA2CnC;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG,IAAI,CAqBP;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAUhD"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Profile management commands
3
+ */
4
+ import { getLogger } from "../logger.js";
5
+ import { loadProfiles, addProfile as addProfileToConfig, removeProfile as removeProfileFromConfig, loadModelerProfiles, convertModelerProfile, } from "../config.js";
6
+ /**
7
+ * List all profiles
8
+ */
9
+ export function listProfiles() {
10
+ const logger = getLogger();
11
+ const c8ctlProfiles = loadProfiles();
12
+ const modelerProfiles = loadModelerProfiles();
13
+ const totalProfiles = c8ctlProfiles.length + modelerProfiles.length;
14
+ if (totalProfiles === 0) {
15
+ logger.info('No profiles configured');
16
+ return;
17
+ }
18
+ const tableData = [];
19
+ // Add c8ctl profiles
20
+ for (const p of c8ctlProfiles) {
21
+ tableData.push({
22
+ Name: p.name,
23
+ 'Base URL': p.baseUrl,
24
+ 'Client ID': p.clientId || '(none)',
25
+ 'Default Tenant': p.defaultTenantId || '<default>',
26
+ });
27
+ }
28
+ // Add modeler profiles with 'modeler:' prefix
29
+ for (const mp of modelerProfiles) {
30
+ const converted = convertModelerProfile(mp);
31
+ tableData.push({
32
+ Name: converted.name,
33
+ 'Base URL': converted.baseUrl,
34
+ 'Client ID': converted.clientId || '(none)',
35
+ 'Default Tenant': converted.defaultTenantId || '<default>',
36
+ });
37
+ }
38
+ logger.table(tableData);
39
+ }
40
+ /**
41
+ * Add a profile
42
+ */
43
+ export function addProfile(name, options) {
44
+ const logger = getLogger();
45
+ // Validate required fields
46
+ if (!options.baseUrl) {
47
+ logger.error('Base URL is required. Use --baseUrl flag');
48
+ process.exit(1);
49
+ }
50
+ const profile = {
51
+ name,
52
+ baseUrl: options.baseUrl,
53
+ clientId: options.clientId,
54
+ clientSecret: options.clientSecret,
55
+ audience: options.audience,
56
+ oAuthUrl: options.oAuthUrl,
57
+ defaultTenantId: options.defaultTenantId,
58
+ };
59
+ addProfileToConfig(profile);
60
+ logger.success(`Profile '${name}' added`);
61
+ }
62
+ /**
63
+ * Remove a profile
64
+ */
65
+ export function removeProfile(name) {
66
+ const logger = getLogger();
67
+ const removed = removeProfileFromConfig(name);
68
+ if (removed) {
69
+ logger.success(`Profile '${name}' removed`);
70
+ }
71
+ else {
72
+ logger.error(`Profile '${name}' not found`);
73
+ process.exit(1);
74
+ }
75
+ }
76
+ //# sourceMappingURL=profiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/commands/profiles.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EACL,YAAY,EACZ,UAAU,IAAI,kBAAkB,EAChC,aAAa,IAAI,uBAAuB,EACxC,mBAAmB,EACnB,qBAAqB,GAEtB,MAAM,cAAc,CAAC;AAEtB;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,aAAa,GAAG,YAAY,EAAE,CAAC;IACrC,MAAM,eAAe,GAAG,mBAAmB,EAAE,CAAC;IAE9C,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;IAEpE,IAAI,aAAa,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACtC,OAAO;IACT,CAAC;IASD,MAAM,SAAS,GAAsB,EAAE,CAAC;IAExC,qBAAqB;IACrB,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;QAC9B,SAAS,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,UAAU,EAAE,CAAC,CAAC,OAAO;YACrB,WAAW,EAAE,CAAC,CAAC,QAAQ,IAAI,QAAQ;YACnC,gBAAgB,EAAE,CAAC,CAAC,eAAe,IAAI,WAAW;SACnD,CAAC,CAAC;IACL,CAAC;IAED,8CAA8C;IAC9C,KAAK,MAAM,EAAE,IAAI,eAAe,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,qBAAqB,CAAC,EAAE,CAAC,CAAC;QAC5C,SAAS,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,UAAU,EAAE,SAAS,CAAC,OAAO;YAC7B,WAAW,EAAE,SAAS,CAAC,QAAQ,IAAI,QAAQ;YAC3C,gBAAgB,EAAE,SAAS,CAAC,eAAe,IAAI,WAAW;SAC3D,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,OAOxC;IACC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,2BAA2B;IAC3B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAY;QACvB,IAAI;QACJ,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,eAAe,EAAE,OAAO,CAAC,eAAe;KACzC,CAAC;IAEF,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,CAAC,OAAO,CAAC,YAAY,IAAI,SAAS,CAAC,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,OAAO,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,CAAC,OAAO,CAAC,YAAY,IAAI,WAAW,CAAC,CAAC;IAC9C,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI,aAAa,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Run command - Deploy and create process instance in one step
3
+ */
4
+ /**
5
+ * Run - deploy and start process instance
6
+ */
7
+ export declare function run(path: string, options: {
8
+ profile?: string;
9
+ variables?: string;
10
+ }): Promise<void>;
11
+ //# sourceMappingURL=run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAAA;;GAEG;AAeH;;GAEG;AACH,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgDhB"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Run command - Deploy and create process instance in one step
3
+ */
4
+ import { getLogger } from "../logger.js";
5
+ import { createClient } from "../client.js";
6
+ import { resolveTenantId } from "../config.js";
7
+ import { readFileSync } from 'node:fs';
8
+ /**
9
+ * Extract process ID from BPMN file
10
+ */
11
+ function extractProcessId(bpmnContent) {
12
+ const match = bpmnContent.match(/process[^>]+id="([^"]+)"/);
13
+ return match ? match[1] : null;
14
+ }
15
+ /**
16
+ * Run - deploy and start process instance
17
+ */
18
+ export async function run(path, options) {
19
+ const logger = getLogger();
20
+ const client = createClient(options.profile);
21
+ const tenantId = resolveTenantId(options.profile);
22
+ try {
23
+ // Read BPMN file
24
+ const content = readFileSync(path, 'utf-8');
25
+ const processId = extractProcessId(content);
26
+ if (!processId) {
27
+ logger.error('Could not extract process ID from BPMN file');
28
+ process.exit(1);
29
+ }
30
+ logger.info(`Deploying ${path}...`);
31
+ // Deploy the BPMN file - convert to File object with proper MIME type
32
+ const fileName = path.split('/').pop() || 'process.bpmn';
33
+ const deployResult = await client.createDeployment({
34
+ tenantId,
35
+ resources: [new File([Buffer.from(content)], fileName, { type: 'application/xml' })],
36
+ });
37
+ logger.success('Deployment successful', deployResult.deploymentKey.toString());
38
+ // Create process instance
39
+ logger.info(`Creating process instance for ${processId}...`);
40
+ const createRequest = {
41
+ processDefinitionId: processId,
42
+ tenantId,
43
+ };
44
+ if (options.variables) {
45
+ try {
46
+ createRequest.variables = JSON.parse(options.variables);
47
+ }
48
+ catch (error) {
49
+ logger.error('Invalid JSON for variables', error);
50
+ process.exit(1);
51
+ }
52
+ }
53
+ const createResult = await client.createProcessInstance(createRequest);
54
+ logger.success('Process instance created', createResult.processInstanceKey);
55
+ }
56
+ catch (error) {
57
+ logger.error('Failed to run process', error);
58
+ process.exit(1);
59
+ }
60
+ }
61
+ //# sourceMappingURL=run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC;;GAEG;AACH,SAAS,gBAAgB,CAAC,WAAmB;IAC3C,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC5D,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAY,EAAE,OAGvC;IACC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAElD,IAAI,CAAC;QACH,iBAAiB;QACjB,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;YAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,KAAK,CAAC,CAAC;QAEpC,sEAAsE;QACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,cAAc,CAAC;QACzD,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC;YACjD,QAAQ;YACR,SAAS,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;SACrF,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,CAAC,uBAAuB,EAAE,YAAY,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE/E,0BAA0B;QAC1B,MAAM,CAAC,IAAI,CAAC,iCAAiC,SAAS,KAAK,CAAC,CAAC;QAE7D,MAAM,aAAa,GAAQ;YACzB,mBAAmB,EAAE,SAAS;YAC9B,QAAQ;SACT,CAAC;QAEF,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC;gBACH,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC1D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAc,CAAC,CAAC;gBAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;QACvE,MAAM,CAAC,OAAO,CAAC,0BAA0B,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAC;IAC9E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAc,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Session management commands (use profile, use tenant, output mode)
3
+ */
4
+ /**
5
+ * Set active profile
6
+ */
7
+ export declare function useProfile(name: string): void;
8
+ /**
9
+ * Set active tenant
10
+ */
11
+ export declare function useTenant(tenantId: string): void;
12
+ /**
13
+ * Set output mode
14
+ */
15
+ export declare function setOutputFormat(mode: string): void;
16
+ /**
17
+ * Show current session state
18
+ */
19
+ export declare function showSessionState(): void;
20
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/commands/session.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAY7C;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAIhD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAclD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CASvC"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Session management commands (use profile, use tenant, output mode)
3
+ */
4
+ import { getLogger } from "../logger.js";
5
+ import { setActiveProfile, setActiveTenant, setOutputMode, getProfile, loadSessionState, } from "../config.js";
6
+ /**
7
+ * Set active profile
8
+ */
9
+ export function useProfile(name) {
10
+ const logger = getLogger();
11
+ // Verify profile exists
12
+ const profile = getProfile(name);
13
+ if (!profile) {
14
+ logger.error(`Profile '${name}' not found`);
15
+ process.exit(1);
16
+ }
17
+ setActiveProfile(name);
18
+ logger.success(`Now using profile: ${name}`);
19
+ }
20
+ /**
21
+ * Set active tenant
22
+ */
23
+ export function useTenant(tenantId) {
24
+ const logger = getLogger();
25
+ setActiveTenant(tenantId);
26
+ logger.success(`Now using tenant: ${tenantId}`);
27
+ }
28
+ /**
29
+ * Set output mode
30
+ */
31
+ export function setOutputFormat(mode) {
32
+ const logger = getLogger();
33
+ if (mode !== 'json' && mode !== 'text') {
34
+ logger.error(`Invalid output mode: ${mode}. Must be 'json' or 'text'`);
35
+ process.exit(1);
36
+ }
37
+ setOutputMode(mode);
38
+ // Update logger immediately
39
+ logger.mode = mode;
40
+ logger.success(`Output mode set to: ${mode}`);
41
+ }
42
+ /**
43
+ * Show current session state
44
+ */
45
+ export function showSessionState() {
46
+ const logger = getLogger();
47
+ const state = loadSessionState();
48
+ logger.info('\nCurrent Session State:');
49
+ logger.info(` Active Profile: ${state.activeProfile || '(none)'}`);
50
+ logger.info(` Active Tenant: ${state.activeTenant || '(none)'}`);
51
+ logger.info(` Output Mode: ${state.outputMode}`);
52
+ logger.info('');
53
+ }
54
+ //# sourceMappingURL=session.js.map