@apimatic/cli 1.1.0-beta.9 → 1.2.0

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 (223) hide show
  1. package/README.md +117 -14
  2. package/lib/actions/portal/copilot.d.ts +1 -0
  3. package/lib/actions/portal/copilot.js +12 -12
  4. package/lib/actions/portal/copilot.js.map +1 -1
  5. package/lib/actions/portal/generate.js +7 -1
  6. package/lib/actions/portal/generate.js.map +1 -1
  7. package/lib/actions/portal/quickstart.d.ts +1 -0
  8. package/lib/actions/portal/quickstart.js +79 -10
  9. package/lib/actions/portal/quickstart.js.map +1 -1
  10. package/lib/actions/portal/serve.d.ts +1 -0
  11. package/lib/actions/portal/serve.js +77 -20
  12. package/lib/actions/portal/serve.js.map +1 -1
  13. package/lib/actions/portal/toc/new-toc.js +8 -20
  14. package/lib/actions/portal/toc/new-toc.js.map +1 -1
  15. package/lib/actions/publishing/profile/list.d.ts +11 -0
  16. package/lib/actions/publishing/profile/list.js +29 -0
  17. package/lib/actions/publishing/profile/list.js.map +1 -0
  18. package/lib/actions/sdk/generate.d.ts +9 -5
  19. package/lib/actions/sdk/generate.js +74 -46
  20. package/lib/actions/sdk/generate.js.map +1 -1
  21. package/lib/actions/sdk/merge-source-tree.d.ts +12 -0
  22. package/lib/actions/sdk/merge-source-tree.js +78 -0
  23. package/lib/actions/sdk/merge-source-tree.js.map +1 -0
  24. package/lib/actions/sdk/publish/interactive.d.ts +13 -0
  25. package/lib/actions/sdk/publish/interactive.js +105 -0
  26. package/lib/actions/sdk/publish/interactive.js.map +1 -0
  27. package/lib/actions/sdk/publish/non-interactive.d.ts +14 -0
  28. package/lib/actions/sdk/publish/non-interactive.js +101 -0
  29. package/lib/actions/sdk/publish/non-interactive.js.map +1 -0
  30. package/lib/actions/sdk/publish.d.ts +18 -0
  31. package/lib/actions/sdk/publish.js +56 -0
  32. package/lib/actions/sdk/publish.js.map +1 -0
  33. package/lib/actions/sdk/quickstart.d.ts +1 -0
  34. package/lib/actions/sdk/quickstart.js +19 -2
  35. package/lib/actions/sdk/quickstart.js.map +1 -1
  36. package/lib/actions/sdk/save-changes.d.ts +8 -0
  37. package/lib/actions/sdk/save-changes.js +93 -0
  38. package/lib/actions/sdk/save-changes.js.map +1 -0
  39. package/lib/application/portal/recipe/recipe-generator.js +14 -29
  40. package/lib/application/portal/recipe/recipe-generator.js.map +1 -1
  41. package/lib/application/portal/toc/toc-structure-generator.d.ts +3 -19
  42. package/lib/application/portal/toc/toc-structure-generator.js +43 -33
  43. package/lib/application/portal/toc/toc-structure-generator.js.map +1 -1
  44. package/lib/commands/portal/recipe/new.js +2 -2
  45. package/lib/commands/portal/recipe/new.js.map +1 -1
  46. package/lib/commands/portal/serve.js +3 -3
  47. package/lib/commands/portal/serve.js.map +1 -1
  48. package/lib/commands/portal/toc/new.js +2 -2
  49. package/lib/commands/portal/toc/new.js.map +1 -1
  50. package/lib/commands/publishing/profile/list.d.ts +9 -0
  51. package/lib/commands/publishing/profile/list.js +28 -0
  52. package/lib/commands/publishing/profile/list.js.map +1 -0
  53. package/lib/commands/quickstart.js +1 -1
  54. package/lib/commands/quickstart.js.map +1 -1
  55. package/lib/commands/sdk/generate.d.ts +6 -2
  56. package/lib/commands/sdk/generate.js +35 -9
  57. package/lib/commands/sdk/generate.js.map +1 -1
  58. package/lib/commands/sdk/publish.d.ts +18 -0
  59. package/lib/commands/sdk/publish.js +73 -0
  60. package/lib/commands/sdk/publish.js.map +1 -0
  61. package/lib/commands/sdk/save-changes.d.ts +14 -0
  62. package/lib/commands/sdk/save-changes.js +51 -0
  63. package/lib/commands/sdk/save-changes.js.map +1 -0
  64. package/lib/hooks/not-found.js +1 -1
  65. package/lib/hooks/not-found.js.map +1 -1
  66. package/lib/infrastructure/debounce-service.js +3 -0
  67. package/lib/infrastructure/debounce-service.js.map +1 -1
  68. package/lib/infrastructure/env-info.d.ts +2 -0
  69. package/lib/infrastructure/env-info.js +23 -12
  70. package/lib/infrastructure/env-info.js.map +1 -1
  71. package/lib/infrastructure/file-service.d.ts +9 -0
  72. package/lib/infrastructure/file-service.js +94 -5
  73. package/lib/infrastructure/file-service.js.map +1 -1
  74. package/lib/infrastructure/git-service.d.ts +14 -0
  75. package/lib/infrastructure/git-service.js +90 -0
  76. package/lib/infrastructure/git-service.js.map +1 -0
  77. package/lib/infrastructure/launcher-service.d.ts +5 -0
  78. package/lib/infrastructure/launcher-service.js +35 -2
  79. package/lib/infrastructure/launcher-service.js.map +1 -1
  80. package/lib/infrastructure/os-extensions.d.ts +2 -0
  81. package/lib/infrastructure/os-extensions.js +6 -0
  82. package/lib/infrastructure/os-extensions.js.map +1 -0
  83. package/lib/infrastructure/service-error.d.ts +14 -2
  84. package/lib/infrastructure/service-error.js +26 -9
  85. package/lib/infrastructure/service-error.js.map +1 -1
  86. package/lib/infrastructure/services/api-service.d.ts +1 -0
  87. package/lib/infrastructure/services/api-service.js +26 -2
  88. package/lib/infrastructure/services/api-service.js.map +1 -1
  89. package/lib/infrastructure/services/portal-service.d.ts +11 -2
  90. package/lib/infrastructure/services/portal-service.js +123 -18
  91. package/lib/infrastructure/services/portal-service.js.map +1 -1
  92. package/lib/infrastructure/services/publishing-api-service.d.ts +19 -0
  93. package/lib/infrastructure/services/publishing-api-service.js +111 -0
  94. package/lib/infrastructure/services/publishing-api-service.js.map +1 -0
  95. package/lib/infrastructure/services/validation-service.d.ts +21 -0
  96. package/lib/infrastructure/services/validation-service.js +94 -4
  97. package/lib/infrastructure/services/validation-service.js.map +1 -1
  98. package/lib/infrastructure/zip-service.d.ts +2 -2
  99. package/lib/infrastructure/zip-service.js +46 -25
  100. package/lib/infrastructure/zip-service.js.map +1 -1
  101. package/lib/prompts/format.d.ts +0 -2
  102. package/lib/prompts/format.js +0 -31
  103. package/lib/prompts/format.js.map +1 -1
  104. package/lib/prompts/portal/generate.d.ts +1 -1
  105. package/lib/prompts/portal/generate.js +9 -3
  106. package/lib/prompts/portal/generate.js.map +1 -1
  107. package/lib/prompts/portal/quickstart.d.ts +11 -2
  108. package/lib/prompts/portal/quickstart.js +80 -13
  109. package/lib/prompts/portal/quickstart.js.map +1 -1
  110. package/lib/prompts/portal/serve.d.ts +4 -0
  111. package/lib/prompts/portal/serve.js +20 -1
  112. package/lib/prompts/portal/serve.js.map +1 -1
  113. package/lib/prompts/portal/toc/new-toc.d.ts +2 -2
  114. package/lib/prompts/portal/toc/new-toc.js +3 -3
  115. package/lib/prompts/portal/toc/new-toc.js.map +1 -1
  116. package/lib/prompts/prompt.d.ts +6 -0
  117. package/lib/prompts/prompt.js +45 -0
  118. package/lib/prompts/prompt.js.map +1 -1
  119. package/lib/prompts/publishing/profile/list.d.ts +9 -0
  120. package/lib/prompts/publishing/profile/list.js +27 -0
  121. package/lib/prompts/publishing/profile/list.js.map +1 -0
  122. package/lib/prompts/sdk/generate.d.ts +7 -3
  123. package/lib/prompts/sdk/generate.js +25 -13
  124. package/lib/prompts/sdk/generate.js.map +1 -1
  125. package/lib/prompts/sdk/merge-source-tree.d.ts +22 -0
  126. package/lib/prompts/sdk/merge-source-tree.js +90 -0
  127. package/lib/prompts/sdk/merge-source-tree.js.map +1 -0
  128. package/lib/prompts/sdk/publish/interactive.d.ts +30 -0
  129. package/lib/prompts/sdk/publish/interactive.js +139 -0
  130. package/lib/prompts/sdk/publish/interactive.js.map +1 -0
  131. package/lib/prompts/sdk/publish/non-interactive.d.ts +27 -0
  132. package/lib/prompts/sdk/publish/non-interactive.js +97 -0
  133. package/lib/prompts/sdk/publish/non-interactive.js.map +1 -0
  134. package/lib/prompts/sdk/publish.d.ts +12 -0
  135. package/lib/prompts/sdk/publish.js +16 -0
  136. package/lib/prompts/sdk/publish.js.map +1 -0
  137. package/lib/prompts/sdk/quickstart.d.ts +4 -1
  138. package/lib/prompts/sdk/quickstart.js +30 -13
  139. package/lib/prompts/sdk/quickstart.js.map +1 -1
  140. package/lib/prompts/sdk/save-changes.d.ts +21 -0
  141. package/lib/prompts/sdk/save-changes.js +84 -0
  142. package/lib/prompts/sdk/save-changes.js.map +1 -0
  143. package/lib/types/api/account.d.ts +1 -0
  144. package/lib/types/build/build.d.ts +82 -2
  145. package/lib/types/build/build.js +161 -0
  146. package/lib/types/build/build.js.map +1 -1
  147. package/lib/types/build-context.d.ts +14 -1
  148. package/lib/types/build-context.js +82 -4
  149. package/lib/types/build-context.js.map +1 -1
  150. package/lib/types/events/sdk-changes-saved.d.ts +8 -0
  151. package/lib/types/events/sdk-changes-saved.js +11 -0
  152. package/lib/types/events/sdk-changes-saved.js.map +1 -0
  153. package/lib/types/events/sdk-changes-tracked.d.ts +8 -0
  154. package/lib/types/events/sdk-changes-tracked.js +11 -0
  155. package/lib/types/events/sdk-changes-tracked.js.map +1 -0
  156. package/lib/types/events/sdk-conflicts-resolved.d.ts +8 -0
  157. package/lib/types/events/sdk-conflicts-resolved.js +11 -0
  158. package/lib/types/events/sdk-conflicts-resolved.js.map +1 -0
  159. package/lib/types/events/sdk-publish-validation-failed.d.ts +5 -0
  160. package/lib/types/events/sdk-publish-validation-failed.js +8 -0
  161. package/lib/types/events/sdk-publish-validation-failed.js.map +1 -0
  162. package/lib/types/file/directory.d.ts +10 -1
  163. package/lib/types/file/directory.js +63 -5
  164. package/lib/types/file/directory.js.map +1 -1
  165. package/lib/types/file/directoryPath.js.map +1 -1
  166. package/lib/types/file/urlPath.d.ts +4 -0
  167. package/lib/types/file/urlPath.js +9 -0
  168. package/lib/types/file/urlPath.js.map +1 -1
  169. package/lib/types/merge-source-tree-context.d.ts +28 -0
  170. package/lib/types/merge-source-tree-context.js +63 -0
  171. package/lib/types/merge-source-tree-context.js.map +1 -0
  172. package/lib/types/package-settings-context.d.ts +10 -0
  173. package/lib/types/package-settings-context.js +20 -0
  174. package/lib/types/package-settings-context.js.map +1 -0
  175. package/lib/types/publish/package-settings-configuration.d.ts +74 -0
  176. package/lib/types/publish/package-settings-configuration.js +2 -0
  177. package/lib/types/publish/package-settings-configuration.js.map +1 -0
  178. package/lib/types/publish/profile-id.d.ts +10 -0
  179. package/lib/types/publish/profile-id.js +22 -0
  180. package/lib/types/publish/profile-id.js.map +1 -0
  181. package/lib/types/publish/publishing-profile.d.ts +26 -0
  182. package/lib/types/publish/publishing-profile.js +154 -0
  183. package/lib/types/publish/publishing-profile.js.map +1 -0
  184. package/lib/types/publish/publishing-profiles.d.ts +12 -0
  185. package/lib/types/publish/publishing-profiles.js +36 -0
  186. package/lib/types/publish/publishing-profiles.js.map +1 -0
  187. package/lib/types/publish/version.d.ts +7 -0
  188. package/lib/types/publish/version.js +17 -0
  189. package/lib/types/publish/version.js.map +1 -0
  190. package/lib/types/publish-api/publish-log.d.ts +20 -0
  191. package/lib/types/publish-api/publish-log.js +2 -0
  192. package/lib/types/publish-api/publish-log.js.map +1 -0
  193. package/lib/types/publish-api/publishing-info.d.ts +4 -0
  194. package/lib/types/publish-api/publishing-info.js +2 -0
  195. package/lib/types/publish-api/publishing-info.js.map +1 -0
  196. package/lib/types/publish-api/publishing-profile-item.d.ts +190 -0
  197. package/lib/types/publish-api/publishing-profile-item.js +6 -0
  198. package/lib/types/publish-api/publishing-profile-item.js.map +1 -0
  199. package/lib/types/save-changes-context.d.ts +17 -0
  200. package/lib/types/save-changes-context.js +42 -0
  201. package/lib/types/save-changes-context.js.map +1 -0
  202. package/lib/types/sdk/generate.d.ts +18 -0
  203. package/lib/types/sdk/generate.js +25 -0
  204. package/lib/types/sdk/generate.js.map +1 -1
  205. package/lib/types/sdk-context.d.ts +5 -4
  206. package/lib/types/sdk-context.js +26 -13
  207. package/lib/types/sdk-context.js.map +1 -1
  208. package/lib/types/sdl/sdl.d.ts +0 -28
  209. package/lib/types/sdl/sdl.js +1 -128
  210. package/lib/types/sdl/sdl.js.map +1 -1
  211. package/lib/types/spec-context.js.map +1 -1
  212. package/lib/types/temp-context.js.map +1 -1
  213. package/lib/types/toc/toc-components.d.ts +37 -0
  214. package/lib/types/toc/toc-components.js +97 -0
  215. package/lib/types/toc/toc-components.js.map +1 -0
  216. package/lib/types/toc/toc.d.ts +11 -0
  217. package/lib/utils/string-utils.d.ts +0 -1
  218. package/lib/utils/string-utils.js +0 -42
  219. package/lib/utils/string-utils.js.map +1 -1
  220. package/package.json +28 -20
  221. package/lib/types/versioned-build-context.d.ts +0 -15
  222. package/lib/types/versioned-build-context.js +0 -28
  223. package/lib/types/versioned-build-context.js.map +0 -1
