@microsoft/teamsfx-core 1.10.0 → 1.10.1-alpha.dbef2ba70.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 (186) hide show
  1. package/build/common/deps-checker/depsError.d.ts +1 -1
  2. package/build/common/deps-checker/depsError.d.ts.map +1 -1
  3. package/build/common/deps-checker/depsError.js +2 -2
  4. package/build/common/deps-checker/depsError.js.map +1 -1
  5. package/build/common/deps-checker/internal/dotnetChecker.d.ts.map +1 -1
  6. package/build/common/deps-checker/internal/dotnetChecker.js +1 -1
  7. package/build/common/deps-checker/internal/dotnetChecker.js.map +1 -1
  8. package/build/common/deps-checker/internal/funcToolChecker.d.ts.map +1 -1
  9. package/build/common/deps-checker/internal/funcToolChecker.js +1 -1
  10. package/build/common/deps-checker/internal/funcToolChecker.js.map +1 -1
  11. package/build/common/projectSettingsHelper.d.ts +1 -2
  12. package/build/common/projectSettingsHelper.d.ts.map +1 -1
  13. package/build/common/projectSettingsHelper.js +1 -19
  14. package/build/common/projectSettingsHelper.js.map +1 -1
  15. package/build/common/projectSettingsHelperV3.d.ts +10 -0
  16. package/build/common/projectSettingsHelperV3.d.ts.map +1 -0
  17. package/build/common/projectSettingsHelperV3.js +64 -0
  18. package/build/common/projectSettingsHelperV3.js.map +1 -0
  19. package/build/common/templates-config.json +2 -2
  20. package/build/component/code/apiCode.d.ts +1 -0
  21. package/build/component/code/apiCode.d.ts.map +1 -0
  22. package/build/component/code/apiCode.js +2 -0
  23. package/build/component/code/apiCode.js.map +1 -0
  24. package/build/component/{botCode.d.ts → code/botCode.d.ts} +0 -1
  25. package/build/component/code/botCode.d.ts.map +1 -0
  26. package/build/component/{botCode.js → code/botCode.js} +9 -16
  27. package/build/component/code/botCode.js.map +1 -0
  28. package/build/component/code/tabCode.d.ts +1 -0
  29. package/build/component/code/tabCode.d.ts.map +1 -0
  30. package/build/component/code/tabCode.js +2 -0
  31. package/build/component/code/tabCode.js.map +1 -0
  32. package/build/component/connection/aadConfig.d.ts +1 -0
  33. package/build/component/connection/aadConfig.d.ts.map +1 -0
  34. package/build/component/connection/aadConfig.js +2 -0
  35. package/build/component/connection/aadConfig.js.map +1 -0
  36. package/build/component/connection/azureFunctionConfig.d.ts +1 -0
  37. package/build/component/connection/azureFunctionConfig.d.ts.map +1 -0
  38. package/build/component/connection/azureFunctionConfig.js +2 -0
  39. package/build/component/connection/azureFunctionConfig.js.map +1 -0
  40. package/build/component/{connection.d.ts → connection/azureWebAppConfig.d.ts} +1 -1
  41. package/build/component/connection/azureWebAppConfig.d.ts.map +1 -0
  42. package/build/component/{connection.js → connection/azureWebAppConfig.js} +4 -4
  43. package/build/component/connection/azureWebAppConfig.js.map +1 -0
  44. package/build/component/constants.d.ts +19 -0
  45. package/build/component/constants.d.ts.map +1 -0
  46. package/build/component/constants.js +24 -0
  47. package/build/component/constants.js.map +1 -0
  48. package/build/component/core.d.ts +2 -34
  49. package/build/component/core.d.ts.map +1 -1
  50. package/build/component/core.js +12 -344
  51. package/build/component/core.js.map +1 -1
  52. package/build/component/debug.d.ts +10 -0
  53. package/build/component/debug.d.ts.map +1 -0
  54. package/build/component/debug.js +327 -0
  55. package/build/component/debug.js.map +1 -0
  56. package/build/component/feature/bot.d.ts +34 -0
  57. package/build/component/feature/bot.d.ts.map +1 -0
  58. package/build/component/feature/bot.js +179 -0
  59. package/build/component/feature/bot.js.map +1 -0
  60. package/build/component/feature/sql.d.ts +15 -0
  61. package/build/component/feature/sql.d.ts.map +1 -0
  62. package/build/component/feature/sql.js +135 -0
  63. package/build/component/feature/sql.js.map +1 -0
  64. package/build/component/feature/tab.d.ts +7 -0
  65. package/build/component/feature/tab.d.ts.map +1 -0
  66. package/build/component/feature/tab.js +78 -0
  67. package/build/component/feature/tab.js.map +1 -0
  68. package/build/component/resource/{teamsManifest.d.ts → appManifest/appManifest.d.ts} +4 -3
  69. package/build/component/resource/appManifest/appManifest.d.ts.map +1 -0
  70. package/build/component/resource/appManifest/appManifest.js +268 -0
  71. package/build/component/resource/appManifest/appManifest.js.map +1 -0
  72. package/build/component/resource/appManifest/appStudio.d.ts +18 -0
  73. package/build/component/resource/appManifest/appStudio.d.ts.map +1 -0
  74. package/build/component/resource/appManifest/appStudio.js +199 -0
  75. package/build/component/resource/appManifest/appStudio.js.map +1 -0
  76. package/build/component/resource/appManifest/constants.d.ts +16 -0
  77. package/build/component/resource/appManifest/constants.d.ts.map +1 -0
  78. package/build/component/resource/appManifest/constants.js +186 -0
  79. package/build/component/resource/appManifest/constants.js.map +1 -0
  80. package/build/component/resource/appManifest/utils.d.ts +5 -0
  81. package/build/component/resource/appManifest/utils.d.ts.map +1 -0
  82. package/build/component/resource/appManifest/utils.js +23 -0
  83. package/build/component/resource/appManifest/utils.js.map +1 -0
  84. package/build/component/resource/botService.d.ts +1 -6
  85. package/build/component/resource/botService.d.ts.map +1 -1
  86. package/build/component/resource/botService.js +147 -142
  87. package/build/component/resource/botService.js.map +1 -1
  88. package/build/component/resource/index.d.ts +1 -13
  89. package/build/component/resource/index.d.ts.map +1 -1
  90. package/build/component/resource/index.js +3 -14
  91. package/build/component/resource/index.js.map +1 -1
  92. package/build/component/workflow.d.ts.map +1 -1
  93. package/build/component/workflow.js.map +1 -1
  94. package/build/core/downloadSample.js +1 -1
  95. package/build/core/downloadSample.js.map +1 -1
  96. package/build/plugins/resource/appstudio/appStudio.d.ts +1 -0
  97. package/build/plugins/resource/appstudio/appStudio.d.ts.map +1 -1
  98. package/build/plugins/resource/appstudio/appStudio.js +11 -3
  99. package/build/plugins/resource/appstudio/appStudio.js.map +1 -1
  100. package/build/plugins/resource/appstudio/interfaces/IAppDefinition.d.ts +5 -2
  101. package/build/plugins/resource/appstudio/interfaces/IAppDefinition.d.ts.map +1 -1
  102. package/build/plugins/resource/appstudio/plugin.d.ts.map +1 -1
  103. package/build/plugins/resource/appstudio/plugin.js +1 -0
  104. package/build/plugins/resource/appstudio/plugin.js.map +1 -1
  105. package/build/plugins/resource/appstudio/utils/telemetry.d.ts +3 -3
  106. package/build/plugins/resource/appstudio/utils/telemetry.d.ts.map +1 -1
  107. package/build/plugins/resource/appstudio/utils/telemetry.js +16 -3
  108. package/build/plugins/resource/appstudio/utils/telemetry.js.map +1 -1
  109. package/build/plugins/resource/appstudio/utils/utils.d.ts.map +1 -1
  110. package/build/plugins/resource/appstudio/utils/utils.js +3 -0
  111. package/build/plugins/resource/appstudio/utils/utils.js.map +1 -1
  112. package/build/plugins/resource/appstudio/v3/index.d.ts +0 -1
  113. package/build/plugins/resource/appstudio/v3/index.d.ts.map +1 -1
  114. package/build/plugins/resource/appstudio/v3/index.js +4 -5
  115. package/build/plugins/resource/appstudio/v3/index.js.map +1 -1
  116. package/build/plugins/resource/bot/plugin.js +2 -4
  117. package/build/plugins/resource/bot/plugin.js.map +1 -1
  118. package/build/plugins/resource/bot/utils/telemetry-helper.d.ts.map +1 -1
  119. package/build/plugins/resource/bot/utils/telemetry-helper.js +3 -1
  120. package/build/plugins/resource/bot/utils/telemetry-helper.js.map +1 -1
  121. package/build/plugins/resource/frontend/utils/telemetry-helper.d.ts.map +1 -1
  122. package/build/plugins/resource/frontend/utils/telemetry-helper.js +3 -1
  123. package/build/plugins/resource/frontend/utils/telemetry-helper.js.map +1 -1
  124. package/build/plugins/resource/function/utils/telemetry-helper.d.ts.map +1 -1
  125. package/build/plugins/resource/function/utils/telemetry-helper.js +3 -1
  126. package/build/plugins/resource/function/utils/telemetry-helper.js.map +1 -1
  127. package/build/plugins/solution/fx-solution/solution.d.ts.map +1 -1
  128. package/build/plugins/solution/fx-solution/solution.js +1 -1
  129. package/build/plugins/solution/fx-solution/solution.js.map +1 -1
  130. package/build/plugins/solution/fx-solution/v2/provisionLocal.d.ts.map +1 -1
  131. package/build/plugins/solution/fx-solution/v2/provisionLocal.js +1 -1
  132. package/build/plugins/solution/fx-solution/v2/provisionLocal.js.map +1 -1
  133. package/build/plugins/solution/fx-solution/v2/utils.d.ts +1 -1
  134. package/build/plugins/solution/fx-solution/v2/utils.d.ts.map +1 -1
  135. package/build/plugins/solution/fx-solution/v2/utils.js +10 -2
  136. package/build/plugins/solution/fx-solution/v2/utils.js.map +1 -1
  137. package/build/plugins/solution/fx-solution/v3/publish.d.ts.map +1 -1
  138. package/build/plugins/solution/fx-solution/v3/publish.js +1 -4
  139. package/build/plugins/solution/fx-solution/v3/publish.js.map +1 -1
  140. package/package.json +4 -4
  141. package/resource/package.nls.json +2 -2
  142. package/templates/fallback/blazor-base.csharp.default.zip +0 -0
  143. package/templates/fallback/bot.csharp.command-and-response.zip +0 -0
  144. package/templates/fallback/bot.csharp.default.zip +0 -0
  145. package/templates/fallback/bot.csharp.notification-webapi.zip +0 -0
  146. package/templates/fallback/bot.js.command-and-response.zip +0 -0
  147. package/templates/fallback/bot.js.default.zip +0 -0
  148. package/templates/fallback/bot.js.m365.zip +0 -0
  149. package/templates/fallback/bot.js.notification-function-base.zip +0 -0
  150. package/templates/fallback/bot.js.notification-restify.zip +0 -0
  151. package/templates/fallback/bot.js.notification-trigger-http.zip +0 -0
  152. package/templates/fallback/bot.js.notification-trigger-timer.zip +0 -0
  153. package/templates/fallback/bot.ts.command-and-response.zip +0 -0
  154. package/templates/fallback/bot.ts.default.zip +0 -0
  155. package/templates/fallback/bot.ts.m365.zip +0 -0
  156. package/templates/fallback/bot.ts.notification-function-base.zip +0 -0
  157. package/templates/fallback/bot.ts.notification-restify.zip +0 -0
  158. package/templates/fallback/bot.ts.notification-trigger-http.zip +0 -0
  159. package/templates/fallback/bot.ts.notification-trigger-timer.zip +0 -0
  160. package/templates/fallback/bot.ts.notification.zip +0 -0
  161. package/templates/fallback/function-base.js.default.zip +0 -0
  162. package/templates/fallback/function-base.ts.default.zip +0 -0
  163. package/templates/fallback/function-triggers.js.HTTPTrigger.zip +0 -0
  164. package/templates/fallback/function-triggers.ts.HTTPTrigger.zip +0 -0
  165. package/templates/fallback/tab.csharp.default.zip +0 -0
  166. package/templates/fallback/tab.js.default.zip +0 -0
  167. package/templates/fallback/tab.js.m365.zip +0 -0
  168. package/templates/fallback/tab.js.non-sso.zip +0 -0
  169. package/templates/fallback/tab.ts.default.zip +0 -0
  170. package/templates/fallback/tab.ts.m365.zip +0 -0
  171. package/templates/fallback/tab.ts.non-sso.zip +0 -0
  172. package/build/component/botCode.d.ts.map +0 -1
  173. package/build/component/botCode.js.map +0 -1
  174. package/build/component/connection.d.ts.map +0 -1
  175. package/build/component/connection.js.map +0 -1
  176. package/build/component/debugManager.d.ts +0 -8
  177. package/build/component/debugManager.d.ts.map +0 -1
  178. package/build/component/debugManager.js +0 -57
  179. package/build/component/debugManager.js.map +0 -1
  180. package/build/component/resource/teamsManifest.d.ts.map +0 -1
  181. package/build/component/resource/teamsManifest.js +0 -135
  182. package/build/component/resource/teamsManifest.js.map +0 -1
  183. package/build/plugins/resource/appstudio/v3/plugin.d.ts +0 -21
  184. package/build/plugins/resource/appstudio/v3/plugin.d.ts.map +0 -1
  185. package/build/plugins/resource/appstudio/v3/plugin.js +0 -198
  186. package/build/plugins/resource/appstudio/v3/plugin.js.map +0 -1
