@apimatic/cli 1.1.0-beta.11 → 1.1.0-beta.14

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 (103) hide show
  1. package/README.md +64 -1
  2. package/lib/actions/publishing/profile/list.d.ts +11 -0
  3. package/lib/actions/publishing/profile/list.js +29 -0
  4. package/lib/actions/publishing/profile/list.js.map +1 -0
  5. package/lib/actions/sdk/generate.d.ts +2 -1
  6. package/lib/actions/sdk/generate.js +3 -3
  7. package/lib/actions/sdk/generate.js.map +1 -1
  8. package/lib/actions/sdk/publish/interactive.d.ts +13 -0
  9. package/lib/actions/sdk/publish/interactive.js +105 -0
  10. package/lib/actions/sdk/publish/interactive.js.map +1 -0
  11. package/lib/actions/sdk/publish/non-interactive.d.ts +14 -0
  12. package/lib/actions/sdk/publish/non-interactive.js +101 -0
  13. package/lib/actions/sdk/publish/non-interactive.js.map +1 -0
  14. package/lib/actions/sdk/publish.d.ts +18 -0
  15. package/lib/actions/sdk/publish.js +57 -0
  16. package/lib/actions/sdk/publish.js.map +1 -0
  17. package/lib/commands/publishing/profile/list.d.ts +9 -0
  18. package/lib/commands/publishing/profile/list.js +28 -0
  19. package/lib/commands/publishing/profile/list.js.map +1 -0
  20. package/lib/commands/sdk/publish.d.ts +18 -0
  21. package/lib/commands/sdk/publish.js +73 -0
  22. package/lib/commands/sdk/publish.js.map +1 -0
  23. package/lib/infrastructure/env-info.d.ts +2 -0
  24. package/lib/infrastructure/env-info.js +23 -12
  25. package/lib/infrastructure/env-info.js.map +1 -1
  26. package/lib/infrastructure/file-service.d.ts +4 -0
  27. package/lib/infrastructure/file-service.js +43 -0
  28. package/lib/infrastructure/file-service.js.map +1 -1
  29. package/lib/infrastructure/git-service.d.ts +0 -1
  30. package/lib/infrastructure/git-service.js +0 -3
  31. package/lib/infrastructure/git-service.js.map +1 -1
  32. package/lib/infrastructure/launcher-service.d.ts +3 -0
  33. package/lib/infrastructure/launcher-service.js +13 -1
  34. package/lib/infrastructure/launcher-service.js.map +1 -1
  35. package/lib/infrastructure/os-extensions.d.ts +2 -0
  36. package/lib/infrastructure/os-extensions.js +6 -0
  37. package/lib/infrastructure/os-extensions.js.map +1 -0
  38. package/lib/infrastructure/service-error.d.ts +1 -0
  39. package/lib/infrastructure/service-error.js +3 -0
  40. package/lib/infrastructure/service-error.js.map +1 -1
  41. package/lib/infrastructure/services/portal-service.d.ts +2 -1
  42. package/lib/infrastructure/services/portal-service.js +2 -2
  43. package/lib/infrastructure/services/portal-service.js.map +1 -1
  44. package/lib/infrastructure/services/publishing-api-service.d.ts +19 -0
  45. package/lib/infrastructure/services/publishing-api-service.js +111 -0
  46. package/lib/infrastructure/services/publishing-api-service.js.map +1 -0
  47. package/lib/infrastructure/zip-service.d.ts +2 -2
  48. package/lib/infrastructure/zip-service.js +29 -11
  49. package/lib/infrastructure/zip-service.js.map +1 -1
  50. package/lib/prompts/format.d.ts +0 -2
  51. package/lib/prompts/format.js +0 -31
  52. package/lib/prompts/format.js.map +1 -1
  53. package/lib/prompts/prompt.d.ts +6 -0
  54. package/lib/prompts/prompt.js +45 -0
  55. package/lib/prompts/prompt.js.map +1 -1
  56. package/lib/prompts/publishing/profile/list.d.ts +9 -0
  57. package/lib/prompts/publishing/profile/list.js +27 -0
  58. package/lib/prompts/publishing/profile/list.js.map +1 -0
  59. package/lib/prompts/sdk/publish/interactive.d.ts +30 -0
  60. package/lib/prompts/sdk/publish/interactive.js +139 -0
  61. package/lib/prompts/sdk/publish/interactive.js.map +1 -0
  62. package/lib/prompts/sdk/publish/non-interactive.d.ts +27 -0
  63. package/lib/prompts/sdk/publish/non-interactive.js +97 -0
  64. package/lib/prompts/sdk/publish/non-interactive.js.map +1 -0
  65. package/lib/prompts/sdk/publish.d.ts +12 -0
  66. package/lib/prompts/sdk/publish.js +16 -0
  67. package/lib/prompts/sdk/publish.js.map +1 -0
  68. package/lib/types/build-context.d.ts +2 -1
  69. package/lib/types/build-context.js +12 -2
  70. package/lib/types/build-context.js.map +1 -1
  71. package/lib/types/events/sdk-publish-validation-failed.d.ts +5 -0
  72. package/lib/types/events/sdk-publish-validation-failed.js +8 -0
  73. package/lib/types/events/sdk-publish-validation-failed.js.map +1 -0
  74. package/lib/types/merge-source-tree-context.js +2 -1
  75. package/lib/types/merge-source-tree-context.js.map +1 -1
  76. package/lib/types/package-settings-context.d.ts +10 -0
  77. package/lib/types/package-settings-context.js +20 -0
  78. package/lib/types/package-settings-context.js.map +1 -0
  79. package/lib/types/publish/package-settings-configuration.d.ts +70 -0
  80. package/lib/types/publish/package-settings-configuration.js +46 -0
  81. package/lib/types/publish/package-settings-configuration.js.map +1 -0
  82. package/lib/types/publish/profile-id.d.ts +10 -0
  83. package/lib/types/publish/profile-id.js +22 -0
  84. package/lib/types/publish/profile-id.js.map +1 -0
  85. package/lib/types/publish/publishing-profile.d.ts +18 -0
  86. package/lib/types/publish/publishing-profile.js +105 -0
  87. package/lib/types/publish/publishing-profile.js.map +1 -0
  88. package/lib/types/publish/publishing-profiles.d.ts +12 -0
  89. package/lib/types/publish/publishing-profiles.js +36 -0
  90. package/lib/types/publish/publishing-profiles.js.map +1 -0
  91. package/lib/types/publish/version.d.ts +7 -0
  92. package/lib/types/publish/version.js +17 -0
  93. package/lib/types/publish/version.js.map +1 -0
  94. package/lib/types/publish-api/publish-log.d.ts +20 -0
  95. package/lib/types/publish-api/publish-log.js +2 -0
  96. package/lib/types/publish-api/publish-log.js.map +1 -0
  97. package/lib/types/publish-api/publishing-info.d.ts +4 -0
  98. package/lib/types/publish-api/publishing-info.js +2 -0
  99. package/lib/types/publish-api/publishing-info.js.map +1 -0
  100. package/lib/types/publish-api/publishing-profile-item.d.ts +183 -0
  101. package/lib/types/publish-api/publishing-profile-item.js +6 -0
  102. package/lib/types/publish-api/publishing-profile-item.js.map +1 -0
  103. package/package.json +16 -8
