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

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 (136) hide show
  1. package/README.md +53 -10
  2. package/lib/actions/action-result.d.ts +12 -6
  3. package/lib/actions/action-result.js +36 -10
  4. package/lib/actions/action-result.js.map +1 -1
  5. package/lib/actions/api/validate.d.ts +3 -1
  6. package/lib/actions/api/validate.js +14 -3
  7. package/lib/actions/api/validate.js.map +1 -1
  8. package/lib/actions/portal/copilot.js +2 -2
  9. package/lib/actions/portal/generate.js +7 -1
  10. package/lib/actions/portal/generate.js.map +1 -1
  11. package/lib/actions/portal/quickstart.d.ts +4 -3
  12. package/lib/actions/portal/quickstart.js +42 -19
  13. package/lib/actions/portal/quickstart.js.map +1 -1
  14. package/lib/actions/portal/serve.js +0 -14
  15. package/lib/actions/portal/serve.js.map +1 -1
  16. package/lib/actions/portal/toc/new-toc.d.ts +5 -5
  17. package/lib/actions/portal/toc/new-toc.js +39 -40
  18. package/lib/actions/portal/toc/new-toc.js.map +1 -1
  19. package/lib/actions/sdk/generate.d.ts +4 -1
  20. package/lib/actions/sdk/generate.js +62 -17
  21. package/lib/actions/sdk/generate.js.map +1 -1
  22. package/lib/actions/sdk/merge-source-tree.d.ts +12 -0
  23. package/lib/actions/sdk/merge-source-tree.js +78 -0
  24. package/lib/actions/sdk/merge-source-tree.js.map +1 -0
  25. package/lib/actions/sdk/quickstart.d.ts +6 -3
  26. package/lib/actions/sdk/quickstart.js +48 -26
  27. package/lib/actions/sdk/quickstart.js.map +1 -1
  28. package/lib/actions/sdk/save-changes.d.ts +8 -0
  29. package/lib/actions/sdk/save-changes.js +93 -0
  30. package/lib/actions/sdk/save-changes.js.map +1 -0
  31. package/lib/application/portal/toc/toc-structure-generator.d.ts +23 -2
  32. package/lib/application/portal/toc/toc-structure-generator.js +131 -60
  33. package/lib/application/portal/toc/toc-structure-generator.js.map +1 -1
  34. package/lib/commands/portal/recipe/new.js +2 -2
  35. package/lib/commands/portal/recipe/new.js.map +1 -1
  36. package/lib/commands/portal/toc/new.d.ts +5 -3
  37. package/lib/commands/portal/toc/new.js +34 -26
  38. package/lib/commands/portal/toc/new.js.map +1 -1
  39. package/lib/commands/quickstart.js +1 -1
  40. package/lib/commands/quickstart.js.map +1 -1
  41. package/lib/commands/sdk/generate.d.ts +4 -2
  42. package/lib/commands/sdk/generate.js +29 -11
  43. package/lib/commands/sdk/generate.js.map +1 -1
  44. package/lib/commands/sdk/save-changes.d.ts +14 -0
  45. package/lib/commands/sdk/save-changes.js +51 -0
  46. package/lib/commands/sdk/save-changes.js.map +1 -0
  47. package/lib/hooks/not-found.js +1 -1
  48. package/lib/hooks/not-found.js.map +1 -1
  49. package/lib/infrastructure/debounce-service.js +3 -0
  50. package/lib/infrastructure/debounce-service.js.map +1 -1
  51. package/lib/infrastructure/file-service.d.ts +6 -0
  52. package/lib/infrastructure/file-service.js +58 -1
  53. package/lib/infrastructure/file-service.js.map +1 -1
  54. package/lib/infrastructure/git-service.d.ts +15 -0
  55. package/lib/infrastructure/git-service.js +93 -0
  56. package/lib/infrastructure/git-service.js.map +1 -0
  57. package/lib/infrastructure/launcher-service.d.ts +2 -0
  58. package/lib/infrastructure/launcher-service.js +22 -1
  59. package/lib/infrastructure/launcher-service.js.map +1 -1
  60. package/lib/infrastructure/service-error.d.ts +13 -2
  61. package/lib/infrastructure/service-error.js +23 -9
  62. package/lib/infrastructure/service-error.js.map +1 -1
  63. package/lib/infrastructure/services/api-service.d.ts +2 -1
  64. package/lib/infrastructure/services/api-service.js +24 -0
  65. package/lib/infrastructure/services/api-service.js.map +1 -1
  66. package/lib/infrastructure/services/portal-service.d.ts +6 -4
  67. package/lib/infrastructure/services/portal-service.js +96 -59
  68. package/lib/infrastructure/services/portal-service.js.map +1 -1
  69. package/lib/infrastructure/services/validation-service.d.ts +28 -2
  70. package/lib/infrastructure/services/validation-service.js +108 -15
  71. package/lib/infrastructure/services/validation-service.js.map +1 -1
  72. package/lib/infrastructure/zip-service.js +1 -1
  73. package/lib/infrastructure/zip-service.js.map +1 -1
  74. package/lib/prompts/api/validate.d.ts +5 -2
  75. package/lib/prompts/api/validate.js +36 -0
  76. package/lib/prompts/api/validate.js.map +1 -1
  77. package/lib/prompts/format.d.ts +1 -1
  78. package/lib/prompts/format.js.map +1 -1
  79. package/lib/prompts/portal/generate.d.ts +1 -1
  80. package/lib/prompts/portal/generate.js +9 -3
  81. package/lib/prompts/portal/generate.js.map +1 -1
  82. package/lib/prompts/portal/quickstart.d.ts +3 -0
  83. package/lib/prompts/portal/quickstart.js +39 -2
  84. package/lib/prompts/portal/quickstart.js.map +1 -1
  85. package/lib/prompts/portal/toc/new-toc.d.ts +1 -1
  86. package/lib/prompts/portal/toc/new-toc.js +10 -2
  87. package/lib/prompts/portal/toc/new-toc.js.map +1 -1
  88. package/lib/prompts/sdk/generate.d.ts +11 -4
  89. package/lib/prompts/sdk/generate.js +37 -11
  90. package/lib/prompts/sdk/generate.js.map +1 -1
  91. package/lib/prompts/sdk/merge-source-tree.d.ts +22 -0
  92. package/lib/prompts/sdk/merge-source-tree.js +90 -0
  93. package/lib/prompts/sdk/merge-source-tree.js.map +1 -0
  94. package/lib/prompts/sdk/quickstart.d.ts +4 -1
  95. package/lib/prompts/sdk/quickstart.js +41 -4
  96. package/lib/prompts/sdk/quickstart.js.map +1 -1
  97. package/lib/prompts/sdk/save-changes.d.ts +21 -0
  98. package/lib/prompts/sdk/save-changes.js +84 -0
  99. package/lib/prompts/sdk/save-changes.js.map +1 -0
  100. package/lib/types/build/build.d.ts +2 -0
  101. package/lib/types/build/build.js.map +1 -1
  102. package/lib/types/build-context.d.ts +10 -0
  103. package/lib/types/build-context.js +71 -1
  104. package/lib/types/build-context.js.map +1 -1
  105. package/lib/types/events/sdk-changes-saved.d.ts +8 -0
  106. package/lib/types/events/sdk-changes-saved.js +11 -0
  107. package/lib/types/events/sdk-changes-saved.js.map +1 -0
  108. package/lib/types/events/sdk-changes-tracked.d.ts +8 -0
  109. package/lib/types/events/sdk-changes-tracked.js +11 -0
  110. package/lib/types/events/sdk-changes-tracked.js.map +1 -0
  111. package/lib/types/events/sdk-conflicts-resolved.d.ts +8 -0
  112. package/lib/types/events/sdk-conflicts-resolved.js +11 -0
  113. package/lib/types/events/sdk-conflicts-resolved.js.map +1 -0
  114. package/lib/types/file/directory.d.ts +10 -1
  115. package/lib/types/file/directory.js +63 -5
  116. package/lib/types/file/directory.js.map +1 -1
  117. package/lib/types/file/directoryPath.js.map +1 -1
  118. package/lib/types/merge-source-tree-context.d.ts +28 -0
  119. package/lib/types/merge-source-tree-context.js +62 -0
  120. package/lib/types/merge-source-tree-context.js.map +1 -0
  121. package/lib/types/save-changes-context.d.ts +17 -0
  122. package/lib/types/save-changes-context.js +42 -0
  123. package/lib/types/save-changes-context.js.map +1 -0
  124. package/lib/types/sdk-context.d.ts +5 -4
  125. package/lib/types/sdk-context.js +26 -13
  126. package/lib/types/sdk-context.js.map +1 -1
  127. package/lib/types/sdl/sdl.d.ts +20 -3
  128. package/lib/types/sdl/sdl.js +120 -22
  129. package/lib/types/sdl/sdl.js.map +1 -1
  130. package/lib/types/spec-context.js.map +1 -1
  131. package/lib/types/temp-context.js.map +1 -1
  132. package/lib/types/toc/toc.d.ts +31 -6
  133. package/lib/utils/string-utils.d.ts +1 -0
  134. package/lib/utils/string-utils.js +42 -0
  135. package/lib/utils/string-utils.js.map +1 -1
  136. package/package.json +3 -2
