@microsoft/teamsfx-core 3.0.10-alpha.5aa2874bb.0 → 3.0.10-alpha.6bfb69e98.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/common/featureFlags.d.ts +5 -0
- package/build/common/featureFlags.d.ts.map +1 -1
- package/build/common/featureFlags.js +6 -0
- package/build/common/featureFlags.js.map +1 -1
- package/build/common/telemetry.d.ts +2 -0
- package/build/common/telemetry.d.ts.map +1 -1
- package/build/common/telemetry.js +2 -0
- package/build/common/telemetry.js.map +1 -1
- package/build/common/templates-config.json +1 -1
- package/build/component/deps-checker/internal/dotnetChecker.d.ts.map +1 -1
- package/build/component/deps-checker/internal/dotnetChecker.js +3 -7
- package/build/component/deps-checker/internal/dotnetChecker.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/generator/configFiles/configGenerator.d.ts +15 -0
- package/build/component/generator/configFiles/configGenerator.d.ts.map +1 -0
- package/build/component/generator/configFiles/configGenerator.js +167 -0
- package/build/component/generator/configFiles/configGenerator.js.map +1 -0
- package/build/component/generator/configFiles/copyPolicy.d.ts +10 -0
- package/build/component/generator/configFiles/copyPolicy.d.ts.map +1 -0
- package/build/component/generator/configFiles/copyPolicy.js +40 -0
- package/build/component/generator/configFiles/copyPolicy.js.map +1 -0
- package/build/component/generator/configFiles/jsonMerger.d.ts +11 -0
- package/build/component/generator/configFiles/jsonMerger.d.ts.map +1 -0
- package/build/component/generator/configFiles/jsonMerger.js +83 -0
- package/build/component/generator/configFiles/jsonMerger.js.map +1 -0
- package/build/component/generator/configFiles/renderTemplate.d.ts +2 -0
- package/build/component/generator/configFiles/renderTemplate.d.ts.map +1 -0
- package/build/component/generator/configFiles/renderTemplate.js +16 -0
- package/build/component/generator/configFiles/renderTemplate.js.map +1 -0
- package/build/component/generator/declarativeAgent/helper.d.ts.map +1 -1
- package/build/component/generator/declarativeAgent/helper.js +0 -1
- package/build/component/generator/declarativeAgent/helper.js.map +1 -1
- package/build/component/utils/pathUtils.d.ts +2 -1
- package/build/component/utils/pathUtils.d.ts.map +1 -1
- package/build/component/utils/pathUtils.js +19 -3
- package/build/component/utils/pathUtils.js.map +1 -1
- package/build/component/utils/settingsUtil.d.ts +1 -1
- package/build/component/utils/settingsUtil.d.ts.map +1 -1
- package/build/component/utils/settingsUtil.js +20 -7
- package/build/component/utils/settingsUtil.js.map +1 -1
- package/build/core/FxCore.d.ts +6 -2
- package/build/core/FxCore.d.ts.map +1 -1
- package/build/core/FxCore.declarativeAgent.d.ts +6 -0
- package/build/core/FxCore.declarativeAgent.d.ts.map +1 -0
- package/build/core/FxCore.declarativeAgent.js +210 -0
- package/build/core/FxCore.declarativeAgent.js.map +1 -0
- package/build/core/FxCore.js +16 -173
- package/build/core/FxCore.js.map +1 -1
- package/build/core/generateConfigFiles.d.ts +4 -0
- package/build/core/generateConfigFiles.d.ts.map +1 -0
- package/build/core/generateConfigFiles.js +61 -0
- package/build/core/generateConfigFiles.js.map +1 -0
- package/build/core/middleware/projectSettingsLoader.d.ts.map +1 -1
- package/build/core/middleware/projectSettingsLoader.js +8 -2
- package/build/core/middleware/projectSettingsLoader.js.map +1 -1
- package/package.json +4 -4
- package/resource/package.nls.cs.json +4 -5
- package/resource/package.nls.de.json +3 -4
- package/resource/package.nls.es.json +4 -5
- package/resource/package.nls.fr.json +3 -4
- package/resource/package.nls.it.json +4 -5
- package/resource/package.nls.ja.json +4 -5
- package/resource/package.nls.json +1 -0
- package/resource/package.nls.ko.json +3 -4
- package/resource/package.nls.pl.json +4 -5
- package/resource/package.nls.pt-BR.json +4 -5
- package/resource/package.nls.ru.json +3 -4
- package/resource/package.nls.tr.json +3 -4
- package/resource/package.nls.zh-Hans.json +4 -5
- package/resource/package.nls.zh-Hant.json +4 -5
- package/templates/configs/local/python/.vscode/launch.json.tpl +93 -0
- package/templates/configs/local/python/.vscode/tasks.json.tpl +103 -0
- package/templates/configs/local/python/env/.env.local +6 -0
- package/templates/configs/local/python/m365agents.local.yml.tpl +121 -0
- package/templates/configs/local/typescript/.gitignore +1 -0
- package/templates/configs/local/typescript/.vscode/launch.json.tpl +147 -0
- package/templates/configs/local/typescript/.vscode/tasks.json.tpl +129 -0
- package/templates/configs/local/typescript/env/.env.local +6 -0
- package/templates/configs/local/typescript/m365agents.local.yml.tpl +129 -0
- package/templates/configs/local/typescript/package.json +8 -0
- package/templates/configs/playground/python/.vscode/launch.json +46 -0
- package/templates/configs/playground/python/.vscode/tasks.json +35 -0
- package/templates/configs/playground/python/env/.env.playground +7 -0
- package/templates/configs/playground/python/env/.env.playground.user +0 -0
- package/templates/configs/playground/python/m365agents.playground.yml +14 -0
- package/templates/configs/playground/typescript/.gitignore +4 -0
- package/templates/configs/playground/typescript/.vscode/launch.json +31 -0
- package/templates/configs/playground/typescript/.vscode/tasks.json +104 -0
- package/templates/configs/playground/typescript/env/.env.playground +7 -0
- package/templates/configs/playground/typescript/env/.env.playground.user +0 -0
- package/templates/configs/playground/typescript/m365agents.playground.yml +23 -0
- package/templates/configs/playground/typescript/package.json +9 -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.zip +0 -0
|
@@ -237,6 +237,7 @@
|
|
|
237
237
|
"error.generator.SampleNotFoundError": "找不到範例: %s。",
|
|
238
238
|
"error.generator.UnzipError": "無法擷取範本並將它們儲存到磁碟。",
|
|
239
239
|
"error.generator.MissKeyError": "找不到金鑰 %s",
|
|
240
|
+
"error.generator.FileConflictError": "File conflict at %s",
|
|
240
241
|
"error.generator.FetchSampleInfoError": "無法擷取範例資訊",
|
|
241
242
|
"error.generator.DownloadSampleApiLimitError": "由於速率限制,無法下載樣本。請在速率限制重設后一小時后再試一次,或者您可以從 %s 手動複製存放庫。",
|
|
242
243
|
"error.generator.DownloadSampleNetworkError": "由於網路錯誤,無法下載範例。檢查您的網路連線,然後再試一次,或者您可以手動從 %s 複製存放庫",
|
|
@@ -246,7 +247,7 @@
|
|
|
246
247
|
"error.m365.NotExtendedToM365Error": "無法將應用程式延伸至 Microsoft 365。使用 'teamsApp/extendToM365' 動作將應用程式延伸至 Microsoft 365。",
|
|
247
248
|
"error.m365.SharedScopeAdvancedDADisabled": "已封鎖部署:因為租用戶權限設定而無法部署進階宣告式代理程式。取得詳細資訊:[在 Microsoft 365 系統管理中心管理 Microsoft 365 Copilot 的代理程式 - Microsoft 365 系統管理員 | Microsoft Learn](%s)",
|
|
248
249
|
"error.share.yamlConfigNotFound": "在 m365agents.yml 中找不到「佈建」或「部署」設定",
|
|
249
|
-
"error.share.yamlConfigNotSupported": "
|
|
250
|
+
"error.share.yamlConfigNotSupported": "共用功能僅支援 m365agents.yml 版本 v1.10 或更新版本,請遵循 [指南](https://github.com/OfficeDev/microsoft-365-agents-toolkit/wiki/Share-Declarative-Agents-with-Others#About-YAML-schema) 以升級並繼續。",
|
|
250
251
|
"error.share.shareActionConfigNotFound": "在 m365agents.yml 中找不到 \"%s\" 動作設定",
|
|
251
252
|
"error.share.appPackageConfigNotFound": "在 m365agents.yml 中找不到 appPackagePath 設定",
|
|
252
253
|
"error.share.manifestFileNotFound": "在應用程式套件中找不到資訊清單檔案",
|
|
@@ -323,9 +324,6 @@
|
|
|
323
324
|
"core.createProjectQuestion.projectType.bot.title": "使用 Bot 的應用程式功能",
|
|
324
325
|
"core.createProjectQuestion.projectType.messageExtension.copilotEnabled.detail": "在 Teams 和 Outlook 的文字輸入框中搜尋並採取動作",
|
|
325
326
|
"core.createProjectQuestion.projectType.messageExtension.title": "使用訊息延伸模組的應用程式功能",
|
|
326
|
-
"core.createProjectQuestion.projectType.outlookAddin.detail": "使用網頁內容自訂功能區和工作窗格,以獲得順暢的使用者體驗",
|
|
327
|
-
"core.createProjectQuestion.projectType.outlookAddin.label": "Outlook 增益集",
|
|
328
|
-
"core.createProjectQuestion.projectType.outlookAddin.title": "使用 Outlook 增益集的應用程式功能",
|
|
329
327
|
"core.createProjectQuestion.projectType.officeAddin.detail": "擴充 Office 應用程式以與 Office 檔和 Outlook 專案中的內容互動",
|
|
330
328
|
"core.createProjectQuestion.projectType.officeAddin.label": "Office 增益集",
|
|
331
329
|
"core.createProjectQuestion.projectType.tab.detail": "在 Teams、Outlook 和 Microsoft 365 應用程式中內嵌您自己的 Web 內容",
|
|
@@ -947,7 +945,7 @@
|
|
|
947
945
|
"error.yaml.InvalidActionInputError": "無法完成 '%s' 動作,因為下列參數: %s,在提供的 yaml 檔案中遺失或具有無效值: %s。請確定已提供所需的參數,且具有有效的值,然後再試一次。",
|
|
948
946
|
"error.common.InstallSoftwareError": "無法安裝 %s。如果您使用 Visual Studio Code 中的工具組,則可以手動安裝並重新啟動 Visual Studio Code。",
|
|
949
947
|
"error.common.VersionError": "找不到符合版本範圍 %s 的版本。",
|
|
950
|
-
"error.common.MissingEnvironmentVariablesError": "
|
|
948
|
+
"error.common.MissingEnvironmentVariablesError": "Missing environment variables '%s' for file: %s. Please edit the .env file '%s' or '%s', or adjust system environment variables. For new projects, run local debugging or provision a remote environment to set these variables.",
|
|
951
949
|
"error.common.InvalidProjectError": "此命令僅適用於 Microsoft 365 代理程式工具組建立的專案。找不到 'm365agents.yml' 或 'm365agents.local.yml'",
|
|
952
950
|
"error.common.InvalidProjectError.display": "此命令僅適用於 Microsoft 365 代理程式工具組建立的專案。找不到 Yaml 檔案: %s",
|
|
953
951
|
"error.common.FileNotFoundError": "找不到檔案或目錄: '%s'。請檢查它是否存在,以及您是否有存取它的權限。",
|
|
@@ -1136,6 +1134,7 @@
|
|
|
1136
1134
|
"core.createProjectQuestion.mcpServerType.remote.detail": "透過 HTTP 連線到遠端託管的 MCP 伺服器",
|
|
1137
1135
|
"core.createProjectQuestion.mcpLocalServer.title": "本機 MCP 伺服器",
|
|
1138
1136
|
"core.createProjectQuestion.mcpLocalServer.placeholder": "選取本機 MCP 伺服器",
|
|
1137
|
+
"core.createProjectQuestion.mcpLocalServer.validationHelp": "At least one MCP server must be selected",
|
|
1139
1138
|
"core.MCPForDA.updatePluginManifest": "已順利新增從 MCP 伺服器選取的作業,讓 Copilot 與其互動。您可以前往 '%s' 來查看詳細資料。現在,您可以佈建宣告式代理程式以繼續。",
|
|
1140
1139
|
"core.MCPForDA.mcpAuthMetadataMissingError": "在 MCP 伺服器中找不到驗證中繼資料。請確定您的 MCP 伺服器已正確設定,然後再試一次。詳細資料: %s",
|
|
1141
1140
|
"core.MCPForDA.mcpAuthMetadataUrlNotFound": "無法從 MCP 伺服器的回應中找到來自 \"resource_metadata\" 屬性的驗證中繼資料。",
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.2.0",
|
|
3
|
+
"configurations": [
|
|
4
|
+
{
|
|
5
|
+
"name": "Launch App in Teams (Edge)",
|
|
6
|
+
"type": "msedge",
|
|
7
|
+
"request": "launch",
|
|
8
|
+
"url": "https://teams.microsoft.com/l/app/$\{{local:TEAMS_APP_ID}}?installAppPackage=true&webjoin=true&${account-hint}",
|
|
9
|
+
"presentation": {
|
|
10
|
+
"group": "all",
|
|
11
|
+
"hidden": true
|
|
12
|
+
},
|
|
13
|
+
"internalConsoleOptions": "neverOpen"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"name": "Launch App in Teams (Chrome)",
|
|
17
|
+
"type": "chrome",
|
|
18
|
+
"request": "launch",
|
|
19
|
+
"url": "https://teams.microsoft.com/l/app/$\{{local:TEAMS_APP_ID}}?installAppPackage=true&webjoin=true&${account-hint}",
|
|
20
|
+
"presentation": {
|
|
21
|
+
"group": "all",
|
|
22
|
+
"hidden": true
|
|
23
|
+
},
|
|
24
|
+
"internalConsoleOptions": "neverOpen"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"name": "Start Python",
|
|
28
|
+
"type": "debugpy",
|
|
29
|
+
"request": "launch",
|
|
30
|
+
"program": "${workspaceFolder}/src/app.py",
|
|
31
|
+
"cwd": "${workspaceFolder}/src",
|
|
32
|
+
"console": "integratedTerminal"
|
|
33
|
+
},
|
|
34
|
+
{{#supportCopilot}}
|
|
35
|
+
{{/supportCopilot}}
|
|
36
|
+
{
|
|
37
|
+
"name": "Attach to Local Service",
|
|
38
|
+
"type": "node",
|
|
39
|
+
"request": "attach",
|
|
40
|
+
"port": 9239,
|
|
41
|
+
"restart": true,
|
|
42
|
+
"presentation": {
|
|
43
|
+
"group": "all",
|
|
44
|
+
"hidden": true
|
|
45
|
+
},
|
|
46
|
+
"internalConsoleOptions": "neverOpen"
|
|
47
|
+
}
|
|
48
|
+
],
|
|
49
|
+
"compounds": [
|
|
50
|
+
{
|
|
51
|
+
"name": "Debug in Teams (Edge)",
|
|
52
|
+
"configurations": [
|
|
53
|
+
"Launch App in Teams (Edge)",
|
|
54
|
+
"Start Python"
|
|
55
|
+
],
|
|
56
|
+
"cascadeTerminateToConfigurations": ["Start Python"],
|
|
57
|
+
"preLaunchTask": "Start App Locally",
|
|
58
|
+
"presentation": {
|
|
59
|
+
"group": "2-local",
|
|
60
|
+
"order": 1
|
|
61
|
+
},
|
|
62
|
+
"stopAll": true
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"name": "Debug in Teams (Chrome)",
|
|
66
|
+
"configurations": [
|
|
67
|
+
"Launch App in Teams (Chrome)",
|
|
68
|
+
"Start Python"
|
|
69
|
+
],
|
|
70
|
+
"cascadeTerminateToConfigurations": ["Start Python"],
|
|
71
|
+
"preLaunchTask": "Start App Locally",
|
|
72
|
+
"presentation": {
|
|
73
|
+
"group": "2-local",
|
|
74
|
+
"order": 2
|
|
75
|
+
},
|
|
76
|
+
"stopAll": true
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"name": "Debug in Teams (Desktop)",
|
|
80
|
+
"configurations": [
|
|
81
|
+
"Start Python"
|
|
82
|
+
],
|
|
83
|
+
"preLaunchTask": "Start App in Desktop Client",
|
|
84
|
+
"presentation": {
|
|
85
|
+
"group": "2-local",
|
|
86
|
+
"order": 3
|
|
87
|
+
},
|
|
88
|
+
"stopAll": true
|
|
89
|
+
},
|
|
90
|
+
{{#supportCopilot}}
|
|
91
|
+
{{/supportCopilot}}
|
|
92
|
+
]
|
|
93
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
// This file is automatically generated by Microsoft 365 Agents Toolkit.
|
|
2
|
+
// The teamsfx tasks defined in this file require Microsoft 365 Agents Toolkit version >= 5.0.0.
|
|
3
|
+
// See https://aka.ms/teamsfx-tasks for details on how to customize each task.
|
|
4
|
+
{
|
|
5
|
+
"version": "2.0.0",
|
|
6
|
+
"tasks": [
|
|
7
|
+
{
|
|
8
|
+
"label": "Start App Locally",
|
|
9
|
+
"dependsOn": [
|
|
10
|
+
"Validate prerequisites",
|
|
11
|
+
{{#hasAzureBot}}
|
|
12
|
+
"Start local tunnel",
|
|
13
|
+
{{/hasAzureBot}}
|
|
14
|
+
"Provision",
|
|
15
|
+
"Deploy"
|
|
16
|
+
],
|
|
17
|
+
"dependsOrder": "sequence"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
// Check all required prerequisites.
|
|
21
|
+
// See https://aka.ms/teamsfx-tasks/check-prerequisites to know the details and how to customize the args.
|
|
22
|
+
"label": "Validate prerequisites",
|
|
23
|
+
"type": "teamsfx",
|
|
24
|
+
"command": "debug-check-prerequisites",
|
|
25
|
+
"args": {
|
|
26
|
+
"prerequisites": [
|
|
27
|
+
"m365Account", // Sign-in prompt for Microsoft 365 account, then validate if the account enables the sideloading permission.
|
|
28
|
+
"portOccupancy" // Validate available ports to ensure those debug ones are not occupied.
|
|
29
|
+
],
|
|
30
|
+
"portOccupancy": [
|
|
31
|
+
3978, // tab service port
|
|
32
|
+
]
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
{{#hasAzureBot}}
|
|
36
|
+
{
|
|
37
|
+
// Start the local tunnel service to forward public URL to local port and inspect traffic.
|
|
38
|
+
// See https://aka.ms/teamsfx-tasks/local-tunnel for the detailed args definitions.
|
|
39
|
+
"label": "Start local tunnel",
|
|
40
|
+
"type": "teamsfx",
|
|
41
|
+
"command": "debug-start-local-tunnel",
|
|
42
|
+
"args": {
|
|
43
|
+
"type": "dev-tunnel",
|
|
44
|
+
"ports": [
|
|
45
|
+
{
|
|
46
|
+
"portNumber": 3978,
|
|
47
|
+
"protocol": "http",
|
|
48
|
+
"access": "public",
|
|
49
|
+
"writeToEnvironmentFile": {
|
|
50
|
+
"endpoint": "BOT_ENDPOINT", // output tunnel endpoint as BOT_ENDPOINT
|
|
51
|
+
"domain": "BOT_DOMAIN" // output tunnel domain as BOT_DOMAIN
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
],
|
|
55
|
+
"env": "local"
|
|
56
|
+
},
|
|
57
|
+
"isBackground": true,
|
|
58
|
+
"problemMatcher": "$teamsfx-local-tunnel-watch"
|
|
59
|
+
},
|
|
60
|
+
{{/hasAzureBot}}
|
|
61
|
+
{
|
|
62
|
+
// Create the debug resources.
|
|
63
|
+
// See https://aka.ms/teamsfx-tasks/provision to know the details and how to customize the args.
|
|
64
|
+
"label": "Provision",
|
|
65
|
+
"type": "teamsfx",
|
|
66
|
+
"command": "provision",
|
|
67
|
+
"args": {
|
|
68
|
+
"env": "local"
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
// Build project.
|
|
73
|
+
// See https://aka.ms/teamsfx-tasks/deploy to know the details and how to customize the args.
|
|
74
|
+
"label": "Deploy",
|
|
75
|
+
"type": "teamsfx",
|
|
76
|
+
"command": "deploy",
|
|
77
|
+
"args": {
|
|
78
|
+
"env": "local"
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"label": "Start App in Desktop Client",
|
|
83
|
+
"dependsOn": [
|
|
84
|
+
"Validate prerequisites",
|
|
85
|
+
{{#hasAzureBot}}
|
|
86
|
+
"Start local tunnel",
|
|
87
|
+
{{/hasAzureBot}}
|
|
88
|
+
"Provision",
|
|
89
|
+
"Deploy",
|
|
90
|
+
"Start desktop client"
|
|
91
|
+
],
|
|
92
|
+
"dependsOrder": "sequence"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"label": "Start desktop client",
|
|
96
|
+
"type": "teamsfx",
|
|
97
|
+
"command": "launch-desktop-client",
|
|
98
|
+
"args": {
|
|
99
|
+
"url": "teams.microsoft.com/l/app/$\{{local:TEAMS_APP_ID}}?installAppPackage=true"
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
]
|
|
103
|
+
}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# yaml-language-server: $schema=https://aka.ms/m365-agents-toolkits/v1.11/yaml.schema.json
|
|
2
|
+
# Visit https://aka.ms/teamsfx-v5.0-guide for details on this file
|
|
3
|
+
# Visit https://aka.ms/teamsfx-actions for details on actions
|
|
4
|
+
version: v1.11
|
|
5
|
+
|
|
6
|
+
provision:
|
|
7
|
+
# Creates an app
|
|
8
|
+
- uses: teamsApp/create
|
|
9
|
+
with:
|
|
10
|
+
# app name
|
|
11
|
+
name: {{appName}}$\{{APP_NAME_SUFFIX}}
|
|
12
|
+
# Write the information of created resources into environment file for
|
|
13
|
+
# the specified environment variable(s).
|
|
14
|
+
writeToEnvironmentFile:
|
|
15
|
+
teamsAppId: TEAMS_APP_ID
|
|
16
|
+
|
|
17
|
+
{{#hasTab}}
|
|
18
|
+
# Set BOT_DOMAIN and BOT_ENDPOINT for local launch
|
|
19
|
+
- uses: script
|
|
20
|
+
with:
|
|
21
|
+
run:
|
|
22
|
+
echo "::set-teamsfx-env BOT_DOMAIN=localhost";
|
|
23
|
+
echo "::set-teamsfx-env BOT_ENDPOINT=https://localhost:3978";
|
|
24
|
+
{{/hasTab}}
|
|
25
|
+
|
|
26
|
+
{{#hasAzureBot}}
|
|
27
|
+
# Create or reuse an existing Microsoft Entra application for bot.
|
|
28
|
+
- uses: aadApp/create
|
|
29
|
+
with:
|
|
30
|
+
# The Microsoft Entra application's display name
|
|
31
|
+
name: {{appName}}$\{{APP_NAME_SUFFIX}}
|
|
32
|
+
generateClientSecret: true
|
|
33
|
+
generateServicePrincipal: true
|
|
34
|
+
signInAudience: AzureADMultipleOrgs
|
|
35
|
+
writeToEnvironmentFile:
|
|
36
|
+
# The Microsoft Entra application's client id created for bot.
|
|
37
|
+
clientId: BOT_ID
|
|
38
|
+
# The Microsoft Entra application's client secret created for bot.
|
|
39
|
+
clientSecret: SECRET_BOT_PASSWORD
|
|
40
|
+
# The Microsoft Entra application's object id created for bot.
|
|
41
|
+
objectId: BOT_OBJECT_ID
|
|
42
|
+
|
|
43
|
+
# Create or update the bot registration on dev.botframework.com
|
|
44
|
+
- uses: botFramework/create
|
|
45
|
+
with:
|
|
46
|
+
botId: $\{{BOT_ID}}
|
|
47
|
+
name: {{appName}}
|
|
48
|
+
messagingEndpoint: $\{{BOT_ENDPOINT}}/api/messages
|
|
49
|
+
description: ""
|
|
50
|
+
channels:
|
|
51
|
+
- name: msteams
|
|
52
|
+
{{/hasAzureBot}}
|
|
53
|
+
|
|
54
|
+
# Validate using manifest schema
|
|
55
|
+
- uses: teamsApp/validateManifest
|
|
56
|
+
with:
|
|
57
|
+
# Path to manifest template
|
|
58
|
+
manifestPath: ./appPackage/manifest.json
|
|
59
|
+
|
|
60
|
+
# Build app package with latest env value
|
|
61
|
+
- uses: teamsApp/zipAppPackage
|
|
62
|
+
with:
|
|
63
|
+
# Path to manifest template
|
|
64
|
+
manifestPath: ./appPackage/manifest.json
|
|
65
|
+
outputZipPath: ./appPackage/build/appPackage.$\{{TEAMSFX_ENV}}.zip
|
|
66
|
+
outputFolder: ./appPackage/build
|
|
67
|
+
|
|
68
|
+
# Validate app package using validation rules
|
|
69
|
+
- uses: teamsApp/validateAppPackage
|
|
70
|
+
with:
|
|
71
|
+
# Relative path to this file. This is the path for built zip file.
|
|
72
|
+
appPackagePath: ./appPackage/build/appPackage.$\{{TEAMSFX_ENV}}.zip
|
|
73
|
+
|
|
74
|
+
# Apply the app manifest to an existing app in Developer Portal.
|
|
75
|
+
# Will use the app id in manifest file to determine which app to update.
|
|
76
|
+
- uses: teamsApp/update
|
|
77
|
+
with:
|
|
78
|
+
# Relative path to this file. This is the path for built zip file.
|
|
79
|
+
appPackagePath: ./appPackage/build/appPackage.$\{{TEAMSFX_ENV}}.zip
|
|
80
|
+
|
|
81
|
+
{{#hasCopilot}}
|
|
82
|
+
- uses: teamsApp/extendToM365
|
|
83
|
+
with:
|
|
84
|
+
# Relative path to the build app package.
|
|
85
|
+
appPackagePath: ./appPackage/build/appPackage.$\{{TEAMSFX_ENV}}.zip
|
|
86
|
+
# Write the information of created resources into environment file for
|
|
87
|
+
# the specified environment variable(s).
|
|
88
|
+
writeToEnvironmentFile:
|
|
89
|
+
titleId: M365_TITLE_ID
|
|
90
|
+
appId: M365_APP_ID
|
|
91
|
+
{{/hasCopilot}}
|
|
92
|
+
|
|
93
|
+
deploy:
|
|
94
|
+
{{#hasTab}}
|
|
95
|
+
# Install development tool(s)
|
|
96
|
+
- uses: devTool/install
|
|
97
|
+
with:
|
|
98
|
+
devCert:
|
|
99
|
+
trust: true
|
|
100
|
+
# Write the information of installed development tool(s) into environment
|
|
101
|
+
# file for the specified environment variable(s).
|
|
102
|
+
writeToEnvironmentFile:
|
|
103
|
+
sslCertFile: SSL_CRT_FILE
|
|
104
|
+
sslKeyFile: SSL_KEY_FILE
|
|
105
|
+
|
|
106
|
+
{{/hasTab}}
|
|
107
|
+
# Generate runtime environment variables
|
|
108
|
+
- uses: file/createOrUpdateEnvironmentFile
|
|
109
|
+
with:
|
|
110
|
+
target: ./.env
|
|
111
|
+
envs:
|
|
112
|
+
PORT: 3978
|
|
113
|
+
{{#hasAzureBot}}
|
|
114
|
+
CLIENT_ID: $\{{BOT_ID}}
|
|
115
|
+
CLIENT_SECRET: $\{{SECRET_BOT_PASSWORD}}
|
|
116
|
+
TENANT_ID: $\{{TEAMS_APP_TENANT_ID}}
|
|
117
|
+
{{/hasAzureBot}}
|
|
118
|
+
{{#hasTab}}
|
|
119
|
+
SSL_CRT_FILE: $\{{SSL_CRT_FILE}}
|
|
120
|
+
SSL_KEY_FILE: $\{{SSL_KEY_FILE}}
|
|
121
|
+
{{/hasTab}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.localConfigs
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.2.0",
|
|
3
|
+
"configurations": [
|
|
4
|
+
{
|
|
5
|
+
"name": "Launch App in Teams (Edge)",
|
|
6
|
+
"type": "msedge",
|
|
7
|
+
"request": "launch",
|
|
8
|
+
"url": "https://teams.microsoft.com/l/app/$\{{local:TEAMS_APP_ID}}?installAppPackage=true&webjoin=true&${account-hint}",
|
|
9
|
+
"cascadeTerminateToConfigurations": [
|
|
10
|
+
"Attach to Local Service"
|
|
11
|
+
],
|
|
12
|
+
"presentation": {
|
|
13
|
+
"group": "all",
|
|
14
|
+
"hidden": true
|
|
15
|
+
},
|
|
16
|
+
"internalConsoleOptions": "neverOpen"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"name": "Launch App in Teams (Chrome)",
|
|
20
|
+
"type": "chrome",
|
|
21
|
+
"request": "launch",
|
|
22
|
+
"url": "https://teams.microsoft.com/l/app/$\{{local:TEAMS_APP_ID}}?installAppPackage=true&webjoin=true&${account-hint}",
|
|
23
|
+
"cascadeTerminateToConfigurations": [
|
|
24
|
+
"Attach to Local Service"
|
|
25
|
+
],
|
|
26
|
+
"presentation": {
|
|
27
|
+
"group": "all",
|
|
28
|
+
"hidden": true
|
|
29
|
+
},
|
|
30
|
+
"internalConsoleOptions": "neverOpen"
|
|
31
|
+
},
|
|
32
|
+
{{#supportCopilot}}
|
|
33
|
+
{
|
|
34
|
+
"name": "Launch in Copilot (Edge)",
|
|
35
|
+
"type": "msedge",
|
|
36
|
+
"request": "launch",
|
|
37
|
+
"url": "https://m365.cloud.microsoft/chat/entity1-d870f6cd-4aa5-4d42-9626-ab690c041429/$\{{local:agent-hint}}?auth=2&${account-hint}&developerMode=Basic",
|
|
38
|
+
"cascadeTerminateToConfigurations": ["Attach to Local Service"],
|
|
39
|
+
"presentation": {
|
|
40
|
+
"group": "all",
|
|
41
|
+
"hidden": true
|
|
42
|
+
},
|
|
43
|
+
"internalConsoleOptions": "neverOpen",
|
|
44
|
+
"runtimeArgs": [
|
|
45
|
+
"--remote-debugging-port=9222",
|
|
46
|
+
"--no-first-run"
|
|
47
|
+
]
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"name": "Launch in Copilot (Chrome)",
|
|
51
|
+
"type": "chrome",
|
|
52
|
+
"request": "launch",
|
|
53
|
+
"url": "https://m365.cloud.microsoft/chat/entity1-d870f6cd-4aa5-4d42-9626-ab690c041429/$\{{local:agent-hint}}?auth=2&${account-hint}&developerMode=Basic",
|
|
54
|
+
"cascadeTerminateToConfigurations": ["Attach to Local Service"],
|
|
55
|
+
"presentation": {
|
|
56
|
+
"group": "all",
|
|
57
|
+
"hidden": true
|
|
58
|
+
},
|
|
59
|
+
"internalConsoleOptions": "neverOpen",
|
|
60
|
+
"runtimeArgs": [
|
|
61
|
+
"--remote-debugging-port=9223",
|
|
62
|
+
"--no-first-run"
|
|
63
|
+
]
|
|
64
|
+
},
|
|
65
|
+
{{/supportCopilot}}
|
|
66
|
+
{
|
|
67
|
+
"name": "Attach to Local Service",
|
|
68
|
+
"type": "node",
|
|
69
|
+
"request": "attach",
|
|
70
|
+
"port": 9239,
|
|
71
|
+
"restart": true,
|
|
72
|
+
"presentation": {
|
|
73
|
+
"group": "all",
|
|
74
|
+
"hidden": true
|
|
75
|
+
},
|
|
76
|
+
"internalConsoleOptions": "neverOpen"
|
|
77
|
+
}
|
|
78
|
+
],
|
|
79
|
+
"compounds": [
|
|
80
|
+
{
|
|
81
|
+
"name": "Debug in Teams (Edge)",
|
|
82
|
+
"configurations": [
|
|
83
|
+
"Launch App in Teams (Edge)",
|
|
84
|
+
"Attach to Local Service"
|
|
85
|
+
],
|
|
86
|
+
"preLaunchTask": "Start App Locally",
|
|
87
|
+
"presentation": {
|
|
88
|
+
"group": "2-local",
|
|
89
|
+
"order": 1
|
|
90
|
+
},
|
|
91
|
+
"stopAll": true
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"name": "Debug in Teams (Chrome)",
|
|
95
|
+
"configurations": [
|
|
96
|
+
"Launch App in Teams (Chrome)",
|
|
97
|
+
"Attach to Local Service"
|
|
98
|
+
],
|
|
99
|
+
"preLaunchTask": "Start App Locally",
|
|
100
|
+
"presentation": {
|
|
101
|
+
"group": "2-local",
|
|
102
|
+
"order": 2
|
|
103
|
+
},
|
|
104
|
+
"stopAll": true
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"name": "Debug in Teams (Desktop)",
|
|
108
|
+
"configurations": [
|
|
109
|
+
"Attach to Local Service"
|
|
110
|
+
],
|
|
111
|
+
"preLaunchTask": "Start App in Desktop Client",
|
|
112
|
+
"presentation": {
|
|
113
|
+
"group": "2-local",
|
|
114
|
+
"order": 3
|
|
115
|
+
},
|
|
116
|
+
"stopAll": true
|
|
117
|
+
},
|
|
118
|
+
{{#supportCopilot}}
|
|
119
|
+
{
|
|
120
|
+
"name": "(Preview) Debug in Copilot (Edge)",
|
|
121
|
+
"configurations": [
|
|
122
|
+
"Launch in Copilot (Edge)",
|
|
123
|
+
"Attach to Local Service"
|
|
124
|
+
],
|
|
125
|
+
"preLaunchTask": "Start App Locally",
|
|
126
|
+
"presentation": {
|
|
127
|
+
"group": "3-copilot",
|
|
128
|
+
"order": 1
|
|
129
|
+
},
|
|
130
|
+
"stopAll": true
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"name": "(Preview) Debug in Copilot (Chrome)",
|
|
134
|
+
"configurations": [
|
|
135
|
+
"Launch in Copilot (Chrome)",
|
|
136
|
+
"Attach to Local Service"
|
|
137
|
+
],
|
|
138
|
+
"preLaunchTask": "Start App Locally",
|
|
139
|
+
"presentation": {
|
|
140
|
+
"group": "3-copilot",
|
|
141
|
+
"order": 2
|
|
142
|
+
},
|
|
143
|
+
"stopAll": true
|
|
144
|
+
},
|
|
145
|
+
{{/supportCopilot}}
|
|
146
|
+
]
|
|
147
|
+
}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
// This file is automatically generated by Microsoft 365 Agents Toolkit.
|
|
2
|
+
// The teamsfx tasks defined in this file require Microsoft 365 Agents Toolkit version >= 5.0.0.
|
|
3
|
+
// See https://aka.ms/teamsfx-tasks for details on how to customize each task.
|
|
4
|
+
{
|
|
5
|
+
"version": "2.0.0",
|
|
6
|
+
"tasks": [
|
|
7
|
+
{
|
|
8
|
+
"label": "Start App Locally",
|
|
9
|
+
"dependsOn": [
|
|
10
|
+
"Validate prerequisites",
|
|
11
|
+
{{#hasAzureBot}}
|
|
12
|
+
"Start local tunnel",
|
|
13
|
+
{{/hasAzureBot}}
|
|
14
|
+
"Provision",
|
|
15
|
+
"Deploy",
|
|
16
|
+
"Start application"
|
|
17
|
+
],
|
|
18
|
+
"dependsOrder": "sequence"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
// Check all required prerequisites.
|
|
22
|
+
// See https://aka.ms/teamsfx-tasks/check-prerequisites to know the details and how to customize the args.
|
|
23
|
+
"label": "Validate prerequisites",
|
|
24
|
+
"type": "teamsfx",
|
|
25
|
+
"command": "debug-check-prerequisites",
|
|
26
|
+
"args": {
|
|
27
|
+
"prerequisites": [
|
|
28
|
+
"nodejs", // Validate if Node.js is installed.
|
|
29
|
+
"m365Account", // Sign-in prompt for Microsoft 365 account, then validate if the account enables the sideloading permission.
|
|
30
|
+
"portOccupancy" // Validate available ports to ensure those debug ones are not occupied.
|
|
31
|
+
],
|
|
32
|
+
"portOccupancy": [
|
|
33
|
+
3978, // tab service port,
|
|
34
|
+
9239 // app inspector port for Node.js debugger
|
|
35
|
+
]
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
{{#hasAzureBot}}
|
|
39
|
+
{
|
|
40
|
+
// Start the local tunnel service to forward public URL to local port and inspect traffic.
|
|
41
|
+
// See https://aka.ms/teamsfx-tasks/local-tunnel for the detailed args definitions.
|
|
42
|
+
"label": "Start local tunnel",
|
|
43
|
+
"type": "teamsfx",
|
|
44
|
+
"command": "debug-start-local-tunnel",
|
|
45
|
+
"args": {
|
|
46
|
+
"type": "dev-tunnel",
|
|
47
|
+
"ports": [
|
|
48
|
+
{
|
|
49
|
+
"portNumber": 3978,
|
|
50
|
+
"protocol": "http",
|
|
51
|
+
"access": "public",
|
|
52
|
+
"writeToEnvironmentFile": {
|
|
53
|
+
"endpoint": "BOT_ENDPOINT", // output tunnel endpoint as BOT_ENDPOINT
|
|
54
|
+
"domain": "BOT_DOMAIN" // output tunnel domain as BOT_DOMAIN
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
],
|
|
58
|
+
"env": "local"
|
|
59
|
+
},
|
|
60
|
+
"isBackground": true,
|
|
61
|
+
"problemMatcher": "$teamsfx-local-tunnel-watch"
|
|
62
|
+
},
|
|
63
|
+
{{/hasAzureBot}}
|
|
64
|
+
{
|
|
65
|
+
// Create the debug resources.
|
|
66
|
+
// See https://aka.ms/teamsfx-tasks/provision to know the details and how to customize the args.
|
|
67
|
+
"label": "Provision",
|
|
68
|
+
"type": "teamsfx",
|
|
69
|
+
"command": "provision",
|
|
70
|
+
"args": {
|
|
71
|
+
"env": "local"
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
// Build project.
|
|
76
|
+
// See https://aka.ms/teamsfx-tasks/deploy to know the details and how to customize the args.
|
|
77
|
+
"label": "Deploy",
|
|
78
|
+
"type": "teamsfx",
|
|
79
|
+
"command": "deploy",
|
|
80
|
+
"args": {
|
|
81
|
+
"env": "local"
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"label": "Start application",
|
|
86
|
+
"type": "shell",
|
|
87
|
+
"command": "npm run dev:teamsfx",
|
|
88
|
+
"isBackground": true,
|
|
89
|
+
"options": {
|
|
90
|
+
"cwd": "${workspaceFolder}"
|
|
91
|
+
},
|
|
92
|
+
"problemMatcher": {
|
|
93
|
+
"pattern": {
|
|
94
|
+
"regexp": "^.*$",
|
|
95
|
+
"file": 0,
|
|
96
|
+
"location": 1,
|
|
97
|
+
"message": 2
|
|
98
|
+
},
|
|
99
|
+
"background": {
|
|
100
|
+
"activeOnStart": true,
|
|
101
|
+
"beginsPattern": ".*",
|
|
102
|
+
"endsPattern": "listening on port 3978|[nodemon] app crashed"
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"label": "Start App in Desktop Client",
|
|
108
|
+
"dependsOn": [
|
|
109
|
+
"Validate prerequisites",
|
|
110
|
+
{{#hasAzureBot}}
|
|
111
|
+
"Start local tunnel",
|
|
112
|
+
{{/hasAzureBot}}
|
|
113
|
+
"Provision",
|
|
114
|
+
"Deploy",
|
|
115
|
+
"Start application",
|
|
116
|
+
"Start desktop client"
|
|
117
|
+
],
|
|
118
|
+
"dependsOrder": "sequence"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"label": "Start desktop client",
|
|
122
|
+
"type": "teamsfx",
|
|
123
|
+
"command": "launch-desktop-client",
|
|
124
|
+
"args": {
|
|
125
|
+
"url": "teams.microsoft.com/l/app/$\{{local:TEAMS_APP_ID}}?installAppPackage=true"
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
]
|
|
129
|
+
}
|