@sfdxy/anypoint-connect 0.15.0 → 0.16.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 (185) hide show
  1. package/README.md +32 -14
  2. package/dist/analysis/LogAnalyzer.d.ts +9 -3
  3. package/dist/analysis/LogAnalyzer.d.ts.map +1 -1
  4. package/dist/analysis/LogAnalyzer.js +28 -17
  5. package/dist/analysis/LogAnalyzer.js.map +1 -1
  6. package/dist/analysis/error-context.d.ts +2 -0
  7. package/dist/analysis/error-context.d.ts.map +1 -1
  8. package/dist/analysis/error-context.js +2 -1
  9. package/dist/analysis/error-context.js.map +1 -1
  10. package/dist/analysis/filter.d.ts +54 -0
  11. package/dist/analysis/filter.d.ts.map +1 -0
  12. package/dist/analysis/filter.js +100 -0
  13. package/dist/analysis/filter.js.map +1 -0
  14. package/dist/analysis/parser.d.ts.map +1 -1
  15. package/dist/analysis/parser.js +31 -14
  16. package/dist/analysis/parser.js.map +1 -1
  17. package/dist/analysis/stats.d.ts +25 -0
  18. package/dist/analysis/stats.d.ts.map +1 -1
  19. package/dist/analysis/stats.js +34 -0
  20. package/dist/analysis/stats.js.map +1 -1
  21. package/dist/analysis/summary.d.ts +51 -0
  22. package/dist/analysis/summary.d.ts.map +1 -0
  23. package/dist/analysis/summary.js +47 -0
  24. package/dist/analysis/summary.js.map +1 -0
  25. package/dist/analysis/types.d.ts +14 -0
  26. package/dist/analysis/types.d.ts.map +1 -1
  27. package/dist/api/ApiManagerApi.d.ts +53 -0
  28. package/dist/api/ApiManagerApi.d.ts.map +1 -1
  29. package/dist/api/ApiManagerApi.js +53 -2
  30. package/dist/api/ApiManagerApi.js.map +1 -1
  31. package/dist/api/CloudHub2Api.d.ts +24 -4
  32. package/dist/api/CloudHub2Api.d.ts.map +1 -1
  33. package/dist/api/CloudHub2Api.js +10 -22
  34. package/dist/api/CloudHub2Api.js.map +1 -1
  35. package/dist/api/ExchangeApi.d.ts +15 -0
  36. package/dist/api/ExchangeApi.d.ts.map +1 -1
  37. package/dist/api/ExchangeApi.js +51 -0
  38. package/dist/api/ExchangeApi.js.map +1 -1
  39. package/dist/api/LogsApi.d.ts +50 -18
  40. package/dist/api/LogsApi.d.ts.map +1 -1
  41. package/dist/api/LogsApi.js +69 -98
  42. package/dist/api/LogsApi.js.map +1 -1
  43. package/dist/api/RuntimesApi.d.ts +56 -0
  44. package/dist/api/RuntimesApi.d.ts.map +1 -0
  45. package/dist/api/RuntimesApi.js +58 -0
  46. package/dist/api/RuntimesApi.js.map +1 -0
  47. package/dist/cli.js +2 -0
  48. package/dist/cli.js.map +1 -1
  49. package/dist/client/AnypointClient.d.ts +2 -0
  50. package/dist/client/AnypointClient.d.ts.map +1 -1
  51. package/dist/client/AnypointClient.js +3 -0
  52. package/dist/client/AnypointClient.js.map +1 -1
  53. package/dist/client/smoke-test.d.ts +111 -0
  54. package/dist/client/smoke-test.d.ts.map +1 -0
  55. package/dist/client/smoke-test.js +275 -0
  56. package/dist/client/smoke-test.js.map +1 -0
  57. package/dist/commands/api.d.ts +1 -1
  58. package/dist/commands/api.d.ts.map +1 -1
  59. package/dist/commands/api.js +147 -10
  60. package/dist/commands/api.js.map +1 -1
  61. package/dist/commands/app-change-cli.d.ts +52 -0
  62. package/dist/commands/app-change-cli.d.ts.map +1 -0
  63. package/dist/commands/app-change-cli.js +149 -0
  64. package/dist/commands/app-change-cli.js.map +1 -0
  65. package/dist/commands/apps.d.ts +1 -1
  66. package/dist/commands/apps.d.ts.map +1 -1
  67. package/dist/commands/apps.js +198 -17
  68. package/dist/commands/apps.js.map +1 -1
  69. package/dist/commands/compare.d.ts +8 -0
  70. package/dist/commands/compare.d.ts.map +1 -0
  71. package/dist/commands/compare.js +104 -0
  72. package/dist/commands/compare.js.map +1 -0
  73. package/dist/commands/deploy.d.ts +4 -3
  74. package/dist/commands/deploy.d.ts.map +1 -1
  75. package/dist/commands/deploy.js +59 -33
  76. package/dist/commands/deploy.js.map +1 -1
  77. package/dist/commands/index.d.ts +1 -0
  78. package/dist/commands/index.d.ts.map +1 -1
  79. package/dist/commands/index.js +1 -0
  80. package/dist/commands/index.js.map +1 -1
  81. package/dist/commands/logs.d.ts +3 -2
  82. package/dist/commands/logs.d.ts.map +1 -1
  83. package/dist/commands/logs.js +142 -17
  84. package/dist/commands/logs.js.map +1 -1
  85. package/dist/commands/runtimes.d.ts +7 -0
  86. package/dist/commands/runtimes.d.ts.map +1 -0
  87. package/dist/commands/runtimes.js +66 -0
  88. package/dist/commands/runtimes.js.map +1 -0
  89. package/dist/config/profiles.d.ts +8 -0
  90. package/dist/config/profiles.d.ts.map +1 -1
  91. package/dist/config/profiles.js.map +1 -1
  92. package/dist/index.d.ts +9 -1
  93. package/dist/index.d.ts.map +1 -1
  94. package/dist/index.js +9 -0
  95. package/dist/index.js.map +1 -1
  96. package/dist/mcp/server.d.ts.map +1 -1
  97. package/dist/mcp/server.js +2 -1
  98. package/dist/mcp/server.js.map +1 -1
  99. package/dist/mcp/tools/analysis.d.ts.map +1 -1
  100. package/dist/mcp/tools/analysis.js +74 -30
  101. package/dist/mcp/tools/analysis.js.map +1 -1
  102. package/dist/mcp/tools/anypoint-mq.d.ts.map +1 -1
  103. package/dist/mcp/tools/anypoint-mq.js +5 -2
  104. package/dist/mcp/tools/anypoint-mq.js.map +1 -1
  105. package/dist/mcp/tools/api-manager.d.ts +2 -1
  106. package/dist/mcp/tools/api-manager.d.ts.map +1 -1
  107. package/dist/mcp/tools/api-manager.js +127 -38
  108. package/dist/mcp/tools/api-manager.js.map +1 -1
  109. package/dist/mcp/tools/app-inputs.d.ts +92 -0
  110. package/dist/mcp/tools/app-inputs.d.ts.map +1 -0
  111. package/dist/mcp/tools/app-inputs.js +142 -0
  112. package/dist/mcp/tools/app-inputs.js.map +1 -0
  113. package/dist/mcp/tools/apps-deploy.d.ts +6 -1
  114. package/dist/mcp/tools/apps-deploy.d.ts.map +1 -1
  115. package/dist/mcp/tools/apps-deploy.js +279 -307
  116. package/dist/mcp/tools/apps-deploy.js.map +1 -1
  117. package/dist/mcp/tools/apps-lifecycle.d.ts +3 -0
  118. package/dist/mcp/tools/apps-lifecycle.d.ts.map +1 -1
  119. package/dist/mcp/tools/apps-lifecycle.js +105 -136
  120. package/dist/mcp/tools/apps-lifecycle.js.map +1 -1
  121. package/dist/mcp/tools/apps-read.d.ts +2 -1
  122. package/dist/mcp/tools/apps-read.d.ts.map +1 -1
  123. package/dist/mcp/tools/apps-read.js +177 -14
  124. package/dist/mcp/tools/apps-read.js.map +1 -1
  125. package/dist/mcp/tools/artifacts.d.ts +8 -0
  126. package/dist/mcp/tools/artifacts.d.ts.map +1 -0
  127. package/dist/mcp/tools/artifacts.js +81 -0
  128. package/dist/mcp/tools/artifacts.js.map +1 -0
  129. package/dist/mcp/tools/index.d.ts +1 -0
  130. package/dist/mcp/tools/index.d.ts.map +1 -1
  131. package/dist/mcp/tools/index.js +1 -0
  132. package/dist/mcp/tools/index.js.map +1 -1
  133. package/dist/mcp/tools/logs.d.ts +48 -2
  134. package/dist/mcp/tools/logs.d.ts.map +1 -1
  135. package/dist/mcp/tools/logs.js +205 -38
  136. package/dist/mcp/tools/logs.js.map +1 -1
  137. package/dist/mcp/tools/shared.d.ts +27 -0
  138. package/dist/mcp/tools/shared.d.ts.map +1 -1
  139. package/dist/mcp/tools/shared.js +42 -0
  140. package/dist/mcp/tools/shared.js.map +1 -1
  141. package/dist/safety/deployment.d.ts +47 -2
  142. package/dist/safety/deployment.d.ts.map +1 -1
  143. package/dist/safety/deployment.js +139 -6
  144. package/dist/safety/deployment.js.map +1 -1
  145. package/dist/safety/paths.d.ts +29 -0
  146. package/dist/safety/paths.d.ts.map +1 -0
  147. package/dist/safety/paths.js +76 -0
  148. package/dist/safety/paths.js.map +1 -0
  149. package/dist/safety/runtime.d.ts +24 -0
  150. package/dist/safety/runtime.d.ts.map +1 -0
  151. package/dist/safety/runtime.js +59 -0
  152. package/dist/safety/runtime.js.map +1 -0
  153. package/dist/safety/secret-sources.d.ts +51 -0
  154. package/dist/safety/secret-sources.d.ts.map +1 -0
  155. package/dist/safety/secret-sources.js +124 -0
  156. package/dist/safety/secret-sources.js.map +1 -0
  157. package/dist/safety/secrets.d.ts +32 -0
  158. package/dist/safety/secrets.d.ts.map +1 -0
  159. package/dist/safety/secrets.js +91 -0
  160. package/dist/safety/secrets.js.map +1 -0
  161. package/dist/utils/errors.d.ts +2 -1
  162. package/dist/utils/errors.d.ts.map +1 -1
  163. package/dist/utils/errors.js +5 -3
  164. package/dist/utils/errors.js.map +1 -1
  165. package/dist/workflows/app-change.d.ts +124 -0
  166. package/dist/workflows/app-change.d.ts.map +1 -0
  167. package/dist/workflows/app-change.js +305 -0
  168. package/dist/workflows/app-change.js.map +1 -0
  169. package/dist/workflows/app-state.d.ts +60 -0
  170. package/dist/workflows/app-state.d.ts.map +1 -0
  171. package/dist/workflows/app-state.js +95 -0
  172. package/dist/workflows/app-state.js.map +1 -0
  173. package/dist/workflows/artifact-compare.d.ts +134 -0
  174. package/dist/workflows/artifact-compare.d.ts.map +1 -0
  175. package/dist/workflows/artifact-compare.js +419 -0
  176. package/dist/workflows/artifact-compare.js.map +1 -0
  177. package/dist/workflows/asset-naming.d.ts +72 -0
  178. package/dist/workflows/asset-naming.d.ts.map +1 -0
  179. package/dist/workflows/asset-naming.js +116 -0
  180. package/dist/workflows/asset-naming.js.map +1 -0
  181. package/dist/workflows/jar-deployment.d.ts +76 -39
  182. package/dist/workflows/jar-deployment.d.ts.map +1 -1
  183. package/dist/workflows/jar-deployment.js +125 -64
  184. package/dist/workflows/jar-deployment.js.map +1 -1
  185. package/package.json +3 -3
