@microsoft/m365agentstoolkit-cli 1.1.19-alpha.c89a0dd682.0 → 1.1.19-alpha.d4b09ccc02.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.
Files changed (33) hide show
  1. package/README.md +9 -0
  2. package/json-schemas/copilot/declarative-agent/v1.9/schema.json +1356 -0
  3. package/json-schemas/teams/vDevPreview/MicrosoftTeams.schema.json +1869 -1362
  4. package/lib/index.js +8 -2
  5. package/lib/index.js.map +2 -2
  6. package/package.json +5 -5
  7. package/resource/package.nls.cs.json +72 -68
  8. package/resource/package.nls.de.json +72 -68
  9. package/resource/package.nls.es.json +72 -68
  10. package/resource/package.nls.fr.json +72 -68
  11. package/resource/package.nls.it.json +72 -68
  12. package/resource/package.nls.ja.json +72 -68
  13. package/resource/package.nls.json +23 -62
  14. package/resource/package.nls.ko.json +72 -68
  15. package/resource/package.nls.pl.json +72 -68
  16. package/resource/package.nls.pt-BR.json +72 -68
  17. package/resource/package.nls.ru.json +72 -68
  18. package/resource/package.nls.tr.json +72 -68
  19. package/resource/package.nls.zh-Hans.json +72 -68
  20. package/resource/package.nls.zh-Hant.json +72 -68
  21. package/resource/yaml-schema/v1.13/yaml.schema.json +101 -29
  22. package/resource/yaml-schema/yaml.schema.json +101 -29
  23. package/templates/fallback/common.zip +0 -0
  24. package/templates/fallback/csharp.zip +0 -0
  25. package/templates/fallback/js.zip +0 -0
  26. package/templates/fallback/python.zip +0 -0
  27. package/templates/fallback/ts.zip +0 -0
  28. package/templates/metadata.zip +0 -0
  29. package/templates/ui/tdpNode.json +1 -2
  30. package/templates/ui/wizardNode.json +1 -2
  31. package/templates/v4/create-selector.json +1 -2
  32. package/templates/v4/templates-metadata.zip +0 -0
  33. package/templates/v4/templates.zip +0 -0
@@ -10,7 +10,8 @@
10
10
  "core.addKnowledge.continue": "新增",
11
11
  "core.addSkill.confirm": "Microsoft 365 Agents Toolkit 會修改 \"%s\" 資料夾中的檔案,以新增 Agent 技能。為了避免遺失未預期的變更,請在繼續之前備份您的檔案或使用 Git 進行變更追蹤。",
12
12
  "core.addSkill.continue": "新增",
13
- "core.addSkill.featureFlagDisabled": "未啟用 Agent 技能。設定環境變數 TEAMSFX_AGENT_SKILLS=true 以啟用此預覽功能。",
13
+ "core.addSkill.featureFlagDisabled": "未啟用代理程式技能。設定環境變數 ATK_FRONTIER=true 以啟用此預覽功能。",
14
+ "core.featureFlaggedLabel.frontier": "%s (Frontier)",
14
15
  "core.setSensitivityLabel.confirm": "Teams 工具組會根據您提供的敏感度標籤來修改檔案 \"%s\"。為了避免遺失未預期的變更,請在繼續之前備份您的檔案或使用 Git 進行變更追蹤。",
15
16
  "core.setSensitivityLabel.continue": "設定",
16
17
  "core.provision.provision": "佈建",
@@ -41,7 +42,7 @@
41
42
  "core.progress.configureAzureStorage": "正在設定 Azure 儲存體,啟用靜態網站設定。",
42
43
  "core.progress.runCommand": "在 %s 執行命令 %s",
43
44
  "core.progress.deployToAzure": "正在將 %s 部署至 %s。",
44
- "core.v4.scaffoldMetadataSourceReadFailed": "The scaffold metadata source could not be read.",
45
+ "core.v4.scaffoldMetadataSourceReadFailed": "無法讀取 Scaffold 中繼資料來源。",
45
46
  "core.migrationV3.abandonedProject": "不支援此專案版本,且無法升級。請使用 Microsoft 365 Agents 工具組建立新專案。",
46
47
  "core.migrationV3.notAllowedMigration": "此專案可升級。請使用適用於 VS Code v6.10 的 Microsoft 365 Agents 工具組或 Microsoft 365 Agents 工具組 CLI v1.1.11 以升級您的專案。",
47
48
  "core.deployArmTemplates.ActionSuccess": "已成功部署ARM範本。資源組名: %s。部署名稱: %s",
@@ -74,22 +75,6 @@
74
75
  "core.collaboration.agent.label": "代理程式",
75
76
  "core.collaboration.agent.description": "Microsoft 365 代理程式",
76
77
  "core.developerPortal.scaffold.CannotFindManifest": "未從下載的套件中找到應用程式 %s 的資訊清單。",
77
- "plugins.spfx.questions.framework.title": "架構",
78
- "plugins.spfx.questions.webpartName": "SharePoint 架構網頁組件的名稱",
79
- "plugins.spfx.questions.webpartName.error.duplicate": "foler %s 已經存在。請為您的元件選擇不同的名稱。",
80
- "plugins.spfx.questions.webpartName.error.notMatch": "%s 不符合模式: %s",
81
- "plugins.spfx.questions.packageSelect.title": "SharePoint 架構",
82
- "plugins.spfx.questions.packageSelect.placeholder": "選取 Scaffolding 的選項",
83
- "plugins.spfx.questions.packageSelect.useGlobalPackage.withVersion.label": "使用全域安裝的 SPFx (%s)",
84
- "plugins.spfx.questions.packageSelect.useGlobalPackage.noVersion.label": "使用全域安裝的 SPFx",
85
- "plugins.spfx.questions.packageSelect.useGlobalPackage.detail": "SPFx %s 或更新版本",
86
- "plugins.spfx.questions.packageSelect.installLocally.withVersion.label": "在 Microsoft 365 代理程式工具組目錄中於本機安裝最新的 SPFx (%s)",
87
- "plugins.spfx.questions.packageSelect.installLocally.noVersion.label": "在 Microsoft 365 代理程式工具組目錄中於本機安裝最新的 SPFx",
88
- "plugins.spfx.questions.spfxSolution.title": "SharePoint 解決方案",
89
- "plugins.spfx.questions.spfxSolution.createNew": "建立新的 SPFx 解決方案",
90
- "plugins.spfx.questions.spfxSolution.createNew.detail": "使用 SPFx Web 組件建立 Teams 索引標籤應用程式",
91
- "plugins.spfx.questions.spfxSolution.importExisting": "匯入現有的 SPFx 解決方案",
92
- "plugins.spfx.questions.spfxSolution.importExisting.detail": "以 Microsoft Teams 索引標籤或個人應用程式公開 SPFx 用戶端網頁組件",
93
78
  "plugins.spfx.deployNotice": "SharePoint 套件 %s 已成功部署至 [%s](%s)。",
94
79
  "plugins.spfx.cannotFindPackage": "找不到 SharePoint 套件 %s",