@@ -0,0 +1,327 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT license.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.configLocalEnvironment = exports.setupLocalEnvironment = exports.DebugComponent = void 0;
6
+ const tslib_1 = require("tslib");
7
+ const teamsfx_api_1 = require("@microsoft/teamsfx-api");
8
+ require("reflect-metadata");
9
+ const typedi_1 = require("typedi");
10
+ const constants_1 = require("../common/local/constants");
11
+ const localCertificateManager_1 = require("../common/local/localCertificateManager");
12
+ const localEnvProvider_1 = require("../common/local/localEnvProvider");
13
+ const projectSettingsHelper_1 = require("../common/local/projectSettingsHelper");
14
+ const projectSettingsHelperV3_1 = require("../common/projectSettingsHelperV3");
15
+ const tools_1 = require("../common/tools");
16
+ const error_1 = require("../plugins/solution/fx-solution/debug/error");
17
+ const codespace_1 = require("../plugins/solution/fx-solution/debug/util/codespace");
18
+ const localService_1 = require("../plugins/solution/fx-solution/debug/util/localService");
19
+ const ngrok_1 = require("../plugins/solution/fx-solution/debug/util/ngrok");
20
+ const telemetry_1 = require("../plugins/solution/fx-solution/debug/util/telemetry");
21
+ const constants_2 = require("./constants");
22
+ let DebugComponent = class DebugComponent {
23
+ constructor() {
24
+ this.name = "debug";
25
+ }
26
+ setup(context, inputs) {
27
+ const action = {
28
+ name: "debug.setup",
29
+ type: "function",
30
+ plan: async (context, inputs) => {
31
+ return teamsfx_api_1.ok([]);
32
+ },
33
+ execute: async (context, inputs) => {
34
+ const ctx = context;
35
+ const localEnvSetupResult = await setupLocalEnvironment(ctx, inputs, ctx.envInfo);
36
+ if (localEnvSetupResult.isErr()) {
37
+ return teamsfx_api_1.err(localEnvSetupResult.error);
38
+ }
39
+ return teamsfx_api_1.ok([]);
40
+ },
41
+ };
42
+ return teamsfx_api_1.ok(action);
43
+ }
44
+ config(context, inputs) {
45
+ const action = {
46
+ type: "function",
47
+ name: "debug.config",
48
+ plan: (context, inputs) => {
49
+ return teamsfx_api_1.ok([]);
50
+ },
51
+ execute: async (context, inputs) => {
52
+ const ctx = context;
53
+ const localConfigResult = await configLocalEnvironment(ctx, inputs, ctx.envInfo);
54
+ if (localConfigResult.isErr()) {
55
+ return teamsfx_api_1.err(localConfigResult.error);
56
+ }
57
+ return teamsfx_api_1.ok([]);
58
+ },
59
+ };
60
+ return teamsfx_api_1.ok(action);
61
+ }
62
+ };
63
+ DebugComponent = tslib_1.__decorate([
64
+ typedi_1.Service("debug")
65
+ ], DebugComponent);
66
+ exports.DebugComponent = DebugComponent;
67
+ async function setupLocalEnvironment(ctx, inputs, envInfo) {
68
+ var _a, _b, _c, _d;
69
+ var _e, _f, _g, _h;
70
+ const vscEnv = inputs.vscodeEnv;
71
+ const includeTab = projectSettingsHelperV3_1.hasTab(ctx.projectSetting);
72
+ const includeBackend = projectSettingsHelperV3_1.hasFunction(ctx.projectSetting);
73
+ const includeBot = projectSettingsHelperV3_1.hasBot(ctx.projectSetting);
74
+ const includeAAD = projectSettingsHelperV3_1.hasAAD(ctx.projectSetting);
75
+ const includeSimpleAuth = projectSettingsHelperV3_1.hasSimpleAuth(ctx.projectSetting);
76
+ const skipNgrok = (_a = inputs.checkerInfo) === null || _a === void 0 ? void 0 : _a.skipNgrok;
77
+ const includeFuncHostedBot = projectSettingsHelperV3_1.hasFunctionBot(ctx.projectSetting);
78
+ const botCapabilities = projectSettingsHelper_1.ProjectSettingsHelper.getBotCapabilities(ctx.projectSetting);
79
+ const telemetryProperties = {
80
+ platform: inputs.platform,
81
+ vscenv: vscEnv,
82
+ frontend: includeTab ? "true" : "false",
83
+ function: includeBackend ? "true" : "false",
84
+ bot: includeBot ? "true" : "false",
85
+ auth: includeAAD && includeSimpleAuth ? "true" : "false",
86
+ "skip-ngrok": skipNgrok ? "true" : "false",
87
+ "bot-host-type": includeFuncHostedBot ? constants_1.BotHostTypes.AzureFunctions : constants_1.BotHostTypes.AppService,
88
+ "bot-capabilities": JSON.stringify(botCapabilities),
89
+ };
90
+ telemetry_1.TelemetryUtils.init(ctx.telemetryReporter);
91
+ telemetry_1.TelemetryUtils.sendStartEvent(telemetry_1.TelemetryEventName.setupLocalDebugSettings, telemetryProperties);
92
+ try {
93
+ // setup configs used by other plugins
94
+ // TODO: dynamicly determine local ports
95
+ if (inputs.platform === teamsfx_api_1.Platform.VSCode || inputs.platform === teamsfx_api_1.Platform.CLI) {
96
+ const frontendPort = 53000;
97
+ const authPort = 55000;
98
+ let localTabEndpoint;
99
+ let localTabDomain;
100
+ let localAuthEndpoint;
101
+ let localFuncEndpoint;
102
+ if (vscEnv === teamsfx_api_1.VsCodeEnv.codespaceBrowser || vscEnv === teamsfx_api_1.VsCodeEnv.codespaceVsCode) {
103
+ const codespaceName = await codespace_1.getCodespaceName();
104
+ localTabEndpoint = codespace_1.getCodespaceUrl(codespaceName, frontendPort);
105
+ localTabDomain = new URL(localTabEndpoint).host;
106
+ localAuthEndpoint = codespace_1.getCodespaceUrl(codespaceName, authPort);
107
+ localFuncEndpoint = codespace_1.getCodespaceUrl(codespaceName, 7071);
108
+ }
109
+ else {
110
+ localTabDomain = "localhost";
111
+ localTabEndpoint = `https://localhost:${frontendPort}`;
112
+ localAuthEndpoint = `http://localhost:${authPort}`;
113
+ localFuncEndpoint = "http://localhost:7071";
114
+ }
115
+ if (includeAAD) {
116
+ if (!envInfo.state[constants_2.ComponentNames.SimpleAuth]) {
117
+ envInfo.state[constants_2.ComponentNames.SimpleAuth] = {};
118
+ }
119
+ if (includeSimpleAuth) {
120
+ envInfo.state[constants_2.ComponentNames.SimpleAuth].endpoint = localAuthEndpoint;
121
+ }
122
+ }
123
+ if (includeTab) {
124
+ if (!envInfo.state[constants_2.ComponentNames.TeamsTab]) {
125
+ envInfo.state[constants_2.ComponentNames.TeamsTab] = {};
126
+ }
127
+ envInfo.state[constants_2.ComponentNames.TeamsTab].endpoint = localTabEndpoint;
128
+ envInfo.state[constants_2.ComponentNames.TeamsTab].domain = localTabDomain;
129
+ }
130
+ if (includeBackend) {
131
+ if (!envInfo.state[constants_2.ComponentNames.Function]) {
132
+ envInfo.state[constants_2.ComponentNames.Function] = {};
133
+ }
134
+ envInfo.state[constants_2.ComponentNames.Function].functionEndpoint = localFuncEndpoint;
135
+ }
136
+ if (includeBot) {
137
+ if (!envInfo.state[constants_2.ComponentNames.TeamsBot]) {
138
+ envInfo.state[constants_2.ComponentNames.TeamsBot] = {};
139
+ }
140
+ if (skipNgrok) {
141
+ const localBotEndpoint = (_b = envInfo.config.bot) === null || _b === void 0 ? void 0 : _b.siteEndpoint;
142
+ if (localBotEndpoint === undefined) {
143
+ const error = error_1.LocalBotEndpointNotConfigured();
144
+ telemetry_1.TelemetryUtils.sendErrorEvent(telemetry_1.TelemetryEventName.setupLocalDebugSettings, error);
145
+ return teamsfx_api_1.err(error);
146
+ }
147
+ const botEndpointRegex = /https:\/\/.*(:\d+)?/g;
148
+ if (!botEndpointRegex.test(localBotEndpoint)) {
149
+ const error = error_1.InvalidLocalBotEndpointFormat(localBotEndpoint);
150
+ telemetry_1.TelemetryUtils.sendErrorEvent(telemetry_1.TelemetryEventName.setupLocalDebugSettings, error);
151
+ return teamsfx_api_1.err(error);
152
+ }
153
+ envInfo.state[constants_2.ComponentNames.TeamsBot].siteEndpoint = localBotEndpoint;
154
+ envInfo.state[constants_2.ComponentNames.TeamsBot].validDomain = localBotEndpoint.slice(8);
155
+ }
156
+ else {
157
+ const ngrokHttpUrl = await ngrok_1.getNgrokHttpUrl(3978);
158
+ if (!ngrokHttpUrl) {
159
+ const error = error_1.NgrokTunnelNotConnected();
160
+ telemetry_1.TelemetryUtils.sendErrorEvent(telemetry_1.TelemetryEventName.setupLocalDebugSettings, error);
161
+ return teamsfx_api_1.err(error);
162
+ }
163
+ else {
164
+ envInfo.state[constants_2.ComponentNames.TeamsBot].siteEndpoint = ngrokHttpUrl;
165
+ envInfo.state[constants_2.ComponentNames.TeamsBot].validDomain = ngrokHttpUrl.slice(8);
166
+ }
167
+ }
168
+ }
169
+ }
170
+ else if (inputs.platform === teamsfx_api_1.Platform.VS) {
171
+ if (includeTab) {
172
+ (_c = (_e = envInfo.state)[_f = constants_2.ComponentNames.TeamsTab]) !== null && _c !== void 0 ? _c : (_e[_f] = {});
173
+ envInfo.state[constants_2.ComponentNames.TeamsTab].endpoint = "https://localhost:44302";
174
+ envInfo.state[constants_2.ComponentNames.TeamsTab].domain = "localhost";
175
+ }
176
+ if (includeBot) {
177
+ (_d = (_g = envInfo.state)[_h = constants_2.ComponentNames.TeamsBot]) !== null && _d !== void 0 ? _d : (_g[_h] = {});
178
+ const ngrokHttpUrl = await ngrok_1.getNgrokHttpUrl(5130);
179
+ if (!ngrokHttpUrl) {
180
+ const error = error_1.NgrokTunnelNotConnected();
181
+ telemetry_1.TelemetryUtils.sendErrorEvent(telemetry_1.TelemetryEventName.setupLocalDebugSettings, error);
182
+ return teamsfx_api_1.err(error);
183
+ }
184
+ else {
185
+ envInfo.state[constants_2.ComponentNames.TeamsBot].siteEndpoint = ngrokHttpUrl;
186
+ envInfo.state[constants_2.ComponentNames.TeamsBot].validDomain = ngrokHttpUrl.slice(8);
187
+ }
188
+ }
189
+ }
190
+ }
191
+ catch (error) {
192
+ const systemError = error_1.SetupLocalDebugSettingsError(error);
193
+ telemetry_1.TelemetryUtils.sendErrorEvent(telemetry_1.TelemetryEventName.setupLocalDebugSettings, systemError);
194
+ return teamsfx_api_1.err(systemError);
195
+ }
196
+ telemetry_1.TelemetryUtils.sendSuccessEvent(telemetry_1.TelemetryEventName.setupLocalDebugSettings, telemetryProperties);
197
+ return teamsfx_api_1.ok(undefined);
198
+ }
199
+ exports.setupLocalEnvironment = setupLocalEnvironment;
200
+ async function configLocalEnvironment(ctx, inputs, envInfo) {
201
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
202
+ const includeTab = projectSettingsHelperV3_1.hasTab(ctx.projectSetting);
203
+ const includeBackend = projectSettingsHelperV3_1.hasFunction(ctx.projectSetting);
204
+ const includeBot = projectSettingsHelperV3_1.hasBot(ctx.projectSetting);
205
+ const includeAAD = projectSettingsHelperV3_1.hasAAD(ctx.projectSetting);
206
+ const includeSimpleAuth = projectSettingsHelperV3_1.hasSimpleAuth(ctx.projectSetting);
207
+ const includeFuncHostedBot = projectSettingsHelperV3_1.hasFunctionBot(ctx.projectSetting);
208
+ const botCapabilities = projectSettingsHelper_1.ProjectSettingsHelper.getBotCapabilities(ctx.projectSetting);
209
+ let trustDevCert = (_a = inputs.checkerInfo) === null || _a === void 0 ? void 0 : _a.trustDevCert;
210
+ const telemetryProperties = {
211
+ platform: inputs.platform,
212
+ frontend: includeTab ? "true" : "false",
213
+ function: includeBackend ? "true" : "false",
214
+ bot: includeBot ? "true" : "false",
215
+ auth: includeAAD && includeSimpleAuth ? "true" : "false",
216
+ "bot-host-type": includeFuncHostedBot ? constants_1.BotHostTypes.AzureFunctions : constants_1.BotHostTypes.AppService,
217
+ "bot-capabilities": JSON.stringify(botCapabilities),
218
+ "trust-development-certificate": trustDevCert + "",
219
+ };
220
+ telemetry_1.TelemetryUtils.init(ctx.telemetryReporter);
221
+ telemetry_1.TelemetryUtils.sendStartEvent(telemetry_1.TelemetryEventName.configLocalDebugSettings, telemetryProperties);
222
+ try {
223
+ if (inputs.platform === teamsfx_api_1.Platform.VSCode || inputs.platform === teamsfx_api_1.Platform.CLI) {
224
+ const localEnvProvider = new localEnvProvider_1.LocalEnvProvider(inputs.projectPath);
225
+ const frontendEnvs = includeTab
226
+ ? await localEnvProvider.loadFrontendLocalEnvs(includeBackend, includeAAD)
227
+ : undefined;
228
+ const backendEnvs = includeBackend
229
+ ? await localEnvProvider.loadBackendLocalEnvs()
230
+ : undefined;
231
+ const botEnvs = includeBot ? await localEnvProvider.loadBotLocalEnvs() : undefined;
232
+ // get config for local debug
233
+ const clientId = (_b = envInfo.state[constants_2.ComponentNames.AadApp]) === null || _b === void 0 ? void 0 : _b.clientId;
234
+ const clientSecret = (_c = envInfo.state[constants_2.ComponentNames.AadApp]) === null || _c === void 0 ? void 0 : _c.clientSecret;
235
+ const applicationIdUri = (_d = envInfo.state[constants_2.ComponentNames.AadApp]) === null || _d === void 0 ? void 0 : _d.applicationIdUris;
236
+ const teamsAppTenantId = envInfo.state[constants_2.ComponentNames.AppManifest].tenantId;
237
+ const localTabEndpoint = (_e = envInfo.state[constants_2.ComponentNames.TeamsTab]) === null || _e === void 0 ? void 0 : _e.endpoint;
238
+ const localFuncEndpoint = (_f = envInfo.state[constants_2.ComponentNames.Function]) === null || _f === void 0 ? void 0 : _f.functionEndpoint;
239
+ const localAuthEndpoint = (_g = envInfo.state[constants_2.ComponentNames.SimpleAuth]) === null || _g === void 0 ? void 0 : _g.endpoint;
240
+ const localAuthPackagePath = (_h = envInfo.state[constants_2.ComponentNames.SimpleAuth]) === null || _h === void 0 ? void 0 : _h.simpleAuthFilePath;
241
+ if (includeTab) {
242
+ frontendEnvs.teamsfxLocalEnvs[localEnvProvider_1.EnvKeysFrontend.Port] = "53000";
243
+ if (includeAAD) {
244
+ frontendEnvs.teamsfxLocalEnvs[localEnvProvider_1.EnvKeysFrontend.LoginUrl] = `${localTabEndpoint}/auth-start.html`;
245
+ frontendEnvs.teamsfxLocalEnvs[localEnvProvider_1.EnvKeysFrontend.ClientId] = clientId;
246
+ }
247
+ if (includeSimpleAuth) {
248
+ frontendEnvs.teamsfxLocalEnvs[localEnvProvider_1.EnvKeysFrontend.TeamsFxEndpoint] = localAuthEndpoint;
249
+ await localService_1.prepareLocalAuthService(localAuthPackagePath);
250
+ }
251
+ if (includeBackend) {
252
+ frontendEnvs.teamsfxLocalEnvs[localEnvProvider_1.EnvKeysFrontend.FuncEndpoint] = localFuncEndpoint;
253
+ frontendEnvs.teamsfxLocalEnvs[localEnvProvider_1.EnvKeysFrontend.FuncName] = ctx.projectSetting
254
+ .defaultFunctionName;
255
+ backendEnvs.teamsfxLocalEnvs[localEnvProvider_1.EnvKeysBackend.FuncWorkerRuntime] = "node";
256
+ backendEnvs.teamsfxLocalEnvs[localEnvProvider_1.EnvKeysBackend.ClientId] = clientId;
257
+ backendEnvs.teamsfxLocalEnvs[localEnvProvider_1.EnvKeysBackend.ClientSecret] = clientSecret;
258
+ backendEnvs.teamsfxLocalEnvs[localEnvProvider_1.EnvKeysBackend.AuthorityHost] =
259
+ "https://login.microsoftonline.com";
260
+ backendEnvs.teamsfxLocalEnvs[localEnvProvider_1.EnvKeysBackend.TenantId] = teamsAppTenantId;
261
+ backendEnvs.teamsfxLocalEnvs[localEnvProvider_1.EnvKeysBackend.ApiEndpoint] = localFuncEndpoint;
262
+ backendEnvs.teamsfxLocalEnvs[localEnvProvider_1.EnvKeysBackend.ApplicationIdUri] = applicationIdUri;
263
+ backendEnvs.teamsfxLocalEnvs[localEnvProvider_1.EnvKeysBackend.AllowedAppIds] =
264
+ tools_1.getAllowedAppIds().join(";");
265
+ }
266
+ // setup local certificate
267
+ try {
268
+ if (trustDevCert === undefined) {
269
+ trustDevCert = true;
270
+ }
271
+ const certManager = new localCertificateManager_1.LocalCertificateManager(ctx.userInteraction, ctx.logProvider);
272
+ const localCert = await certManager.setupCertificate(trustDevCert);
273
+ if (envInfo.config.frontend &&
274
+ envInfo.config.frontend.sslCertFile &&
275
+ envInfo.config.frontend.sslKeyFile) {
276
+ envInfo.state[constants_2.ComponentNames.TeamsTab].sslCertFile =
277
+ envInfo.config.frontend.sslCertFile;
278
+ envInfo.state[constants_2.ComponentNames.TeamsTab].sslKeyFile = envInfo.config.frontend.sslKeyFile;
279
+ frontendEnvs.teamsfxLocalEnvs[localEnvProvider_1.EnvKeysFrontend.SslCrtFile] =
280
+ envInfo.config.frontend.sslCertFile;
281
+ frontendEnvs.teamsfxLocalEnvs[localEnvProvider_1.EnvKeysFrontend.SslKeyFile] =
282
+ envInfo.config.frontend.sslKeyFile;
283
+ }
284
+ else if (localCert) {
285
+ envInfo.state[constants_2.ComponentNames.TeamsTab].sslCertFile = localCert.certPath;
286
+ envInfo.state[constants_2.ComponentNames.TeamsTab].sslKeyFile = localCert.keyPath;
287
+ frontendEnvs.teamsfxLocalEnvs[localEnvProvider_1.EnvKeysFrontend.SslCrtFile] = localCert.certPath;
288
+ frontendEnvs.teamsfxLocalEnvs[localEnvProvider_1.EnvKeysFrontend.SslKeyFile] = localCert.keyPath;
289
+ }
290
+ }
291
+ catch (error) {
292
+ // do not break if cert error
293
+ }
294
+ }
295
+ if (includeBot) {
296
+ const botId = (_j = envInfo.state[constants_2.ComponentNames.BotService]) === null || _j === void 0 ? void 0 : _j.botId;
297
+ const botPassword = (_k = envInfo.state[constants_2.ComponentNames.BotService]) === null || _k === void 0 ? void 0 : _k.botPassword;
298
+ botEnvs.teamsfxLocalEnvs[localEnvProvider_1.EnvKeysBot.BotId] = botId;
299
+ botEnvs.teamsfxLocalEnvs[localEnvProvider_1.EnvKeysBot.BotPassword] = botPassword;
300
+ if (includeAAD) {
301
+ botEnvs.teamsfxLocalEnvs[localEnvProvider_1.EnvKeysBot.ClientId] = clientId;
302
+ botEnvs.teamsfxLocalEnvs[localEnvProvider_1.EnvKeysBot.ClientSecret] = clientSecret;
303
+ botEnvs.teamsfxLocalEnvs[localEnvProvider_1.EnvKeysBot.TenantID] = teamsAppTenantId;
304
+ botEnvs.teamsfxLocalEnvs[localEnvProvider_1.EnvKeysBot.OauthAuthority] =
305
+ "https://login.microsoftonline.com";
306
+ botEnvs.teamsfxLocalEnvs[localEnvProvider_1.EnvKeysBot.LoginEndpoint] = `${(_l = envInfo.state[constants_2.ComponentNames.TeamsBot]) === null || _l === void 0 ? void 0 : _l.siteEndpoint}/auth-start.html`;
307
+ botEnvs.teamsfxLocalEnvs[localEnvProvider_1.EnvKeysBot.ApplicationIdUri] = applicationIdUri;
308
+ }
309
+ if (includeBackend) {
310
+ backendEnvs.teamsfxLocalEnvs[localEnvProvider_1.EnvKeysBackend.ApiEndpoint] = localFuncEndpoint;
311
+ botEnvs.teamsfxLocalEnvs[localEnvProvider_1.EnvKeysBot.ApiEndpoint] = localFuncEndpoint;
312
+ }
313
+ }
314
+ // save .env.teamsfx.local
315
+ await localEnvProvider.saveLocalEnvs(frontendEnvs, backendEnvs, botEnvs);
316
+ }
317
+ }
318
+ catch (error) {
319
+ const systemError = error_1.ConfigLocalDebugSettingsError(error);
320
+ telemetry_1.TelemetryUtils.sendErrorEvent(telemetry_1.TelemetryEventName.configLocalDebugSettings, systemError);
321
+ return teamsfx_api_1.err(systemError);
322
+ }
323
+ telemetry_1.TelemetryUtils.sendSuccessEvent(telemetry_1.TelemetryEventName.configLocalDebugSettings, telemetryProperties);
324
+ return teamsfx_api_1.ok(undefined);
325
+ }
326
+ exports.configLocalEnvironment = configLocalEnvironment;
327
+ //# sourceMappingURL=debug.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/component/debug.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { Action, ContextV3, FxError, InputsWithProjectPath, MaybePromise, Result } from "@microsoft/teamsfx-api";
2
+ import "reflect-metadata";
3
+ import "../code/botCode";
4
+ import "../resource/appManifest/appManifest";
5
+ import "../resource/botService";
6
+ import "../resource/azureWebApp";
7
+ import "../connection/azureWebAppConfig";
8
+ export declare class TeamsBot {
9
+ name: string;
10
+ /**
11
+ *
12
+ * capability = Notification
13
+ * bot-host-type-trigger = http-restify
14
+ * group=bot, scenario=notification-restify, host=app-service
15
+ * bot-host-type-trigger = [http-functions, timer-functions]
16
+ * group=bot, host=function, scenario=notification-function-base + [notification-trigger-http, notification-trigger-timer]
17
+ * capability = command-bot:
18
+ * group=bot, host=app-service, scenario=command-and-response
19
+ * capability = Bot
20
+ * group=bot, host=app-service, scenario=default
21
+ * capability = MessagingExtension
22
+ * group=bot, host=app-service, scenario=default
23
+ */
24
+ /**
25
+ * 1. config bot in project settings
26
+ * 2. generate bot source code
27
+ * 3. generate bot-service and hosting bicep
28
+ * 3. overwrite hosting config bicep
29
+ * 4. persist bicep
30
+ * 5. add capability in teams manifest
31
+ */
32
+ add(context: ContextV3, inputs: InputsWithProjectPath): MaybePromise<Result<Action | undefined, FxError>>;
33
+ }
34
+ //# sourceMappingURL=bot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../../../src/component/feature/bot.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,MAAM,EACN,SAAS,EACT,OAAO,EAEP,qBAAqB,EACrB,YAAY,EAEZ,MAAM,EACP,MAAM,wBAAwB,CAAC;AAChC,OAAO,kBAAkB,CAAC;AAY1B,OAAO,iBAAiB,CAAC;AACzB,OAAO,qCAAqC,CAAC;AAC7C,OAAO,wBAAwB,CAAC;AAChC,OAAO,yBAAyB,CAAC;AACjC,OAAO,iCAAiC,CAAC;AACzC,qBACa,QAAQ;IACnB,IAAI,SAAe;IACnB;;;;;;;;;;;;;OAaG;IAEH;;;;;;;OAOG;IACH,GAAG,CACD,OAAO,EAAE,SAAS,EAClB,MAAM,EAAE,qBAAqB,GAC5B,YAAY,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,CAAC;CAoIrD"}
@@ -0,0 +1,179 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT license.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.TeamsBot = void 0;
6
+ const tslib_1 = require("tslib");
7
+ const teamsfx_api_1 = require("@microsoft/teamsfx-api");
8
+ require("reflect-metadata");
9
+ const typedi_1 = require("typedi");
10
+ const projectSettingsLoader_1 = require("../../core/middleware/projectSettingsLoader");
11
+ const plugins_1 = require("../../plugins");
12
+ const constants_1 = require("../../plugins/resource/bot/constants");
13
+ const question_1 = require("../../plugins/resource/bot/question");
14
+ const projectSettingsManager_1 = require("../projectSettingsManager");
15
+ const workflow_1 = require("../workflow");
16
+ require("../code/botCode");
17
+ require("../resource/appManifest/appManifest");
18
+ require("../resource/botService");
19
+ require("../resource/azureWebApp");
20
+ require("../connection/azureWebAppConfig");
21
+ let TeamsBot = class TeamsBot {
22
+ constructor() {
23
+ this.name = "teams-bot";
24
+ }
25
+ /**
26
+ *
27
+ * capability = Notification
28
+ * bot-host-type-trigger = http-restify
29
+ * group=bot, scenario=notification-restify, host=app-service
30
+ * bot-host-type-trigger = [http-functions, timer-functions]
31
+ * group=bot, host=function, scenario=notification-function-base + [notification-trigger-http, notification-trigger-timer]
32
+ * capability = command-bot:
33
+ * group=bot, host=app-service, scenario=command-and-response
34
+ * capability = Bot
35
+ * group=bot, host=app-service, scenario=default
36
+ * capability = MessagingExtension
37
+ * group=bot, host=app-service, scenario=default
38
+ */
39
+ /**
40
+ * 1. config bot in project settings
41
+ * 2. generate bot source code
42
+ * 3. generate bot-service and hosting bicep
43
+ * 3. overwrite hosting config bicep
44
+ * 4. persist bicep
45
+ * 5. add capability in teams manifest
46
+ */
47
+ add(context, inputs) {
48
+ const feature = inputs.feature;
49
+ const triggers = inputs[constants_1.QuestionNames.BOT_HOST_TYPE_TRIGGER];
50
+ inputs.hosting = "azure-web-app";
51
+ const scenarios = [];
52
+ if (feature === plugins_1.NotificationOptionItem.id) {
53
+ if (triggers.includes(question_1.AppServiceOptionItem.id)) {
54
+ scenarios.push(constants_1.TemplateProjectsScenarios.NOTIFICATION_RESTIFY_SCENARIO_NAME);
55
+ }
56
+ else {
57
+ inputs.hosting = "azure-function";
58
+ if (triggers.includes(question_1.FunctionsHttpTriggerOptionItem.id)) {
59
+ scenarios.push(constants_1.TemplateProjectsScenarios.NOTIFICATION_FUNCTION_TRIGGER_HTTP_SCENARIO_NAME);
60
+ }
61
+ if (triggers.includes(question_1.FunctionsTimerTriggerOptionItem.id)) {
62
+ scenarios.push(constants_1.TemplateProjectsScenarios.NOTIFICATION_FUNCTION_TRIGGER_TIMER_SCENARIO_NAME);
63
+ }
64
+ }
65
+ }
66
+ else if (feature === plugins_1.CommandAndResponseOptionItem.id) {
67
+ scenarios.push(constants_1.TemplateProjectsScenarios.COMMAND_AND_RESPONSE_SCENARIO_NAME);
68
+ }
69
+ else {
70
+ scenarios.push(constants_1.TemplateProjectsScenarios.DEFAULT_SCENARIO_NAME);
71
+ }
72
+ const actions = [
73
+ projectSettingsManager_1.LoadProjectSettingsAction,
74
+ {
75
+ name: "fx.configBot",
76
+ type: "function",
77
+ plan: (context, inputs) => {
78
+ const remarks = [
79
+ `add components 'teams-bot', '${inputs.hosting}', 'bot-service' in projectSettings`,
80
+ ];
81
+ // connect to azure-sql
82
+ if (workflow_1.getComponent(context.projectSetting, "azure-sql")) {
83
+ remarks.push(`connect 'azure-sql' to hosting component '${inputs.hosting}' in projectSettings`);
84
+ }
85
+ return teamsfx_api_1.ok(remarks);
86
+ },
87
+ execute: async (context, inputs) => {
88
+ const projectSettings = context.projectSetting;
89
+ // add teams-bot
90
+ projectSettings.components.push({
91
+ name: "teams-bot",
92
+ hosting: inputs.hosting,
93
+ });
94
+ // add hosting component
95
+ const hostingComponent = {
96
+ name: inputs.hosting,
97
+ connections: ["teams-bot"],
98
+ };
99
+ projectSettings.components.push(hostingComponent);
100
+ //add bot-service
101
+ projectSettings.components.push({
102
+ name: "bot-service",
103
+ provision: true,
104
+ });
105
+ const remarks = [
106
+ `add components 'teams-bot', '${inputs.hosting}', 'bot-service' in projectSettings`,
107
+ ];
108
+ // connect azure-sql to hosting component
109
+ if (workflow_1.getComponent(context.projectSetting, "azure-sql")) {
110
+ hostingComponent.connections.push("azure-sql");
111
+ remarks.push(`connect 'azure-sql' to hosting component '${inputs.hosting}' in projectSettings`);
112
+ }
113
+ return teamsfx_api_1.ok([
114
+ {
115
+ type: "file",
116
+ operate: "replace",
117
+ filePath: projectSettingsLoader_1.getProjectSettingsPath(inputs.projectPath),
118
+ remarks: remarks.join(";"),
119
+ },
120
+ ]);
121
+ },
122
+ },
123
+ {
124
+ name: "call:bot-code.generate",
125
+ type: "call",
126
+ required: true,
127
+ targetAction: "bot-code.generate",
128
+ inputs: {
129
+ scenarios: scenarios,
130
+ },
131
+ },
132
+ {
133
+ type: "call",
134
+ targetAction: "bicep.init",
135
+ required: true,
136
+ },
137
+ {
138
+ name: `call:${inputs.hosting}.generateBicep`,
139
+ type: "call",
140
+ required: true,
141
+ targetAction: `${inputs.hosting}.generateBicep`,
142
+ },
143
+ {
144
+ name: "call:bot-service.generateBicep",
145
+ type: "call",
146
+ required: true,
147
+ targetAction: "bot-service.generateBicep",
148
+ },
149
+ {
150
+ name: `call:${inputs.hosting}-config.generateBicep`,
151
+ type: "call",
152
+ required: true,
153
+ targetAction: `${inputs.hosting}-config.generateBicep`,
154
+ },
155
+ {
156
+ name: "call:app-manifest.addCapability",
157
+ type: "call",
158
+ required: true,
159
+ targetAction: "app-manifest.addCapability",
160
+ inputs: {
161
+ capability: { name: "Bot" },
162
+ },
163
+ },
164
+ ];
165
+ actions.push(projectSettingsManager_1.WriteProjectSettingsAction);
166
+ const group = {
167
+ type: "group",
168
+ name: "teams-bot.add",
169
+ mode: "sequential",
170
+ actions: actions,
171
+ };
172
+ return teamsfx_api_1.ok(group);
173
+ }
174
+ };
175
+ TeamsBot = tslib_1.__decorate([
176
+ typedi_1.Service("teams-bot")
177
+ ], TeamsBot);
178
+ exports.TeamsBot = TeamsBot;
179
+ //# sourceMappingURL=bot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bot.js","sourceRoot":"","sources":["../../../src/component/feature/bot.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { Action, ContextV3, FxError, InputsWithProjectPath, MaybePromise, Result } from "@microsoft/teamsfx-api";
2
+ import "reflect-metadata";
3
+ import "../connection/azureWebAppConfig";
4
+ import "../resource/azureSql";
5
+ export declare class Sql {
6
+ name: string;
7
+ /**
8
+ * 1. config sql
9
+ * 2. add sql provision bicep
10
+ * 3. re-generate resources that connect to sql
11
+ * 4. persist bicep
12
+ */
13
+ add(context: ContextV3, inputs: InputsWithProjectPath): MaybePromise<Result<Action | undefined, FxError>>;
14
+ }
15
+ //# sourceMappingURL=sql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../../src/component/feature/sql.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,MAAM,EACN,SAAS,EACT,OAAO,EAEP,qBAAqB,EACrB,YAAY,EAEZ,MAAM,EACP,MAAM,wBAAwB,CAAC;AAChC,OAAO,kBAAkB,CAAC;AAI1B,OAAO,iCAAiC,CAAC;AACzC,OAAO,sBAAsB,CAAC;AAC9B,qBACa,GAAG;IACd,IAAI,SAAS;IAEb;;;;;OAKG;IACH,GAAG,CACD,OAAO,EAAE,SAAS,EAClB,MAAM,EAAE,qBAAqB,GAC5B,YAAY,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,CAAC;CAuGrD"}