@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
@@ -0,0 +1,16 @@
1
+ import { log } from '@clack/prompts';
2
+ import { PublishType } from '../../types/publish-api/publishing-profile-item.js';
3
+ import { withSpinner } from '../prompt.js';
4
+ export class SdkPublishPrompts {
5
+ publishSdk(fn) {
6
+ return withSpinner('Publishing SDK', 'Publishing initiated.', 'SDK Publishing failed.', fn);
7
+ }
8
+ sdkPublishingServiceError(serviceError) {
9
+ log.error(serviceError.errorMessage);
10
+ }
11
+ dryRunNotice(publishingProfile, language, version, publishType) {
12
+ const targets = publishType.map((t) => (t === PublishType.PackagePublishing ? 'Package' : 'Source Code')).join(' + ');
13
+ log.info(`You can publish this SDK by removing the --dry-run flag. It will be published for the following:\n\n Profile: ${publishingProfile}\n Language: ${language}\n Version: ${version}\n Targets: ${targets}`);
14
+ }
15
+ }
16
+ //# sourceMappingURL=publish.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../src/prompts/sdk/publish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAIrC,OAAO,EAAE,WAAW,EAAE,MAAM,oDAAoD,CAAC;AAGjF,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,MAAM,OAAO,iBAAiB;IACrB,UAAU,CAAC,EAAiD;QACjE,OAAO,WAAW,CAAC,gBAAgB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,EAAE,CAAC,CAAC;IAC9F,CAAC;IAEM,yBAAyB,CAAC,YAA0B;QACzD,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC;IAEM,YAAY,CAAC,iBAAoC,EAAE,QAAkB,EAAE,OAAmB,EAAE,WAA0B;QAC3H,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtH,GAAG,CAAC,IAAI,CACN,oHAAoH,iBAAiB,kBAAkB,QAAQ,kBAAkB,OAAO,kBAAkB,OAAO,EAAE,CACpN,CAAC;IACJ,CAAC;CACF"}
@@ -21,8 +21,11 @@ export declare class SdkQuickstartPrompts {
21
21
  useDefaultSpecPrompt(): Promise<boolean>;
22
22
  fixYourSpec(): void;
23
23
  selectLanguageStep(): void;
24
- selectLanguagePrompt(): Promise<Language | undefined>;
24
+ selectLanguagePrompt(allowedLanguages: Language[]): Promise<Language | undefined>;
25
+ noLanguagesAvailableOnPlan(): void;
26
+ private languagesNotOnPlanNote;
25
27
  noLanguageSelected(): void;
28
+ accountInfoFetchFailed(serviceError: ServiceError): void;
26
29
  selectInputDirectoryStep(): void;
27
30
  inputDirectoryPathPrompt(): Promise<DirectoryPath | undefined>;
28
31
  noInputDirectoryProvided(): void;
@@ -4,9 +4,10 @@ import { noteWrapped, withSpinner } from "../prompt.js";
4
4
  import { createResourceInputFromInput } from "../../types/file/resource-input.js";
5
5
  import { DirectoryPath } from "../../types/file/directoryPath.js";
6
6
  import { removeQuotes } from "../../utils/string-utils.js";
7
- import { Language } from "../../types/sdk/generate.js";
7
+ import { LANGUAGE_CHOICES } from "../../types/sdk/generate.js";
8
8
  const vscodeExtensionUrl = "https://marketplace.visualstudio.com/items?itemName=apimatic-developers.apimatic-for-vscode";
9
9
  const sdkCustomizationUrl = "https://docs.apimatic.io/generate-sdks/codegen-settings/codegen-settings-overview/";
10
+ const pricingUrl = "https://www.apimatic.io/pricing";
10
11
  export class SdkQuickstartPrompts {
11
12
  importSpecStep() {
12
13
  log.info(`Step 1 of 4: Import your OpenAPI Definition`);
@@ -41,7 +42,7 @@ export class SdkQuickstartPrompts {
41
42
  "To continue:",
42
43
  "- Remove these components from your API Specification and re-run this command.",
43
44
  "- Combine your split API Specification files into a single file. We can automatically remove unsupported components from single-file specs.",
44
- "- Upgrade your subscription to unlock additional features: https://www.apimatic.io/pricing"
45
+ `- Upgrade your subscription to unlock additional features: ${f.link(pricingUrl)}`
45
46
  ].join("\n");
46
47
  log.info(message);
47
48
  }
@@ -59,7 +60,7 @@ export class SdkQuickstartPrompts {
59
60
  endpointMessage,
60
61
  "",
61
62
  "You won't see these components in the generated SDKs or documentation.",
62
- "Want to keep them? Upgrade your subscription to unlock additional features: https://www.apimatic.io/pricing"
63
+ `Want to keep them? Upgrade your subscription to unlock additional features: ${f.link(pricingUrl)}`
63
64
  ].join("\n");
64
65
  log.info(message);
65
66
  }
@@ -104,27 +105,43 @@ export class SdkQuickstartPrompts {
104
105
  selectLanguageStep() {
105
106
  log.info(`Step 3 of 4: Select programming language`);
106
107
  }
107
- async selectLanguagePrompt() {
108
+ async selectLanguagePrompt(allowedLanguages) {
109
+ const allowed = new Set(allowedLanguages);
110
+ const available = LANGUAGE_CHOICES.filter(({ value }) => allowed.has(value));
111
+ const excluded = LANGUAGE_CHOICES.filter(({ value }) => !allowed.has(value));
112
+ if (excluded.length > 0) {
113
+ log.info(this.languagesNotOnPlanNote(excluded.map(({ label }) => label)));
114
+ }
108
115
  const language = await select({
109
116
  message: "Choose the programming language for your SDK:",
110
- options: [
111
- { label: "Typescript", value: Language.TYPESCRIPT },
112
- { label: "Ruby", value: Language.RUBY },
113
- { label: "Python", value: Language.PYTHON },
114
- { label: "Java", value: Language.JAVA },
115
- { label: "C#", value: Language.CSHARP },
116
- { label: "PHP", value: Language.PHP },
117
- { label: "Go", value: Language.GO }
118
- ]
117
+ options: available.map(({ label, value }) => ({ label, value }))
119
118
  });
120
119
  if (isCancel(language)) {
121
120
  return undefined;
122
121
  }
123
122
  return language;
124
123
  }
124
+ noLanguagesAvailableOnPlan() {
125
+ const message = [
126
+ "You're on the Free plan.",
127
+ `Upgrade your subscription to get started: ${f.link(pricingUrl)}`
128
+ ].join("\n");
129
+ log.warn(message);
130
+ }
131
+ languagesNotOnPlanNote(languages) {
132
+ return [
133
+ `The following languages aren't included in your current subscription plan:`,
134
+ ...languages.map((language) => ` • ${language}`),
135
+ "",
136
+ `Upgrade your subscription to unlock them: ${f.link(pricingUrl)}`
137
+ ].join("\n");
138
+ }
125
139
  noLanguageSelected() {
126
140
  log.error("No programming language was selected.");
127
141
  }
142
+ accountInfoFetchFailed(serviceError) {
143
+ log.error(`Failed to fetch your account information. ${serviceError.errorMessage}`);
144
+ }
128
145
  selectInputDirectoryStep() {
129
146
  log.info(`Step 4 of 4: Setup directory for SDK Generation`);
130
147
  }
@@ -1 +1 @@
1
- {"version":3,"file":"quickstart.js","sourceRoot":"","sources":["../../../src/prompts/sdk/quickstart.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quickstart.js","sourceRoot":"","sources":["../../../src/prompts/sdk/quickstart.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { DirectoryPath } from "../../types/file/directoryPath.js";
2
+ import { FilePath } from "../../types/file/filePath.js";
3
+ import { Directory } from "../../types/file/directory.js";
4
+ export declare class SaveChangesPrompts {
5
+ srcDirectoryEmpty(directory: DirectoryPath): void;
6
+ invalidSdkDirectory(directory: DirectoryPath): void;
7
+ invalidVersionedDocsDirectory(directory: DirectoryPath): void;
8
+ apiVersionOnlyApplicableWithVersionedBuild(): void;
9
+ versionNotFound(): void;
10
+ selectVersion(versions: string[]): Promise<string | undefined>;
11
+ sdkSourceTreeNotFound(language: string): void;
12
+ operationCancelled(): void;
13
+ directoryStillOpen(directory: DirectoryPath): Promise<void>;
14
+ modifiedFilesDetected(directory: Directory): void;
15
+ confirmReviewChanges(): Promise<boolean>;
16
+ noChangesDetected(): void;
17
+ openingDirectoryToReviewChanges(): void;
18
+ reviewChangesManually(tempDirectory: DirectoryPath): Promise<void>;
19
+ confirmSaveChanges(): Promise<boolean>;
20
+ changesSaved(sourceTreePath: FilePath): void;
21
+ }
@@ -0,0 +1,84 @@
1
+ import { log, isCancel, select, confirm } from "@clack/prompts";
2
+ import { format as f, getTree } from "../format.js";
3
+ import { noteWrapped } from "../prompt.js";
4
+ export class SaveChangesPrompts {
5
+ srcDirectoryEmpty(directory) {
6
+ const message = `The ${f.var("src")} directory is either empty or invalid: ${f.path(directory)}`;
7
+ log.error(message);
8
+ }
9
+ invalidSdkDirectory(directory) {
10
+ const message = `SDK directory does not exist: ${f.path(directory)}`;
11
+ log.error(message);
12
+ }
13
+ invalidVersionedDocsDirectory(directory) {
14
+ const message = `The ${f.var("versioned_docs")} directory is either empty or invalid: ${f.path(directory)}`;
15
+ log.error(message);
16
+ }
17
+ apiVersionOnlyApplicableWithVersionedBuild() {
18
+ log.warn(`The ${f.flag("api-version")} is only applicable with a versioned build.`);
19
+ }
20
+ versionNotFound() {
21
+ log.error(`The selected API version is invalid.`);
22
+ }
23
+ async selectVersion(versions) {
24
+ const version = await select({
25
+ message: "Select an API version to save SDK changes into:",
26
+ options: versions.map((v) => ({ label: v, value: v }))
27
+ });
28
+ if (isCancel(version)) {
29
+ return undefined;
30
+ }
31
+ return version;
32
+ }
33
+ sdkSourceTreeNotFound(language) {
34
+ log.error(`No 'sdk-source-tree' found for ${f.var(language)}. You need to generate the SDK with change tracking enabled before you can save changes.`);
35
+ const message = `Generate the SDK with change tracking by running:
36
+ '${f.cmdAlt("apimatic", "sdk", "generate")} ${f.flag("language", language)} ${f.flag("track-changes")}'
37
+ Then customize your SDK and run ${f.cmdAlt("apimatic", "sdk", "save-changes")} again.`;
38
+ noteWrapped(message, "Next Steps");
39
+ }
40
+ operationCancelled() {
41
+ log.warn("Exiting without saving any changes.");
42
+ }
43
+ async directoryStillOpen(directory) {
44
+ log.info(`Please close all applications using the directory ${f.path(directory)} to allow cleanup of temporary files.`);
45
+ }
46
+ modifiedFilesDetected(directory) {
47
+ log.info(`Detected changes in the following file(s):
48
+ ${getTree(directory.toTreeNode())}`);
49
+ }
50
+ async confirmReviewChanges() {
51
+ const confirmed = await confirm({
52
+ message: `Do you want to review these changes?`,
53
+ initialValue: false
54
+ });
55
+ if (isCancel(confirmed)) {
56
+ return false;
57
+ }
58
+ return confirmed;
59
+ }
60
+ noChangesDetected() {
61
+ log.info("No changes detected in the SDK.");
62
+ }
63
+ openingDirectoryToReviewChanges() {
64
+ log.info(`Opening the changed files in VS Code for review. Close the editor to proceed.`);
65
+ }
66
+ async reviewChangesManually(tempDirectory) {
67
+ log.info(`Review the changes at ${f.path(tempDirectory)} to proceed.`);
68
+ }
69
+ async confirmSaveChanges() {
70
+ const confirmed = await confirm({
71
+ message: `Do you want to save these changes?`,
72
+ initialValue: true
73
+ });
74
+ if (isCancel(confirmed)) {
75
+ return false;
76
+ }
77
+ return confirmed;
78
+ }
79
+ changesSaved(sourceTreePath) {
80
+ log.success(`Changes saved successfully at ${f.path(sourceTreePath)}.`);
81
+ log.info(`Your saved changes will reapply automatically the next time you generate this SDK.`);
82
+ }
83
+ }
84
+ //# sourceMappingURL=save-changes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"save-changes.js","sourceRoot":"","sources":["../../../src/prompts/sdk/save-changes.ts"],"names":[],"mappings":"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"}
@@ -6,5 +6,6 @@ export interface SubscriptionInfo {
6
6
  tenantId: string;
7
7
  allowedLanguages: number;
8
8
  isPackagePublishingAllowed: boolean;
9
+ isOnPremGenerationAllowed: boolean;
9
10
  ApiCopilotKeys: string[];
10
11
  }
@@ -1,7 +1,11 @@
1
1
  import { DirectoryPath } from "../file/directoryPath.js";
2
- export interface BuildConfig {
2
+ import { UrlPath } from "../file/urlPath.js";
3
+ export interface BuildConfigData {
3
4
  generatePortal?: PortalConfig;
5
+ generateVersionedPortal?: object;
6
+ versionsPath?: string;
4
7
  apiCopilotConfig?: CopilotConfig;
8
+ recipes?: RecipesConfig;
5
9
  [key: string]: unknown;
6
10
  }
7
11
  export interface PortalConfig {
@@ -9,14 +13,90 @@ export interface PortalConfig {
9
13
  languageConfig: {
10
14
  [key: string]: object;
11
15
  };
12
- [key: string]: unknown;
16
+ /** URL where the portal will be hosted. Mirrors `generatePortal.baseUrl` in codegen. */
17
+ baseUrl?: string;
18
+ /** Portal UI settings. Mirrors `generatePortal.portalSettings` in codegen. */
19
+ portalSettings?: PortalSettingsData;
13
20
  apiSpecPath?: DirectoryPath;
21
+ [key: string]: unknown;
22
+ }
23
+ export interface PortalSettingsData {
24
+ /** Base URL for the API calls made by the portal. Preferred over `generatePortal.baseUrl` for portal artifacts. */
25
+ baseUrl?: string;
26
+ /** Language/template id the portal opens on first load. */
27
+ initialPlatform?: string;
28
+ /** Per-language portal settings, keyed by language/template id. */
29
+ languageSettings?: {
30
+ [language: string]: LanguageSettingData;
31
+ };
32
+ [key: string]: unknown;
33
+ }
34
+ export interface LanguageSettingData {
35
+ aiIntegration?: AiIntegration;
36
+ [key: string]: unknown;
37
+ }
38
+ export interface AiIntegration {
39
+ cursor?: AiIntegrationSetting;
40
+ claudeCode?: AiIntegrationSetting;
41
+ vscode?: AiIntegrationSetting;
42
+ }
43
+ export interface AiIntegrationSetting {
44
+ isEnabled: boolean;
45
+ stabilityLevelTag?: string;
14
46
  }
15
47
  export interface CopilotConfig {
16
48
  isEnabled: boolean;
17
49
  key: string;
18
50
  welcomeMessage: string;
19
51
  }
52
+ export interface RecipesConfig {
53
+ workflows?: RecipeWorkflow[];
54
+ }
55
+ export interface RecipeWorkflow {
56
+ name: string;
57
+ permalink: string;
58
+ functionName: string;
59
+ scriptPath: string;
60
+ }
20
61
  export declare function getLanguagesConfig(selectedLanguages: string[]): {
21
62
  [key: string]: object;
22
63
  };
64
+ export declare class LanguageSetting {
65
+ private readonly data;
66
+ private constructor();
67
+ static from(data?: LanguageSettingData): LanguageSetting;
68
+ /** Returns a copy with all AI editor integrations (Cursor/Claude Code/VS Code) enabled. */
69
+ withAiIntegrationsEnabled(): LanguageSetting;
70
+ toLanguageSettingData(): LanguageSettingData;
71
+ }
72
+ export declare class PortalSettings {
73
+ private readonly data;
74
+ private constructor();
75
+ static from(data?: PortalSettingsData): PortalSettings;
76
+ /** Returns a copy with the API-call base URL set. */
77
+ withBaseUrl(baseUrl: UrlPath): PortalSettings;
78
+ withAiIntegrations(languages: string[]): PortalSettings;
79
+ toPortalSettingsData(): PortalSettingsData;
80
+ }
81
+ export declare class BuildConfig {
82
+ private readonly data;
83
+ private constructor();
84
+ static parse(json: string): BuildConfig;
85
+ static from(data: BuildConfigData): BuildConfig;
86
+ toJSON(): BuildConfigData;
87
+ /** Content directory for the portal, relative to the build directory. Defaults to "content". */
88
+ contentFolder(): string;
89
+ /** True when this build produces a multi-versioned portal. */
90
+ isVersioned(): boolean;
91
+ /** Directory holding the versioned portals, relative to the build directory. Defaults to "versioned_docs". */
92
+ versionsPath(): string;
93
+ /** True when API Copilot is already configured for this build. */
94
+ hasApiCopilot(): boolean;
95
+ /** Returns a copy with the portal's languageConfig set from the selected friendly language ids. */
96
+ withPortalLanguages(languages: string[]): BuildConfig;
97
+ /** Returns a copy with the API Copilot configuration set (or overwritten). */
98
+ withApiCopilotConfig(config: CopilotConfig): BuildConfig;
99
+ withApiCopilotForPortal(key: string, welcomeMessage: string, baseUrl: UrlPath): BuildConfig;
100
+ updateBuildConfigBaseUrl(serveUrl: UrlPath): BuildConfig;
101
+ withRecipeWorkflow(name: string, functionName: string, scriptPath: string): BuildConfig;
102
+ }
@@ -1,7 +1,168 @@
1
+ import { UrlPath } from "../file/urlPath.js";
1
2
  export function getLanguagesConfig(selectedLanguages) {
2
3
  return selectedLanguages.reduce((config, lang) => {
3
4
  config[lang] = {};
4
5
  return config;
5
6
  }, {});
6
7
  }
8
+ // Maps the CLI's friendly language identifiers (used as languageConfig keys) to
9
+ // codegen's SupportedTemplates ids, which is what portalSettings.languageSettings
10
+ // must be keyed by (codegen resolves these via SdkLanguage.FromSupportedTemplate).
11
+ // These ids are version-specific in codegen (e.g. php_generic_lib_v2) — keep in sync
12
+ // with APIMatic.CodeGen.Common.SdkLanguage.
13
+ const CODEGEN_TEMPLATE_ID_BY_LANGUAGE = {
14
+ typescript: "ts_generic_lib",
15
+ csharp: "cs_net_standard_lib",
16
+ java: "java_eclipse_jre_lib",
17
+ php: "php_generic_lib_v2",
18
+ python: "python_generic_lib",
19
+ ruby: "ruby_generic_lib",
20
+ go: "go_generic_lib"
21
+ };
22
+ // codegen derives initialPlatform from languageConfig (http is always first), so a
23
+ // languageSettings entry for http must exist or the portal widget fails to render.
24
+ const HTTP_TEMPLATE_ID = "http_curl_v1";
25
+ // Immutable per-language portal setting. Build new values via the static factory and
26
+ // the with* transforms; the wrapped data is never mutated after construction.
27
+ export class LanguageSetting {
28
+ constructor(data) {
29
+ this.data = data;
30
+ }
31
+ static from(data = {}) {
32
+ return new LanguageSetting(data);
33
+ }
34
+ /** Returns a copy with all AI editor integrations (Cursor/Claude Code/VS Code) enabled. */
35
+ withAiIntegrationsEnabled() {
36
+ return new LanguageSetting(Object.assign(Object.assign({}, this.data), { aiIntegration: {
37
+ cursor: { isEnabled: true },
38
+ claudeCode: { isEnabled: true },
39
+ vscode: { isEnabled: true }
40
+ } }));
41
+ }
42
+ toLanguageSettingData() {
43
+ return this.data;
44
+ }
45
+ }
46
+ // Immutable portal UI settings. Build new values via the static factory and the with*
47
+ // transforms; the wrapped data is never mutated after construction.
48
+ export class PortalSettings {
49
+ constructor(data) {
50
+ this.data = data;
51
+ }
52
+ static from(data = {}) {
53
+ return new PortalSettings(data);
54
+ }
55
+ /** Returns a copy with the API-call base URL set. */
56
+ withBaseUrl(baseUrl) {
57
+ return new PortalSettings(Object.assign(Object.assign({}, this.data), { baseUrl: baseUrl.toString() }));
58
+ }
59
+ // Returns a copy with AI editor integrations enabled for the given SDK languages
60
+ // (friendly ids). Always adds the http entry the portal needs to render and opens the
61
+ // portal on the first SDK language. Languages without a codegen template id are skipped.
62
+ withAiIntegrations(languages) {
63
+ var _a;
64
+ const languageSettings = Object.assign({}, this.data.languageSettings);
65
+ languageSettings[HTTP_TEMPLATE_ID] = (_a = languageSettings[HTTP_TEMPLATE_ID]) !== null && _a !== void 0 ? _a : {};
66
+ let firstSdkTemplateId;
67
+ for (const language of languages) {
68
+ const templateId = CODEGEN_TEMPLATE_ID_BY_LANGUAGE[language];
69
+ if (!templateId) {
70
+ continue;
71
+ }
72
+ firstSdkTemplateId !== null && firstSdkTemplateId !== void 0 ? firstSdkTemplateId : (firstSdkTemplateId = templateId);
73
+ languageSettings[templateId] = LanguageSetting.from(languageSettings[templateId]).withAiIntegrationsEnabled().toLanguageSettingData();
74
+ }
75
+ return new PortalSettings(Object.assign(Object.assign(Object.assign({}, this.data), { languageSettings }), (firstSdkTemplateId ? { initialPlatform: firstSdkTemplateId } : {})));
76
+ }
77
+ toPortalSettingsData() {
78
+ return this.data;
79
+ }
80
+ }
81
+ // Immutable wrapper around the parsed APIMATIC-BUILD.json. All build-config reads go
82
+ // through accessor methods and all changes go through with*/update methods that
83
+ // return a NEW BuildConfig — the wrapped data is never mutated after construction.
84
+ // Construct via `BuildConfig.parse`; persist via `BuildContext`.
85
+ export class BuildConfig {
86
+ constructor(data) {
87
+ this.data = data;
88
+ }
89
+ static parse(json) {
90
+ return BuildConfig.from(JSON.parse(json));
91
+ }
92
+ static from(data) {
93
+ return new BuildConfig(data);
94
+ }
95
+ // Called implicitly by JSON.stringify when the config is written back to disk.
96
+ toJSON() {
97
+ return this.data;
98
+ }
99
+ /** Content directory for the portal, relative to the build directory. Defaults to "content". */
100
+ contentFolder() {
101
+ var _a, _b;
102
+ return (_b = (_a = this.data.generatePortal) === null || _a === void 0 ? void 0 : _a.contentFolder) !== null && _b !== void 0 ? _b : "content";
103
+ }
104
+ /** True when this build produces a multi-versioned portal. */
105
+ isVersioned() {
106
+ return this.data.generateVersionedPortal != null;
107
+ }
108
+ /** Directory holding the versioned portals, relative to the build directory. Defaults to "versioned_docs". */
109
+ versionsPath() {
110
+ var _a;
111
+ return (_a = this.data.versionsPath) !== null && _a !== void 0 ? _a : "versioned_docs";
112
+ }
113
+ /** True when API Copilot is already configured for this build. */
114
+ hasApiCopilot() {
115
+ return this.data.apiCopilotConfig != null;
116
+ }
117
+ /** Returns a copy with the portal's languageConfig set from the selected friendly language ids. */
118
+ withPortalLanguages(languages) {
119
+ const portal = this.data.generatePortal;
120
+ return new BuildConfig(Object.assign(Object.assign({}, this.data), { generatePortal: Object.assign(Object.assign({}, portal), { languageConfig: getLanguagesConfig(languages) }) }));
121
+ }
122
+ /** Returns a copy with the API Copilot configuration set (or overwritten). */
123
+ withApiCopilotConfig(config) {
124
+ return new BuildConfig(Object.assign(Object.assign({}, this.data), { apiCopilotConfig: Object.assign({}, config) }));
125
+ }
126
+ // Returns a copy with API Copilot enabled for a locally-served portal: stores the
127
+ // Copilot config, points the portal base URL at the local serve URL, and turns on AI
128
+ // editor integrations for the configured SDK languages.
129
+ withApiCopilotForPortal(key, welcomeMessage, baseUrl) {
130
+ const portal = this.data.generatePortal;
131
+ return new BuildConfig(Object.assign(Object.assign({}, this.data), { apiCopilotConfig: { isEnabled: true, key, welcomeMessage }, generatePortal: Object.assign(Object.assign({}, portal), { baseUrl: baseUrl.toString(), portalSettings: PortalSettings.from(portal.portalSettings)
132
+ .withAiIntegrations(Object.keys(portal.languageConfig))
133
+ .toPortalSettingsData() }) }));
134
+ }
135
+ // Returns a copy with the portal base URL repointed at the serve URL, or `this`
136
+ // unchanged when there's no localhost base URL to rewrite (or it already matches the
137
+ // serve URL). Callers detect a change via reference identity: `result !== original`.
138
+ updateBuildConfigBaseUrl(serveUrl) {
139
+ var _a, _b, _c, _d;
140
+ // `portalSettings.baseUrl` is preferred for portal artifacts; otherwise fall back
141
+ // to `generatePortal.baseUrl`. Mirrors how codegen resolves the base URL.
142
+ const portalSettings = (_a = this.data.generatePortal) === null || _a === void 0 ? void 0 : _a.portalSettings;
143
+ const baseUrl = (_b = portalSettings === null || portalSettings === void 0 ? void 0 : portalSettings.baseUrl) !== null && _b !== void 0 ? _b : (_c = this.data.generatePortal) === null || _c === void 0 ? void 0 : _c.baseUrl;
144
+ if (!baseUrl) {
145
+ return this;
146
+ }
147
+ const parsedUrl = UrlPath.create(baseUrl);
148
+ if (!(parsedUrl === null || parsedUrl === void 0 ? void 0 : parsedUrl.isLocalhost()) || parsedUrl.isEqual(serveUrl)) {
149
+ return this;
150
+ }
151
+ const portal = this.data.generatePortal;
152
+ const updatedPortal = ((_d = portal.portalSettings) === null || _d === void 0 ? void 0 : _d.baseUrl)
153
+ ? Object.assign(Object.assign({}, portal), { portalSettings: PortalSettings.from(portal.portalSettings).withBaseUrl(serveUrl).toPortalSettingsData() }) : Object.assign(Object.assign({}, portal), { baseUrl: serveUrl.toString() });
154
+ return new BuildConfig(Object.assign(Object.assign({}, this.data), { generatePortal: updatedPortal }));
155
+ }
156
+ // Returns a copy with a recipe workflow added (or replaced, matched by permalink).
157
+ withRecipeWorkflow(name, functionName, scriptPath) {
158
+ var _a, _b;
159
+ const recipes = (_a = this.data.recipes) !== null && _a !== void 0 ? _a : {};
160
+ const workflows = (_b = recipes.workflows) !== null && _b !== void 0 ? _b : [];
161
+ const permalink = `page:recipes/${functionName}`;
162
+ const workflow = { name, permalink, functionName, scriptPath };
163
+ const existingIndex = workflows.findIndex((w) => w.permalink === permalink);
164
+ const updatedWorkflows = existingIndex === -1 ? [...workflows, workflow] : workflows.map((w, index) => (index === existingIndex ? workflow : w));
165
+ return new BuildConfig(Object.assign(Object.assign({}, this.data), { recipes: Object.assign(Object.assign({}, recipes), { workflows: updatedWorkflows }) }));
166
+ }
167
+ }
7
168
  //# sourceMappingURL=build.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/types/build/build.ts"],"names":[],"mappings":"AAqBA,MAAM,UAAU,kBAAkB,CAAC,iBAA2B;IAC5D,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;QAC/C,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,EAA+B,CAAC,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/types/build/build.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,26 @@
1
1
  import { DirectoryPath } from "./file/directoryPath.js";
2
+ import { FilePath } from "./file/filePath.js";
2
3
  import { BuildConfig } from "./build/build.js";
4
+ import { SpecContext } from "./spec-context.js";
3
5
  export declare class BuildContext {
4
6
  private readonly fileService;
5
7
  private readonly buildDirectory;
6
8
  constructor(buildDirectory: DirectoryPath);
7
9
  private get buildFile();
10
+ /** The APIMATIC-BUILD.json path within this build directory, for callers that hand it to a service. */
11
+ buildConfigFilePath(): FilePath;
8
12
  validate(): Promise<boolean>;
9
13
  exists(): Promise<boolean>;
14
+ existsSync(): boolean;
10
15
  getBuildFileContents(): Promise<BuildConfig>;
11
- updateBuildFileContents(buildJson: BuildConfig): Promise<void>;
16
+ updateBuildFileContents(buildConfig: BuildConfig): Promise<void>;
12
17
  deleteWorkflowDir(): Promise<void>;
18
+ getBuildZipPath(tempDir: DirectoryPath, packageSettingsDirectory?: DirectoryPath): Promise<FilePath>;
19
+ getSpecContext(): SpecContext;
20
+ hasSdkSourceTree(language: string): Promise<boolean>;
21
+ getSdkSourceTree(language: string): FilePath;
22
+ isVersionedBuild(): Promise<boolean>;
23
+ getVersionedBuildDirectory(): Promise<DirectoryPath | undefined>;
24
+ getSingleVersionedBuildDirectory(): Promise<DirectoryPath | undefined>;
25
+ getSelectedVersionedBuildDirectory(versionSelector: (versions: string[]) => Promise<string | undefined>): Promise<DirectoryPath | undefined>;
13
26
  }