@@ -1,10 +1,10 @@
1
- import { ApiError, SdkGenerationAsyncController, ContentType, DocsPortalGenerationAsyncController, ProblemDetailsError, FileWrapper, TransformationController, ExportFormats, SdkLanguages, Status, } from "@apimatic/sdk";
1
+ import { ApiError, SdkGenerationAsyncController, ContentType, DocsPortalGenerationAsyncController, SdkSourceTreeGenerationAsyncController, ProblemDetailsError, FileWrapper, TransformationController, ExportFormats, SdkLanguages, Status, TableOfContentsController, StabilityLevelTag, V2SdkGenerationController, } from "@apimatic/sdk";
2
2
  import { getAuthInfo } from "../../client-utils/auth-manager.js";
3
3
  import { parseStreamBodyToJson } from "../../utils/utils.js";
4
4
  import { FileService } from "../file-service.js";
5
5
  import { apiClientFactory } from "./api-client-factory.js";
6
6
  import { err, ok } from "neverthrow";
7
- import { Language } from "../../types/sdk/generate.js";
7
+ import { Language, Stability } from "../../types/sdk/generate.js";
8
8
  import { handleServiceError, ServiceError } from "../service-error.js";
9
9
  import { ApiService } from "./api-service.js";
10
10
  export class PortalService {
@@ -30,6 +30,10 @@ export class PortalService {
30
30
  [Language.TYPESCRIPT]: SdkLanguages.Typescript,
31
31
  [Language.GO]: SdkLanguages.Go
32
32
  };
33
+ this.stabilityTag = {
34
+ [Stability.STABLE]: StabilityLevelTag.Stable,
35
+ [Stability.BETA]: StabilityLevelTag.Beta
36
+ };
33
37
  }
