@microsoft/teamsfx-core 3.0.4-beta.2025071503.0 → 3.0.4-rc.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/teamsDevPortalClient.js +1 -1
- package/build/client/teamsDevPortalClient.js.map +1 -1
- package/build/common/daSpecParser.js +1 -1
- package/build/common/daSpecParser.js.map +1 -1
- package/build/common/kiotaClient.d.ts.map +1 -1
- package/build/common/kiotaClient.js +5 -17
- package/build/common/kiotaClient.js.map +1 -1
- package/build/common/projectTypeChecker.d.ts +0 -1
- package/build/common/projectTypeChecker.d.ts.map +1 -1
- package/build/common/projectTypeChecker.js +1 -14
- package/build/common/projectTypeChecker.js.map +1 -1
- package/build/common/templates-config.json +7 -9
- package/build/common/tools.d.ts +0 -4
- package/build/common/tools.d.ts.map +1 -1
- package/build/common/tools.js +1 -58
- package/build/common/tools.js.map +1 -1
- package/build/common/wrappedAxiosClient.d.ts.map +1 -1
- package/build/common/wrappedAxiosClient.js +1 -0
- package/build/common/wrappedAxiosClient.js.map +1 -1
- package/build/component/configManager/lifecycle.d.ts.map +1 -1
- package/build/component/configManager/lifecycle.js +1 -9
- package/build/component/configManager/lifecycle.js.map +1 -1
- package/build/component/configManager/validator.d.ts.map +1 -1
- package/build/component/configManager/validator.js +0 -1
- package/build/component/configManager/validator.js.map +1 -1
- package/build/component/constants.d.ts +1 -0
- package/build/component/constants.d.ts.map +1 -1
- package/build/component/constants.js +1 -0
- package/build/component/constants.js.map +1 -1
- package/build/component/coordinator/index.d.ts.map +1 -1
- package/build/component/coordinator/index.js +29 -12
- package/build/component/coordinator/index.js.map +1 -1
- package/build/component/deps-checker/constant/message.d.ts +11 -44
- package/build/component/deps-checker/constant/message.d.ts.map +1 -1
- package/build/component/deps-checker/constant/message.js +13 -48
- package/build/component/deps-checker/constant/message.js.map +1 -1
- package/build/component/deps-checker/internal/dotnetChecker.d.ts.map +1 -1
- package/build/component/deps-checker/internal/dotnetChecker.js +1 -4
- package/build/component/deps-checker/internal/dotnetChecker.js.map +1 -1
- package/build/component/deps-checker/internal/funcToolChecker.d.ts.map +1 -1
- package/build/component/deps-checker/internal/funcToolChecker.js +2 -5
- package/build/component/deps-checker/internal/funcToolChecker.js.map +1 -1
- package/build/component/deps-checker/internal/testToolChecker.d.ts.map +1 -1
- package/build/component/deps-checker/internal/testToolChecker.js +11 -17
- package/build/component/deps-checker/internal/testToolChecker.js.map +1 -1
- package/build/component/deps-checker/util/fileHelper.d.ts +2 -2
- package/build/component/deps-checker/util/fileHelper.d.ts.map +1 -1
- package/build/component/deps-checker/util/fileHelper.js +9 -3
- package/build/component/deps-checker/util/fileHelper.js.map +1 -1
- package/build/component/driver/aad/create.d.ts.map +1 -1
- package/build/component/driver/aad/create.js +3 -5
- package/build/component/driver/aad/create.js.map +1 -1
- package/build/component/driver/deploy/azure/azureStaticWebAppGetDeploymentTokenDriver.d.ts.map +1 -1
- package/build/component/driver/deploy/azure/azureStaticWebAppGetDeploymentTokenDriver.js +12 -10
- package/build/component/driver/deploy/azure/azureStaticWebAppGetDeploymentTokenDriver.js.map +1 -1
- package/build/component/driver/file/createOrUpdateEnvironmentFile.d.ts +1 -0
- package/build/component/driver/file/createOrUpdateEnvironmentFile.d.ts.map +1 -1
- package/build/component/driver/file/createOrUpdateEnvironmentFile.js +89 -165
- package/build/component/driver/file/createOrUpdateEnvironmentFile.js.map +1 -1
- package/build/component/driver/teamsApp/teamsappMgr.d.ts.map +1 -1
- package/build/component/driver/teamsApp/teamsappMgr.js +0 -3
- package/build/component/driver/teamsApp/teamsappMgr.js.map +1 -1
- package/build/component/generator/defaultGenerator.d.ts.map +1 -1
- package/build/component/generator/defaultGenerator.js +5 -6
- package/build/component/generator/defaultGenerator.js.map +1 -1
- package/build/component/generator/generator.js +2 -2
- package/build/component/generator/generator.js.map +1 -1
- package/build/component/generator/generatorAction.d.ts +1 -2
- package/build/component/generator/generatorAction.d.ts.map +1 -1
- package/build/component/generator/generatorAction.js +1 -1
- package/build/component/generator/generatorAction.js.map +1 -1
- package/build/component/generator/officeAddin/generator.js.map +1 -1
- package/build/component/generator/officeAddin/metaOSHelper.d.ts.map +1 -1
- package/build/component/generator/officeAddin/metaOSHelper.js +5 -44
- package/build/component/generator/officeAddin/metaOSHelper.js.map +1 -1
- package/build/component/generator/templates/metadata/tab.js +4 -4
- package/build/component/generator/templates/metadata/tab.js.map +1 -1
- package/build/component/generator/templates/metadata/vs.d.ts.map +1 -1
- package/build/component/generator/templates/metadata/vs.js +12 -0
- package/build/component/generator/templates/metadata/vs.js.map +1 -1
- package/build/component/generator/templates/templateNames.d.ts +3 -1
- package/build/component/generator/templates/templateNames.d.ts.map +1 -1
- package/build/component/generator/templates/templateNames.js +3 -1
- package/build/component/generator/templates/templateNames.js.map +1 -1
- package/build/component/generator/templates/templateReplaceMap.js +2 -2
- package/build/component/generator/templates/templateReplaceMap.js.map +1 -1
- package/build/component/generator/utils.d.ts +3 -3
- package/build/component/generator/utils.d.ts.map +1 -1
- package/build/component/generator/utils.js +6 -23
- package/build/component/generator/utils.js.map +1 -1
- package/build/component/resource/botService/errors.d.ts +1 -1
- package/build/component/resource/botService/errors.d.ts.map +1 -1
- package/build/component/resource/botService/errors.js +2 -2
- package/build/component/resource/botService/errors.js.map +1 -1
- package/build/component/resource/botService/messages.d.ts +1 -1
- package/build/component/resource/botService/messages.d.ts.map +1 -1
- package/build/component/resource/botService/messages.js +1 -6
- package/build/component/resource/botService/messages.js.map +1 -1
- package/build/core/FxCore.d.ts.map +1 -1
- package/build/core/FxCore.js +1 -4
- package/build/core/FxCore.js.map +1 -1
- package/build/error/depCheck.d.ts +1 -4
- package/build/error/depCheck.d.ts.map +1 -1
- package/build/error/depCheck.js +2 -2
- package/build/error/depCheck.js.map +1 -1
- package/build/question/generator.js +0 -2
- package/build/question/generator.js.map +1 -1
- package/build/question/inputs/index.d.ts +0 -1
- package/build/question/inputs/index.d.ts.map +1 -1
- package/build/question/inputs/index.js +0 -1
- package/build/question/inputs/index.js.map +1 -1
- package/build/question/options/CreateProjectOptions.js +1 -1
- package/build/question/options/CreateProjectOptions.js.map +1 -1
- package/build/question/options/SPFxAddWebpartOptions.js +1 -1
- package/build/question/options/SPFxAddWebpartOptions.js.map +1 -1
- package/build/question/options/index.d.ts +0 -1
- package/build/question/options/index.d.ts.map +1 -1
- package/build/question/options/index.js +0 -1
- package/build/question/options/index.js.map +1 -1
- package/build/question/other.js +1 -1
- package/build/question/other.js.map +1 -1
- package/build/question/scaffold/vs/createRootNode.d.ts +1 -0
- package/build/question/scaffold/vs/createRootNode.d.ts.map +1 -1
- package/build/question/scaffold/vs/createRootNode.js +11 -0
- package/build/question/scaffold/vs/createRootNode.js.map +1 -1
- package/build/question/scaffold/vsc/CapabilityOptions.d.ts +1 -0
- package/build/question/scaffold/vsc/CapabilityOptions.d.ts.map +1 -1
- package/build/question/scaffold/vsc/CapabilityOptions.js +9 -1
- package/build/question/scaffold/vsc/CapabilityOptions.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
- package/resource/package.nls.cs.json +57 -68
- package/resource/package.nls.de.json +57 -68
- package/resource/package.nls.es.json +57 -68
- package/resource/package.nls.fr.json +57 -68
- package/resource/package.nls.it.json +57 -68
- package/resource/package.nls.ja.json +57 -68
- package/resource/package.nls.json +9 -2
- package/resource/package.nls.ko.json +57 -68
- package/resource/package.nls.pl.json +57 -68
- package/resource/package.nls.pt-BR.json +57 -68
- package/resource/package.nls.ru.json +57 -68
- package/resource/package.nls.tr.json +57 -68
- package/resource/package.nls.zh-Hans.json +57 -68
- package/resource/package.nls.zh-Hant.json +57 -68
- package/resource/yaml-schema/yaml.schema.json +2 -2
- 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/plugins/resource/aad/auth/bot/js/public/auth-end.html +49 -60
- package/templates/plugins/resource/aad/auth/bot/ts/public/auth-end.html +49 -60
- package/build/question/inputs/RegeneratePluginInputs.d.ts +0 -16
- package/build/question/inputs/RegeneratePluginInputs.d.ts.map +0 -1
- package/build/question/inputs/RegeneratePluginInputs.js +0 -5
- package/build/question/inputs/RegeneratePluginInputs.js.map +0 -1
- package/build/question/options/RegeneratePluginOptions.d.ts +0 -10
- package/build/question/options/RegeneratePluginOptions.d.ts.map +0 -1
- package/build/question/options/RegeneratePluginOptions.js +0 -28
- package/build/question/options/RegeneratePluginOptions.js.map +0 -1
- package/resource/yaml-schema/v1.9/yaml.schema.json +0 -2107
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"core.addApi.confirm.teamsYaml": "Microsoft 365 代理程式工具組將根據您提供的新 OpenAPI 文件,修改 \"%s\" 資料夾中的檔案與 \"%s\"。為了避免遺失未預期的變更,請在繼續之前備份您的檔案或使用 Git 進行變更追蹤。",
|
|
4
4
|
"core.addApi.confirm.localTeamsYaml": "Microsoft 365 代理程式工作組將根據您提供的新 OpenAPI 文件,修改您 \"%s\" 資料夾中的檔案,以及 \"%s\" 和 \"%s\"。為了避免遺失未預期的變更,請在繼續之前備份您的檔案或使用 Git 進行變更追蹤。",
|
|
5
5
|
"core.addApi.continue": "新增",
|
|
6
|
-
"core.regenerateApi.continue": "
|
|
6
|
+
"core.regenerateApi.continue": "Regenerate",
|
|
7
7
|
"core.addKnowledge.confirm": "Microsoft 365 代理程式工具組將根據您提供的功能來源,修改您 \"%s\" 資料夾中的檔案。為了避免遺失未預期的變更,請在繼續之前備份您的檔案或使用 Git 進行變更追蹤。",
|
|
8
8
|
"core.addKnowledge.continue": "新增",
|
|
9
9
|
"core.setSensitivityLabel.confirm": "Teams 工具組會根據您提供的敏感度標籤來修改檔案 \"%s\"。為了避免遺失未預期的變更,請在繼續之前備份您的檔案或使用 Git 進行變更追蹤。",
|
|
@@ -135,8 +135,8 @@
|
|
|
135
135
|
"plugins.frontend.checkStoragePermissionsTip": "檢查您是否有 Azure 儲存體帳戶的權限。",
|
|
136
136
|
"plugins.frontend.checkSystemTimeTip": "系統時間不正確可能導致認證過期。請確定您的系統時間正確。",
|
|
137
137
|
"suggestions.retryTheCurrentStep": "請重試目前的步驟。",
|
|
138
|
-
"plugins.appstudio.buildSucceedNotice": "
|
|
139
|
-
"plugins.appstudio.buildSucceedNotice.fallback": "
|
|
138
|
+
"plugins.appstudio.buildSucceedNotice": "Teams 套件已成功在 [本機位址](%s) 建置。",
|
|
139
|
+
"plugins.appstudio.buildSucceedNotice.fallback": "Teams 套件已成功在 %s 建置。",
|
|
140
140
|
"plugins.appstudio.createPackage.progressBar.message": "正在建置應用程式套件...",
|
|
141
141
|
"plugins.appstudio.createPackage.aiPlugin.invalidFilePropertyWarning": "函數 %s 之 %s 中的static_template具有無效的文件屬性。將會刪除並忽略它。",
|
|
142
142
|
"plugins.appstudio.createPackage.aiPlugin.overrideWarning": "函式 %s 之 %s 中的 static_template 同時具有檔案和其他屬性。檔案內容將會取代所有屬性。",
|
|
@@ -195,7 +195,7 @@
|
|
|
195
195
|
"error.appstudio.apiFailed.name.common": "API 失敗",
|
|
196
196
|
"error.appstudio.authServiceApiFailed": "無法對開發人員入口網站進行 API 呼叫: %s、%s、要求路徑: %s",
|
|
197
197
|
"error.appstudio.publishFailed": "無法發佈識別碼為 %s 的應用程式。",
|
|
198
|
-
"error.appstudio.buildError": "
|
|
198
|
+
"error.appstudio.buildError": "無法建置Teams套件!",
|
|
199
199
|
"error.appstudio.checkPermissionFailed": "無法檢查許可權。原因: %s",
|
|
200
200
|
"error.appstudio.grantPermissionFailed": "無法授與許可權。原因: %s",
|
|
201
201
|
"error.appstudio.listCollaboratorFailed": "無法列出共同作業者。原因: %s",
|
|
@@ -292,7 +292,7 @@
|
|
|
292
292
|
"core.copilotPlugin.scaffold.summary.warning.operationId": "%s 風險降低: 不需要,已自動產生 operationId 並新增至 \"%s\" 檔案。",
|
|
293
293
|
"core.copilotPlugin.scaffold.summary.warning.operationIdContainsSpecialCharacters": "OpenAPI 描述檔中 '%s' 的作業識別碼包含特殊字元,已重新命名為 '%s'。",
|
|
294
294
|
"core.copilotPlugin.scaffold.summary.warning.swaggerVersion": "OpenAPI 描述文件採用 Swagger 版本 2.0。緩和措施: 不需要。內容已轉換為 OpenAPI 3.0,並儲存於 \"%s\"。",
|
|
295
|
-
"core.copilotPlugin.scaffold.summary.warning.spec31ConvertTo30": "OpenAPI
|
|
295
|
+
"core.copilotPlugin.scaffold.summary.warning.spec31ConvertTo30": "The OpenAPI description document version is 3.1 and has been converted to OpenAPI 3.0 and saved in \"%s\".",
|
|
296
296
|
"core.copilotPlugin.scaffold.summary.warning.teamsManifest.lengthExceeding": "\"%s\" 不能超過 %s 個字元。",
|
|
297
297
|
"core.copilotPlugin.scaffold.summary.warning.teamsManifest.missingFullDescription": "遺漏完整描述。",
|
|
298
298
|
"core.copilotPlugin.scaffold.summary.warning.teamsManifest.mitigation": "風險降低: 更新 \"%s\" 中的 \"%s\" 欄位。",
|
|
@@ -309,12 +309,12 @@
|
|
|
309
309
|
"core.createProjectQuestion.option.description.worksInOutlook": "在 Teams 和 Outlook 中運作",
|
|
310
310
|
"core.createProjectQuestion.option.description.worksInOutlookM365": "可在 Teams、Outlook 和 Microsoft 365 應用程式中運作",
|
|
311
311
|
"core.createProjectQuestion.projectType.bot.detail": "建立即時且吸引人的聊天體驗,讓工作順暢地自動化",
|
|
312
|
-
"core.createProjectQuestion.projectType.agentForTeams.label": "Teams
|
|
313
|
-
"core.createProjectQuestion.projectType.agentForTeams.detail": "
|
|
314
|
-
"core.createProjectQuestion.projectType.agentForTeams.title": "
|
|
315
|
-
"core.createProjectQuestion.projectType.teamsApp.label": "Teams
|
|
316
|
-
"core.createProjectQuestion.projectType.teamsApp.detail": "
|
|
317
|
-
"core.createProjectQuestion.projectType.teamsApp.title": "
|
|
312
|
+
"core.createProjectQuestion.projectType.agentForTeams.label": "Agent for Teams",
|
|
313
|
+
"core.createProjectQuestion.projectType.agentForTeams.detail": "Build an agent for Microsoft Teams easily using Teams AI Library",
|
|
314
|
+
"core.createProjectQuestion.projectType.agentForTeams.title": "Agent for Teams Using Teams AI Library",
|
|
315
|
+
"core.createProjectQuestion.projectType.teamsApp.label": "Teams App",
|
|
316
|
+
"core.createProjectQuestion.projectType.teamsApp.detail": "Create your own web page, chat bot or message extension for Microsoft Teams",
|
|
317
|
+
"core.createProjectQuestion.projectType.teamsApp.title": "App Features Used in Microsoft Teams",
|
|
318
318
|
"core.createProjectQuestion.projectType.bot.label": "Bot",
|
|
319
319
|
"core.createProjectQuestion.projectType.bot.title": "使用 Bot 的應用程式功能",
|
|
320
320
|
"core.createProjectQuestion.projectType.messageExtension.copilotEnabled.detail": "在 Teams 和 Outlook 的文字輸入框中搜尋並採取動作",
|
|
@@ -328,20 +328,20 @@
|
|
|
328
328
|
"core.createProjectQuestion.projectType.tab.title": "使用 Tab 的應用程式功能",
|
|
329
329
|
"core.createProjectQuestion.projectType.copilotExtension.title": "使用代理程式的應用程式功能",
|
|
330
330
|
"core.createProjectQuestion.projectType.copilotExtension.placeholder": "選取選項",
|
|
331
|
-
"core.createProjectQuestion.projectType.customCopilot.detail": "
|
|
331
|
+
"core.createProjectQuestion.projectType.customCopilot.detail": "Build intelligent agent where you manage orchestration and provide your own LLM",
|
|
332
332
|
"core.createProjectQuestion.projectType.customCopilot.label": "自訂引擎代理程式",
|
|
333
|
-
"core.createProjectQuestion.projectType.customCopilot.title": "
|
|
333
|
+
"core.createProjectQuestion.projectType.customCopilot.title": "App Features Using Microsoft 365 Agents SDK",
|
|
334
334
|
"core.createProjectQuestion.projectType.customCopilot.placeholder": "選取選項",
|
|
335
335
|
"core.createProjectQuestion.projectType.copilotHelp.label": "不知道如何開始嗎?使用 GitHub Copilot 聊天",
|
|
336
336
|
"core.createProjectQuestion.projectType.copilotHelp.detail": "與 GitHub Copilot 聊天,獲取逐步指示以開發您的應用程式或 Microsoft 365 Copilot Agent。",
|
|
337
337
|
"core.createProjectQuestion.projectType.copilotGroup.title": "使用 GitHub Copilot",
|
|
338
|
-
"core.createProjectQuestion.projectType.createGroup.aiAgent": "
|
|
338
|
+
"core.createProjectQuestion.projectType.createGroup.aiAgent": "Agents for Microsoft 365 Copilot",
|
|
339
339
|
"core.createProjectQuestion.projectType.createGroup.m365Apps": "適用於Microsoft 365的應用程式",
|
|
340
340
|
"core.createProjectQuestion.projectType.declarativeAgent.label": "宣告式代理程式",
|
|
341
341
|
"core.createProjectQuestion.projectType.declarativeAgent.detail": "宣告指示、動作和知識以符合您的需求,以建立您自己的代理程式。",
|
|
342
342
|
"core.createProjectQuestion.title": "新增專案",
|
|
343
343
|
"core.createProjectQuestion.capability.botMessageExtension.label": "從 Bot 開始",
|
|
344
|
-
"core.createProjectQuestion.capability.botMessageExtension.detail": "
|
|
344
|
+
"core.createProjectQuestion.capability.botMessageExtension.detail": "使用Bot Framework建立訊息擴展名",
|
|
345
345
|
"core.createProjectQuestion.capability.copilotPluginNewApiOption.label": "從新的 API 開始",
|
|
346
346
|
"core.createProjectQuestion.capability.copilotPluginNewApiOption.detail": "使用來自 Azure Functions 的新 API 建立動作",
|
|
347
347
|
"core.createProjectQuestion.capability.messageExtensionNewApiOption.detail": "使用來自 Azure Functions 的新 API 建立訊息延伸模組",
|
|
@@ -353,16 +353,16 @@
|
|
|
353
353
|
"core.createProjectQuestion.capability.searchOpenAPISpecQueryQuestion.placeholder": "輸入文字以搜尋 OpenAPI 描述文件",
|
|
354
354
|
"core.createProjectQuestion.capability.selectOpenAPISpecQuestion.label": "選取 OpenAPI 描述文件",
|
|
355
355
|
"core.createProjectQuestion.capability.messageExtensionApiSpecOption.detail": "從現有的 API 建立訊息延伸模組",
|
|
356
|
-
"core.createProjectQuestion.capability.basicCustomEngineAgentOption.label": "
|
|
357
|
-
"core.createProjectQuestion.capability.basicCustomEngineAgentOption.detail": "
|
|
358
|
-
"core.createProjectQuestion.capability.weatherAgentOption.label": "
|
|
359
|
-
"core.createProjectQuestion.capability.weatherAgentOption.detail": "
|
|
360
|
-
"core.createProjectQuestion.capability.customCopilotBasicOption.label": "Teams
|
|
361
|
-
"core.createProjectQuestion.capability.customCopilotBasicOption.detail": "
|
|
356
|
+
"core.createProjectQuestion.capability.basicCustomEngineAgentOption.label": "Basic Custom Engine Agent",
|
|
357
|
+
"core.createProjectQuestion.capability.basicCustomEngineAgentOption.detail": "Intelligent agent that is built with Microsoft 365 Agents SDK and connects to your LLM",
|
|
358
|
+
"core.createProjectQuestion.capability.weatherAgentOption.label": "Weather Agent",
|
|
359
|
+
"core.createProjectQuestion.capability.weatherAgentOption.detail": "A weather forecast agent that is built with Microsoft 365 Agents SDK and LangChain",
|
|
360
|
+
"core.createProjectQuestion.capability.customCopilotBasicOption.label": "Basic Agent for Teams",
|
|
361
|
+
"core.createProjectQuestion.capability.customCopilotBasicOption.detail": "Agent that chats with users in Teams built with Teams AI Library and connects to LLMs",
|
|
362
362
|
"core.createProjectQuestion.capability.customCopilotRagOption.label": "與您的資料聊天",
|
|
363
|
-
"core.createProjectQuestion.capability.customCopilotRagOption.detail": "
|
|
364
|
-
"core.createProjectQuestion.capability.customCopilotAssistantOption.label": "
|
|
365
|
-
"core.createProjectQuestion.capability.customCopilotAssistantOption.detail": "
|
|
363
|
+
"core.createProjectQuestion.capability.customCopilotRagOption.detail": "Agent that uses your content and knowledge to accurately answer domain-specific questions",
|
|
364
|
+
"core.createProjectQuestion.capability.customCopilotAssistantOption.label": "Agent with API",
|
|
365
|
+
"core.createProjectQuestion.capability.customCopilotAssistantOption.detail": "Agent for Teams that can make decisions and perform actions based on LLM reasoning",
|
|
366
366
|
"core.createProjectQuestion.capability.customCopilotRagCustomizeOption.label": "自訂",
|
|
367
367
|
"core.createProjectQuestion.capability.customCopilotRagCustomizeOption.detail": "決定如何載入您的資料",
|
|
368
368
|
"core.createProjectQuestion.capability.customCopilotRagAzureAISearchOption.label": "Azure AI 搜尋服務",
|
|
@@ -386,12 +386,10 @@
|
|
|
386
386
|
"core.createProjectQuestion.capability.knowledgeWebSearch.detail": "搜尋網站以取得接地資訊。",
|
|
387
387
|
"core.createProjectQuestion.capability.knowledgeOneDriveSharePoint.label": "OneDrive 與 SharePoint",
|
|
388
388
|
"core.createProjectQuestion.capability.knowledgeOneDriveSharePoint.detail": "搜尋使用者的 SharePoint 和 OneDrive 以取得接地資訊。",
|
|
389
|
-
"core.createProjectQuestion.capability.knowledgeGraphConnector.label": "Copilot
|
|
390
|
-
"core.createProjectQuestion.capability.knowledgeGraphConnector.detail": "
|
|
389
|
+
"core.createProjectQuestion.capability.knowledgeGraphConnector.label": "Copilot Connector",
|
|
390
|
+
"core.createProjectQuestion.capability.knowledgeGraphConnector.detail": "Search selected Microsoft Copilot connectors for grounding information.",
|
|
391
391
|
"core.createProjectQuestion.capability.knowledgeEmbeddedKnowledge.label": "內嵌知識",
|
|
392
392
|
"core.createProjectQuestion.capability.knowledgeEmbeddedKnowledge.detail": "將檔案直接內嵌為接地資訊。",
|
|
393
|
-
"core.createProjectQuestion.capability.DAMetaOS.label": "Start with an Office Add-in Action",
|
|
394
|
-
"core.createProjectQuestion.capability.DAMetaOS.detail": "Create a Declarative Agent with Office add-in action",
|
|
395
393
|
"core.createProjectQuestion.oneDriveSharePointItem.title": "OneDrive 或 SharePoint 內容",
|
|
396
394
|
"core.createProjectQuestion.oneDriveSharePointItem.placeholder": "輸入 OneDrive 或 SharePoint 的 URL",
|
|
397
395
|
"core.createProjectQuestion.log.fail.validateOneDriveSharePointItem": "無法驗證 OneDrive/SharePoint URL: %s",
|
|
@@ -444,17 +442,8 @@
|
|
|
444
442
|
"core.createProjectQuestion.noPlugin.detail": "僅建立宣告式代理程式",
|
|
445
443
|
"core.createProjectQuestion.addPlugin.label": "新增動作",
|
|
446
444
|
"core.createProjectQuestion.addPlugin.detail": "使用動作建立宣告式代理程式",
|
|
447
|
-
"core.createProjectQuestion.
|
|
448
|
-
"core.createProjectQuestion.
|
|
449
|
-
"core.createProjectQuestion.DAMetaOS.capability.title": "Declarative Agent in MetaOS Capabilities",
|
|
450
|
-
"core.createProjectQuestion.DAMetaOS.capability.newProject.label": "New Declarative Agent with Office Add-in Actions",
|
|
451
|
-
"core.createProjectQuestion.DAMetaOS.capability.newProject.detail": "Build a new Declarative Agent with Office add-in actions",
|
|
452
|
-
"core.createProjectQuestion.DAMetaOS.capability.upgradeProject.label": "Extend an existing Office Add-in",
|
|
453
|
-
"core.createProjectQuestion.DAMetaOS.capability.upgradeProject.detail": "Extend an add-in project to the declarative agent with add-in actions",
|
|
454
|
-
"core.createProjectQuestion.DAMetaOS.capability.upgradeProject.projectFolder.title": "The Existing Add-in Project Folder",
|
|
455
|
-
"core.createProjectQuestion.DAMetaOS.capability.upgradeProject.projectFolder.placeholder": "The existing MetaOS Add-in project root folder",
|
|
456
|
-
"core.createProjectQuestion.createGraphConnector.label": "Copilot connector",
|
|
457
|
-
"core.createProjectQuestion.createGraphConnector.detail": "內嵌您的組織資料,使其可在 Microsoft 365 Copilot 中搜尋",
|
|
445
|
+
"core.createProjectQuestion.createGraphConnector.label": "Copilot Connector",
|
|
446
|
+
"core.createProjectQuestion.createGraphConnector.detail": "Embed your organization data to make it searchable in Microsoft 365 Copilot",
|
|
458
447
|
"core.createProjectQuestion.addExistingPlugin.pluginManifest.title": "匯入指令清單檔案",
|
|
459
448
|
"core.createProjectQuestion.addExistingPlugin.apiSpec.title": "匯入 OpenAPI 描述檔",
|
|
460
449
|
"core.createProjectQuestion.addExistingPlugin.pluginManifest.placeholder": "選取您的動作資訊清單檔案",
|
|
@@ -464,13 +453,13 @@
|
|
|
464
453
|
"core.createProjectQuestion.addPlugin.pluginManifestMultipleApiSpec": "找到多個 OpenAPI 描述檔: \"%s\"。",
|
|
465
454
|
"core.createProjectQuestion.addKnowledge.title": "新增功能",
|
|
466
455
|
"core.createProjectQuestion.addKnowledge.placeholder": "選取功能來源作為宣告式代理程式的基礎資訊",
|
|
467
|
-
"core.regenerateQuestion.declarativeAgentPathNotFound": "
|
|
468
|
-
"core.regenerateQuestion.actionNotFound": "
|
|
469
|
-
"core.regenerateQuestion.specNotFound": "
|
|
470
|
-
"core.regenerateQuestion.originalSpecNotFound": "
|
|
471
|
-
"core.regenerateQuestion.selectPluginManifestTitle": "
|
|
472
|
-
"core.regenerateQuestion.selectOpenAPISpecFromPluginTitle": "
|
|
473
|
-
"core.regenerateQuestion.selectApiOperationForRegenerateTitle": "
|
|
456
|
+
"core.regenerateQuestion.declarativeAgentPathNotFound": "Unable to find declarative agent path in manifest file: %s.",
|
|
457
|
+
"core.regenerateQuestion.actionNotFound": "Unable to find actions in declarative agent manifest file: %s.",
|
|
458
|
+
"core.regenerateQuestion.specNotFound": "Unable to find OpenAPI description document in action manifest file: %s.",
|
|
459
|
+
"core.regenerateQuestion.originalSpecNotFound": "Unable to find original OpenAPI description document. You can manually copy original OpenAPI description here %s.",
|
|
460
|
+
"core.regenerateQuestion.selectPluginManifestTitle": "Select plugin manifest file.",
|
|
461
|
+
"core.regenerateQuestion.selectOpenAPISpecFromPluginTitle": "Select OpenAPI description document file.",
|
|
462
|
+
"core.regenerateQuestion.selectApiOperationForRegenerateTitle": "Select operation(s) Copilot can interact with.",
|
|
474
463
|
"core.aiAssistantBotOption.label": "AI 代理程式 Bot",
|
|
475
464
|
"core.aiAssistantBotOption.detail": "使用 Teams AI 連結庫和 OpenAI 助理 API 在 Teams 中的自定義 AI 代理程式 Bot",
|
|
476
465
|
"core.aiBotOption.label": "AI 聊天機器人",
|
|
@@ -506,9 +495,9 @@
|
|
|
506
495
|
"core.addPlugin.success.vsc": "動作 \"%s\" 成功新增至專案。",
|
|
507
496
|
"core.addPlugin.success": "API 外掛程式 \"%s\" 成功新增至專案。檢視 \"%s\" 中的外掛程式指令清單。",
|
|
508
497
|
"core.addPlugin.success.viewPluginManifest": "檢視動作指令清單",
|
|
509
|
-
"core.regeneratePlugin.success": "
|
|
510
|
-
"core.regeneratePlugin.success.vsc": "
|
|
511
|
-
"core.regeneratePlugin.success.viewPluginManifest": "
|
|
498
|
+
"core.regeneratePlugin.success": "Action \"%s\" updated successfully. View plugin manifest in \"%s\".",
|
|
499
|
+
"core.regeneratePlugin.success.vsc": "Action \"%s\" updated successfully.",
|
|
500
|
+
"core.regeneratePlugin.success.viewPluginManifest": "View action manifest",
|
|
512
501
|
"core.addKnowledge.success.vsc": "已成功將功能來源新增至專案。",
|
|
513
502
|
"core.addKnowledge.success": "已成功將功能來源新增至專案。在 \"%s\" 中檢視代理程式資訊清單。",
|
|
514
503
|
"core.addKnowledge.success.viewAgentManifest": "檢視代理程式資訊清單",
|
|
@@ -546,27 +535,27 @@
|
|
|
546
535
|
"core.selectValidateMethodQuestion.validate.appPackageOptionDescription": "在將應用程式發佈到 Teams 市集之前,請驗證應用程式",
|
|
547
536
|
"core.selectValidateMethodQuestion.validate.testCasesOption": "在發行前驗證所有整合測試案例",
|
|
548
537
|
"core.selectValidateMethodQuestion.validate.testCasesOptionDescription": "全面性測試以確保整備程度",
|
|
549
|
-
"core.GCSelectQuestion.title": "Copilot
|
|
550
|
-
"core.GCSelectOptions.listOption.title": "Select existing Copilot
|
|
551
|
-
"core.GCSelectOptions.listOption.description": "List all existing Copilot
|
|
552
|
-
"core.GCSelectOptions.inputOption.title": "Enter a Copilot
|
|
553
|
-
"core.GCSelectOptions.inputOption.description": "Enter a Copilot
|
|
554
|
-
"core.GCListQuestion.title": "Select one or more Copilot
|
|
555
|
-
"core.GCListQuestion.placeholder": "List all existing Copilot
|
|
538
|
+
"core.GCSelectQuestion.title": "Copilot Connector Content",
|
|
539
|
+
"core.GCSelectOptions.listOption.title": "Select existing Copilot Connectors",
|
|
540
|
+
"core.GCSelectOptions.listOption.description": "List all existing Copilot Connectors",
|
|
541
|
+
"core.GCSelectOptions.inputOption.title": "Enter a Copilot Connector Connection ID",
|
|
542
|
+
"core.GCSelectOptions.inputOption.description": "Enter a Copilot Connector Connection ID manually",
|
|
543
|
+
"core.GCListQuestion.title": "Select one or more Copilot Connectors as capability source",
|
|
544
|
+
"core.GCListQuestion.placeholder": "List all existing Copilot Connectors",
|
|
556
545
|
"core.GCInputQuestion.title": "連線識別碼",
|
|
557
546
|
"core.GCListQuestion.invalidMessage": "已選取 %s 個 API。您必須至少選取一個 API。",
|
|
558
547
|
"core.GCNameQuestion.title": "新增連接器名稱",
|
|
559
|
-
"core.GCNameQuestion.placeholder": "Create a name for Copilot
|
|
548
|
+
"core.GCNameQuestion.placeholder": "Create a name for Copilot Connector",
|
|
560
549
|
"core.GCConnectionIdQuestion.title": "新增連線識別碼",
|
|
561
|
-
"core.GCConnectionIdQuestion.placeholder": "Add a connection ID for Copilot
|
|
550
|
+
"core.GCConnectionIdQuestion.placeholder": "Add a connection ID for Copilot Connector",
|
|
562
551
|
"core.GCConnectionIdQuestion.validation.pattern": "連接器識別碼只能包含英數字元。",
|
|
563
552
|
"core.GCConnectionIdQuestion.validation.specialBeginner": "連線識別碼的開頭不應為 %s。",
|
|
564
553
|
"core.GCConnectionIdQuestion.validation.minlength": "連線識別碼少於 3 個字元。",
|
|
565
554
|
"core.GCConnectionIdQuestion.validation.maxlength": "連線識別碼超過 32 個字元。",
|
|
566
|
-
"core.GCList.insufficientPermission": "To list Copilot
|
|
555
|
+
"core.GCList.insufficientPermission": "To list Copilot Connectors, you need org's Microsoft 365 tenant admin permissions.",
|
|
567
556
|
"core.confirmManifestQuestion.placeholder": "確認您已選取正確的指令清單檔案",
|
|
568
|
-
"core.createProjectQuestion.addGC.label": "Add a Copilot
|
|
569
|
-
"core.createProjectQuestion.addGC.detail": "Create a declarative agent with a Copilot
|
|
557
|
+
"core.createProjectQuestion.addGC.label": "Add a Copilot Connector",
|
|
558
|
+
"core.createProjectQuestion.addGC.detail": "Create a declarative agent with a Copilot Connector",
|
|
570
559
|
"core.aadAppQuestion.label": "Microsoft Entra 應用程式",
|
|
571
560
|
"core.aadAppQuestion.description": "單一登入的 Microsoft Entra 應用程式",
|
|
572
561
|
"core.convertAadToNewSchema.continue": "繼續",
|
|
@@ -627,7 +616,7 @@
|
|
|
627
616
|
"core.common.SendingApiRequest": "正在傳送 API 要求: %s。要求本文: %s",
|
|
628
617
|
"core.common.ReceiveApiResponse": "已收到 API 回應: %s。",
|
|
629
618
|
"core.common.shareToUser.success": "已成功與使用者共用應用程式: %s。",
|
|
630
|
-
"core.common.removeShareAccess.success": "
|
|
619
|
+
"core.common.removeShareAccess.success": "Shared app access removed from the users: %s.",
|
|
631
620
|
"core.envFunc.unsupportedFile.errorLog": "\"%s\" 是無效的檔案。支援的格式: %s。",
|
|
632
621
|
"core.envFunc.unsupportedFile.errorMessage": "無效的檔案。%s",
|
|
633
622
|
"core.envFunc.unsupportedFunction.errorLog": "\"%s\" 是無效的函數。支援的函數: \"%s\"。",
|
|
@@ -927,7 +916,7 @@
|
|
|
927
916
|
"driver.devChannel.install.description": "將應用程式安裝到沙箱頻道。",
|
|
928
917
|
"driver.devChannel.install.progress.message": "正在安裝應用程式...",
|
|
929
918
|
"driver.devChannel.install.summary.exists": "小組 '%s' 中已安裝應用程式 '%s'。它現在將更新為最新版本。",
|
|
930
|
-
"error.installApp.outsideSandbox": "
|
|
919
|
+
"error.installApp.outsideSandbox": "Unable to install app outside sandboxed Team. Please update TEAM_ID and CHANNEL_ID.",
|
|
931
920
|
"error.yaml.InvalidYamlSchemaError": "無法剖析 yaml 檔案: %s。請開啟 yaml 檔案以取得詳細錯誤。",
|
|
932
921
|
"error.yaml.InvalidYamlSchemaErrorWithReason": "無法剖析 yaml 檔案: %。原因: %s 請檢閱 yaml 檔案或升級至最新的 Microsoft 365 代理程式工具組。",
|
|
933
922
|
"error.yaml.VersionNotSupported": "不支援版本 %s。支援的版本: %s。",
|
|
@@ -1079,8 +1068,8 @@
|
|
|
1079
1068
|
"core.addKnowledgeQuestion.searchType.title": "選取搜尋類型",
|
|
1080
1069
|
"core.addKnowledgeQuestion.searchType.web": "搜尋網頁上的所有內容",
|
|
1081
1070
|
"core.addKnowledgeQuestion.searchType.oneDriveSharepoint": "搜尋組織內的所有內容",
|
|
1082
|
-
"core.createProjectQuestion.apiPlugin.typeSpec.label": "
|
|
1083
|
-
"core.createProjectQuestion.apiPlugin.typeSpec.detail": "
|
|
1071
|
+
"core.createProjectQuestion.apiPlugin.typeSpec.label": "Start with TypeSpec for Microsoft 365 Copilot",
|
|
1072
|
+
"core.createProjectQuestion.apiPlugin.typeSpec.detail": "Create a declarative agent with or without an action using TypeSpec for Microsoft 365 Copilot",
|
|
1084
1073
|
"core.addKnowledgeQuestion.searchType.url": "依 URL 搜尋",
|
|
1085
1074
|
"driver.typeSpec.compile.start": "正在執行動作 %s",
|
|
1086
1075
|
"driver.typespec.error.noSpecError": "找不到 OpenApi 規格。請確定您的 TypeSpec 檔案有效,然後再試一次。",
|
|
@@ -1105,8 +1094,8 @@
|
|
|
1105
1094
|
"action.devTool.nodeInstaller.SuccessExtract": "已成功將 NodeJS 套件擷取到路徑: %s,時間: %s 毫秒",
|
|
1106
1095
|
"action.devTool.nodeInstaller.Summary.installInPath": "NodeJS 安裝於: %s。",
|
|
1107
1096
|
"action.devTool.nodeInstaller.Summary.installInSystem": "NodeJS 已安裝在系統環境中。",
|
|
1108
|
-
"driver.typeSpec.compile.reprovision": "
|
|
1097
|
+
"driver.typeSpec.compile.reprovision": "File %s is updated. Rerun the provision process to account for these changes",
|
|
1109
1098
|
"error.kiota.KiotaGeneratePluginError": "無法使用 Kiota 產生外掛程式資訊清單檔案。錯誤: %s",
|
|
1110
|
-
"error.daSpecParser.InvalidSpecError": "OpenAPI
|
|
1111
|
-
"error.kiotaClient.EmptyResult": "
|
|
1099
|
+
"error.daSpecParser.InvalidSpecError": "OpenAPI specification file is not valid: %s",
|
|
1100
|
+
"error.kiotaClient.EmptyResult": "Get empty result when parser OpenAPI description file."
|
|
1112
1101
|
}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"version": {
|
|
15
15
|
"type": "string",
|
|
16
16
|
"description": "The version of the yaml file schema",
|
|
17
|
-
"const": "v1.
|
|
17
|
+
"const": "v1.8"
|
|
18
18
|
},
|
|
19
19
|
"additionalMetadata": {
|
|
20
20
|
"type": "object",
|
|
@@ -1706,7 +1706,7 @@
|
|
|
1706
1706
|
"type": "object",
|
|
1707
1707
|
"additionalProperties": false,
|
|
1708
1708
|
"description": "Get deployment key from Azure Static Web App.",
|
|
1709
|
-
"required": ["uses", "with"],
|
|
1709
|
+
"required": ["uses", "with", "writeToEnvironmentFile"],
|
|
1710
1710
|
"properties": {
|
|
1711
1711
|
"uses": {
|
|
1712
1712
|
"type": "string",
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -2,79 +2,68 @@
|
|
|
2
2
|
<!--This file is used during the Teams Bot authentication flow to assist with retrieval of the access token.-->
|
|
3
3
|
<!--If you're not familiar with this, do not alter or remove this file from your project.-->
|
|
4
4
|
<html>
|
|
5
|
+
<head>
|
|
6
|
+
<title>Login End Page</title>
|
|
7
|
+
<meta charset="utf-8" />
|
|
8
|
+
</head>
|
|
5
9
|
|
|
6
|
-
<
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
+
<body>
|
|
11
|
+
<script
|
|
12
|
+
src="https://res.cdn.office.net/teams-js/2.31.1/js/MicrosoftTeams.min.js"
|
|
13
|
+
integrity="sha384-ihAqYgEJz9hzEU+HaYodG1aTzjebC/wKXQi1nWKZG7OLAUyOL9ZrzD/SfZu79Jeu"
|
|
14
|
+
crossorigin="anonymous"
|
|
15
|
+
></script>
|
|
16
|
+
<div id="divError"></div>
|
|
17
|
+
<script type="text/javascript">
|
|
18
|
+
microsoftTeams.app.initialize().then(() => {
|
|
19
|
+
let hashParams = getHashParameters();
|
|
10
20
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
} else if (hashParams.get("code")) {
|
|
24
|
-
// Get the stored state parameter and compare with incoming state
|
|
25
|
-
let expectedState = localStorage.getItem("state");
|
|
26
|
-
if (expectedState !== hashParams.get("state")) {
|
|
27
|
-
// State does not match, report error
|
|
28
|
-
handleAuthError("StateDoesNotMatch", hashParams);
|
|
21
|
+
if (hashParams.get("error")) {
|
|
22
|
+
// Authentication failed
|
|
23
|
+
handleAuthError(hashParams.get("error"), hashParams);
|
|
24
|
+
} else if (hashParams.get("code")) {
|
|
25
|
+
// Get the stored state parameter and compare with incoming state
|
|
26
|
+
let expectedState = localStorage.getItem("state");
|
|
27
|
+
if (expectedState !== hashParams.get("state")) {
|
|
28
|
+
// State does not match, report error
|
|
29
|
+
handleAuthError("StateDoesNotMatch", hashParams);
|
|
30
|
+
} else {
|
|
31
|
+
microsoftTeams.authentication.notifySuccess();
|
|
32
|
+
}
|
|
29
33
|
} else {
|
|
30
|
-
|
|
34
|
+
// Unexpected condition: hash does not contain error or access_token parameter
|
|
35
|
+
handleAuthError("UnexpectedFailure", hashParams);
|
|
31
36
|
}
|
|
32
|
-
}
|
|
33
|
-
// Unexpected condition: hash does not contain error or access_token parameter
|
|
34
|
-
handleAuthError("UnexpectedFailure", hashParams);
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
+
});
|
|
37
38
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
let hashParams = new Map();
|
|
42
|
-
|
|
43
|
-
if (location.hash && location.hash.length > 1) {
|
|
39
|
+
// Parse hash parameters into key-value pairs
|
|
40
|
+
function getHashParameters() {
|
|
41
|
+
let hashParams = new Map();
|
|
44
42
|
location.hash
|
|
45
43
|
.substr(1)
|
|
46
44
|
.split("&")
|
|
47
45
|
.forEach(function (item) {
|
|
48
|
-
if (!item) return;
|
|
49
46
|
let s = item.split("="),
|
|
50
47
|
k = s[0],
|
|
51
48
|
v = s[1] && decodeURIComponent(s[1]);
|
|
52
|
-
|
|
53
|
-
if (k) {
|
|
54
|
-
// Store parameters in the Map
|
|
55
|
-
hashParams.set(k, v);
|
|
56
|
-
}
|
|
49
|
+
hashParams.set(k, v);
|
|
57
50
|
});
|
|
51
|
+
return hashParams;
|
|
58
52
|
}
|
|
59
|
-
|
|
60
|
-
// Convert Map back to a plain object for compatibility with the rest of the code
|
|
61
|
-
return Object.fromEntries(hashParams);
|
|
62
|
-
}
|
|
63
53
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
let element = document.getElementById("divError");
|
|
75
|
-
element.appendChild(para);
|
|
76
|
-
}
|
|
77
|
-
</script>
|
|
78
|
-
</body>
|
|
54
|
+
// Show error information
|
|
55
|
+
function handleAuthError(errorType, errorMessage) {
|
|
56
|
+
const err = JSON.stringify({
|
|
57
|
+
error: encodeURIComponent(errorType),
|
|
58
|
+
message: encodeURIComponent(JSON.stringify(errorMessage)),
|
|
59
|
+
});
|
|
60
|
+
let para = document.createElement("p");
|
|
61
|
+
let node = document.createTextNode(err);
|
|
62
|
+
para.appendChild(node);
|
|
79
63
|
|
|
80
|
-
|
|
64
|
+
let element = document.getElementById("divError");
|
|
65
|
+
element.appendChild(para);
|
|
66
|
+
}
|
|
67
|
+
</script>
|
|
68
|
+
</body>
|
|
69
|
+
</html>
|
|
@@ -2,78 +2,67 @@
|
|
|
2
2
|
<!--This file is used during the Teams Bot authentication flow to assist with retrieval of the access token.-->
|
|
3
3
|
<!--If you're not familiar with this, do not alter or remove this file from your project.-->
|
|
4
4
|
<html>
|
|
5
|
+
<head>
|
|
6
|
+
<title>Login End Page</title>
|
|
7
|
+
<meta charset="utf-8" />
|
|
8
|
+
</head>
|
|
5
9
|
|
|
6
|
-
<
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
+
<body>
|
|
11
|
+
<script
|
|
12
|
+
src="https://res.cdn.office.net/teams-js/2.31.1/js/MicrosoftTeams.min.js"
|
|
13
|
+
integrity="sha384-ihAqYgEJz9hzEU+HaYodG1aTzjebC/wKXQi1nWKZG7OLAUyOL9ZrzD/SfZu79Jeu"
|
|
14
|
+
crossorigin="anonymous"
|
|
15
|
+
></script>
|
|
16
|
+
<div id="divError"></div>
|
|
17
|
+
<script type="text/javascript">
|
|
18
|
+
microsoftTeams.app.initialize().then(() => {
|
|
19
|
+
let hashParams = getHashParameters();
|
|
10
20
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
} else if (hashParams.get("code")) {
|
|
24
|
-
// Get the stored state parameter and compare with incoming state
|
|
25
|
-
let expectedState = localStorage.getItem("state");
|
|
26
|
-
if (expectedState !== hashParams.get("state")) {
|
|
27
|
-
// State does not match, report error
|
|
28
|
-
handleAuthError("StateDoesNotMatch", hashParams);
|
|
21
|
+
if (hashParams.get("error")) {
|
|
22
|
+
// Authentication failed
|
|
23
|
+
handleAuthError(hashParams.get("error"), hashParams);
|
|
24
|
+
} else if (hashParams.get("code")) {
|
|
25
|
+
// Get the stored state parameter and compare with incoming state
|
|
26
|
+
let expectedState = localStorage.getItem("state");
|
|
27
|
+
if (expectedState !== hashParams.get("state")) {
|
|
28
|
+
// State does not match, report error
|
|
29
|
+
handleAuthError("StateDoesNotMatch", hashParams);
|
|
30
|
+
} else {
|
|
31
|
+
microsoftTeams.authentication.notifySuccess();
|
|
32
|
+
}
|
|
29
33
|
} else {
|
|
30
|
-
|
|
34
|
+
// Unexpected condition: hash does not contain error or access_token parameter
|
|
35
|
+
handleAuthError("UnexpectedFailure", hashParams);
|
|
31
36
|
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
});
|
|
37
|
-
// Parse hash parameters into key-value pairs
|
|
38
|
-
function getHashParameters() {
|
|
39
|
-
// Using ES6 Map instead of plain object to prevent prototype pollution
|
|
40
|
-
let hashParams = new Map();
|
|
41
|
-
|
|
42
|
-
if (location.hash && location.hash.length > 1) {
|
|
37
|
+
});
|
|
38
|
+
// Parse hash parameters into key-value pairs
|
|
39
|
+
function getHashParameters() {
|
|
40
|
+
let hashParams = new Map();
|
|
43
41
|
location.hash
|
|
44
42
|
.substr(1)
|
|
45
43
|
.split("&")
|
|
46
44
|
.forEach(function (item) {
|
|
47
|
-
if (!item) return;
|
|
48
45
|
let s = item.split("="),
|
|
49
46
|
k = s[0],
|
|
50
47
|
v = s[1] && decodeURIComponent(s[1]);
|
|
51
|
-
|
|
52
|
-
if (k) {
|
|
53
|
-
// Store parameters in the Map
|
|
54
|
-
hashParams.set(k, v);
|
|
55
|
-
}
|
|
48
|
+
hashParams.set(k, v);
|
|
56
49
|
});
|
|
50
|
+
return hashParams;
|
|
57
51
|
}
|
|
58
|
-
|
|
59
|
-
// Convert Map back to a plain object for compatibility with the rest of the code
|
|
60
|
-
return Object.fromEntries(hashParams);
|
|
61
|
-
}
|
|
62
52
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
let element = document.getElementById("divError");
|
|
74
|
-
element.appendChild(para);
|
|
75
|
-
}
|
|
76
|
-
</script>
|
|
77
|
-
</body>
|
|
53
|
+
// Show error information
|
|
54
|
+
function handleAuthError(errorType, errorMessage) {
|
|
55
|
+
const err = JSON.stringify({
|
|
56
|
+
error: encodeURIComponent(errorType),
|
|
57
|
+
message: encodeURIComponent(JSON.stringify(errorMessage)),
|
|
58
|
+
});
|
|
59
|
+
let para = document.createElement("p");
|
|
60
|
+
let node = document.createTextNode(err);
|
|
61
|
+
para.appendChild(node);
|
|
78
62
|
|
|
79
|
-
|
|
63
|
+
let element = document.getElementById("divError");
|
|
64
|
+
element.appendChild(para);
|
|
65
|
+
}
|
|
66
|
+
</script>
|
|
67
|
+
</body>
|
|
68
|
+
</html>
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/****************************************************************************************
|
|
2
|
-
* NOTICE: AUTO-GENERATED *
|
|
3
|
-
****************************************************************************************
|
|
4
|
-
* This file is automatically generated by script "./src/question/generator.ts". *
|
|
5
|
-
* Please don't manually change its contents, as any modifications will be overwritten! *
|
|
6
|
-
***************************************************************************************/
|
|
7
|
-
import { Inputs } from "@microsoft/teamsfx-api";
|
|
8
|
-
export interface RegeneratePluginInputs extends Inputs {
|
|
9
|
-
/** @description Select plugin manifest file. */
|
|
10
|
-
"select-plugin-manifest"?: string;
|
|
11
|
-
/** @description Select OpenAPI description document file. */
|
|
12
|
-
"select-openapi-spec-from-plugin"?: string;
|
|
13
|
-
/** @description Select operation(s) Copilot can interact with. */
|
|
14
|
-
"api-operation"?: string[];
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=RegeneratePluginInputs.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RegeneratePluginInputs.d.ts","sourceRoot":"","sources":["../../../src/question/inputs/RegeneratePluginInputs.ts"],"names":[],"mappings":"AAGA;;;;;yFAKyF;AAEzF,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,MAAM,WAAW,sBAAuB,SAAQ,MAAM;IACpD,gDAAgD;IAChD,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,6DAA6D;IAC7D,iCAAiC,CAAC,EAAE,MAAM,CAAC;IAC3C,kEAAkE;IAClE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RegeneratePluginInputs.js","sourceRoot":"","sources":["../../../src/question/inputs/RegeneratePluginInputs.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/****************************************************************************************
|
|
2
|
-
* NOTICE: AUTO-GENERATED *
|
|
3
|
-
****************************************************************************************
|
|
4
|
-
* This file is automatically generated by script "./src/question/generator.ts". *
|
|
5
|
-
* Please don't manually change its contents, as any modifications will be overwritten! *
|
|
6
|
-
***************************************************************************************/
|
|
7
|
-
import { CLICommandOption, CLICommandArgument } from "@microsoft/teamsfx-api";
|
|
8
|
-
export declare const RegeneratePluginOptions: CLICommandOption[];
|
|
9
|
-
export declare const RegeneratePluginArguments: CLICommandArgument[];
|
|
10
|
-
//# sourceMappingURL=RegeneratePluginOptions.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RegeneratePluginOptions.d.ts","sourceRoot":"","sources":["../../../src/question/options/RegeneratePluginOptions.ts"],"names":[],"mappings":"AAGA;;;;;yFAKyF;AAEzF,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE9E,eAAO,MAAM,uBAAuB,EAAE,gBAAgB,EAoBrD,CAAC;AACF,eAAO,MAAM,yBAAyB,EAAE,kBAAkB,EAAO,CAAC"}
|