95
80
  "plugins.spfx.cannotGetSPOToken": "無法取得 SPO 存取權杖",
@@ -97,41 +82,8 @@
97
82
  "plugins.spfx.insufficientPermission": "若要將套件上傳並部署至應用程式目錄 %s,您需要組織的 Microsoft 365 租用戶系統管理員權限。透過 [Microsoft 365 開發人員計畫](%s) 取得免費的 Microsoft 365 租用戶,供測試使用。",
98
83
  "plugins.spfx.createAppcatalogFail": "無法建立租用戶應用程式目錄,原因 %s,堆疊: %s",
99
84
  "plugins.spfx.uploadAppcatalogFail": "無法上傳應用程式套件,原因 %s",
100
- "plugins.spfx.buildSharepointPackage": "建置 SharePoint 套件",
101
85
  "plugins.spfx.deploy.title": "上傳並部署 SharePoint 套件",
102
- "plugins.spfx.scaffold.title": "Scaffolding 專案",
103
- "plugins.spfx.error.invalidDependency": "無法驗證套件 %s",
104
- "plugins.spfx.error.noConfiguration": "您的 SPFx 專案中沒有 .yo-rc.json 檔案,請新增組態檔,然後再試一次。",
105
- "plugins.spfx.error.devEnvironmentNotSetup": "您的 SPFx 開發環境未正確設定。按一下 [取得協助] 以設定正確的環境。",
106
- "plugins.spfx.scaffold.dependencyCheck": "正在檢查相依性...",
107
- "plugins.spfx.scaffold.dependencyInstall": "正在安裝相依性。可能需要 5 分鐘以上的時間。",
108
- "plugins.spfx.scaffold.scaffoldProject": "使用 Yeoman CLI 產生 SPFx 專案",
109
- "plugins.spfx.scaffold.updateManifest": "更新網頁組件資訊清單",
110
86
  "plugins.spfx.GetTenantFailedError": "無法取得租使用者 %s %s",
111
- "plugins.spfx.error.installLatestDependencyError": "無法在 %s 資料夾中設定SPFx環境。若要設定全域 SPFx 環境,請遵循 [設定您的 SharePoint 架構 開發環境 |Microsoft Learn](%s)。",
112
- "plugins.spfx.error.scaffoldError": "專案建立失敗,這可能是因為Yeoman SharePoint產生器所造成。如需詳細數據,請查看 [Output panel](%s)。",
113
- "plugins.spfx.error.import.retrieveSolutionInfo": "無法取得現有的 SPFx 解決方案資訊。確保您的 SPFx 解決方案有效。",
114
- "plugins.spfx.error.import.copySPFxSolution": "無法複製現有的 SPFx 解決方案: %s",
115
- "plugins.spfx.error.import.updateSPFxTemplate": "無法使用現有的 SPFx 解決方案更新專案範本: %s",
116
- "plugins.spfx.error.import.common": "無法將現有的 SPFx 解決方案匯入 Microsoft 365 代理程式工具組: %s",
117
- "plugins.spfx.import.title": "正在匯入 SPFx 解決方案",
118
- "plugins.spfx.import.copyExistingSPFxSolution": "正在複製現有的 SPFx 解決方案...",
119
- "plugins.spfx.import.generateSPFxTemplates": "正在根據解決方案資訊產生範本...",
120
- "plugins.spfx.import.updateTemplates": "正在更新範本...",
121
- "plugins.spfx.import.success": "您的 SPFx 解決方案已成功匯入至 %s。",
122
- "plugins.spfx.import.log.success": "Microsoft 365 代理程式工具組已成功匯入您的 SPFx 解決方案。在 %s 中尋找完整的匯入詳細資料記錄。",
123
- "plugins.spfx.import.log.fail": "Microsoft 365 代理程式工具組無法匯入您的 SPFx 解決方案。在 %s 中尋找完整的重要詳細資料記錄。",
124
- "plugins.spfx.addWebPart.confirmInstall": "您的電腦未安裝您解決方案中的 SPFx %s 版本。您要在 Microsoft 365 代理程式工具組目錄中安裝它,以繼續新增 Web 組件嗎?",
125
- "plugins.spfx.addWebPart.install": "安裝",
126
- "plugins.spfx.addWebPart.confirmUpgrade": "Microsoft 365 代理程式工具組正在使用 SPFx 版本 %s,且您的解決方案具有 SPFx 版本 %s。您要將它升級到 Microsoft 365 代理程式工具組目錄中的版本 %s 並新增 Web 組件嗎?",
127
- "plugins.spfx.addWebPart.upgrade": "升級",
128
- "plugins.spfx.addWebPart.versionMismatch.continueConfirm": "此電腦上未安裝您解決方案中的 SPFx 版本 %s。Microsoft 365 代理程式工具組預設會使用安裝在其目錄中的 SPFx (%s)。版本不符可能會導致意外的錯誤。仍要繼續嗎?",
129
- "plugins.spfx.addWebPart.versionMismatch.help": "說明",
130
- "plugins.spfx.addWebPart.versionMismatch.continue": "繼續",
131
- "plugins.spfx.addWebPart.versionMismatch.output": "您的解決方案中的 SPFx 版本為 %s。您已全域安裝 %s,並在 Microsoft 365 代理程式工具組目錄中安裝 %s,其被 Microsoft 365 代理程式工具組作為預設 (%s) 使用。版本不符可能會導致意外的錯誤。請在 %s 中尋找可能的解決方案。",
132
- "plugins.spfx.addWebPart.versionMismatch.localOnly.output": "您的解決方案中的 SPFx 版本為 %s。您已在 Microsoft 365 代理程式工具組目錄中安裝 %s,其在 Microsoft 365 代理程式工具組用作預設項目。版本不符可能會導致意外的錯誤。請在 %s 中尋找可能的解決方案。",
133
- "plugins.spfx.addWebPart.cannotFindSolutionVersion": "在您的解決方案中找不到 %s 中的SPFx版本",
134
- "plugins.spfx.error.installDependencyError": "您似乎在 %s 資料夾中設定 SPFx 環境時發生問題。請遵循 %s 安裝全域 SPFx 環境設定的 %s。",
135
87
  "plugins.frontend.checkNetworkTip": "請檢查您的網路連線。",
136
88
  "plugins.frontend.checkFsPermissionsTip": "檢查您是否有檔案系統的讀取/寫入權限。",
137
89
  "plugins.frontend.checkStoragePermissionsTip": "檢查您是否有 Azure 儲存體帳戶的權限。",
@@ -283,8 +235,6 @@
283
235
  "core.CommandAndResponseOption.detail": "在 Teams 聊天中使用自訂聊天命令觸發工作",
284
236
  "core.WorkflowOption.label": "聊天中的連續工作流程",
285
237
  "core.WorkflowOption.detail": "在 Teams 聊天中與多步驟處理序互動",
286
- "core.TabSPFxOption.labelNew": "SPFx",
287
- "core.TabSPFxOption.detailNew": "使用 SharePoint 架構建置 UI",
288
238
  "core.TabNonSso.label": "索引標籤",