34
38
  // TODO: Pass stream as parameter instead of file path.
35
39
  async generatePortal(buildPath, configDir, commandMetadata, authKey) {
@@ -47,11 +51,12 @@ export class PortalService {
47
51
  }
48
52
  catch (error) {
49
53
  if (error instanceof ProblemDetailsError) {
54
+ const errors = error.result.errors;
50
55
  // TODO: This only picks the first error message, improve it to show all errors.
51
- const message = (_b = (_a = Object.values(error.result.errors)[0]) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : null;
56
+ const message = (_b = (_a = Object.values(errors)[0]) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : null;
52
57
  const errorMessage = error.result.title + "\n- " + message;
53
58
  if (error.statusCode === 400) {
54
- return err(ServiceError.badRequest(errorMessage));
59
+ return err(ServiceError.badRequest(errorMessage, errors));
55
60
  }
56
61
  if (error.statusCode === 403) {
57
62
  return err(ServiceError.forbidden(errorMessage));
@@ -74,14 +79,16 @@ export class PortalService {
74
79
  return err(ServiceError.ServerError);
75
80
  }
76
81
  if (statusResult.value.errors && statusResult.value.status === Status.ValidationError) {
77
- // TODO: This only picks the first error message, improve it to show all errors.
78
- const message = (_d = (_c = Object.values(statusResult.value.errors)[0]) === null || _c === void 0 ? void 0 : _c[0]) !== null && _d !== void 0 ? _d : null;
79
- const errorMessage = "One or more validation errors occurred." + "\n- " + message;
80
- return err(ServiceError.badRequest(errorMessage));
82
+ const errors = statusResult.value.errors;
83
+ const message = (_d = (_c = Object.values(errors)[0]) === null || _c === void 0 ? void 0 : _c[0]) !== null && _d !== void 0 ? _d : null;
84
+ const errorMessage = "One or more validation errors occurred." +
85
+ "\n- " + message;
86
+ return err(ServiceError.badRequest(errorMessage, errors));
81
87
  }
82
88
  if (statusResult.value.errors && statusResult.value.status === Status.SubscriptionError) {
89
+ const errors = statusResult.value.errors;
83
90
  // TODO: This only picks the first error message, improve it to show all errors.
84
- const message = (_f = (_e = Object.values(statusResult.value.errors)[0]) === null || _e === void 0 ? void 0 : _e[0]) !== null && _f !== void 0 ? _f : null;
91
+ const message = (_f = (_e = Object.values(errors)[0]) === null || _e === void 0 ? void 0 : _e[0]) !== null && _f !== void 0 ? _f : null;
85
92
  const errorMessage = "Access denied to resource." + "\n- " + message;
86
93
  return err(ServiceError.forbidden(errorMessage));
87
94
  }
@@ -98,8 +105,8 @@ export class PortalService {
98
105
  }
99
106
  }
100
107
  // TODO: Pass stream as parameter instead of file path.
101
- async generateSdk(buildPath, language, configDir, commandMetadata, authKey) {
102
- var _a, _b, _c, _d;
108
+ async generateSdk(buildPath, language, configDir, commandMetadata, authKey, version) {
109
+ var _a, _b, _c;
103
110
  const buildFileStream = await this.fileService.getStream(buildPath);
104
111
  const file = new FileWrapper(buildFileStream);
105
112
  const authInfo = await getAuthInfo(configDir.toString());
@@ -108,16 +115,17 @@ export class PortalService {
108
115
  const sdkGenerationController = new SdkGenerationAsyncController(client);
109
116
  let generationId;
110
117
  try {
111
- const response = await sdkGenerationController.generateSdkViaBuildInputAsync(this.CONTENT_TYPE, file, this.languageSdk[language]);
118
+ const response = await sdkGenerationController.generateSdkViaBuildInputAsync(this.CONTENT_TYPE, file, this.languageSdk[language], undefined, version === null || version === void 0 ? void 0 : version.toString());
112
119
  generationId = response.result.id;
113
120
  }
114
121
  catch (error) {
115
122
  if (error instanceof ProblemDetailsError) {
116
123
  // TODO: This only picks the first error message, improve it to show all errors.
117
- const message = (_b = (_a = Object.values(error.result.errors)[0]) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : null;
124
+ const errors = error.result.errors;
125
+ const message = (_b = (_a = Object.values(errors)[0]) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : null;
118
126
  const errorMessage = error.result.title + "\n- " + message;
119
127
  if (error.statusCode === 400) {
120
- return err(ServiceError.badRequest(errorMessage));
128
+ return err(ServiceError.badRequest(errorMessage, errors));
121
129
  }
122
130
  if (error.statusCode === 403) {
123
131
  return err(ServiceError.forbidden(errorMessage));
@@ -140,18 +148,96 @@ export class PortalService {
140
148
  return err(ServiceError.ServerError);
141
149
  }
142
150
  if (statusResult.value.errors && statusResult.value.status === Status.ValidationError) {
143
- const message = (_c = Object.values(statusResult.value.errors).flat()[0]) !== null && _c !== void 0 ? _c : null;
144
- const errorMessage = "One or more validation errors occurred." + "\n- " + message;
145
- return err(ServiceError.badRequest(errorMessage));
151
+ const errors = statusResult.value.errors;
152
+ const sdkMergeFailedLanguages = errors.sdkMergeFailed;
153
+ if (sdkMergeFailedLanguages === null || sdkMergeFailedLanguages === void 0 ? void 0 : sdkMergeFailedLanguages.length) {
154
+ const errorMessage = "SDK generation failed for these languages due to merge conflict." +
155
+ "\n- " +
156
+ sdkMergeFailedLanguages.join("\n- ");
157
+ return err(ServiceError.badRequest(errorMessage, errors));
158
+ }
159
+ const messages = Object.values(errors).flat();
160
+ const errorMessage = "One or more validation errors occurred." +
161
+ (messages.length ? "\n- " + messages.join("\n- ") : "");
162
+ return err(ServiceError.badRequest(errorMessage, errors));
146
163
  }
147
164
  if (statusResult.value.errors && statusResult.value.status === Status.SubscriptionError) {
148
- const message = (_d = Object.values(statusResult.value.errors).flat()[0]) !== null && _d !== void 0 ? _d : null;
165
+ const errors = statusResult.value.errors;
166
+ const message = (_c = Object.values(errors).flat()[0]) !== null && _c !== void 0 ? _c : null;
149
167
  const errorMessage = "Access denied to resource." + "\n- " + message;
150
168
  return err(ServiceError.forbidden(errorMessage));
151
169
  }
152
170
  } while (statusResult.value.status !== Status.Completed);
153
171
  try {
154
172
  const sdkResponse = await sdkGenerationController.downloadGeneratedSdk(generationId);
173
+ const sdkSourceTreeController = new SdkSourceTreeGenerationAsyncController(client);
174
+ const sdkSourceTreeResponse = await sdkSourceTreeController.downloadGeneratedSdkSourceTree(generationId);
175
+ return ok({
176
+ sdk: sdkResponse.result,
177
+ sdkSourceTree: sdkSourceTreeResponse.result
178
+ });
179
+ }
180
+ catch (error) {
181
+ return err(handleServiceError(error));
182
+ }
183
+ }
184
+ async generateV4Sdk(buildPath, language, stability, configDir, commandMetadata, authKey) {
185
+ var _a, _b, _c;
186
+ const buildFileStream = await this.fileService.getStream(buildPath);
187
+ const file = new FileWrapper(buildFileStream);
188
+ const authInfo = await getAuthInfo(configDir.toString());
189
+ const authorizationHeader = this.createAuthorizationHeader(authInfo, authKey);
190
+ const client = apiClientFactory.createApiClient(authorizationHeader, commandMetadata.shell);
191
+ const v2sdkGenerationController = new V2SdkGenerationController(client);
192
+ let generationId;
193
+ try {
194
+ const response = await v2sdkGenerationController.generateV2SdkViaBuildInputAsync(this.CONTENT_TYPE, file, this.languageSdk[language], this.stabilityTag[stability]);
195
+ generationId = response.result.id;
196
+ }
197
+ catch (error) {
198
+ if (error instanceof ProblemDetailsError) {
199
+ // TODO: This only picks the first error message, improve it to show all errors.
200
+ const errors = error.result.errors;
201
+ const message = (_b = (_a = Object.values(errors)[0]) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : null;
202
+ const errorMessage = error.result.title + '\n- ' + message;
203
+ if (error.statusCode === 400) {
204
+ return err(ServiceError.badRequest(errorMessage, errors));
205
+ }
206
+ if (error.statusCode === 403) {
207
+ return err(ServiceError.forbidden(errorMessage));
208
+ }
209
+ }
210
+ const serviceError = handleServiceError(error);
211
+ return err(serviceError);
212
+ }
213
+ finally {
214
+ buildFileStream.close();
215
+ }
216
+ let statusResult;
217
+ do {
218
+ await new Promise((resolve) => setTimeout(resolve, 3000));
219
+ statusResult = await this.apiService.getV4SdkGenerationStatus(generationId, configDir, commandMetadata.shell, authKey);
220
+ if (statusResult.isErr()) {
221
+ return err(statusResult.error);
222
+ }
223
+ if (statusResult.value.status === Status.Failed) {
224
+ return err(ServiceError.ServerError);
225
+ }
226
+ if (statusResult.value.errors && statusResult.value.status === Status.ValidationError) {
227
+ const errors = statusResult.value.errors;
228
+ const messages = Object.values(errors).flat();
229
+ const errorMessage = 'One or more validation errors occurred.' + (messages.length ? '\n- ' + messages.join('\n- ') : '');
230
+ return err(ServiceError.badRequest(errorMessage, errors));
231
+ }
232
+ if (statusResult.value.errors && statusResult.value.status === Status.SubscriptionError) {
233
+ const errors = statusResult.value.errors;
234
+ const message = (_c = Object.values(errors).flat()[0]) !== null && _c !== void 0 ? _c : null;
235
+ const errorMessage = 'Access denied to resource.' + '\n- ' + message;
236
+ return err(ServiceError.forbidden(errorMessage));
237
+ }
238
+ } while (statusResult.value.status !== Status.Completed);
239
+ try {
240
+ const sdkResponse = await v2sdkGenerationController.downloadGeneratedV2Sdk(generationId);
155
241
  return ok(sdkResponse.result);
156
242
  }
157
243
  catch (error) {
@@ -182,5 +268,24 @@ export class PortalService {
182
268
  return err(handleServiceError(error));
183
269
  }
184
270
  }
271
+ async generateTocData(specFileStream, configDir, commandMetadata) {
272
+ const file = new FileWrapper(specFileStream);
273
+ const authInfo = await getAuthInfo(configDir.toString());
274
+ const authorizationHeader = this.createAuthorizationHeader(authInfo, null);
275
+ const client = apiClientFactory.createApiClient(authorizationHeader, commandMetadata.shell);
276
+ const tableOfContentsController = new TableOfContentsController(client);
277
+ try {
278
+ const response = await tableOfContentsController.generateTocData(ContentType.EnumMultipartformdata, file, this.createOriginQueryParameter(commandMetadata.commandName));
279
+ if (response.result.readable) {
280
+ return ok((await parseStreamBodyToJson(response.result)));
281
+ }
282
+ else {
283
+ return err(ServiceError.InvalidResponse);
284
+ }
285
+ }
286
+ catch (error) {
287
+ return err(handleServiceError(error));
288
+ }
289
+ }
185
290
  }
186
291
  //# sourceMappingURL=portal-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"portal-service.js","sourceRoot":"","sources":["../../../src/infrastructure/services/portal-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"portal-service.js","sourceRoot":"","sources":["../../../src/infrastructure/services/portal-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { Result } from 'neverthrow';
2
+ import { PublishingProfileItem } from '../../types/publish-api/publishing-profile-item.js';
3
+ import { ServiceError } from '../service-error.js';
4
+ import { DirectoryPath } from '../../types/file/directoryPath.js';
5
+ import { Language } from '../../types/sdk/generate.js';
6
+ import { FilePath } from '../../types/file/filePath.js';
7
+ import { PublishingInfo } from '../../types/publish-api/publishing-info.js';
8
+ import { PublishType } from '../../types/publish-api/publishing-profile-item.js';
9
+ import { PublishLogItem } from '../../types/publish-api/publish-log.js';
10
+ import { SemVersion } from '../../types/publish/version.js';
11
+ import { ProfileId } from '../../types/publish/profile-id.js';
12
+ export declare class PublishingApiService {
13
+ private readonly apiBaseUrl;
14
+ private readonly fileService;
15
+ getPublishingProfiles(configDir: DirectoryPath, shell: string): Promise<Result<PublishingProfileItem[], ServiceError>>;
16
+ publishSdkPackage(sdkFilePath: FilePath, profileId: ProfileId, language: Language, packageVersion: SemVersion, publishType: PublishType[], configDir: DirectoryPath, shell: string): Promise<Result<PublishingInfo, ServiceError>>;
17
+ getSdkPublishingLog(publishingLogId: string, configDir: DirectoryPath, shell: string): Promise<Result<PublishLogItem, ServiceError>>;
18
+ private axiosInstance;
19
+ }
@@ -0,0 +1,111 @@
1
+ import axios, { AxiosError } from 'axios';
2
+ import { err, ok } from 'neverthrow';
3
+ import FormData from 'form-data';
4
+ import { handleServiceError, ServiceError } from '../service-error.js';
5
+ import { getAuthInfo } from '../../client-utils/auth-manager.js';
6
+ import { envInfo } from '../env-info.js';
7
+ import { FileService } from '../file-service.js';
8
+ export class PublishingApiService {
9
+ constructor() {
10
+ this.apiBaseUrl = 'https://api.package-publishing.apimatic.io/api';
11
+ this.fileService = new FileService();
12
+ }
13
+ async getPublishingProfiles(configDir, shell) {
14
+ const authInfo = await getAuthInfo(configDir.toString());
15
+ if (authInfo === null) {
16
+ return err(ServiceError.UnAuthorized);
17
+ }
18
+ try {
19
+ const token = authInfo.authKey;
20
+ const response = await this.axiosInstance(shell, token).get(`/publishing-profile/user`);
21
+ if (response.status === 200) {
22
+ return ok(response.data);
23
+ }
24
+ return err(ServiceError.InvalidResponse);
25
+ }
26
+ catch (error) {
27
+ return err(handleServiceError(error));
28
+ }
29
+ }
30
+ async publishSdkPackage(sdkFilePath, profileId, language, packageVersion, publishType, configDir, shell) {
31
+ var _a, _b;
32
+ const authInfo = await getAuthInfo(configDir.toString());
33
+ if (authInfo === null) {
34
+ return err(ServiceError.UnAuthorized);
35
+ }
36
+ const sdkFileStream = await this.fileService.getStream(sdkFilePath);
37
+ try {
38
+ const token = authInfo.authKey;
39
+ const formData = new FormData();
40
+ formData.append('file', sdkFileStream);
41
+ formData.append('packageVersion', packageVersion.toString());
42
+ // If both package and source code publishing are not selected, publishType array will contain only one of them, so we need to specify which one to the API.
43
+ // If both are selected, we will omit this field as API defaults to both types being selected.
44
+ if (publishType.length !== 2) {
45
+ formData.append('publishType', publishType[0]);
46
+ }
47
+ const response = await this.axiosInstance(shell, token).post(`/publish/${profileId}/${language}`, formData, {
48
+ headers: formData.getHeaders(),
49
+ responseType: 'json'
50
+ });
51
+ if (response.status === 200) {
52
+ return ok(response.data);
53
+ }
54
+ return err(ServiceError.InvalidResponse);
55
+ }
56
+ catch (error) {
57
+ if (error instanceof AxiosError) {
58
+ const data = (_a = error.response) === null || _a === void 0 ? void 0 : _a.data;
59
+ if (error.status === 400) {
60
+ const errors = data.errors;
61
+ const detail = errors ? (_b = Object.values(errors)[0]) === null || _b === void 0 ? void 0 : _b[0] : data.detail;
62
+ const errorMessage = data.title + '\n- ' + detail;
63
+ return err(ServiceError.badRequest(errorMessage, errors !== null && errors !== void 0 ? errors : {}));
64
+ }
65
+ if (error.status === 403) {
66
+ const errorMessage = data.title + '\n- ' + data.detail;
67
+ return err(ServiceError.forbidden(errorMessage));
68
+ }
69
+ if (error.status === 404) {
70
+ const errorMessage = data.title + '\n- ' + data.detail;
71
+ return err(ServiceError.notFound(errorMessage));
72
+ }
73
+ }
74
+ return err(handleServiceError(error));
75
+ }
76
+ finally {
77
+ sdkFileStream.close();
78
+ }
79
+ }
80
+ async getSdkPublishingLog(publishingLogId, configDir, shell) {
81
+ const authInfo = await getAuthInfo(configDir.toString());
82
+ if (authInfo === null) {
83
+ return err(ServiceError.UnAuthorized);
84
+ }
85
+ try {
86
+ const token = authInfo.authKey;
87
+ const response = await this.axiosInstance(shell, token).get(`/publish-logs/${publishingLogId}`);
88
+ if (response.status === 200) {
89
+ return ok(response.data);
90
+ }
91
+ return err(ServiceError.InvalidResponse);
92
+ }
93
+ catch (error) {
94
+ return err(handleServiceError(error));
95
+ }
96
+ }
97
+ axiosInstance(shell, apiKey) {
98
+ var _a;
99
+ const headers = {
100
+ 'User-Agent': envInfo.getUserAgent(shell)
101
+ };
102
+ if (apiKey) {
103
+ headers.Authorization = `X-Auth-Key ${apiKey}`;
104
+ }
105
+ return axios.create({
106
+ baseURL: (_a = envInfo.getPublishingBaseUrl()) !== null && _a !== void 0 ? _a : this.apiBaseUrl,
107
+ headers
108
+ });
109
+ }
110
+ }
111
+ //# sourceMappingURL=publishing-api-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publishing-api-service.js","sourceRoot":"","sources":["../../../src/infrastructure/services/publishing-api-service.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { Result } from "neverthrow";
4
4
  import { FilePath } from "../../types/file/filePath.js";
5
5
  import { CommandMetadata } from "../../types/common/command-metadata.js";
6
6
  import { ServiceError } from "../service-error.js";
7
+ import { BuildConfig } from "../../types/build/build.js";
7
8
  export declare enum RemovableFeature {
8
9
  Merging = "Merging",
9
10
  Pagination = "Pagination",
@@ -31,12 +32,32 @@ export interface ValidateApiResponse {
31
32
  result: ValidateApiResult;
32
33
  unallowedFeatures: UnallowedFeaturesResponse | null;
33
34
  }
35
+ export interface BuildFilePruneReport {
36
+ removedLanguages: string[];
37
+ removedApiCopilot: boolean;
38
+ removedAiIntegration: boolean;
39
+ }
40
+ export interface PruneBuildFileResponse {
41
+ buildFile: BuildConfig;
42
+ report: BuildFilePruneReport;
43
+ }
34
44
  export declare class ValidationService {
35
45
  private readonly configDir;
36
46
  private readonly apiBaseUrl;
47
+ private readonly zipService;
48
+ private readonly fileService;
37
49
  constructor(configDir: DirectoryPath);
38
50
  validateViaFile({ file, commandMetadata, authKey }: ValidateViaFileParams): Promise<Result<ValidateApiResponse, string>>;
39
51
  stripUnallowedFeatures(specPath: FilePath, featuresToRemove: FeaturesToRemove, authKey?: string | null): Promise<Result<NodeJS.ReadableStream, ServiceError>>;
52
+ /**
53
+ * Prunes a build file down to what the user's subscription allows (SDK languages +
54
+ * AI features) via the platform, returning the pruned build file and a report of
55
+ * what was removed. The platform is the entitlement authority, so the build we
56
+ * submit for generation is never rejected for a build-file feature the plan lacks.
57
+ */
58
+ pruneBuildFile(buildConfigFilePath: FilePath, authKey?: string | null): Promise<Result<PruneBuildFileResponse, ServiceError>>;
59
+ /** Decodes a streamed error body into a ServiceError with a prune-specific fallback message. */
60
+ private parsePruneErrorResponse;
40
61
  private createAuthorizationHeader;
41
62
  private handleValidationErrors;
42
63
  private parseErrorResponse;
@@ -5,11 +5,17 @@ import { ApiValidationV2ExternalApisController, ContentType, FileWrapper, ApiErr
5
5
  import { getAuthInfo } from "../../client-utils/auth-manager.js";
6
6
  import { apiClientFactory } from "./api-client-factory.js";
7
7
  import { err, ok } from "neverthrow";
8
+ import { FilePath } from "../../types/file/filePath.js";
9
+ import { FileName } from "../../types/file/fileName.js";
8
10
  import FormData from "form-data";
9
- import { handleServiceError } from "../service-error.js";
11
+ import { ZipService } from "../zip-service.js";
12
+ import { FileService } from "../file-service.js";
13
+ import { withDirPath } from "../tmp-extensions.js";
14
+ import { handleServiceError, ServiceError } from "../service-error.js";
10
15
  import axios from "axios";
11
16
  import { envInfo } from "../env-info.js";
12
17
  import { Buffer } from "node:buffer";
18
+ import { BuildConfig } from "../../types/build/build.js";
13
19
  export var RemovableFeature;
14
20
  (function (RemovableFeature) {
15
21
  RemovableFeature["Merging"] = "Merging";
@@ -23,6 +29,8 @@ export class ValidationService {
23
29
  constructor(configDir) {
24
30
  this.configDir = configDir;
25
31
  this.apiBaseUrl = "https://api.apimatic.io";
32
+ this.zipService = new ZipService();
33
+ this.fileService = new FileService();
26
34
  }
27
35
  async validateViaFile({ file, commandMetadata, authKey }) {
28
36
  var _a;
@@ -75,6 +83,88 @@ export class ValidationService {
75
83
  return err(handleServiceError(error));
76
84
  }
77
85
  }
86
+ /**
87
+ * Prunes a build file down to what the user's subscription allows (SDK languages +
88
+ * AI features) via the platform, returning the pruned build file and a report of
89
+ * what was removed. The platform is the entitlement authority, so the build we
90
+ * submit for generation is never rejected for a build-file feature the plan lacks.
91
+ */
92
+ async pruneBuildFile(buildConfigFilePath, authKey) {
93
+ var _a;
94
+ const authInfo = await getAuthInfo(this.configDir.toString());
95
+ const authorizationHeader = this.createAuthorizationHeader(authInfo, authKey !== null && authKey !== void 0 ? authKey : null);
96
+ const formData = new FormData();
97
+ formData.append("file", createReadStream(buildConfigFilePath.toString()), {
98
+ filename: "APIMATIC-BUILD.json",
99
+ contentType: "application/json"
100
+ });
101
+ const baseURL = (_a = envInfo.getBaseUrl()) !== null && _a !== void 0 ? _a : this.apiBaseUrl;
102
+ try {
103
+ const response = await axios({
104
+ method: "POST",
105
+ url: `${baseURL}/build-features/prune`,
106
+ data: formData,
107
+ headers: Object.assign(Object.assign({}, formData.getHeaders()), { Authorization: authorizationHeader }),
108
+ // The endpoint returns a zip (pruned APIMATIC-BUILD.json + report.json),
109
+ // streamed so it can be written straight to disk and unarchived.
110
+ responseType: "stream",
111
+ validateStatus: () => true
112
+ });
113
+ if (response.status >= 400) {
114
+ return err(await this.parsePruneErrorResponse(response));
115
+ }
116
+ // Persist the zip to a temp dir and extract it via ZipService, then read the
117
+ // two entries back off disk — no in-memory zip handling.
118
+ return await withDirPath(async (tempDir) => {
119
+ const zipPath = new FilePath(tempDir, new FileName("prune-response.zip"));
120
+ await this.fileService.writeFile(zipPath, response.data);
121
+ const extractDir = tempDir.join("prune");
122
+ await this.zipService.unArchive(zipPath, extractDir);
123
+ const prunedBuildConfigFile = new FilePath(extractDir, new FileName("APIMATIC-BUILD.json"));
124
+ const reportFile = new FilePath(extractDir, new FileName("report.json"));
125
+ if (!(await this.fileService.fileExists(prunedBuildConfigFile)) || !(await this.fileService.fileExists(reportFile))) {
126
+ return err(ServiceError.ServerError);
127
+ }
128
+ const buildConfigFile = BuildConfig.parse(await this.fileService.getContents(prunedBuildConfigFile));
129
+ const report = JSON.parse(await this.fileService.getContents(reportFile));
130
+ return ok({ buildFile: buildConfigFile, report });
131
+ });
132
+ }
133
+ catch (error) {
134
+ return err(handleServiceError(error));
135
+ }
136
+ }
137
+ /** Decodes a streamed error body into a ServiceError with a prune-specific fallback message. */
138
+ async parsePruneErrorResponse(response) {
139
+ var _a, e_1, _b, _c;
140
+ var _d, _e, _f, _g, _h;
141
+ const chunks = [];
142
+ try {
143
+ for (var _j = true, _k = __asyncValues(response.data), _l; _l = await _k.next(), _a = _l.done, !_a; _j = true) {
144
+ _c = _l.value;
145
+ _j = false;
146
+ const chunk = _c;
147
+ chunks.push(Buffer.from(chunk));
148
+ }
149
+ }
150
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
151
+ finally {
152
+ try {
153
+ if (!_j && !_a && (_b = _k.return)) await _b.call(_k);
154
+ }
155
+ finally { if (e_1) throw e_1.error; }
156
+ }
157
+ const errorBody = Buffer.concat(chunks).toString("utf-8");
158
+ let message = `Error ${response.status}: Failed to prune the build file for your subscription.`;
159
+ try {
160
+ const body = JSON.parse(errorBody);
161
+ message = (_h = (_g = (_f = (_e = (_d = body === null || body === void 0 ? void 0 : body.errors) === null || _d === void 0 ? void 0 : _d.summary) === null || _e === void 0 ? void 0 : _e[0]) !== null && _f !== void 0 ? _f : body === null || body === void 0 ? void 0 : body.message) !== null && _g !== void 0 ? _g : body === null || body === void 0 ? void 0 : body.title) !== null && _h !== void 0 ? _h : message;
162
+ }
163
+ catch (_m) {
164
+ // Non-JSON / undecodable body — keep the default message.
165
+ }
166
+ return ServiceError.badRequest(message, {});
167
+ }
78
168
  createAuthorizationHeader(authInfo, overrideAuthKey) {
79
169
  const key = overrideAuthKey || (authInfo === null || authInfo === void 0 ? void 0 : authInfo.authKey);
80
170
  return `X-Auth-Key ${key !== null && key !== void 0 ? key : ""}`;
@@ -98,7 +188,7 @@ export class ValidationService {
98
188
  return "Unexpected error occurred while validating API specification.";
99
189
  }
100
190
  async parseErrorResponse(response) {
101
- var _a, e_1, _b, _c;
191
+ var _a, e_2, _b, _c;
102
192
  var _d, _e;
103
193
  const chunks = [];
104
194
  try {
@@ -109,12 +199,12 @@ export class ValidationService {
109
199
  chunks.push(Buffer.from(chunk));
110
200
  }
111
201
  }
112
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
202
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
113
203
  finally {
114
204
  try {
115
205
  if (!_f && !_a && (_b = _g.return)) await _b.call(_g);
116
206
  }
117
- finally { if (e_1) throw e_1.error; }
207
+ finally { if (e_2) throw e_2.error; }
118
208
  }
119
209
  const errorBody = Buffer.concat(chunks).toString('utf-8');
120
210
  let errorMessage = `Error ${response.status}: Failed to strip unallowed features.`;
@@ -1 +1 @@
1
- {"version":3,"file":"validation-service.js","sourceRoot":"","sources":["../../../src/infrastructure/services/validation-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation-service.js","sourceRoot":"","sources":["../../../src/infrastructure/services/validation-service.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { DirectoryPath } from "../types/file/directoryPath.js";
2
- import { FilePath } from "../types/file/filePath.js";
1
+ import { DirectoryPath } from '../types/file/directoryPath.js';
2
+ import { FilePath } from '../types/file/filePath.js';
3
3
  export declare class ZipService {
4
4
  archive(sourceDir: DirectoryPath, outputZipPath: FilePath): Promise<void>;
5
5
  unArchive(sourceFile: FilePath, destinationDirectory: DirectoryPath): Promise<void>;