@@ -1,40 +1,47 @@
1
1
  /**
2
2
  * Deploy CLI Command
3
3
  * anc deploy <jarPath> --app <name> --env <envName> [--runtime <version>] [--replicas <n>] [--region <target>]
4
- * [--vcores <size>] [--asset-id <id>] [--asset-version <v>] [--group-id <id>] [--dry-run] [--force]
4
+ * [--vcores <size>] [--asset-id <id>] [--asset-version <v>] [--group-id <id>] [settings flags]
5
+ * [--stop-start] [--update-strategy <s>] [--no-wait] [--dry-run] [--force]
5
6
  *
6
- * Publishes the JAR to Exchange using its embedded Maven identity, then creates the deployment
7
- * or — for an existing app — changes only its artifact reference.
7
+ * Publishes the JAR to Exchange, then creates the deployment or, for an existing app, applies the
8
+ * artifact change (plus any runtime or settings change) as one update.
8
9
  */
9
10
  import { Command } from 'commander';
10
- import ora from 'ora';
11
11
  import chalk from 'chalk';
12
12
  import { log } from '../utils/logger.js';
13
13
  import { errorMessage } from '../utils/errors.js';
14
14
  import { isProductionEnv, buildDeploySummary, confirmProductionDeploy } from '../safety/guards.js';
