@microsoft/teamsfx-core 3.0.10-alpha.bd1eea45e.0 → 3.0.10-alpha.edb63176e.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 (202) 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 +12 -21
  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/script/scriptDriver.js +1 -1
  30. package/build/component/driver/script/scriptDriver.js.map +1 -1
  31. package/build/component/driver/share/utils.d.ts.map +1 -1
  32. package/build/component/driver/share/utils.js +6 -0
  33. package/build/component/driver/share/utils.js.map +1 -1
  34. package/build/component/driver/teamsApp/constants.d.ts +1 -1
  35. package/build/component/driver/teamsApp/constants.d.ts.map +1 -1
  36. package/build/component/driver/teamsApp/constants.js +2 -2
  37. package/build/component/driver/teamsApp/constants.js.map +1 -1
  38. package/build/component/driver/teamsApp/copyAppPackageToSPFx.d.ts +1 -0
  39. package/build/component/driver/teamsApp/copyAppPackageToSPFx.d.ts.map +1 -1
  40. package/build/component/driver/teamsApp/createAppPackage.d.ts.map +1 -1
  41. package/build/component/driver/teamsApp/createAppPackage.js +12 -1
  42. package/build/component/driver/teamsApp/createAppPackage.js.map +1 -1
  43. package/build/component/driver/teamsApp/interfaces/appdefinitions/appPackage.d.ts +1 -0
  44. package/build/component/driver/teamsApp/interfaces/appdefinitions/appPackage.d.ts.map +1 -1
  45. package/build/component/driver/teamsApp/utils/ManifestUtils.d.ts +1 -0
  46. package/build/component/driver/teamsApp/utils/ManifestUtils.d.ts.map +1 -1
  47. package/build/component/generator/configFiles/configGenerator.d.ts +15 -0
  48. package/build/component/generator/configFiles/configGenerator.d.ts.map +1 -0
  49. package/build/component/generator/configFiles/configGenerator.js +168 -0
  50. package/build/component/generator/configFiles/configGenerator.js.map +1 -0
  51. package/build/component/generator/configFiles/copyPolicy.d.ts +12 -0
  52. package/build/component/generator/configFiles/copyPolicy.d.ts.map +1 -0
  53. package/build/component/generator/configFiles/copyPolicy.js +63 -0
  54. package/build/component/generator/configFiles/copyPolicy.js.map +1 -0
  55. package/build/component/generator/configFiles/jsonMerger.d.ts +11 -0
  56. package/build/component/generator/configFiles/jsonMerger.d.ts.map +1 -0
  57. package/build/component/generator/configFiles/jsonMerger.js +83 -0
  58. package/build/component/generator/configFiles/jsonMerger.js.map +1 -0
  59. package/build/component/generator/configFiles/renderTemplate.d.ts +2 -0
  60. package/build/component/generator/configFiles/renderTemplate.d.ts.map +1 -0
  61. package/build/component/generator/configFiles/renderTemplate.js +16 -0
  62. package/build/component/generator/configFiles/renderTemplate.js.map +1 -0
  63. package/build/component/generator/declarativeAgent/generator.d.ts +5 -0
  64. package/build/component/generator/declarativeAgent/generator.d.ts.map +1 -1
  65. package/build/component/generator/declarativeAgent/generator.js +76 -36
  66. package/build/component/generator/declarativeAgent/generator.js.map +1 -1
  67. package/build/component/generator/declarativeAgent/helper.d.ts.map +1 -1
  68. package/build/component/generator/declarativeAgent/helper.js +0 -1
  69. package/build/component/generator/declarativeAgent/helper.js.map +1 -1
  70. package/build/component/generator/generatorAction.d.ts +1 -0
  71. package/build/component/generator/generatorAction.d.ts.map +1 -1
  72. package/build/component/generator/openApiSpec/common.d.ts.map +1 -1
  73. package/build/component/generator/openApiSpec/common.js +11 -22
  74. package/build/component/generator/openApiSpec/common.js.map +1 -1
  75. package/build/component/generator/openApiSpec/kiota.d.ts +0 -6
  76. package/build/component/generator/openApiSpec/kiota.d.ts.map +1 -1
  77. package/build/component/generator/openApiSpec/kiota.js +2 -17
  78. package/build/component/generator/openApiSpec/kiota.js.map +1 -1
  79. package/build/component/generator/templates/templateInfo.d.ts +1 -1
  80. package/build/component/generator/templates/templateInfo.d.ts.map +1 -1
  81. package/build/component/generator/utils.d.ts +3 -2
  82. package/build/component/generator/utils.d.ts.map +1 -1
  83. package/build/component/generator/utils.js.map +1 -1
  84. package/build/component/m365/packageService.d.ts.map +1 -1
  85. package/build/component/m365/packageService.js +16 -20
  86. package/build/component/m365/packageService.js.map +1 -1
  87. package/build/component/middleware/envMW.d.ts.map +1 -1
  88. package/build/component/middleware/envMW.js +7 -0
  89. package/build/component/middleware/envMW.js.map +1 -1
  90. package/build/component/utils/envUtil.d.ts +1 -0
  91. package/build/component/utils/envUtil.d.ts.map +1 -1
  92. package/build/component/utils/odrProvider.d.ts +13 -0
  93. package/build/component/utils/odrProvider.d.ts.map +1 -1
  94. package/build/component/utils/odrProvider.js +25 -0
  95. package/build/component/utils/odrProvider.js.map +1 -1
  96. package/build/component/utils/pathUtils.d.ts +2 -1
  97. package/build/component/utils/pathUtils.d.ts.map +1 -1
  98. package/build/component/utils/pathUtils.js +19 -3
  99. package/build/component/utils/pathUtils.js.map +1 -1
  100. package/build/component/utils/settingsUtil.d.ts +1 -1
  101. package/build/component/utils/settingsUtil.d.ts.map +1 -1
  102. package/build/component/utils/settingsUtil.js +20 -7
  103. package/build/component/utils/settingsUtil.js.map +1 -1
  104. package/build/core/FxCore.d.ts +6 -2
  105. package/build/core/FxCore.d.ts.map +1 -1
  106. package/build/core/FxCore.declarativeAgent.d.ts +6 -0
  107. package/build/core/FxCore.declarativeAgent.d.ts.map +1 -0
  108. package/build/core/FxCore.declarativeAgent.js +210 -0
  109. package/build/core/FxCore.declarativeAgent.js.map +1 -0
  110. package/build/core/FxCore.js +45 -231
  111. package/build/core/FxCore.js.map +1 -1
  112. package/build/core/generateConfigFiles.d.ts +4 -0
  113. package/build/core/generateConfigFiles.d.ts.map +1 -0
  114. package/build/core/generateConfigFiles.js +64 -0
  115. package/build/core/generateConfigFiles.js.map +1 -0
  116. package/build/core/middleware/projectSettingsLoader.d.ts.map +1 -1
  117. package/build/core/middleware/projectSettingsLoader.js +8 -2
  118. package/build/core/middleware/projectSettingsLoader.js.map +1 -1
  119. package/build/question/other.d.ts.map +1 -1
  120. package/build/question/other.js +0 -2
  121. package/build/question/other.js.map +1 -1
  122. package/build/question/questionNames.d.ts +0 -3
  123. package/build/question/questionNames.d.ts.map +1 -1
  124. package/build/question/questionNames.js +0 -3
  125. package/build/question/questionNames.js.map +1 -1
  126. package/build/question/scaffold/vsc/ProjectTypeOptions.d.ts +0 -1
  127. package/build/question/scaffold/vsc/ProjectTypeOptions.d.ts.map +1 -1
  128. package/build/question/scaffold/vsc/ProjectTypeOptions.js +1 -14
  129. package/build/question/scaffold/vsc/ProjectTypeOptions.js.map +1 -1
  130. package/build/question/scaffold/vsc/createRootNode.d.ts.map +1 -1
  131. package/build/question/scaffold/vsc/createRootNode.js +1 -5
  132. package/build/question/scaffold/vsc/createRootNode.js.map +1 -1
  133. package/build/question/scaffold/vsc/daProjectTypeNode.d.ts.map +1 -1
  134. package/build/question/scaffold/vsc/daProjectTypeNode.js +1 -2
  135. package/build/question/scaffold/vsc/daProjectTypeNode.js.map +1 -1
  136. package/build/question/scaffold/vsc/officeAddinProjectTypeNode.d.ts +0 -1
  137. package/build/question/scaffold/vsc/officeAddinProjectTypeNode.d.ts.map +1 -1
  138. package/build/question/scaffold/vsc/officeAddinProjectTypeNode.js +2 -51
  139. package/build/question/scaffold/vsc/officeAddinProjectTypeNode.js.map +1 -1
  140. package/build/question/scaffold/vsc/teamsProjectTypeNode.d.ts.map +1 -1
  141. package/build/question/scaffold/vsc/teamsProjectTypeNode.js +5 -16
  142. package/build/question/scaffold/vsc/teamsProjectTypeNode.js.map +1 -1
  143. package/package.json +5 -5
  144. package/resource/package.nls.cs.json +4 -4
  145. package/resource/package.nls.de.json +16 -16
  146. package/resource/package.nls.es.json +15 -15
  147. package/resource/package.nls.fr.json +4 -4
  148. package/resource/package.nls.it.json +4 -4
  149. package/resource/package.nls.ja.json +5 -5
  150. package/resource/package.nls.json +4 -4
  151. package/resource/package.nls.ko.json +15 -15
  152. package/resource/package.nls.pl.json +15 -15
  153. package/resource/package.nls.pt-BR.json +11 -11
  154. package/resource/package.nls.ru.json +6 -6
  155. package/resource/package.nls.tr.json +4 -4
  156. package/resource/package.nls.zh-Hans.json +4 -4
  157. package/resource/package.nls.zh-Hant.json +9 -9
  158. package/templates/configs/local/python/.vscode/launch.json.tpl +93 -0
  159. package/templates/configs/local/python/.vscode/tasks.json.tpl +103 -0
  160. package/templates/configs/local/python/env/.env.local +6 -0
  161. package/templates/configs/local/python/m365agents.local.yml.tpl +121 -0
  162. package/templates/configs/local/typescript/.gitignore +1 -0
  163. package/templates/configs/local/typescript/.vscode/launch.json.tpl +147 -0
  164. package/templates/configs/local/typescript/.vscode/tasks.json.tpl +129 -0
  165. package/templates/configs/local/typescript/env/.env.local +6 -0
  166. package/templates/configs/local/typescript/m365agents.local.yml.tpl +129 -0
  167. package/templates/configs/local/typescript/package.json +8 -0
  168. package/templates/configs/playground/python/.vscode/launch.json +46 -0
  169. package/templates/configs/playground/python/.vscode/tasks.json +35 -0
  170. package/templates/configs/playground/python/env/.env.playground +7 -0
  171. package/templates/configs/playground/python/env/.env.playground.user +0 -0
  172. package/templates/configs/playground/python/m365agents.playground.yml +14 -0
  173. package/templates/configs/playground/typescript/.gitignore +4 -0
  174. package/templates/configs/playground/typescript/.vscode/launch.json +31 -0
  175. package/templates/configs/playground/typescript/.vscode/tasks.json +104 -0
  176. package/templates/configs/playground/typescript/env/.env.playground +7 -0
  177. package/templates/configs/playground/typescript/env/.env.playground.user +0 -0
  178. package/templates/configs/playground/typescript/m365agents.playground.yml +23 -0
  179. package/templates/configs/playground/typescript/package.json +9 -0
  180. package/templates/configs/remote/python/.vscode/launch.json.tpl +70 -0
  181. package/templates/configs/remote/python/.webappignore +11 -0
  182. package/templates/configs/remote/python/env/.env.dev +11 -0
  183. package/templates/configs/remote/python/infra/azure.bicep.tpl +108 -0
  184. package/templates/configs/remote/python/infra/azure.parameters.json.tpl +20 -0
  185. package/templates/configs/remote/python/infra/botRegistration/azurebot.bicep +42 -0
  186. package/templates/configs/remote/python/infra/botRegistration/readme.md +1 -0
  187. package/templates/configs/remote/python/m365agents.yml.tpl +131 -0
  188. package/templates/configs/remote/typescript/.vscode/launch.json.tpl +70 -0
  189. package/templates/configs/remote/typescript/.webappignore +27 -0
  190. package/templates/configs/remote/typescript/env/.env.dev +11 -0
  191. package/templates/configs/remote/typescript/infra/azure.bicep.tpl +105 -0
  192. package/templates/configs/remote/typescript/infra/azure.parameters.json.tpl +17 -0
  193. package/templates/configs/remote/typescript/infra/botRegistration/azurebot.bicep +42 -0
  194. package/templates/configs/remote/typescript/infra/botRegistration/readme.md +1 -0
  195. package/templates/configs/remote/typescript/m365agents.yml.tpl +142 -0
  196. package/templates/configs/remote/typescript/web.config +60 -0
  197. package/templates/fallback/common.zip +0 -0
  198. package/templates/fallback/csharp.zip +0 -0
  199. package/templates/fallback/js.zip +0 -0
  200. package/templates/fallback/python.zip +0 -0
  201. package/templates/fallback/ts.zip +0 -0
  202. package/templates/metadata.zip +0 -0
