@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
package/dist/cli.js CHANGED
@@ -13,6 +13,7 @@ import { createMonitorCommand } from './commands/monitor.js';
13
13
  import { createExchangeCommand } from './commands/exchange.js';
14
14
  import { createApiCommand } from './commands/api.js';
15
15
  import { createDesignCenterCommand } from './commands/design-center.js';
16
+ import { createRuntimesCommand } from './commands/runtimes.js';
16
17
  import { VERSION } from './version.js';
17
18
  import { migrateIfNeeded } from './config/profiles.js';
18
19
  // Auto-migrate legacy config to profiles/default/ if needed
@@ -31,6 +32,7 @@ program.addCommand(createMonitorCommand());
31
32
  program.addCommand(createExchangeCommand());
32
33
  program.addCommand(createApiCommand());
33
34
  program.addCommand(createDesignCenterCommand());
35
+ program.addCommand(createRuntimesCommand());
34
36
  program
35
37
  .command('mcp')
36
38
  .description('Start the MCP (Model Context Protocol) server over stdio')
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,4DAA4D;AAC5D,eAAe,EAAE,CAAC;AAElB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACF,IAAI,CAAC,KAAK,CAAC;KACX,WAAW,CACR,mNAAmN,CACtN;KACA,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAC1C,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACxC,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACxC,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAC1C,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACxC,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;AAC3C,OAAO,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,CAAC;AAC5C,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;AACvC,OAAO,CAAC,UAAU,CAAC,yBAAyB,EAAE,CAAC,CAAC;AAEhD,OAAO;KACF,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,0DAA0D,CAAC;KACvE,MAAM,CAAC,KAAK,IAAI,EAAE;IACf,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,IAAI,wBAAwB,EAAE,CAAC;IAC9C,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;AACzB,CAAC,CAAC,CAAC;AAEP,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,4DAA4D;AAC5D,eAAe,EAAE,CAAC;AAElB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACF,IAAI,CAAC,KAAK,CAAC;KACX,WAAW,CACR,mNAAmN,CACtN;KACA,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAC1C,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACxC,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACxC,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAC1C,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACxC,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;AAC3C,OAAO,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,CAAC;AAC5C,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;AACvC,OAAO,CAAC,UAAU,CAAC,yBAAyB,EAAE,CAAC,CAAC;AAChD,OAAO,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,CAAC;AAE5C,OAAO;KACF,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,0DAA0D,CAAC;KACvE,MAAM,CAAC,KAAK,IAAI,EAAE;IACf,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,IAAI,wBAAwB,EAAE,CAAC;IAC9C,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;AACzB,CAAC,CAAC,CAAC;AAEP,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -16,6 +16,7 @@ import { GovernanceApi } from '../api/GovernanceApi.js';
16
16
  import { AuditLogApi } from '../api/AuditLogApi.js';
17
17
  import { AnypointMQApi } from '../api/AnypointMQApi.js';
18
18
  import { ObjectStoreApi } from '../api/ObjectStoreApi.js';
