@microsoft/teamsfx-core 3.0.15-beta.2026072312.0 → 3.0.15
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 +5 -0
- package/build/common/featureFlags.d.ts.map +1 -1
- package/build/common/featureFlags.js +5 -0
- package/build/common/featureFlags.js.map +1 -1
- package/build/common/secretmasker/dict.d.ts.map +1 -1
- package/build/common/secretmasker/dict.js +2 -5
- 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/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 +0 -3
- package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.d.ts.map +1 -1
- package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.js +3 -38
- 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 +0 -1
- package/build/component/driver/teamsApp/createAppPackage.d.ts.map +1 -1
- package/build/component/driver/teamsApp/createAppPackage.js +0 -23
- 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 +0 -1
- package/build/component/generator/officeAddin/generator.d.ts.map +1 -1
- package/build/component/generator/officeAddin/generator.js +2 -109
- package/build/component/generator/officeAddin/generator.js.map +1 -1
- package/build/component/generator/openApiSpec/helper.d.ts +3 -2
- package/build/component/generator/openApiSpec/helper.d.ts.map +1 -1
- package/build/component/generator/openApiSpec/helper.js +56 -6
- package/build/component/generator/openApiSpec/helper.js.map +1 -1
- package/build/component/generator/templateHelper.d.ts +2 -10
- package/build/component/generator/templateHelper.d.ts.map +1 -1
- package/build/component/generator/templateHelper.js +3 -16
- package/build/component/generator/templateHelper.js.map +1 -1
- package/build/component/generator/templates/templateNames.d.ts +0 -2
- package/build/component/generator/templates/templateNames.d.ts.map +1 -1
- package/build/component/generator/templates/templateNames.js +0 -2
- 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 +0 -6
- package/build/component/generator/utils.js.map +1 -1
- package/build/component/generator/v4TemplateBridge.d.ts +1 -4
- package/build/component/generator/v4TemplateBridge.d.ts.map +1 -1
- package/build/component/generator/v4TemplateBridge.js +3 -11
- 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 +1 -4
- package/build/component/utils/fileOperation.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 +72 -1
- package/build/component/utils/mcpToolFetcher.d.ts.map +1 -1
- package/build/component/utils/mcpToolFetcher.js +227 -1
- package/build/component/utils/mcpToolFetcher.js.map +1 -1
- package/build/component/utils/odrProvider.d.ts +55 -1
- package/build/component/utils/odrProvider.d.ts.map +1 -1
- package/build/component/utils/odrProvider.js +101 -1
- 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 +0 -41
- package/build/core/FxCore.declarativeAgent.js.map +1 -1
- package/build/core/FxCore.js +5 -3
- package/build/core/FxCore.js.map +1 -1
- package/build/core/createFrontDoorAdapters.d.ts +25 -1
- package/build/core/createFrontDoorAdapters.d.ts.map +1 -1
- package/build/core/createFrontDoorAdapters.js +155 -4
- package/build/core/createFrontDoorAdapters.js.map +1 -1
- package/build/core/createProjectFrontDoor.d.ts +12 -10
- package/build/core/createProjectFrontDoor.d.ts.map +1 -1
- package/build/core/createProjectFrontDoor.js +106 -141
- package/build/core/createProjectFrontDoor.js.map +1 -1
- package/build/core/modifyProjectFrontDoor.d.ts +1 -0
- package/build/core/modifyProjectFrontDoor.d.ts.map +1 -1
- package/build/core/modifyProjectFrontDoor.js +2 -0
- package/build/core/modifyProjectFrontDoor.js.map +1 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +0 -2
- package/build/index.js.map +1 -1
- package/build/question/inputs/AddKnowledgeInputs.d.ts.map +1 -1
- package/build/question/inputs/CreateProjectInputs.d.ts +0 -4
- 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 +0 -14
- package/build/question/options/CreateProjectOptions.js.map +1 -1
- package/build/question/other.d.ts.map +1 -1
- package/build/question/other.js +1 -2
- package/build/question/other.js.map +1 -1
- package/build/question/questionNames.d.ts +0 -2
- package/build/question/questionNames.d.ts.map +1 -1
- package/build/question/questionNames.js +0 -2
- package/build/question/questionNames.js.map +1 -1
- package/build/question/scaffold/constructNode.d.ts +1 -3
- package/build/question/scaffold/constructNode.d.ts.map +1 -1
- package/build/question/scaffold/constructNode.js +0 -50
- package/build/question/scaffold/constructNode.js.map +1 -1
- package/build/question/scaffold/vsc/CapabilityOptions.d.ts +0 -2
- package/build/question/scaffold/vsc/CapabilityOptions.d.ts.map +1 -1
- package/build/question/scaffold/vsc/CapabilityOptions.js +0 -16
- package/build/question/scaffold/vsc/CapabilityOptions.js.map +1 -1
- package/build/question/scaffold/vsc/teamsProjectTypeNode.d.ts.map +1 -1
- package/build/question/scaffold/vsc/teamsProjectTypeNode.js +7 -0
- package/build/question/scaffold/vsc/teamsProjectTypeNode.js.map +1 -1
- package/build/v4/buildTarget/parseSelector.d.ts +2 -6
- package/build/v4/buildTarget/parseSelector.d.ts.map +1 -1
- package/build/v4/buildTarget/parseSelector.js +45 -58
- package/build/v4/buildTarget/parseSelector.js.map +1 -1
- package/build/v4/buildTarget/resolveBuildTarget.d.ts +7 -21
- package/build/v4/buildTarget/resolveBuildTarget.d.ts.map +1 -1
- package/build/v4/buildTarget/resolveBuildTarget.js +52 -97
- package/build/v4/buildTarget/resolveBuildTarget.js.map +1 -1
- package/build/v4/collectInputs/collectInputs.d.ts +9 -50
- package/build/v4/collectInputs/collectInputs.d.ts.map +1 -1
- package/build/v4/collectInputs/collectInputs.js +91 -274
- 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 +29 -2
- 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 +30 -2
- package/build/v4/distribution/declarativePackage.js.map +1 -1
- package/build/v4/expression/evaluateExpression.d.ts +0 -13
- package/build/v4/expression/evaluateExpression.d.ts.map +1 -1
- package/build/v4/expression/evaluateExpression.js +0 -57
- package/build/v4/expression/evaluateExpression.js.map +1 -1
- package/build/v4/index.d.ts +0 -7
- package/build/v4/index.d.ts.map +1 -1
- package/build/v4/index.js +0 -7
- package/build/v4/index.js.map +1 -1
- 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 +4 -20
- package/build/v4/pipeline/runScaffoldPipeline.d.ts.map +1 -1
- package/build/v4/pipeline/runScaffoldPipeline.js +9 -61
- package/build/v4/pipeline/runScaffoldPipeline.js.map +1 -1
- package/build/v4/renderContext/buildRenderContext.d.ts.map +1 -1
- package/build/v4/renderContext/buildRenderContext.js +2 -1
- package/build/v4/renderContext/buildRenderContext.js.map +1 -1
- package/build/v4/runtime/inMemoryRuntime.d.ts +1 -4
- package/build/v4/runtime/inMemoryRuntime.d.ts.map +1 -1
- package/build/v4/runtime/inMemoryRuntime.js +3 -22
- 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 +8 -64
- package/build/v4/runtime/packageParse.js.map +1 -1
- package/build/v4/runtime/realRuntime.d.ts +1 -2
- package/build/v4/runtime/realRuntime.d.ts.map +1 -1
- package/build/v4/runtime/realRuntime.js +2 -3
- 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 +4 -13
- package/build/v4/runtime/renderMustache.js.map +1 -1
- package/build/v4/runtime/runtimeRegistry.d.ts +3 -12
- package/build/v4/runtime/runtimeRegistry.d.ts.map +1 -1
- package/build/v4/runtime/runtimeRegistry.js +17 -123
- package/build/v4/runtime/runtimeRegistry.js.map +1 -1
- package/build/v4/runtime/scaffold.d.ts +0 -1
- package/build/v4/runtime/scaffold.d.ts.map +1 -1
- package/build/v4/runtime/scaffold.js +20 -1
- 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 +111 -3
- package/build/v4/runtime/steps/daAction.js.map +1 -1
- package/build/v4/runtime/steps/mcpAuth.d.ts +2 -5
- package/build/v4/runtime/steps/mcpAuth.d.ts.map +1 -1
- package/build/v4/runtime/steps/mcpAuth.js +66 -37
- package/build/v4/runtime/steps/mcpAuth.js.map +1 -1
- package/build/v4/runtime/steps/mcpLocal.d.ts +4 -0
- package/build/v4/runtime/steps/mcpLocal.d.ts.map +1 -1
- package/build/v4/runtime/steps/mcpLocal.js +31 -11
- 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 +32 -14
- 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 +51 -39
- 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 +12 -7
- 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 +555 -47
- package/build/v4/runtime/steps/openApi.js.map +1 -1
- package/build/v4/surface/createInputs.d.ts +3 -25
- package/build/v4/surface/createInputs.d.ts.map +1 -1
- package/build/v4/surface/createInputs.js +431 -54
- package/build/v4/surface/createInputs.js.map +1 -1
- package/build/v4/surface/createSelectorWalk.d.ts +3 -8
- package/build/v4/surface/createSelectorWalk.d.ts.map +1 -1
- package/build/v4/surface/createSelectorWalk.js +11 -21
- package/build/v4/surface/createSelectorWalk.js.map +1 -1
- package/build/v4/surface/modifySelectorWalk.d.ts.map +1 -1
- package/build/v4/surface/modifySelectorWalk.js +3 -0
- 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 +41 -36
- package/build/v4/surface/uiPromptUI.js.map +1 -1
- package/build/v4/validation/validateTemplatePackage.d.ts +2 -21
- package/build/v4/validation/validateTemplatePackage.d.ts.map +1 -1
- package/build/v4/validation/validateTemplatePackage.js +31 -155
- package/build/v4/validation/validateTemplatePackage.js.map +1 -1
- package/package.json +20 -26
- package/resource/package.nls.cs.json +0 -1
- package/resource/package.nls.de.json +54 -55
- package/resource/package.nls.es.json +0 -1
- package/resource/package.nls.fr.json +0 -1
- package/resource/package.nls.it.json +0 -1
- package/resource/package.nls.ja.json +0 -1
- package/resource/package.nls.json +0 -2
- package/resource/package.nls.ko.json +0 -1
- package/resource/package.nls.pl.json +0 -1
- package/resource/package.nls.pt-BR.json +0 -1
- package/resource/package.nls.ru.json +0 -1
- package/resource/package.nls.tr.json +0 -1
- package/resource/package.nls.zh-Hans.json +0 -1
- package/resource/package.nls.zh-Hant.json +0 -1
- package/resource/templates/package.nls.cs.json +2 -9
- package/resource/templates/package.nls.de.json +2 -9
- package/resource/templates/package.nls.es.json +2 -9
- package/resource/templates/package.nls.fr.json +2 -9
- package/resource/templates/package.nls.it.json +2 -9
- package/resource/templates/package.nls.ja.json +2 -9
- package/resource/templates/package.nls.json +3 -16
- package/resource/templates/package.nls.ko.json +2 -9
- package/resource/templates/package.nls.pl.json +2 -9
- package/resource/templates/package.nls.pt-BR.json +2 -9
- package/resource/templates/package.nls.ru.json +2 -9
- package/resource/templates/package.nls.tr.json +2 -9
- package/resource/templates/package.nls.zh-Hans.json +2 -9
- package/resource/templates/package.nls.zh-Hant.json +2 -9
- package/resource/templates/package.nls.zh-cn.json +1 -7
- package/resource/templates/package.nls.zh-tw.json +1 -7
- package/templates/configs/local/typescript/.gitignore +1 -0
- package/templates/configs/playground/typescript/.gitignore +4 -0
- 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 +2 -16
- package/templates/metadata.zip +0 -0
- package/templates/ui/wizardNode.json +0 -24
- package/templates/v4/create-selector.json +5 -12
- package/templates/v4/floor.json +1 -1
- package/templates/v4/modify-selector.json +6 -1
- package/templates/v4/templates-metadata.zip +0 -0
- package/templates/v4/templates.zip +0 -0
- package/build/common/httpProxy.d.ts +0 -21
- package/build/common/httpProxy.d.ts.map +0 -1
- package/build/common/httpProxy.js +0 -117
- package/build/common/httpProxy.js.map +0 -1
- package/build/common/mcpToolFetcher.d.ts +0 -31
- package/build/common/mcpToolFetcher.d.ts.map +0 -1
- package/build/common/mcpToolFetcher.js +0 -182
- package/build/common/mcpToolFetcher.js.map +0 -1
- package/build/common/odrProvider.d.ts +0 -43
- package/build/common/odrProvider.d.ts.map +0 -1
- package/build/common/odrProvider.js +0 -154
- package/build/common/odrProvider.js.map +0 -1
- package/build/common/openApiParserOptions.d.ts +0 -3
- package/build/common/openApiParserOptions.d.ts.map +0 -1
- package/build/common/openApiParserOptions.js +0 -61
- package/build/common/openApiParserOptions.js.map +0 -1
- package/build/v4/distribution/questionFragments.d.ts +0 -11
- package/build/v4/distribution/questionFragments.d.ts.map +0 -1
- package/build/v4/distribution/questionFragments.js +0 -130
- package/build/v4/distribution/questionFragments.js.map +0 -1
- package/build/v4/engineVersion.d.ts +0 -7
- package/build/v4/engineVersion.d.ts.map +0 -1
- package/build/v4/engineVersion.js +0 -12
- package/build/v4/engineVersion.js.map +0 -1
- package/build/v4/inspection/scaffoldCatalog.d.ts +0 -28
- package/build/v4/inspection/scaffoldCatalog.d.ts.map +0 -1
- package/build/v4/inspection/scaffoldCatalog.js +0 -66
- package/build/v4/inspection/scaffoldCatalog.js.map +0 -1
- package/build/v4/inspection/scaffoldMetadataSource.d.ts +0 -6
- package/build/v4/inspection/scaffoldMetadataSource.d.ts.map +0 -1
- package/build/v4/inspection/scaffoldMetadataSource.js +0 -78
- package/build/v4/inspection/scaffoldMetadataSource.js.map +0 -1
- package/build/v4/mcp/mcpAuthAction.d.ts +0 -28
- package/build/v4/mcp/mcpAuthAction.d.ts.map +0 -1
- package/build/v4/mcp/mcpAuthAction.js +0 -162
- package/build/v4/mcp/mcpAuthAction.js.map +0 -1
- package/build/v4/mcp/mcpAuthScaffold.d.ts +0 -37
- package/build/v4/mcp/mcpAuthScaffold.d.ts.map +0 -1
- package/build/v4/mcp/mcpAuthScaffold.js +0 -140
- package/build/v4/mcp/mcpAuthScaffold.js.map +0 -1
- package/build/v4/providers/createOptionsProviders.d.ts +0 -11
- package/build/v4/providers/createOptionsProviders.d.ts.map +0 -1
- package/build/v4/providers/createOptionsProviders.js +0 -268
- package/build/v4/providers/createOptionsProviders.js.map +0 -1
- package/build/v4/runtime/generalSensitivityLabel.d.ts +0 -5
- package/build/v4/runtime/generalSensitivityLabel.d.ts.map +0 -1
- package/build/v4/runtime/generalSensitivityLabel.js +0 -36
- package/build/v4/runtime/generalSensitivityLabel.js.map +0 -1
- package/build/v4/runtime/steps/daSensitivity.d.ts +0 -14
- package/build/v4/runtime/steps/daSensitivity.d.ts.map +0 -1
- package/build/v4/runtime/steps/daSensitivity.js +0 -50
- package/build/v4/runtime/steps/daSensitivity.js.map +0 -1
- package/build/v4/runtime/steps/openApiCustomApi.d.ts +0 -5
- package/build/v4/runtime/steps/openApiCustomApi.d.ts.map +0 -1
- package/build/v4/runtime/steps/openApiCustomApi.js +0 -385
- package/build/v4/runtime/steps/openApiCustomApi.js.map +0 -1
- package/build/v4/runtime/withTempDirectory.d.ts +0 -10
- package/build/v4/runtime/withTempDirectory.d.ts.map +0 -1
- package/build/v4/runtime/withTempDirectory.js +0 -41
- package/build/v4/runtime/withTempDirectory.js.map +0 -1
- package/build/v4/surface/createFloorTail.d.ts +0 -12
- package/build/v4/surface/createFloorTail.d.ts.map +0 -1
- package/build/v4/surface/createFloorTail.js +0 -138
- package/build/v4/surface/createFloorTail.js.map +0 -1
- package/build/v4/surface/localizePrompt.d.ts +0 -11
- package/build/v4/surface/localizePrompt.d.ts.map +0 -1
- package/build/v4/surface/localizePrompt.js +0 -32
- package/build/v4/surface/localizePrompt.js.map +0 -1
- package/build/v4/validation/capabilityCatalog.d.ts +0 -8
- package/build/v4/validation/capabilityCatalog.d.ts.map +0 -1
- package/build/v4/validation/capabilityCatalog.js +0 -61
- package/build/v4/validation/capabilityCatalog.js.map +0 -1
- package/build/v4/validation/templateArchiveValidation.d.ts +0 -15
- package/build/v4/validation/templateArchiveValidation.d.ts.map +0 -1
- package/build/v4/validation/templateArchiveValidation.js +0 -297
- package/build/v4/validation/templateArchiveValidation.js.map +0 -1
- package/build/v4/validators/createInputValidators.d.ts +0 -7
- package/build/v4/validators/createInputValidators.d.ts.map +0 -1
- package/build/v4/validators/createInputValidators.js +0 -75
- package/build/v4/validators/createInputValidators.js.map +0 -1
- package/build/v4/validators/mcpCredentialValidators.d.ts +0 -5
- package/build/v4/validators/mcpCredentialValidators.d.ts.map +0 -1
- package/build/v4/validators/mcpCredentialValidators.js +0 -13
- package/build/v4/validators/mcpCredentialValidators.js.map +0 -1
|
@@ -85,12 +85,5 @@
|
|
|
85
85
|
"template.newCFShortcut.detail": "具有自訂功能和捷徑的工作窗格附加元件",
|
|
86
86
|
"template.newCFShortcut.label": "自訂函式和捷徑",
|
|
87
87
|
"template.newTaskpaneAddin.detail": "在工作窗格中使用按鈕和內嵌內容來自訂功能區",
|
|
88
|
-
"template.newTaskpaneAddin.label": "工作窗格"
|
|
89
|
-
|
|
90
|
-
"template.officeAddin.hosts.placeholder": "Select at least one Office application",
|
|
91
|
-
"template.officeAddin.hosts.word.label": "Word",
|
|
92
|
-
"template.officeAddin.hosts.powerpoint.label": "PowerPoint",
|
|
93
|
-
"template.officeAddin.hosts.outlook.label": "Outlook",
|
|
94
|
-
"template.officeAddin.hosts.excel.label": "Excel",
|
|
95
|
-
"template.officeAddin.hosts.validation.minItems": "Select at least one Office application to continue."
|
|
96
|
-
}
|
|
88
|
+
"template.newTaskpaneAddin.label": "工作窗格"
|
|
89
|
+
}
|
|
@@ -64,11 +64,5 @@
|
|
|
64
64
|
"template.newCFShortcut.detail": "Task pane add-in with custom function and shortcut",
|
|
65
65
|
"template.newCFShortcut.label": "Custom Function and Shortcut",
|
|
66
66
|
"template.newTaskpaneAddin.detail": "在任务窗格中使用按钮和嵌入内容自定义功能区",
|
|
67
|
-
"template.newTaskpaneAddin.label": "任务窗格"
|
|
68
|
-
"template.officeAddin.hosts.title": "Select the Office applications to support",
|
|
69
|
-
"template.officeAddin.hosts.placeholder": "Select at least one Office application",
|
|
70
|
-
"template.officeAddin.hosts.word.label": "Word",
|
|
71
|
-
"template.officeAddin.hosts.powerpoint.label": "PowerPoint",
|
|
72
|
-
"template.officeAddin.hosts.outlook.label": "Outlook",
|
|
73
|
-
"template.officeAddin.hosts.excel.label": "Excel"
|
|
67
|
+
"template.newTaskpaneAddin.label": "任务窗格"
|
|
74
68
|
}
|
|
@@ -64,11 +64,5 @@
|
|
|
64
64
|
"template.newCFShortcut.detail": "Task pane add-in with custom function and shortcut",
|
|
65
65
|
"template.newCFShortcut.label": "Custom Function and Shortcut",
|
|
66
66
|
"template.newTaskpaneAddin.detail": "在工作窗格中使用按鈕和內嵌內容來自訂功能區",
|
|
67
|
-
"template.newTaskpaneAddin.label": "工作窗格"
|
|
68
|
-
"template.officeAddin.hosts.title": "Select the Office applications to support",
|
|
69
|
-
"template.officeAddin.hosts.placeholder": "Select at least one Office application",
|
|
70
|
-
"template.officeAddin.hosts.word.label": "Word",
|
|
71
|
-
"template.officeAddin.hosts.powerpoint.label": "PowerPoint",
|
|
72
|
-
"template.officeAddin.hosts.outlook.label": "Outlook",
|
|
73
|
-
"template.officeAddin.hosts.excel.label": "Excel"
|
|
67
|
+
"template.newTaskpaneAddin.label": "工作窗格"
|
|
74
68
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.localConfigs
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -405,22 +405,8 @@
|
|
|
405
405
|
"id": "office-addin-excel-cfshortcut-ts",
|
|
406
406
|
"name": "office-addin-excel-cfshortcut",
|
|
407
407
|
"language": "typescript",
|
|
408
|
-
"displayName": "Excel Custom Functions
|
|
409
|
-
"description": "Create custom functions in Excel
|
|
410
|
-
},
|
|
411
|
-
{
|
|
412
|
-
"id": "office-addin-excel-customfunctions-ts",
|
|
413
|
-
"name": "office-addin-excel-customfunctions",
|
|
414
|
-
"language": "typescript",
|
|
415
|
-
"displayName": "Excel Custom Functions (JavaScript-only Runtime)",
|
|
416
|
-
"description": "Create custom functions in Excel using a JavaScript-only runtime"
|
|
417
|
-
},
|
|
418
|
-
{
|
|
419
|
-
"id": "office-addin-sso-naa-ts",
|
|
420
|
-
"name": "office-addin-sso-naa",
|
|
421
|
-
"language": "typescript",
|
|
422
|
-
"displayName": "Single Sign-On with Nested App Auth",
|
|
423
|
-
"description": "Build a task pane add-in that uses Nested App Auth for single sign-on"
|
|
408
|
+
"displayName": "Excel Custom Functions",
|
|
409
|
+
"description": "Create custom functions in Excel with keyboard shortcuts"
|
|
424
410
|
},
|
|
425
411
|
{
|
|
426
412
|
"id": "office-addin-config-ts",
|
package/templates/metadata.zip
CHANGED
|
Binary file
|
|
@@ -390,18 +390,6 @@
|
|
|
390
390
|
"data": "office-addin-excel-cfshortcut",
|
|
391
391
|
"featureFlag": "TEAMSFX_CF_SHORTCUT_METAOS"
|
|
392
392
|
},
|
|
393
|
-
{
|
|
394
|
-
"id": "wxp-json-excel-cf",
|
|
395
|
-
"label": "template.newExcelCustomFunctions.label",
|
|
396
|
-
"detail": "template.newExcelCustomFunctions.detail",
|
|
397
|
-
"data": "office-addin-excel-customfunctions"
|
|
398
|
-
},
|
|
399
|
-
{
|
|
400
|
-
"id": "wxp-json-sso-naa",
|
|
401
|
-
"label": "template.newSsoNaa.label",
|
|
402
|
-
"detail": "template.newSsoNaa.detail",
|
|
403
|
-
"data": "office-addin-sso-naa"
|
|
404
|
-
},
|
|
405
393
|
{
|
|
406
394
|
"id": "office-addin-import",
|
|
407
395
|
"label": "template.importOfficeAddin.label",
|
|
@@ -411,18 +399,6 @@
|
|
|
411
399
|
]
|
|
412
400
|
},
|
|
413
401
|
"children": [
|
|
414
|
-
{
|
|
415
|
-
"condition": {
|
|
416
|
-
"equals": "wxp-json-taskpane"
|
|
417
|
-
},
|
|
418
|
-
"node": "officeAddinHostsNode"
|
|
419
|
-
},
|
|
420
|
-
{
|
|
421
|
-
"condition": {
|
|
422
|
-
"equals": "wxp-json-sso-naa"
|
|
423
|
-
},
|
|
424
|
-
"node": "officeAddinNaaHostNode"
|
|
425
|
-
},
|
|
426
402
|
{
|
|
427
403
|
"condition": {
|
|
428
404
|
"equals": "office-addin-import"
|
|
@@ -12,43 +12,36 @@
|
|
|
12
12
|
"label": "Declarative Agent",
|
|
13
13
|
"detail": "Create your own agent by declaring instructions, actions, & knowledge to suit your needs.",
|
|
14
14
|
"groupName": "Agents for Microsoft 365 Copilot",
|
|
15
|
-
"iconPath": "teamsfx-agent",
|
|
16
15
|
"keyPrefix": "template.createProjectQuestion.projectType.declarativeAgent" },
|
|
17
16
|
{ "id": "custom-engine-agent-type",
|
|
18
17
|
"label": "Custom Engine Agent",
|
|
19
18
|
"detail": "Build intelligent agent where you manage orchestration and provide your own LLM",
|
|
20
19
|
"groupName": "Agents for Microsoft 365 Copilot",
|
|
21
|
-
"iconPath": "teamsfx-custom-copilot",
|
|
22
20
|
"keyPrefix": "template.createProjectQuestion.projectType.customCopilot" },
|
|
23
21
|
{ "id": "graph-connector-type",
|
|
24
22
|
"label": "Copilot connectors",
|
|
25
23
|
"detail": "Embed your organization data to make it searchable in Microsoft 365 Copilot",
|
|
26
24
|
"groupName": "Agents for Microsoft 365 Copilot",
|
|
27
|
-
"iconPath": "teamsfx-graph-connector",
|
|
28
25
|
"keyPrefix": "template.createProjectQuestion.createGraphConnector" },
|
|
29
26
|
{ "id": "blank-app-type",
|
|
30
|
-
"label": "Blank
|
|
31
|
-
"detail": "
|
|
27
|
+
"label": "Blank App",
|
|
28
|
+
"detail": "Blank Microsoft 365 app with minimal structure",
|
|
32
29
|
"groupName": "Apps for Microsoft 365",
|
|
33
|
-
"iconPath": "file",
|
|
34
30
|
"keyPrefix": "template.createProjectQuestion.projectType.blankApp" },
|
|
35
31
|
{ "id": "teams-agent-and-app-type",
|
|
36
32
|
"label": "Teams Agents and Apps",
|
|
37
33
|
"detail": "Create agent, chat bot, web pages or other apps in Microsoft Teams using Microsoft Teams SDK.",
|
|
38
34
|
"groupName": "Apps for Microsoft 365",
|
|
39
|
-
"iconPath": "microsoft365-agents-toolkit-teams",
|
|
40
35
|
"keyPrefix": "template.createProjectQuestion.projectType.teamsAgentsAndApps" },
|
|
41
36
|
{ "id": "office-meta-os-type",
|
|
42
37
|
"label": "Office Add-in",
|
|
43
38
|
"detail": "Extend Office applications to interact with content in Office documents and Outlook items",
|
|
44
39
|
"groupName": "Apps for Microsoft 365",
|
|
45
|
-
"iconPath": "microsoft365-agents-office",
|
|
46
40
|
"keyPrefix": "template.createProjectQuestion.projectType.officeAddin" },
|
|
47
41
|
{ "id": "start-with-github-copilot",
|
|
48
42
|
"label": "Don't know how to start? Use GitHub Copilot Chat",
|
|
49
43
|
"detail": "Chat with GitHub Copilot and get step-by-step instructions to develop your app or Microsoft 365 Copilot agent.",
|
|
50
44
|
"groupName": "Use GitHub Copilot",
|
|
51
|
-
"iconPath": "question",
|
|
52
45
|
"condition": { "expr": "surface == 'vscode' && featureFlag('TEAMSFX_CHAT_PARTICIPANT_ENTRIES')" },
|
|
53
46
|
"keyPrefix": "template.createProjectQuestion.projectType.copilotHelp" }
|
|
54
47
|
]
|
|
@@ -56,7 +49,7 @@
|
|
|
56
49
|
{
|
|
57
50
|
"name": "daTemplate",
|
|
58
51
|
"type": "singleSelect",
|
|
59
|
-
"title": "
|
|
52
|
+
"title": "Declarative Agent",
|
|
60
53
|
"placeholder": "Add an action to your declarative agent",
|
|
61
54
|
"keyPrefix": "template.createProjectQuestion.declarativeCopilot",
|
|
62
55
|
"condition": { "expr": "projectType == 'copilot-agent-type'" },
|
|
@@ -221,8 +214,8 @@
|
|
|
221
214
|
"detail": "Customize the ribbon with a button and embed content in the task pane",
|
|
222
215
|
"keyPrefix": "template.newTaskpaneAddin" },
|
|
223
216
|
{ "id": "office-addin-excel-cfshortcut",
|
|
224
|
-
"label": "
|
|
225
|
-
"detail": "
|
|
217
|
+
"label": "Custom Function and Shortcut",
|
|
218
|
+
"detail": "Task pane add-in with custom function and shortcut",
|
|
226
219
|
"condition": { "featureFlag": "TEAMSFX_CF_SHORTCUT_METAOS" },
|
|
227
220
|
"keyPrefix": "template.newCFShortcut" },
|
|
228
221
|
{ "id": "office-addin-config",
|
package/templates/v4/floor.json
CHANGED
|
@@ -70,9 +70,14 @@
|
|
|
70
70
|
|
|
71
71
|
"routes": [
|
|
72
72
|
{
|
|
73
|
-
"when": "addCapability=='add-action' && actionSource=='mcp'",
|
|
73
|
+
"when": "addCapability=='add-action' && actionSource=='mcp' && featureFlag('TEAMSFX_MCP_FOR_DA_DT')",
|
|
74
74
|
"templateId": "add-mcp-server",
|
|
75
75
|
"engine": "v4"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"when": "addCapability=='add-action' && actionSource=='mcp' && !featureFlag('TEAMSFX_MCP_FOR_DA_DT')",
|
|
79
|
+
"engine": "v3-core-method",
|
|
80
|
+
"coreMethod": "addPlugin"
|
|
76
81
|
}
|
|
77
82
|
]
|
|
78
83
|
}
|
|
Binary file
|
|
Binary file
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { AxiosInstance, InternalAxiosRequestConfig } from "axios";
|
|
2
|
-
/**
|
|
3
|
-
* Attaches an HttpsProxyAgent (built from HTTPS_PROXY/HTTP_PROXY/NO_PROXY) to a
|
|
4
|
-
* single axios request when a proxy applies, and turns off axios's own proxy
|
|
5
|
-
* handling so the agent is used instead.
|
|
6
|
-
*/
|
|
7
|
-
export declare function applyProxyToRequest(config: InternalAxiosRequestConfig): InternalAxiosRequestConfig;
|
|
8
|
-
/**
|
|
9
|
-
* Installs the proxy interceptor on an axios instance (or the global default
|
|
10
|
-
* instance) so every request it sends honors the system proxy env vars.
|
|
11
|
-
*/
|
|
12
|
-
export declare function installProxyInterceptor(instance: AxiosInstance): void;
|
|
13
|
-
/**
|
|
14
|
-
* Installs the proxy interceptor on axios's global default instance, and wraps
|
|
15
|
-
* `axios.create` so every instance created afterwards also honors the system
|
|
16
|
-
* proxy env vars. Instances created via `axios.create()` do not inherit the
|
|
17
|
-
* default instance's interceptors, so wrapping `create` is how we cover the
|
|
18
|
-
* many clients in this package that spin up their own instance. Idempotent.
|
|
19
|
-
*/
|
|
20
|
-
export declare function installGlobalProxyInterceptor(): void;
|
|
21
|
-
//# sourceMappingURL=httpProxy.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"httpProxy.d.ts","sourceRoot":"","sources":["../../src/common/httpProxy.ts"],"names":[],"mappings":"AAGA,OAAc,EAAE,aAAa,EAAuB,0BAA0B,EAAE,MAAM,OAAO,CAAC;AAsE9F;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,0BAA0B,GACjC,0BAA0B,CAU5B;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAErE;AAID;;;;;;GAMG;AACH,wBAAgB,6BAA6B,IAAI,IAAI,CAcpD"}
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// Copyright (c) Microsoft Corporation.
|
|
3
|
-
// Licensed under the MIT license.
|
|
4
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.applyProxyToRequest = applyProxyToRequest;
|
|
6
|
-
exports.installProxyInterceptor = installProxyInterceptor;
|
|
7
|
-
exports.installGlobalProxyInterceptor = installGlobalProxyInterceptor;
|
|
8
|
-
const tslib_1 = require("tslib");
|
|
9
|
-
const axios_1 = tslib_1.__importDefault(require("axios"));
|
|
10
|
-
const https_proxy_agent_1 = require("https-proxy-agent");
|
|
11
|
-
// Node's global fetch and axios both fail to honor system proxy settings for
|
|
12
|
-
// HTTPS out of the box: axios's built-in `proxy` option mishandles HTTPS
|
|
13
|
-
// tunneling (it can send the request as a plain HTTP GET, leaking the URL and
|
|
14
|
-
// failing the handshake). We route HTTPS through an explicit HttpsProxyAgent
|
|
15
|
-
// instead and disable axios's own proxy logic. See GitHub issue #15644.
|
|
16
|
-
function getProxyForUrl(targetUrl) {
|
|
17
|
-
const httpsProxy = process.env.HTTPS_PROXY ?? process.env.https_proxy;
|
|
18
|
-
const httpProxy = process.env.HTTP_PROXY ?? process.env.http_proxy;
|
|
19
|
-
let isHttps;
|
|
20
|
-
try {
|
|
21
|
-
isHttps = new URL(targetUrl).protocol === "https:";
|
|
22
|
-
}
|
|
23
|
-
catch {
|
|
24
|
-
isHttps = targetUrl.startsWith("https:");
|
|
25
|
-
}
|
|
26
|
-
const proxy = isHttps ? (httpsProxy ?? httpProxy) : httpProxy;
|
|
27
|
-
if (!proxy) {
|
|
28
|
-
return undefined;
|
|
29
|
-
}
|
|
30
|
-
if (isNoProxy(targetUrl)) {
|
|
31
|
-
return undefined;
|
|
32
|
-
}
|
|
33
|
-
return proxy;
|
|
34
|
-
}
|
|
35
|
-
// Matches the standard NO_PROXY convention: comma/space-separated host list,
|
|
36
|
-
// optional leading "." or "*." wildcard, optional ":port". "*" bypasses all.
|
|
37
|
-
function isNoProxy(targetUrl) {
|
|
38
|
-
const noProxy = process.env.NO_PROXY ?? process.env.no_proxy;
|
|
39
|
-
if (!noProxy) {
|
|
40
|
-
return false;
|
|
41
|
-
}
|
|
42
|
-
if (noProxy.trim() === "*") {
|
|
43
|
-
return true;
|
|
44
|
-
}
|
|
45
|
-
let host;
|
|
46
|
-
let port;
|
|
47
|
-
try {
|
|
48
|
-
const parsed = new URL(targetUrl);
|
|
49
|
-
host = parsed.hostname;
|
|
50
|
-
port = parsed.port;
|
|
51
|
-
}
|
|
52
|
-
catch {
|
|
53
|
-
return false;
|
|
54
|
-
}
|
|
55
|
-
return noProxy
|
|
56
|
-
.split(/[\s,]+/)
|
|
57
|
-
.filter((entry) => entry.length > 0)
|
|
58
|
-
.some((entry) => {
|
|
59
|
-
let pattern = entry;
|
|
60
|
-
const colonIndex = pattern.lastIndexOf(":");
|
|
61
|
-
if (colonIndex > -1) {
|
|
62
|
-
const patternPort = pattern.slice(colonIndex + 1);
|
|
63
|
-
if (port && patternPort && port !== patternPort) {
|
|
64
|
-
return false;
|
|
65
|
-
}
|
|
66
|
-
pattern = pattern.slice(0, colonIndex);
|
|
67
|
-
}
|
|
68
|
-
pattern = pattern.replace(/^\*?\./, "").toLowerCase();
|
|
69
|
-
const lowerHost = host.toLowerCase();
|
|
70
|
-
return lowerHost === pattern || lowerHost.endsWith(`.${pattern}`);
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Attaches an HttpsProxyAgent (built from HTTPS_PROXY/HTTP_PROXY/NO_PROXY) to a
|
|
75
|
-
* single axios request when a proxy applies, and turns off axios's own proxy
|
|
76
|
-
* handling so the agent is used instead.
|
|
77
|
-
*/
|
|
78
|
-
function applyProxyToRequest(config) {
|
|
79
|
-
const targetUrl = `${config.baseURL ?? ""}${config.url ?? ""}`;
|
|
80
|
-
const proxy = getProxyForUrl(targetUrl);
|
|
81
|
-
if (proxy && !config.httpsAgent && !config.httpAgent) {
|
|
82
|
-
const agent = new https_proxy_agent_1.HttpsProxyAgent(proxy);
|
|
83
|
-
config.httpsAgent = agent;
|
|
84
|
-
config.httpAgent = agent;
|
|
85
|
-
config.proxy = false;
|
|
86
|
-
}
|
|
87
|
-
return config;
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Installs the proxy interceptor on an axios instance (or the global default
|
|
91
|
-
* instance) so every request it sends honors the system proxy env vars.
|
|
92
|
-
*/
|
|
93
|
-
function installProxyInterceptor(instance) {
|
|
94
|
-
instance.interceptors.request.use((config) => applyProxyToRequest(config));
|
|
95
|
-
}
|
|
96
|
-
let globalInterceptorInstalled = false;
|
|
97
|
-
/**
|
|
98
|
-
* Installs the proxy interceptor on axios's global default instance, and wraps
|
|
99
|
-
* `axios.create` so every instance created afterwards also honors the system
|
|
100
|
-
* proxy env vars. Instances created via `axios.create()` do not inherit the
|
|
101
|
-
* default instance's interceptors, so wrapping `create` is how we cover the
|
|
102
|
-
* many clients in this package that spin up their own instance. Idempotent.
|
|
103
|
-
*/
|
|
104
|
-
function installGlobalProxyInterceptor() {
|
|
105
|
-
if (globalInterceptorInstalled) {
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
installProxyInterceptor(axios_1.default);
|
|
109
|
-
const originalCreate = axios_1.default.create.bind(axios_1.default);
|
|
110
|
-
axios_1.default.create = (config) => {
|
|
111
|
-
const instance = originalCreate(config);
|
|
112
|
-
installProxyInterceptor(instance);
|
|
113
|
-
return instance;
|
|
114
|
-
};
|
|
115
|
-
globalInterceptorInstalled = true;
|
|
116
|
-
}
|
|
117
|
-
//# sourceMappingURL=httpProxy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"httpProxy.js","sourceRoot":"","sources":["../../src/common/httpProxy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
export interface MCPTool {
|
|
2
|
-
name: string;
|
|
3
|
-
description: string;
|
|
4
|
-
inputSchema: any;
|
|
5
|
-
outputSchema?: any;
|
|
6
|
-
tags?: string[];
|
|
7
|
-
}
|
|
8
|
-
export interface MCPFetchResult {
|
|
9
|
-
requiresAuth: boolean;
|
|
10
|
-
tools: MCPTool[];
|
|
11
|
-
authMetadataUrl?: string;
|
|
12
|
-
}
|
|
13
|
-
/** Fetch MCP tool definitions from a remote MCP server. */
|
|
14
|
-
export declare function fetchMCPTools(serverUrl: string): Promise<MCPFetchResult>;
|
|
15
|
-
/** Read MCP tool definitions from a wrapped or raw JSON array. */
|
|
16
|
-
export declare function readMCPToolsFromFile(filePath: string): Promise<MCPTool[]>;
|
|
17
|
-
export interface MCPAuthProbeResult {
|
|
18
|
-
requiresAuth: boolean;
|
|
19
|
-
authMetadataUrl?: string;
|
|
20
|
-
}
|
|
21
|
-
/** Probe an MCP streamable-HTTP endpoint for an OAuth challenge. */
|
|
22
|
-
export declare function probeMCPServerAuth(serverUrl: string): Promise<MCPAuthProbeResult>;
|
|
23
|
-
export interface MCPOAuthMetadata {
|
|
24
|
-
authorizationUrl: string;
|
|
25
|
-
tokenUrl: string;
|
|
26
|
-
refreshUrl?: string;
|
|
27
|
-
wellKnownUrl: string;
|
|
28
|
-
}
|
|
29
|
-
/** Resolve OAuth endpoints from MCP resource or authorization-server metadata. */
|
|
30
|
-
export declare function resolveMCPOAuthMetadata(authMetadataUrl?: string, wellKnownUrl?: string): Promise<MCPOAuthMetadata>;
|
|
31
|
-
//# sourceMappingURL=mcpToolFetcher.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mcpToolFetcher.d.ts","sourceRoot":"","sources":["../../src/common/mcpToolFetcher.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,GAAG,CAAC;IACjB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,2DAA2D;AAC3D,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CA0E9E;AAED,kEAAkE;AAClE,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CA8B/E;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,oEAAoE;AACpE,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAkCvF;AAED,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,kFAAkF;AAClF,wBAAsB,uBAAuB,CAC3C,eAAe,CAAC,EAAE,MAAM,EACxB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,gBAAgB,CAAC,CAkC3B"}
|
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// Copyright (c) Microsoft Corporation.
|
|
3
|
-
// Licensed under the MIT license.
|
|
4
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.fetchMCPTools = fetchMCPTools;
|
|
6
|
-
exports.readMCPToolsFromFile = readMCPToolsFromFile;
|
|
7
|
-
exports.probeMCPServerAuth = probeMCPServerAuth;
|
|
8
|
-
exports.resolveMCPOAuthMetadata = resolveMCPOAuthMetadata;
|
|
9
|
-
const tslib_1 = require("tslib");
|
|
10
|
-
const axios_1 = tslib_1.__importDefault(require("axios"));
|
|
11
|
-
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
|
|
12
|
-
const localizeUtils_1 = require("./localizeUtils");
|
|
13
|
-
/** Fetch MCP tool definitions from a remote MCP server. */
|
|
14
|
-
async function fetchMCPTools(serverUrl) {
|
|
15
|
-
let authMetadataUrl;
|
|
16
|
-
try {
|
|
17
|
-
await axios_1.default.get(serverUrl, { timeout: 10000 });
|
|
18
|
-
}
|
|
19
|
-
catch (error) {
|
|
20
|
-
if (error?.response?.status === 401 || error?.status === 401) {
|
|
21
|
-
const wwwAuth = error?.response?.headers?.["www-authenticate"];
|
|
22
|
-
if (wwwAuth) {
|
|
23
|
-
const match = wwwAuth.match(/resource_metadata=\s*"([^"]+)"/);
|
|
24
|
-
if (match) {
|
|
25
|
-
authMetadataUrl = match[1];
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
return { requiresAuth: true, tools: [], authMetadataUrl };
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
try {
|
|
32
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
33
|
-
// @ts-ignore - dynamic import of MCP SDK subpath
|
|
34
|
-
const { Client } = await Promise.resolve().then(() => tslib_1.__importStar(require("@modelcontextprotocol/sdk/client/index.js")));
|
|
35
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
36
|
-
// @ts-ignore - dynamic import of MCP SDK subpath
|
|
37
|
-
const { StreamableHTTPClientTransport } = await Promise.resolve().then(() => tslib_1.__importStar(require("@modelcontextprotocol/sdk/client/streamableHttp.js")));
|
|
38
|
-
const transport = new StreamableHTTPClientTransport(new URL(serverUrl));
|
|
39
|
-
const client = new Client({ name: "atk-cli", version: "1.0.0" });
|
|
40
|
-
try {
|
|
41
|
-
await client.connect(transport);
|
|
42
|
-
const result = await client.listTools();
|
|
43
|
-
const tools = result.tools.map((tool) => ({
|
|
44
|
-
...tool,
|
|
45
|
-
description: tool.description ?? "",
|
|
46
|
-
}));
|
|
47
|
-
return { requiresAuth: false, tools };
|
|
48
|
-
}
|
|
49
|
-
finally {
|
|
50
|
-
await client.close();
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
catch (error) {
|
|
54
|
-
try {
|
|
55
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
56
|
-
// @ts-ignore - dynamic import of MCP SDK subpath
|
|
57
|
-
const { Client } = await Promise.resolve().then(() => tslib_1.__importStar(require("@modelcontextprotocol/sdk/client/index.js")));
|
|
58
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
59
|
-
// @ts-ignore - dynamic import of MCP SDK subpath
|
|
60
|
-
const { SSEClientTransport } = await Promise.resolve().then(() => tslib_1.__importStar(require("@modelcontextprotocol/sdk/client/sse.js")));
|
|
61
|
-
const transport = new SSEClientTransport(new URL(serverUrl));
|
|
62
|
-
const client = new Client({ name: "atk-cli", version: "1.0.0" });
|
|
63
|
-
try {
|
|
64
|
-
await client.connect(transport);
|
|
65
|
-
const result = await client.listTools();
|
|
66
|
-
const tools = result.tools.map((tool) => ({
|
|
67
|
-
...tool,
|
|
68
|
-
description: tool.description ?? "",
|
|
69
|
-
}));
|
|
70
|
-
return { requiresAuth: false, tools };
|
|
71
|
-
}
|
|
72
|
-
finally {
|
|
73
|
-
await client.close();
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
catch {
|
|
77
|
-
if (error?.message?.includes("401") ||
|
|
78
|
-
error?.message?.includes("Unauthorized") ||
|
|
79
|
-
error?.message?.includes("auth")) {
|
|
80
|
-
return { requiresAuth: true, tools: [] };
|
|
81
|
-
}
|
|
82
|
-
return { requiresAuth: false, tools: [] };
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
/** Read MCP tool definitions from a wrapped or raw JSON array. */
|
|
87
|
-
async function readMCPToolsFromFile(filePath) {
|
|
88
|
-
if (!(await fs_extra_1.default.pathExists(filePath))) {
|
|
89
|
-
throw new Error((0, localizeUtils_1.getLocalizedString)("core.MCPForDA.toolsFileNotFound", filePath));
|
|
90
|
-
}
|
|
91
|
-
const content = await fs_extra_1.default.readJSON(filePath);
|
|
92
|
-
let rawTools;
|
|
93
|
-
if (Array.isArray(content)) {
|
|
94
|
-
rawTools = content;
|
|
95
|
-
}
|
|
96
|
-
else if (content && Array.isArray(content.tools)) {
|
|
97
|
-
rawTools = content.tools;
|
|
98
|
-
}
|
|
99
|
-
else {
|
|
100
|
-
throw new Error((0, localizeUtils_1.getLocalizedString)("core.MCPForDA.toolsFileInvalidFormat", '{ "tools": [...] }', filePath));
|
|
101
|
-
}
|
|
102
|
-
return rawTools.map((tool) => {
|
|
103
|
-
if (!tool.name) {
|
|
104
|
-
throw new Error((0, localizeUtils_1.getLocalizedString)("core.MCPForDA.toolsFileMissingName", '"name"', filePath));
|
|
105
|
-
}
|
|
106
|
-
return {
|
|
107
|
-
name: tool.name,
|
|
108
|
-
description: tool.description ?? "",
|
|
109
|
-
inputSchema: tool.inputSchema ?? tool.input_schema ?? { type: "object", properties: {} },
|
|
110
|
-
outputSchema: tool.outputSchema ?? tool.output_schema,
|
|
111
|
-
tags: tool.tags,
|
|
112
|
-
};
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
/** Probe an MCP streamable-HTTP endpoint for an OAuth challenge. */
|
|
116
|
-
async function probeMCPServerAuth(serverUrl) {
|
|
117
|
-
const initializeBody = {
|
|
118
|
-
jsonrpc: "2.0",
|
|
119
|
-
id: 1,
|
|
120
|
-
method: "initialize",
|
|
121
|
-
params: {
|
|
122
|
-
protocolVersion: "2025-03-26",
|
|
123
|
-
capabilities: {},
|
|
124
|
-
clientInfo: { name: "atk-probe", version: "1.0.0" },
|
|
125
|
-
},
|
|
126
|
-
};
|
|
127
|
-
try {
|
|
128
|
-
await axios_1.default.post(serverUrl, initializeBody, {
|
|
129
|
-
timeout: 10000,
|
|
130
|
-
headers: {
|
|
131
|
-
"Content-Type": "application/json",
|
|
132
|
-
Accept: "application/json, text/event-stream",
|
|
133
|
-
},
|
|
134
|
-
});
|
|
135
|
-
return { requiresAuth: false };
|
|
136
|
-
}
|
|
137
|
-
catch (error) {
|
|
138
|
-
if (error?.response?.status === 401 || error?.status === 401) {
|
|
139
|
-
const wwwAuth = error?.response?.headers?.["www-authenticate"];
|
|
140
|
-
let authMetadataUrl;
|
|
141
|
-
if (wwwAuth) {
|
|
142
|
-
const match = wwwAuth.match(/resource_metadata=\s*"([^"]+)"/);
|
|
143
|
-
if (match) {
|
|
144
|
-
authMetadataUrl = match[1];
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
return { requiresAuth: true, authMetadataUrl };
|
|
148
|
-
}
|
|
149
|
-
return { requiresAuth: false };
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
/** Resolve OAuth endpoints from MCP resource or authorization-server metadata. */
|
|
153
|
-
async function resolveMCPOAuthMetadata(authMetadataUrl, wellKnownUrl) {
|
|
154
|
-
let resolvedWellKnownUrl = wellKnownUrl;
|
|
155
|
-
if (!resolvedWellKnownUrl) {
|
|
156
|
-
if (!authMetadataUrl) {
|
|
157
|
-
throw new Error((0, localizeUtils_1.getLocalizedString)("core.MCPForDA.mcpAuthMetadataUrlNotFound"));
|
|
158
|
-
}
|
|
159
|
-
const response = await axios_1.default.get(authMetadataUrl);
|
|
160
|
-
if (response.status === 200 &&
|
|
161
|
-
response.data &&
|
|
162
|
-
response.data.authorization_servers &&
|
|
163
|
-
response.data.authorization_servers.length > 0) {
|
|
164
|
-
const mcpServerMetadataUrl = response.data.authorization_servers[0];
|
|
165
|
-
const serverUrl = new URL(mcpServerMetadataUrl);
|
|
166
|
-
const serverPath = serverUrl.pathname === "/" ? "" : serverUrl.pathname;
|
|
167
|
-
resolvedWellKnownUrl = `${serverUrl.protocol}//${serverUrl.host}/.well-known/oauth-authorization-server${serverPath}`;
|
|
168
|
-
}
|
|
169
|
-
else {
|
|
170
|
-
throw new Error((0, localizeUtils_1.getLocalizedString)("core.MCPForDA.mcpServerMetadataUrlNotFound"));
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
const metadataResponse = await axios_1.default.get(resolvedWellKnownUrl);
|
|
174
|
-
const authorizationUrl = metadataResponse.data?.authorization_endpoint;
|
|
175
|
-
const tokenUrl = metadataResponse.data?.token_endpoint;
|
|
176
|
-
const refreshUrl = metadataResponse.data?.refresh_endpoint;
|
|
177
|
-
if (!authorizationUrl || !tokenUrl) {
|
|
178
|
-
throw new Error((0, localizeUtils_1.getLocalizedString)("core.MCPForDA.authUrlNotFound"));
|
|
179
|
-
}
|
|
180
|
-
return { authorizationUrl, tokenUrl, refreshUrl, wellKnownUrl: resolvedWellKnownUrl };
|
|
181
|
-
}
|
|
182
|
-
//# sourceMappingURL=mcpToolFetcher.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mcpToolFetcher.js","sourceRoot":"","sources":["../../src/common/mcpToolFetcher.ts"],"names":[],"mappings":"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"}
|