289
239
  "core.TabNonSso.detail": "簡易實作準備好自訂的 Web 應用程式",
290
240
  "core.copilotPlugin.api.noAuth": "無驗證",
@@ -397,6 +347,13 @@
397
347
  "core.createProjectQuestion.apiSpec.placeholder": "輸入 OpenAPI 文件 URL",
398
348
  "core.createProjectQuestion.apiSpecInputUrl.label": "輸入 OpenAPI 文件 URL",
399
349
  "core.createProjectQuestion.ApiKey": "在 OpenAPI 描述檔中輸入 API 金鑰",
350
+ "core.addOpenApiActionQuestion.ApiKey.title": "API 索引鍵 (選用)",
351
+ "core.addOpenApiActionQuestion.IdentityProvider.title": "選取 OpenAPI OAuth 的身分識別提供者",
352
+ "core.addOpenApiActionQuestion.IdentityProvider.description": "OpenAPI OAuth 的身分識別提供者 (選用: 預設為 OAuth)。",
353
+ "core.addOpenApiActionQuestion.OAuthClientId.title": "OpenAPI OAuth 用戶端識別碼 (選用)",
354
+ "core.addOpenApiActionQuestion.OAuthClientSecret.title": "OpenAPI OAuth 用戶端密碼 (選用)",
355
+ "core.addOpenApiActionQuestion.OAuthScopes.title": "OpenAI OAuth 範圍 (選用)",
356
+ "core.addOpenApiActionQuestion.OAuthPKCE.title": "針對 OpenAPI OAuth 啟用 PKCE?",
400
357
  "core.createProjectQuestion.ApiKeyConfirm": "Microsoft 365 Agents 工具組會將 API 金鑰上傳至開發人員入口網站。Teams 用戶端會在執行階段使用該 API 金鑰來安全地存取您的 API。Microsoft 365 Agents 工具組不會儲存您的 API 金鑰。",
401
358
  "core.createProjectQuestion.OauthClientId": "OAuth 註冊用戶端識別碼",
402
359
  "core.createProjectQuestion.OauthClientId.placeholder": "OpenAPI 描述文件中 OAuth 註冊的輸入用戶端識別碼",
@@ -440,8 +397,6 @@
440
397
  "core.regenerateQuestion.selectPluginManifestTitle": "選取外掛程式資訊清單檔。",
441
398
  "core.regenerateQuestion.selectOpenAPISpecFromPluginTitle": "選取 OpenAPI 描述文件檔案。",
442
399
  "core.regenerateQuestion.selectApiOperationForRegenerateTitle": "選取 Copilot 可以互動的作業。",
443
- "core.spfxFolder.title": "SPFx 解決方案資料夾",
444
- "core.spfxFolder.placeholder": "選取包含 SPFx 解決方案的資料夾",
445
400
  "core.QuestionSelectTargetEnvironment.title": "選取環境",
446
401
  "core.getQuestionNewTargetEnvironmentName.title": "新增環境名稱",
447
402
  "core.getQuestionNewTargetEnvironmentName.placeholder": "新增環境名稱",
@@ -598,6 +553,9 @@
598
553
  "core.common.removeShareAccess.success": "已從使用者成功移除共用存取: %s。",
599
554
  "core.envFunc.unsupportedFile.errorLog": "\"%s\" 是無效的檔案。支援的格式: %s。",
600
555
  "core.envFunc.unsupportedFile.errorMessage": "無效的檔案。%s",
556
+ "core.envFunc.fileReferenceOutsideManifestDirectory.errorLog.local": "檔案參照解析至資訊清單目錄之外。\n參照: %s\n解析後的路徑: %s\n資訊清單目錄: %s\n請將檔案移至資訊清單目錄中,然後在 %s 中更新檔案參照。",
557
+ "core.envFunc.fileReferenceOutsideManifestDirectory.errorMessage": "檔案參照必須指向資訊清單目錄內的檔案。",
558
+ "core.envFunc.fileReferenceOutsideManifestDirectory.errorMessage.local": "檔案參照 \"%s\" 解析為資訊清單目錄 \"%s\" 外部的 \"%s\"。將檔案移至資訊清單目錄,然後更新 %s 中的參考。",
601
559
  "core.envFunc.unsupportedFunction.errorLog": "\"%s\" 是無效的函數。支援的函數: \"%s\"。",
602
560
  "core.envFunc.unsupportedFunction.errorMessage": "無效的函數。%s",
603
561
  "core.envFunc.invalidFunctionParameter.errorLog": "函數 \"%s\" 的參數 \"%s\" 無效。請提供由 '' 包裝的有效檔案路徑,或以 “${{}}” 格式包裝的環境變數名稱。",
@@ -787,10 +745,6 @@
787
745
  "driver.spfx.warn.noTenantAppCatalogFound": "找不到租用戶應用程式目錄,請再試一次: %s",
788
746
  "driver.spfx.error.failedToGetAppCatalog": "建立后無法取得應用程式目錄網站 URL。請稍候數分鐘,然後再試一次。",
789
747
  "driver.spfx.error.noValidAppCatelog": "您的租用戶中沒有有效的應用程式目錄。如果您希望 Microsoft 365 Agents 工具組為您建立屬性,或者您可以自行建立,您可以將 %s 中的屬性 'createAppCatalogIfNotExist' 更新為 true。",
790
- "driver.spfx.add.description": "將其他網頁組件新增至 SPFx 專案",
791
- "driver.spfx.add.successNotice": "Web 組件 %s 已成功新增至專案。",
792
- "driver.spfx.add.progress.title": "Scaffolding 網頁組件",
793
- "driver.spfx.add.progress.scaffoldWebpart": "使用 Yeoman CLI 產生 SPFx 網頁組件",
794
748
  "driver.prerequisite.error.funcInstallationError": "無法檢查及安裝 Azure Functions Core Tools。",
795
749
  "driver.prerequisite.error.dotnetInstallationError": "無法檢查和安裝 .NET Core SDK。",
796
750
  "driver.prerequisite.error.testToolInstallationError": "無法檢查並安裝 Microsoft 365 Agents 遊樂場。",
@@ -885,9 +839,27 @@
885
839
  "error.teamsApp.validate.details": "檔案路徑: %s,標題: %s",
886
840
  "error.teamsApp.AppIdNotExistError": "開發人員入口網站中不存在識別碼為 %s 的應用程式。",
887
841
  "error.teamsApp.InvalidAppIdError": "應用程式識別碼 %s 無效,必須是 GUID。",
888
- "error.teamsApp.createAppPackage.invalidFile": "%s 無效,它應該與manifest.json或其子目錄位於相同的目錄中。",
842
+ "error.teamsApp.createAppPackage.invalidFile": "參照的檔案無效。檔案必須位於與 manifest.json 相同的目錄或其子目錄中。",
843
+ "error.teamsApp.createAppPackage.invalidFile.local": "檔案參照 \"%s\" 解析至 \"%s\",資訊清單目錄 \"%s\" 之外。請將檔案移至資訊清單目錄中,然後在包含此檔案的資訊清單中更新參照。",
889
844
  "error.teamsApp.createAppPackage.packageSizeExceeded": "產生的應用程式套件 (%s MB) 超過允許的大小上限 %s MB。建置之前先減少套件內容。",