@@ -0,0 +1,129 @@
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
+ {{^hasAzureBot}}
18
+ {{#hasTab}}
19
+ # Set BOT_DOMAIN and BOT_ENDPOINT for local launch
20
+ - uses: script
21
+ with:
22
+ run:
23
+ echo "::set-teamsfx-env BOT_DOMAIN=localhost";
24
+ echo "::set-teamsfx-env BOT_ENDPOINT=https://localhost:3978";
25
+ {{/hasTab}}
26
+ {{/hasAzureBot}}
27
+
28
+ {{#hasAzureBot}}
29
+ # Create or reuse an existing Microsoft Entra application for bot.
30
+ - uses: aadApp/create
31
+ with:
32
+ # The Microsoft Entra application's display name
33
+ name: {{appName}}$\{{APP_NAME_SUFFIX}}
34
+ generateClientSecret: true
35
+ generateServicePrincipal: true
36
+ signInAudience: AzureADMultipleOrgs
37
+ writeToEnvironmentFile:
38
+ # The Microsoft Entra application's client id created for bot.
39
+ clientId: BOT_ID
40
+ # The Microsoft Entra application's client secret created for bot.
41
+ clientSecret: SECRET_BOT_PASSWORD
42
+ # The Microsoft Entra application's object id created for bot.
43
+ objectId: BOT_OBJECT_ID
44
+
45
+ # Create or update the bot registration on dev.botframework.com
46
+ - uses: botFramework/create
47
+ with:
48
+ botId: $\{{BOT_ID}}
49
+ name: {{appName}}
50
+ messagingEndpoint: $\{{BOT_ENDPOINT}}/api/messages
51
+ description: ""
52
+ channels:
53
+ - name: msteams
54
+ {{/hasAzureBot}}
55
+
56
+ # Validate using manifest schema
57
+ - uses: teamsApp/validateManifest
58
+ with:
59
+ # Path to manifest template
60
+ manifestPath: ./appPackage/manifest.json
61
+
62
+ # Build app package with latest env value
63
+ - uses: teamsApp/zipAppPackage
64
+ with:
65
+ # Path to manifest template
66
+ manifestPath: ./appPackage/manifest.json
67
+ outputZipPath: ./appPackage/build/appPackage.$\{{TEAMSFX_ENV}}.zip
68
+ outputFolder: ./appPackage/build
69
+
70
+ # Validate app package using validation rules
71
+ - uses: teamsApp/validateAppPackage
72
+ with:
73
+ # Relative path to this file. This is the path for built zip file.
74
+ appPackagePath: ./appPackage/build/appPackage.$\{{TEAMSFX_ENV}}.zip
75
+
76
+ # Apply the app manifest to an existing app in Developer Portal.
77
+ # Will use the app id in manifest file to determine which app to update.
78
+ - uses: teamsApp/update
79
+ with:
80
+ # Relative path to this file. This is the path for built zip file.
81
+ appPackagePath: ./appPackage/build/appPackage.$\{{TEAMSFX_ENV}}.zip
82
+
83
+ {{#hasCopilot}}
84
+ - uses: teamsApp/extendToM365
85
+ with:
86
+ # Relative path to the build app package.
87
+ appPackagePath: ./appPackage/build/appPackage.$\{{TEAMSFX_ENV}}.zip
88
+ # Write the information of created resources into environment file for
89
+ # the specified environment variable(s).
90
+ writeToEnvironmentFile:
91
+ titleId: M365_TITLE_ID
92
+ appId: M365_APP_ID
93
+ {{/hasCopilot}}
94
+
95
+ deploy:
96
+ {{#hasTab}}
97
+ # Install development tool(s)
98
+ - uses: devTool/install
99
+ with:
100
+ devCert:
101
+ trust: true
102
+ # Write the information of installed development tool(s) into environment
103
+ # file for the specified environment variable(s).
104
+ writeToEnvironmentFile:
105
+ sslCertFile: SSL_CRT_FILE
106
+ sslKeyFile: SSL_KEY_FILE
107
+
108
+ {{/hasTab}}
109
+ # Run npm command
110
+ - uses: cli/runNpmCommand
111
+ name: install dependencies
112
+ with:
113
+ args: install
114
+
115
+ # Generate runtime environment variables
116
+ - uses: file/createOrUpdateEnvironmentFile
117
+ with:
118
+ target: ./.localConfigs
119
+ envs:
120
+ PORT: 3978
121
+ {{#hasAzureBot}}
122
+ CLIENT_ID: $\{{BOT_ID}}
123
+ CLIENT_SECRET: $\{{SECRET_BOT_PASSWORD}}
124
+ TENANT_ID: $\{{TEAMS_APP_TENANT_ID}}
125
+ {{/hasAzureBot}}
126
+ {{#hasTab}}
127
+ SSL_CRT_FILE: $\{{SSL_CRT_FILE}}
128
+ SSL_KEY_FILE: $\{{SSL_KEY_FILE}}
129
+ {{/hasTab}}
@@ -0,0 +1,8 @@
1
+ {
2
+ "devDependencies": {
3
+ "env-cmd": "^11.0.0"
4
+ },
5
+ "scripts": {
6
+ "dev:teamsfx": "env-cmd --silent -f .localConfigs npm run dev"
7
+ }
8
+ }
@@ -0,0 +1,46 @@
1
+ {
2
+ "version": "0.2.0",
3
+ "configurations": [
4
+ {
5
+ "name": "Start Python",
6
+ "type": "debugpy",
7
+ "request": "launch",
8
+ "program": "${workspaceFolder}/src/app.py",
9
+ "cwd": "${workspaceFolder}/src",
10
+ "console": "integratedTerminal"
11
+ },
12
+ {
13
+ "name": "Start Microsoft 365 Agents Playground",
14
+ "type": "node",
15
+ "request": "launch",
16
+ "program": "${workspaceFolder}/devTools/playground/node_modules/@microsoft/m365agentsplayground/cli.js",
17
+ "args": [
18
+ "start"
19
+ ],
20
+ "env": {
21
+ "PATH": "${workspaceFolder}/devTools/nodejs;${env:PATH}"
22
+ },
23
+ "cwd": "${workspaceFolder}",
24
+ "console": "integratedTerminal",
25
+ "internalConsoleOptions": "neverOpen"
26
+ }
27
+ ],
28
+ "compounds": [
29
+ {
30
+ "name": "Debug in Microsoft 365 Agents Playground",
31
+ "configurations": [
32
+ "Start Python",
33
+ "Start Microsoft 365 Agents Playground"
34
+ ],
35
+ "cascadeTerminateToConfigurations": [
36
+ "Start Microsoft 365 Agents Playground"
37
+ ],
38
+ "preLaunchTask": "Deploy (Microsoft 365 Agents Playground)",
39
+ "presentation": {
40
+ "group": "1-playground",
41
+ "order": 1
42
+ },
43
+ "stopAll": true
44
+ }
45
+ ]
46
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "version": "2.0.0",
3
+ "tasks": [
4
+ {
5
+ // Check all required prerequisites.
6
+ // See https://aka.ms/teamsfx-tasks/check-prerequisites to know the details and how to customize the args.
7
+ "label": "Validate prerequisites (Microsoft 365 Agents Playground)",
8
+ "type": "teamsfx",
9
+ "command": "debug-check-prerequisites",
10
+ "args": {
11
+ "prerequisites": [
12
+ "nodejs", // Check if Node.js is installed and the version is >= 12.
13
+ "portOccupancy" // Validate available ports to ensure those debug ones are not occupied.
14
+ ],
15
+ "portOccupancy": [
16
+ 3978, // app service port
17
+ 56150, // Microsoft 365 Agents Playground port
18
+ ]
19
+ }
20
+ },
21
+ {
22
+ // Build project.
23
+ // See https://aka.ms/teamsfx-tasks/deploy to know the details and how to customize the args.
24
+ "label": "Deploy (Microsoft 365 Agents Playground)",
25
+ "dependsOn": [
26
+ "Validate prerequisites (Microsoft 365 Agents Playground)"
27
+ ],
28
+ "type": "teamsfx",
29
+ "command": "deploy",
30
+ "args": {
31
+ "env": "playground"
32
+ }
33
+ },
34
+ ]
35
+ }
@@ -0,0 +1,7 @@
1
+ # This file includes environment variables that can be committed to git. It's gitignored by default because it represents your local development environment.
2
+
3
+ # Built-in environment variables
4
+ TEAMSFX_ENV=playground
5
+
6
+ # Environment variables used by Microsoft 365 Agents Playground
7
+ TEAMSAPPTESTER_PORT=56150
@@ -0,0 +1,14 @@
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
+ deploy:
7
+ # Install development tool(s)
8
+ - uses: devTool/install
9
+ with:
10
+ testTool:
11
+ version: ~0.2.7
12
+ symlinkDir: ./devTools/playground
13
+ nodejs:
14
+ symlinkDir: ./devTools/nodejs
@@ -0,0 +1,4 @@
1
+ .localConfigs.playground
2
+
3
+ # Dev tool directories
4
+ /devTools/
@@ -0,0 +1,31 @@
1
+ {
2
+ "version": "0.2.0",
3
+ "configurations": [
4
+ {
5
+ "name": "Attach to Local Service",
6
+ "type": "node",
7
+ "request": "attach",
8
+ "port": 9239,
9
+ "restart": true,
10
+ "presentation": {
11
+ "group": "all",
12
+ "hidden": true
13
+ },
14
+ "internalConsoleOptions": "neverOpen"
15
+ }
16
+ ],
17
+ "compounds": [
18
+ {
19
+ "name": "Debug in Microsoft 365 Agents Playground",
20
+ "configurations": [
21
+ "Attach to Local Service"
22
+ ],
23
+ "preLaunchTask": "Start App in Microsoft 365 Agents Playground",
24
+ "presentation": {
25
+ "group": "1-playground",
26
+ "order": 1
27
+ },
28
+ "stopAll": true
29
+ }
30
+ ]
31
+ }
@@ -0,0 +1,104 @@
1
+ {
2
+ "version": "2.0.0",
3
+ "tasks": [
4
+ {
5
+ "label": "Start App in Microsoft 365 Agents Playground",
6
+ "dependsOn": [
7
+ "Validate prerequisites (Microsoft 365 Agents Playground)",
8
+ "Deploy (Microsoft 365 Agents Playground)",
9
+ "Start application (Microsoft 365 Agents Playground)",
10
+ "Start Microsoft 365 Agents Playground"
11
+ ],
12
+ "dependsOrder": "sequence"
13
+ },
14
+ {
15
+ // Check all required prerequisites.
16
+ // See https://aka.ms/teamsfx-tasks/check-prerequisites to know the details and how to customize the args.
17
+ "label": "Validate prerequisites (Microsoft 365 Agents Playground)",
18
+ "type": "teamsfx",
19
+ "command": "debug-check-prerequisites",
20
+ "args": {
21
+ "prerequisites": [
22
+ "nodejs", // Validate if Node.js is installed.
23
+ "portOccupancy" // Validate available ports to ensure those debug ones are not occupied.
24
+ ],
25
+ "portOccupancy": [
26
+ 3978, // app service port
27
+ 9239, // app inspector port for Node.js debugger
28
+ 56150 // Microsoft 365 Agents Playground port
29
+ ]
30
+ }
31
+ },
32
+ {
33
+ // Build project.
34
+ // See https://aka.ms/teamsfx-tasks/deploy to know the details and how to customize the args.
35
+ "label": "Deploy (Microsoft 365 Agents Playground)",
36
+ "type": "teamsfx",
37
+ "command": "deploy",
38
+ "args": {
39
+ "env": "playground"
40
+ }
41
+ },
42
+ {
43
+ "label": "Start application (Microsoft 365 Agents Playground)",
44
+ "type": "shell",
45
+ "command": "npm run dev:teamsfx:playground",
46
+ "isBackground": true,
47
+ "options": {
48
+ "cwd": "${workspaceFolder}"
49
+ },
50
+ "problemMatcher": {
51
+ "pattern": [
52
+ {
53
+ "regexp": "^.*$",
54
+ "file": 0,
55
+ "location": 1,
56
+ "message": 2
57
+ }
58
+ ],
59
+ "background": {
60
+ "activeOnStart": true,
61
+ "beginsPattern": "[nodemon] starting",
62
+ "endsPattern": "listening on port 3978|Bot/ME service listening at|[nodemon] app crashed"
63
+ }
64
+ }
65
+ },
66
+ {
67
+ "label": "Start Microsoft 365 Agents Playground",
68
+ "type": "shell",
69
+ "command": "npm run dev:teamsfx:launch-playground",
70
+ "isBackground": true,
71
+ "options": {
72
+ "env": {
73
+ "PATH": "${workspaceFolder}/devTools/playground/node_modules/.bin;${env:PATH}"
74
+ }
75
+ },
76
+ "windows": {
77
+ "options": {
78
+ "env": {
79
+ "PATH": "${workspaceFolder}/devTools/playground/node_modules/.bin;${env:PATH}"
80
+ }
81
+ }
82
+ },
83
+ "problemMatcher": {
84
+ "pattern": [
85
+ {
86
+ "regexp": "^.*$",
87
+ "file": 0,
88
+ "location": 1,
89
+ "message": 2
90
+ }
91
+ ],
92
+ "background": {
93
+ "activeOnStart": true,
94
+ "beginsPattern": ".*",
95
+ "endsPattern": "Listening on"
96
+ }
97
+ },
98
+ "presentation": {
99
+ "panel": "dedicated",
100
+ "reveal": "silent"
101
+ }
102
+ }
103
+ ]
104
+ }
@@ -0,0 +1,7 @@
1
+ # This file includes environment variables that can be committed to git. It's gitignored by default because it represents your local development environment.
2
+
3
+ # Built-in environment variables
4
+ TEAMSFX_ENV=playground
5
+
6
+ # Environment variables used by Microsoft 365 Agents Playground
7
+ TEAMSAPPTESTER_PORT=56150
@@ -0,0 +1,23 @@
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
+ deploy:
7
+ # Install development tool(s)
8
+ - uses: devTool/install
9
+ with:
10
+ testTool:
11
+ version: ~0.2.7
12
+ symlinkDir: ./devTools/playground
13
+
14
+ # Run npm command
15
+ - uses: cli/runNpmCommand
16
+ with:
17
+ args: install
18
+
19
+ - uses: file/createOrUpdateEnvironmentFile
20
+ with:
21
+ target: ./.localConfigs.playground
22
+ envs:
23
+ PORT: 3978
@@ -0,0 +1,9 @@
1
+ {
2
+ "devDependencies": {
3
+ "env-cmd": "^11.0.0"
4
+ },
5
+ "scripts": {
6
+ "dev:teamsfx:playground": "env-cmd --silent -f .localConfigs.playground npm run dev",
7
+ "dev:teamsfx:launch-playground": "env-cmd --silent -f env/.env.playground agentsplayground start"
8
+ }
9
+ }
@@ -0,0 +1,70 @@
1
+ {
2
+ "version": "0.2.0",
3
+ "configurations": [
4
+ {{#supportCopilot}}
5
+ {
6
+ "name": "(Preview) View Remote Agent in Copilot (Edge)",
7
+ "type": "msedge",
8
+ "request": "launch",
9
+ "url": "https://m365.cloud.microsoft/chat/entity1-d870f6cd-4aa5-4d42-9626-ab690c041429/${agent-hint}?auth=2&${account-hint}&developerMode=Basic",
10
+ "presentation": {
11
+ "group": "3-remote",
12
+ "order": 1
13
+ },
14
+ "internalConsoleOptions": "neverOpen",
15
+ "runtimeArgs": [
16
+ "--remote-debugging-port=9222",
17
+ "--no-first-run"
18
+ ]
19
+ },
20
+ {
21
+ "name": "(Preview) View Remote Agent in Copilot (Chrome)",
22
+ "type": "chrome",
23
+ "request": "launch",
24
+ "url": "https://m365.cloud.microsoft/chat/entity1-d870f6cd-4aa5-4d42-9626-ab690c041429/${agent-hint}?auth=2&${account-hint}&developerMode=Basic",
25
+ "presentation": {
26
+ "group": "3-remote",
27
+ "order": 2
28
+ },
29
+ "internalConsoleOptions": "neverOpen",
30
+ "runtimeArgs": [
31
+ "--remote-debugging-port=9223",
32
+ "--no-first-run"
33
+ ]
34
+ },
35
+ {{/supportCopilot}}
36
+ {
37
+ "name": "View Remote App in Teams (Edge)",
38
+ "type": "msedge",
39
+ "request": "launch",
40
+ "url": "https://teams.microsoft.com/l/app/$\{{TEAMS_APP_ID}}?installAppPackage=true&webjoin=true&${account-hint}",
41
+ "presentation": {
42
+ "group": "3-remote",
43
+ "order": 4
44
+ },
45
+ "internalConsoleOptions": "neverOpen"
46
+ },
47
+ {
48
+ "name": "View Remote App in Teams (Chrome)",
49
+ "type": "chrome",
50
+ "request": "launch",
51
+ "url": "https://teams.microsoft.com/l/app/$\{{TEAMS_APP_ID}}?installAppPackage=true&webjoin=true&${account-hint}",
52
+ "presentation": {
53
+ "group": "3-remote",
54
+ "order": 5
55
+ },
56
+ "internalConsoleOptions": "neverOpen"
57
+ },
58
+ {
59
+ "name": "View Remote App in Teams (Desktop)",
60
+ "type": "node",
61
+ "request": "launch",
62
+ "preLaunchTask": "Start App in Desktop Client (Remote)",
63
+ "presentation": {
64
+ "group": "3-remote",
65
+ "order": 6
66
+ },
67
+ "internalConsoleOptions": "neverOpen",
68
+ }
69
+ ]
70
+ }
@@ -0,0 +1,11 @@
1
+ .webappignore
2
+ .venv/
3
+ .vscode/
4
+ .env
5
+ env/
6
+ __pycache__/
7
+ README.md
8
+ m365agents.yml
9
+ m365agents.local.yml
10
+ m365agents.playground.yml
11
+ /devTools/
@@ -0,0 +1,11 @@
1
+ TEAMSFX_ENV=dev
2
+ APP_NAME_SUFFIX=dev
3
+
4
+ # Updating AZURE_SUBSCRIPTION_ID or AZURE_RESOURCE_GROUP_NAME after provision may also require an update to RESOURCE_SUFFIX, because some services require a globally unique name across subscriptions/resource groups.
5
+ AZURE_SUBSCRIPTION_ID=
6
+ AZURE_RESOURCE_GROUP_NAME=
7
+ RESOURCE_SUFFIX=
8
+
9
+ TEAMS_APP_ID=
10
+ BOT_ENDPOINT=
11
+ BOT_DOMAIN=
@@ -0,0 +1,108 @@
1
+ @maxLength(20)
2
+ @minLength(4)
3
+ @description('Used to generate names for all resources in this file')
4
+ param resourceBaseName string
5
+
6
+ param webAppSku string
7
+ param linuxFxVersion string
8
+
9
+ param serverfarmsName string = resourceBaseName
10
+ param webAppName string = resourceBaseName
11
+ param location string = resourceGroup().location
12
+ param pythonVersion string = linuxFxVersion
13
+ {{#hasAzureBot}}
14
+ @maxLength(42)
15
+ param botDisplayName string
16
+ {{/hasAzureBot}}
17
+
18
+ {{#hasAzureBot}}
19
+ resource identity 'Microsoft.ManagedIdentity/userAssignedIdentities@2023-01-31' = {
20
+ location: location
21
+ name: resourceBaseName
22
+ }
23
+ {{/hasAzureBot}}
24
+
25
+
26
+ resource serverfarm 'Microsoft.Web/serverfarms@2021-02-01' = {
27
+ kind: 'app,linux'
28
+ location: location
29
+ name: serverfarmsName
30
+ sku: {
31
+ name: webAppSku
32
+ }
33
+ properties:{
34
+ reserved: true
35
+ }
36
+ }
37
+
38
+ resource webApp 'Microsoft.Web/sites@2021-02-01' = {
39
+ kind: 'app,linux'
40
+ location: location
41
+ name: webAppName
42
+ properties: {
43
+ serverFarmId: serverfarm.id
44
+ httpsOnly: true
45
+ siteConfig: {
46
+ alwaysOn: true
47
+ appCommandLine: 'python app.py'
48
+ linuxFxVersion: linuxFxVersion
49
+ appSettings: [
50
+ {
51
+ name: 'WEBSITES_CONTAINER_START_TIME_LIMIT'
52
+ value: '900'
53
+ }
54
+ {
55
+ name: 'SCM_DO_BUILD_DURING_DEPLOYMENT'
56
+ value: 'true'
57
+ }
58
+ {{#hasAzureBot}}
59
+ {
60
+ name: 'CLIENT_ID'
61
+ value: identity.properties.clientId
62
+ }
63
+ {
64
+ name: 'TENANT_ID'
65
+ value: identity.properties.tenantId
66
+ }
67
+ {
68
+ name: 'BOT_TYPE'
69
+ value: 'UserAssignedMsi'
70
+ }
71
+ {{/hasAzureBot}}
72
+ ]
73
+ ftpsState: 'FtpsOnly'
74
+ }
75
+ }
76
+ {{#hasAzureBot}}
77
+ identity: {
78
+ type: 'UserAssigned'
79
+ userAssignedIdentities: {
80
+ '${identity.id}': {}
81
+ }
82
+ }
83
+ {{/hasAzureBot}}
84
+ }
85
+
86
+ {{#hasAzureBot}}
87
+ // Register your web service as a bot with the Bot Framework
88
+ module azureBotRegistration './botRegistration/azurebot.bicep' = {
89
+ name: 'Azure-Bot-registration'
90
+ params: {
91
+ resourceBaseName: resourceBaseName
92
+ botDisplayName: botDisplayName
93
+ identityResourceId: identity.id
94
+ identityClientId: identity.properties.clientId
95
+ identityTenantId: identity.properties.tenantId
96
+ botAppDomain: webApp.properties.defaultHostName
97
+ }
98
+ }
99
+ {{/hasAzureBot}}
100
+
101
+ // The output will be persisted in .env.{envName}. Visit https://aka.ms/teamsfx-actions/arm-deploy for more details.
102
+ output AZURE_APP_SERVICE_RESOURCE_ID string = webApp.id // used in deploy stage
103
+ output BOT_DOMAIN string = webApp.properties.defaultHostName
104
+ output BOT_ENDPOINT string = 'https://${webApp.properties.defaultHostName}'
105
+ {{#hasAzureBot}}
106
+ output BOT_ID string = identity.properties.clientId
107
+ output BOT_TENANT_ID string = identity.properties.tenantId
108
+ {{/hasAzureBot}}
@@ -0,0 +1,20 @@
1
+ {
2
+ "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
3
+ "contentVersion": "1.0.0.0",
4
+ "parameters": {
5
+ {{#hasAzureBot}}
6
+ "botDisplayName": {
7
+ "value": "{{appName}}"
8
+ },
9
+ {{/hasAzureBot}}
10
+ "resourceBaseName": {
11
+ "value": "app$\{{RESOURCE_SUFFIX}}"
12
+ },
13
+ "webAppSku": {
14
+ "value": "B3"
15
+ },
16
+ "linuxFxVersion": {
17
+ "value": "PYTHON|3.12"
18
+ }
19
+ }
20
+ }