@microsoft/teamsfx-core 3.0.14 → 3.0.15-alpha.2c8841ec2d.0
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/build/client/aadAppClient.d.ts.map +1 -1
- package/build/client/aadAppClient.js +6 -6
- package/build/client/aadAppClient.js.map +1 -1
- package/build/common/mcpToolFetcher.d.ts +31 -0
- package/build/common/mcpToolFetcher.d.ts.map +1 -0
- package/build/common/mcpToolFetcher.js +182 -0
- package/build/common/mcpToolFetcher.js.map +1 -0
- package/build/common/odrProvider.d.ts +43 -0
- package/build/common/odrProvider.d.ts.map +1 -0
- package/build/common/odrProvider.js +154 -0
- package/build/common/odrProvider.js.map +1 -0
- package/build/common/openApiParserOptions.d.ts +3 -0
- package/build/common/openApiParserOptions.d.ts.map +1 -0
- package/build/common/openApiParserOptions.js +61 -0
- package/build/common/openApiParserOptions.js.map +1 -0
- package/build/common/secretmasker/dict.d.ts.map +1 -1
- package/build/common/secretmasker/dict.js +5 -2
- package/build/common/secretmasker/dict.js.map +1 -1
- package/build/common/secretmasker/feature.js.map +1 -1
- package/build/common/templates-config.json +4 -4
- package/build/common/wrappedAxiosClient.d.ts +1 -1
- package/build/component/coordinator/index.d.ts.map +1 -1
- package/build/component/coordinator/index.js.map +1 -1
- package/build/component/deps-checker/internal/dotnetChecker.js.map +1 -1
- package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.d.ts +3 -0
- package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.d.ts.map +1 -1
- package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.js +38 -3
- package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.js.map +1 -1
- package/build/component/driver/script/scriptDriver.js +1 -1
- package/build/component/driver/script/scriptDriver.js.map +1 -1
- package/build/component/driver/teamsApp/create.d.ts.map +1 -1
- package/build/component/driver/teamsApp/create.js +3 -3
- package/build/component/driver/teamsApp/create.js.map +1 -1
- package/build/component/driver/teamsApp/createAppPackage.d.ts.map +1 -1
- package/build/component/driver/teamsApp/createAppPackage.js.map +1 -1
- package/build/component/driver/teamsApp/utils/CopilotGptManifestUtils.js.map +1 -1
- package/build/component/generator/declarativeAgent/helper.js.map +1 -1
- package/build/component/generator/officeAddin/generator.d.ts +1 -0
- package/build/component/generator/officeAddin/generator.d.ts.map +1 -1
- package/build/component/generator/officeAddin/generator.js +81 -2
- package/build/component/generator/officeAddin/generator.js.map +1 -1
- package/build/component/generator/openApiSpec/helper.d.ts +2 -3
- package/build/component/generator/openApiSpec/helper.d.ts.map +1 -1
- package/build/component/generator/openApiSpec/helper.js +6 -56
- package/build/component/generator/openApiSpec/helper.js.map +1 -1
- package/build/component/generator/templateHelper.d.ts +10 -2
- package/build/component/generator/templateHelper.d.ts.map +1 -1
- package/build/component/generator/templateHelper.js +16 -3
- package/build/component/generator/templateHelper.js.map +1 -1
- package/build/component/generator/utils.d.ts.map +1 -1
- package/build/component/generator/utils.js +6 -0
- package/build/component/generator/utils.js.map +1 -1
- package/build/component/generator/v4TemplateBridge.d.ts +4 -1
- package/build/component/generator/v4TemplateBridge.d.ts.map +1 -1
- package/build/component/generator/v4TemplateBridge.js +11 -3
- package/build/component/generator/v4TemplateBridge.js.map +1 -1
- package/build/component/utils/envUtil.d.ts.map +1 -1
- package/build/component/utils/envUtil.js.map +1 -1
- package/build/component/utils/mcpAuthScaffolder.d.ts.map +1 -1
- package/build/component/utils/mcpAuthScaffolder.js.map +1 -1
- package/build/component/utils/mcpToolFetcher.d.ts +1 -72
- package/build/component/utils/mcpToolFetcher.d.ts.map +1 -1
- package/build/component/utils/mcpToolFetcher.js +1 -227
- package/build/component/utils/mcpToolFetcher.js.map +1 -1
- package/build/component/utils/odrProvider.d.ts +1 -55
- package/build/component/utils/odrProvider.d.ts.map +1 -1
- package/build/component/utils/odrProvider.js +1 -101
- package/build/component/utils/odrProvider.js.map +1 -1
- package/build/core/FxCore.d.ts.map +1 -1
- package/build/core/FxCore.js +3 -5
- package/build/core/FxCore.js.map +1 -1
- package/build/core/createFrontDoorAdapters.d.ts +1 -25
- package/build/core/createFrontDoorAdapters.d.ts.map +1 -1
- package/build/core/createFrontDoorAdapters.js +4 -155
- package/build/core/createFrontDoorAdapters.js.map +1 -1
- package/build/core/createProjectFrontDoor.d.ts +10 -12
- package/build/core/createProjectFrontDoor.d.ts.map +1 -1
- package/build/core/createProjectFrontDoor.js +141 -106
- package/build/core/createProjectFrontDoor.js.map +1 -1
- package/build/core/modifyProjectFrontDoor.d.ts +0 -1
- package/build/core/modifyProjectFrontDoor.d.ts.map +1 -1
- package/build/core/modifyProjectFrontDoor.js +0 -2
- package/build/core/modifyProjectFrontDoor.js.map +1 -1
- package/build/question/inputs/AddKnowledgeInputs.d.ts.map +1 -1
- package/build/question/inputs/CreateProjectInputs.d.ts +2 -0
- package/build/question/inputs/CreateProjectInputs.d.ts.map +1 -1
- package/build/question/options/CreateProjectOptions.d.ts.map +1 -1
- package/build/question/options/CreateProjectOptions.js +7 -0
- package/build/question/options/CreateProjectOptions.js.map +1 -1
- package/build/question/other.js.map +1 -1
- package/build/question/questionNames.d.ts +1 -0
- package/build/question/questionNames.d.ts.map +1 -1
- package/build/question/questionNames.js +1 -0
- package/build/question/questionNames.js.map +1 -1
- package/build/question/scaffold/constructNode.d.ts +2 -1
- package/build/question/scaffold/constructNode.d.ts.map +1 -1
- package/build/question/scaffold/constructNode.js +28 -0
- package/build/question/scaffold/constructNode.js.map +1 -1
- package/build/question/scaffold/vsc/teamsProjectTypeNode.d.ts.map +1 -1
- package/build/question/scaffold/vsc/teamsProjectTypeNode.js +0 -7
- package/build/question/scaffold/vsc/teamsProjectTypeNode.js.map +1 -1
- package/build/v4/buildTarget/parseSelector.d.ts +5 -2
- package/build/v4/buildTarget/parseSelector.d.ts.map +1 -1
- package/build/v4/buildTarget/parseSelector.js +16 -20
- package/build/v4/buildTarget/parseSelector.js.map +1 -1
- package/build/v4/buildTarget/resolveBuildTarget.d.ts +19 -7
- package/build/v4/buildTarget/resolveBuildTarget.d.ts.map +1 -1
- package/build/v4/buildTarget/resolveBuildTarget.js +86 -49
- package/build/v4/buildTarget/resolveBuildTarget.js.map +1 -1
- package/build/v4/collectInputs/collectInputs.d.ts +50 -9
- package/build/v4/collectInputs/collectInputs.d.ts.map +1 -1
- package/build/v4/collectInputs/collectInputs.js +274 -91
- package/build/v4/collectInputs/collectInputs.js.map +1 -1
- package/build/v4/distribution/createQuestions.d.ts.map +1 -1
- package/build/v4/distribution/createQuestions.js +2 -29
- package/build/v4/distribution/createQuestions.js.map +1 -1
- package/build/v4/distribution/declarativePackage.d.ts.map +1 -1
- package/build/v4/distribution/declarativePackage.js +2 -30
- package/build/v4/distribution/declarativePackage.js.map +1 -1
- package/build/v4/distribution/questionFragments.d.ts +11 -0
- package/build/v4/distribution/questionFragments.d.ts.map +1 -0
- package/build/v4/distribution/questionFragments.js +130 -0
- package/build/v4/distribution/questionFragments.js.map +1 -0
- package/build/v4/engineVersion.d.ts +7 -0
- package/build/v4/engineVersion.d.ts.map +1 -0
- package/build/v4/engineVersion.js +12 -0
- package/build/v4/engineVersion.js.map +1 -0
- package/build/v4/expression/evaluateExpression.d.ts +11 -0
- package/build/v4/expression/evaluateExpression.d.ts.map +1 -1
- package/build/v4/expression/evaluateExpression.js +22 -0
- package/build/v4/expression/evaluateExpression.js.map +1 -1
- package/build/v4/index.d.ts +5 -0
- package/build/v4/index.d.ts.map +1 -1
- package/build/v4/index.js +5 -0
- package/build/v4/index.js.map +1 -1
- package/build/v4/mcp/mcpAuthAction.d.ts +23 -0
- package/build/v4/mcp/mcpAuthAction.d.ts.map +1 -0
- package/build/v4/mcp/mcpAuthAction.js +151 -0
- package/build/v4/mcp/mcpAuthAction.js.map +1 -0
- package/build/v4/mcp/mcpAuthScaffold.d.ts +28 -0
- package/build/v4/mcp/mcpAuthScaffold.d.ts.map +1 -0
- package/build/v4/mcp/mcpAuthScaffold.js +124 -0
- package/build/v4/mcp/mcpAuthScaffold.js.map +1 -0
- package/build/v4/model/dataModel.d.ts +1 -1
- package/build/v4/model/dataModel.d.ts.map +1 -1
- package/build/v4/pipeline/runScaffoldPipeline.d.ts +17 -4
- package/build/v4/pipeline/runScaffoldPipeline.d.ts.map +1 -1
- package/build/v4/pipeline/runScaffoldPipeline.js +60 -9
- package/build/v4/pipeline/runScaffoldPipeline.js.map +1 -1
- package/build/v4/providers/createOptionsProviders.d.ts +11 -0
- package/build/v4/providers/createOptionsProviders.d.ts.map +1 -0
- package/build/v4/providers/createOptionsProviders.js +268 -0
- package/build/v4/providers/createOptionsProviders.js.map +1 -0
- package/build/v4/renderContext/buildRenderContext.d.ts.map +1 -1
- package/build/v4/renderContext/buildRenderContext.js +1 -2
- package/build/v4/renderContext/buildRenderContext.js.map +1 -1
- package/build/v4/runtime/generalSensitivityLabel.d.ts +5 -0
- package/build/v4/runtime/generalSensitivityLabel.d.ts.map +1 -0
- package/build/v4/runtime/generalSensitivityLabel.js +36 -0
- package/build/v4/runtime/generalSensitivityLabel.js.map +1 -0
- package/build/v4/runtime/inMemoryRuntime.d.ts +2 -1
- package/build/v4/runtime/inMemoryRuntime.d.ts.map +1 -1
- package/build/v4/runtime/inMemoryRuntime.js +2 -2
- package/build/v4/runtime/inMemoryRuntime.js.map +1 -1
- package/build/v4/runtime/packageParse.d.ts.map +1 -1
- package/build/v4/runtime/packageParse.js +64 -8
- package/build/v4/runtime/packageParse.js.map +1 -1
- package/build/v4/runtime/realRuntime.d.ts +2 -1
- package/build/v4/runtime/realRuntime.d.ts.map +1 -1
- package/build/v4/runtime/realRuntime.js +2 -2
- package/build/v4/runtime/realRuntime.js.map +1 -1
- package/build/v4/runtime/renderMustache.d.ts.map +1 -1
- package/build/v4/runtime/renderMustache.js +13 -4
- package/build/v4/runtime/renderMustache.js.map +1 -1
- package/build/v4/runtime/runtimeRegistry.d.ts +8 -3
- package/build/v4/runtime/runtimeRegistry.d.ts.map +1 -1
- package/build/v4/runtime/runtimeRegistry.js +122 -17
- package/build/v4/runtime/runtimeRegistry.js.map +1 -1
- package/build/v4/runtime/scaffold.d.ts +1 -0
- package/build/v4/runtime/scaffold.d.ts.map +1 -1
- package/build/v4/runtime/scaffold.js +1 -20
- package/build/v4/runtime/scaffold.js.map +1 -1
- package/build/v4/runtime/steps/daAction.d.ts.map +1 -1
- package/build/v4/runtime/steps/daAction.js +3 -111
- package/build/v4/runtime/steps/daAction.js.map +1 -1
- package/build/v4/runtime/steps/daSensitivity.d.ts +14 -0
- package/build/v4/runtime/steps/daSensitivity.d.ts.map +1 -0
- package/build/v4/runtime/steps/daSensitivity.js +50 -0
- package/build/v4/runtime/steps/daSensitivity.js.map +1 -0
- package/build/v4/runtime/steps/mcpAuth.d.ts +5 -2
- package/build/v4/runtime/steps/mcpAuth.d.ts.map +1 -1
- package/build/v4/runtime/steps/mcpAuth.js +13 -63
- package/build/v4/runtime/steps/mcpAuth.js.map +1 -1
- package/build/v4/runtime/steps/mcpLocal.d.ts +0 -4
- package/build/v4/runtime/steps/mcpLocal.d.ts.map +1 -1
- package/build/v4/runtime/steps/mcpLocal.js +11 -31
- package/build/v4/runtime/steps/mcpLocal.js.map +1 -1
- package/build/v4/runtime/steps/mcpStatic.d.ts +1 -1
- package/build/v4/runtime/steps/mcpStatic.d.ts.map +1 -1
- package/build/v4/runtime/steps/mcpStatic.js +14 -32
- package/build/v4/runtime/steps/mcpStatic.js.map +1 -1
- package/build/v4/runtime/steps/metaOs.d.ts.map +1 -1
- package/build/v4/runtime/steps/metaOs.js +39 -51
- package/build/v4/runtime/steps/metaOs.js.map +1 -1
- package/build/v4/runtime/steps/officeAddin.d.ts.map +1 -1
- package/build/v4/runtime/steps/officeAddin.js +7 -12
- package/build/v4/runtime/steps/officeAddin.js.map +1 -1
- package/build/v4/runtime/steps/openApi.d.ts.map +1 -1
- package/build/v4/runtime/steps/openApi.js +47 -555
- package/build/v4/runtime/steps/openApi.js.map +1 -1
- package/build/v4/runtime/steps/openApiCustomApi.d.ts +5 -0
- package/build/v4/runtime/steps/openApiCustomApi.d.ts.map +1 -0
- package/build/v4/runtime/steps/openApiCustomApi.js +385 -0
- package/build/v4/runtime/steps/openApiCustomApi.js.map +1 -0
- package/build/v4/runtime/withTempDirectory.d.ts +10 -0
- package/build/v4/runtime/withTempDirectory.d.ts.map +1 -0
- package/build/v4/runtime/withTempDirectory.js +41 -0
- package/build/v4/runtime/withTempDirectory.js.map +1 -0
- package/build/v4/surface/createFloorTail.d.ts +12 -0
- package/build/v4/surface/createFloorTail.d.ts.map +1 -0
- package/build/v4/surface/createFloorTail.js +138 -0
- package/build/v4/surface/createFloorTail.js.map +1 -0
- package/build/v4/surface/createInputs.d.ts +25 -3
- package/build/v4/surface/createInputs.d.ts.map +1 -1
- package/build/v4/surface/createInputs.js +54 -431
- package/build/v4/surface/createInputs.js.map +1 -1
- package/build/v4/surface/createSelectorWalk.d.ts +8 -3
- package/build/v4/surface/createSelectorWalk.d.ts.map +1 -1
- package/build/v4/surface/createSelectorWalk.js +21 -11
- package/build/v4/surface/createSelectorWalk.js.map +1 -1
- package/build/v4/surface/localizePrompt.d.ts +11 -0
- package/build/v4/surface/localizePrompt.d.ts.map +1 -0
- package/build/v4/surface/localizePrompt.js +32 -0
- package/build/v4/surface/localizePrompt.js.map +1 -0
- package/build/v4/surface/modifySelectorWalk.d.ts.map +1 -1
- package/build/v4/surface/modifySelectorWalk.js +0 -3
- package/build/v4/surface/modifySelectorWalk.js.map +1 -1
- package/build/v4/surface/uiPromptUI.d.ts.map +1 -1
- package/build/v4/surface/uiPromptUI.js +36 -41
- package/build/v4/surface/uiPromptUI.js.map +1 -1
- package/build/v4/validation/capabilityCatalog.d.ts +8 -0
- package/build/v4/validation/capabilityCatalog.d.ts.map +1 -0
- package/build/v4/validation/capabilityCatalog.js +58 -0
- package/build/v4/validation/capabilityCatalog.js.map +1 -0
- package/build/v4/validation/templateArchiveValidation.d.ts +15 -0
- package/build/v4/validation/templateArchiveValidation.d.ts.map +1 -0
- package/build/v4/validation/templateArchiveValidation.js +297 -0
- package/build/v4/validation/templateArchiveValidation.js.map +1 -0
- package/build/v4/validation/validateTemplatePackage.d.ts +21 -2
- package/build/v4/validation/validateTemplatePackage.d.ts.map +1 -1
- package/build/v4/validation/validateTemplatePackage.js +155 -31
- package/build/v4/validation/validateTemplatePackage.js.map +1 -1
- package/build/v4/validators/createInputValidators.d.ts +7 -0
- package/build/v4/validators/createInputValidators.d.ts.map +1 -0
- package/build/v4/validators/createInputValidators.js +71 -0
- package/build/v4/validators/createInputValidators.js.map +1 -0
- package/package.json +13 -14
- package/resource/package.nls.json +1 -0
- package/resource/templates/package.nls.cs.json +8 -2
- package/resource/templates/package.nls.de.json +8 -2
- package/resource/templates/package.nls.es.json +8 -2
- package/resource/templates/package.nls.fr.json +8 -2
- package/resource/templates/package.nls.it.json +8 -2
- package/resource/templates/package.nls.ja.json +8 -2
- package/resource/templates/package.nls.json +8 -1
- package/resource/templates/package.nls.ko.json +8 -2
- package/resource/templates/package.nls.pl.json +8 -2
- package/resource/templates/package.nls.pt-BR.json +8 -2
- package/resource/templates/package.nls.ru.json +8 -2
- package/resource/templates/package.nls.tr.json +8 -2
- package/resource/templates/package.nls.zh-Hans.json +8 -2
- package/resource/templates/package.nls.zh-Hant.json +8 -2
- package/resource/templates/package.nls.zh-cn.json +7 -1
- package/resource/templates/package.nls.zh-tw.json +7 -1
- package/templates/fallback/common.zip +0 -0
- package/templates/fallback/csharp.zip +0 -0
- package/templates/fallback/js.zip +0 -0
- package/templates/fallback/python.zip +0 -0
- package/templates/fallback/ts.zip +0 -0
- package/templates/metadata.zip +0 -0
- package/templates/ui/wizardNode.json +6 -0
- package/templates/v4/create-selector.json +10 -3
- package/templates/v4/floor.json +1 -1
- package/templates/v4/modify-selector.json +1 -6
- package/templates/v4/templates-metadata.zip +0 -0
- package/templates/v4/templates.zip +0 -0
- package/templates/configs/local/typescript/.gitignore +0 -1
- package/templates/configs/playground/typescript/.gitignore +0 -4
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FxError } from "@microsoft/teamsfx-api";
|
|
2
2
|
import { Result } from "neverthrow";
|
|
3
|
-
import {
|
|
3
|
+
import { ConditionNode } from "../expression/evaluateExpression";
|
|
4
4
|
import { SelectorSpec } from "./resolveBuildTarget";
|
|
5
5
|
/** `UserError` name for malformed selector JSON. */
|
|
6
6
|
export declare const BUILD_TARGET_MALFORMED_SELECTOR = "BuildTargetMalformedSelector";
|
|
@@ -13,13 +13,16 @@ export interface PresentationOption {
|
|
|
13
13
|
label: string;
|
|
14
14
|
detail?: string;
|
|
15
15
|
groupName?: string;
|
|
16
|
-
|
|
16
|
+
iconPath?: string;
|
|
17
|
+
keyPrefix?: string;
|
|
18
|
+
condition?: ConditionNode;
|
|
17
19
|
}
|
|
18
20
|
/** One Q1 question's presentation. */
|
|
19
21
|
export interface PresentationQuestion {
|
|
20
22
|
name: string;
|
|
21
23
|
title?: string;
|
|
22
24
|
placeholder?: string;
|
|
25
|
+
keyPrefix?: string;
|
|
23
26
|
staticOptions: PresentationOption[];
|
|
24
27
|
}
|
|
25
28
|
/** The presentation projection of the whole create selector. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseSelector.d.ts","sourceRoot":"","sources":["../../../src/v4/buildTarget/parseSelector.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAa,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAW,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"parseSelector.d.ts","sourceRoot":"","sources":["../../../src/v4/buildTarget/parseSelector.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAa,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAW,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAoB,MAAM,kCAAkC,CAAC;AACnF,OAAO,EAAgD,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAMlG,oDAAoD;AACpD,eAAO,MAAM,+BAA+B,iCAAiC,CAAC;AAiF9E,oEAAoE;AACpE,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CA2B7E;AAED,8EAA8E;AAE9E,4CAA4C;AAC5C,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B;AAED,sCAAsC;AACtC,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,kBAAkB,EAAE,CAAC;CACrC;AAED,gEAAgE;AAChE,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,oBAAoB,EAAE,CAAC;CACnC;AA+ED,mEAAmE;AACnE,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAgB7F"}
|
|
@@ -7,6 +7,7 @@ exports.parseSelectorSpec = parseSelectorSpec;
|
|
|
7
7
|
exports.parseSelectorPresentation = parseSelectorPresentation;
|
|
8
8
|
const teamsfx_api_1 = require("@microsoft/teamsfx-api");
|
|
9
9
|
const neverthrow_1 = require("neverthrow");
|
|
10
|
+
const evaluateExpression_1 = require("../expression/evaluateExpression");
|
|
10
11
|
/** Parse raw selector JSON into routing and presentation projections. See resolve-build-target spec. */
|
|
11
12
|
const SOURCE = "Scaffold";
|
|
12
13
|
/** `UserError` name for malformed selector JSON. */
|
|
@@ -31,20 +32,7 @@ function stringArray(value) {
|
|
|
31
32
|
}
|
|
32
33
|
/** Membership test for the closed dispatch-engine set. */
|
|
33
34
|
function isDispatchEngine(value) {
|
|
34
|
-
return
|
|
35
|
-
}
|
|
36
|
-
/** Structural check for the authored `ExpressionNode` union. */
|
|
37
|
-
function isExpressionNode(value) {
|
|
38
|
-
if (!isRecord(value)) {
|
|
39
|
-
return false;
|
|
40
|
-
}
|
|
41
|
-
return (typeof value.expr === "string" ||
|
|
42
|
-
typeof value.from === "string" ||
|
|
43
|
-
typeof value.featureFlag === "string" ||
|
|
44
|
-
typeof value.capability === "string" ||
|
|
45
|
-
isRecord(value.equals) ||
|
|
46
|
-
isRecord(value.enum) ||
|
|
47
|
-
Array.isArray(value.anyOf));
|
|
35
|
+
return value === "v4" || value === "v3-core-method" || value === "surface-action";
|
|
48
36
|
}
|
|
49
37
|
/** Project one raw question onto `{ name, condition? }`. */
|
|
50
38
|
function parseQuestion(raw) {
|
|
@@ -59,7 +47,7 @@ function parseQuestion(raw) {
|
|
|
59
47
|
if (condition === undefined) {
|
|
60
48
|
return (0, neverthrow_1.ok)({ name });
|
|
61
49
|
}
|
|
62
|
-
if (!isExpressionNode(condition)) {
|
|
50
|
+
if (!(0, evaluateExpression_1.isExpressionNode)(condition)) {
|
|
63
51
|
return (0, neverthrow_1.err)(userError(`selector question '${name}' has a malformed 'condition'`));
|
|
64
52
|
}
|
|
65
53
|
return (0, neverthrow_1.ok)({ name, condition });
|
|
@@ -82,10 +70,6 @@ function parseRoute(raw) {
|
|
|
82
70
|
if (templateId !== undefined) {
|
|
83
71
|
route.templateId = templateId;
|
|
84
72
|
}
|
|
85
|
-
const v3Adapter = stringField(raw, "v3Adapter");
|
|
86
|
-
if (v3Adapter !== undefined) {
|
|
87
|
-
route.v3Adapter = v3Adapter;
|
|
88
|
-
}
|
|
89
73
|
const coreMethod = stringField(raw, "coreMethod");
|
|
90
74
|
if (coreMethod !== undefined) {
|
|
91
75
|
route.coreMethod = coreMethod;
|
|
@@ -151,9 +135,17 @@ function parsePresentationOption(raw) {
|
|
|
151
135
|
if (groupName !== undefined) {
|
|
152
136
|
option.groupName = groupName;
|
|
153
137
|
}
|
|
138
|
+
const iconPath = stringField(raw, "iconPath");
|
|
139
|
+
if (iconPath !== undefined) {
|
|
140
|
+
option.iconPath = iconPath;
|
|
141
|
+
}
|
|
142
|
+
const keyPrefix = stringField(raw, "keyPrefix");
|
|
143
|
+
if (keyPrefix !== undefined) {
|
|
144
|
+
option.keyPrefix = keyPrefix;
|
|
145
|
+
}
|
|
154
146
|
const condition = raw.condition;
|
|
155
147
|
if (condition !== undefined) {
|
|
156
|
-
if (!isExpressionNode(condition)) {
|
|
148
|
+
if (!(0, evaluateExpression_1.isExpressionNode)(condition)) {
|
|
157
149
|
return (0, neverthrow_1.err)(userError(`selector option '${id}' has a malformed 'condition'`));
|
|
158
150
|
}
|
|
159
151
|
option.condition = condition;
|
|
@@ -178,6 +170,10 @@ function parsePresentationQuestion(raw) {
|
|
|
178
170
|
if (placeholder !== undefined) {
|
|
179
171
|
question.placeholder = placeholder;
|
|
180
172
|
}
|
|
173
|
+
const keyPrefix = stringField(raw, "keyPrefix");
|
|
174
|
+
if (keyPrefix !== undefined) {
|
|
175
|
+
question.keyPrefix = keyPrefix;
|
|
176
|
+
}
|
|
181
177
|
if (raw.staticOptions !== undefined) {
|
|
182
178
|
if (!Array.isArray(raw.staticOptions)) {
|
|
183
179
|
return (0, neverthrow_1.err)(userError(`selector question '${name}' has a non-array 'staticOptions'`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseSelector.js","sourceRoot":"","sources":["../../../src/v4/buildTarget/parseSelector.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;
|
|
1
|
+
{"version":3,"file":"parseSelector.js","sourceRoot":"","sources":["../../../src/v4/buildTarget/parseSelector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { FxError } from "@microsoft/teamsfx-api";
|
|
2
2
|
import { Result } from "neverthrow";
|
|
3
|
+
import { WalkHistoryEntry } from "../collectInputs/collectInputs";
|
|
3
4
|
import { ExpressionNode } from "../expression/evaluateExpression";
|
|
4
|
-
/** The
|
|
5
|
-
export type DispatchEngine = "v4" | "v3
|
|
5
|
+
/** The worlds dispatch can hand off to. */
|
|
6
|
+
export type DispatchEngine = "v4" | "v3-core-method" | "surface-action";
|
|
6
7
|
/** One parsed `selector.json` route. */
|
|
7
8
|
export interface SelectorRoute {
|
|
8
9
|
when: string;
|
|
9
10
|
engine: DispatchEngine;
|
|
10
11
|
templateId?: string;
|
|
11
|
-
v3Adapter?: string;
|
|
12
12
|
coreMethod?: string;
|
|
13
13
|
action?: string;
|
|
14
14
|
surfaces?: string[];
|
|
@@ -40,20 +40,28 @@ export interface RouteResolverPort {
|
|
|
40
40
|
featureFlag(name: string): boolean;
|
|
41
41
|
/** Membership test for the v4 world. */
|
|
42
42
|
v4Registry(templateId: string): boolean;
|
|
43
|
-
/** Membership test for the frozen v3 generator allow-list. */
|
|
44
|
-
v3Registry(templateId: string): boolean;
|
|
45
43
|
/** Membership test for the frozen v3 core-method allow-list. */
|
|
46
44
|
v3CoreMethodRegistry(coreMethod: string): boolean;
|
|
47
45
|
}
|
|
48
46
|
/** The resolved dispatch outcome. */
|
|
49
47
|
export interface BuildTarget {
|
|
50
|
-
/** The v4
|
|
48
|
+
/** The v4 template id, core method, or surface action id. */
|
|
51
49
|
templateId: string;
|
|
52
50
|
/** Which world dispatch hands off to. */
|
|
53
51
|
engine: DispatchEngine;
|
|
54
52
|
/** The Q1 dimension picks that produced this target. */
|
|
55
53
|
answers?: Record<string, string>;
|
|
56
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* A `BuildTarget` plus the Q1 walk state the front door retains for cross-phase
|
|
57
|
+
* back (a superset, so existing `BuildTarget` reads are unaffected). `history` is
|
|
58
|
+
* opaque to the front door — it is only handed back via `resume`; `promptCount`
|
|
59
|
+
* is the number of Q1 dimensions actually prompted (Q2's `baseStep`).
|
|
60
|
+
*/
|
|
61
|
+
export interface SelectorWalkResult extends BuildTarget {
|
|
62
|
+
history: WalkHistoryEntry[];
|
|
63
|
+
promptCount: number;
|
|
64
|
+
}
|
|
57
65
|
/** `UserError` name: a resolved/supplied `templateId` belongs to no world. */
|
|
58
66
|
export declare const BUILD_TARGET_UNKNOWN_TEMPLATE = "BuildTargetUnknownTemplate";
|
|
59
67
|
/** `UserError` name: a route carries the wrong engine-specific key set. */
|
|
@@ -67,5 +75,9 @@ export declare const BUILD_TARGET_MISSING_DIMENSION = "BuildTargetMissingDimensi
|
|
|
67
75
|
/** `UserError` name: the user backed out of the first Q1 prompt. */
|
|
68
76
|
export declare const BUILD_TARGET_WALK_CANCELLED = "BuildTargetWalkCancelled";
|
|
69
77
|
/** Resolve a create/modify selector walk into a dispatched `BuildTarget`. */
|
|
70
|
-
export declare function resolveBuildTarget(selector: SelectorSpec, prefilled: Record<string, string>, interactive: boolean, port: RouteResolverPort
|
|
78
|
+
export declare function resolveBuildTarget(selector: SelectorSpec, prefilled: Record<string, string>, interactive: boolean, port: RouteResolverPort, options?: {
|
|
79
|
+
resume?: {
|
|
80
|
+
history: WalkHistoryEntry[];
|
|
81
|
+
};
|
|
82
|
+
}): Promise<Result<SelectorWalkResult, FxError>>;
|
|
71
83
|
//# sourceMappingURL=resolveBuildTarget.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveBuildTarget.d.ts","sourceRoot":"","sources":["../../../src/v4/buildTarget/resolveBuildTarget.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"resolveBuildTarget.d.ts","sourceRoot":"","sources":["../../../src/v4/buildTarget/resolveBuildTarget.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ exports.v4RouteRegistryFromSelector = v4RouteRegistryFromSelector;
|
|
|
7
7
|
exports.resolveBuildTarget = resolveBuildTarget;
|
|
8
8
|
const teamsfx_api_1 = require("@microsoft/teamsfx-api");
|
|
9
9
|
const neverthrow_1 = require("neverthrow");
|
|
10
|
+
const collectInputs_1 = require("../collectInputs/collectInputs");
|
|
10
11
|
const evaluateExpression_1 = require("../expression/evaluateExpression");
|
|
11
12
|
/** v4 selector resolution. See resolve-build-target spec and ADR-0014. */
|
|
12
13
|
const SOURCE = "Scaffold";
|
|
@@ -57,7 +58,6 @@ function buildScope(declared, answers) {
|
|
|
57
58
|
function malformedRouteReason(r) {
|
|
58
59
|
const has = {
|
|
59
60
|
templateId: r.templateId !== undefined,
|
|
60
|
-
v3Adapter: r.v3Adapter !== undefined,
|
|
61
61
|
coreMethod: r.coreMethod !== undefined,
|
|
62
62
|
action: r.action !== undefined,
|
|
63
63
|
};
|
|
@@ -66,32 +66,24 @@ function malformedRouteReason(r) {
|
|
|
66
66
|
if (!has.templateId) {
|
|
67
67
|
return "engine 'v4' requires 'templateId'";
|
|
68
68
|
}
|
|
69
|
-
if (has.v3Adapter || has.coreMethod || has.action) {
|
|
70
|
-
return "engine 'v4' must not carry 'v3Adapter' / 'coreMethod' / 'action'";
|
|
71
|
-
}
|
|
72
|
-
return undefined;
|
|
73
|
-
case "v3":
|
|
74
|
-
if (!has.v3Adapter) {
|
|
75
|
-
return "engine 'v3' requires 'v3Adapter'";
|
|
76
|
-
}
|
|
77
69
|
if (has.coreMethod || has.action) {
|
|
78
|
-
return "engine '
|
|
70
|
+
return "engine 'v4' must not carry 'coreMethod' / 'action'";
|
|
79
71
|
}
|
|
80
72
|
return undefined;
|
|
81
73
|
case "v3-core-method":
|
|
82
74
|
if (!has.coreMethod) {
|
|
83
75
|
return "engine 'v3-core-method' requires 'coreMethod'";
|
|
84
76
|
}
|
|
85
|
-
if (has.templateId || has.
|
|
86
|
-
return "engine 'v3-core-method' must not carry 'templateId' / '
|
|
77
|
+
if (has.templateId || has.action) {
|
|
78
|
+
return "engine 'v3-core-method' must not carry 'templateId' / 'action'";
|
|
87
79
|
}
|
|
88
80
|
return undefined;
|
|
89
81
|
case "surface-action":
|
|
90
82
|
if (!has.action) {
|
|
91
83
|
return "engine 'surface-action' requires 'action'";
|
|
92
84
|
}
|
|
93
|
-
if (has.templateId || has.
|
|
94
|
-
return "engine 'surface-action' must not carry 'templateId' / '
|
|
85
|
+
if (has.templateId || has.coreMethod) {
|
|
86
|
+
return "engine 'surface-action' must not carry 'templateId' / 'coreMethod'";
|
|
95
87
|
}
|
|
96
88
|
return undefined;
|
|
97
89
|
}
|
|
@@ -109,47 +101,93 @@ function validateRoutes(routes, port) {
|
|
|
109
101
|
}
|
|
110
102
|
return (0, neverthrow_1.ok)(undefined);
|
|
111
103
|
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
104
|
+
function selectorQuestions(selector) {
|
|
105
|
+
return selector.questions.map((question) => ({
|
|
106
|
+
name: question.name,
|
|
107
|
+
type: "singleSelect",
|
|
108
|
+
condition: question.condition,
|
|
109
|
+
}));
|
|
110
|
+
}
|
|
111
|
+
function selectorOptionsSchema(selector) {
|
|
112
|
+
const properties = {};
|
|
113
|
+
for (const question of selector.questions) {
|
|
114
|
+
properties[question.name] = {};
|
|
115
|
+
}
|
|
116
|
+
return { properties };
|
|
117
|
+
}
|
|
118
|
+
function q1PromptUi(interactive, port) {
|
|
119
|
+
return {
|
|
120
|
+
async ask(question, _options, step = 1) {
|
|
121
|
+
if (!interactive) {
|
|
122
|
+
return (0, neverthrow_1.err)(userError(exports.BUILD_TARGET_MISSING_DIMENSION, `required dimension '${question.name}' was not provided (non-interactive)`));
|
|
123
|
+
}
|
|
124
|
+
const outcome = await port.prompt({ name: question.name, condition: question.condition }, step);
|
|
125
|
+
if (outcome.kind === "back" && step <= 1) {
|
|
126
|
+
return (0, neverthrow_1.err)(userError(exports.BUILD_TARGET_WALK_CANCELLED, "the create selector was cancelled"));
|
|
127
|
+
}
|
|
128
|
+
return (0, neverthrow_1.ok)(outcome);
|
|
129
|
+
},
|
|
130
|
+
askMulti() {
|
|
131
|
+
return Promise.resolve((0, neverthrow_1.err)(new teamsfx_api_1.SystemError({
|
|
132
|
+
source: SOURCE,
|
|
133
|
+
name: "BuildTargetMultiSelectUnsupported",
|
|
134
|
+
message: "selector dimensions do not support multi-select questions",
|
|
135
|
+
})));
|
|
136
|
+
},
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
function buildCollectPort(interactive, port) {
|
|
140
|
+
return {
|
|
141
|
+
ui: q1PromptUi(interactive, port),
|
|
142
|
+
optionsProvider: () => undefined,
|
|
143
|
+
validator: () => undefined,
|
|
144
|
+
evaluate: (node, scope) => (0, evaluateExpression_1.evaluateExpression)(node, scope, exprPort(port)),
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
function scalarAnswers(selector, answers, port) {
|
|
148
|
+
const normalized = {};
|
|
149
|
+
const declared = selector.questions.map((question) => question.name);
|
|
150
|
+
for (const question of selector.questions) {
|
|
151
|
+
if (question.condition !== undefined) {
|
|
152
|
+
const gate = (0, evaluateExpression_1.evaluateExpression)(question.condition, buildScope(declared, normalized), exprPort(port));
|
|
122
153
|
if (gate.isErr()) {
|
|
123
154
|
return (0, neverthrow_1.err)(gate.error);
|
|
124
155
|
}
|
|
125
156
|
if (gate.value !== true) {
|
|
126
|
-
index++;
|
|
127
157
|
continue;
|
|
128
158
|
}
|
|
129
159
|
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
index++;
|
|
160
|
+
const value = answers[question.name];
|
|
161
|
+
if (value === undefined) {
|
|
133
162
|
continue;
|
|
134
163
|
}
|
|
135
|
-
if (
|
|
136
|
-
return (0, neverthrow_1.err)(
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
if (restore === undefined) {
|
|
142
|
-
return (0, neverthrow_1.err)(userError(exports.BUILD_TARGET_WALK_CANCELLED, "the create selector was cancelled"));
|
|
143
|
-
}
|
|
144
|
-
answers = restore.snapshot;
|
|
145
|
-
index = restore.index;
|
|
146
|
-
continue;
|
|
164
|
+
if (typeof value !== "string") {
|
|
165
|
+
return (0, neverthrow_1.err)(new teamsfx_api_1.SystemError({
|
|
166
|
+
source: SOURCE,
|
|
167
|
+
name: "BuildTargetNonScalarAnswer",
|
|
168
|
+
message: `selector dimension '${question.name}' resolved to a non-scalar answer`,
|
|
169
|
+
}));
|
|
147
170
|
}
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
171
|
+
normalized[question.name] = value;
|
|
172
|
+
}
|
|
173
|
+
return (0, neverthrow_1.ok)(normalized);
|
|
174
|
+
}
|
|
175
|
+
/** Walk Q1 through the shared collect-inputs engine with selector-specific prompt wiring. */
|
|
176
|
+
async function collectSelectorAnswers(selector, prefilled, interactive, port, resume) {
|
|
177
|
+
const collected = await (0, collectInputs_1.walkInputs)(selectorQuestions(selector), selectorOptionsSchema(selector), prefilled, buildCollectPort(interactive, port), { resume });
|
|
178
|
+
if (collected.isErr()) {
|
|
179
|
+
return (0, neverthrow_1.err)(collected.error);
|
|
151
180
|
}
|
|
152
|
-
|
|
181
|
+
const outcome = collected.value;
|
|
182
|
+
// `backable` is off for Q1, so a back past the first prompt errors in the prompt face (WCS-17)
|
|
183
|
+
// rather than returning a top-level back; the `done` branch is the live path.
|
|
184
|
+
return outcome.kind === "done"
|
|
185
|
+
? scalarAnswers(selector, outcome.answers, port).map((answers) => ({
|
|
186
|
+
answers,
|
|
187
|
+
history: outcome.history,
|
|
188
|
+
promptCount: outcome.promptCount,
|
|
189
|
+
}))
|
|
190
|
+
: (0, neverthrow_1.err)(userError(exports.BUILD_TARGET_WALK_CANCELLED, "the create selector was cancelled"));
|
|
153
191
|
}
|
|
154
192
|
/** Match the first route whose `when` predicate is true against the collected answers. */
|
|
155
193
|
function matchRoute(selector, answers, port) {
|
|
@@ -169,7 +207,6 @@ function matchRoute(selector, answers, port) {
|
|
|
169
207
|
function dispatchRoute(r, port) {
|
|
170
208
|
switch (r.engine) {
|
|
171
209
|
case "v4":
|
|
172
|
-
case "v3":
|
|
173
210
|
if (r.templateId === undefined) {
|
|
174
211
|
return (0, neverthrow_1.err)(userError(exports.BUILD_TARGET_MALFORMED_ROUTE, `route '${r.when}': missing 'templateId'`));
|
|
175
212
|
}
|
|
@@ -190,18 +227,18 @@ function dispatchRoute(r, port) {
|
|
|
190
227
|
}
|
|
191
228
|
}
|
|
192
229
|
/** Resolve a create/modify selector walk into a dispatched `BuildTarget`. */
|
|
193
|
-
async function resolveBuildTarget(selector, prefilled, interactive, port) {
|
|
230
|
+
async function resolveBuildTarget(selector, prefilled, interactive, port, options = {}) {
|
|
194
231
|
// Validate the whole routing table before any route match.
|
|
195
232
|
const routesOk = validateRoutes(selector.routes, port);
|
|
196
233
|
if (routesOk.isErr()) {
|
|
197
234
|
return (0, neverthrow_1.err)(routesOk.error);
|
|
198
235
|
}
|
|
199
236
|
// One prefill-aware walk covers interactive and non-interactive resolution.
|
|
200
|
-
const walked = await
|
|
237
|
+
const walked = await collectSelectorAnswers(selector, prefilled, interactive, port, options.resume);
|
|
201
238
|
if (walked.isErr()) {
|
|
202
239
|
return (0, neverthrow_1.err)(walked.error);
|
|
203
240
|
}
|
|
204
|
-
const answers = walked.value;
|
|
241
|
+
const { answers, history, promptCount } = walked.value;
|
|
205
242
|
const matched = matchRoute(selector, answers, port);
|
|
206
243
|
if (matched.isErr()) {
|
|
207
244
|
return (0, neverthrow_1.err)(matched.error);
|
|
@@ -210,6 +247,6 @@ async function resolveBuildTarget(selector, prefilled, interactive, port) {
|
|
|
210
247
|
if (dispatched.isErr()) {
|
|
211
248
|
return (0, neverthrow_1.err)(dispatched.error);
|
|
212
249
|
}
|
|
213
|
-
return (0, neverthrow_1.ok)({ ...dispatched.value, answers });
|
|
250
|
+
return (0, neverthrow_1.ok)({ ...dispatched.value, answers, history, promptCount });
|
|
214
251
|
}
|
|
215
252
|
//# sourceMappingURL=resolveBuildTarget.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveBuildTarget.js","sourceRoot":"","sources":["../../../src/v4/buildTarget/resolveBuildTarget.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;
|
|
1
|
+
{"version":3,"file":"resolveBuildTarget.js","sourceRoot":"","sources":["../../../src/v4/buildTarget/resolveBuildTarget.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { FxError } from "@microsoft/teamsfx-api";
|
|
2
2
|
import { Result } from "neverthrow";
|
|
3
|
-
import {
|
|
3
|
+
import { ConditionNode, EvalValue, Scope } from "../expression/evaluateExpression";
|
|
4
4
|
import { Answers } from "../model/dataModel";
|
|
5
|
-
/** An authored visibility / value guard — the same closed form the evaluator parses. */
|
|
6
|
-
export type ConditionNode = ExpressionNode;
|
|
7
5
|
/** Identity-only option; computed values flow through provider `derived.*`. */
|
|
8
6
|
export interface OptionItem {
|
|
9
7
|
id: string;
|
|
@@ -11,6 +9,7 @@ export interface OptionItem {
|
|
|
11
9
|
description?: string;
|
|
12
10
|
detail?: string;
|
|
13
11
|
groupName?: string;
|
|
12
|
+
iconPath?: string;
|
|
14
13
|
condition?: ConditionNode;
|
|
15
14
|
keyPrefix?: string;
|
|
16
15
|
}
|
|
@@ -41,6 +40,7 @@ export interface QuestionSpec {
|
|
|
41
40
|
placeholder?: string;
|
|
42
41
|
prompt?: string;
|
|
43
42
|
default?: string;
|
|
43
|
+
password?: boolean;
|
|
44
44
|
filters?: Record<string, string[]>;
|
|
45
45
|
inputOptionItem?: OptionItem;
|
|
46
46
|
inputBoxConfig?: InputBoxConfig;
|
|
@@ -71,13 +71,43 @@ export interface OptionsProvider {
|
|
|
71
71
|
/** Engine-registered validator: an error message, or `undefined` when valid. */
|
|
72
72
|
export type Validator = (value: string, answers: Answers) => string | undefined | Promise<string | undefined>;
|
|
73
73
|
export type PromptValidation = (value: string) => string | undefined | Promise<string | undefined>;
|
|
74
|
-
/** One prompt's outcome: a chosen value or the host's `back` request. */
|
|
74
|
+
/** One prompt's outcome: a chosen value, a surface auto-skip, or the host's `back` request. */
|
|
75
75
|
export type Asked<T> = {
|
|
76
76
|
kind: "value";
|
|
77
77
|
value: T;
|
|
78
|
+
} | {
|
|
79
|
+
kind: "skip";
|
|
80
|
+
value: T;
|
|
81
|
+
} | {
|
|
82
|
+
kind: "back";
|
|
83
|
+
};
|
|
84
|
+
/** One resumable walk's history entry (opaque to cross-phase callers). */
|
|
85
|
+
export interface WalkHistoryEntry {
|
|
86
|
+
pos: number;
|
|
87
|
+
answers: Answers;
|
|
88
|
+
}
|
|
89
|
+
/** The resumable walk's outcome: a completed answer set, or a `back` handed to the caller. */
|
|
90
|
+
export type WalkOutcome = {
|
|
91
|
+
kind: "done";
|
|
92
|
+
answers: Answers;
|
|
93
|
+
history: WalkHistoryEntry[];
|
|
94
|
+
promptCount: number;
|
|
78
95
|
} | {
|
|
79
96
|
kind: "back";
|
|
97
|
+
history: WalkHistoryEntry[];
|
|
98
|
+
promptCount: number;
|
|
80
99
|
};
|
|
100
|
+
/** Options for the resumable walk (the cross-phase back primitive; see collect-inputs INV-9). */
|
|
101
|
+
export interface WalkOptions {
|
|
102
|
+
/** Added to the 1-based shown step so a later phase continues an earlier phase's numbering. */
|
|
103
|
+
baseStep?: number;
|
|
104
|
+
/** Resume a prior walk by re-entering its last prompted question via `back`. */
|
|
105
|
+
resume?: {
|
|
106
|
+
history: WalkHistoryEntry[];
|
|
107
|
+
};
|
|
108
|
+
/** When true, a `back` past the first prompt returns `{ kind: "back" }` instead of cancelling. */
|
|
109
|
+
backable?: boolean;
|
|
110
|
+
}
|
|
81
111
|
/** Surface-neutral prompt driver. */
|
|
82
112
|
export interface PromptUI {
|
|
83
113
|
/** Render one scalar question. */
|
|
@@ -92,19 +122,30 @@ export interface CollectInputsPort {
|
|
|
92
122
|
validator(name: string): Validator | undefined;
|
|
93
123
|
evaluate(node: ConditionNode, scope: Scope): Result<EvalValue, FxError>;
|
|
94
124
|
}
|
|
95
|
-
export interface CollectInputsOptions {
|
|
96
|
-
appendLanguage?: boolean;
|
|
97
|
-
}
|
|
98
125
|
/** `SystemError` names for engine-side input collection breaks. */
|
|
99
126
|
export declare const INPUT_BOTH_OPTION_SOURCES = "InputBothOptionSources";
|
|
100
127
|
export declare const INPUT_UNKNOWN_PROVIDER = "InputUnknownProvider";
|
|
101
128
|
export declare const INPUT_UNKNOWN_VALIDATOR = "InputUnknownValidator";
|
|
102
129
|
export declare const INPUT_FORWARD_DERIVED_REFERENCE = "InputForwardDerivedReference";
|
|
103
130
|
export declare const INPUT_PROVIDER_FAILED = "InputProviderFailed";
|
|
131
|
+
export declare const INPUT_PROVIDER_DERIVED_SCHEMA_VIOLATION = "InputProviderDerivedSchemaViolation";
|
|
104
132
|
/** `UserError` name for input validation failures. */
|
|
105
133
|
export declare const INPUT_VALIDATION_FAILED = "InputValidationFailed";
|
|
106
134
|
/** `UserError` name for cancelling the walk from the first prompt. */
|
|
107
135
|
export declare const INPUT_WALK_CANCELLED = "InputWalkCancelled";
|
|
108
|
-
/**
|
|
109
|
-
|
|
136
|
+
/**
|
|
137
|
+
* Walk one phase's questions into a resumable outcome — the shared cross-phase
|
|
138
|
+
* back primitive (collect-inputs INV-9). `baseStep` offsets the shown step so a
|
|
139
|
+
* later phase continues an earlier phase's numbering; `backable` turns a `back`
|
|
140
|
+
* past the first prompt into a `{ kind: "back" }` outcome instead of cancelling;
|
|
141
|
+
* `resume` re-enters a prior walk's history at its last prompted question.
|
|
142
|
+
*/
|
|
143
|
+
export declare function walkInputs(questions: QuestionSpec[], optionsSchema: OptionsSchema, entryParams: Answers, port: CollectInputsPort, walkOptions?: WalkOptions): Promise<Result<WalkOutcome, FxError>>;
|
|
144
|
+
/**
|
|
145
|
+
* Walk one template's questions into the resolved answer object — the stable
|
|
146
|
+
* non-resumable entry over {@link walkInputs} (no step offset, no resume,
|
|
147
|
+
* `backable` off), so a `back` past the first prompt cancels (INPUT-18) and the
|
|
148
|
+
* result is the plain answer object. Preserves the pre-cross-phase contract.
|
|
149
|
+
*/
|
|
150
|
+
export declare function collectInputs(questions: QuestionSpec[], optionsSchema: OptionsSchema, entryParams: Answers, port: CollectInputsPort): Promise<Result<Answers, FxError>>;
|
|
110
151
|
//# sourceMappingURL=collectInputs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collectInputs.d.ts","sourceRoot":"","sources":["../../../src/v4/collectInputs/collectInputs.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAA0B,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,MAAM,EAAW,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"collectInputs.d.ts","sourceRoot":"","sources":["../../../src/v4/collectInputs/collectInputs.ts"],"names":[],"mappings":"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"}
|