845
+ "error.teamsApp.createAppPackage.fileSystemError.telemetry": "應用程式套件檔案作業失敗。檔案系統錯誤: %s。",
846
+ "error.teamsApp.createAppPackage.fileSystemError.display": "應用程式套件的檔案操作失敗,檔案為 '%s'。檔案系統錯誤: %s。",
890
847
  "error.m365.packageService.packageSizeExceeded": "應用程式套件 (%s MB) 超過支援的大小上限 (%s MB)。上傳之前先減少套件內容。",
848
+ "error.m365.packageService.validationFailed": "應用程式套件未通過 RAI 驗證。解決下列問題,然後再試一次:\n%s",
849
+ "info.m365.packageService.raiValidationInProgress": "RAI 驗證進行中。正在等待完成...",
850
+ "error.m365.skills.invalidInventory": "The skill file inventory is invalid or contains conflicting paths. Check the skill files and try again.",
851
+ "error.m365.skills.invalidPackage": "The agent skill package is invalid. Check its manifests, skill paths, and SKILL.md metadata before retrying.",
852
+ "error.m365.skills.invalidResponse": "Microsoft 365 returned an unexpected response while preparing or synchronizing agent skills. The agent package was not submitted.",
853
+ "error.m365.skills.authorization": "Skill synchronization is not authorized. Verify the signed-in account, agent ownership, Graph permissions, and SharePoint Embedded onboarding before retrying.",
854
+ "error.m365.skills.conflict": "The skill upload conflicts with an existing version or another edit. Use a new package manifest version for updates and do not edit the agent concurrently. No rollback was performed.",
855
+ "error.m365.skills.retryExhausted": "Skill synchronization could not complete within its retry budget. The draft is retained. Resolve the service issue before starting another upload through the ATK skip-copy flow.",
856
+ "error.m365.skills.requestFailed": "A skill upload request failed. Its outcome may be uncertain. No rollback was performed. Check the service state before another upload; if package submission was attempted, resolve its publication status first.",
857
+ "error.m365.skills.directoryFailed": "The skill draft could not be prepared. The request was not replayed because its outcome may be uncertain. Verify Microsoft 365 skip-copy support and ensure no other upload is running before trying again.",
858
+ "error.m365.skills.copyNotSupported": "Microsoft 365 reported published-content copying for a skill draft. This preview supports only drafts created exclusively through the ATK skip-copy flow. Verify the draft's history and Microsoft 365 skip-copy support before another upload. No skill files were synchronized and the agent package was not submitted.",
859
+ "info.m365.skills.preview": "Incremental skill upload preview supports only drafts created exclusively through the ATK skip-copy flow. Do not use drafts from older copy-enabled ATK flows or other clients, or run concurrent uploads. Microsoft 365 must support skip-copy. Fresh drafts upload all local skill files. Increment the package manifest version for each update.",
860
+ "info.m365.skills.preparing": "Preparing skill draft %s of %s without copying published content...",
861
+ "info.m365.skills.synchronizing": "Synchronizing skill %s of %s...",
862
+ "info.m365.skills.summary": "Skill synchronization completed: %s files uploaded, %s files unchanged, %s files or folders deleted.",
891
863
  "driver.botFramework.description": "在 dev.botframework.com 上建立或更新 Bot 註冊",
892
864
  "driver.botFramework.summary.create": "已成功建立 Bot 註冊 (%s)。",
893
865
  "driver.botFramework.summary.update": "已成功更新 Bot 註冊 (%s)。",
@@ -913,10 +885,14 @@
913
885
  "error.yaml.LifeCycleUndefinedError": "生命週期 '%s' 未定義,yaml 檔案: %s",
914
886
  "error.yaml.InvalidActionInputError": "無法完成 '%s' 動作,因為下列參數: %s,在提供的 yaml 檔案中遺失或具有無效值: %s。請確定已提供所需的參數,且具有有效的值,然後再試一次。",
915
887
  "error.common.InstallSoftwareError": "無法安裝 %s。如果您使用 Visual Studio Code 中的工具組,則可以手動安裝並重新啟動 Visual Studio Code。",
888
+ "core.spfxGenerationNotSupported": "Creating or importing SharePoint Framework projects and adding web parts are no longer supported by Microsoft 365 Agents Toolkit. Use the SharePoint Framework tooling directly.",
916
889
  "error.common.VersionError": "找不到符合版本範圍 %s 的版本。",
917
890
  "error.common.MissingEnvironmentVariablesError": "檔案 %s 缺少環境變數 '%s'。請編輯 .env 檔案 '%s' 或 '%s',或調整系統環境變數。針對新專案,請執行本機偵錯或佈建遠端環境以設定這些變數。",
918
891
  "error.common.InvalidProjectError": "此命令僅適用於 Microsoft 365 代理程式工具組建立的專案。找不到 'm365agents.yml' 或 'm365agents.local.yml'",
919
892
  "error.common.InvalidProjectError.display": "此命令僅適用於 Microsoft 365 代理程式工具組建立的專案。找不到 Yaml 檔案: %s",
893
+ "error.common.AmbiguousOpenApiAuthCredentialError": "無法對應 OpenAPI 認證,因為選取的作業使用多個驗證註冊。省略純量認證,或選取使用一個註冊的作業。",
894
+ "error.common.InapplicableOpenApiAuthCredentialError": "提供的 OpenAPI 認證不適用於所選作業使用的驗證類型。請省略認證,或提供探索到的驗證類型所需的認證。",
895
+ "error.common.IncompleteOpenApiOAuthCredentialError": "OpenAPI OAuth 用戶端密碼、範圍和 PKCE 都需要 --openapi-auth-client-id。請提供用戶端識別碼,或省略 OAuth 認證選項,以便在佈建期間設定認證。",
920
896
  "error.common.FileNotFoundError": "找不到檔案或目錄: '%s'。請檢查它是否存在,以及您是否有存取它的權限。",
921
897
  "error.common.JSONSyntaxError": "JSON 語法錯誤: %s。請檢查 JSON 語法,以確保其格式正確。",
922
898
  "error.common.ReadFileError": "無法讀取檔案的原因: %s",
@@ -1116,8 +1092,8 @@
1116
1092
  "error.kiotaClient.EmptyResult": "剖析 OpenAPI 描述檔案時取得空白結果。",
1117
1093
  "core.createProjectQuestion.mcpForDa.ServerUrl.title": "MCP 伺服器 URL",
1118
1094
  "core.createProjectQuestion.mcpForDa.ServerUrl.placeholder": "輸入您的 MCP 伺服器 URL (例如 https://example-mcp.com)",
