@apimatic/cli 1.1.0-alpha.20 → 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 +119 -91
- 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 +7 -2
- package/lib/actions/portal/copilot.js +72 -32
- package/lib/actions/portal/copilot.js.map +1 -1
- package/lib/actions/portal/generate.d.ts +5 -5
- package/lib/actions/portal/generate.js +33 -35
- 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 -91
- 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 -60
- 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 +3 -2
- package/lib/commands/portal/copilot.js +23 -21
- package/lib/commands/portal/copilot.js.map +1 -1
- package/lib/commands/portal/generate.d.ts +3 -4
- package/lib/commands/portal/generate.js +18 -13
- package/lib/commands/portal/generate.js.map +1 -1
- package/lib/commands/portal/quickstart.d.ts +3 -4
- package/lib/commands/portal/quickstart.js +27 -95
- 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.d.ts +3 -0
- package/lib/hooks/not-found.js +52 -0
- package/lib/hooks/not-found.js.map +1 -0
- package/lib/hooks/utils.d.ts +5 -0
- package/lib/hooks/utils.js +51 -0
- package/lib/hooks/utils.js.map +1 -0
- 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 +5 -1
- package/lib/infrastructure/env-info.js +23 -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 +49 -8
- package/lib/infrastructure/file-service.js.map +1 -1
- package/lib/infrastructure/launcher-service.d.ts +7 -0
- package/lib/infrastructure/launcher-service.js +51 -0
- package/lib/infrastructure/launcher-service.js.map +1 -0
- 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 +8 -7
- 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 +10 -6
- 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 +12 -11
- package/lib/infrastructure/services/portal-service.js +77 -83
- 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 +15 -5
- package/lib/prompts/portal/copilot.js +49 -21
- 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.d.ts +7 -0
- package/lib/types/events/quickstart-completed.js +10 -0
- package/lib/types/events/quickstart-completed.js.map +1 -0
- package/lib/types/events/quickstart-initiated.d.ts +7 -0
- package/lib/types/events/quickstart-initiated.js +10 -0
- package/lib/types/events/quickstart-initiated.js.map +1 -0
- 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 +3 -1
- package/lib/types/file/fileName.js +14 -2
- 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 +11 -10
- 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 -22
- package/lib/client-utils/sdk-client.js +0 -89
- 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 -15
- package/lib/controllers/portal/quickstart.js +0 -217
- package/lib/controllers/portal/quickstart.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
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { log } from "@clack/prompts";
|
|
2
|
+
import { replaceHTML } from "../../utils/utils.js";
|
|
3
|
+
import { withSpinner } from "../format.js";
|
|
4
|
+
import { getErrorMessage } from "../../infrastructure/api-utils.js";
|
|
5
|
+
import { format as f } from "../format.js";
|
|
6
|
+
export class ApiValidatePrompts {
|
|
7
|
+
async validateApi(fn) {
|
|
8
|
+
return withSpinner("Validating API", "API validation completed", "API validation failed", fn);
|
|
9
|
+
}
|
|
10
|
+
displayValidationMessages({ warnings, errors, messages }) {
|
|
11
|
+
if (messages.length > 0) {
|
|
12
|
+
log.info("Messages");
|
|
13
|
+
messages.forEach((msg) => {
|
|
14
|
+
log.message(`${replaceHTML(msg)}`);
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
if (warnings.length > 0) {
|
|
18
|
+
log.warning("Warnings");
|
|
19
|
+
warnings.forEach((war) => {
|
|
20
|
+
log.message(`${replaceHTML(war)}`);
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
if (errors.length > 0) {
|
|
24
|
+
log.error("Errors");
|
|
25
|
+
errors.forEach((err) => {
|
|
26
|
+
log.message(`${replaceHTML(err)}`);
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
logValidationError(error) {
|
|
31
|
+
log.error(error);
|
|
32
|
+
}
|
|
33
|
+
networkError(serviceError) {
|
|
34
|
+
const message = getErrorMessage(serviceError);
|
|
35
|
+
log.error(message);
|
|
36
|
+
}
|
|
37
|
+
transformedApiSaved(filePath) {
|
|
38
|
+
log.info(`Transformed API has been saved to ${f.path(filePath)}.`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=validate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/prompts/api/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAgB,MAAM,mCAAmC,CAAC;AAElF,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,OAAO,kBAAkB;IACtB,KAAK,CAAC,WAAW,CAAC,EAAiD;QACxE,OAAO,WAAW,CAAC,gBAAgB,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,yBAAyB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAsB;QAC1E,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACrB,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACvB,GAAG,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACxB,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACvB,GAAG,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACpB,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACrB,GAAG,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,kBAAkB,CAAC,KAAa;QAC9B,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IAEM,YAAY,CAAC,YAA0B;QAC5C,MAAM,OAAO,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;QAC9C,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAEM,mBAAmB,CAAC,QAAkB;QAC3C,GAAG,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACrE,CAAC;CACF"}
|
|
@@ -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,8 +1,18 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Result } from "neverthrow";
|
|
2
|
+
import { SubscriptionInfo } from "../../types/api/account.js";
|
|
3
|
+
import { ServiceError } from "../../infrastructure/api-utils.js";
|
|
4
|
+
import { DirectoryPath } from "../../types/file/directoryPath.js";
|
|
2
5
|
export declare class PortalCopilotPrompts {
|
|
3
|
-
|
|
4
|
-
|
|
6
|
+
displayApiCopilotKeyUsageWarning(): Promise<void>;
|
|
7
|
+
openWelcomeMessageEditor(): void;
|
|
8
|
+
selectCopilotKey(keys: string[]): Promise<string | null>;
|
|
9
|
+
copilotConfigured(status: boolean, copilotId: string): void;
|
|
5
10
|
confirmOverwrite(): Promise<boolean>;
|
|
6
|
-
|
|
7
|
-
|
|
11
|
+
spinnerAccountInfo(fn: Promise<Result<SubscriptionInfo, ServiceError>>): Promise<Result<SubscriptionInfo, ServiceError>>;
|
|
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;
|
|
8
18
|
}
|
|
@@ -1,6 +1,13 @@
|
|
|
1
|
-
import {
|
|
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
|
+
}
|
|
8
|
+
openWelcomeMessageEditor() {
|
|
9
|
+
log.step("Opening markdown editor for you to enter welcome message in...");
|
|
10
|
+
}
|
|
4
11
|
async selectCopilotKey(keys) {
|
|
5
12
|
const selectedKey = await select({
|
|
6
13
|
message: "Select the ID for the API Copilot you would like to add to this API Portal:",
|
|
@@ -11,25 +18,29 @@ export class PortalCopilotPrompts {
|
|
|
11
18
|
}))
|
|
12
19
|
});
|
|
13
20
|
if (isCancel(selectedKey)) {
|
|
14
|
-
|
|
15
|
-
return process.exit(0);
|
|
21
|
+
return null;
|
|
16
22
|
}
|
|
17
23
|
return selectedKey;
|
|
18
24
|
}
|
|
19
|
-
copilotConfigured(
|
|
20
|
-
|
|
25
|
+
copilotConfigured(status, copilotId) {
|
|
26
|
+
log.info(`API Copilot configured successfully!
|
|
21
27
|
|
|
22
|
-
Copilot ID: ${
|
|
23
|
-
|
|
24
|
-
Status: ${getMessageInCyanColor(apiCopilotConfig.isEnabled ? "Enabled" : "Disabled")}
|
|
28
|
+
Copilot ID: ${f.var(copilotId)}
|
|
29
|
+
Status: ${f.var(status ? "Enabled" : "Disabled")}
|
|
25
30
|
|
|
26
|
-
Configuration saved to: APIMATIC-BUILD.json
|
|
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.
|
|
27
35
|
|
|
28
|
-
|
|
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`);
|
|
29
40
|
}
|
|
30
41
|
async confirmOverwrite() {
|
|
31
42
|
const shouldOverwrite = await confirm({
|
|
32
|
-
message: "API Copilot
|
|
43
|
+
message: "API Copilot is already configured for this Portal, do you want to overwrite it?",
|
|
33
44
|
initialValue: false
|
|
34
45
|
});
|
|
35
46
|
if (isCancel(shouldOverwrite)) {
|
|
@@ -37,18 +48,35 @@ Run 'apimatic portal:serve' to preview your API Portal and try out the API Copil
|
|
|
37
48
|
}
|
|
38
49
|
return shouldOverwrite;
|
|
39
50
|
}
|
|
40
|
-
|
|
41
|
-
|
|
51
|
+
async spinnerAccountInfo(fn) {
|
|
52
|
+
return withSpinner("Retrieving your subscription info", "Subscription info retrieved", "Subscription info retrieval failed", fn);
|
|
42
53
|
}
|
|
43
|
-
async
|
|
44
|
-
const
|
|
45
|
-
message: "
|
|
46
|
-
|
|
54
|
+
async confirmSingleKeyUsage(apiCopilotKey) {
|
|
55
|
+
const confirmKeyUsage = await confirm({
|
|
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" +
|
|
57
|
+
`Do you want to use this key: ${f.var(apiCopilotKey)}?`,
|
|
58
|
+
initialValue: true
|
|
47
59
|
});
|
|
48
|
-
if (isCancel(
|
|
49
|
-
return
|
|
60
|
+
if (isCancel(confirmKeyUsage)) {
|
|
61
|
+
return false;
|
|
50
62
|
}
|
|
51
|
-
return
|
|
63
|
+
return confirmKeyUsage;
|
|
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.");
|
|
52
80
|
}
|
|
53
81
|
}
|
|
54
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,
|
|
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
|
}
|