@microsoft/teamsfx-core 3.0.10-beta.2025122602.0 → 3.0.10-beta.2026011501.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 (170) hide show
  1. package/build/client/graphClient.d.ts +1 -0
  2. package/build/client/graphClient.d.ts.map +1 -1
  3. package/build/client/teamsDevPortalClient.d.ts +1 -0
  4. package/build/client/teamsDevPortalClient.d.ts.map +1 -1
  5. package/build/common/featureFlags.d.ts +10 -20
  6. package/build/common/featureFlags.d.ts.map +1 -1
  7. package/build/common/featureFlags.js +11 -20
  8. package/build/common/featureFlags.js.map +1 -1
  9. package/build/common/telemetry.d.ts +2 -0
  10. package/build/common/telemetry.d.ts.map +1 -1
  11. package/build/common/telemetry.js +2 -0
  12. package/build/common/telemetry.js.map +1 -1
  13. package/build/common/templates-config.json +1 -1
  14. package/build/component/coordinator/index.d.ts.map +1 -1
  15. package/build/component/coordinator/index.js +0 -11
  16. package/build/component/coordinator/index.js.map +1 -1
  17. package/build/component/deps-checker/internal/dotnetChecker.d.ts +5 -1
  18. package/build/component/deps-checker/internal/dotnetChecker.d.ts.map +1 -1
  19. package/build/component/deps-checker/internal/dotnetChecker.js +16 -8
  20. package/build/component/deps-checker/internal/dotnetChecker.js.map +1 -1
  21. package/build/component/driver/deploy/spfx/utility/spoClient.d.ts +1 -0
  22. package/build/component/driver/deploy/spfx/utility/spoClient.d.ts.map +1 -1
  23. package/build/component/driver/devTool/httpClient.d.ts +1 -0
  24. package/build/component/driver/devTool/httpClient.d.ts.map +1 -1
  25. package/build/component/driver/devTool/nodeInstaller.d.ts +1 -0
  26. package/build/component/driver/devTool/nodeInstaller.d.ts.map +1 -1
  27. package/build/component/driver/script/scriptDriver.d.ts +1 -0
  28. package/build/component/driver/script/scriptDriver.d.ts.map +1 -1
  29. package/build/component/driver/teamsApp/constants.d.ts +1 -1
  30. package/build/component/driver/teamsApp/constants.d.ts.map +1 -1
  31. package/build/component/driver/teamsApp/constants.js +2 -2
  32. package/build/component/driver/teamsApp/constants.js.map +1 -1
  33. package/build/component/driver/teamsApp/copyAppPackageToSPFx.d.ts +1 -0
  34. package/build/component/driver/teamsApp/copyAppPackageToSPFx.d.ts.map +1 -1
  35. package/build/component/driver/teamsApp/interfaces/appdefinitions/appPackage.d.ts +1 -0
  36. package/build/component/driver/teamsApp/interfaces/appdefinitions/appPackage.d.ts.map +1 -1
  37. package/build/component/driver/teamsApp/utils/ManifestUtils.d.ts +1 -0
  38. package/build/component/driver/teamsApp/utils/ManifestUtils.d.ts.map +1 -1
  39. package/build/component/generator/configFiles/configGenerator.d.ts +15 -0
  40. package/build/component/generator/configFiles/configGenerator.d.ts.map +1 -0
  41. package/build/component/generator/configFiles/configGenerator.js +167 -0
  42. package/build/component/generator/configFiles/configGenerator.js.map +1 -0
  43. package/build/component/generator/configFiles/copyPolicy.d.ts +10 -0
  44. package/build/component/generator/configFiles/copyPolicy.d.ts.map +1 -0
  45. package/build/component/generator/configFiles/copyPolicy.js +42 -0
  46. package/build/component/generator/configFiles/copyPolicy.js.map +1 -0
  47. package/build/component/generator/configFiles/jsonMerger.d.ts +11 -0
  48. package/build/component/generator/configFiles/jsonMerger.d.ts.map +1 -0
  49. package/build/component/generator/configFiles/jsonMerger.js +83 -0
  50. package/build/component/generator/configFiles/jsonMerger.js.map +1 -0
  51. package/build/component/generator/configFiles/renderTemplate.d.ts +2 -0
  52. package/build/component/generator/configFiles/renderTemplate.d.ts.map +1 -0
  53. package/build/component/generator/configFiles/renderTemplate.js +16 -0
  54. package/build/component/generator/configFiles/renderTemplate.js.map +1 -0
  55. package/build/component/generator/declarativeAgent/generator.d.ts +5 -0
  56. package/build/component/generator/declarativeAgent/generator.d.ts.map +1 -1
  57. package/build/component/generator/declarativeAgent/generator.js +76 -36
  58. package/build/component/generator/declarativeAgent/generator.js.map +1 -1
  59. package/build/component/generator/declarativeAgent/helper.d.ts.map +1 -1
  60. package/build/component/generator/declarativeAgent/helper.js +0 -1
  61. package/build/component/generator/declarativeAgent/helper.js.map +1 -1
  62. package/build/component/generator/generatorAction.d.ts +1 -0
  63. package/build/component/generator/generatorAction.d.ts.map +1 -1
  64. package/build/component/generator/openApiSpec/common.d.ts.map +1 -1
  65. package/build/component/generator/openApiSpec/common.js +11 -22
  66. package/build/component/generator/openApiSpec/common.js.map +1 -1
  67. package/build/component/generator/openApiSpec/kiota.d.ts +0 -6
  68. package/build/component/generator/openApiSpec/kiota.d.ts.map +1 -1
  69. package/build/component/generator/openApiSpec/kiota.js +2 -17
  70. package/build/component/generator/openApiSpec/kiota.js.map +1 -1
  71. package/build/component/generator/templates/templateInfo.d.ts +1 -1
  72. package/build/component/generator/templates/templateInfo.d.ts.map +1 -1
  73. package/build/component/generator/utils.d.ts +3 -2
  74. package/build/component/generator/utils.d.ts.map +1 -1
  75. package/build/component/generator/utils.js.map +1 -1
  76. package/build/component/m365/packageService.d.ts.map +1 -1
  77. package/build/component/m365/packageService.js +16 -20
  78. package/build/component/m365/packageService.js.map +1 -1
  79. package/build/component/utils/envUtil.d.ts +1 -0
  80. package/build/component/utils/envUtil.d.ts.map +1 -1
  81. package/build/component/utils/pathUtils.d.ts +2 -1
  82. package/build/component/utils/pathUtils.d.ts.map +1 -1
  83. package/build/component/utils/pathUtils.js +19 -3
  84. package/build/component/utils/pathUtils.js.map +1 -1
  85. package/build/component/utils/settingsUtil.d.ts +1 -1
  86. package/build/component/utils/settingsUtil.d.ts.map +1 -1
  87. package/build/component/utils/settingsUtil.js +20 -7
  88. package/build/component/utils/settingsUtil.js.map +1 -1
  89. package/build/core/FxCore.d.ts +6 -2
  90. package/build/core/FxCore.d.ts.map +1 -1
  91. package/build/core/FxCore.declarativeAgent.d.ts +6 -0
  92. package/build/core/FxCore.declarativeAgent.d.ts.map +1 -0
  93. package/build/core/FxCore.declarativeAgent.js +210 -0
  94. package/build/core/FxCore.declarativeAgent.js.map +1 -0
  95. package/build/core/FxCore.js +45 -248
  96. package/build/core/FxCore.js.map +1 -1
  97. package/build/core/generateConfigFiles.d.ts +4 -0
  98. package/build/core/generateConfigFiles.d.ts.map +1 -0
  99. package/build/core/generateConfigFiles.js +61 -0
  100. package/build/core/generateConfigFiles.js.map +1 -0
  101. package/build/core/middleware/projectSettingsLoader.d.ts.map +1 -1
  102. package/build/core/middleware/projectSettingsLoader.js +8 -2
  103. package/build/core/middleware/projectSettingsLoader.js.map +1 -1
  104. package/build/question/other.d.ts.map +1 -1
  105. package/build/question/other.js +0 -2
  106. package/build/question/other.js.map +1 -1
  107. package/build/question/questionNames.d.ts +0 -3
  108. package/build/question/questionNames.d.ts.map +1 -1
  109. package/build/question/questionNames.js +0 -3
  110. package/build/question/questionNames.js.map +1 -1
  111. package/build/question/scaffold/vsc/ProjectTypeOptions.d.ts +0 -1
  112. package/build/question/scaffold/vsc/ProjectTypeOptions.d.ts.map +1 -1
  113. package/build/question/scaffold/vsc/ProjectTypeOptions.js +1 -14
  114. package/build/question/scaffold/vsc/ProjectTypeOptions.js.map +1 -1
  115. package/build/question/scaffold/vsc/createRootNode.d.ts.map +1 -1
  116. package/build/question/scaffold/vsc/createRootNode.js +1 -5
  117. package/build/question/scaffold/vsc/createRootNode.js.map +1 -1
  118. package/build/question/scaffold/vsc/daProjectTypeNode.d.ts.map +1 -1
  119. package/build/question/scaffold/vsc/daProjectTypeNode.js +1 -2
  120. package/build/question/scaffold/vsc/daProjectTypeNode.js.map +1 -1
  121. package/build/question/scaffold/vsc/officeAddinProjectTypeNode.d.ts +0 -1
  122. package/build/question/scaffold/vsc/officeAddinProjectTypeNode.d.ts.map +1 -1
  123. package/build/question/scaffold/vsc/officeAddinProjectTypeNode.js +2 -51
  124. package/build/question/scaffold/vsc/officeAddinProjectTypeNode.js.map +1 -1
  125. package/build/question/scaffold/vsc/teamsProjectTypeNode.d.ts.map +1 -1
  126. package/build/question/scaffold/vsc/teamsProjectTypeNode.js +4 -15
  127. package/build/question/scaffold/vsc/teamsProjectTypeNode.js.map +1 -1
  128. package/package.json +5 -5
  129. package/resource/package.nls.cs.json +1 -0
  130. package/resource/package.nls.de.json +13 -12
  131. package/resource/package.nls.es.json +12 -11
  132. package/resource/package.nls.fr.json +1 -0
  133. package/resource/package.nls.it.json +1 -0
  134. package/resource/package.nls.ja.json +2 -1
  135. package/resource/package.nls.json +2 -3
  136. package/resource/package.nls.ko.json +12 -11
  137. package/resource/package.nls.pl.json +12 -11
  138. package/resource/package.nls.pt-BR.json +8 -7
  139. package/resource/package.nls.ru.json +3 -2
  140. package/resource/package.nls.tr.json +1 -0
  141. package/resource/package.nls.zh-Hans.json +1 -0
  142. package/resource/package.nls.zh-Hant.json +6 -5
  143. package/templates/configs/local/python/.vscode/launch.json.tpl +93 -0
  144. package/templates/configs/local/python/.vscode/tasks.json.tpl +103 -0
  145. package/templates/configs/local/python/env/.env.local +6 -0
  146. package/templates/configs/local/python/m365agents.local.yml.tpl +121 -0
  147. package/templates/configs/local/typescript/.gitignore +1 -0
  148. package/templates/configs/local/typescript/.vscode/launch.json.tpl +147 -0
  149. package/templates/configs/local/typescript/.vscode/tasks.json.tpl +129 -0
  150. package/templates/configs/local/typescript/env/.env.local +6 -0
  151. package/templates/configs/local/typescript/m365agents.local.yml.tpl +129 -0
  152. package/templates/configs/local/typescript/package.json +8 -0
  153. package/templates/configs/playground/python/.vscode/launch.json +46 -0
  154. package/templates/configs/playground/python/.vscode/tasks.json +35 -0
  155. package/templates/configs/playground/python/env/.env.playground +7 -0
  156. package/templates/configs/playground/python/m365agents.playground.yml +14 -0
  157. package/templates/configs/playground/typescript/.gitignore +4 -0
  158. package/templates/configs/playground/typescript/.localConfigs.playground +0 -0
  159. package/templates/configs/playground/typescript/.vscode/launch.json +31 -0
  160. package/templates/configs/playground/typescript/.vscode/tasks.json +104 -0
  161. package/templates/configs/playground/typescript/env/.env.playground +7 -0
  162. package/templates/configs/playground/typescript/env/.env.playground.user +0 -0
  163. package/templates/configs/playground/typescript/m365agents.playground.yml +23 -0
  164. package/templates/configs/playground/typescript/package.json +9 -0
  165. package/templates/fallback/common.zip +0 -0
  166. package/templates/fallback/csharp.zip +0 -0
  167. package/templates/fallback/js.zip +0 -0
  168. package/templates/fallback/python.zip +0 -0
  169. package/templates/fallback/ts.zip +0 -0
  170. package/templates/metadata.zip +0 -0
@@ -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,6 @@
1
+ TEAMSFX_ENV=local
2
+ APP_NAME_SUFFIX=local
3
+ TEAMS_APP_ID=
4
+
5
+ BOT_ENDPOINT=
6
+ BOT_DOMAIN=
@@ -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
+ }
@@ -0,0 +1,6 @@
1
+ TEAMSFX_ENV=local
2
+ APP_NAME_SUFFIX=local
3
+ TEAMS_APP_ID=
4
+
5
+ BOT_ENDPOINT=
6
+ BOT_DOMAIN=