1119
- "core.createProjectQuestion.mcpForDa.ServerUrl.notAnMcpEndpoint": "Couldn't reach an MCP server at this URL (returned 404 to the MCP 'initialize' request). Verify the URL, or confirm the server is running.",
1120
- "core.createProjectQuestion.mcpForDa.ServerUrl.invalidUrl": "Enter an absolute URL that starts with https:// or http://.",
1095
+ "core.createProjectQuestion.mcpForDa.ServerUrl.notAnMcpEndpoint": "無法連線到此 URL 的 MCP 伺服器 (對 MCP 'initialize' 要求傳回了 404)。確認 URL,或確認伺服器正在執行。",
1096
+ "core.createProjectQuestion.mcpForDa.ServerUrl.invalidUrl": "輸入以 https:// 或 http:// 開頭的絕對 URL。",
1121
1097
  "core.createProjectQuestion.mcpForDa.PreFetchTools.title": "選取 Copilot 可以互動的作業",
1122
1098
  "core.createProjectQuestion.mcpForDa.AuthType.title": "選取驗證類型",
1123
1099
  "core.createProjectQuestion.mcpForDa.Auth.OAuth": "OAuth (具有靜態註冊)",
@@ -1126,6 +1102,7 @@
1126
1102
  "core.createProjectQuestion.mcpForDa.Auth.OAuthDynamic.Detail": "MCP 伺服器會在執行階段註冊用戶端; 不需要額外的詳細資料。",
1127
1103
  "core.createProjectQuestion.mcpForDa.Auth.EntraSSO": "Entra SSO",
1128
1104
  "core.createProjectQuestion.mcpForDa.Auth.EntraSSO.Detail": "使用 Microsoft Entra 應用程式進行單一登入。工具組會要求 Entra 應用程式用戶端識別碼。",
1105
+ "core.createProjectQuestion.mcpForDa.Auth.BearerToken.Detail": "以 HTTP 持有人權杖傳送 API 金鑰。",
1129
1106
  "core.createProjectQuestion.mcpForDa.Auth.None": "無",
1130
1107
  "core.createProjectQuestion.mcpForDa.Auth.None.Detail": "MCP 伺服器不需要驗證。",
1131
1108
  "core.createProjectQuestion.mcpForDa.ClientId.title": "OAuth 用戶端識別碼",
@@ -1136,9 +1113,13 @@
1136
1113
  "core.createProjectQuestion.mcpForDa.ClientSecret.required": "需要 OAuth 用戶端密碼。",
1137
1114
  "core.createProjectQuestion.mcpForDa.Scopes.title": "OAuth 範圍 (選用)",
1138
1115
  "core.createProjectQuestion.mcpForDa.Scopes.placeholder": "以空格分隔的 OAuth 範圍,例如 'read:user repo'",
1116
+ "core.createProjectQuestion.mcpForDa.ApiKey.title": "API 金鑰",
1117
+ "core.createProjectQuestion.mcpForDa.ApiKey.placeholder": "輸入以持有人權杖傳送的 API 金鑰",
1118
+ "core.createProjectQuestion.mcpForDa.ApiKey.required": "API 金鑰為必要項。",
1139
1119
  "core.createProjectQuestion.mcpForDa.EntraClientId.title": "Microsoft Entra 應用程式 (用戶端) 識別碼",
1140
1120
  "core.createProjectQuestion.mcpForDa.EntraClientId.placeholder": "輸入 Microsoft Entra 應用程式註冊的應用程式 (用戶端) 識別碼",
1141
1121
  "core.createProjectQuestion.mcpForDa.EntraClientId.required": "需要 Microsoft Entra 應用程式 (用戶端) 識別碼。",
1122
+ "driver.oauth.error.supportedAccountTypesUnsupportedCloud": "includePersonalMicrosoftAccounts 選項僅支援 Microsoft 365 商業雲端環境。",
1142
1123
  "core.createProjectQuestion.mcpForDa.File.title": "選取您想要更新的動作資訊清單",
1143
1124
  "core.createProjectQuestion.mcpForDa.File.createNew.label": "建立新的 ai-plugin.json",
1144
1125
  "core.createProjectQuestion.mcpForDa.File.createNew.title": "為新的動作資訊清單檔命名",
@@ -1157,12 +1138,15 @@
1157
1138
  "core.createProjectQuestion.mcpLocalServer.validationHelp": "必須選取至少一個 MCP 伺服器",
1158
1139
  "core.MCPForDA.updatePluginManifest": "已順利新增從 MCP 伺服器選取的作業,讓 Copilot 與其互動。您可以前往 '%s' 來查看詳細資料。現在,您可以佈建宣告式代理程式以繼續。",
1159
1140
  "core.MCPForDA.mcpAuthMetadataMissingError": "在 MCP 伺服器中找不到驗證中繼資料。請確定您的 MCP 伺服器已正確設定,然後再試一次。詳細資料: %s",
1160
- "core.MCPForDA.mcpAuthDcrPlaceholderWarning": "Scaffolding succeeded, but the OAuth endpoints couldn't be discovered automatically. Your MCP server is reachable, but it doesn't advertise its OAuth endpoints — ATK checks the server's OAuth metadata ('.well-known/oauth-authorization-server') and found 'none'. Replace the 'wellKnownAuthorizationServer' placeholder in 'm365agents.yml' with the right value before provisioning.",
1161
- "core.MCPForDA.mcpAuthOAuthPlaceholderWarning": "Scaffolding succeeded, but the OAuth endpoints couldn't be discovered automatically. Your MCP server is reachable, but it doesn't advertise its OAuth endpoints — ATK checks the server's OAuth metadata ('.well-known/oauth-authorization-server') and found 'none'. Replace the 'authorizationUrl' and 'tokenUrl' placeholders in 'm365agents.yml' with the right values before provisioning.",
1141
+ "core.MCPForDA.mcpAuthDcrPlaceholderWarning": "Scaffolding 成功,但無法自動探索 OAuth 端點。您的 MCP 伺服器可連線,但未公告其 OAuth 端點 - ATK 會檢查伺服器的 OAuth 中繼資料 ('.well-known/oauth-authorization-server') 並發現 'none'。在佈建之前,請以正確的值取代 'm365agents.yml' 中的 'wellKnownAuthorizationServer' 預留位置。",
1142
+ "core.MCPForDA.mcpAuthOAuthPlaceholderWarning": "Scaffolding 成功,但無法自動探索 OAuth 端點。您的 MCP 伺服器可連線,但未公告其 OAuth 端點 - ATK 會檢查伺服器的 OAuth 中繼資料 ('.well-known/oauth-authorization-server') 並發現 'none'。在佈建之前,請以正確的值取代 'm365agents.yml' 中的 'authorizationUrl' 和 'tokenUrl' 預留位置。",
1162
1143
  "core.v4.scaffold.existingFileSkipped": "'%s' 已存在,且未被覆寫。請將其刪除或重新命名,以重新建置檔案。",
1144
+ "core.v4.scaffold.languageOptionsInvalid": "範本套件包含無效的語言呈現中繼資料。",
1145
+ "core.v4.scaffold.languageOptionsFailed": "無法從範本套件載入語言選項。",
1146
+ "core.v4.scaffold.openApiAuthYamlInvalid": "無法新增 OpenAPI 驗證動作。專案 YAML 必須有效,且包含佈建動作清單。",
1163
1147
  "core.MCPForDA.mcpAuthMetadataUrlNotFound": "無法從 MCP 伺服器的回應中找到來自 \"resource_metadata\" 屬性的驗證中繼資料。",
