@apimatic/cli 1.1.0-alpha.21 → 1.1.0-alpha.22
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 +112 -90
- package/lib/actions/action-result.d.ts +8 -3
- package/lib/actions/action-result.js +34 -15
- package/lib/actions/action-result.js.map +1 -1
- package/lib/actions/api/transform.d.ts +15 -0
- package/lib/actions/api/transform.js +48 -0
- package/lib/actions/api/transform.js.map +1 -0
- package/lib/actions/api/validate.d.ts +12 -0
- package/lib/actions/api/validate.js +41 -0
- package/lib/actions/api/validate.js.map +1 -0
- package/lib/actions/auth/login.d.ts +6 -5
- package/lib/actions/auth/login.js +25 -33
- package/lib/actions/auth/login.js.map +1 -1
- package/lib/actions/auth/logout.d.ts +8 -0
- package/lib/actions/auth/logout.js +15 -0
- package/lib/actions/auth/logout.js.map +1 -0
- package/lib/actions/auth/status.d.ts +11 -0
- package/lib/actions/auth/status.js +26 -0
- package/lib/actions/auth/status.js.map +1 -0
- package/lib/actions/portal/copilot.d.ts +5 -3
- package/lib/actions/portal/copilot.js +47 -37
- package/lib/actions/portal/copilot.js.map +1 -1
- package/lib/actions/portal/generate.d.ts +4 -5
- package/lib/actions/portal/generate.js +30 -37
- package/lib/actions/portal/generate.js.map +1 -1
- package/lib/actions/portal/quickstart.d.ts +16 -0
- package/lib/actions/portal/quickstart.js +145 -0
- package/lib/actions/portal/quickstart.js.map +1 -0
- package/lib/actions/portal/recipe/new-recipe.d.ts +11 -20
- package/lib/actions/portal/recipe/new-recipe.js +147 -221
- package/lib/actions/portal/recipe/new-recipe.js.map +1 -1
- package/lib/actions/portal/serve.d.ts +12 -10
- package/lib/actions/portal/serve.js +112 -17
- package/lib/actions/portal/serve.js.map +1 -1
- package/lib/actions/portal/toc/new-toc.d.ts +16 -15
- package/lib/actions/portal/toc/new-toc.js +80 -116
- package/lib/actions/portal/toc/new-toc.js.map +1 -1
- package/lib/actions/sdk/generate.d.ts +5 -6
- package/lib/actions/sdk/generate.js +22 -47
- package/lib/actions/sdk/generate.js.map +1 -1
- package/lib/application/portal/recipe/portal-recipe.d.ts +2 -2
- package/lib/application/portal/recipe/portal-recipe.js +9 -9
- package/lib/application/portal/recipe/portal-recipe.js.map +1 -1
- package/lib/application/portal/recipe/recipe-generator.d.ts +7 -2
- package/lib/application/portal/recipe/recipe-generator.js +21 -22
- package/lib/application/portal/recipe/recipe-generator.js.map +1 -1
- package/lib/client-utils/auth-manager.d.ts +1 -1
- package/lib/client-utils/auth-manager.js +3 -4
- package/lib/client-utils/auth-manager.js.map +1 -1
- package/lib/commands/api/transform.d.ts +6 -3
- package/lib/commands/api/transform.js +43 -94
- package/lib/commands/api/transform.js.map +1 -1
- package/lib/commands/api/validate.d.ts +6 -3
- package/lib/commands/api/validate.js +27 -66
- package/lib/commands/api/validate.js.map +1 -1
- package/lib/commands/auth/login.d.ts +2 -1
- package/lib/commands/auth/login.js +15 -9
- package/lib/commands/auth/login.js.map +1 -1
- package/lib/commands/auth/logout.d.ts +3 -1
- package/lib/commands/auth/logout.js +12 -13
- package/lib/commands/auth/logout.js.map +1 -1
- package/lib/commands/auth/status.d.ts +1 -0
- package/lib/commands/auth/status.js +13 -11
- package/lib/commands/auth/status.js.map +1 -1
- package/lib/commands/portal/copilot.d.ts +2 -2
- package/lib/commands/portal/copilot.js +22 -20
- package/lib/commands/portal/copilot.js.map +1 -1
- package/lib/commands/portal/generate.d.ts +3 -4
- package/lib/commands/portal/generate.js +19 -14
- package/lib/commands/portal/generate.js.map +1 -1
- package/lib/commands/portal/quickstart.d.ts +3 -4
- package/lib/commands/portal/quickstart.js +24 -101
- package/lib/commands/portal/quickstart.js.map +1 -1
- package/lib/commands/portal/recipe/new.d.ts +3 -1
- package/lib/commands/portal/recipe/new.js +31 -23
- package/lib/commands/portal/recipe/new.js.map +1 -1
- package/lib/commands/portal/serve.d.ts +5 -5
- package/lib/commands/portal/serve.js +31 -57
- package/lib/commands/portal/serve.js.map +1 -1
- package/lib/commands/portal/toc/new.d.ts +2 -2
- package/lib/commands/portal/toc/new.js +35 -26
- package/lib/commands/portal/toc/new.js.map +1 -1
- package/lib/commands/sdk/generate.d.ts +5 -4
- package/lib/commands/sdk/generate.js +26 -17
- package/lib/commands/sdk/generate.js.map +1 -1
- package/lib/hooks/not-found.js +1 -1
- package/lib/hooks/not-found.js.map +1 -1
- package/lib/infrastructure/api-utils.js +3 -2
- package/lib/infrastructure/api-utils.js.map +1 -1
- package/lib/{application/portal/serve/watcher-handler.d.ts → infrastructure/debounce-service.d.ts} +3 -3
- package/lib/{application/portal/serve/watcher-handler.js → infrastructure/debounce-service.js} +5 -4
- package/lib/infrastructure/debounce-service.js.map +1 -0
- package/lib/infrastructure/env-info.d.ts +1 -1
- package/lib/infrastructure/env-info.js +2 -2
- package/lib/infrastructure/env-info.js.map +1 -1
- package/lib/infrastructure/file-service.d.ts +7 -2
- package/lib/infrastructure/file-service.js +46 -5
- package/lib/infrastructure/file-service.js.map +1 -1
- package/lib/infrastructure/launcher-service.d.ts +2 -0
- package/lib/infrastructure/launcher-service.js +4 -0
- package/lib/infrastructure/launcher-service.js.map +1 -1
- package/lib/infrastructure/network-service.d.ts +3 -0
- package/lib/infrastructure/network-service.js +7 -0
- package/lib/infrastructure/network-service.js.map +1 -0
- package/lib/infrastructure/services/api-client-factory.d.ts +6 -0
- package/lib/infrastructure/services/api-client-factory.js +20 -0
- package/lib/infrastructure/services/api-client-factory.js.map +1 -0
- package/lib/infrastructure/services/api-service.d.ts +2 -2
- package/lib/infrastructure/services/api-service.js +6 -6
- package/lib/infrastructure/services/api-service.js.map +1 -1
- package/lib/infrastructure/services/auth-service.d.ts +1 -1
- package/lib/infrastructure/services/auth-service.js +7 -5
- package/lib/infrastructure/services/auth-service.js.map +1 -1
- package/lib/infrastructure/services/file-download-service.d.ts +15 -0
- package/lib/infrastructure/services/file-download-service.js +104 -0
- package/lib/infrastructure/services/file-download-service.js.map +1 -0
- package/lib/infrastructure/services/portal-service.d.ts +11 -13
- package/lib/infrastructure/services/portal-service.js +73 -102
- package/lib/infrastructure/services/portal-service.js.map +1 -1
- package/lib/infrastructure/services/telemetry-service.d.ts +3 -2
- package/lib/infrastructure/services/telemetry-service.js +4 -6
- package/lib/infrastructure/services/telemetry-service.js.map +1 -1
- package/lib/infrastructure/services/transformation-service.d.ts +23 -0
- package/lib/infrastructure/services/transformation-service.js +56 -0
- package/lib/infrastructure/services/transformation-service.js.map +1 -0
- package/lib/infrastructure/services/validation-service.d.ts +17 -0
- package/lib/infrastructure/services/validation-service.js +49 -0
- package/lib/infrastructure/services/validation-service.js.map +1 -0
- package/lib/prompts/api/transform.d.ts +11 -0
- package/lib/prompts/api/transform.js +30 -0
- package/lib/prompts/api/transform.js.map +1 -0
- package/lib/prompts/api/validate.d.ts +12 -0
- package/lib/prompts/api/validate.js +41 -0
- package/lib/prompts/api/validate.js.map +1 -0
- package/lib/prompts/auth/login.d.ts +6 -1
- package/lib/prompts/auth/login.js +12 -3
- package/lib/prompts/auth/login.js.map +1 -1
- package/lib/prompts/auth/logout.d.ts +3 -0
- package/lib/prompts/auth/logout.js +7 -0
- package/lib/prompts/auth/logout.js.map +1 -0
- package/lib/prompts/auth/status.d.ts +8 -0
- package/lib/prompts/auth/status.js +21 -0
- package/lib/prompts/auth/status.js.map +1 -0
- package/lib/prompts/format.d.ts +33 -0
- package/lib/prompts/format.js +99 -0
- package/lib/prompts/format.js.map +1 -0
- package/lib/prompts/portal/copilot.d.ts +8 -4
- package/lib/prompts/portal/copilot.js +35 -24
- package/lib/prompts/portal/copilot.js.map +1 -1
- package/lib/prompts/portal/generate.d.ts +9 -7
- package/lib/prompts/portal/generate.js +22 -23
- package/lib/prompts/portal/generate.js.map +1 -1
- package/lib/prompts/portal/quickstart.d.ts +30 -29
- package/lib/prompts/portal/quickstart.js +99 -193
- package/lib/prompts/portal/quickstart.js.map +1 -1
- package/lib/prompts/portal/recipe/new-recipe.d.ts +23 -18
- package/lib/prompts/portal/recipe/new-recipe.js +70 -108
- package/lib/prompts/portal/recipe/new-recipe.js.map +1 -1
- package/lib/prompts/portal/serve.d.ts +10 -3
- package/lib/prompts/portal/serve.js +30 -11
- package/lib/prompts/portal/serve.js.map +1 -1
- package/lib/prompts/portal/toc/new-toc.d.ts +12 -8
- package/lib/prompts/portal/toc/new-toc.js +20 -22
- package/lib/prompts/portal/toc/new-toc.js.map +1 -1
- package/lib/prompts/sdk/generate.d.ts +7 -7
- package/lib/prompts/sdk/generate.js +17 -23
- package/lib/prompts/sdk/generate.js.map +1 -1
- package/lib/types/api/account.d.ts +1 -1
- package/lib/types/api/transform.d.ts +14 -25
- package/lib/types/api/transform.js +16 -16
- package/lib/types/api/transform.js.map +1 -1
- package/lib/types/build/build.d.ts +9 -1
- package/lib/types/build/build.js +5 -2
- package/lib/types/build/build.js.map +1 -1
- package/lib/types/build-context.d.ts +5 -1
- package/lib/types/build-context.js +21 -4
- package/lib/types/build-context.js.map +1 -1
- package/lib/types/common/command-metadata.d.ts +4 -0
- package/lib/types/common/command-metadata.js +2 -0
- package/lib/types/common/command-metadata.js.map +1 -0
- package/lib/types/events/domain-event.d.ts +1 -1
- package/lib/types/events/domain-event.js.map +1 -1
- package/lib/types/events/quickstart-completed.js +1 -1
- package/lib/types/events/quickstart-initiated.js +1 -1
- package/lib/types/events/recipe-creation-failed.d.ts +1 -1
- package/lib/types/events/recipe-creation-failed.js +1 -1
- package/lib/types/events/recipe-creation-failed.js.map +1 -1
- package/lib/types/events/toc-creation-failed.d.ts +1 -1
- package/lib/types/events/toc-creation-failed.js +1 -1
- package/lib/types/events/toc-creation-failed.js.map +1 -1
- package/lib/types/file/directory.d.ts +17 -0
- package/lib/types/file/directory.js +86 -0
- package/lib/types/file/directory.js.map +1 -0
- package/lib/types/file/directoryPath.d.ts +3 -1
- package/lib/types/file/directoryPath.js +8 -2
- package/lib/types/file/directoryPath.js.map +1 -1
- package/lib/types/file/fileName.d.ts +2 -0
- package/lib/types/file/fileName.js +12 -0
- package/lib/types/file/fileName.js.map +1 -1
- package/lib/types/file/filePath.d.ts +2 -0
- package/lib/types/file/filePath.js +21 -0
- package/lib/types/file/filePath.js.map +1 -1
- package/lib/types/file/resource-input.d.ts +5 -0
- package/lib/types/file/resource-input.js +42 -0
- package/lib/types/file/resource-input.js.map +1 -0
- package/lib/types/file/urlPath.d.ts +6 -0
- package/lib/types/file/urlPath.js +22 -0
- package/lib/types/file/urlPath.js.map +1 -0
- package/lib/types/portal-context.d.ts +3 -1
- package/lib/types/portal-context.js +10 -0
- package/lib/types/portal-context.js.map +1 -1
- package/lib/types/recipe/recipe.d.ts +2 -17
- package/lib/types/recipe-context.d.ts +8 -0
- package/lib/types/recipe-context.js +21 -0
- package/lib/types/recipe-context.js.map +1 -0
- package/lib/types/resource-context.d.ts +12 -0
- package/lib/types/resource-context.js +30 -0
- package/lib/types/resource-context.js.map +1 -0
- package/lib/types/sdk/generate.d.ts +2 -15
- package/lib/types/sdk/generate.js +24 -10
- package/lib/types/sdk/generate.js.map +1 -1
- package/lib/types/sdk-context.d.ts +6 -5
- package/lib/types/sdk-context.js +12 -8
- package/lib/types/sdk-context.js.map +1 -1
- package/lib/types/sdl/sdl.d.ts +9 -0
- package/lib/types/sdl/sdl.js +46 -1
- package/lib/types/sdl/sdl.js.map +1 -1
- package/lib/types/spec-context.d.ts +3 -0
- package/lib/types/spec-context.js +7 -2
- package/lib/types/spec-context.js.map +1 -1
- package/lib/types/temp-context.d.ts +11 -0
- package/lib/types/temp-context.js +27 -0
- package/lib/types/temp-context.js.map +1 -0
- package/lib/types/toc-context.d.ts +12 -0
- package/lib/types/toc-context.js +26 -0
- package/lib/types/toc-context.js.map +1 -0
- package/lib/types/transform-context.d.ts +13 -0
- package/lib/types/transform-context.js +30 -0
- package/lib/types/transform-context.js.map +1 -0
- package/lib/types/utils.d.ts +0 -9
- package/lib/utils/string-utils.d.ts +1 -0
- package/lib/utils/string-utils.js +10 -0
- package/lib/utils/string-utils.js.map +1 -0
- package/lib/utils/utils.d.ts +2 -27
- package/lib/utils/utils.js +6 -145
- package/lib/utils/utils.js.map +1 -1
- package/package.json +4 -4
- package/lib/application/portal/serve/portal-watcher.d.ts +0 -11
- package/lib/application/portal/serve/portal-watcher.js +0 -64
- package/lib/application/portal/serve/portal-watcher.js.map +0 -1
- package/lib/application/portal/serve/serve-handler.d.ts +0 -16
- package/lib/application/portal/serve/serve-handler.js +0 -91
- package/lib/application/portal/serve/serve-handler.js.map +0 -1
- package/lib/application/portal/serve/watcher-handler.js.map +0 -1
- package/lib/application/portal/toc/sdl-parser.d.ts +0 -19
- package/lib/application/portal/toc/sdl-parser.js +0 -90
- package/lib/application/portal/toc/sdl-parser.js.map +0 -1
- package/lib/client-utils/sdk-client.d.ts +0 -18
- package/lib/client-utils/sdk-client.js +0 -41
- package/lib/client-utils/sdk-client.js.map +0 -1
- package/lib/config/env.d.ts +0 -26
- package/lib/config/env.js +0 -27
- package/lib/config/env.js.map +0 -1
- package/lib/controllers/api/transform.d.ts +0 -5
- package/lib/controllers/api/transform.js +0 -50
- package/lib/controllers/api/transform.js.map +0 -1
- package/lib/controllers/api/validate.d.ts +0 -3
- package/lib/controllers/api/validate.js +0 -29
- package/lib/controllers/api/validate.js.map +0 -1
- package/lib/controllers/portal/quickstart.d.ts +0 -13
- package/lib/controllers/portal/quickstart.js +0 -214
- package/lib/controllers/portal/quickstart.js.map +0 -1
- package/lib/infrastructure/api-client-utils.d.ts +0 -6
- package/lib/infrastructure/api-client-utils.js +0 -34
- package/lib/infrastructure/api-client-utils.js.map +0 -1
- package/lib/prompts/portal/common/base-prompts.d.ts +0 -7
- package/lib/prompts/portal/common/base-prompts.js +0 -19
- package/lib/prompts/portal/common/base-prompts.js.map +0 -1
- package/lib/types/api/validate.d.ts +0 -12
- package/lib/types/api/validate.js +0 -2
- package/lib/types/api/validate.js.map +0 -1
- package/lib/types/common/result.d.ts +0 -17
- package/lib/types/common/result.js +0 -32
- package/lib/types/common/result.js.map +0 -1
- package/lib/types/portal/generate.d.ts +0 -13
- package/lib/types/portal/generate.js +0 -3
- package/lib/types/portal/generate.js.map +0 -1
- package/lib/types/portal/quickstart.d.ts +0 -17
- package/lib/types/portal/quickstart.js +0 -2
- package/lib/types/portal/quickstart.js.map +0 -1
- package/lib/types/portal/serve.d.ts +0 -12
- package/lib/types/portal/serve.js +0 -2
- package/lib/types/portal/serve.js.map +0 -1
- package/lib/validators/common/directoryValidator.d.ts +0 -5
- package/lib/validators/common/directoryValidator.js +0 -22
- package/lib/validators/common/directoryValidator.js.map +0 -1
- package/lib/validators/portal/serve-validator.d.ts +0 -6
- package/lib/validators/portal/serve-validator.js +0 -15
- package/lib/validators/portal/serve-validator.js.map +0 -1
|
@@ -1,5 +1,10 @@
|
|
|
1
|
+
import { ServiceError } from "../../infrastructure/api-utils.js";
|
|
2
|
+
import { SubscriptionInfo } from "../../types/api/account.js";
|
|
3
|
+
import { Result } from "neverthrow";
|
|
1
4
|
export declare class LoginPrompts {
|
|
2
|
-
logError(error: string): void;
|
|
3
5
|
loginSuccessful(email: string): void;
|
|
4
6
|
openBrowser(): void;
|
|
7
|
+
invalidKeyProvided(serviceError: ServiceError): void;
|
|
8
|
+
loginTimeout(): void;
|
|
9
|
+
accountInfoSpinner(fn: Promise<Result<SubscriptionInfo, ServiceError>>): Promise<Result<SubscriptionInfo, ServiceError>>;
|
|
5
10
|
}
|
|
@@ -1,13 +1,22 @@
|
|
|
1
1
|
import { log } from "@clack/prompts";
|
|
2
|
+
import { getErrorMessage } from "../../infrastructure/api-utils.js";
|
|
3
|
+
import { withSpinner } from "../format.js";
|
|
2
4
|
export class LoginPrompts {
|
|
3
|
-
logError(error) {
|
|
4
|
-
log.error(error);
|
|
5
|
-
}
|
|
6
5
|
loginSuccessful(email) {
|
|
7
6
|
log.success(`Successfully logged in as ${email}`);
|
|
8
7
|
}
|
|
9
8
|
openBrowser() {
|
|
10
9
|
log.info("Please continue with authentication in the opened browser window.");
|
|
11
10
|
}
|
|
11
|
+
invalidKeyProvided(serviceError) {
|
|
12
|
+
const message = serviceError === "NETWORK_ERROR" /* ServiceError.NetworkError */ ? "Invalid API key provided." : getErrorMessage(serviceError);
|
|
13
|
+
log.error(message);
|
|
14
|
+
}
|
|
15
|
+
loginTimeout() {
|
|
16
|
+
log.error("Authentication timed out. Please try again.");
|
|
17
|
+
}
|
|
18
|
+
accountInfoSpinner(fn) {
|
|
19
|
+
return withSpinner("Retrieving your subscription info", "Retrieved subscription info", "Error retrieving subscription info", fn);
|
|
20
|
+
}
|
|
12
21
|
}
|
|
13
22
|
//# sourceMappingURL=login.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/prompts/auth/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/prompts/auth/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,eAAe,EAAgB,MAAM,mCAAmC,CAAC;AAGlF,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,OAAO,YAAY;IAChB,eAAe,CAAC,KAAa;QAClC,GAAG,CAAC,OAAO,CAAC,6BAA6B,KAAK,EAAE,CAAC,CAAC;IACpD,CAAC;IAEM,WAAW;QAChB,GAAG,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;IAChF,CAAC;IAEM,kBAAkB,CAAC,YAA0B;QAClD,MAAM,OAAO,GACX,YAAY,oDAA8B,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAC3G,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAEM,YAAY;QACjB,GAAG,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAC3D,CAAC;IAEM,kBAAkB,CAAC,EAAmD;QAC3E,OAAO,WAAW,CAChB,mCAAmC,EACnC,6BAA6B,EAC7B,oCAAoC,EACpC,EAAE,CACH,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logout.js","sourceRoot":"","sources":["../../../src/prompts/auth/logout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAGrC,MAAM,OAAO,aAAa;IAEjB,cAAc;QACnB,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACvC,CAAC;CACF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Result } from "neverthrow";
|
|
2
|
+
import { SubscriptionInfo } from "../../types/api/account.js";
|
|
3
|
+
import { ServiceError } from "../../infrastructure/api-utils.js";
|
|
4
|
+
export declare class StatusPrompts {
|
|
5
|
+
accountInfoSpinner(fn: Promise<Result<SubscriptionInfo, ServiceError>>): Promise<Result<SubscriptionInfo, ServiceError>>;
|
|
6
|
+
invalidKeyProvided(serviceError: ServiceError): void;
|
|
7
|
+
showAccountInfo(info: SubscriptionInfo): void;
|
|
8
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { getErrorMessage } from "../../infrastructure/api-utils.js";
|
|
2
|
+
import { format, withSpinner } from "../format.js";
|
|
3
|
+
import { log } from "@clack/prompts";
|
|
4
|
+
import { mapLanguages } from "../../types/sdk/generate.js";
|
|
5
|
+
export class StatusPrompts {
|
|
6
|
+
accountInfoSpinner(fn) {
|
|
7
|
+
return withSpinner("Retrieving your subscription info", "Retrieved subscription info", "Error retrieving subscription info", fn);
|
|
8
|
+
}
|
|
9
|
+
invalidKeyProvided(serviceError) {
|
|
10
|
+
const message = serviceError === "UNAUTHORIZED" /* ServiceError.UnAuthorized */ ? "Invalid API key provided." : getErrorMessage(serviceError);
|
|
11
|
+
log.error(message);
|
|
12
|
+
}
|
|
13
|
+
showAccountInfo(info) {
|
|
14
|
+
const languages = mapLanguages(info.allowedLanguages);
|
|
15
|
+
const message = `Account Information:
|
|
16
|
+
Email: ${format.var(info.Email)}
|
|
17
|
+
Allowed Languages: ${languages.map((language) => format.var(language)).join(", ")}`;
|
|
18
|
+
log.info(`${message}`);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/prompts/auth/status.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAgB,MAAM,mCAAmC,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,MAAM,OAAO,aAAa;IACjB,kBAAkB,CAAC,EAAmD;QAC3E,OAAO,WAAW,CAChB,mCAAmC,EACnC,6BAA6B,EAC7B,oCAAoC,EACpC,EAAE,CACH,CAAC;IACJ,CAAC;IAEM,kBAAkB,CAAC,YAA0B;QAClD,MAAM,OAAO,GACX,YAAY,mDAA8B,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAC3G,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAEM,eAAe,CAAC,IAAsB;QAC3C,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG;WACT,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;uBACV,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAClF,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC;IACzB,CAAC;CACF"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Result } from "neverthrow";
|
|
2
|
+
import { ActionResult } from "../actions/action-result.js";
|
|
3
|
+
import { Directory } from "../types/file/directory.js";
|
|
4
|
+
import { DirectoryPath } from "../types/file/directoryPath.js";
|
|
5
|
+
import { FilePath } from "../types/file/filePath.js";
|
|
6
|
+
export declare const format: {
|
|
7
|
+
var: (text: string) => string;
|
|
8
|
+
path: (text: DirectoryPath | FilePath) => string;
|
|
9
|
+
cmd: (cmd: string, ...args: string[]) => string;
|
|
10
|
+
cmdAlt: (cmd: string, ...args: string[]) => string;
|
|
11
|
+
link: (text: string) => string;
|
|
12
|
+
description: (text: string) => string;
|
|
13
|
+
flag: (name: string, value?: string | undefined) => string;
|
|
14
|
+
success: (text: string) => string;
|
|
15
|
+
error: (text: string) => string;
|
|
16
|
+
info: (text: string) => string;
|
|
17
|
+
intro: (text: string) => string;
|
|
18
|
+
outroSuccess: (text: string) => string;
|
|
19
|
+
outroFailure: (text: string) => string;
|
|
20
|
+
outroCancelled: (text: string) => string;
|
|
21
|
+
};
|
|
22
|
+
export declare function intro(text: string): void;
|
|
23
|
+
export declare function outro(result: ActionResult): void;
|
|
24
|
+
export declare function withSpinner<T, E>(intro: string, success: string, failure: string, fn: Promise<Result<T, E>>): Promise<Result<T, E>>;
|
|
25
|
+
export declare function getDirectoryTree(dir: Directory, prefix?: string, isLast?: boolean): string;
|
|
26
|
+
export interface LeafNode {
|
|
27
|
+
name: string;
|
|
28
|
+
description?: string;
|
|
29
|
+
}
|
|
30
|
+
export interface TreeNode extends LeafNode {
|
|
31
|
+
items: Array<TreeNode | LeafNode>;
|
|
32
|
+
}
|
|
33
|
+
export declare function getTree(dir: TreeNode, prefix?: string, isLast?: boolean): string;
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import pc from "picocolors";
|
|
2
|
+
import { intro as i, outro as o, spinner } from '@clack/prompts';
|
|
3
|
+
import { Directory } from "../types/file/directory.js";
|
|
4
|
+
export const format = {
|
|
5
|
+
// Core element types
|
|
6
|
+
var: (text) => pc.magenta(`'${text}'`),
|
|
7
|
+
path: (text) => pc.cyan(`'${text}'`),
|
|
8
|
+
cmd: (cmd, ...args) => `${pc.blueBright(cmd)} ${args.map(arg => pc.dim(arg)).join(" ")}`,
|
|
9
|
+
cmdAlt: (cmd, ...args) => `${pc.blueBright(cmd)} ${args.map(arg => pc.blueBright(arg)).join(" ")}`,
|
|
10
|
+
link: (text) => pc.underline(pc.blueBright(text)),
|
|
11
|
+
description: (text) => pc.greenBright(`${text}`),
|
|
12
|
+
flag: (name, value = undefined) => {
|
|
13
|
+
if (value) {
|
|
14
|
+
return `${pc.green(`--${name}`)}=${pc.dim(value)}`;
|
|
15
|
+
}
|
|
16
|
+
return `${pc.green(`--${name}`)}`;
|
|
17
|
+
},
|
|
18
|
+
// Common message styles
|
|
19
|
+
success: (text) => pc.green(text),
|
|
20
|
+
error: (text) => pc.red(text),
|
|
21
|
+
info: (text) => pc.cyan(text),
|
|
22
|
+
intro: (text) => pc.bgCyan(text),
|
|
23
|
+
outroSuccess: (text) => pc.bgGreen(text),
|
|
24
|
+
outroFailure: (text) => pc.bgRed(text),
|
|
25
|
+
outroCancelled: (text) => pc.bgWhite(pc.blackBright(text)),
|
|
26
|
+
};
|
|
27
|
+
export function intro(text) {
|
|
28
|
+
i(format.intro(` ${text} `));
|
|
29
|
+
}
|
|
30
|
+
export function outro(result) {
|
|
31
|
+
const exitCode = result.getExitCode();
|
|
32
|
+
const message = result.getMessage();
|
|
33
|
+
const outroMessage = result.mapAll(() => format.outroSuccess(message), () => format.outroFailure(message), () => format.outroCancelled(message));
|
|
34
|
+
o(outroMessage);
|
|
35
|
+
process.exitCode = exitCode;
|
|
36
|
+
}
|
|
37
|
+
export async function withSpinner(intro, success, failure, fn) {
|
|
38
|
+
const s = spinner({
|
|
39
|
+
cancelMessage: "cancelled",
|
|
40
|
+
errorMessage: "failed",
|
|
41
|
+
frames: ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'],
|
|
42
|
+
});
|
|
43
|
+
s.start(intro);
|
|
44
|
+
const result = await fn;
|
|
45
|
+
result.match(() => s.stop(success, 0), () => s.stop(failure, 1));
|
|
46
|
+
return result;
|
|
47
|
+
}
|
|
48
|
+
export function getDirectoryTree(dir, prefix = "", isLast = true) {
|
|
49
|
+
const folderDescription = {
|
|
50
|
+
spec: "# Contains all API definition files",
|
|
51
|
+
content: "# Includes custom documentation pages in Markdown",
|
|
52
|
+
static: "# Includes all static files, such as images, GIFs, and PDFs"
|
|
53
|
+
};
|
|
54
|
+
const fileDescriptions = {
|
|
55
|
+
"toc.yml": "# Controls the structure of the side navigation bar in the API portal",
|
|
56
|
+
"APIMATIC-BUILD.json": "# Defines all configurations for the API portal, including programming languages and themes"
|
|
57
|
+
};
|
|
58
|
+
const pointer = isLast ? "└─ " : "├─ ";
|
|
59
|
+
const folderName = dir.directoryPath.leafName();
|
|
60
|
+
const description = folderDescription[folderName] ? format.description(folderDescription[folderName]) : "";
|
|
61
|
+
let output = `${prefix}${pointer}${folderName}${description ? " " + description : ""}\n`;
|
|
62
|
+
const items = dir.items;
|
|
63
|
+
const newPrefix = prefix + (isLast ? " " : "| ");
|
|
64
|
+
items.forEach((item, index) => {
|
|
65
|
+
const last = index === items.length - 1;
|
|
66
|
+
if (item instanceof Directory) {
|
|
67
|
+
output += getDirectoryTree(item, newPrefix, last);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
const filePointer = last ? "└─ " : "├─ ";
|
|
71
|
+
const fileName = item.toString();
|
|
72
|
+
const fileDescription = fileDescriptions[fileName] ? format.description(fileDescriptions[fileName]) : "";
|
|
73
|
+
output += `${newPrefix}${filePointer}${fileName}${fileDescription ? " " + fileDescription : ""}\n`;
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
return output;
|
|
77
|
+
}
|
|
78
|
+
export function getTree(dir, prefix = "", isLast = true) {
|
|
79
|
+
const pointer = isLast ? "└─ " : "├─ ";
|
|
80
|
+
const folderName = dir.name;
|
|
81
|
+
const description = dir.description ? format.description(dir.description) : "";
|
|
82
|
+
let output = `${prefix}${pointer}${folderName}${description ? " " + description : ""}\n`;
|
|
83
|
+
const items = dir.items;
|
|
84
|
+
const newPrefix = prefix + (isLast ? " " : "| ");
|
|
85
|
+
items.forEach((item, index) => {
|
|
86
|
+
const last = index === items.length - 1;
|
|
87
|
+
if ('items' in item) {
|
|
88
|
+
output += getTree(item, newPrefix, last);
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
const filePointer = last ? "└─ " : "├─ ";
|
|
92
|
+
const fileName = item.name;
|
|
93
|
+
const fileDescription = item.description ? format.description(item.description) : "";
|
|
94
|
+
output += `${newPrefix}${filePointer}${fileName}${fileDescription ? " " + fileDescription : ""}\n`;
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
return output;
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/prompts/format.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
import { Result } from "neverthrow";
|
|
2
2
|
import { SubscriptionInfo } from "../../types/api/account.js";
|
|
3
3
|
import { ServiceError } from "../../infrastructure/api-utils.js";
|
|
4
|
+
import { DirectoryPath } from "../../types/file/directoryPath.js";
|
|
4
5
|
export declare class PortalCopilotPrompts {
|
|
5
|
-
openWelcomeMessageEditor(): void;
|
|
6
6
|
displayApiCopilotKeyUsageWarning(): Promise<void>;
|
|
7
|
+
openWelcomeMessageEditor(): void;
|
|
7
8
|
selectCopilotKey(keys: string[]): Promise<string | null>;
|
|
8
9
|
copilotConfigured(status: boolean, copilotId: string): void;
|
|
9
10
|
confirmOverwrite(): Promise<boolean>;
|
|
10
|
-
|
|
11
|
-
spinnerAccountInfo(fn: () => Promise<Result<SubscriptionInfo, ServiceError>>): Promise<Result<SubscriptionInfo, ServiceError>>;
|
|
12
|
-
private withSpinner;
|
|
11
|
+
spinnerAccountInfo(fn: Promise<Result<SubscriptionInfo, ServiceError>>): Promise<Result<SubscriptionInfo, ServiceError>>;
|
|
13
12
|
confirmSingleKeyUsage(apiCopilotKey: string): Promise<boolean>;
|
|
13
|
+
srcDirectoryEmpty(directory: DirectoryPath): void;
|
|
14
|
+
cancelled(): void;
|
|
15
|
+
serviceError(serviceError: ServiceError): void;
|
|
16
|
+
noCopilotKeyFound(): void;
|
|
17
|
+
noCopilotKeySelected(): void;
|
|
14
18
|
}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { confirm, isCancel, log,
|
|
2
|
-
import {
|
|
1
|
+
import { confirm, isCancel, log, note, select } from "@clack/prompts";
|
|
2
|
+
import { getErrorMessage } from "../../infrastructure/api-utils.js";
|
|
3
|
+
import { format as f, withSpinner } from "../format.js";
|
|
3
4
|
export class PortalCopilotPrompts {
|
|
5
|
+
async displayApiCopilotKeyUsageWarning() {
|
|
6
|
+
log.warn("API Copilot can only be active on one Portal at a time. Configuring it on this Portal will disable it on any previously configured Portal.");
|
|
7
|
+
}
|
|
4
8
|
openWelcomeMessageEditor() {
|
|
5
9
|
log.step("Opening markdown editor for you to enter welcome message in...");
|
|
6
10
|
}
|
|
7
|
-
async displayApiCopilotKeyUsageWarning() {
|
|
8
|
-
log.warn('API Copilot can only be active on one Portal at a time. Configuring it on this Portal will disable it on any previously configured Portal.');
|
|
9
|
-
}
|
|
10
11
|
async selectCopilotKey(keys) {
|
|
11
12
|
const selectedKey = await select({
|
|
12
13
|
message: "Select the ID for the API Copilot you would like to add to this API Portal:",
|
|
@@ -22,16 +23,20 @@ export class PortalCopilotPrompts {
|
|
|
22
23
|
return selectedKey;
|
|
23
24
|
}
|
|
24
25
|
copilotConfigured(status, copilotId) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
Copilot ID: ${getMessageInCyanColor(copilotId)}
|
|
28
|
-
Status: ${getMessageInCyanColor(status ? "Enabled" : "Disabled")}
|
|
26
|
+
log.info(`API Copilot configured successfully!
|
|
29
27
|
|
|
30
|
-
|
|
28
|
+
Copilot ID: ${f.var(copilotId)}
|
|
29
|
+
Status: ${f.var(status ? "Enabled" : "Disabled")}
|
|
31
30
|
|
|
32
|
-
|
|
31
|
+
Configuration saved to: ${f.var("APIMATIC-BUILD.json")}`);
|
|
32
|
+
note(`API Copilot will index your content the next time you run
|
|
33
|
+
'${f.cmdAlt("apimatic", "portal", "generate")}' or '${f.cmdAlt("apimatic", "portal", "serve")}'.
|
|
34
|
+
This process can take up to 10 minutes, depending on your API’s size.
|
|
33
35
|
|
|
34
|
-
To see your copilot: If your portal is already running, refresh the page.
|
|
36
|
+
To see your copilot: If your portal is already running, refresh the page.
|
|
37
|
+
Otherwise, run '${f.cmdAlt("apimatic", "portal", "serve")}',
|
|
38
|
+
select any programming language in the Portal and
|
|
39
|
+
look for the chat icon in the bottom-right corner.`, `Next Steps`);
|
|
35
40
|
}
|
|
36
41
|
async confirmOverwrite() {
|
|
37
42
|
const shouldOverwrite = await confirm({
|
|
@@ -43,23 +48,13 @@ To see your copilot: If your portal is already running, refresh the page. Otherw
|
|
|
43
48
|
}
|
|
44
49
|
return shouldOverwrite;
|
|
45
50
|
}
|
|
46
|
-
logError(error) {
|
|
47
|
-
log.error(error);
|
|
48
|
-
}
|
|
49
51
|
async spinnerAccountInfo(fn) {
|
|
50
|
-
return
|
|
51
|
-
}
|
|
52
|
-
async withSpinner(intro, success, failure, fn) {
|
|
53
|
-
const s = spinner();
|
|
54
|
-
s.start(intro);
|
|
55
|
-
const result = await fn();
|
|
56
|
-
result.match(() => s.stop(success, 0), () => s.stop(failure, 1));
|
|
57
|
-
return result;
|
|
52
|
+
return withSpinner("Retrieving your subscription info", "Subscription info retrieved", "Subscription info retrieval failed", fn);
|
|
58
53
|
}
|
|
59
54
|
async confirmSingleKeyUsage(apiCopilotKey) {
|
|
60
55
|
const confirmKeyUsage = await confirm({
|
|
61
56
|
message: "API Copilot can only be active on one Portal at a time. Configuring it on this Portal will disable it on any previously configured Portal.\n" +
|
|
62
|
-
`Do you want to use this key:
|
|
57
|
+
`Do you want to use this key: ${f.var(apiCopilotKey)}?`,
|
|
63
58
|
initialValue: true
|
|
64
59
|
});
|
|
65
60
|
if (isCancel(confirmKeyUsage)) {
|
|
@@ -67,5 +62,21 @@ To see your copilot: If your portal is already running, refresh the page. Otherw
|
|
|
67
62
|
}
|
|
68
63
|
return confirmKeyUsage;
|
|
69
64
|
}
|
|
65
|
+
srcDirectoryEmpty(directory) {
|
|
66
|
+
const message = `The ${f.var("src")} directory is either empty or invalid: ${f.path(directory)}`;
|
|
67
|
+
log.error(message);
|
|
68
|
+
}
|
|
69
|
+
cancelled() {
|
|
70
|
+
log.warning("Exiting without making any change.");
|
|
71
|
+
}
|
|
72
|
+
serviceError(serviceError) {
|
|
73
|
+
log.error(getErrorMessage(serviceError));
|
|
74
|
+
}
|
|
75
|
+
noCopilotKeyFound() {
|
|
76
|
+
log.error(`No copilot key found for the current subscription. Please contact support at ${f.var("support@apimatic.io")}.`);
|
|
77
|
+
}
|
|
78
|
+
noCopilotKeySelected() {
|
|
79
|
+
log.error("No API Copilot key was selected.");
|
|
80
|
+
}
|
|
70
81
|
}
|
|
71
82
|
//# sourceMappingURL=copilot.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copilot.js","sourceRoot":"","sources":["../../../src/prompts/portal/copilot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"copilot.js","sourceRoot":"","sources":["../../../src/prompts/portal/copilot.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { DirectoryPath } from "../../types/file/directoryPath.js";
|
|
2
|
+
import { Result } from "neverthrow";
|
|
3
|
+
import { FilePath } from "../../types/file/filePath.js";
|
|
2
4
|
export declare class PortalGeneratePrompts {
|
|
3
|
-
private readonly spin;
|
|
4
5
|
overwritePortal(directory: DirectoryPath): Promise<boolean>;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
directoryCannotBeSame(directory: DirectoryPath): void;
|
|
7
|
+
srcDirectoryEmpty(directory: DirectoryPath): void;
|
|
8
|
+
portalDirectoryNotEmpty(): void;
|
|
9
|
+
generatePortal(fn: Promise<Result<NodeJS.ReadableStream, string | NodeJS.ReadableStream>>): Promise<Result<NodeJS.ReadableStream, string | NodeJS.ReadableStream>>;
|
|
10
|
+
portalGenerationError(error: string): void;
|
|
11
|
+
portalGenerationErrorWithReport(reportPath: FilePath): void;
|
|
12
|
+
portalGenerated(portal: DirectoryPath): void;
|
|
11
13
|
}
|
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { isCancel, confirm, log } from "@clack/prompts";
|
|
2
|
+
import { format as f, withSpinner } from "../format.js";
|
|
3
3
|
export class PortalGeneratePrompts {
|
|
4
|
-
constructor() {
|
|
5
|
-
this.spin = spinner();
|
|
6
|
-
}
|
|
7
4
|
async overwritePortal(directory) {
|
|
8
5
|
const overwrite = await confirm({
|
|
9
|
-
message: `The destination
|
|
6
|
+
message: `The destination ${f.path(directory)} is not empty, do you want to overwrite?`,
|
|
10
7
|
initialValue: false
|
|
11
8
|
});
|
|
12
9
|
if (isCancel(overwrite)) {
|
|
@@ -14,29 +11,31 @@ export class PortalGeneratePrompts {
|
|
|
14
11
|
}
|
|
15
12
|
return overwrite;
|
|
16
13
|
}
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
directoryCannotBeSame(directory) {
|
|
15
|
+
const message = `The ${f.var("src")} and ${f.var("portal")} directories must be different. Current value: ${f.path(directory)}`;
|
|
16
|
+
log.error(message);
|
|
19
17
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
18
|
+
srcDirectoryEmpty(directory) {
|
|
19
|
+
const message = `The ${f.var("src")} directory is either empty or invalid: ${f.path(directory)}`;
|
|
20
|
+
log.error(message);
|
|
23
21
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
22
|
+
portalDirectoryNotEmpty() {
|
|
23
|
+
const message = `Please enter a different destination folder or remove the existing files and try again.`;
|
|
24
|
+
log.error(message);
|
|
27
25
|
}
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
generatePortal(fn) {
|
|
27
|
+
return withSpinner("Generating portal", "Portal generated successfully.", "Portal Generation failed.", fn);
|
|
30
28
|
}
|
|
31
|
-
|
|
29
|
+
portalGenerationError(error) {
|
|
32
30
|
log.error(error);
|
|
33
31
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
32
|
+
portalGenerationErrorWithReport(reportPath) {
|
|
33
|
+
const message = `An error occurred during portal generation.
|
|
34
|
+
A report has been written at the destination path ${f.path(reportPath)}`;
|
|
35
|
+
log.error(message);
|
|
36
|
+
}
|
|
37
|
+
portalGenerated(portal) {
|
|
38
|
+
log.info(`Portal artifacts can be found at ${f.path(portal)}.`);
|
|
40
39
|
}
|
|
41
40
|
}
|
|
42
41
|
//# sourceMappingURL=generate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/prompts/portal/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/prompts/portal/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAIxD,MAAM,OAAO,qBAAqB;IACzB,KAAK,CAAC,eAAe,CAAC,SAAwB;QACnD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC;YAC9B,OAAO,EAAE,mBAAmB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,0CAA0C;YACvF,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,qBAAqB,CAAC,SAAwB;QACnD,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,kDAAkD,CAAC,CAAC,IAAI,CAChH,SAAS,CACV,EAAE,CAAC;QACJ,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAEM,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,uBAAuB;QAC5B,MAAM,OAAO,GAAG,yFAAyF,CAAC;QAC1G,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAEM,cAAc,CAAC,EAA0E;QAC9F,OAAO,WAAW,CAAC,mBAAmB,EAAE,gCAAgC,EAAE,2BAA2B,EAAE,EAAE,CAAC,CAAC;IAC7G,CAAC;IAEM,qBAAqB,CAAC,KAAa;QACxC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IAED,+BAA+B,CAAC,UAAoB;QAClD,MAAM,OAAO,GAAG;oDACgC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACrE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAEM,eAAe,CAAC,MAAqB;QAC1C,GAAG,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAClE,CAAC;CACF"}
|
|
@@ -1,30 +1,31 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
1
|
+
import { Result } from "neverthrow";
|
|
2
|
+
import { UrlPath } from "../../types/file/urlPath.js";
|
|
3
|
+
import { DirectoryPath } from "../../types/file/directoryPath.js";
|
|
4
|
+
import { ServiceError } from "../../infrastructure/api-utils.js";
|
|
5
|
+
import { Directory } from "../../types/file/directory.js";
|
|
6
|
+
import { ResourceInput } from "../../types/file/resource-input.js";
|
|
7
|
+
import { FileDownloadResponse } from "../../infrastructure/services/file-download-service.js";
|
|
8
|
+
export declare class PortalQuickstartPrompts {
|
|
9
|
+
welcomeMessage(): void;
|
|
10
|
+
importSpecStep(): void;
|
|
11
|
+
specPathPrompt(defaultSpecUrl: UrlPath): Promise<ResourceInput | undefined>;
|
|
12
|
+
specFileDoesNotExist(): void;
|
|
13
|
+
noSpecSpecified(): void;
|
|
14
|
+
useDefaultSpecPrompt(): Promise<boolean>;
|
|
15
|
+
fixYourSpec(): void;
|
|
16
|
+
validateSpecStep(): void;
|
|
17
|
+
selectLanguagesStep(): void;
|
|
18
|
+
selectLanguagesPrompt(): Promise<string[] | undefined>;
|
|
19
|
+
noLanguagesSelected(): void;
|
|
20
|
+
selectInputDirectoryStep(): void;
|
|
21
|
+
inputDirectoryPathPrompt(): Promise<DirectoryPath | undefined>;
|
|
22
|
+
inputDirectoryPathDoesNotExist(inputDirectory: DirectoryPath): void;
|
|
23
|
+
inputDirectoryNotEmpty(inputDirectory: DirectoryPath): void;
|
|
24
|
+
noInputDirectoryProvided(): void;
|
|
25
|
+
downloadBuildDirectory(fn: Promise<Result<FileDownloadResponse, ServiceError>>): Promise<Result<FileDownloadResponse, ServiceError>>;
|
|
26
|
+
downloadSpecFile(fn: Promise<Result<FileDownloadResponse, ServiceError>>): Promise<Result<FileDownloadResponse, ServiceError>>;
|
|
27
|
+
nextSteps(): void;
|
|
28
|
+
serviceError(error: ServiceError): void;
|
|
29
|
+
printDirectoryStructure(inputDirectory: DirectoryPath, directory: Directory): void;
|
|
30
|
+
specValidationFailed(): void;
|
|
30
31
|
}
|