15
15
  import { DEFAULT_REGION, DEFAULT_RUNTIME, DEFAULT_VCORES, VALID_VCORES } from '../safety/deployment.js';
16
+ import { redactText } from '../safety/secrets.js';
16
17
  import { describeJarDeployment, executeJarDeployment, planJarDeployment } from '../workflows/jar-deployment.js';
18
+ import { addRolloutOptions, addRuntimeOptions, addSettingsOptions, printAppChange, rolloutFromOptions, rolloutSpinner, runtimeFromOptions, settingsFromOptions, } from './app-change-cli.js';
17
19
  import { createClient } from './shared.js';
18
20
  export function createDeployCommand() {
19
- return new Command('deploy')
21
+ const command = new Command('deploy')
20
22
  .description('Publish a Mule application JAR to Exchange and deploy it to CloudHub 2.0')
21
23
  .argument('<jarPath>', 'Path to the built application JAR')
22
24
  .requiredOption('-a, --app <name>', 'Application name')
23
25
  .requiredOption('-e, --env <name>', 'Target environment')
24
- .option('--asset-id <id>', 'Exchange asset ID (default: the JAR’s embedded Maven artifactId)')
25
- .option('--asset-version <v>', 'Exchange asset version (default: the JAR’s embedded Maven version)')
26
+ .option('--asset-id <id>', "Exchange asset ID (default: naming convention, else the JAR's Maven artifactId)")
27
+ .option('--asset-version <v>', "Exchange asset version (default: naming convention, else the JAR's Maven version)")
26
28
  .option('--group-id <id>', 'Exchange group ID (default: the organization ID)')
27
- .option('-r, --runtime <version>', `[new app only] Mule runtime version (default: ${DEFAULT_RUNTIME})`)
28
29
  .option('--replicas <n>', '[new app only] Number of replicas (default: 1)')
29
30
  .option('--vcores <size>', `[new app only] vCore size: ${VALID_VCORES.join(', ')} (default: ${DEFAULT_VCORES})`)
30
- .option('--region <target>', `[new app only] CloudHub 2.0 target (default: ${DEFAULT_REGION})`)
31
+ .option('--region <target>', `[new app only] CloudHub 2.0 target (default: ${DEFAULT_REGION})`);
32
+ addRuntimeOptions(command, `(new app default: ${DEFAULT_RUNTIME}) `);
33
+ addSettingsOptions(command);
34
+ addRolloutOptions(command);
35
+ return command
31
36
  .option('--dry-run', 'Show what would be published and deployed, then stop', false)
32
37
  .option('--force', 'Skip the production confirmation prompt', false)
33
38
  .action(async (jarPath, opts) => {
39
+ let secretValues = [];
34
40
  try {
35
41
  const client = createClient();
36
42
  const orgId = await client.getDefaultOrgId();
37
43
  const env = await client.accessManagement.resolveEnvironment(orgId, opts.env);
44
+ const rollout = rolloutFromOptions(opts);
38
45
  const plan = await planJarDeployment(client, {
39
46
  jarPath,
40
47
  appName: opts.app,
@@ -43,26 +50,42 @@ export function createDeployCommand() {
43
50
  assetId: opts.assetId,
44
51
  assetVersion: opts.assetVersion,
45
52
  groupId: opts.groupId,
46
- runtime: opts.runtime,
53
+ runtime: runtimeFromOptions(opts),
47
54
  replicas: opts.replicas ? parseInt(opts.replicas, 10) : undefined,
48
55
  region: opts.region,
49
56
  vcores: opts.vcores,
57
+ settings: settingsFromOptions(opts),
58
+ mode: rollout.mode,
59
+ updateStrategy: rollout.updateStrategy,
50
60
  });
61
+ secretValues = plan.secretValues;
51
62
  if (plan.rejectedSettings.length > 0) {
52
- throw new Error(`"${opts.app}" already exists in ${env.name}; deploy changes only its artifact. ` +
53
- `Drop ${plan.rejectedSettings.map((s) => `--${s}`).join(', ')} or use \`anc apps\` to change settings.`);
63
+ throw new Error(`"${opts.app}" already exists in ${env.name}; region, vCores and replicas apply only to a new app. ` +
64
+ `Drop ${plan.rejectedSettings.map((s) => `--${s}`).join(', ')}.`);
54
65
  }
55
66
  const summary = describeJarDeployment(plan);
56
67
  console.log(buildDeploySummary(opts.app, env.name, plan.existing, plan.ref.version, env.isProduction));
57
68
  log.kv('Artifact', `${plan.ref.groupId}:${plan.ref.artifactId}:${plan.ref.version}`);
69
+ log.kv('Naming', `asset ID from ${summary.publish.naming.assetId}, version from ${summary.publish.naming.version}`);
70
+ if (plan.naming.deployedPattern) {
71
+ log.dim(` The deployed asset follows ${plan.naming.deployedPattern.assetId} @ ${plan.naming.deployedPattern.assetVersion}; set it as a project convention or pass --asset-id/--asset-version to use it.`);
72
+ }
58
73
  log.kv('SHA-256', plan.artifact.sha256);
59
- log.kv('Mode', summary.deploy.mode === 'update' ? 'update artifact reference' : 'create deployment');
60
- if (summary.deploy.mode === 'create') {
74
+ let ok = true;
75
+ if (plan.change) {
76
+ ok = printAppChange(plan.change);
77
+ }
78
+ else if (summary.deploy.action === 'create') {
79
+ log.kv('Mode', 'create deployment');
61
80
  log.kv('Runtime', summary.deploy.runtime);
62
- log.kv('Target', `${summary.deploy.region}, ${summary.deploy.vcores} vCores × ${summary.deploy.replicas}`);
81
+ log.kv('Target', `${summary.deploy.region}, ${summary.deploy.vcores} vCores x ${summary.deploy.replicas}`);
82
+ }
83
+ if (!ok) {
84
+ process.exitCode = 1;
85
+ return;
63
86
  }
64
87
  if (opts.dryRun) {
65
- log.info('Dry run — nothing was published or deployed.');
88
+ log.info('Dry run: nothing was published or deployed.');
66
89
  return;
67
90
  }
68
91
  if (isProductionEnv(env.name, env.isProduction) && !opts.force) {
@@ -71,27 +94,30 @@ export function createDeployCommand() {
71
94
  return;
72
95
  }
73
96
  }
74
- const spinner = ora('Publishing to Exchange and deploying...').start();
75
- const { published, deployment } = await executeJarDeployment(client, plan);
76
- spinner.text = `Published ${published.assetId} v${published.version}; waiting for deployment...`;
77
- try {
78
- const final = await client.cloudHub2.waitForDeployment(orgId, env.id, deployment.id, (status, replicas) => {
79
- const replicaStates = replicas?.map((r) => r.state).join(', ') || 'unknown';
80
- spinner.text = `Status: ${status} (replicas: ${replicaStates})`;
81
- });
82
- spinner.succeed(`Deployed ${chalk.bold(opts.app)} v${plan.ref.version} → ${chalk.green(final.status)}`);
97
+ const { spinner, onStatus } = rolloutSpinner('Publishing to Exchange and deploying...');
98
+ const result = await executeJarDeployment(client, plan, {
99
+ wait: rollout.wait,
100
+ timeoutMs: rollout.timeoutMs,
101
+ onStatus,
102
+ });
103
+ if (!rollout.wait) {
104
+ spinner.succeed(`Published ${result.published.assetId} v${result.published.version}; change accepted`);
105
+ log.dim(` Follow it: anc apps status ${opts.app} --env ${opts.env} --wait`);
106
+ return;
83
107
  }
84
- catch (err) {
85
- spinner.fail(`Deployment issue: ${errorMessage(err)}`);
86
- log.dim(` Deployment ID: ${deployment.id}`);
87
- log.dim(` Check status: anc apps status ${opts.app} --env ${opts.env}`);
88
- if (plan.existing) {
89
- log.dim(` Previous version: ${plan.existing.application?.ref?.version || 'unknown'}`);
90
- }
108
+ if (result.snapshot?.settled) {
109
+ spinner.succeed(`Deployed ${chalk.bold(opts.app)} v${plan.ref.version}: ${chalk.green(result.snapshot.phase)}`);
110
+ return;
91
111
  }
112
+ spinner.fail(`Deployment did not settle: ${result.snapshot?.phase ?? 'unknown'}${result.timedOut ? ' (timed out)' : ''}${result.snapshot?.reason ? ` - ${result.snapshot.reason}` : ''}`);
113
+ log.dim(` Deployment ID: ${result.deployment.id}`);
114
+ log.dim(` Check status: anc apps status ${opts.app} --env ${opts.env}`);
115
+ if (plan.existing)
116
+ log.dim(` Previous version: ${plan.existing.application?.ref?.version || 'unknown'}`);
117
+ process.exitCode = 1;
92
118
  }
93
119
  catch (error) {
94
- log.error(`Deploy failed: ${errorMessage(error)}`);
120
+ log.error(`Deploy failed: ${redactText(errorMessage(error), secretValues)}`);
95
121
  process.exit(1);
96
122
  }
97
123
  });
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"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"}
@@ -7,4 +7,5 @@ export { createMonitorCommand } from './monitor.js';
7
7
  export { createExchangeCommand } from './exchange.js';
8
8
  export { createApiCommand } from './api.js';
9
9
  export { createDesignCenterCommand } from './design-center.js';
10
+ export { createRuntimesCommand } from './runtimes.js';
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC"}
@@ -7,4 +7,5 @@ export { createMonitorCommand } from './monitor.js';
7
7
  export { createExchangeCommand } from './exchange.js';
8
8
  export { createApiCommand } from './api.js';
9
9
  export { createDesignCenterCommand } from './design-center.js';
10
+ export { createRuntimesCommand } from './runtimes.js';
10
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC"}
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * Logs CLI Commands
3
- * anc logs tail <appName> --env <envName> [--level <level>]
4
- * anc logs download <appName> --env <envName> --from <date> --to <date> [--output <path>]
3
+ * anc logs tail <appName> --env <envName> [--level <level>] [--search <text>]
4
+ * anc logs search <appName> --env <envName> [--grep <text>] [--regex] [--logger <name>] [--since <1h|ISO>]
5
+ * anc logs download <appName> --env <envName> --from <date> [--to <date>] [--grep <text>] [--summary] [--output <path>]
5
6
  */
6
7
  import { Command } from 'commander';
7
8
  export declare function createLogsCommand(): Command;
@@ -1 +1 @@
1
- {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,iBAAiB,IAAI,OAAO,CAiF3C"}
1
+ {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiFpC,wBAAgB,iBAAiB,IAAI,OAAO,CA6J3C"}
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * Logs CLI Commands
3
- * anc logs tail <appName> --env <envName> [--level <level>]
4
- * anc logs download <appName> --env <envName> --from <date> --to <date> [--output <path>]
3
+ * anc logs tail <appName> --env <envName> [--level <level>] [--search <text>]
4
+ * anc logs search <appName> --env <envName> [--grep <text>] [--regex] [--logger <name>] [--since <1h|ISO>]
5
+ * anc logs download <appName> --env <envName> --from <date> [--to <date>] [--grep <text>] [--summary] [--output <path>]
5
6
  */
6
7
  import { Command } from 'commander';
7
8
  import * as fs from 'fs';
@@ -9,15 +10,68 @@ import chalk from 'chalk';
9
10
  import { log } from '../utils/logger.js';
10
11
  import { errorMessage } from '../utils/errors.js';
11
12
  import { parseDate } from '../utils/dates.js';
13
+ import { printTable } from '../utils/formatter.js';
14
+ import { MAX_LOG_LINES } from '../analysis/filter.js';
15
+ import { BUCKETS } from '../analysis/stats.js';
16
+ import { formatEntries, summarizeEntries } from '../analysis/summary.js';
12
17
  import { createClient } from './shared.js';
18
+ function parseLimit(value) {
19
+ const n = Number(value);
20
+ if (!Number.isInteger(n) || n < 1 || n > MAX_LOG_LINES) {
21
+ throw new Error(`--limit must be a whole number from 1 to ${MAX_LOG_LINES}`);
22
+ }
23
+ return n;
24
+ }
25
+ function parseBucket(value) {
26
+ if (!(value in BUCKETS))
27
+ throw new Error(`--bucket must be one of ${Object.keys(BUCKETS).join(', ')}`);
28
+ return value;
29
+ }
30
+ function warnFallback(source) {
31
+ if (source.fallbackFromSpecId) {
32
+ log.warn(`Spec ${source.fallbackFromSpecId} has no log lines yet; showing the last successful spec ${source.specId}`);
33
+ }
34
+ }
35
+ function printEntry(entry) {
36
+ const ts = new Date(entry.timestamp).toISOString();
37
+ const logger = entry.loggerName ? chalk.dim(`${entry.loggerName} - `) : '';
38
+ log.logLine(entry.priority, `${logger}${entry.message ?? ''}`, ts);
39
+ if (entry.stackTrace)
40
+ log.dim(entry.stackTrace);
41
+ }
42
+ function printSummary(summary) {
43
+ log.header('Summary');
44
+ log.kv('Entries', summary.totalEntries);
45
+ if (summary.totalEntries === 0)
46
+ return;
47
+ log.kv('Time range', `${summary.timeRange.start} → ${summary.timeRange.end}`);
48
+ log.kv('Error rate', `${summary.errorRate}%`);
49
+ log.header('By level');
50
+ printTable(['Level', 'Count'], Object.entries(summary.byLevel)
51
+ .sort((a, b) => b[1] - a[1])
52
+ .map(([level, count]) => [level, String(count)]));
53
+ log.header(`Top loggers (${summary.loggerCount} in total)`);
54
+ printTable(['Logger', 'Count'], summary.byLogger.map(({ name, count }) => [name, String(count)]));
55
+ log.header(`By time (${summary.histogram.bucket} buckets)`);
56
+ printTable(['Bucket start', 'Total', 'ERROR', 'WARN'], summary.histogram.rows.map((row) => [
57
+ row.start,
58
+ String(row.total),
59
+ String(row.byLevel.ERROR ?? 0),
60
+ String(row.byLevel.WARN ?? 0),
61
+ ]));
62
+ log.header('Top message templates');
63
+ printTable(['Count', 'Level', 'Template'], summary.topTemplates.map((t) => [String(t.count), t.level, t.template]));
64
+ }
13
65
  export function createLogsCommand() {
14
- const logs = new Command('logs').description('View and download application logs');
66
+ const logs = new Command('logs').description('View, search and download application logs');
15
67
  logs.command('tail')
16
68
  .description('Stream logs in real-time')
17
69
  .argument('<appName>', 'Application name')
18
70
  .requiredOption('-e, --env <name>', 'Environment name')
19
- .option('-l, --level <level>', 'Filter by log level (ERROR, WARN, INFO, DEBUG)')
71
+ .option('-l, --level <level>', 'Minimum log level (TRACE, DEBUG, INFO, WARN, ERROR, FATAL)')
20
72
  .option('-s, --search <text>', 'Search filter')
73
+ .option('--regex', 'Treat --search as a regular expression')
74
+ .option('--logger <name>', 'Only entries whose logger name contains this text')
21
75
  .action(async (appName, opts) => {
22
76
  try {
23
77
  const client = createClient();
@@ -28,6 +82,8 @@ export function createLogsCommand() {
28
82
  for await (const entries of client.logs.tailLogs(orgId, env.id, appName, {
29
83
  level: opts.level,
30
84
  search: opts.search,
85
+ regex: opts.regex,
86
+ logger: opts.logger,
31
87
  })) {
32
88
  for (const entry of entries) {
33
89
  const ts = new Date(entry.timestamp).toLocaleTimeString('en-US', { hour12: false });
@@ -44,40 +100,109 @@ export function createLogsCommand() {
44
100
  process.exit(1);
45
101
  }
46
102
  });
103
+ logs.command('search')
104
+ .description('Search recent log entries; multi-line entries are matched and shown whole')
105
+ .argument('<appName>', 'Application name')
106
+ .requiredOption('-e, --env <name>', 'Environment name')
107
+ .option('-g, --grep <text>', 'Text to find in the message, logger, thread, stack trace or JSON payload')
108
+ .option('--regex', 'Treat --grep as a case-insensitive regular expression')
109
+ .option('--logger <name>', 'Only entries whose logger name contains this text')
110
+ .option('-l, --level <level>', 'Minimum log level (TRACE, DEBUG, INFO, WARN, ERROR, FATAL)')
111
+ .option('--since <date>', 'Only entries since this time (ISO date or relative: 30m, 1h, 2d)')
112
+ .option('--until <date>', 'Only entries until this time (ISO date or relative)')
113
+ .option('-n, --limit <n>', `Most recent matching entries to show (max ${MAX_LOG_LINES})`, '100')
114
+ .option('--json', 'Print the result as JSON')
115
+ .action(async (appName, opts) => {
116
+ try {
117
+ const limit = parseLimit(opts.limit);
118
+ const startTime = opts.since ? parseDate(opts.since) : undefined;
119
+ const endTime = opts.until ? parseDate(opts.until) : undefined;
120
+ const client = createClient();
121
+ const orgId = await client.getDefaultOrgId();
122
+ const env = await client.accessManagement.resolveEnvironment(orgId, opts.env);
123
+ const result = await client.logs.searchLogs(orgId, env.id, appName, {
124
+ search: opts.grep,
125
+ regex: opts.regex,
126
+ logger: opts.logger,
127
+ level: opts.level,
128
+ startTime,
129
+ endTime,
130
+ limit,
131
+ });
132
+ if (opts.json) {
133
+ console.log(JSON.stringify(result, null, 2));
134
+ return;
135
+ }
136
+ warnFallback(result.source);
137
+ if (result.total === 0) {
138
+ log.warn(`No matching log entries for ${appName} in ${env.name}`);
139
+ return;
140
+ }
141
+ // Oldest first reads naturally in a terminal.
142
+ for (const entry of [...result.entries].reverse())
143
+ printEntry(entry);
144
+ const shown = result.truncated
145
+ ? `Showing the newest ${result.returned} of ${result.total} matching entries`
146
+ : `${result.total} matching entries`;
147
+ log.info(`${shown} (spec ${result.source.specId})`);
148
+ }
149
+ catch (error) {
150
+ log.error(`Log search failed: ${errorMessage(error)}`);
151
+ process.exitCode = 1;
152
+ }
153
+ });
47
154
  logs.command('download')
48
- .description('Download logs for a time period')
155
+ .description('Download logs for a time period, or summarize them')
49
156
  .argument('<appName>', 'Application name')
50
157
  .requiredOption('-e, --env <name>', 'Environment name')
51
158
  .requiredOption('--from <date>', 'Start time (ISO date or relative: 1h, 30m, 2d)')
52
159
  .option('--to <date>', 'End time (default: now)')
53
- .option('-l, --level <level>', 'Filter by log level')
54
- .option('-o, --output <path>', 'Output file path')
160
+ .option('-l, --level <level>', 'Minimum log level')
161
+ .option('-g, --grep <text>', 'Only entries containing this text')
162
+ .option('--regex', 'Treat --grep as a case-insensitive regular expression')
163
+ .option('--logger <name>', 'Only entries whose logger name contains this text')
164
+ .option('--summary', 'Print counts by level, logger and time, and the top message templates, instead of lines')
165
+ .option('--bucket <size>', 'Time bucket for --summary: 5m, 15m or 1h', '1h')
166
+ .option('-o, --output <path>', 'Output file path (with --summary, writes the summary as JSON)')
55
167
  .action(async (appName, opts) => {
56
168
  try {
169
+ const bucket = parseBucket(opts.bucket);
170
+ const from = parseDate(opts.from);
171
+ const to = opts.to ? parseDate(opts.to) : Date.now();
57
172
  const client = createClient();
58
173
  const orgId = await client.getDefaultOrgId();
59
174
  const env = await client.accessManagement.resolveEnvironment(orgId, opts.env);
60
- const from = parseDate(opts.from);
61
- const to = opts.to ? parseDate(opts.to) : Date.now();
62
175
  log.info(`Downloading logs for ${chalk.bold(appName)} in ${env.name}`);
63
176
  log.kv('Period', `${new Date(from).toISOString()} → ${new Date(to).toISOString()}`);
64
- const entries = await client.logs.getLogsForPeriod(orgId, env.id, appName, from, to, opts.level);
177
+ const { entries, source } = await client.logs.queryLogs(orgId, env.id, appName, {
178
+ startTime: from,
179
+ endTime: to,
180
+ level: opts.level,
181
+ search: opts.grep,
182
+ regex: opts.regex,
183
+ logger: opts.logger,
184
+ });
185
+ warnFallback(source);
186
+ if (opts.summary) {
187
+ const summary = summarizeEntries(entries, { bucket });
188
+ printSummary(summary);
189
+ if (opts.output) {
190
+ fs.writeFileSync(opts.output, JSON.stringify(summary, null, 2), 'utf-8');
191
+ log.success(`Summary written → ${chalk.bold(opts.output)}`);
192
+ }
193
+ return;
194
+ }
65
195
  if (entries.length === 0) {
66
196
  log.warn('No log entries found for the specified period');
67
197
  return;
68
198
  }
69
- // Format log lines
70
- const lines = entries.map((e) => {
71
- const ts = new Date(e.timestamp).toISOString();
72
- return `${ts} [${e.priority}] ${e.message}`;
73
- });
74
199
  const output = opts.output || `${appName}-logs-${new Date().toISOString().split('T')[0]}.log`;
75
- fs.writeFileSync(output, lines.join('\n'), 'utf-8');
200
+ fs.writeFileSync(output, formatEntries(entries) + '\n', 'utf-8');
76
201
  log.success(`Downloaded ${entries.length} log entries → ${chalk.bold(output)}`);
77
202
  }
78
203
  catch (error) {
79
204
  log.error(`Log download failed: ${errorMessage(error)}`);
80
- process.exit(1);
205
+ process.exitCode = 1;
81
206
  }
82
207
  });
83
208
  return logs;
@@ -1 +1 @@
1
- {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Runtimes CLI Command
3
+ * anc runtimes list -e <env> [--app <name> | --target <id>]
4
+ */
5
+ import { Command } from 'commander';
6
+ export declare function createRuntimesCommand(): Command;
7
+ //# sourceMappingURL=runtimes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimes.d.ts","sourceRoot":"","sources":["../../src/commands/runtimes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,qBAAqB,IAAI,OAAO,CA4D/C"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Runtimes CLI Command
3
+ * anc runtimes list -e <env> [--app <name> | --target <id>]
4
+ */
5
+ import { Command } from 'commander';
6
+ import { log } from '../utils/logger.js';
7
+ import { errorMessage } from '../utils/errors.js';
8
+ import { printTable } from '../utils/formatter.js';
9
+ import { compareVersions, parseRuntimeString, resolveRuntime, suggestRuntimes } from '../safety/runtime.js';
10
+ import { createClient } from './shared.js';
11
+ export function createRuntimesCommand() {
12
+ const runtimes = new Command('runtimes').description('Mule runtime versions a deployment target accepts');
13
+ runtimes
14
+ .command('list')
15
+ .description("List runtime versions for an app's target or a given target")
16
+ .requiredOption('-e, --env <name>', 'Environment name or ID')
17
+ .option('-a, --app <name>', "Use this app's target and check its current runtime")
18
+ .option('--target <id>', 'Target ID, e.g. cloudhub-us-east-2 or a private space ID')
19
+ .action(async (opts) => {
20
+ try {
21
+ const client = createClient();
22
+ const orgId = await client.getDefaultOrgId();
23
+ const env = await client.accessManagement.resolveEnvironment(orgId, opts.env);
24
+ const app = opts.app ? await client.cloudHub2.findDetailByName(orgId, env.id, opts.app) : null;
25
+ if (opts.app && !app) {
26
+ log.error(`Application "${opts.app}" not found in ${env.name}`);
27
+ process.exitCode = 1;
28
+ return;
29
+ }
30
+ const targetId = opts.target ?? app?.target?.targetId;
31
+ if (!targetId) {
32
+ const targets = await client.runtimes.getTargets(orgId);
33
+ printTable(['Target', 'Name', 'Type', 'Versions'], targets.map((t) => [t.id, t.name ?? '-', t.type ?? '-', String(t.runtimes.length)]));
34
+ return;
35
+ }
36
+ const target = await client.runtimes.getTarget(orgId, targetId);
37
+ if (!target) {
38
+ log.error(`Target "${targetId}" is not in the organization's runtime catalog`);
39
+ process.exitCode = 1;
40
+ return;
41
+ }
42
+ log.header(`Runtimes on ${target.name ?? target.id}`);
43
+ printTable(['Version', 'Channel', 'Java', 'Tag'], [...target.runtimes]
44
+ .sort((a, b) => compareVersions(b.version, a.version))
45
+ .map((v) => [v.version, v.releaseChannel ?? '-', v.java.join(', ') || '-', v.tag ?? '-']));
46
+ const runtime = app?.target?.deploymentSettings?.runtime;
47
+ if (runtime) {
48
+ const current = parseRuntimeString(runtime.version, runtime.java);
49
+ if (resolveRuntime(target.runtimes, current)) {
50
+ log.success(`${app?.name} runs ${runtime.version}, which this target still offers`);
51
+ }
52
+ else {
53
+ log.warn(`${app?.name} runs ${runtime.version}, which this target no longer offers`);
54
+ log.info(`Nearest supported: ${suggestRuntimes(target.runtimes, current).join('; ')}`);
55
+ log.dim(` anc apps update ${app?.name} -e ${opts.env} --runtime <version> --dry-run`);
56
+ }
57
+ }
58
+ }
59
+ catch (error) {
60
+ log.error(`Failed to list runtimes: ${errorMessage(error)}`);
61
+ process.exitCode = 1;
62
+ }
63
+ });
64
+ return runtimes;
65
+ }
66
+ //# sourceMappingURL=runtimes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimes.js","sourceRoot":"","sources":["../../src/commands/runtimes.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,14 @@ export declare function getProfileDir(profile?: string): string;
41
41
  export declare function migrateIfNeeded(): void;
42
42
  export interface ProjectConfig {
43
43
  profile: string;
44
+ /** Naming conventions for assets this project publishes. */
45
+ conventions?: {
46
+ /** Asset ID template, e.g. "{app}-{pomVersion}-{timestamp}". Tokens: {app}, {artifactId}, {pomVersion}, {timestamp}, {gitShort}. */
47
+ assetId?: string;
48
+ /** Asset version, fixed ("1.0.0") or a template ("{pomVersion}"). */
49
+ assetVersion?: string;
50
+ groupId?: string;
51
+ };
44
52
  }
45
53
  /**
46
54
  * Walk up from startDir to find .anypoint-connect.json.
@@ -1 +1 @@
1
- {"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../src/config/profiles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAcH,+DAA+D;AAC/D,eAAO,MAAM,oBAAoB,uCAAuC,CAAC;AAIzE;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAMrC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,MAAwB,GAAG,MAAM,CAMvE;AAQD;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAwBtC;AAID,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAkB7E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAMxE;AAID,MAAM,WAAW,eAAe;IAC5B,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,cAAc,GAAG,SAAS,CAAC;CACvD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,eAAe,CAgB3F;AAID;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,EAAE,CAcvC;AAID,MAAM,WAAW,WAAW;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAcpE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAI5E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,CAW9F;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAGxD;AAID,MAAM,WAAW,MAAM;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC7B,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAKD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,MAAM,CA0C5D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC"}
1
+ {"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../src/config/profiles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAcH,+DAA+D;AAC/D,eAAO,MAAM,oBAAoB,uCAAuC,CAAC;AAIzE;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAMrC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,MAAwB,GAAG,MAAM,CAMvE;AAQD;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAwBtC;AAID,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,WAAW,CAAC,EAAE;QACV,oIAAoI;QACpI,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,qEAAqE;QACrE,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,OAAO,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACL;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAkB7E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAMxE;AAID,MAAM,WAAW,eAAe;IAC5B,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,cAAc,GAAG,SAAS,CAAC;CACvD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,eAAe,CAgB3F;AAID;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,EAAE,CAcvC;AAID,MAAM,WAAW,WAAW;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAcpE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAI5E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,CAW9F;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAGxD;AAID,MAAM,WAAW,MAAM;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC7B,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAKD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,MAAM,CA0C5D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC"}