1164
- "core.MCPForDA.mcpServerMetadataUrlNotFound": "Unable to find the server metadata from property \"authorization_servers\" from response of the Protected Resource Metadata of the MCP server.",
1165
- "core.MCPForDA.authUrlNotFound": "Unable to find the authentication URL(s) from response of Authorization Server Metadata of the MCP server. Attempted: %s",
1148
+ "core.MCPForDA.mcpServerMetadataUrlNotFound": "無法從 MCP 伺服器的受保護資源中繼資料回應中找到來自 \"authorization_servers\" 屬性的伺服器中繼資料。",
1149
+ "core.MCPForDA.authUrlNotFound": "無法從 MCP 伺服器的授權伺服器中繼資料回應中找到驗證 URL。已嘗試: %s",
1166
1150
  "core.MCPForDA.toolsFileNotFound": "找不到 MCP 工具檔案: %s",
1167
1151
  "core.MCPForDA.toolsFileInvalidFormat": "無效 MCP 工具檔案格式。預期為 %s 或工具的 JSON 陣列: %s",
1168
1152
  "core.MCPForDA.toolsFileMissingName": "MCP 工具檔案中的每個工具都必須具有 %s 屬性: %s",
@@ -1175,7 +1159,27 @@
1175
1159
  "core.MCPForDA.toolsFileReadError": "無法讀取 MCP 工具檔案: %s。若要稍後新增工具,請執行:\n %s",
1176
1160
  "core.MCPForDA.authRequired": "位於 %s 的 MCP 伺服器需要驗證。無法自動擷取工具。若要新增工具,請執行:\n %s",
1177
1161
  "core.MCPForDA.noToolsFetched": "從 %s 的 MCP 伺服器中未探索到任何工具。若要稍後新增工具,請執行:\n %s",
1178
- "core.MCPForDA.mcpServerUrlNotAnEndpoint": "%s answered an MCP initialize request with HTTP %s, so it may not be an MCP server URL. Verify the URL before provisioning.",
1179
- "core.MCPForDA.openYmlFile": "Open m365agents.yml",
1162
+ "core.MCPForDA.mcpServerUrlNotAnEndpoint": "%s 以 HTTP %s 回應了 MCP 的初始化要求,因此它可能不是 MCP 伺服器 URL。佈建前請先驗證 URL。",
1163
+ "core.openPluginImport.autoAuthNone": "已自動推斷 MCP 伺服器 '%s' 的驗證類型為 None。如果個別工具需要驗證或使用 API 金鑰,請確認此選擇。",
1164
+ "core.openPluginImport.autoAuthOAuth": "MCP 伺服器 '%s' 的自動推斷 OAuthPluginVault。產生的參考識別碼是預留位置,必須先註冊才能使用。",
1165
+ "core.openPluginImport.authFallback": "在確認需要驗證後,無法解析 MCP 伺服器 '%s' 的 OAuth 中繼資料。自動回復為 OAuthPluginVault。使用前請確認驗證類型並註冊產生的參考識別碼。",
1166
+ "core.openPluginImport.failed": "無法匯入代理程式外掛程式。",
1167
+ "core.openPluginImport.invalidManifest": "對應的 Teams 資訊清單無效: %s",
1168
+ "core.openPluginImport.invalidOutputPath": "輸出路徑不得是符號連結或 junction: %s。",
1169
+ "core.openPluginImport.invalidPlugin": "代理程式外掛程式無效: %s",
1170
+ "core.openPluginImport.missingPluginPath": "需要 --path 選項。",
1171
+ "core.openPluginImport.outputDirectoryNotEmpty": "輸出目錄不是空的: %s。選擇不同的 --output 路徑或清空目錄。",
1172
+ "core.openPluginImport.unresolvedMcpAuth": "當 --default-auth-type 設為 Auto 時,無法解析 MCP 伺服器 '%s' 的驗證。請明確指定 None、OAuthPluginVault 或 ApiKeyPluginVault。",
1173
+ "core.openPluginExport.failed": "無法匯出代理程式外掛程式。",
1174
+ "core.openPluginExport.invalidAgentPluginManifest": "無法將專案匯出為 Agent Plugins 1.0.0 資訊清單。",
1175
+ "core.openPluginExport.invalidManifest": "專案資訊清單無效。",
1176
+ "core.openPluginExport.invalidMcpServerUrl": "專案包含無法匯出的 MCP 伺服器 URL。",
1177
+ "core.openPluginExport.invalidOutputPath": "輸出路徑不得是符號連結或 junction。",
1178
+ "core.openPluginExport.invalidProjectPath": "專案路徑無效。",
1179
+ "core.openPluginExport.invalidProjectStructure": "專案結構無效。",
1180
+ "core.openPluginExport.manifestNotFound": "在專案中找不到 appPackage/manifest.json。",
1181
+ "core.openPluginExport.missingProjectPath": "需要 --path 選項。",
1182
+ "core.openPluginExport.outputDirectoryNotEmpty": "輸出目錄不是空的。選擇不同的 --output 路徑或清空目錄。",
1183
+ "core.MCPForDA.openYmlFile": "開啟 m365agents.yml",
1180
1184
  "core.MCPForDA.fetchError": "無法從 %s 的 MCP 伺服器擷取工具。若要稍後新增工具,請執行:\n %s"
1181
1185
  }
@@ -10,7 +10,7 @@
10
10
  "environmentFolderPath": {
11
11
  "type": "string",
12
12
  "description": "The folder path of .env files used for variables and different environments."
13
- },
13
+ },
14
14
  "version": {
15
15
  "type": "string",
16
16
  "description": "The version of the yaml file schema",
@@ -22,7 +22,7 @@
22
22
  "additionalProperties": true,
23
23
  "properties": {
24
24
  "sampleTag": {
25
- "type": ["number","string","boolean","object","array", "null", "integer"],
25
+ "type": ["number", "string", "boolean", "object", "array", "null", "integer"],
26
26
  "description": "A tag for the sample app used to track telemetry events sent by Microsoft 365 Agents Toolkit associated with that sample. Pattern: <sample-repo>:<sample-name>"
27
27
  }
28
28
  }
@@ -76,16 +76,17 @@
76
76
  { "$ref": "#/definitions/spfxDeploy" },
77
77
  { "$ref": "#/definitions/teamsAppCopyAppPackageToSPFx" },
78
78
  { "$ref": "#/definitions/script" },
79
- { "$ref": "#/definitions/apiKeyRegister"},
80
- { "$ref": "#/definitions/azureStaticWebAppGetDeploymentKey"},
81
- { "$ref": "#/definitions/apiKeyUpdate"},
82
- { "$ref": "#/definitions/oauthRegister"},
83
- { "$ref": "#/definitions/oauthUpdate"},
84
- { "$ref": "#/definitions/dcrRegister"},
85
- { "$ref": "#/definitions/devChannelCreate"},
86
- { "$ref": "#/definitions/devChannelInstallApp"},
87
- { "$ref": "#/definitions/typeSpecCompile"},
88
- { "$ref": "#/definitions/copilotAgentPublish"}
79
+ { "$ref": "#/definitions/apiKeyRegister" },
80
+ { "$ref": "#/definitions/azureStaticWebAppGetDeploymentKey" },
81
+ { "$ref": "#/definitions/apiKeyUpdate" },
82
+ { "$ref": "#/definitions/oauthRegister" },
83
+ { "$ref": "#/definitions/oauthUpdate" },
84
+ { "$ref": "#/definitions/dcrRegister" },
85
+ { "$ref": "#/definitions/dcrUpdate" },
86
+ { "$ref": "#/definitions/devChannelCreate" },
87
+ { "$ref": "#/definitions/devChannelInstallApp" },
88
+ { "$ref": "#/definitions/typeSpecCompile" },
89
+ { "$ref": "#/definitions/copilotAgentPublish" }
89
90
  ]
