@apimatic/cli 1.1.0-beta.2 → 1.1.0-beta.4
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.
- package/README.md +6 -1
- package/lib/actions/action-result.d.ts +12 -6
- package/lib/actions/action-result.js +36 -10
- package/lib/actions/action-result.js.map +1 -1
- package/lib/actions/api/validate.d.ts +3 -1
- package/lib/actions/api/validate.js +14 -3
- package/lib/actions/api/validate.js.map +1 -1
- package/lib/actions/portal/copilot.js +2 -2
- package/lib/actions/portal/quickstart.d.ts +1 -0
- package/lib/actions/portal/quickstart.js +21 -0
- package/lib/actions/portal/quickstart.js.map +1 -1
- package/lib/actions/portal/toc/new-toc.d.ts +5 -5
- package/lib/actions/portal/toc/new-toc.js +41 -40
- package/lib/actions/portal/toc/new-toc.js.map +1 -1
- package/lib/actions/sdk/quickstart.d.ts +1 -0
- package/lib/actions/sdk/quickstart.js +20 -0
- package/lib/actions/sdk/quickstart.js.map +1 -1
- package/lib/application/portal/toc/toc-structure-generator.d.ts +6 -2
- package/lib/application/portal/toc/toc-structure-generator.js +102 -60
- package/lib/application/portal/toc/toc-structure-generator.js.map +1 -1
- package/lib/commands/portal/toc/new.d.ts +5 -3
- package/lib/commands/portal/toc/new.js +32 -24
- package/lib/commands/portal/toc/new.js.map +1 -1
- package/lib/infrastructure/services/portal-service.js +1 -1
- package/lib/infrastructure/services/portal-service.js.map +1 -1
- package/lib/infrastructure/services/validation-service.d.ts +28 -2
- package/lib/infrastructure/services/validation-service.js +108 -15
- package/lib/infrastructure/services/validation-service.js.map +1 -1
- package/lib/prompts/api/validate.d.ts +5 -2
- package/lib/prompts/api/validate.js +36 -0
- package/lib/prompts/api/validate.js.map +1 -1
- package/lib/prompts/format.d.ts +1 -1
- package/lib/prompts/format.js.map +1 -1
- package/lib/prompts/portal/quickstart.d.ts +3 -0
- package/lib/prompts/portal/quickstart.js +39 -2
- package/lib/prompts/portal/quickstart.js.map +1 -1
- package/lib/prompts/portal/toc/new-toc.d.ts +1 -1
- package/lib/prompts/portal/toc/new-toc.js +10 -2
- package/lib/prompts/portal/toc/new-toc.js.map +1 -1
- package/lib/prompts/sdk/quickstart.d.ts +3 -0
- package/lib/prompts/sdk/quickstart.js +39 -2
- package/lib/prompts/sdk/quickstart.js.map +1 -1
- package/lib/types/sdl/sdl.d.ts +20 -3
- package/lib/types/sdl/sdl.js +120 -22
- package/lib/types/sdl/sdl.js.map +1 -1
- package/lib/types/toc/toc.d.ts +31 -6
- package/lib/utils/string-utils.d.ts +1 -0
- package/lib/utils/string-utils.js +42 -0
- package/lib/utils/string-utils.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -24,7 +24,7 @@ $ npm install -g @apimatic/cli
|
|
|
24
24
|
$ apimatic COMMAND
|
|
25
25
|
running command...
|
|
26
26
|
$ apimatic (--version)
|
|
27
|
-
@apimatic/cli/1.
|
|
27
|
+
@apimatic/cli/1.1.0-beta.3 win32-x64 node-v23.4.0
|
|
28
28
|
$ apimatic --help [COMMAND]
|
|
29
29
|
USAGE
|
|
30
30
|
$ apimatic COMMAND
|
|
@@ -349,16 +349,21 @@ Generate a Table of Contents (TOC) file for your API documentation portal
|
|
|
349
349
|
```
|
|
350
350
|
USAGE
|
|
351
351
|
$ apimatic portal toc new [-d <value>] [-i <value>] [-f] [--expand-endpoints] [--expand-models]
|
|
352
|
+
[--expand-webhooks] [--expand-callbacks]
|
|
352
353
|
|
|
353
354
|
FLAGS
|
|
354
355
|
-d, --destination=<value> [default: <input>/src/content] path where the toc.yml will be generated.
|
|
355
356
|
-f, --force overwrite changes without asking for user consent.
|
|
356
357
|
-i, --input=<value> [default: ./] path to the parent directory containing the 'src' directory, which includes
|
|
357
358
|
API specifications and configuration files.
|
|
359
|
+
--expand-callbacks include individual entries for each callback in the generated 'toc.yml'. Requires a valid
|
|
360
|
+
API specification in the working directory.
|
|
358
361
|
--expand-endpoints include individual entries for each endpoint in the generated 'toc.yml'. Requires a valid
|
|
359
362
|
API specification in the working directory.
|
|
360
363
|
--expand-models include individual entries for each model in the generated 'toc.yml'. Requires a valid API
|
|
361
364
|
specification in the working directory.
|
|
365
|
+
--expand-webhooks include individual entries for each webhook in the generated 'toc.yml'. Requires a valid
|
|
366
|
+
API specification in the working directory.
|
|
362
367
|
|
|
363
368
|
DESCRIPTION
|
|
364
369
|
Generate a Table of Contents (TOC) file for your API documentation portal
|
|
@@ -1,13 +1,19 @@
|
|
|
1
|
-
export declare class ActionResult {
|
|
1
|
+
export declare class ActionResult<T = void> {
|
|
2
2
|
private readonly message;
|
|
3
3
|
private readonly resultType;
|
|
4
|
+
private readonly value?;
|
|
4
5
|
private constructor();
|
|
5
|
-
static success(): ActionResult
|
|
6
|
-
static failed(): ActionResult
|
|
7
|
-
static cancelled(): ActionResult
|
|
8
|
-
static stopped(): ActionResult
|
|
6
|
+
static success<T>(value?: T): ActionResult<T>;
|
|
7
|
+
static failed<T = never>(message?: string): ActionResult<T>;
|
|
8
|
+
static cancelled<T = never>(message?: string): ActionResult<T>;
|
|
9
|
+
static stopped<T = never>(message?: string): ActionResult<T>;
|
|
9
10
|
getMessage(): string;
|
|
10
11
|
getExitCode(): number;
|
|
11
12
|
isFailed(): boolean;
|
|
12
|
-
|
|
13
|
+
isSuccess(): boolean;
|
|
14
|
+
isCancelled(): boolean;
|
|
15
|
+
match<R>(onSuccess: (value: T) => R, onFailure: (message: string) => R, onCancel: (message: string) => R): R;
|
|
16
|
+
getValue(): T;
|
|
17
|
+
getValueOr(defaultValue: T): T;
|
|
18
|
+
mapAll<R>(onSuccess: (value?: T) => R, onFailure: () => R, onCancel: () => R): R;
|
|
13
19
|
}
|
|
@@ -5,21 +5,22 @@ var ResultType;
|
|
|
5
5
|
ResultType[ResultType["Failure"] = 1] = "Failure";
|
|
6
6
|
})(ResultType || (ResultType = {}));
|
|
7
7
|
export class ActionResult {
|
|
8
|
-
constructor(resultType, message) {
|
|
8
|
+
constructor(resultType, message, value) {
|
|
9
9
|
this.resultType = resultType;
|
|
10
10
|
this.message = message;
|
|
11
|
+
this.value = value;
|
|
11
12
|
}
|
|
12
|
-
static success() {
|
|
13
|
-
return new ActionResult(ResultType.Success, "
|
|
13
|
+
static success(value) {
|
|
14
|
+
return new ActionResult(ResultType.Success, "Succeeded", value);
|
|
14
15
|
}
|
|
15
|
-
static failed() {
|
|
16
|
-
return new ActionResult(ResultType.Failure,
|
|
16
|
+
static failed(message = "Failed") {
|
|
17
|
+
return new ActionResult(ResultType.Failure, message);
|
|
17
18
|
}
|
|
18
|
-
static cancelled() {
|
|
19
|
-
return new ActionResult(ResultType.Cancel,
|
|
19
|
+
static cancelled(message = "Cancelled") {
|
|
20
|
+
return new ActionResult(ResultType.Cancel, message);
|
|
20
21
|
}
|
|
21
|
-
static stopped() {
|
|
22
|
-
return new ActionResult(ResultType.Cancel,
|
|
22
|
+
static stopped(message = "Stopped") {
|
|
23
|
+
return new ActionResult(ResultType.Cancel, message);
|
|
23
24
|
}
|
|
24
25
|
getMessage() {
|
|
25
26
|
return this.message;
|
|
@@ -30,10 +31,35 @@ export class ActionResult {
|
|
|
30
31
|
isFailed() {
|
|
31
32
|
return this.resultType === ResultType.Failure;
|
|
32
33
|
}
|
|
34
|
+
isSuccess() {
|
|
35
|
+
return this.resultType === ResultType.Success;
|
|
36
|
+
}
|
|
37
|
+
isCancelled() {
|
|
38
|
+
return this.resultType === ResultType.Cancel;
|
|
39
|
+
}
|
|
40
|
+
match(onSuccess, onFailure, onCancel) {
|
|
41
|
+
switch (this.resultType) {
|
|
42
|
+
case ResultType.Success:
|
|
43
|
+
return onSuccess(this.value);
|
|
44
|
+
case ResultType.Failure:
|
|
45
|
+
return onFailure(this.message);
|
|
46
|
+
case ResultType.Cancel:
|
|
47
|
+
return onCancel(this.message);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
getValue() {
|
|
51
|
+
if (!this.isSuccess()) {
|
|
52
|
+
throw new Error(`Cannot unwrap ${ResultType[this.resultType]} result: ${this.message}`);
|
|
53
|
+
}
|
|
54
|
+
return this.value;
|
|
55
|
+
}
|
|
56
|
+
getValueOr(defaultValue) {
|
|
57
|
+
return this.isSuccess() ? this.value : defaultValue;
|
|
58
|
+
}
|
|
33
59
|
mapAll(onSuccess, onFailure, onCancel) {
|
|
34
60
|
switch (this.resultType) {
|
|
35
61
|
case ResultType.Success:
|
|
36
|
-
return onSuccess();
|
|
62
|
+
return onSuccess(this.value);
|
|
37
63
|
case ResultType.Failure:
|
|
38
64
|
return onFailure();
|
|
39
65
|
case ResultType.Cancel:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-result.js","sourceRoot":"","sources":["../../src/actions/action-result.ts"],"names":[],"mappings":"AAAA,IAAK,UAIJ;AAJD,WAAK,UAAU;IACb,
|
|
1
|
+
{"version":3,"file":"action-result.js","sourceRoot":"","sources":["../../src/actions/action-result.ts"],"names":[],"mappings":"AAAA,IAAK,UAIJ;AAJD,WAAK,UAAU;IACb,iDAAW,CAAA;IACX,iDAAY,CAAA;IACZ,iDAAW,CAAA;AACb,CAAC,EAJI,UAAU,KAAV,UAAU,QAId;AAED,MAAM,OAAO,YAAY;IAKvB,YAAoB,UAAsB,EAAE,OAAe,EAAE,KAAS;QACpE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,OAAO,CAAI,KAAS;QACzB,OAAO,IAAI,YAAY,CAAI,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,CAAC,MAAM,CAAY,OAAO,GAAG,QAAQ;QACzC,OAAO,IAAI,YAAY,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,SAAS,CAAY,OAAO,GAAG,WAAW;QAC/C,OAAO,IAAI,YAAY,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,OAAO,CAAY,OAAO,GAAG,SAAS;QAC3C,OAAO,IAAI,YAAY,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEM,WAAW;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;IACnC,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,OAAO,CAAC;IAChD,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,OAAO,CAAC;IAChD,CAAC;IAEM,WAAW;QAChB,OAAO,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,MAAM,CAAC;IAC/C,CAAC;IAEM,KAAK,CACV,SAA0B,EAC1B,SAAiC,EACjC,QAAgC;QAEhC,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;YACxB,KAAK,UAAU,CAAC,OAAO;gBACrB,OAAO,SAAS,CAAC,IAAI,CAAC,KAAM,CAAC,CAAC;YAChC,KAAK,UAAU,CAAC,OAAO;gBACrB,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjC,KAAK,UAAU,CAAC,MAAM;gBACpB,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAEM,QAAQ;QACb,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,iBAAiB,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1F,CAAC;QACD,OAAO,IAAI,CAAC,KAAM,CAAC;IACrB,CAAC;IAEM,UAAU,CAAC,YAAe;QAC/B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAM,CAAC,CAAC,CAAC,YAAY,CAAC;IACvD,CAAC;IAEM,MAAM,CACX,SAA2B,EAC3B,SAAkB,EAClB,QAAiB;QAEjB,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;YACxB,KAAK,UAAU,CAAC,OAAO;gBACrB,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,KAAK,UAAU,CAAC,OAAO;gBACrB,OAAO,SAAS,EAAE,CAAC;YACrB,KAAK,UAAU,CAAC,MAAM;gBACpB,OAAO,QAAQ,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { DirectoryPath } from "../../types/file/directoryPath.js";
|
|
2
2
|
import { ActionResult } from "../action-result.js";
|
|
3
|
+
import { UnallowedFeaturesResponse } from "../../infrastructure/services/validation-service.js";
|
|
3
4
|
import { CommandMetadata } from "../../types/common/command-metadata.js";
|
|
4
5
|
import { ResourceInput } from "../../types/file/resource-input.js";
|
|
5
6
|
export declare class ValidateAction {
|
|
@@ -8,5 +9,6 @@ export declare class ValidateAction {
|
|
|
8
9
|
private readonly authKey;
|
|
9
10
|
private readonly commandMetadata;
|
|
10
11
|
constructor(configDir: DirectoryPath, commandMetadata: CommandMetadata, authKey?: string | null);
|
|
11
|
-
readonly execute: (resourcePath: ResourceInput, displayValidationSummary?: boolean) => Promise<ActionResult
|
|
12
|
+
readonly execute: (resourcePath: ResourceInput, displayValidationSummary?: boolean) => Promise<ActionResult<UnallowedFeaturesResponse | null>>;
|
|
13
|
+
private hasValidationIssues;
|
|
12
14
|
}
|
|
@@ -25,17 +25,28 @@ export class ValidateAction {
|
|
|
25
25
|
}
|
|
26
26
|
const validationSummary = validationSummaryResult.value;
|
|
27
27
|
if (displayValidationSummary) {
|
|
28
|
-
this.
|
|
28
|
+
if (this.hasValidationIssues(validationSummary.result.validation)) {
|
|
29
|
+
this.prompts.displayValidationSummary(validationSummary.result.validation);
|
|
30
|
+
}
|
|
31
|
+
if (this.hasValidationIssues(validationSummary.result.linting)) {
|
|
32
|
+
this.prompts.displayValidationSummary(validationSummary.result.linting);
|
|
33
|
+
}
|
|
29
34
|
}
|
|
30
|
-
if (!validationSummary.
|
|
35
|
+
if (!validationSummary.result.validation.isSuccess || !validationSummary.result.linting.isSuccess) {
|
|
31
36
|
return ActionResult.failed();
|
|
32
37
|
}
|
|
33
|
-
return ActionResult.success();
|
|
38
|
+
return ActionResult.success(validationSummary.unallowedFeatures);
|
|
34
39
|
});
|
|
35
40
|
};
|
|
36
41
|
this.authKey = authKey;
|
|
37
42
|
this.validationService = new ValidationService(configDir);
|
|
38
43
|
this.commandMetadata = commandMetadata;
|
|
39
44
|
}
|
|
45
|
+
hasValidationIssues(summary) {
|
|
46
|
+
return (summary.blocking.length > 0 ||
|
|
47
|
+
summary.errors.length > 0 ||
|
|
48
|
+
summary.warnings.length > 0 ||
|
|
49
|
+
summary.information.length > 0);
|
|
50
|
+
}
|
|
40
51
|
}
|
|
41
52
|
//# sourceMappingURL=validate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/actions/api/validate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/actions/api/validate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAA6B,iBAAiB,EAAE,MAAM,qDAAqD,CAAC;AAGnH,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGlE,MAAM,OAAO,cAAc;IAMzB,YAAY,SAAwB,EAAE,eAAgC,EAAE,UAAyB,IAAI;QALpF,YAAO,GAAuB,IAAI,kBAAkB,EAAE,CAAC;QAWxD,YAAO,GAAG,KAAK,EAC7B,YAA2B,EAC3B,wBAAwB,GAAG,IAAI,EAC0B,EAAE;YAC3D,OAAO,MAAM,WAAW,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE;gBAC/C,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,aAAa,CAAC,CAAC;gBAC3D,MAAM,iBAAiB,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;gBACxE,IAAI,iBAAiB,CAAC,KAAK,EAAE,EAAE,CAAC;oBAC9B,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;oBACnD,OAAO,YAAY,CAAC,MAAM,EAAE,CAAC;gBAC/B,CAAC;gBACD,MAAM,uBAAuB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAC5D,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC;oBACrC,IAAI,EAAE,iBAAiB,CAAC,KAAK;oBAC7B,eAAe,EAAE,IAAI,CAAC,eAAe;oBACrC,OAAO,EAAE,IAAI,CAAC,OAAO;iBACtB,CAAC,CACH,CAAC;gBAEF,IAAI,uBAAuB,CAAC,KAAK,EAAE,EAAE,CAAC;oBACpC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;oBAC/D,OAAO,YAAY,CAAC,MAAM,EAAE,CAAC;gBAC/B,CAAC;gBACD,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,KAAK,CAAC;gBACxD,IAAI,wBAAwB,EAAE,CAAC;oBAC7B,IAAI,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;wBAClE,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBAC7E,CAAC;oBACD,IAAI,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC/D,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAC1E,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;oBAClG,OAAO,YAAY,CAAC,MAAM,EAAE,CAAC;gBAC/B,CAAC;gBACD,OAAO,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;YACnE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QA1CA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IAyCO,mBAAmB,CAAC,OAA0B;QACpD,OAAO,CACL,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YAC3B,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAC/B,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -76,8 +76,8 @@ export class CopilotAction {
|
|
|
76
76
|
"\n" +
|
|
77
77
|
"Ask me anything about this API or try one of these example prompts:\n" +
|
|
78
78
|
"\n" +
|
|
79
|
-
"
|
|
80
|
-
"
|
|
79
|
+
"- `What authentication methods does this API support?`\n" +
|
|
80
|
+
"- `[Enter another prompt here]`";
|
|
81
81
|
await this.fileService.writeContents(tempFile, defaultContent);
|
|
82
82
|
this.prompts.openWelcomeMessageEditor();
|
|
83
83
|
await this.launcherService.openInEditor(tempFile);
|
|
@@ -11,6 +11,7 @@ export declare class PortalQuickstartAction {
|
|
|
11
11
|
private readonly buildFileUrl;
|
|
12
12
|
private readonly defaultSpecUrl;
|
|
13
13
|
private readonly repositoryFolderName;
|
|
14
|
+
private readonly validationService;
|
|
14
15
|
constructor(configDir: DirectoryPath, commandMetadata: CommandMetadata);
|
|
15
16
|
readonly execute: () => Promise<ActionResult>;
|
|
16
17
|
}
|
|
@@ -13,6 +13,8 @@ import { TempContext } from "../../types/temp-context.js";
|
|
|
13
13
|
import { FileDownloadService } from "../../infrastructure/services/file-download-service.js";
|
|
14
14
|
import { getLanguagesConfig } from "../../types/build/build.js";
|
|
15
15
|
import { SpecContext } from "../../types/spec-context.js";
|
|
16
|
+
import { ValidationService } from "../../infrastructure/services/validation-service.js";
|
|
17
|
+
import { FileName } from "../../types/file/fileName.js";
|
|
16
18
|
const defaultPort = 3000;
|
|
17
19
|
export class PortalQuickstartAction {
|
|
18
20
|
constructor(configDir, commandMetadata) {
|
|
@@ -32,6 +34,7 @@ export class PortalQuickstartAction {
|
|
|
32
34
|
}
|
|
33
35
|
}
|
|
34
36
|
return await withDirPath(async (tempDirectory) => {
|
|
37
|
+
var _a;
|
|
35
38
|
// Step 1/4
|
|
36
39
|
this.prompts.importSpecStep();
|
|
37
40
|
let specPath;
|
|
@@ -80,6 +83,23 @@ export class PortalQuickstartAction {
|
|
|
80
83
|
specPath = await specContext.save(downloadFileResult.value.stream, downloadFileResult.value.filename);
|
|
81
84
|
}
|
|
82
85
|
}
|
|
86
|
+
const unallowed = validationResult.getValue();
|
|
87
|
+
if (unallowed && (((_a = unallowed.Features) === null || _a === void 0 ? void 0 : _a.length) > 0 || unallowed.EndpointCount > unallowed.EndpointLimit)) {
|
|
88
|
+
const config = {
|
|
89
|
+
features: unallowed.Features.filter((name) => !!name),
|
|
90
|
+
endpointsToKeep: unallowed.EndpointLimit
|
|
91
|
+
};
|
|
92
|
+
const stripUnallowedFeaturesResult = await this.validationService.stripUnallowedFeatures(specPath, config);
|
|
93
|
+
if (stripUnallowedFeaturesResult.isErr()) {
|
|
94
|
+
this.prompts.splitSpecDetected(unallowed);
|
|
95
|
+
return ActionResult.failed();
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
this.prompts.stripUnallowedFeaturesStep(unallowed);
|
|
99
|
+
const specContext = new SpecContext(tempDirectory);
|
|
100
|
+
specPath = await specContext.save(stripUnallowedFeaturesResult.value, new FileName("pruned-spec.zip"));
|
|
101
|
+
}
|
|
102
|
+
}
|
|
83
103
|
// Step 3/4
|
|
84
104
|
this.prompts.selectLanguagesStep();
|
|
85
105
|
const languages = await this.prompts.selectLanguagesPrompt();
|
|
@@ -141,6 +161,7 @@ export class PortalQuickstartAction {
|
|
|
141
161
|
};
|
|
142
162
|
this.configDir = configDir;
|
|
143
163
|
this.commandMetadata = commandMetadata;
|
|
164
|
+
this.validationService = new ValidationService(this.configDir);
|
|
144
165
|
}
|
|
145
166
|
}
|
|
146
167
|
//# sourceMappingURL=quickstart.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quickstart.js","sourceRoot":"","sources":["../../../src/actions/portal/quickstart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAE7E,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wDAAwD,CAAC;AAC7F,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"quickstart.js","sourceRoot":"","sources":["../../../src/actions/portal/quickstart.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { TocGroup } from
|
|
2
|
-
import { DirectoryPath } from
|
|
3
|
-
import { CommandMetadata } from
|
|
4
|
-
import { ActionResult } from
|
|
1
|
+
import { TocGroup } from '../../../types/toc/toc.js';
|
|
2
|
+
import { DirectoryPath } from '../../../types/file/directoryPath.js';
|
|
3
|
+
import { CommandMetadata } from '../../../types/common/command-metadata.js';
|
|
4
|
+
import { ActionResult } from '../../action-result.js';
|
|
5
5
|
export declare class ContentContext {
|
|
6
6
|
private readonly contentDirectory;
|
|
7
7
|
private readonly fileService;
|
|
@@ -17,5 +17,5 @@ export declare class PortalNewTocAction {
|
|
|
17
17
|
private readonly fileService;
|
|
18
18
|
private readonly portalService;
|
|
19
19
|
constructor(configDirectory: DirectoryPath, commandMetadata: CommandMetadata);
|
|
20
|
-
execute(buildDirectory: DirectoryPath, tocDirectory?: DirectoryPath, force?: boolean, expandEndpoints?: boolean, expandModels?: boolean): Promise<ActionResult>;
|
|
20
|
+
execute(buildDirectory: DirectoryPath, tocDirectory?: DirectoryPath, force?: boolean, expandEndpoints?: boolean, expandModels?: boolean, expandWebhooks?: boolean, expandCallbacks?: boolean): Promise<ActionResult>;
|
|
21
21
|
}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import { PortalService } from "../../../infrastructure/services/portal-service.js";
|
|
1
|
+
import { PortalNewTocPrompts } from '../../../prompts/portal/toc/new-toc.js';
|
|
2
|
+
import { TocStructureGenerator } from '../../../application/portal/toc/toc-structure-generator.js';
|
|
3
|
+
import { ActionResult } from '../../action-result.js';
|
|
4
|
+
import { TocContext } from '../../../types/toc-context.js';
|
|
5
|
+
import { FileService } from '../../../infrastructure/file-service.js';
|
|
6
|
+
import { BuildContext } from '../../../types/build-context.js';
|
|
7
|
+
import { extractCallbacksForToc, extractEndpointGroupsForToc, extractModelsForToc, extractWebhooksForToc } from '../../../types/sdl/sdl.js';
|
|
8
|
+
import { withDirPath } from '../../../infrastructure/tmp-extensions.js';
|
|
9
|
+
import { TempContext } from '../../../types/temp-context.js';
|
|
10
|
+
import { PortalService } from '../../../infrastructure/services/portal-service.js';
|
|
12
11
|
export class ContentContext {
|
|
13
12
|
constructor(contentDirectory) {
|
|
14
13
|
this.contentDirectory = contentDirectory;
|
|
@@ -31,7 +30,7 @@ export class PortalNewTocAction {
|
|
|
31
30
|
this.fileService = new FileService();
|
|
32
31
|
this.portalService = new PortalService();
|
|
33
32
|
}
|
|
34
|
-
async execute(buildDirectory, tocDirectory, force = false, expandEndpoints = false, expandModels = false) {
|
|
33
|
+
async execute(buildDirectory, tocDirectory, force = false, expandEndpoints = false, expandModels = false, expandWebhooks = false, expandCallbacks = false) {
|
|
35
34
|
var _a, _b;
|
|
36
35
|
// Validate build directory
|
|
37
36
|
const buildContext = new BuildContext(buildDirectory);
|
|
@@ -40,43 +39,45 @@ export class PortalNewTocAction {
|
|
|
40
39
|
return ActionResult.failed();
|
|
41
40
|
}
|
|
42
41
|
const buildConfig = await buildContext.getBuildFileContents();
|
|
43
|
-
const contentDirectory = buildDirectory.join((_b = (_a = buildConfig.generatePortal) === null || _a === void 0 ? void 0 : _a.contentFolder) !== null && _b !== void 0 ? _b :
|
|
42
|
+
const contentDirectory = buildDirectory.join((_b = (_a = buildConfig.generatePortal) === null || _a === void 0 ? void 0 : _a.contentFolder) !== null && _b !== void 0 ? _b : 'content');
|
|
44
43
|
const tocDir = tocDirectory !== null && tocDirectory !== void 0 ? tocDirectory : contentDirectory;
|
|
45
44
|
const tocContext = new TocContext(tocDir);
|
|
46
45
|
if (!force && (await tocContext.exists()) && !(await this.prompts.overwriteToc(tocContext.tocPath))) {
|
|
47
46
|
this.prompts.tocFileAlreadyExists();
|
|
48
47
|
return ActionResult.cancelled();
|
|
49
48
|
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
const sdlTocComponents = await (async () => {
|
|
50
|
+
const defaultComponents = {
|
|
51
|
+
endpointGroups: new Map(),
|
|
52
|
+
models: [],
|
|
53
|
+
webhookGroups: new Map(),
|
|
54
|
+
callbackGroups: new Map()
|
|
55
|
+
};
|
|
56
|
+
if (!expandEndpoints && !expandModels && !expandWebhooks && !expandCallbacks) {
|
|
57
|
+
return defaultComponents;
|
|
58
|
+
}
|
|
59
|
+
const specDirectory = buildDirectory.join('spec');
|
|
53
60
|
if (!(await this.fileService.directoryExists(specDirectory))) {
|
|
54
61
|
this.prompts.fallingBackToDefault();
|
|
62
|
+
return defaultComponents;
|
|
55
63
|
}
|
|
56
|
-
|
|
57
|
-
const
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
return ok({ endpointGroups: new Map(), models: [] });
|
|
66
|
-
}
|
|
67
|
-
return ok(getEndpointGroupsAndModels(result.value));
|
|
68
|
-
}
|
|
69
|
-
finally {
|
|
70
|
-
specFileStream.close();
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
if (sdlResult.isErr()) {
|
|
74
|
-
this.prompts.logError(sdlResult.error);
|
|
75
|
-
return ActionResult.failed();
|
|
64
|
+
return await withDirPath(async (tempDirectory) => {
|
|
65
|
+
const tempContext = new TempContext(tempDirectory);
|
|
66
|
+
const specZipPath = await tempContext.zip(specDirectory);
|
|
67
|
+
const specFileStream = await this.fileService.getStream(specZipPath);
|
|
68
|
+
const result = await this.prompts.extractComponents(this.portalService.generateSdl(specFileStream, this.configDirectory, this.commandMetadata), expandEndpoints, expandModels, expandWebhooks, expandCallbacks);
|
|
69
|
+
specFileStream.close();
|
|
70
|
+
if (result.isErr()) {
|
|
71
|
+
this.prompts.fallingBackToDefault();
|
|
72
|
+
return defaultComponents;
|
|
76
73
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
74
|
+
const endpointGroups = expandEndpoints ? extractEndpointGroupsForToc(result.value) : new Map();
|
|
75
|
+
const models = expandModels ? extractModelsForToc(result.value) : [];
|
|
76
|
+
const webhookGroups = expandWebhooks ? extractWebhooksForToc(result.value) : new Map();
|
|
77
|
+
const callbackGroups = expandCallbacks ? extractCallbacksForToc(result.value) : new Map();
|
|
78
|
+
return { endpointGroups, models, webhookGroups, callbackGroups };
|
|
79
|
+
});
|
|
80
|
+
})();
|
|
80
81
|
const contentContext = new ContentContext(contentDirectory);
|
|
81
82
|
const contentExists = await contentContext.exists();
|
|
82
83
|
let contentGroups;
|
|
@@ -87,7 +88,7 @@ export class PortalNewTocAction {
|
|
|
87
88
|
else {
|
|
88
89
|
contentGroups = await contentContext.extractContentGroups();
|
|
89
90
|
}
|
|
90
|
-
const toc = this.tocGenerator.createTocStructure(
|
|
91
|
+
const toc = this.tocGenerator.createTocStructure(sdlTocComponents.endpointGroups, sdlTocComponents.models, sdlTocComponents.webhookGroups, sdlTocComponents.callbackGroups, contentGroups);
|
|
91
92
|
const yamlString = this.tocGenerator.transformToYaml(toc);
|
|
92
93
|
const tocFilePath = await tocContext.save(yamlString);
|
|
93
94
|
this.prompts.tocCreated(tocFilePath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"new-toc.js","sourceRoot":"","sources":["../../../../src/actions/portal/toc/new-toc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"new-toc.js","sourceRoot":"","sources":["../../../../src/actions/portal/toc/new-toc.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ export declare class SdkQuickstartAction {
|
|
|
9
9
|
private readonly fileService;
|
|
10
10
|
private readonly launcherService;
|
|
11
11
|
private readonly zipService;
|
|
12
|
+
private readonly validationService;
|
|
12
13
|
constructor(configDir: DirectoryPath, commandMetadata: CommandMetadata);
|
|
13
14
|
readonly execute: () => Promise<ActionResult>;
|
|
14
15
|
}
|
|
@@ -13,6 +13,7 @@ import { GenerateAction } from "./generate.js";
|
|
|
13
13
|
import { LauncherService } from "../../infrastructure/launcher-service.js";
|
|
14
14
|
import { ZipService } from "../../infrastructure/zip-service.js";
|
|
15
15
|
import { FileName } from "../../types/file/fileName.js";
|
|
16
|
+
import { ValidationService } from "../../infrastructure/services/validation-service.js";
|
|
16
17
|
const defaultSpecUrl = new UrlPath(`https://raw.githubusercontent.com/apimatic/sample-docs-as-code-portal/refs/heads/master/src/spec/openapi.json`);
|
|
17
18
|
const metadataFileUrl = new UrlPath(`https://raw.githubusercontent.com/apimatic/sample-docs-as-code-portal/refs/heads/master/src/spec/APIMATIC-META.json`);
|
|
18
19
|
export class SdkQuickstartAction {
|
|
@@ -24,6 +25,7 @@ export class SdkQuickstartAction {
|
|
|
24
25
|
this.fileService = new FileService();
|
|
25
26
|
this.launcherService = new LauncherService();
|
|
26
27
|
this.zipService = new ZipService();
|
|
28
|
+
this.validationService = new ValidationService(this.configDir);
|
|
27
29
|
this.execute = async () => {
|
|
28
30
|
const storedAuth = await getAuthInfo(this.configDir.toString());
|
|
29
31
|
if (!(storedAuth === null || storedAuth === void 0 ? void 0 : storedAuth.authKey)) {
|
|
@@ -33,6 +35,7 @@ export class SdkQuickstartAction {
|
|
|
33
35
|
}
|
|
34
36
|
}
|
|
35
37
|
return await withDirPath(async (tempDirectory) => {
|
|
38
|
+
var _a;
|
|
36
39
|
// Step 1/4
|
|
37
40
|
this.prompts.importSpecStep();
|
|
38
41
|
let specPath;
|
|
@@ -81,6 +84,23 @@ export class SdkQuickstartAction {
|
|
|
81
84
|
specPath = await specContext.save(downloadFileResult.value.stream, downloadFileResult.value.filename);
|
|
82
85
|
}
|
|
83
86
|
}
|
|
87
|
+
const unallowed = validationResult.getValue();
|
|
88
|
+
if (unallowed && (((_a = unallowed.Features) === null || _a === void 0 ? void 0 : _a.length) > 0 || unallowed.EndpointCount > unallowed.EndpointLimit)) {
|
|
89
|
+
const config = {
|
|
90
|
+
features: unallowed.Features.filter((name) => !!name),
|
|
91
|
+
endpointsToKeep: unallowed.EndpointLimit
|
|
92
|
+
};
|
|
93
|
+
const stripUnallowedFeaturesResult = await this.validationService.stripUnallowedFeatures(specPath, config);
|
|
94
|
+
if (stripUnallowedFeaturesResult.isErr()) {
|
|
95
|
+
this.prompts.splitSpecDetected(unallowed);
|
|
96
|
+
return ActionResult.failed();
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
this.prompts.stripUnallowedFeaturesStep(unallowed);
|
|
100
|
+
const specContext = new SpecContext(tempDirectory);
|
|
101
|
+
specPath = await specContext.save(stripUnallowedFeaturesResult.value, new FileName("pruned-spec.zip"));
|
|
102
|
+
}
|
|
103
|
+
}
|
|
84
104
|
// Step 3/4
|
|
85
105
|
this.prompts.selectLanguageStep();
|
|
86
106
|
const language = await this.prompts.selectLanguagePrompt();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quickstart.js","sourceRoot":"","sources":["../../../src/actions/sdk/quickstart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wDAAwD,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"quickstart.js","sourceRoot":"","sources":["../../../src/actions/sdk/quickstart.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
import { Toc, TocGroup,
|
|
1
|
+
import { Toc, TocGroup, TocModelPage, TocCallbackPage, TocWebhookPage, TocEndpoint } from '../../../types/toc/toc.js';
|
|
2
2
|
export declare class TocStructureGenerator {
|
|
3
|
-
createTocStructure(endpointGroups: Map<string, TocEndpoint[]>, models:
|
|
3
|
+
createTocStructure(endpointGroups: Map<string, TocEndpoint[]>, models: TocModelPage[], webhookGroups: Map<string, TocWebhookPage[]>, callbackGroups: Map<string, TocCallbackPage[]>, contentGroups?: TocGroup[]): Toc;
|
|
4
4
|
transformToYaml(toc: Toc): string;
|
|
5
|
+
private getEndpointsSection;
|
|
6
|
+
private getCallbacksSection;
|
|
7
|
+
private getWebhooksSection;
|
|
8
|
+
private getModelsSection;
|
|
5
9
|
private transformKeys;
|
|
6
10
|
}
|