19
+ import { RuntimesApi } from '../api/RuntimesApi.js';
19
20
  export interface AnypointClientConfig {
20
21
  clientId: string;
21
22
  clientSecret: string;
@@ -40,6 +41,7 @@ export declare class AnypointClient {
40
41
  readonly auditLog: AuditLogApi;
41
42
  readonly anypointMQ: AnypointMQApi;
42
43
  readonly objectStore: ObjectStoreApi;
44
+ readonly runtimes: RuntimesApi;
43
45
  constructor(config: AnypointClientConfig);
44
46
  getAuthStatus(): Promise<AuthStatus>;
45
47
  getAuthorizeUrl(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"AnypointClient.d.ts","sourceRoot":"","sources":["../../src/client/AnypointClient.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,KAAK,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG1D,MAAM,WAAW,oBAAoB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,cAAc;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAG9B,SAAgB,gBAAgB,EAAE,mBAAmB,CAAC;IACtD,SAAgB,SAAS,EAAE,YAAY,CAAC;IACxC,SAAgB,IAAI,EAAE,OAAO,CAAC;IAC9B,SAAgB,UAAU,EAAE,aAAa,CAAC;IAC1C,SAAgB,QAAQ,EAAE,WAAW,CAAC;IACtC,SAAgB,UAAU,EAAE,aAAa,CAAC;IAC1C,SAAgB,YAAY,EAAE,eAAe,CAAC;IAC9C,SAAgB,oBAAoB,EAAE,oBAAoB,CAAC;IAC3D,SAAgB,UAAU,EAAE,aAAa,CAAC;IAC1C,SAAgB,QAAQ,EAAE,WAAW,CAAC;IACtC,SAAgB,UAAU,EAAE,aAAa,CAAC;IAC1C,SAAgB,WAAW,EAAE,cAAc,CAAC;gBAEhC,MAAM,EAAE,oBAAoB;IAgClC,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC;IAI1C,eAAe,IAAI,MAAM;IAInB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAOvB,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC;IAI9B,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IAKxC,UAAU,IAAI,IAAI;IAIlB,8DAA8D;IAC9D,QAAQ,IAAI,KAAK;CAGpB"}
1
+ {"version":3,"file":"AnypointClient.d.ts","sourceRoot":"","sources":["../../src/client/AnypointClient.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,KAAK,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,MAAM,WAAW,oBAAoB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,cAAc;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAG9B,SAAgB,gBAAgB,EAAE,mBAAmB,CAAC;IACtD,SAAgB,SAAS,EAAE,YAAY,CAAC;IACxC,SAAgB,IAAI,EAAE,OAAO,CAAC;IAC9B,SAAgB,UAAU,EAAE,aAAa,CAAC;IAC1C,SAAgB,QAAQ,EAAE,WAAW,CAAC;IACtC,SAAgB,UAAU,EAAE,aAAa,CAAC;IAC1C,SAAgB,YAAY,EAAE,eAAe,CAAC;IAC9C,SAAgB,oBAAoB,EAAE,oBAAoB,CAAC;IAC3D,SAAgB,UAAU,EAAE,aAAa,CAAC;IAC1C,SAAgB,QAAQ,EAAE,WAAW,CAAC;IACtC,SAAgB,UAAU,EAAE,aAAa,CAAC;IAC1C,SAAgB,WAAW,EAAE,cAAc,CAAC;IAC5C,SAAgB,QAAQ,EAAE,WAAW,CAAC;gBAE1B,MAAM,EAAE,oBAAoB;IAiClC,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC;IAI1C,eAAe,IAAI,MAAM;IAInB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAOvB,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC;IAI9B,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IAKxC,UAAU,IAAI,IAAI;IAIlB,8DAA8D;IAC9D,QAAQ,IAAI,KAAK;CAGpB"}
@@ -17,6 +17,7 @@ import { GovernanceApi } from '../api/GovernanceApi.js';
17
17
  import { AuditLogApi } from '../api/AuditLogApi.js';
18
18
  import { AnypointMQApi } from '../api/AnypointMQApi.js';
19
19
  import { ObjectStoreApi } from '../api/ObjectStoreApi.js';
20
+ import { RuntimesApi } from '../api/RuntimesApi.js';
20
21
  import { DEFAULT_CALLBACK_URL } from '../config/profiles.js';
21
22
  export class AnypointClient {
22
23
  tokenManager;
@@ -35,6 +36,7 @@ export class AnypointClient {
35
36
  auditLog;
36
37
  anypointMQ;
37
38
  objectStore;
39
+ runtimes;
38
40
  constructor(config) {
39
41
  this.tokenManager = new TokenManager({
40
42
  clientId: config.clientId,
@@ -60,6 +62,7 @@ export class AnypointClient {
60
62
  this.auditLog = new AuditLogApi(this.httpClient);
61
63
  this.anypointMQ = new AnypointMQApi(this.httpClient, this.cache);
62
64
  this.objectStore = new ObjectStoreApi(this.httpClient, this.cache);
65
+ this.runtimes = new RuntimesApi(this.httpClient, this.cache);
63
66
  }
64
67
  // ── Auth ──────────────────────────────────────────
65
68
  async getAuthStatus() {
@@ -1 +1 @@
1
- {"version":3,"file":"AnypointClient.js","sourceRoot":"","sources":["../../src/client/AnypointClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AnypointClient.js","sourceRoot":"","sources":["../../src/client/AnypointClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Client application credentials and API smoke tests
3
+ * Shared by the MCP tools and the CLI. Client secrets are resolved on the server, used for
4
+ * one request or one file write, and scrubbed from everything returned.
5
+ */
6
+ import type { AnypointClient } from './AnypointClient.js';
7
+ import type { ApiPolicy, ClientApplication } from '../api/ApiManagerApi.js';
8
+ /** Methods that run without the write guard. */
9
+ export declare const SAFE_METHODS: Set<string>;
10
+ /** Largest body excerpt returned, in bytes. */
11
+ export declare const BODY_EXCERPT_BYTES = 4096;
12
+ /** Mask a client secret as `******…<last4>`; short values are fully masked. */
13
+ export declare function maskClientSecret(secret: string | undefined): string;
14
+ /** Every form a credential pair can take on the wire, for scrubbing. */
15
+ export declare function credentialVariants(clientId?: string, clientSecret?: string): string[];
16
+ /** A client application with the secret masked; safe to print or return. */
17
+ export declare function describeClientApplication(app: ClientApplication): {
18
+ id: number;
19
+ name: string;
20
+ description: string | undefined;
21
+ clientId: string;
22
+ clientSecret: string;
23
+ url: string | undefined;
24
+ redirectUri: string[] | undefined;
25
+ grantTypes: string[] | undefined;
26
+ };
27
+ /**
28
+ * Write `CLIENT_ID`/`CLIENT_SECRET` in .env format at mode 0600, inside the project root.
29
+ * An existing file is replaced only with `overwrite`, and is removed first so the new file
30
+ * never inherits looser permissions or follows a symlink.
31
+ */
32
+ export declare function writeCredentialsFile(file: string, app: Pick<ClientApplication, 'clientId' | 'clientSecret'>, options?: {
33
+ overwrite?: boolean;
34
+ projectRoot?: string;
35
+ }): string;
36
+ export type CredentialStyle = {
37
+ mode: 'headers';
38
+ idHeader: string;
39
+ secretHeader: string;
40
+ } | {
41
+ mode: 'basic';
42
+ } | {
43
+ mode: 'none';
44
+ };
45
+ /**
46
+ * Decide how to send client credentials from the API's policy chain:
47
+ * - an enabled client-id-enforcement policy whose `credentialsOriginHasHttpBasicAuthenticationHeader`
48
+ * is `httpBasicAuthenticationHeader` means HTTP basic auth;
49
+ * - any other enabled client-id-enforcement policy means headers, named from its
50
+ * `clientIdExpression`/`clientSecretExpression` (default `client_id`/`client_secret`);
51
+ * - no such policy means no credentials are needed.
52
+ */
53
+ export declare function inferCredentialStyle(policies: ApiPolicy[]): CredentialStyle;
54
+ export interface SmokeTestInput {
55
+ api: string;
56
+ path?: string;
57
+ url?: string;
58
+ method?: string;
59
+ clientAppId?: number | string;
60
+ headers?: Record<string, string>;
61
+ body?: unknown;
62
+ expectStatus?: number;
63
+ timeoutMs?: number;
64
+ }
65
+ /** Everything resolved before a request is sent. Holds no secrets, so it can be previewed. */
66
+ export interface SmokeTestPlan {
67
+ api: {
68
+ id: number;
69
+ name?: string;
70
+ };
71
+ method: string;
72
+ url: string;
73
+ credentials: CredentialStyle;
74
+ clientApp?: {
75
+ id: number | string;
76
+ name?: string;
77
+ };
78
+ }
79
+ /**
80
+ * Resolve the API instance, target URL, credential style and client application. No secret
81
+ * is fetched here. The URL is the instance's endpoint plus `path`, or `url` when given.
82
+ */
83
+ export declare function planSmokeTest(client: AnypointClient, orgId: string, env: {
84
+ id: string;
85
+ name: string;
86
+ }, input: SmokeTestInput): Promise<SmokeTestPlan>;
87
+ export interface SmokeTestResult {
88
+ api: SmokeTestPlan['api'];
89
+ request: {
90
+ method: string;
91
+ url: string;
92
+ credentials: string;
93
+ clientApp?: SmokeTestPlan['clientApp'];
94
+ };
95
+ status: number;
96
+ statusText: string;
97
+ latencyMs: number;
98
+ passed: boolean;
99
+ expectStatus?: number;
100
+ headers: Record<string, string>;
101
+ body: {
102
+ excerpt: string;
103
+ truncated: boolean;
104
+ };
105
+ }
106
+ /**
107
+ * Send the planned request. The client secret is fetched here, and every string in the
108
+ * result, and any error message, is scrubbed of the credentials before it is returned.
109
+ */
110
+ export declare function executeSmokeTest(client: AnypointClient, orgId: string, plan: SmokeTestPlan, input: Pick<SmokeTestInput, 'headers' | 'body' | 'expectStatus' | 'timeoutMs'>): Promise<SmokeTestResult>;
111
+ //# sourceMappingURL=smoke-test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smoke-test.d.ts","sourceRoot":"","sources":["../../src/client/smoke-test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,275 @@
1
+ /**
2
+ * Client application credentials and API smoke tests
3
+ * Shared by the MCP tools and the CLI. Client secrets are resolved on the server, used for
4
+ * one request or one file write, and scrubbed from everything returned.
5
+ */
6
+ import * as fs from 'node:fs';
7
+ import axios from 'axios';
8
+ import { MASKED, redactText } from '../safety/secrets.js';
9
+ import { resolveWritablePath } from '../safety/paths.js';
10
+ import { errorMessage } from '../utils/errors.js';
11
+ /** Methods that run without the write guard. */
12
+ export const SAFE_METHODS = new Set(['GET', 'HEAD', 'OPTIONS']);
13
+ /** Largest body excerpt returned, in bytes. */
14
+ export const BODY_EXCERPT_BYTES = 4096;
15
+ /** Response headers worth showing; everything else is dropped. */
16
+ const HEADER_ALLOWLIST = [
17
+ 'content-type',
18
+ 'content-length',
19
+ 'date',
20
+ 'location',
21
+ 'retry-after',
22
+ 'www-authenticate',
23
+ 'x-correlation-id',
24
+ 'x-request-id',
25
+ 'x-ratelimit-limit',
26
+ 'x-ratelimit-remaining',
27
+ 'x-ratelimit-reset',
28
+ ];
29
+ /** Mask a client secret as `******…<last4>`; short values are fully masked. */
30
+ export function maskClientSecret(secret) {
31
+ if (!secret)
32
+ return '';
33
+ return secret.length > 8 ? `${MASKED}…${secret.slice(-4)}` : MASKED;
34
+ }
35
+ /** Every form a credential pair can take on the wire, for scrubbing. */
36
+ export function credentialVariants(clientId, clientSecret) {
37
+ const values = [clientId, clientSecret].filter((v) => Boolean(v));
38
+ const variants = [...values, ...values.map((v) => encodeURIComponent(v))];
39
+ if (clientId && clientSecret)
40
+ variants.push(Buffer.from(`${clientId}:${clientSecret}`).toString('base64'));
41
+ return variants;
42
+ }
43
+ /** A client application with the secret masked; safe to print or return. */
44
+ export function describeClientApplication(app) {
45
+ return {
46
+ id: app.id,
47
+ name: app.name,
48
+ description: app.description,
49
+ clientId: app.clientId,
50
+ clientSecret: maskClientSecret(app.clientSecret),
51
+ url: app.url,
52
+ redirectUri: app.redirectUri,
53
+ grantTypes: app.grantTypes,
54
+ };
55
+ }
56
+ function envValue(value, key) {
57
+ if (/^[A-Za-z0-9._~+/=:@-]*$/.test(value))
58
+ return value;
59
+ if (!/['\r\n]/.test(value))
60
+ return `'${value}'`;
61
+ throw new Error(`${key} cannot be written in .env format`);
62
+ }
63
+ /**
64
+ * Write `CLIENT_ID`/`CLIENT_SECRET` in .env format at mode 0600, inside the project root.
65
+ * An existing file is replaced only with `overwrite`, and is removed first so the new file
66
+ * never inherits looser permissions or follows a symlink.
67
+ */
68
+ export function writeCredentialsFile(file, app, options = {}) {
69
+ const target = resolveWritablePath(file, options);
70
+ const content = `CLIENT_ID=${envValue(app.clientId, 'CLIENT_ID')}\nCLIENT_SECRET=${envValue(app.clientSecret, 'CLIENT_SECRET')}\n`;
71
+ if (options.overwrite && fs.existsSync(target))
72
+ fs.rmSync(target);
73
+ fs.writeFileSync(target, content, { mode: 0o600, flag: 'wx' });
74
+ fs.chmodSync(target, 0o600);
75
+ return target;
76
+ }
77
+ function headerFromExpression(expression, fallback) {
78
+ if (typeof expression !== 'string')
79
+ return fallback;
80
+ const match = /headers\[\s*['"]([A-Za-z0-9_-]+)['"]\s*\]/.exec(expression) ?? /headers\.([A-Za-z0-9_-]+)/.exec(expression);
81
+ return match ? match[1] : fallback;
82
+ }
83
+ /**
84
+ * Decide how to send client credentials from the API's policy chain:
85
+ * - an enabled client-id-enforcement policy whose `credentialsOriginHasHttpBasicAuthenticationHeader`
86
+ * is `httpBasicAuthenticationHeader` means HTTP basic auth;
87
+ * - any other enabled client-id-enforcement policy means headers, named from its
88
+ * `clientIdExpression`/`clientSecretExpression` (default `client_id`/`client_secret`);
89
+ * - no such policy means no credentials are needed.
90
+ */
91
+ export function inferCredentialStyle(policies) {
92
+ const policy = policies.find((p) => !p.disabled && /client-id-enforcement/i.test(p.template?.assetId || p.policyTemplateId || ''));
93
+ if (!policy)
94
+ return { mode: 'none' };
95
+ const config = policy.configurationData ?? {};
96
+ if (config.credentialsOriginHasHttpBasicAuthenticationHeader === 'httpBasicAuthenticationHeader') {
97
+ return { mode: 'basic' };
98
+ }
99
+ return {
100
+ mode: 'headers',
101
+ idHeader: headerFromExpression(config.clientIdExpression, 'client_id'),
102
+ secretHeader: headerFromExpression(config.clientSecretExpression, 'client_secret'),
103
+ };
104
+ }
105
+ function joinUrl(base, path) {
106
+ if (!path)
107
+ return base;
108
+ return `${base.replace(/\/+$/, '')}/${path.replace(/^\/+/, '')}`;
109
+ }
110
+ function parseHttpUrl(value, label) {
111
+ let url;
112
+ try {
113
+ url = new URL(value);
114
+ }
115
+ catch {
116
+ throw new Error(`${label} is not an absolute URL: ${value}`);
117
+ }
118
+ if (url.protocol !== 'http:' && url.protocol !== 'https:')
119
+ throw new Error(`${label} must be http or https`);
120
+ return url;
121
+ }
122
+ /**
123
+ * Resolve the API instance, target URL, credential style and client application. No secret
124
+ * is fetched here. The URL is the instance's endpoint plus `path`, or `url` when given.
125
+ */
126
+ export async function planSmokeTest(client, orgId, env, input) {
127
+ const method = (input.method || 'GET').toUpperCase();
128
+ if (!/^[A-Z]+$/.test(method))
129
+ throw new Error(`Invalid HTTP method: ${input.method}`);
130
+ const resolved = await client.apiManager.resolveApiInstance(orgId, env, input.api);
131
+ const endpoint = resolved.instance?.endpointUri || resolved.instance?.proxyUri;
132
+ let url;
133
+ if (input.url) {
134
+ url = parseHttpUrl(input.url, 'url').toString();
135
+ }
136
+ else if (endpoint) {
137
+ url = parseHttpUrl(joinUrl(endpoint, input.path), 'API endpoint').toString();
138
+ }
139
+ else {
140
+ throw new Error(`API ${resolved.apiId} has no endpoint URI in ${env.name}; pass url`);
141
+ }
142
+ const policies = await client.apiManager.getPolicies(orgId, env.id, resolved.apiId);
143
+ let credentials = inferCredentialStyle(policies);
144
+ if (credentials.mode === 'none' && input.clientAppId !== undefined) {
145
+ credentials = { mode: 'headers', idHeader: 'client_id', secretHeader: 'client_secret' };
146
+ }
147
+ let clientApp;
148
+ if (input.clientAppId !== undefined) {
149
+ clientApp = { id: input.clientAppId };
150
+ }
151
+ else if (credentials.mode !== 'none') {
152
+ const contracts = await client.apiManager.getContracts(orgId, env.id, resolved.apiId);
153
+ const approved = contracts.filter((c) => (c.status || '').toUpperCase() === 'APPROVED');
154
+ if (approved.length !== 1) {
155
+ const options = approved.map((c) => `${c.application?.name ?? '?'} (${c.application?.id ?? c.applicationId})`);
156
+ throw new Error(approved.length === 0
157
+ ? `API ${resolved.apiId} enforces client credentials but has no approved contracts; pass clientAppId`
158
+ : `API ${resolved.apiId} has ${approved.length} approved contracts; pass clientAppId, one of: ${options.join(', ')}`);
159
+ }
160
+ const id = approved[0].application?.id ?? approved[0].applicationId;
161
+ if (id === undefined)
162
+ throw new Error(`Contract ${approved[0].id} names no client application`);
163
+ clientApp = { id, name: approved[0].application?.name };
164
+ }
165
+ if (clientApp && credentials.mode !== 'none') {
166
+ const target = new URL(url);
167
+ const sameAsEndpoint = endpoint ? new URL(endpoint).origin === target.origin : false;
168
+ if (target.protocol !== 'https:' && !sameAsEndpoint) {
169
+ throw new Error(`Refusing to send client credentials over plain HTTP to ${target.origin}; use https`);
170
+ }
171
+ }
172
+ return {
173
+ api: { id: resolved.apiId, name: resolved.asset?.exchangeAssetName },
174
+ method,
175
+ url,
176
+ credentials,
177
+ clientApp,
178
+ };
179
+ }
180
+ function readExcerpt(stream, limit) {
181
+ return new Promise((resolve) => {
182
+ const chunks = [];
183
+ let total = 0;
184
+ let done = false;
185
+ const finish = (truncated) => {
186
+ if (done)
187
+ return;
188
+ done = true;
189
+ resolve({ bytes: Buffer.concat(chunks).subarray(0, limit), truncated });
190
+ };
191
+ stream.on('data', (chunk) => {
192
+ const buffer = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
193
+ chunks.push(buffer);
194
+ total += buffer.length;
195
+ if (total > limit) {
196
+ stream.destroy?.();
197
+ finish(true);
198
+ }
199
+ });
200
+ stream.on('end', () => finish(false));
201
+ stream.on('error', () => finish(total > limit));
202
+ stream.on('close', () => finish(total > limit));
203
+ });
204
+ }
205
+ function describeCredentials(style, clientApp) {
206
+ if (!clientApp || style.mode === 'none')
207
+ return 'none';
208
+ return style.mode === 'basic' ? 'HTTP basic auth' : `headers ${style.idHeader}/${style.secretHeader}`;
209
+ }
210
+ /**
211
+ * Send the planned request. The client secret is fetched here, and every string in the
212
+ * result, and any error message, is scrubbed of the credentials before it is returned.
213
+ */
214
+ export async function executeSmokeTest(client, orgId, plan, input) {
215
+ let secrets = [];
216
+ try {
217
+ const headers = { ...(input.headers ?? {}) };
218
+ const style = plan.credentials;
219
+ if (plan.clientApp && style.mode !== 'none') {
220
+ const app = await client.apiManager.getClientApplication(orgId, plan.clientApp.id);
221
+ secrets = credentialVariants(app.clientId, app.clientSecret);
222
+ plan = { ...plan, clientApp: { id: plan.clientApp.id, name: plan.clientApp.name ?? app.name } };
223
+ if (style.mode === 'basic') {
224
+ headers.Authorization = `Basic ${Buffer.from(`${app.clientId}:${app.clientSecret}`).toString('base64')}`;
225
+ }
226
+ else {
227
+ headers[style.idHeader] = app.clientId;
228
+ headers[style.secretHeader] = app.clientSecret;
229
+ }
230
+ }
231
+ const started = Date.now();
232
+ const response = await axios.request({
233
+ method: plan.method,
234
+ url: plan.url,
235
+ headers,
236
+ data: plan.method === 'GET' || plan.method === 'HEAD' ? undefined : input.body,
237
+ timeout: input.timeoutMs ?? 30000,
238
+ responseType: 'stream',
239
+ maxRedirects: 0,
240
+ validateStatus: () => true,
241
+ });
242
+ const latencyMs = Date.now() - started;
243
+ // Read past the excerpt limit so a secret straddling the cut is still matched whole.
244
+ const { bytes, truncated } = await readExcerpt(response.data, BODY_EXCERPT_BYTES + 1024);
245
+ const excerpt = redactText(bytes.toString('utf8'), secrets).slice(0, BODY_EXCERPT_BYTES);
246
+ const responseHeaders = {};
247
+ for (const name of HEADER_ALLOWLIST) {
248
+ const value = response.headers[name];
249
+ if (value !== undefined && value !== null) {
250
+ responseHeaders[name] = redactText(Array.isArray(value) ? value.join(', ') : String(value), secrets);
251
+ }
252
+ }
253
+ const status = response.status;
254
+ return {
255
+ api: plan.api,
256
+ request: {
257
+ method: plan.method,
258
+ url: redactText(plan.url, secrets),
259
+ credentials: describeCredentials(plan.credentials, plan.clientApp),
260
+ clientApp: plan.clientApp,
261
+ },
262
+ status,
263
+ statusText: redactText(response.statusText || '', secrets),
264
+ latencyMs,
265
+ passed: input.expectStatus !== undefined ? status === input.expectStatus : status < 400,
266
+ expectStatus: input.expectStatus,
267
+ headers: responseHeaders,
268
+ body: { excerpt, truncated: truncated || bytes.length > BODY_EXCERPT_BYTES },
269
+ };
270
+ }
271
+ catch (error) {
272
+ throw new Error(redactText(`Smoke test failed: ${errorMessage(error)}`, secrets));
273
+ }
274
+ }
275
+ //# sourceMappingURL=smoke-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smoke-test.js","sourceRoot":"","sources":["../../src/client/smoke-test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * API Manager CLI Commands
3
- * anc api list | policies | sla-tiers | alerts
3
+ * anc api list | policies | sla-tiers | alerts | contracts | client-app | smoke
4
4
  */
5
5
  import { Command } from 'commander';
6
6
  export declare function createApiCommand(): Command;
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/commands/api.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkBpC,wBAAgB,gBAAgB,IAAI,OAAO,CA8I1C"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/commands/api.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiCpC,wBAAgB,gBAAgB,IAAI,OAAO,CAuR1C"}