90
91
  }
91
92
  },
@@ -115,7 +116,7 @@
115
116
  "aadAppCreateWithSecret": {
116
117
  "type": "object",
117
118
  "additionalProperties": false,
118
- "allOf": [ { "$ref": "#/definitions/aadAppCreateBase" } ],
119
+ "allOf": [{ "$ref": "#/definitions/aadAppCreateBase" }],
119
120
  "required": ["with", "writeToEnvironmentFile"],
120
121
  "properties": {
121
122
  "name": {},
@@ -144,7 +145,12 @@
144
145
  "signInAudience": {
145
146
  "type": "string",
146
147
  "description": "Specifies what Microsoft accounts are supported for the current application.",
147
- "enum": ["AzureADMyOrg", "AzureADMultipleOrgs", "AzureADandPersonalMicrosoftAccount", "PersonalMicrosoftAccount"]
148
+ "enum": [
149
+ "AzureADMyOrg",
150
+ "AzureADMultipleOrgs",
151
+ "AzureADandPersonalMicrosoftAccount",
152
+ "PersonalMicrosoftAccount"
153
+ ]
148
154
  },
149
155
  "serviceManagementReference": {
150
156
  "type": "string",
@@ -197,7 +203,7 @@
197
203
  },
198
204
  "aadAppCreateWithoutSecret": {
199
205
  "type": "object",
200
- "allOf": [ { "$ref": "#/definitions/aadAppCreateBase" } ],
206
+ "allOf": [{ "$ref": "#/definitions/aadAppCreateBase" }],
201
207
  "required": ["with", "writeToEnvironmentFile"],
202
208
  "additionalProperties": false,
203
209
  "properties": {
@@ -227,7 +233,12 @@
227
233
  "signInAudience": {
228
234
  "type": "string",
229
235
  "description": "Specifies what Microsoft accounts are supported for the current application.",
230
- "enum": ["AzureADMyOrg", "AzureADMultipleOrgs", "AzureADandPersonalMicrosoftAccount", "PersonalMicrosoftAccount"]
236
+ "enum": [
237
+ "AzureADMyOrg",
238
+ "AzureADMultipleOrgs",
239
+ "AzureADandPersonalMicrosoftAccount",
240
+ "PersonalMicrosoftAccount"
241
+ ]
231
242
  },
232
243
  "serviceManagementReference": {
233
244
  "type": "string",
@@ -1049,7 +1060,7 @@
1049
1060
  "$ref": "#/definitions/secretEnvVarName"
1050
1061
  }
1051
1062
  }
1052
- }
1063
+ }
1053
1064
  }
1054
1065
  },
1055
1066
  "botframeworkCreate": {
@@ -1104,7 +1115,10 @@
1104
1115
  "type": "array",
1105
1116
  "description": "the channel(s) to be enabled of the bot",
1106
1117
  "items": {
1107
- "oneOf": [{ "$ref": "#/definitions/MsTeamsChannel" }, { "$ref": "#/definitions/M365ExtensionsChannel" }]
1118
+ "oneOf": [
1119
+ { "$ref": "#/definitions/MsTeamsChannel" },
1120
+ { "$ref": "#/definitions/M365ExtensionsChannel" }
1121
+ ]
1108
1122
  }
1109
1123
  }
1110
1124
  }
@@ -1281,9 +1295,7 @@
1281
1295
  "type": "object",
1282
1296
  "description": "Install Azure Functions Core Tools. This will output environment variable specified by `funcPath` to current environment's .env file.",
1283
1297
  "additionalProperties": false,
1284
- "required": [
1285
- "version"
1286
- ],
1298
+ "required": ["version"],
1287
1299
  "properties": {
1288
1300
  "version": {
1289
1301
  "oneOf": [
@@ -1557,7 +1569,7 @@
1557
1569
  "description": "redirect stdout and stderr to a file"
1558
1570
  }
1559
1571
  }
1560
- }
1572
+ }
1561
1573
  }
1562
1574
  },
1563
1575
  "relativePath": {
@@ -1841,6 +1853,10 @@
1841
1853
  "type": "string",
1842
1854
  "description": "Token exchange method type, can be BasicAuthorizationHeader or PostRequestBody. BasicAuthorizationHeader: token exchange via HTTP headers, PostRequestBody: token exchange via request body. Default is BasicAuthorizationHeader.",
1843
1855
  "enum": ["BasicAuthorizationHeader", "PostRequestBody"]
1856
+ },
1857
+ "includePersonalMicrosoftAccounts": {
1858
+ "type": "boolean",
1859
+ "description": "Whether to allow personal Microsoft accounts in addition to work or school accounts. If omitted when registering, only work or school accounts are allowed."
1844
1860
  }
1845
1861
  }
1846
1862
  },
@@ -1941,6 +1957,10 @@
1941
1957
  "type": "string",
1942
1958
  "description": "Token exchange method type, can be BasicAuthorizationHeader or PostRequestBody. BasicAuthorizationHeader: token exchange via HTTP headers, PostRequestBody: token exchange via request body. Default is BasicAuthorizationHeader.",
1943
1959
  "enum": ["BasicAuthorizationHeader", "PostRequestBody"]
1960
+ },
1961
+ "includePersonalMicrosoftAccounts": {
1962
+ "type": "boolean",
1963
+ "description": "Whether to allow personal Microsoft accounts in addition to work or school accounts. If omitted during an update, the existing account support remains unchanged."
1944
1964
  }
1945
1965
  }
1946
1966
  }
@@ -1961,7 +1981,7 @@
1961
1981
  "type": "object",
1962
1982
  "additionalProperties": false,
1963
1983
  "description": "DCR registration parameters. Supply mcpResourceUrl for protected resource metadata discovery, wellKnownAuthorizationServer to pin authorization-server metadata, or both.",