@@ -7,7 +7,6 @@ import { removeQuotes } from "../../utils/string-utils.js";
7
7
  import { Language } 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 defaultSrcDirectoryPath = process.cwd();
11
10
  export class SdkQuickstartPrompts {
12
11
  importSpecStep() {
13
12
  log.info(`Step 1 of 4: Import your OpenAPI Definition`);
@@ -28,6 +27,42 @@ export class SdkQuickstartPrompts {
28
27
  }
29
28
  return createResourceInputFromInput(spec);
30
29
  }
30
+ splitSpecDetected(unallowed) {
31
+ const featuresList = unallowed.Features.map((f) => ` • ${f}`).join("\n");
32
+ let endpointMessage = "";
33
+ if (unallowed.EndpointLimit < unallowed.EndpointCount) {
34
+ endpointMessage = `\nEndpoint limit exceeded: ${unallowed.EndpointCount} endpoints found, but your plan allows ${unallowed.EndpointLimit}\n`;
35
+ }
36
+ const message = [
37
+ "Your API Specification includes components not available on your current subscription plan:",
38
+ "",
39
+ featuresList,
40
+ endpointMessage,
41
+ "To continue:",
42
+ "- Remove these components from your API Specification and re-run this command.",
43
+ "- 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
+ ].join("\n");
46
+ log.info(message);
47
+ }
48
+ stripUnallowedFeaturesStep(unallowed) {
49
+ const featuresList = unallowed.Features.map((f) => ` • ${f}`).join("\n");
50
+ let endpointMessage = "";
51
+ if (unallowed.EndpointLimit < unallowed.EndpointCount) {
52
+ const endpointsToRemove = unallowed.EndpointCount - unallowed.EndpointLimit;
53
+ endpointMessage = `\n${endpointsToRemove} endpoint(s) will be removed from your spec\n`;
54
+ }
55
+ const message = [
56
+ "Your API Specification includes components not available on your current subscription plan.",
57
+ "We'll automatically remove these components before proceeding:",
58
+ featuresList,
59
+ endpointMessage,
60
+ "",
61
+ "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
+ ].join("\n");
64
+ log.info(message);
65
+ }
31
66
  specFileDoesNotExist() {
32
67
  log.error("The specified file does not exist or is not a valid file. Please enter a valid file path.");
33
68
  }
@@ -126,10 +161,12 @@ export class SdkQuickstartPrompts {
126
161
  sdkOpenedInEditor() {
127
162
  log.info("Opened the SDK directory in VS Code. To get started with your SDK, review the README file.");
128
163
  }
129
- nextSteps(language, specDirectory) {
130
- const specDirectoryFlag = !specDirectory.isEqual(DirectoryPath.default) ? `${f.flag("spec", specDirectory.toString())} ` : "";
164
+ nextSteps(language, inputDirectory) {
165
+ const inputDirectoryFlag = !inputDirectory.isEqual(DirectoryPath.default)
166
+ ? `${f.flag("input", inputDirectory.toString())} `
167
+ : "";
131
168
  const message = `Run the command
132
- '${f.cmdAlt("apimatic", "sdk", "generate")} ${specDirectoryFlag}${f.flag("language", language)}'
169
+ '${f.cmdAlt("apimatic", "sdk", "generate")} ${inputDirectoryFlag}${f.flag("language", language)}'
133
170
  to regenerate your SDK.
134
171
 
135
172
  To learn more about customizing your SDK, visit:
@@ -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":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEhE,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAI3C,MAAM,OAAO,kBAAkB;IAEtB,iBAAiB,CAAC,SAAwB;QAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACjG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAEM,mBAAmB,CAAC,SAAwB;QACjD,MAAM,OAAO,GAAG,iCAAiC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACrE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAEM,6BAA6B,CAAC,SAAwB;QAC3D,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,0CAA0C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5G,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAEM,0CAA0C;QAC/C,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,6CAA6C,CAAC,CAAC;IACtF,CAAC;IAEM,eAAe;QACpB,GAAG,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACpD,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,QAAkB;QAC3C,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC;YAC3B,OAAO,EAAE,iDAAiD;YAC1D,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;SACvD,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEM,qBAAqB,CAAC,QAAgB;QAC3C,GAAG,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,0FAA0F,CAAC,CAAC;QACvJ,MAAM,OAAO,GAAG;GACjB,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;kCACnE,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,cAAc,CAAC,SAAS,CAAC;QACnF,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACrC,CAAC;IAEM,kBAAkB;QACvB,GAAG,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IAClD,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAAC,SAAwB;QACtD,GAAG,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,uCAAuC,CAAC,CAAC;IAC1H,CAAC;IAEM,qBAAqB,CAAC,SAAoB;QAC/C,GAAG,CAAC,IAAI,CAAC;IACT,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;IAEM,KAAK,CAAC,oBAAoB;QAC/B,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC;YAC9B,OAAO,EAAE,sCAAsC;YAC/C,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,iBAAiB;QACtB,GAAG,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAC9C,CAAC;IAEM,+BAA+B;QACpC,GAAG,CAAC,IAAI,CAAC,+EAA+E,CAAC,CAAC;IAC5F,CAAC;IAEM,KAAK,CAAC,qBAAqB,CAAC,aAA4B;QAC7D,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACzE,CAAC;IAEM,KAAK,CAAC,kBAAkB;QAC7B,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC;YAC9B,OAAO,EAAE,oCAAoC;YAC7C,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,YAAY,CAAC,cAAwB;QAC1C,GAAG,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACxE,GAAG,CAAC,IAAI,CAAC,oFAAoF,CAAC,CAAC;IACjG,CAAC;CACF"}
@@ -1,6 +1,8 @@
1
1
  import { DirectoryPath } from "../file/directoryPath.js";
2
2
  export interface BuildConfig {
3
3
  generatePortal?: PortalConfig;
4
+ generateVersionedPortal?: object;
5
+ versionsPath?: string;
4
6
  apiCopilotConfig?: CopilotConfig;
5
7
  [key: string]: unknown;
6
8
  }
@@ -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":"AAuBA,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,5 +1,7 @@
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;
@@ -10,4 +12,12 @@ export declare class BuildContext {
10
12
  getBuildFileContents(): Promise<BuildConfig>;
11
13
  updateBuildFileContents(buildJson: BuildConfig): Promise<void>;
12
14
  deleteWorkflowDir(): Promise<void>;
15
+ getBuildDirectory(): DirectoryPath;
16
+ getSpecContext(): SpecContext;
17
+ hasSdkSourceTree(language: string): Promise<boolean>;
18
+ getSdkSourceTree(language: string): FilePath;
19
+ isVersionedBuild(): Promise<boolean>;
20
+ getVersionedBuildDirectory(): Promise<DirectoryPath | undefined>;
21
+ getSingleVersionedBuildDirectory(): Promise<DirectoryPath | undefined>;
22
+ getSelectedVersionedBuildDirectory(versionSelector: (versions: string[]) => Promise<string | undefined>): Promise<DirectoryPath | undefined>;
13
23
  }
@@ -1,6 +1,7 @@
1
1
  import { FileService } from "../infrastructure/file-service.js";
2
2
  import { FilePath } from "./file/filePath.js";
3
3
  import { FileName } from "./file/fileName.js";
4
+ import { SpecContext } from "./spec-context.js";
4
5
  export class BuildContext {
5
6
  constructor(buildDirectory) {
6
7
  this.fileService = new FileService();
@@ -17,7 +18,7 @@ export class BuildContext {
17
18
  return await this.fileService.fileExists(this.buildFile);
18
19
  }
19
20
  async exists() {
20
- return !(await this.fileService.directoryEmpty(this.buildDirectory));
21
+ return await this.fileService.directoryExists(this.buildDirectory);
21
22
  }
22
23
  async getBuildFileContents() {
23
24
  const buildFileContent = await this.fileService.getContents(this.buildFile);
@@ -29,5 +30,74 @@ export class BuildContext {
29
30
  async deleteWorkflowDir() {
30
31
  await this.fileService.deleteDirectory(this.buildDirectory.join(".github"));
31
32
  }
33
+ getBuildDirectory() {
34
+ return this.buildDirectory;
35
+ }
36
+ getSpecContext() {
37
+ return new SpecContext(this.buildDirectory.join("spec"));
38
+ }
39
+ async hasSdkSourceTree(language) {
40
+ const sourceTreePath = FilePath.create(this.buildDirectory.join("sdk-source-tree").join(`.${language}`).toString());
41
+ if (!sourceTreePath) {
42
+ return false;
43
+ }
44
+ return await this.fileService.fileExists(sourceTreePath);
45
+ }
46
+ getSdkSourceTree(language) {
47
+ return FilePath.create(this.buildDirectory.join("sdk-source-tree").join(`.${language}`).toString());
48
+ }
49
+ async isVersionedBuild() {
50
+ if (!await this.validate()) {
51
+ return false;
52
+ }
53
+ const buildConfig = await this.getBuildFileContents();
54
+ if (buildConfig.generateVersionedPortal) {
55
+ return true;
56
+ }
57
+ return false;
58
+ }
59
+ async getVersionedBuildDirectory() {
60
+ var _a;
61
+ const buildConfig = await this.getBuildFileContents();
62
+ if (!buildConfig.generateVersionedPortal) {
63
+ return undefined;
64
+ }
65
+ const versionsDirectory = this.buildDirectory.join((_a = buildConfig.versionsPath) !== null && _a !== void 0 ? _a : 'versioned_docs');
66
+ if (!await this.fileService.directoryExists(versionsDirectory)) {
67
+ return undefined;
68
+ }
69
+ const versionsDirs = await this.fileService.getSubDirectoriesPaths(versionsDirectory);
70
+ return versionsDirs.length > 0 ? versionsDirectory : undefined;
71
+ }
72
+ async getSingleVersionedBuildDirectory() {
73
+ var _a;
74
+ const buildConfig = await this.getBuildFileContents();
75
+ if (!buildConfig.generateVersionedPortal) {
76
+ return undefined;
77
+ }
78
+ const versionsDirectory = this.buildDirectory.join((_a = buildConfig.versionsPath) !== null && _a !== void 0 ? _a : 'versioned_docs');
79
+ if (!await this.fileService.directoryExists(versionsDirectory)) {
80
+ return undefined;
81
+ }
82
+ const versionsDirs = await this.fileService.getSubDirectoriesPaths(versionsDirectory);
83
+ return versionsDirs.length === 1 ? versionsDirs[0] : undefined;
84
+ }
85
+ async getSelectedVersionedBuildDirectory(versionSelector) {
86
+ var _a;
87
+ const buildConfig = await this.getBuildFileContents();
88
+ if (!buildConfig.generateVersionedPortal) {
89
+ return undefined;
90
+ }
91
+ const versionsDirectory = this.buildDirectory.join((_a = buildConfig.versionsPath) !== null && _a !== void 0 ? _a : 'versioned_docs');
92
+ if (!await this.fileService.directoryExists(versionsDirectory)) {
93
+ return undefined;
94
+ }
95
+ const versionsDirs = await this.fileService.getSubDirectoriesPaths(versionsDirectory);
96
+ const selectedVersion = await versionSelector(versionsDirs.map(dir => dir.leafName()));
97
+ if (!selectedVersion) {
98
+ return undefined;
99
+ }
100
+ return versionsDirs.find(dir => dir.leafName() === selectedVersion);
101
+ }
32
102
  }
33
103
  //# sourceMappingURL=build-context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"build-context.js","sourceRoot":"","sources":["../../src/types/build-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG9C,MAAM,OAAO,YAAY;IAIvB,YAAY,cAA6B;QAHxB,gBAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QAI/C,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED,IAAY,SAAS;QACnB,uCAAuC;QACvC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAChF,CAAC;IAEM,KAAK,CAAC,QAAQ;QACnB,6BAA6B;QAC7B,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAEjF,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3D,CAAC;IAEM,KAAK,CAAC,MAAM;QACjB,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IACvE,CAAC;IAEM,KAAK,CAAC,oBAAoB;QAC/B,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAgB,CAAC;IACrD,CAAC;IAEM,KAAK,CAAC,uBAAuB,CAAC,SAAsB;QACzD,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3F,CAAC;IAEM,KAAK,CAAC,iBAAiB;QAC5B,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9E,CAAC;CACF"}
1
+ {"version":3,"file":"build-context.js","sourceRoot":"","sources":["../../src/types/build-context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { DomainEvent } from "./domain-event.js";
2
+ export declare class SdkChangesSavedEvent extends DomainEvent {
3
+ protected readonly eventName: string;
4
+ private static readonly message;
5
+ private static readonly commandName;
6
+ private readonly language;
7
+ constructor(language: string);
8
+ }
@@ -0,0 +1,11 @@
1
+ import { DomainEvent } from "./domain-event.js";
2
+ export class SdkChangesSavedEvent extends DomainEvent {
3
+ constructor(language) {
4
+ super(SdkChangesSavedEvent.message, SdkChangesSavedEvent.commandName, {});
5
+ this.eventName = SdkChangesSavedEvent.name;
6
+ this.language = language;
7
+ }
8
+ }
9
+ SdkChangesSavedEvent.message = "Save changes completed.";
10
+ SdkChangesSavedEvent.commandName = "sdk:save-changes";
11
+ //# sourceMappingURL=sdk-changes-saved.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-changes-saved.js","sourceRoot":"","sources":["../../../src/types/events/sdk-changes-saved.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,OAAO,oBAAqB,SAAQ,WAAW;IAMnD,YAAY,QAAgB;QAC1B,KAAK,CAAC,oBAAoB,CAAC,OAAO,EAAE,oBAAoB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QANzD,cAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC;QAOvD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;;AAPuB,4BAAO,GAAG,yBAAkC,AAArC,CAAsC;AAC7C,gCAAW,GAAG,kBAA2B,AAA9B,CAA+B"}
@@ -0,0 +1,8 @@
1
+ import { DomainEvent } from "./domain-event.js";
2
+ export declare class SdkChangesTrackedEvent extends DomainEvent {
3
+ protected readonly eventName: string;
4
+ private static readonly message;
5
+ private static readonly commandName;
6
+ private readonly language;
7
+ constructor(language: string);
8
+ }
@@ -0,0 +1,11 @@
1
+ import { DomainEvent } from "./domain-event.js";
2
+ export class SdkChangesTrackedEvent extends DomainEvent {
3
+ constructor(language) {
4
+ super(SdkChangesTrackedEvent.message, SdkChangesTrackedEvent.commandName, {});
5
+ this.eventName = SdkChangesTrackedEvent.name;
6
+ this.language = language;
7
+ }
8
+ }
9
+ SdkChangesTrackedEvent.message = "SDK generated with track changes enabled.";
10
+ SdkChangesTrackedEvent.commandName = "sdk:generate";
11
+ //# sourceMappingURL=sdk-changes-tracked.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-changes-tracked.js","sourceRoot":"","sources":["../../../src/types/events/sdk-changes-tracked.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,OAAO,sBAAuB,SAAQ,WAAW;IAMrD,YAAY,QAAgB;QAC1B,KAAK,CAAC,sBAAsB,CAAC,OAAO,EAAE,sBAAsB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAN7D,cAAS,GAAG,sBAAsB,CAAC,IAAI,CAAC;QAOzD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;;AAPuB,8BAAO,GAAG,2CAAoD,AAAvD,CAAwD;AAC/D,kCAAW,GAAG,cAAuB,AAA1B,CAA2B"}
@@ -0,0 +1,8 @@
1
+ import { DomainEvent } from "./domain-event.js";
2
+ export declare class SdkConflictsResolvedEvent extends DomainEvent {
3
+ protected readonly eventName: string;
4
+ private static readonly message;
5
+ private static readonly commandName;
6
+ private readonly language;
7
+ constructor(language: string);
8
+ }
@@ -0,0 +1,11 @@
1
+ import { DomainEvent } from "./domain-event.js";
2
+ export class SdkConflictsResolvedEvent extends DomainEvent {
3
+ constructor(language) {
4
+ super(SdkConflictsResolvedEvent.message, SdkConflictsResolvedEvent.commandName, {});
5
+ this.eventName = SdkConflictsResolvedEvent.name;
6
+ this.language = language;
7
+ }
8
+ }
9
+ SdkConflictsResolvedEvent.message = "SDK merge conflicts resolved.";
10
+ SdkConflictsResolvedEvent.commandName = "sdk:generate";
11
+ //# sourceMappingURL=sdk-conflicts-resolved.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-conflicts-resolved.js","sourceRoot":"","sources":["../../../src/types/events/sdk-conflicts-resolved.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,OAAO,yBAA0B,SAAQ,WAAW;IAMxD,YAAY,QAAgB;QAC1B,KAAK,CAAC,yBAAyB,CAAC,OAAO,EAAE,yBAAyB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QANnE,cAAS,GAAG,yBAAyB,CAAC,IAAI,CAAC;QAO5D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;;AAPuB,iCAAO,GAAG,+BAAwC,AAA3C,CAA4C;AACnD,qCAAW,GAAG,cAAuB,AAA1B,CAA2B"}
@@ -1,8 +1,13 @@
1
1
  import { DirectoryPath } from "./directoryPath.js";
2
2
  import { FileName } from "./fileName.js";
3
3
  import { TocGroup } from "../toc/toc.js";
4
+ import { FilePath } from "./filePath.js";
4
5
  import { TreeNode } from "../../prompts/format.js";
5
- export type DirectoryItem = FileName | Directory;
6
+ export type FileItem = {
7
+ fileName: FileName;
8
+ description?: string;
9
+ };
10
+ export type DirectoryItem = FileItem | Directory;
6
11
  export declare class Directory {
7
12
  readonly directoryPath: DirectoryPath;
8
13
  readonly items: DirectoryItem[];
@@ -11,7 +16,11 @@ export declare class Directory {
11
16
  private static readonly folderDescriptions;
12
17
  private static readonly fileDescriptions;
13
18
  toTreeNode(): TreeNode;
19
+ mapFilesInDirectory(map: (rootDir: DirectoryPath, fileItem: FileItem) => Promise<FileItem | undefined>): Promise<Directory>;
20
+ isEmpty(): boolean;
21
+ getAllFiles(): FilePath[];
14
22
  parseContentFolder(baseContentPath: DirectoryPath): Promise<TocGroup[]>;
15
23
  private getPageName;
16
24
  private isRootContentDirectory;
25
+ static createFromRelativePaths(rootDir: DirectoryPath, fileItems: FileItem[]): Directory;
17
26
  }
@@ -1,3 +1,4 @@
1
+ import { FileName } from "./fileName.js";
1
2
  import { FilePath } from "./filePath.js";
2
3
  import { FileService } from "../../infrastructure/file-service.js";
3
4
  export class Directory {
@@ -13,12 +14,13 @@ export class Directory {
13
14
  name: folderName,
14
15
  description: folderDescription,
15
16
  items: this.items.map((item) => {
17
+ var _a;
16
18
  if (item instanceof Directory) {
17
19
  return item.toTreeNode();
18
20
  }
19
21
  // file case
20
- const fileName = item.toString();
21
- const fileDescription = Directory.fileDescriptions[fileName];
22
+ const fileName = item.fileName.toString();
23
+ const fileDescription = (_a = item.description) !== null && _a !== void 0 ? _a : Directory.fileDescriptions[fileName];
22
24
  return {
23
25
  name: fileName,
24
26
  description: fileDescription
@@ -26,6 +28,38 @@ export class Directory {
26
28
  })
27
29
  };
28
30
  }
31
+ async mapFilesInDirectory(map) {
32
+ const mappedItems = [];
33
+ for (const item of this.items) {
34
+ if (item instanceof Directory) {
35
+ const mappedSubDir = await item.mapFilesInDirectory(map);
36
+ if (!mappedSubDir.isEmpty()) {
37
+ mappedItems.push(mappedSubDir);
38
+ }
39
+ continue;
40
+ }
41
+ const mappedItem = await map(this.directoryPath, item);
42
+ if (mappedItem) {
43
+ mappedItems.push(mappedItem);
44
+ }
45
+ }
46
+ return new Directory(this.directoryPath, mappedItems);
47
+ }
48
+ isEmpty() {
49
+ return this.items.length === 0;
50
+ }
51
+ getAllFiles() {
52
+ const files = [];
53
+ for (const item of this.items) {
54
+ if (item instanceof Directory) {
55
+ files.push(...item.getAllFiles());
56
+ }
57
+ else {
58
+ files.push(new FilePath(this.directoryPath, item.fileName));
59
+ }
60
+ }
61
+ return files;
62
+ }
29
63
  async parseContentFolder(baseContentPath) {
30
64
  const groups = [];
31
65
  const pages = [];
@@ -41,11 +75,11 @@ export class Directory {
41
75
  }
42
76
  }
43
77
  else {
44
- if (item.isMarkDown()) {
45
- const currentFilePath = new FilePath(this.directoryPath, item);
78
+ if (item.fileName.toString().endsWith(".md")) {
79
+ const currentFilePath = new FilePath(this.directoryPath, item.fileName);
46
80
  const relativeFilePath = this.fileService.getRelativePath(currentFilePath, baseContentPath);
47
81
  pages.push({
48
- page: this.getPageName(item),
82
+ page: this.getPageName(item.fileName),
49
83
  file: relativeFilePath
50
84
  });
51
85
  }
@@ -73,6 +107,30 @@ export class Directory {
73
107
  isRootContentDirectory(baseContentPath) {
74
108
  return this.directoryPath.toString() === baseContentPath.toString();
75
109
  }
110
+ static createFromRelativePaths(rootDir, fileItems) {
111
+ const buildDirectory = (pending) => new Directory(pending.pendingDirPath, pending.items.map((item) => ("pendingDirPath" in item ? buildDirectory(item) : item)));
112
+ const root = { pendingDirPath: rootDir, items: [] };
113
+ for (const file of fileItems) {
114
+ const parts = file.fileName.toString().split(/[\\/]/);
115
+ let currentDir = root;
116
+ for (let i = 0; i < parts.length; i++) {
117
+ const part = parts[i];
118
+ const isLastPart = i === parts.length - 1;
119
+ if (isLastPart) {
120
+ currentDir.items.push({ fileName: new FileName(part), description: file.description });
121
+ }
122
+ else {
123
+ let existingDir = currentDir.items.find((item) => "pendingDirPath" in item && item.pendingDirPath.leafName() === part);
124
+ if (!existingDir) {
125
+ existingDir = { pendingDirPath: currentDir.pendingDirPath.join(part), items: [] };
126
+ currentDir.items.push(existingDir);
127
+ }
128
+ currentDir = existingDir;
129
+ }
130
+ }
131
+ }
132
+ return buildDirectory(root);
133
+ }
76
134
  }
77
135
  Directory.folderDescriptions = {
78
136
  spec: "# Contains all API definition files",
@@ -1 +1 @@
1
- {"version":3,"file":"directory.js","sourceRoot":"","sources":["../../../src/types/file/directory.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAInE,MAAM,OAAO,SAAS;IAKpB,YAAmB,aAA4B,EAAE,SAA0B;QAF1D,gBAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QAG/C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;IACzB,CAAC;IAeM,UAAU;QACf,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;QACjD,MAAM,iBAAiB,GAAG,SAAS,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAEnE,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,iBAAiB;YAC9B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC7B,IAAI,IAAI,YAAY,SAAS,EAAE,CAAC;oBAC9B,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC3B,CAAC;gBAED,YAAY;gBACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACjC,MAAM,eAAe,GAAG,SAAS,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBAC7D,OAAO;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,eAAe;iBAC7B,CAAC;YACJ,CAAC,CAAC;SACH,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAAC,eAA8B;QAC5D,MAAM,MAAM,GAAe,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAoB,EAAE,CAAC;QAElC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,IAAI,YAAY,SAAS,EAAE,CAAC;gBAC9B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;gBAEjE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;oBACpD,MAAM,CAAC,IAAI,CAAC;wBACV,KAAK,EAAE,aAAa;wBACpB,KAAK,EAAE,SAAS;qBACjB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;oBACtB,MAAM,eAAe,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;oBAC/D,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;oBAE5F,KAAK,CAAC,IAAI,CAAC;wBACT,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;wBAC5B,IAAI,EAAE,gBAAgB;qBACvB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAiC,CAAC,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC,CAAC;QAErE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,EAAE,CAAC;YACjD,OAAO;gBACL;oBACE,KAAK,EAAE,gBAAgB;oBACvB,KAAK,EAAE,QAAQ;iBAChB;aACF,CAAC;QACJ,CAAC;QAED,gDAAgD;QAChD,OAAO,QAAsB,CAAC;IAChC,CAAC;IAEO,WAAW,CAAC,QAAkB;QACpC,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACxC,OAAO,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC1C,CAAC;IAEO,sBAAsB,CAAC,eAA8B;QAC3D,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,eAAe,CAAC,QAAQ,EAAE,CAAC;IACtE,CAAC;;AA1FuB,4BAAkB,GAA2B;IACnE,IAAI,EAAE,qCAAqC;IAC3C,OAAO,EAAE,mDAAmD;IAC5D,MAAM,EAAE,6DAA6D;CACtE,AAJyC,CAIxC;AAEsB,0BAAgB,GAA2B;IACjE,SAAS,EAAE,uEAAuE;IAClF,qBAAqB,EACnB,6FAA6F;IAC/F,oBAAoB,EAAE,4CAA4C;CACnE,AALuC,CAKtC"}
1
+ {"version":3,"file":"directory.js","sourceRoot":"","sources":["../../../src/types/file/directory.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"directoryPath.js","sourceRoot":"","sources":["../../../src/types/file/directoryPath.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAG7B,MAAM,OAAO,aAAa;IAGxB,YAAY,aAAqB,EAAE,GAAG,QAAkB;QACtD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,QAAQ,CAAC,CAAC;IAChE,CAAC;IAIM,MAAM,CAAC,WAAW,CAAC,KAAyB;QACjD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,aAAa,CAAC,OAAO,CAAC;QAC/B,CAAC;QACD,OAAO,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAEM,IAAI,CAAC,GAAG,OAAiB;QAC9B,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IACtE,CAAC;IAEM,OAAO,CAAC,KAAoB;QACjC,OAAO,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC,aAAa,CAAC;IACpD,CAAC;IACM,QAAQ;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC3C,CAAC;;AAtBa,qBAAO,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"directoryPath.js","sourceRoot":"","sources":["../../../src/types/file/directoryPath.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,MAAM,OAAO,aAAa;IAGxB,YAAY,aAAqB,EAAE,GAAG,QAAkB;QACtD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,QAAQ,CAAC,CAAC;IAChE,CAAC;IAIM,MAAM,CAAC,WAAW,CAAC,KAAyB;QACjD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,aAAa,CAAC,OAAO,CAAC;QAC/B,CAAC;QACD,OAAO,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAEM,IAAI,CAAC,GAAG,OAAiB;QAC9B,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IACtE,CAAC;IAEM,OAAO,CAAC,KAAoB;QACjC,OAAO,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC,aAAa,CAAC;IACpD,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC3C,CAAC;;AAvBa,qBAAO,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { Directory } from "./file/directory.js";
2
+ import { DirectoryPath } from "./file/directoryPath.js";
3
+ import { FilePath } from "./file/filePath.js";
4
+ export declare class MergeSourceTreeContext {
5
+ private readonly sdkWithSourceTree;
6
+ private readonly sdkWithoutSourceTree;
7
+ private readonly sourceTreePath;
8
+ private readonly trackChanges;
9
+ private readonly skipChanges;
10
+ private readonly hasSdkSourceTree;
11
+ private readonly fileService;
12
+ private readonly zipService;
13
+ private readonly gitService;
14
+ constructor(sdkWithSourceTree: DirectoryPath, sdkWithoutSourceTree: DirectoryPath, sourceTreePath: FilePath, trackChanges: boolean, skipChanges: boolean, hasSdkSourceTree: boolean);
15
+ saveSkippingChanges(): Promise<{
16
+ hasSkippedChangesEnabled: boolean;
17
+ hasSkippedCustomizations: boolean;
18
+ }>;
19
+ saveWithoutConflicts(): Promise<{
20
+ hasSourceTreeTracked: boolean;
21
+ hasSourceTreeAlreadyTracked: boolean;
22
+ hasAppliedCustomizations: boolean;
23
+ }>;
24
+ saveWithResolvedConflicts(): Promise<void>;
25
+ private saveSourceTree;
26
+ getConflictedFilesDirectory(): Promise<Directory>;
27
+ cleanUp(onCleanUpFailure: () => Promise<void>): Promise<void>;
28
+ }