@microsoft/teamsfx-core 3.0.15 → 3.0.16-beta.2026073102.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/featureFlags.d.ts +0 -5
- package/build/common/featureFlags.d.ts.map +1 -1
- package/build/common/featureFlags.js +0 -5
- package/build/common/featureFlags.js.map +1 -1
- package/build/common/httpProxy.d.ts +21 -0
- package/build/common/httpProxy.d.ts.map +1 -0
- package/build/common/httpProxy.js +117 -0
- package/build/common/httpProxy.js.map +1 -0
- package/build/common/mcpToolFetcher.d.ts +90 -0
- package/build/common/mcpToolFetcher.d.ts.map +1 -0
- package/build/common/mcpToolFetcher.js +404 -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 +5 -5
- 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 +1 -0
- package/build/component/driver/teamsApp/createAppPackage.d.ts.map +1 -1
- package/build/component/driver/teamsApp/createAppPackage.js +23 -0
- 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.d.ts.map +1 -1
- package/build/component/generator/declarativeAgent/helper.js +25 -2
- package/build/component/generator/declarativeAgent/helper.js.map +1 -1
- package/build/component/generator/generatorAction.d.ts +3 -1
- package/build/component/generator/generatorAction.d.ts.map +1 -1
- package/build/component/generator/generatorAction.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 +109 -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 +19 -57
- 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/templates/metadata/index.d.ts +15 -0
- package/build/component/generator/templates/metadata/index.d.ts.map +1 -1
- package/build/component/generator/templates/metadata/index.js +39 -0
- package/build/component/generator/templates/metadata/index.js.map +1 -1
- package/build/component/generator/templates/templateNames.d.ts +2 -0
- package/build/component/generator/templates/templateNames.d.ts.map +1 -1
- package/build/component/generator/templates/templateNames.js +2 -0
- package/build/component/generator/templates/templateNames.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 +19 -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 +2 -2
- package/build/component/utils/envUtil.js.map +1 -1
- package/build/component/utils/fileOperation.d.ts.map +1 -1
- package/build/component/utils/fileOperation.js +4 -1
- package/build/component/utils/fileOperation.js.map +1 -1
- package/build/component/utils/mcpAuthScaffolder.d.ts +28 -0
- package/build/component/utils/mcpAuthScaffolder.d.ts.map +1 -1
- package/build/component/utils/mcpAuthScaffolder.js +39 -4
- 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.declarativeAgent.d.ts.map +1 -1
- package/build/core/FxCore.declarativeAgent.js +110 -3
- package/build/core/FxCore.declarativeAgent.js.map +1 -1
- package/build/core/FxCore.js +4 -6
- package/build/core/FxCore.js.map +1 -1
- package/build/core/createFrontDoorAdapters.d.ts +4 -27
- package/build/core/createFrontDoorAdapters.d.ts.map +1 -1
- package/build/core/createFrontDoorAdapters.js +17 -157
- 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 +143 -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/index.d.ts +3 -2
- package/build/index.d.ts.map +1 -1
- package/build/index.js +9 -1
- package/build/index.js.map +1 -1
- package/build/question/create.d.ts.map +1 -1
- package/build/question/create.js +2 -1
- package/build/question/create.js.map +1 -1
- package/build/question/inputs/AddKnowledgeInputs.d.ts.map +1 -1
- package/build/question/inputs/CreateProjectInputs.d.ts +4 -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 +14 -0
- package/build/question/options/CreateProjectOptions.js.map +1 -1
- package/build/question/other.d.ts.map +1 -1
- package/build/question/other.js +11 -1
- package/build/question/other.js.map +1 -1
- package/build/question/questionNames.d.ts +2 -0
- package/build/question/questionNames.d.ts.map +1 -1
- package/build/question/questionNames.js +2 -0
- package/build/question/questionNames.js.map +1 -1
- package/build/question/scaffold/constructNode.d.ts +3 -1
- package/build/question/scaffold/constructNode.d.ts.map +1 -1
- package/build/question/scaffold/constructNode.js +50 -0
- package/build/question/scaffold/constructNode.js.map +1 -1
- package/build/question/scaffold/vsc/CapabilityOptions.d.ts +2 -0
- package/build/question/scaffold/vsc/CapabilityOptions.d.ts.map +1 -1
- package/build/question/scaffold/vsc/CapabilityOptions.js +16 -0
- package/build/question/scaffold/vsc/CapabilityOptions.js.map +1 -1
- package/build/question/scaffold/vsc/teamsProjectTypeNode.d.ts +19 -1
- package/build/question/scaffold/vsc/teamsProjectTypeNode.d.ts.map +1 -1
- package/build/question/scaffold/vsc/teamsProjectTypeNode.js +39 -7
- package/build/question/scaffold/vsc/teamsProjectTypeNode.js.map +1 -1
- package/build/v4/buildTarget/parseSelector.d.ts +6 -2
- package/build/v4/buildTarget/parseSelector.d.ts.map +1 -1
- package/build/v4/buildTarget/parseSelector.js +58 -45
- package/build/v4/buildTarget/parseSelector.js.map +1 -1
- package/build/v4/buildTarget/resolveBuildTarget.d.ts +21 -7
- package/build/v4/buildTarget/resolveBuildTarget.d.ts.map +1 -1
- package/build/v4/buildTarget/resolveBuildTarget.js +97 -52
- package/build/v4/buildTarget/resolveBuildTarget.js.map +1 -1
- package/build/v4/collectInputs/collectInputs.d.ts +51 -10
- package/build/v4/collectInputs/collectInputs.d.ts.map +1 -1
- package/build/v4/collectInputs/collectInputs.js +287 -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 +13 -0
- package/build/v4/expression/evaluateExpression.d.ts.map +1 -1
- package/build/v4/expression/evaluateExpression.js +57 -0
- package/build/v4/expression/evaluateExpression.js.map +1 -1
- package/build/v4/index.d.ts +7 -0
- package/build/v4/index.d.ts.map +1 -1
- package/build/v4/index.js +7 -0
- package/build/v4/index.js.map +1 -1
- package/build/v4/inspection/scaffoldCatalog.d.ts +28 -0
- package/build/v4/inspection/scaffoldCatalog.d.ts.map +1 -0
- package/build/v4/inspection/scaffoldCatalog.js +66 -0
- package/build/v4/inspection/scaffoldCatalog.js.map +1 -0
- package/build/v4/inspection/scaffoldMetadataSource.d.ts +6 -0
- package/build/v4/inspection/scaffoldMetadataSource.d.ts.map +1 -0
- package/build/v4/inspection/scaffoldMetadataSource.js +78 -0
- package/build/v4/inspection/scaffoldMetadataSource.js.map +1 -0
- package/build/v4/mcp/mcpAuthAction.d.ts +36 -0
- package/build/v4/mcp/mcpAuthAction.d.ts.map +1 -0
- package/build/v4/mcp/mcpAuthAction.js +177 -0
- package/build/v4/mcp/mcpAuthAction.js.map +1 -0
- package/build/v4/mcp/mcpAuthScaffold.d.ts +37 -0
- package/build/v4/mcp/mcpAuthScaffold.d.ts.map +1 -0
- package/build/v4/mcp/mcpAuthScaffold.js +162 -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 +27 -5
- package/build/v4/pipeline/runScaffoldPipeline.d.ts.map +1 -1
- package/build/v4/pipeline/runScaffoldPipeline.js +64 -10
- 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 +4 -6
- 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 +7 -1
- package/build/v4/runtime/inMemoryRuntime.d.ts.map +1 -1
- package/build/v4/runtime/inMemoryRuntime.js +25 -3
- 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 +3 -1
- package/build/v4/runtime/realRuntime.d.ts.map +1 -1
- package/build/v4/runtime/realRuntime.js +3 -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 +12 -3
- package/build/v4/runtime/runtimeRegistry.d.ts.map +1 -1
- package/build/v4/runtime/runtimeRegistry.js +123 -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 +37 -66
- 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 +85 -566
- 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/whitelist.d.ts +27 -0
- package/build/v4/runtime/whitelist.d.ts.map +1 -1
- package/build/v4/runtime/whitelist.js +156 -1
- package/build/v4/runtime/whitelist.js.map +1 -1
- 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/deriveCreateOptions.d.ts.map +1 -1
- package/build/v4/surface/deriveCreateOptions.js +5 -2
- package/build/v4/surface/deriveCreateOptions.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 +45 -45
- 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 +62 -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 +77 -0
- package/build/v4/validators/createInputValidators.js.map +1 -0
- package/build/v4/validators/mcpCredentialValidators.d.ts +5 -0
- package/build/v4/validators/mcpCredentialValidators.d.ts.map +1 -0
- package/build/v4/validators/mcpCredentialValidators.js +13 -0
- package/build/v4/validators/mcpCredentialValidators.js.map +1 -0
- package/build/v4/validators/mcpServerUrlValidator.d.ts +9 -0
- package/build/v4/validators/mcpServerUrlValidator.d.ts.map +1 -0
- package/build/v4/validators/mcpServerUrlValidator.js +15 -0
- package/build/v4/validators/mcpServerUrlValidator.js.map +1 -0
- package/package.json +29 -23
- package/resource/package.nls.cs.json +56 -54
- package/resource/package.nls.de.json +56 -54
- package/resource/package.nls.es.json +55 -53
- package/resource/package.nls.fr.json +56 -54
- package/resource/package.nls.it.json +55 -53
- package/resource/package.nls.ja.json +56 -54
- package/resource/package.nls.json +10 -3
- package/resource/package.nls.ko.json +56 -54
- package/resource/package.nls.pl.json +56 -54
- package/resource/package.nls.pt-BR.json +56 -54
- package/resource/package.nls.ru.json +56 -54
- package/resource/package.nls.tr.json +56 -54
- package/resource/package.nls.zh-Hans.json +56 -54
- package/resource/package.nls.zh-Hant.json +56 -54
- package/resource/templates/package.nls.cs.json +22 -9
- package/resource/templates/package.nls.de.json +22 -9
- package/resource/templates/package.nls.es.json +22 -9
- package/resource/templates/package.nls.fr.json +22 -9
- package/resource/templates/package.nls.it.json +22 -9
- package/resource/templates/package.nls.ja.json +22 -9
- package/resource/templates/package.nls.json +16 -3
- package/resource/templates/package.nls.ko.json +22 -9
- package/resource/templates/package.nls.pl.json +22 -9
- package/resource/templates/package.nls.pt-BR.json +22 -9
- package/resource/templates/package.nls.ru.json +22 -9
- package/resource/templates/package.nls.tr.json +22 -9
- package/resource/templates/package.nls.zh-Hans.json +22 -9
- package/resource/templates/package.nls.zh-Hant.json +22 -9
- 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/allTemplates.json +16 -2
- package/templates/metadata.zip +0 -0
- package/templates/ui/wizardNode.json +24 -0
- package/templates/v4/create-selector.json +30 -5
- 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
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Copyright (c) Microsoft Corporation.
|
|
3
3
|
// Licensed under the MIT license.
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.pathDelimiter = exports.safeProjectNameLowerCase = exports.mcpAuthRef = exports.mcpNamespace = void 0;
|
|
5
|
+
exports.officeAddinDebugApp = exports.officeAddinDebugScripts = exports.officeAddinLaunchCompounds = exports.officeAddinLaunchConfigurations = exports.officeAddinManifestScopes = exports.officeAddinManifestScope = exports.contains = exports.pathDelimiter = exports.safeProjectNameLowerCase = exports.mcpAuthRef = exports.mcpNamespace = void 0;
|
|
6
6
|
exports.deriveMcpServerName = deriveMcpServerName;
|
|
7
7
|
exports.createExpressionPort = createExpressionPort;
|
|
8
8
|
const tslib_1 = require("tslib");
|
|
@@ -35,12 +35,167 @@ exports.safeProjectNameLowerCase = safeProjectNameLowerCase;
|
|
|
35
35
|
/** Whitelist fn `pathDelimiter()` for PATH-like launch configuration values. */
|
|
36
36
|
const pathDelimiter = () => path.delimiter;
|
|
37
37
|
exports.pathDelimiter = pathDelimiter;
|
|
38
|
+
/** Office add-in manifest requirement scope for each host id. */
|
|
39
|
+
const OFFICE_ADDIN_HOST_SCOPE = {
|
|
40
|
+
outlook: "mail",
|
|
41
|
+
excel: "workbook",
|
|
42
|
+
word: "document",
|
|
43
|
+
powerpoint: "presentation",
|
|
44
|
+
};
|
|
45
|
+
/** Stable host order for a deterministic multi-scope render. */
|
|
46
|
+
const OFFICE_ADDIN_HOST_ORDER = ["mail", "workbook", "document", "presentation"];
|
|
47
|
+
/** Parse a comma-joined multiSelect answer into its selected ids. */
|
|
48
|
+
function parseCsv(csv) {
|
|
49
|
+
return csv
|
|
50
|
+
.split(",")
|
|
51
|
+
.map((item) => item.trim())
|
|
52
|
+
.filter((item) => item.length > 0);
|
|
53
|
+
}
|
|
54
|
+
/** Whitelist fn `contains(csv, item)` — `"true"` when a multiSelect answer selects `item`. */
|
|
55
|
+
const contains = (csv, item) => parseCsv(csv).includes(item) ? "true" : "";
|
|
56
|
+
exports.contains = contains;
|
|
57
|
+
/** Whitelist fn `officeAddinManifestScope(host)` — the single-host manifest scope literal. */
|
|
58
|
+
const officeAddinManifestScope = (host) => `"${OFFICE_ADDIN_HOST_SCOPE[host] ?? OFFICE_ADDIN_HOST_SCOPE.word}"`;
|
|
59
|
+
exports.officeAddinManifestScope = officeAddinManifestScope;
|
|
60
|
+
/**
|
|
61
|
+
* Whitelist fn `officeAddinManifestScopes(csv)` — the multiSelect host set rendered
|
|
62
|
+
* as the inner body of a manifest `scopes` JSON array. Pre-joins so the array stays
|
|
63
|
+
* valid for any host subset (v3 parity: no trailing-comma breakage).
|
|
64
|
+
*/
|
|
65
|
+
const officeAddinManifestScopes = (csv) => {
|
|
66
|
+
const selected = new Set(parseCsv(csv).map((host) => OFFICE_ADDIN_HOST_SCOPE[host]));
|
|
67
|
+
const scopes = OFFICE_ADDIN_HOST_ORDER.filter((scope) => selected.has(scope));
|
|
68
|
+
const body = scopes.length > 0 ? scopes : [OFFICE_ADDIN_HOST_SCOPE.word];
|
|
69
|
+
return body.map((scope) => `"${scope}"`).join(",\n ");
|
|
70
|
+
};
|
|
71
|
+
exports.officeAddinManifestScopes = officeAddinManifestScopes;
|
|
72
|
+
/**
|
|
73
|
+
* Debug launch surface for the Office task-pane template.
|
|
74
|
+
*
|
|
75
|
+
* These functions pre-join the `.vscode/launch.json` and `package.json` host
|
|
76
|
+
* entries instead of the `{{#HostOutlook}}` Mustache sections the manifest uses.
|
|
77
|
+
* The manifest's optional blocks each sit next to a guaranteed-present sibling
|
|
78
|
+
* (the default permission / runtime / ribbon), so a section can carry its own
|
|
79
|
+
* trailing comma safely. The launch configs, compounds, and debug scripts are
|
|
80
|
+
* *fully* optional arrays — every element depends on a host that may be
|
|
81
|
+
* deselected — so there is no anchor element to absorb a trailing comma, and
|
|
82
|
+
* flat Mustache cannot suppress the comma after the last selected block. A
|
|
83
|
+
* comma `join` over the selected hosts is the only comma-correct option, which
|
|
84
|
+
* only a function (not a template) can express.
|
|
85
|
+
*
|
|
86
|
+
* This mirrors how v3 handles the same files: rather than editing JSON text, v3
|
|
87
|
+
* scaffolds all hosts and then `Array.filter`s the parsed `configurations` /
|
|
88
|
+
* `compounds` / `scripts` and re-serializes (officeAddin generator `post`). v4
|
|
89
|
+
* has no post-render file mutation, so the equivalent filtered-list-to-string
|
|
90
|
+
* happens here at render time instead.
|
|
91
|
+
*/
|
|
92
|
+
const OFFICE_ADDIN_HOST_LABEL = {
|
|
93
|
+
word: "Word",
|
|
94
|
+
excel: "Excel",
|
|
95
|
+
powerpoint: "PowerPoint",
|
|
96
|
+
outlook: "Outlook",
|
|
97
|
+
};
|
|
98
|
+
const OFFICE_ADDIN_LAUNCH_HOST_ORDER = ["word", "excel", "powerpoint", "outlook"];
|
|
99
|
+
/** Selected hosts in canonical order, defaulting to word when nothing is selected. */
|
|
100
|
+
function selectedLaunchHosts(csv) {
|
|
101
|
+
const selected = new Set(parseCsv(csv));
|
|
102
|
+
const hosts = OFFICE_ADDIN_LAUNCH_HOST_ORDER.filter((host) => selected.has(host));
|
|
103
|
+
return hosts.length > 0 ? hosts : ["word"];
|
|
104
|
+
}
|
|
105
|
+
/** Indent a multi-line JSON fragment so it nests under the given column. */
|
|
106
|
+
function indentJson(json, spaces) {
|
|
107
|
+
const pad = " ".repeat(spaces);
|
|
108
|
+
return json
|
|
109
|
+
.split("\n")
|
|
110
|
+
.map((line) => (line.length > 0 ? pad + line : line))
|
|
111
|
+
.join("\n");
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Whitelist fn `officeAddinLaunchConfigurations(csv)` — the inner body of the
|
|
115
|
+
* `.vscode/launch.json` `configurations` array, limited to the selected hosts.
|
|
116
|
+
*/
|
|
117
|
+
const officeAddinLaunchConfigurations = (csv) => {
|
|
118
|
+
const blocks = selectedLaunchHosts(csv).flatMap((host) => {
|
|
119
|
+
const label = OFFICE_ADDIN_HOST_LABEL[host];
|
|
120
|
+
return [
|
|
121
|
+
`{
|
|
122
|
+
"name": "${label} Desktop Host",
|
|
123
|
+
"type": "node-terminal",
|
|
124
|
+
"request": "launch",
|
|
125
|
+
"command": "npm run start:desktop:${host}",
|
|
126
|
+
"cwd": "\${workspaceFolder}",
|
|
127
|
+
"preLaunchTask": "Install",
|
|
128
|
+
"postDebugTask": "Stop Debug",
|
|
129
|
+
"presentation": {
|
|
130
|
+
"hidden": true
|
|
131
|
+
}
|
|
132
|
+
}`,
|
|
133
|
+
`{
|
|
134
|
+
"name": "${label} Desktop Attach (Edge Chromium)",
|
|
135
|
+
"type": "msedge",
|
|
136
|
+
"request": "attach",
|
|
137
|
+
"port": 9229,
|
|
138
|
+
"timeout": 600000,
|
|
139
|
+
"webRoot": "\${workspaceRoot}",
|
|
140
|
+
"presentation": {
|
|
141
|
+
"hidden": true
|
|
142
|
+
}
|
|
143
|
+
}`,
|
|
144
|
+
];
|
|
145
|
+
});
|
|
146
|
+
return blocks
|
|
147
|
+
.map((block) => indentJson(block, 4))
|
|
148
|
+
.join(",\n")
|
|
149
|
+
.trimStart();
|
|
150
|
+
};
|
|
151
|
+
exports.officeAddinLaunchConfigurations = officeAddinLaunchConfigurations;
|
|
152
|
+
/**
|
|
153
|
+
* Whitelist fn `officeAddinLaunchCompounds(csv)` — the inner body of the
|
|
154
|
+
* `.vscode/launch.json` `compounds` array, limited to the selected hosts.
|
|
155
|
+
*/
|
|
156
|
+
const officeAddinLaunchCompounds = (csv) => {
|
|
157
|
+
const blocks = selectedLaunchHosts(csv).map((host) => {
|
|
158
|
+
const label = OFFICE_ADDIN_HOST_LABEL[host];
|
|
159
|
+
return `{
|
|
160
|
+
"name": "${label} Desktop (Edge Chromium)",
|
|
161
|
+
"configurations": [
|
|
162
|
+
"${label} Desktop Host",
|
|
163
|
+
"${label} Desktop Attach (Edge Chromium)"
|
|
164
|
+
],
|
|
165
|
+
"stopAll": true
|
|
166
|
+
}`;
|
|
167
|
+
});
|
|
168
|
+
return blocks
|
|
169
|
+
.map((block) => indentJson(block, 4))
|
|
170
|
+
.join(",\n")
|
|
171
|
+
.trimStart();
|
|
172
|
+
};
|
|
173
|
+
exports.officeAddinLaunchCompounds = officeAddinLaunchCompounds;
|
|
174
|
+
/**
|
|
175
|
+
* Whitelist fn `officeAddinDebugScripts(csv)` — the `start:desktop:<host>` npm
|
|
176
|
+
* script entries for the selected hosts, each on its own line with a trailing comma.
|
|
177
|
+
*/
|
|
178
|
+
const officeAddinDebugScripts = (csv) => selectedLaunchHosts(csv)
|
|
179
|
+
.map((host) => ` "start:desktop:${host}": "office-addin-debugging start appPackage/manifest.json desktop --app ${host}",`)
|
|
180
|
+
.join("\n")
|
|
181
|
+
.trimStart();
|
|
182
|
+
exports.officeAddinDebugScripts = officeAddinDebugScripts;
|
|
183
|
+
/** Whitelist fn `officeAddinDebugApp(csv)` — the default `app_to_debug` host. */
|
|
184
|
+
const officeAddinDebugApp = (csv) => selectedLaunchHosts(csv)[0];
|
|
185
|
+
exports.officeAddinDebugApp = officeAddinDebugApp;
|
|
38
186
|
/** The closed function whitelist; an author cannot extend it (ADR-0016 decision 3). */
|
|
39
187
|
const WHITELIST = new Map([
|
|
40
188
|
["mcpNamespace", exports.mcpNamespace],
|
|
41
189
|
["mcpAuthRef", exports.mcpAuthRef],
|
|
42
190
|
["safeProjectNameLowerCase", exports.safeProjectNameLowerCase],
|
|
43
191
|
["pathDelimiter", exports.pathDelimiter],
|
|
192
|
+
["contains", exports.contains],
|
|
193
|
+
["officeAddinManifestScope", exports.officeAddinManifestScope],
|
|
194
|
+
["officeAddinManifestScopes", exports.officeAddinManifestScopes],
|
|
195
|
+
["officeAddinLaunchConfigurations", exports.officeAddinLaunchConfigurations],
|
|
196
|
+
["officeAddinLaunchCompounds", exports.officeAddinLaunchCompounds],
|
|
197
|
+
["officeAddinDebugScripts", exports.officeAddinDebugScripts],
|
|
198
|
+
["officeAddinDebugApp", exports.officeAddinDebugApp],
|
|
44
199
|
]);
|
|
45
200
|
/** Default feature-flag reader: an env-backed truthy check (`"true"` / `"1"`). */
|
|
46
201
|
function envFlagReader(name) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"whitelist.js","sourceRoot":"","sources":["../../../src/v4/runtime/whitelist.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAYlC,kDASC;
|
|
1
|
+
{"version":3,"file":"whitelist.js","sourceRoot":"","sources":["../../../src/v4/runtime/whitelist.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { FxError } from "@microsoft/teamsfx-api";
|
|
2
|
+
import { Result } from "neverthrow";
|
|
3
|
+
export type TempDirectoryPhase = "allocate" | "operate" | "cleanup";
|
|
4
|
+
export interface TempDirectoryPort {
|
|
5
|
+
create(prefix: string): Promise<string>;
|
|
6
|
+
remove(directory: string): Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
/** Run one operation in a disposable directory without allowing filesystem failures to escape Result. */
|
|
9
|
+
export declare function withTempDirectory<T>(prefix: string, errorFactory: (phase: TempDirectoryPhase, error: unknown) => FxError, operation: (directory: string) => Promise<Result<T, FxError>>, port?: TempDirectoryPort): Promise<Result<T, FxError>>;
|
|
10
|
+
//# sourceMappingURL=withTempDirectory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withTempDirectory.d.ts","sourceRoot":"","sources":["../../../src/v4/runtime/withTempDirectory.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAIjD,OAAO,EAAE,MAAM,EAAO,MAAM,YAAY,CAAC;AAEzC,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;AAEpE,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C;AAOD,yGAAyG;AACzG,wBAAsB,iBAAiB,CAAC,CAAC,EACvC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,KAAK,OAAO,EACpE,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAC7D,IAAI,GAAE,iBAAyC,GAC9C,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAuB7B"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT license.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.withTempDirectory = withTempDirectory;
|
|
6
|
+
const tslib_1 = require("tslib");
|
|
7
|
+
const fs = tslib_1.__importStar(require("fs-extra"));
|
|
8
|
+
const os = tslib_1.__importStar(require("os"));
|
|
9
|
+
const path = tslib_1.__importStar(require("path"));
|
|
10
|
+
const neverthrow_1 = require("neverthrow");
|
|
11
|
+
const nodeTempDirectoryPort = {
|
|
12
|
+
create: (prefix) => fs.mkdtemp(path.join(os.tmpdir(), prefix)),
|
|
13
|
+
remove: (directory) => fs.remove(directory),
|
|
14
|
+
};
|
|
15
|
+
/** Run one operation in a disposable directory without allowing filesystem failures to escape Result. */
|
|
16
|
+
async function withTempDirectory(prefix, errorFactory, operation, port = nodeTempDirectoryPort) {
|
|
17
|
+
let directory;
|
|
18
|
+
try {
|
|
19
|
+
directory = await port.create(prefix);
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
return (0, neverthrow_1.err)(errorFactory("allocate", error));
|
|
23
|
+
}
|
|
24
|
+
let outcome;
|
|
25
|
+
try {
|
|
26
|
+
outcome = await operation(directory);
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
outcome = (0, neverthrow_1.err)(errorFactory("operate", error));
|
|
30
|
+
}
|
|
31
|
+
try {
|
|
32
|
+
await port.remove(directory);
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
if (outcome.isOk()) {
|
|
36
|
+
return (0, neverthrow_1.err)(errorFactory("cleanup", error));
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return outcome;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=withTempDirectory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withTempDirectory.js","sourceRoot":"","sources":["../../../src/v4/runtime/withTempDirectory.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;AAqBlC,8CA4BC;;AA9CD,qDAA+B;AAC/B,+CAAyB;AACzB,mDAA6B;AAC7B,2CAAyC;AASzC,MAAM,qBAAqB,GAAsB;IAC/C,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;IAC9D,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC;CAC5C,CAAC;AAEF,yGAAyG;AAClG,KAAK,UAAU,iBAAiB,CACrC,MAAc,EACd,YAAoE,EACpE,SAA6D,EAC7D,OAA0B,qBAAqB;IAE/C,IAAI,SAAiB,CAAC;IACtB,IAAI,CAAC;QACH,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAA,gBAAG,EAAC,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,OAA2B,CAAC;IAChC,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,GAAG,IAAA,gBAAG,EAAC,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YACnB,OAAO,IAAA,gBAAG,EAAC,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { FxError, Inputs } from "@microsoft/teamsfx-api";
|
|
2
|
+
import { Result } from "neverthrow";
|
|
3
|
+
import { QuestionSpec, Validator } from "../collectInputs/collectInputs";
|
|
4
|
+
import { Answers } from "../model/dataModel";
|
|
5
|
+
export interface CreateFloorTail {
|
|
6
|
+
questions: QuestionSpec[];
|
|
7
|
+
answers: Answers;
|
|
8
|
+
validators: Record<string, Validator>;
|
|
9
|
+
}
|
|
10
|
+
export declare function createFloorTail(inputs: Inputs | undefined, languages: string[], showPythonPreview?: boolean): Promise<Result<CreateFloorTail, FxError>>;
|
|
11
|
+
export declare function validateCreateFloorAnswers(inputs: Inputs, answers: Answers): Promise<Result<undefined, FxError>>;
|
|
12
|
+
//# sourceMappingURL=createFloorTail.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createFloorTail.d.ts","sourceRoot":"","sources":["../../../src/v4/surface/createFloorTail.ts"],"names":[],"mappings":"AAGA,OAAO,EAAkB,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,MAAM,EAAW,MAAM,YAAY,CAAC;AAI7C,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAqB7C,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CACvC;AAwBD,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,SAAS,EAAE,MAAM,EAAE,EACnB,iBAAiB,UAAQ,GACxB,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAiF3C;AAED,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAmBrC"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT license.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.createFloorTail = createFloorTail;
|
|
6
|
+
exports.validateCreateFloorAnswers = validateCreateFloorAnswers;
|
|
7
|
+
const neverthrow_1 = require("neverthrow");
|
|
8
|
+
const localizeUtils_1 = require("../../common/localizeUtils");
|
|
9
|
+
const common_1 = require("../../error/common");
|
|
10
|
+
const question_1 = require("../../question");
|
|
11
|
+
const LANGUAGE_LABELS = {
|
|
12
|
+
javascript: "JavaScript",
|
|
13
|
+
typescript: "TypeScript",
|
|
14
|
+
csharp: "C#",
|
|
15
|
+
python: "Python",
|
|
16
|
+
};
|
|
17
|
+
const PYTHON_LANGUAGE = "python";
|
|
18
|
+
function languageOption(language, showPythonPreview) {
|
|
19
|
+
return {
|
|
20
|
+
id: language,
|
|
21
|
+
label: LANGUAGE_LABELS[language] ?? language,
|
|
22
|
+
description: showPythonPreview && language === PYTHON_LANGUAGE
|
|
23
|
+
? (0, localizeUtils_1.getLocalizedString)("core.createProjectQuestion.option.description.preview")
|
|
24
|
+
: undefined,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
function isFuncValidation(value) {
|
|
28
|
+
return (typeof value === "object" &&
|
|
29
|
+
value !== null &&
|
|
30
|
+
typeof Reflect.get(value, "validFunc") === "function");
|
|
31
|
+
}
|
|
32
|
+
function getStringValidationFunc(validation) {
|
|
33
|
+
return isFuncValidation(validation) ? validation.validFunc : undefined;
|
|
34
|
+
}
|
|
35
|
+
async function resolveStringValue(value, inputs) {
|
|
36
|
+
return typeof value === "function" ? await value(inputs) : value;
|
|
37
|
+
}
|
|
38
|
+
async function createFloorTail(inputs, languages, showPythonPreview = false) {
|
|
39
|
+
const questions = [];
|
|
40
|
+
const answers = {};
|
|
41
|
+
if (languages.length > 1) {
|
|
42
|
+
questions.push({
|
|
43
|
+
name: "language",
|
|
44
|
+
type: "singleSelect",
|
|
45
|
+
title: "Programming Language",
|
|
46
|
+
default: languages[0],
|
|
47
|
+
staticOptions: languages.map((language) => languageOption(language, showPythonPreview)),
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
else if (languages.length === 1 && languages[0] !== "common") {
|
|
51
|
+
answers.language = languages[0];
|
|
52
|
+
}
|
|
53
|
+
if (inputs === undefined) {
|
|
54
|
+
return (0, neverthrow_1.ok)({ questions, answers, validators: {} });
|
|
55
|
+
}
|
|
56
|
+
const folder = (0, question_1.folderQuestion)();
|
|
57
|
+
const appName = (0, question_1.appNameQuestion)();
|
|
58
|
+
const existingFolder = inputs[question_1.QuestionNames.Folder];
|
|
59
|
+
if (typeof existingFolder === "string") {
|
|
60
|
+
answers[question_1.QuestionNames.Folder] = existingFolder;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
const defaultFolder = await resolveStringValue(folder.default, inputs);
|
|
64
|
+
if (inputs.nonInteractive) {
|
|
65
|
+
if (defaultFolder !== undefined) {
|
|
66
|
+
answers[question_1.QuestionNames.Folder] = defaultFolder;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
questions.push({
|
|
71
|
+
name: folder.name,
|
|
72
|
+
type: "folder",
|
|
73
|
+
title: (await resolveStringValue(folder.title, inputs)) ?? folder.name,
|
|
74
|
+
placeholder: await resolveStringValue(folder.placeholder, inputs),
|
|
75
|
+
prompt: await resolveStringValue(folder.prompt, inputs),
|
|
76
|
+
default: defaultFolder,
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
const existingAppName = inputs[question_1.QuestionNames.AppName];
|
|
81
|
+
if (typeof existingAppName === "string") {
|
|
82
|
+
answers[question_1.QuestionNames.AppName] = existingAppName;
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
const defaultAppName = await resolveStringValue(appName.default, inputs);
|
|
86
|
+
if (inputs.nonInteractive) {
|
|
87
|
+
if (defaultAppName === undefined) {
|
|
88
|
+
return (0, neverthrow_1.err)(new common_1.MissingRequiredInputError(question_1.QuestionNames.AppName, "createFrontDoor"));
|
|
89
|
+
}
|
|
90
|
+
answers[question_1.QuestionNames.AppName] = defaultAppName;
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
questions.push({
|
|
94
|
+
name: appName.name,
|
|
95
|
+
type: "text",
|
|
96
|
+
title: (await resolveStringValue(appName.title, inputs)) ?? appName.name,
|
|
97
|
+
placeholder: await resolveStringValue(appName.placeholder, inputs),
|
|
98
|
+
prompt: await resolveStringValue(appName.prompt, inputs),
|
|
99
|
+
default: defaultAppName,
|
|
100
|
+
validation: "appName",
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
const validateAppName = getStringValidationFunc(appName.validation);
|
|
105
|
+
const floorValidators = {};
|
|
106
|
+
if (validateAppName !== undefined) {
|
|
107
|
+
floorValidators.appName = async (value, currentAnswers) => {
|
|
108
|
+
const validationInputs = { ...inputs };
|
|
109
|
+
const folderAnswer = currentAnswers[question_1.QuestionNames.Folder];
|
|
110
|
+
if (typeof folderAnswer === "string") {
|
|
111
|
+
validationInputs[question_1.QuestionNames.Folder] = folderAnswer;
|
|
112
|
+
}
|
|
113
|
+
return validateAppName(value, validationInputs);
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
return (0, neverthrow_1.ok)({ questions, answers, validators: floorValidators });
|
|
117
|
+
}
|
|
118
|
+
async function validateCreateFloorAnswers(inputs, answers) {
|
|
119
|
+
const appName = answers[question_1.QuestionNames.AppName];
|
|
120
|
+
if (typeof appName !== "string") {
|
|
121
|
+
return (0, neverthrow_1.err)(new common_1.MissingRequiredInputError(question_1.QuestionNames.AppName, "createFrontDoor"));
|
|
122
|
+
}
|
|
123
|
+
const validateAppName = getStringValidationFunc((0, question_1.appNameQuestion)().validation);
|
|
124
|
+
if (validateAppName === undefined) {
|
|
125
|
+
return (0, neverthrow_1.ok)(undefined);
|
|
126
|
+
}
|
|
127
|
+
const validationInputs = { ...inputs };
|
|
128
|
+
const folderAnswer = answers[question_1.QuestionNames.Folder];
|
|
129
|
+
if (typeof folderAnswer === "string") {
|
|
130
|
+
validationInputs[question_1.QuestionNames.Folder] = folderAnswer;
|
|
131
|
+
}
|
|
132
|
+
const message = await validateAppName(appName, validationInputs);
|
|
133
|
+
if (message !== undefined) {
|
|
134
|
+
return (0, neverthrow_1.err)(new common_1.InputValidationError(question_1.QuestionNames.AppName, message, "createFrontDoor"));
|
|
135
|
+
}
|
|
136
|
+
return (0, neverthrow_1.ok)(undefined);
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=createFloorTail.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createFloorTail.js","sourceRoot":"","sources":["../../../src/v4/surface/createFloorTail.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { FxError, Inputs, UserInteraction } from "@microsoft/teamsfx-api";
|
|
2
2
|
import { Result } from "neverthrow";
|
|
3
|
-
import { MCPFetchResult } from "../../
|
|
4
|
-
import { type ODRServer } from "../../
|
|
3
|
+
import { MCPFetchResult } from "../../common/mcpToolFetcher";
|
|
4
|
+
import { type ODRServer } from "../../common/odrProvider";
|
|
5
5
|
import { SearchOpenAPISpecResult } from "../../common/kiotaClient";
|
|
6
6
|
import { OptionsProvider } from "../collectInputs/collectInputs";
|
|
7
7
|
import { Answers, DeclarativeLocator } from "../model/dataModel";
|
|
@@ -23,7 +23,29 @@ export interface CreateInputsDeps {
|
|
|
23
23
|
listLocalMcpServers?: () => Promise<ODRServer[]>;
|
|
24
24
|
/** Search public OpenAPI descriptions for the v3-compatible OpenAPI source picker. */
|
|
25
25
|
searchOpenAPISpec?: (query: string) => Promise<SearchOpenAPISpecResult[]>;
|
|
26
|
+
/** Continue Q1's step numbering (its `promptCount`) so Q2's first prompt shows a Back button. */
|
|
27
|
+
baseStep?: number;
|
|
28
|
+
/** When true, a back past Q2's first prompt returns `{ kind: "back" }` (the front door re-enters Q1). */
|
|
29
|
+
backable?: boolean;
|
|
26
30
|
}
|
|
27
|
-
/**
|
|
31
|
+
/** The create-input walk's outcome: completed answers, or a `back` for the front door's re-entry loop. */
|
|
32
|
+
export type CreateInputsOutcome = {
|
|
33
|
+
kind: "done";
|
|
34
|
+
answers: Answers;
|
|
35
|
+
} | {
|
|
36
|
+
kind: "back";
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Run one create template's Q2 + common floor over the host surface, returning a
|
|
40
|
+
* resumable outcome. `deps.baseStep` continues Q1's step numbering and
|
|
41
|
+
* `deps.backable` turns a back past the first prompt into a `{ kind: "back" }`
|
|
42
|
+
* outcome (the front door then re-enters Q1). See collect-create-inputs CCI-25/26.
|
|
43
|
+
*/
|
|
44
|
+
export declare function runCreateInputsWalk(floorBytes: Buffer, locator: DeclarativeLocator, entryParams: Answers, ui: UserInteraction, deps?: CreateInputsDeps): Promise<Result<CreateInputsOutcome, FxError>>;
|
|
45
|
+
/**
|
|
46
|
+
* Run one create template's Q2 over the host surface — the stable non-resumable
|
|
47
|
+
* entry over {@link runCreateInputsWalk} (`backable` off), so a back past the
|
|
48
|
+
* first prompt cancels and the result is the plain `Answers`.
|
|
49
|
+
*/
|
|
28
50
|
export declare function runCreateInputs(floorBytes: Buffer, locator: DeclarativeLocator, entryParams: Answers, ui: UserInteraction, deps?: CreateInputsDeps): Promise<Result<Answers, FxError>>;
|
|
29
51
|
//# sourceMappingURL=createInputs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createInputs.d.ts","sourceRoot":"","sources":["../../../src/v4/surface/createInputs.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"createInputs.d.ts","sourceRoot":"","sources":["../../../src/v4/surface/createInputs.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAa,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,MAAM,EAAW,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAiB,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAEvE,OAAO,EAAE,uBAAuB,EAAqB,MAAM,0BAA0B,CAAC;AACtF,OAAO,EAEL,eAAe,EAGhB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAqDjE,gFAAgF;AAChF,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GACpC,MAAM,EAAE,CAGV;AAWD,oDAAoD;AACpD,MAAM,WAAW,gBAAgB;IAC/B,kGAAkG;IAClG,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAClD,+EAA+E;IAC/E,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACvC,wGAAwG;IACxG,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oGAAoG;IACpG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IAC/D,wEAAwE;IACxE,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IACjD,sFAAsF;IACtF,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAC1E,iGAAiG;IACjG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yGAAyG;IACzG,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,0GAA0G;AAC1G,MAAM,MAAM,mBAAmB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAExF;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,kBAAkB,EAC3B,WAAW,EAAE,OAAO,EACpB,EAAE,EAAE,eAAe,EACnB,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC,CAyE/C;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,kBAAkB,EAC3B,WAAW,EAAE,OAAO,EACpB,EAAE,EAAE,eAAe,EACnB,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAkBnC"}
|