@@ -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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"}
@@ -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>;
@@ -1,16 +1,34 @@
1
- import fs from "fs";
2
- import archiver from "archiver";
3
- import extract from "extract-zip";
1
+ import fs from 'fs';
2
+ import yazl from 'yazl';
3
+ import extract from 'extract-zip';
4
4
  export class ZipService {
5
5
  async archive(sourceDir, outputZipPath) {
6
6
  return new Promise((resolve, reject) => {
7
+ const zipfile = new yazl.ZipFile();
8
+ const addDirectory = (dir, relativePrefix) => {
9
+ for (const entry of fs.readdirSync(dir.toString(), { withFileTypes: true })) {
10
+ const fullPath = dir.join(entry.name);
11
+ // Always use forward slashes as metadataPath — zip format requires it
12
+ const metadataPath = relativePrefix ? `${relativePrefix}/${entry.name}` : entry.name;
13
+ if (entry.isDirectory()) {
14
+ addDirectory(fullPath, metadataPath);
15
+ }
16
+ else {
17
+ zipfile.addFile(fullPath.toString(), metadataPath);
18
+ }
19
+ }
20
+ };
21
+ try {
22
+ addDirectory(sourceDir, '');
23
+ }
24
+ catch (err) {
25
+ return reject(err);
26
+ }
27
+ zipfile.end();
7
28
  const output = fs.createWriteStream(outputZipPath.toString());
8
- const archive = archiver("zip");
9
- output.on("close", () => resolve());
10
- archive.on("error", (err) => reject(err));
11
- archive.pipe(output);
12
- archive.directory(sourceDir.toString(), false);
13
- archive.finalize();
29
+ zipfile.outputStream.pipe(output);
30
+ output.on('close', resolve);
31
+ output.on('error', reject);
14
32
  });
15
33
  }
16
34
  async unArchive(sourceFile, destinationDirectory) {
@@ -23,14 +41,14 @@ export class ZipService {
23
41
  onEntry: function (entry) {
24
42
  fileCount++;
25
43
  if (fileCount > MAX_FILES) {
26
- throw new Error("Reached max. file count");
44
+ throw new Error('Reached max. file count');
27
45
  }
28
46
  // The uncompressedSize comes from the zip headers, so it might not be trustworthy.
29
47
  // Alternatively, calculate the size from the readStream.
30
48
  let entrySize = entry.uncompressedSize;
31
49
  totalSize += entrySize;
32
50
  if (totalSize > MAX_SIZE) {
33
- throw new Error("Reached max. size");
51
+ throw new Error('Reached max. size');
34
52
  }
35
53
  }
36
54
  });
@@ -1 +1 @@
1
- {"version":3,"file":"zip-service.js","sourceRoot":"","sources":["../../src/infrastructure/zip-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,OAAO,MAAM,aAAa,CAAC;AAIlC,MAAM,OAAO,UAAU;IACd,KAAK,CAAC,OAAO,CAAC,SAAwB,EAAE,aAAuB;QACpE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,MAAM,GAAG,EAAE,CAAC,iBAAiB,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC9D,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAEhC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YACpC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAE1C,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrB,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;YAC/C,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,UAAoB,EAAE,oBAAmC;QAC9E,MAAM,SAAS,GAAG,MAAO,CAAC;QAC1B,MAAM,QAAQ,GAAG,UAAa,CAAC,CAAC,OAAO;QACvC,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE;YACnC,GAAG,EAAE,oBAAoB,CAAC,QAAQ,EAAE;YACpC,OAAO,EAAE,UAAU,KAAK;gBACtB,SAAS,EAAE,CAAC;gBACZ,IAAI,SAAS,GAAG,SAAS,EAAE,CAAC;oBAC1B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;gBAC7C,CAAC;gBACD,mFAAmF;gBACnF,yDAAyD;gBACzD,IAAI,SAAS,GAAG,KAAK,CAAC,gBAAgB,CAAC;gBACvC,SAAS,IAAI,SAAS,CAAC;gBACvB,IAAI,SAAS,GAAG,QAAQ,EAAE,CAAC;oBACzB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"zip-service.js","sourceRoot":"","sources":["../../src/infrastructure/zip-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,OAAO,MAAM,aAAa,CAAC;AAIlC,MAAM,OAAO,UAAU;IACd,KAAK,CAAC,OAAO,CAAC,SAAwB,EAAE,aAAuB;QACpE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAEnC,MAAM,YAAY,GAAG,CAAC,GAAkB,EAAE,cAAsB,EAAE,EAAE;gBAClE,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;oBAC5E,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACtC,sEAAsE;oBACtE,MAAM,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;oBACrF,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;wBACxB,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;oBACvC,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,YAAY,CAAC,CAAC;oBACrD,CAAC;gBACH,CAAC;YACH,CAAC,CAAC;YAEF,IAAI,CAAC;gBACH,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC9B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;YAED,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,EAAE,CAAC,iBAAiB,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC9D,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC5B,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,UAAoB,EAAE,oBAAmC;QAC9E,MAAM,SAAS,GAAG,MAAO,CAAC;QAC1B,MAAM,QAAQ,GAAG,UAAa,CAAC,CAAC,OAAO;QACvC,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE;YACnC,GAAG,EAAE,oBAAoB,CAAC,QAAQ,EAAE;YACpC,OAAO,EAAE,UAAU,KAAK;gBACtB,SAAS,EAAE,CAAC;gBACZ,IAAI,SAAS,GAAG,SAAS,EAAE,CAAC;oBAC1B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;gBAC7C,CAAC;gBACD,mFAAmF;gBACnF,yDAAyD;gBACzD,IAAI,SAAS,GAAG,KAAK,CAAC,gBAAgB,CAAC;gBACvC,SAAS,IAAI,SAAS,CAAC;gBACvB,IAAI,SAAS,GAAG,QAAQ,EAAE,CAAC;oBACzB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1,5 +1,4 @@
1
1
  import { ActionResult } from "../actions/action-result.js";
2
- import { Directory } from "../types/file/directory.js";
3
2
  import { DirectoryPath } from "../types/file/directoryPath.js";
4
3
  import { FilePath } from "../types/file/filePath.js";
5
4
  export declare const format: {
@@ -20,7 +19,6 @@ export declare const format: {
20
19
  };
21
20
  export declare function intro(text: string): void;
22
21
  export declare function outro<T>(result: ActionResult<T>): void;
23
- export declare function getDirectoryTree(dir: Directory, prefix?: string, isLast?: boolean): string;
24
22
  export interface LeafNode {
25
23
  name: string;
26
24
  description?: string;
@@ -1,6 +1,5 @@
1
1
  import pc from "picocolors";
2
2
  import { intro as i, outro as o } from '@clack/prompts';
3
- import { Directory } from "../types/file/directory.js";
4
3
  export const format = {
5
4
  // Core element types
6
5
  var: (text) => pc.magenta(`'${text}'`),
@@ -35,36 +34,6 @@ export function outro(result) {
35
34
  o(outroMessage);
36
35
  process.exitCode = exitCode;
37
36
  }
38
- export function getDirectoryTree(dir, prefix = "", isLast = true) {
39
- const folderDescription = {
40
- spec: "# Contains all API definition files",
41
- content: "# Includes custom documentation pages in Markdown",
42
- static: "# Includes all static files, such as images, GIFs, and PDFs"
43
- };
44
- const fileDescriptions = {
45
- "toc.yml": "# Controls the structure of the side navigation bar in the API portal",
46
- "APIMATIC-BUILD.json": "# Defines all configurations for the API portal, including programming languages and themes"
47
- };
48
- const pointer = isLast ? "└─ " : "├─ ";
49
- const folderName = dir.directoryPath.leafName();
50
- const description = folderDescription[folderName] ? format.description(folderDescription[folderName]) : "";
51
- let output = `${prefix}${pointer}${folderName}${description ? " " + description : ""}\n`;
52
- const items = dir.items;
53
- const newPrefix = prefix + (isLast ? " " : "| ");
54
- items.forEach((item, index) => {
55
- const last = index === items.length - 1;
56
- if (item instanceof Directory) {
57
- output += getDirectoryTree(item, newPrefix, last);
58
- }
59
- else {
60
- const filePointer = last ? "└─ " : "├─ ";
61
- const fileName = item.toString();
62
- const fileDescription = fileDescriptions[fileName] ? format.description(fileDescriptions[fileName]) : "";
63
- output += `${newPrefix}${filePointer}${fileName}${fileDescription ? " " + fileDescription : ""}\n`;
64
- }
65
- });
66
- return output;
67
- }
68
37
  export function getTree(dir, prefix = "", isLast = true) {
69
38
  const pointer = isLast ? "└─ " : "├─ ";
70
39
  const folderName = dir.name;
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/prompts/format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/prompts/format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,MAAM,gBAAgB,CAAC;AAKxD,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,qBAAqB;IACrB,GAAG,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,CAAC;IAC9C,IAAI,EAAE,CAAC,IAA8B,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC;IAC9D,GAAG,EAAE,CAAC,GAAW,EAAE,GAAG,IAAc,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;IAC1G,MAAM,EAAE,CAAC,GAAW,EAAE,GAAG,IAAc,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;IAC5H,IAAI,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACzD,WAAW,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,IAAI,EAAE,CAAC;IACxD,IAAI,EAAE,CAAC,IAAY,EAAE,QAA4B,SAAS,EAAE,EAAE;QAC5D,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;YAClE,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;QAC9D,CAAC;QACD,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;IACpC,CAAC;IAED,wBAAwB;IACxB,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;IACzC,KAAK,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;IACrC,IAAI,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;IAErC,KAAK,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;IACxC,YAAY,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAChD,YAAY,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;IAC9C,cAAc,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;CACnE,CAAC;AAEF,MAAM,UAAU,KAAK,CAAC,IAAY;IAChC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;AAC/B,CAAC;AACD,MAAM,UAAU,KAAK,CAAI,MAAuB;IAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACtC,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IAEpC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAChC,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,EAClC,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,EAClC,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CACrC,CAAC;IAEF,CAAC,CAAC,YAAY,CAAC,CAAC;IAChB,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC9B,CAAC;AAWD,MAAM,UAAU,OAAO,CACrB,GAAa,EACb,SAAiB,EAAE,EACnB,SAAkB,IAAI;IAEtB,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IACvC,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC;IAC5B,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE/E,IAAI,MAAM,GAAG,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;IAEzF,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;IACxB,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAEpD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC5B,MAAM,IAAI,GAAG,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAExC,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACpB,MAAM,IAAI,OAAO,CAAC,IAAgB,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;YACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;YAC3B,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrF,MAAM,IAAI,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;QACrG,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,3 +1,9 @@
1
1
  import { Result } from "neverthrow";
2
2
  export declare function withSpinner<T, E>(intro: string, success: string, failure: string, fn: Promise<Result<T, E>>): Promise<Result<T, E>>;
3
3
  export declare const noteWrapped: (message: string, title: string) => void;
4
+ export declare function buildTableWithHeading(groups: {
5
+ heading: string;
6
+ rows: string[][];
7
+ }[], headers: string[], columnStyles?: ColumnStyle[]): string;
8
+ type ColumnStyle = 'primary' | 'secondary' | 'item';
9
+ export {};
@@ -34,4 +34,49 @@ export const noteWrapped = (message, title) => {
34
34
  note(message, title, opts);
35
35
  }
36
36
  };
37
+ export function buildTableWithHeading(groups, headers, columnStyles) {
38
+ return groups
39
+ .map((group) => `${pc.bold(pc.white(group.heading))}\n${buildTable(headers, group.rows, true, columnStyles)}`)
40
+ .join('\n\n');
41
+ }
42
+ function buildTable(headers, rows, rowSeparators = false, columnStyles) {
43
+ const COL_PAD = 2;
44
+ const MIN_COL_WIDTH = 4;
45
+ const coloredHeaders = headers.map((h) => pc.bold(pc.white(h)));
46
+ let widths = headers.map((h, i) => Math.max(stripAnsi(h).length, ...rows.map((r) => stripAnsi(r[i]).length)) + COL_PAD);
47
+ const terminalColumns = getColumns(process.stdout) || 80;
48
+ const totalWidth = 1 + 3 * headers.length + widths.reduce((a, b) => a + b, 0);
49
+ if (totalWidth > terminalColumns) {
50
+ const availableWidth = terminalColumns - 1 - 3 * headers.length;
51
+ const naturalTotal = widths.reduce((a, b) => a + b, 0);
52
+ widths = widths.map((w) => Math.max(MIN_COL_WIDTH, Math.floor((w / naturalTotal) * availableWidth)));
53
+ }
54
+ const columnStyleMap = {
55
+ primary: (text) => pc.magenta(text),
56
+ secondary: (text) => pc.dim(text),
57
+ item: (text) => pc.cyan(text)
58
+ };
59
+ const divider = (l, m, r) => pc.gray(l + widths.map((w) => '─'.repeat(w + 2)).join(m) + r);
60
+ const renderRow = (cells, applyStyles = false) => pc.gray('│') +
61
+ cells
62
+ .map((cell, i) => {
63
+ const styled = applyStyles && (columnStyles === null || columnStyles === void 0 ? void 0 : columnStyles[i]) ? columnStyleMap[columnStyles[i]](cell) : cell;
64
+ return ` ${pad(styled, widths[i])} ` + pc.gray('│');
65
+ })
66
+ .join('');
67
+ const lines = [divider('┌', '┬', '┐'), renderRow(coloredHeaders), divider('├', '┼', '┤')];
68
+ rows.forEach((row, i) => {
69
+ lines.push(renderRow(row, true));
70
+ if (rowSeparators) {
71
+ lines.push(i < rows.length - 1 ? divider('├', '┼', '┤') : divider('└', '┴', '┘'));
72
+ }
73
+ });
74
+ if (!rowSeparators)
75
+ lines.push(divider('└', '┴', '┘'));
76
+ return lines.join('\n');
77
+ }
78
+ /** Pad `text` to `width` visible characters (ANSI-safe). */
79
+ function pad(text, width) {
80
+ return text + ' '.repeat(Math.max(0, width - stripAnsi(text).length));
81
+ }
37
82
  //# sourceMappingURL=prompt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/prompts/prompt.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAe,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE1F,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAO,KAAa,EAAE,OAAe,EAAE,OAAe,EAAE,EAAyB;IAChH,MAAM,CAAC,GAAG,OAAO,CAAC;QAChB,aAAa,EAAE,WAAW;QAC1B,YAAY,EAAE,QAAQ;QACtB,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC3D,CAAC,CAAC;IACH,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,MAAM,CAAC,KAAK,CACV,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,EACxB,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CACzB,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAe,EAAE,KAAa,EAAE,EAAE;IAC5D,MAAM,MAAM,GAAa,OAAO,CAAC,MAAM,CAAC;IACxC,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;QAC/C,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAC7B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC;IACpC,CAAC,CAAC,CAAC;IACH,IAAI,kBAAkB,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7D,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC3C,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACrB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7E,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,GAAgB;YACxB,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI;SACvB,CAAC;QACF,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/prompts/prompt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { Result } from 'neverthrow';
2
+ import { ServiceError } from '../../../infrastructure/service-error.js';
3
+ import { PublishingProfileSummaryGroup, PublishingProfileItem } from '../../../types/publish-api/publishing-profile-item.js';
4
+ export declare class PublishingProfileListPrompts {
5
+ fetchProfiles(fn: Promise<Result<PublishingProfileItem[], ServiceError>>): Promise<Result<PublishingProfileItem[], ServiceError>>;
6
+ fetchError(error: ServiceError): void;
7
+ noProfilesFound(): void;
8
+ displayProfiles(groups: PublishingProfileSummaryGroup[]): void;
9
+ }
@@ -0,0 +1,27 @@
1
+ import { log } from '@clack/prompts';
2
+ import { buildTableWithHeading, withSpinner } from '../../prompt.js';
3
+ export class PublishingProfileListPrompts {
4
+ fetchProfiles(fn) {
5
+ return withSpinner('Fetching publishing profiles', 'Publishing profiles fetched successfully.', 'Failed to fetch publishing profiles.', fn);
6
+ }
7
+ fetchError(error) {
8
+ log.error(error.errorMessage);
9
+ }
10
+ noProfilesFound() {
11
+ log.info('No publishing profiles found. Please create a publishing profile on the APIMatic App to view it here.');
12
+ }
13
+ displayProfiles(groups) {
14
+ const count = groups.reduce((sum, g) => sum + g.profiles.length, 0);
15
+ const label = count === 1 ? '1 profile' : `${count} profiles`;
16
+ const tableGroups = groups.map((group) => ({
17
+ heading: group.apiGroupName,
18
+ rows: group.profiles.map((profile) => [
19
+ profile.name,
20
+ profile.id,
21
+ profile.enabledLanguages.length === 0 ? '—' : profile.enabledLanguages.join(', '),
22
+ ]),
23
+ }));
24
+ log.info(`Publishing Profiles (${label})\n\n${buildTableWithHeading(tableGroups, ['Name', 'ID', 'Languages'], ['primary', 'secondary', 'item'])}`);
25
+ }
26
+ }
27
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/prompts/publishing/profile/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAIrC,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAErE,MAAM,OAAO,4BAA4B;IAChC,aAAa,CAAC,EAA0D;QAC7E,OAAO,WAAW,CAChB,8BAA8B,EAC9B,2CAA2C,EAC3C,sCAAsC,EACtC,EAAE,CACH,CAAC;IACJ,CAAC;IAEM,UAAU,CAAC,KAAmB;QACnC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;IAEM,eAAe;QACpB,GAAG,CAAC,IAAI,CAAC,uGAAuG,CAAC,CAAC;IACpH,CAAC;IAEM,eAAe,CAAC,MAAuC;QAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACpE,MAAM,KAAK,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,WAAW,CAAC;QAC9D,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACzC,OAAO,EAAE,KAAK,CAAC,YAAY;YAC3B,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;gBACpC,OAAO,CAAC,IAAI;gBACZ,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;aAClF,CAAC;SACH,CAAC,CAAC,CAAC;QACJ,GAAG,CAAC,IAAI,CAAC,wBAAwB,KAAK,QAAQ,qBAAqB,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IACrJ,CAAC;CACF"}
@@ -0,0 +1,30 @@
1
+ import { Result } from 'neverthrow';
2
+ import { DirectoryPath } from '../../../types/file/directoryPath.js';
3
+ import { ServiceError } from '../../../infrastructure/service-error.js';
4
+ import { PublishingProfileWithLanguagesGroup, PublishingProfileItem, PublishType } from '../../../types/publish-api/publishing-profile-item.js';
5
+ import { PublishingProfile } from '../../../types/publish/publishing-profile.js';
6
+ import { Language } from '../../../types/sdk/generate.js';
7
+ import { SemVersion } from '../../../types/publish/version.js';
8
+ export declare class SdkPublishInteractivePrompts {
9
+ inputWorkingDirectory(defaultDirectory: DirectoryPath, validator: (value: string | undefined) => string | Error | undefined): Promise<DirectoryPath | undefined>;
10
+ noInputDirectoryProvided(): Promise<void>;
11
+ srcDirectoryInvalid(directory: DirectoryPath): void;
12
+ inputSdkDirectory(defaultDirectory: DirectoryPath, validator: (value: string | undefined) => string | Error | undefined): Promise<DirectoryPath | undefined>;
13
+ sdkDirectoryCannotBeSameAsBuildDirectory(): void;
14
+ noSdkDirectoryProvided(): Promise<void>;
15
+ getPublishingProfiles(fn: Promise<Result<PublishingProfileItem[], ServiceError>>): Promise<Result<PublishingProfileItem[], ServiceError>>;
16
+ getPublishingProfilesServiceError(serviceError: ServiceError): void;
17
+ noPublishingProfilesFound(errorMessage: string): void;
18
+ noProfileWithEnabledLanguagesFound(): void;
19
+ selectPublishingProfile(groups: PublishingProfileWithLanguagesGroup[]): Promise<PublishingProfileItem | undefined>;
20
+ noPublishingProfileSelected(): void;
21
+ selectLanguage(publishingProfile: PublishingProfile): Promise<Language | undefined>;
22
+ noLanguageSelected(): void;
23
+ inputVersion(): Promise<SemVersion | undefined>;
24
+ noVersionSpecified(): void;
25
+ publishingSummary(profile: PublishingProfile, language: Language, version: SemVersion, publishType: PublishType[]): void;
26
+ confirmPublishing(): Promise<boolean>;
27
+ publishingCancelled(): void;
28
+ sourceCodeOnlyPublishingNotice(): void;
29
+ sdkPublishingInProgress(publishingLogUrl: string): void;
30
+ }
@@ -0,0 +1,139 @@
1
+ import { confirm, isCancel, log, select, text } from '@clack/prompts';
2
+ import { format as f } from '../../../prompts/format.js';
3
+ import { noteWrapped, withSpinner } from '../../prompt.js';
4
+ import { DirectoryPath } from '../../../types/file/directoryPath.js';
5
+ import { PublishType } from '../../../types/publish-api/publishing-profile-item.js';
6
+ import { SemVersion } from '../../../types/publish/version.js';
7
+ import { removeQuotes } from '../../../utils/string-utils.js';
8
+ export class SdkPublishInteractivePrompts {
9
+ async inputWorkingDirectory(defaultDirectory, validator) {
10
+ const value = await text({
11
+ message: `Enter the path to the directory containing the ${f.var('src')} folder:`,
12
+ placeholder: defaultDirectory.toString(),
13
+ defaultValue: defaultDirectory.toString(),
14
+ validate: validator
15
+ });
16
+ if (isCancel(value)) {
17
+ return undefined;
18
+ }
19
+ return new DirectoryPath(removeQuotes(value.trim()));
20
+ }
21
+ async noInputDirectoryProvided() {
22
+ log.error('No input directory was provided.');
23
+ }
24
+ srcDirectoryInvalid(directory) {
25
+ log.error(`${f.path(directory)} does not contain a valid ${f.var('APIMATIC-BUILD.json')}. Please check the path and try again.`);
26
+ }
27
+ async inputSdkDirectory(defaultDirectory, validator) {
28
+ const value = await text({
29
+ message: 'Enter the destination path for the generated SDK:',
30
+ placeholder: defaultDirectory.toString(),
31
+ defaultValue: defaultDirectory.toString(),
32
+ validate: validator
33
+ });
34
+ if (isCancel(value)) {
35
+ return undefined;
36
+ }
37
+ return new DirectoryPath(removeQuotes(value.trim()));
38
+ }
39
+ sdkDirectoryCannotBeSameAsBuildDirectory() {
40
+ log.error(`SDK directory must be different from the ${f.var('src')} directory.`);
41
+ }
42
+ async noSdkDirectoryProvided() {
43
+ log.error('No SDK directory was provided.');
44
+ }
45
+ async getPublishingProfiles(fn) {
46
+ return withSpinner('Searching for publishing profiles', 'Profile search complete.', 'Failed to fetch publishing profiles.', fn);
47
+ }
48
+ getPublishingProfilesServiceError(serviceError) {
49
+ log.error(serviceError.errorMessage);
50
+ }
51
+ noPublishingProfilesFound(errorMessage) {
52
+ log.error(errorMessage);
53
+ }
54
+ noProfileWithEnabledLanguagesFound() {
55
+ log.error('No publishing profiles found with languages enabled for Source Code Publishing or Package Publishing. Please enable at least one language in a publishing profile before publishing an SDK.');
56
+ }
57
+ async selectPublishingProfile(groups) {
58
+ const publishingProfile = await select({
59
+ message: 'Select a publishing profile:',
60
+ options: groups.flatMap((group) => group.profiles.map(({ profile, enabledLanguages }) => ({
61
+ value: profile,
62
+ hint: group.apiGroupName,
63
+ label: `${profile.name} | ${enabledLanguages.join(', ')} | ID: ${profile.id}`
64
+ })))
65
+ });
66
+ if (isCancel(publishingProfile)) {
67
+ return undefined;
68
+ }
69
+ return publishingProfile;
70
+ }
71
+ noPublishingProfileSelected() {
72
+ log.error('No publishing profile was selected.');
73
+ }
74
+ async selectLanguage(publishingProfile) {
75
+ const options = publishingProfile.getEnabledLanguages().map((language) => ({
76
+ value: language,
77
+ label: `${language} (${publishingProfile
78
+ .getPublishTypesForLanguage(language)
79
+ .map((t) => (t === PublishType.PackagePublishing ? 'Package' : 'Source Code'))
80
+ .join(' + ')})`
81
+ }));
82
+ const language = await select({
83
+ message: 'Select a language to publish:',
84
+ options
85
+ });
86
+ if (isCancel(language)) {
87
+ return undefined;
88
+ }
89
+ return language;
90
+ }
91
+ noLanguageSelected() {
92
+ log.error('No language was selected for publishing.');
93
+ }
94
+ async inputVersion() {
95
+ const version = await text({
96
+ message: 'Enter version to publish (e.g. 1.0.0):',
97
+ validate: (value) => {
98
+ if (!value)
99
+ return 'Version is required.';
100
+ if (SemVersion.tryCreate(value).isErr())
101
+ return 'Please enter a valid version in the format major.minor.patch (e.g., 1.0.0).';
102
+ }
103
+ });
104
+ if (isCancel(version)) {
105
+ return undefined;
106
+ }
107
+ const versionResult = SemVersion.tryCreate(version);
108
+ if (versionResult.isErr())
109
+ return undefined;
110
+ return versionResult.value;
111
+ }
112
+ noVersionSpecified() {
113
+ log.error('No version was specified for publishing the SDK.');
114
+ }
115
+ publishingSummary(profile, language, version, publishType) {
116
+ const targets = publishType
117
+ .map((t) => (t === PublishType.PackagePublishing ? 'Package' : 'Source Code'))
118
+ .join(' + ');
119
+ log.info(`Ready to publish:\n\n Profile: ${profile}\n Language: ${language}\n Version: ${version}\n Targets: ${targets}`);
120
+ }
121
+ async confirmPublishing() {
122
+ const result = await confirm({ message: 'Do you want to proceed?' });
123
+ if (isCancel(result))
124
+ return false;
125
+ return result;
126
+ }
127
+ publishingCancelled() {
128
+ log.error('Publishing cancelled.');
129
+ }
130
+ sourceCodeOnlyPublishingNotice() {
131
+ log.info('Version tags will not be created in your Git repository because you have opted to publish Source Code only.');
132
+ }
133
+ sdkPublishingInProgress(publishingLogUrl) {
134
+ const message = `To view the status of publishing, please visit:
135
+ ${f.link(publishingLogUrl)}`;
136
+ noteWrapped(message, 'Next Steps');
137
+ }
138
+ }
139
+ //# sourceMappingURL=interactive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactive.js","sourceRoot":"","sources":["../../../../src/prompts/sdk/publish/interactive.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { Result } from 'neverthrow';
2
+ import { PublishType } from '../../../types/publish-api/publishing-profile-item.js';
3
+ import { SemVersion } from '../../../types/publish/version.js';
4
+ import { DirectoryPath } from '../../../types/file/directoryPath.js';
5
+ import { ServiceError } from '../../../infrastructure/service-error.js';
6
+ import { PublishingProfileItem } from '../../../types/publish-api/publishing-profile-item.js';
7
+ import { PublishLogItem } from '../../../types/publish-api/publish-log.js';
8
+ import { ProfileId } from '../../../types/publish/profile-id.js';
9
+ import { PublishingProfile } from '../../../types/publish/publishing-profile.js';
10
+ import { Language } from '../../../types/sdk/generate.js';
11
+ export declare class SdkPublishNonInteractivePrompts {
12
+ directoryCannotBeSame(directory: DirectoryPath): void;
13
+ srcDirectoryDoesNotExist(directory: DirectoryPath): void;
14
+ missingRequiredFlags(options: string[]): void;
15
+ interactiveModeNotice(): void;
16
+ invalidVersion(version: string): void;
17
+ invalidProfileId(profileId: string): void;
18
+ getPublishingProfiles(fn: Promise<Result<PublishingProfileItem[], ServiceError>>): Promise<Result<PublishingProfileItem[], ServiceError>>;
19
+ getPublishingProfilesServiceError(serviceError: ServiceError): void;
20
+ publishingProfileNotFound(profileId: ProfileId): void;
21
+ languageNotConfiguredForProfile(language: Language): void;
22
+ publishTypesNotAvailableForLanguage(publishTypes: PublishType[], language: Language): void;
23
+ sourceCodeOnlyPublishingNotice(): void;
24
+ publishingRunningNotice(profile: PublishingProfile, language: Language, version: SemVersion, publishType: PublishType[]): void;
25
+ postPublishingMessage(publishingLogUrl: string): void;
26
+ pollPublishingStatus(getSdkPublishingLogFn: () => Promise<Result<PublishLogItem, ServiceError>>): Promise<boolean>;
27
+ }