1964
- "required": ["name", "targetUrlsShouldStartWith"],
1984
+ "required": ["name"],
1965
1985
  "anyOf": [
1966
1986
  { "required": ["mcpResourceUrl"] },
1967
1987
  { "required": ["wellKnownAuthorizationServer"] }
@@ -1978,24 +1998,22 @@
1978
1998
  "mcpResourceUrl": {
1979
1999
  "type": "string",
1980
2000
  "minLength": 1,
1981
- "description": "HTTPS URL of the actual MCP endpoint, including its path. Recommended for new configurations. TGS probes this endpoint and RFC 9728 well-known locations for protected resource metadata (PRM), then uses its first authorization_servers entry, resource and scopes_supported. This is not the PRM document URL and is not necessarily the OAuth resource indicator. Optional when wellKnownAuthorizationServer is supplied."
2001
+ "description": "HTTPS URL of the actual MCP endpoint, including its path. Recommended for new configurations. TGS probes this endpoint and RFC 9728 well-known locations for protected resource metadata (PRM) to discover resource and scopes_supported. Unless wellKnownAuthorizationServer is supplied, TGS uses PRM's first authorization_servers entry. This is not the PRM document URL; the OAuth resource indicator comes from PRM's resource, not directly from this endpoint URL. Optional when wellKnownAuthorizationServer is supplied."
1982
2002
  },
1983
2003
  "wellKnownAuthorizationServer": {
1984
2004
  "type": "string",
1985
2005
  "minLength": 1,
1986
- "description": "Legacy/pinning HTTPS URL of the authorization server's RFC 8414 metadata document. Optional when mcpResourceUrl is supplied. When present, this URL takes precedence for authorization-server metadata resolution. If mcpResourceUrl is also supplied, TGS still attempts best-effort PRM discovery for resource and scopes; failure of that enrichment does not fail registration."
2006
+ "description": "HTTPS URL of the authorization server's RFC 8414 metadata document, supported for existing configurations and explicit authorization-server selection. Optional when mcpResourceUrl is supplied. When present, this URL takes precedence for authorization-server metadata resolution. An authorization server can serve multiple resources, so this metadata alone cannot identify the intended OAuth resource. Without mcpResourceUrl, supply resource explicitly if the service requires it. If mcpResourceUrl is also supplied, TGS attempts best-effort PRM discovery for resource and scopes; failure of that enrichment does not fail registration."
1987
2007
  },
1988
2008
  "resource": {
1989
2009
  "type": "string",
1990
2010
  "minLength": 1,
1991
- "description": "Optional explicit OAuth resource indicator: an absolute URI without a fragment. Overrides PRM's resource value. Normally omit this field and let PRM determine the resource; it is not inferred from mcpResourceUrl. TGS sends the selected resource in authorization, token and refresh-token requests."
2011
+ "description": "Optional explicit OAuth resource indicator: an absolute URI without a fragment. Overrides PRM's resource value. Omit this field when mcpResourceUrl enables PRM discovery of the intended resource; otherwise supply it explicitly if the service requires a resource indicator. It is not inferred from authorization-server metadata or copied from the MCP endpoint or target URL. If neither an explicit value nor PRM supplies a resource, no resource indicator is sent. TGS sends the selected resource in authorization, token and refresh-token requests."
1992
2012
  },
1993
2013
  "targetUrlsShouldStartWith": {
1994
2014
  "type": "array",
1995
2015
  "description": "Required MCP target URL array. TGS requires exactly one valid HTTPS URL; omission, a string, an empty array or multiple entries is rejected. New configurations use the actual MCP endpoint. This field does not set the OAuth resource indicator.",
1996
- "minItems": 1,
1997
- "maxItems": 1,
1998
- "items": { "type": "string", "minLength": 1 }
2016
+ "items": { "type": "string" }
1999
2017
  },
2000
2018
  "applicableToApps": {
2001
2019
  "type": "string",
@@ -2006,6 +2024,10 @@
2006
2024
  "type": "string",
2007
2025
  "description": "Tenants permitted to use this configuration: HomeTenant (default) or AnyTenant.",
2008
2026
  "enum": ["HomeTenant", "AnyTenant"]
2027
+ },
2028
+ "includePersonalMicrosoftAccounts": {
2029
+ "type": "boolean",
2030
+ "description": "Whether to allow personal Microsoft accounts in addition to work or school accounts. If omitted when registering, only work or school accounts are allowed."
2009
2031
  }
2010
2032
  }
2011
2033
  },
@@ -2023,6 +2045,56 @@
2023
2045
  }
2024
2046
  }
2025
2047
  },
2048
+ "dcrUpdate": {
2049
+ "type": "object",
2050
+ "additionalProperties": false,
2051
+ "description": "Update supported policy fields of an existing Dynamic Client Registration (DCR) configuration without changing its configuration ID. Omitted settings remain unchanged.",
2052
+ "required": ["uses", "with"],
2053
+ "properties": {
2054
+ "uses": {
2055
+ "type": "string",
2056
+ "description": "Update an existing DCR configuration.",
2057
+ "const": "dcr/update"
2058
+ },
2059
+ "with": {
2060
+ "type": "object",
2061
+ "additionalProperties": false,
2062
+ "description": "DCR update parameters. Only configurationId is required; omitted settings are preserved without applying registration defaults. Name, MCP endpoint, metadata URL, and target URLs cannot be updated.",
2063
+ "required": ["configurationId"],
2064
+ "properties": {
2065
+ "configurationId": {
2066
+ "type": "string",
2067
+ "minLength": 1,
2068
+ "description": "ID of the existing DCR authentication configuration to update. This is not an OAuth client ID."
2069
+ },
2070
+ "appId": {
2071
+ "type": "string",
2072
+ "minLength": 1,
2073
+ "description": "Microsoft 365 app ID used when the effective applicableToApps setting is SpecificApp. If omitted, the existing binding is preserved unless applicableToApps explicitly changes to AnyApp."
2074
+ },
2075
+ "resource": {
2076
+ "type": "string",
2077
+ "minLength": 1,
2078
+ "description": "Replacement explicit OAuth resource indicator: an absolute URI without a fragment. Overrides the discovered resource, as in dcr/register. If omitted, the existing value is preserved; it is not inferred from another URL."
2079
+ },
2080
+ "applicableToApps": {
2081
+ "type": "string",
2082
+ "description": "Applications permitted to use the configuration: SpecificApp or AnyApp. If omitted, the existing mode is preserved. SpecificApp requires a supplied or existing appId.",
2083
+ "enum": ["SpecificApp", "AnyApp"]
2084
+ },
2085
+ "targetAudience": {
2086
+ "type": "string",
2087
+ "description": "Tenants permitted to use the configuration: HomeTenant or AnyTenant. If omitted, the existing tenant scope is preserved. Independent of includePersonalMicrosoftAccounts.",
2088
+ "enum": ["HomeTenant", "AnyTenant"]
2089
+ },
2090
+ "includePersonalMicrosoftAccounts": {
2091
+ "type": "boolean",
2092
+ "description": "Whether to allow personal Microsoft accounts in addition to work or school accounts. True enables personal accounts; false disables them while retaining work or school accounts. If omitted, existing account support remains unchanged."
2093
+ }
2094
+ }
2095
+ }
2096
+ }
2097
+ },
2026
2098
  "devChannelCreate": {
2027
2099
  "type": "object",
2028
2100
  "additionalProperties": false,