@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,199 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateManifest = exports.buildTeamsAppPackage = exports.publishTeamsApp = exports.createOrUpdateTeamsApp = void 0;
4
+ const tslib_1 = require("tslib");
5
+ // Copyright (c) Microsoft Corporation.
6
+ // Licensed under the MIT license.
7
+ const teamsfx_api_1 = require("@microsoft/teamsfx-api");
8
+ const adm_zip_1 = tslib_1.__importDefault(require("adm-zip"));
9
+ const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
10
+ const path = tslib_1.__importStar(require("path"));
11
+ const uuid_1 = require("uuid");
12
+ const isUUID_1 = tslib_1.__importDefault(require("validator/lib/isUUID"));
13
+ const tools_1 = require("../../../common/tools");
14
+ const appStudio_1 = require("../../../plugins/resource/appstudio/appStudio");
15
+ const constants_1 = require("../../../plugins/resource/appstudio/constants");
16
+ const errors_1 = require("../../../plugins/resource/appstudio/errors");
17
+ const results_1 = require("../../../plugins/resource/appstudio/results");
18
+ const utils_1 = require("../../../plugins/resource/appstudio/utils/utils");
19
+ const utils_2 = require("./utils");
20
+ async function createOrUpdateTeamsApp(ctx, inputs, envInfo, tokenProvider) {
21
+ var _a, _b, _c, _d;
22
+ let archivedFile;
23
+ // User provided zip file
24
+ if (inputs.appPackagePath) {
25
+ if (await fs_extra_1.default.pathExists(inputs.appPackagePath)) {
26
+ archivedFile = await fs_extra_1.default.readFile(inputs.appPackagePath);
27
+ }
28
+ else {
29
+ return teamsfx_api_1.err(results_1.AppStudioResultFactory.UserError(errors_1.AppStudioError.FileNotFoundError.name, errors_1.AppStudioError.FileNotFoundError.message(inputs.appPackagePath)));
30
+ }
31
+ }
32
+ else {
33
+ const buildPackage = await buildTeamsAppPackage(inputs.projectPath, envInfo);
34
+ if (buildPackage.isErr()) {
35
+ return teamsfx_api_1.err(buildPackage.error);
36
+ }
37
+ archivedFile = await fs_extra_1.default.readFile(buildPackage.value);
38
+ }
39
+ const appStudioToken = await tokenProvider.appStudioToken.getAccessToken();
40
+ try {
41
+ const appDefinition = await appStudio_1.AppStudioClient.createApp(archivedFile, appStudioToken, ctx.logProvider);
42
+ (_a = ctx.userInteraction) === null || _a === void 0 ? void 0 : _a.showMessage("info", `Teams app created: ${appDefinition.teamsAppId}`, false);
43
+ return teamsfx_api_1.ok(appDefinition.teamsAppId);
44
+ }
45
+ catch (e) {
46
+ // Teams app already exists, will update it
47
+ if (e.name === 409 || e.name === 422) {
48
+ const zipEntries = new adm_zip_1.default(archivedFile).getEntries();
49
+ const manifestFile = zipEntries.find((x) => x.entryName === constants_1.Constants.MANIFEST_FILE);
50
+ if (!manifestFile) {
51
+ return teamsfx_api_1.err(results_1.AppStudioResultFactory.UserError(errors_1.AppStudioError.FileNotFoundError.name, errors_1.AppStudioError.FileNotFoundError.message(constants_1.Constants.MANIFEST_FILE)));
52
+ }
53
+ const manifestString = manifestFile.getData().toString();
54
+ const manifest = JSON.parse(manifestString);
55
+ const appDefinition = utils_1.convertToAppDefinition(manifest);
56
+ const colorIconContent = (_b = zipEntries
57
+ .find((x) => x.entryName === manifest.icons.color)) === null || _b === void 0 ? void 0 : _b.getData().toString("base64");
58
+ const outlineIconContent = (_c = zipEntries
59
+ .find((x) => x.entryName === manifest.icons.outline)) === null || _c === void 0 ? void 0 : _c.getData().toString("base64");
60
+ try {
61
+ const app = await appStudio_1.AppStudioClient.updateApp(manifest.id, appDefinition, appStudioToken, undefined, colorIconContent, outlineIconContent);
62
+ (_d = ctx.userInteraction) === null || _d === void 0 ? void 0 : _d.showMessage("info", `Teams app updated: ${appDefinition.appId}`, false);
63
+ return teamsfx_api_1.ok(app.teamsAppId);
64
+ }
65
+ catch (e) {
66
+ return teamsfx_api_1.err(results_1.AppStudioResultFactory.SystemError(errors_1.AppStudioError.TeamsAppUpdateFailedError.name, errors_1.AppStudioError.TeamsAppUpdateFailedError.message(manifest.id)));
67
+ }
68
+ }
69
+ else {
70
+ return teamsfx_api_1.err(results_1.AppStudioResultFactory.SystemError(errors_1.AppStudioError.TeamsAppCreateFailedError.name, errors_1.AppStudioError.TeamsAppCreateFailedError.message(e)));
71
+ }
72
+ }
73
+ }
74
+ exports.createOrUpdateTeamsApp = createOrUpdateTeamsApp;
75
+ async function publishTeamsApp(ctx, inputs, envInfo, tokenProvider) {
76
+ var _a;
77
+ let archivedFile;
78
+ // User provided zip file
79
+ if (inputs.appPackagePath) {
80
+ if (await fs_extra_1.default.pathExists(inputs.appPackagePath)) {
81
+ archivedFile = await fs_extra_1.default.readFile(inputs.appPackagePath);
82
+ }
83
+ else {
84
+ return teamsfx_api_1.err(results_1.AppStudioResultFactory.UserError(errors_1.AppStudioError.FileNotFoundError.name, errors_1.AppStudioError.FileNotFoundError.message(inputs.appPackagePath)));
85
+ }
86
+ }
87
+ else {
88
+ const buildPackage = await buildTeamsAppPackage(inputs.projectPath, envInfo);
89
+ if (buildPackage.isErr()) {
90
+ return teamsfx_api_1.err(buildPackage.error);
91
+ }
92
+ archivedFile = await fs_extra_1.default.readFile(buildPackage.value);
93
+ }
94
+ const zipEntries = new adm_zip_1.default(archivedFile).getEntries();
95
+ const manifestFile = zipEntries.find((x) => x.entryName === constants_1.Constants.MANIFEST_FILE);
96
+ if (!manifestFile) {
97
+ return teamsfx_api_1.err(results_1.AppStudioResultFactory.UserError(errors_1.AppStudioError.FileNotFoundError.name, errors_1.AppStudioError.FileNotFoundError.message(constants_1.Constants.MANIFEST_FILE)));
98
+ }
99
+ const manifestString = manifestFile.getData().toString();
100
+ const manifest = JSON.parse(manifestString);
101
+ // manifest.id === externalID
102
+ const appStudioToken = await tokenProvider.getAccessToken();
103
+ const existApp = await appStudio_1.AppStudioClient.getAppByTeamsAppId(manifest.id, appStudioToken);
104
+ if (existApp) {
105
+ let executePublishUpdate = false;
106
+ let description = `The app ${existApp.displayName} has already been submitted to tenant App Catalog.\nStatus: ${existApp.publishingState}\n`;
107
+ if (existApp.lastModifiedDateTime) {
108
+ description =
109
+ description + `Last Modified: ${(_a = existApp.lastModifiedDateTime) === null || _a === void 0 ? void 0 : _a.toLocaleString()}\n`;
110
+ }
111
+ description = description + "Do you want to submit a new update?";
112
+ const res = await ctx.userInteraction.showMessage("warn", description, true, "Confirm");
113
+ if ((res === null || res === void 0 ? void 0 : res.isOk()) && res.value === "Confirm")
114
+ executePublishUpdate = true;
115
+ if (executePublishUpdate) {
116
+ const appId = await appStudio_1.AppStudioClient.publishTeamsAppUpdate(manifest.id, archivedFile, appStudioToken);
117
+ return teamsfx_api_1.ok({ publishedAppId: appId, appName: manifest.name.short, update: true });
118
+ }
119
+ else {
120
+ throw results_1.AppStudioResultFactory.SystemError(errors_1.AppStudioError.TeamsAppPublishCancelError.name, errors_1.AppStudioError.TeamsAppPublishCancelError.message(manifest.name.short));
121
+ }
122
+ }
123
+ else {
124
+ const appId = await appStudio_1.AppStudioClient.publishTeamsApp(manifest.id, archivedFile, appStudioToken);
125
+ return teamsfx_api_1.ok({ publishedAppId: appId, appName: manifest.name.short, update: false });
126
+ }
127
+ }
128
+ exports.publishTeamsApp = publishTeamsApp;
129
+ /**
130
+ * Build appPackage.{envName}.zip
131
+ * @returns Path for built Teams app package
132
+ */
133
+ async function buildTeamsAppPackage(projectPath, envInfo) {
134
+ const buildFolderPath = `${projectPath}/${teamsfx_api_1.BuildFolderName}/${teamsfx_api_1.AppPackageFolderName}`;
135
+ await fs_extra_1.default.ensureDir(buildFolderPath);
136
+ const appDefinitionRes = await getAppDefinitionAndManifest(projectPath, envInfo);
137
+ if (appDefinitionRes.isErr()) {
138
+ return teamsfx_api_1.err(appDefinitionRes.error);
139
+ }
140
+ const manifest = appDefinitionRes.value[1];
141
+ if (!isUUID_1.default(manifest.id)) {
142
+ manifest.id = uuid_1.v4();
143
+ }
144
+ // manifest.bots = undefined;
145
+ // manifest.composeExtensions = undefined;
146
+ const appDirectory = path.join(projectPath, "templates", "appPackage");
147
+ const colorFile = `${appDirectory}/${manifest.icons.color}`;
148
+ if (!(await fs_extra_1.default.pathExists(colorFile))) {
149
+ return teamsfx_api_1.err(results_1.AppStudioResultFactory.UserError(errors_1.AppStudioError.FileNotFoundError.name, errors_1.AppStudioError.FileNotFoundError.message(colorFile)));
150
+ }
151
+ const outlineFile = `${appDirectory}/${manifest.icons.outline}`;
152
+ if (!(await fs_extra_1.default.pathExists(outlineFile))) {
153
+ return teamsfx_api_1.err(results_1.AppStudioResultFactory.UserError(errors_1.AppStudioError.FileNotFoundError.name, errors_1.AppStudioError.FileNotFoundError.message(outlineFile)));
154
+ }
155
+ const zip = new adm_zip_1.default();
156
+ zip.addFile(constants_1.Constants.MANIFEST_FILE, Buffer.from(JSON.stringify(manifest, null, 4)));
157
+ // outline.png & color.png, relative path
158
+ let dir = path.dirname(manifest.icons.color);
159
+ zip.addLocalFile(colorFile, dir === "." ? "" : dir);
160
+ dir = path.dirname(manifest.icons.outline);
161
+ zip.addLocalFile(outlineFile, dir === "." ? "" : dir);
162
+ const zipFileName = `${buildFolderPath}/appPackage.${envInfo.envName}.zip`;
163
+ zip.writeZip(zipFileName);
164
+ const manifestFileName = `${buildFolderPath}/manifest.${envInfo.envName}.json`;
165
+ if (await fs_extra_1.default.pathExists(manifestFileName)) {
166
+ await fs_extra_1.default.chmod(manifestFileName, 0o777);
167
+ }
168
+ await fs_extra_1.default.writeFile(manifestFileName, JSON.stringify(manifest, null, 4));
169
+ await fs_extra_1.default.chmod(manifestFileName, 0o444);
170
+ return teamsfx_api_1.ok(zipFileName);
171
+ }
172
+ exports.buildTeamsAppPackage = buildTeamsAppPackage;
173
+ /**
174
+ * Validate manifest
175
+ * @returns an array of validation error strings
176
+ */
177
+ async function validateManifest(manifest) {
178
+ // TODO: import teamsfx-manifest package
179
+ return teamsfx_api_1.ok([]);
180
+ }
181
+ exports.validateManifest = validateManifest;
182
+ async function getAppDefinitionAndManifest(projectPath, envInfo) {
183
+ // Read template
184
+ const manifestTemplateRes = await utils_2.readAppManifest(projectPath);
185
+ if (manifestTemplateRes.isErr()) {
186
+ return teamsfx_api_1.err(manifestTemplateRes.error);
187
+ }
188
+ let manifestString = JSON.stringify(manifestTemplateRes.value);
189
+ // Render mustache template with state and config
190
+ const view = {
191
+ config: envInfo.config,
192
+ state: envInfo.state,
193
+ };
194
+ manifestString = tools_1.compileHandlebarsTemplateString(manifestString, view);
195
+ const manifest = JSON.parse(manifestString);
196
+ const appDefinition = utils_1.convertToAppDefinition(manifest);
197
+ return teamsfx_api_1.ok([appDefinition, manifest]);
198
+ }
199
+ //# sourceMappingURL=appStudio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appStudio.js","sourceRoot":"","sources":["../../../../src/component/resource/appManifest/appStudio.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { IBot, IComposeExtension, IConfigurableTab, IStaticTab } from "@microsoft/teamsfx-api";
2
+ export declare const TAB_COMPONENT_NAME = "teams-tab";
3
+ export declare const AAD_COMPONENT_NAME = "aad-app";
4
+ export declare const TEAMS_APP_MANIFEST_TEMPLATE: string;
5
+ export declare const STATIC_TABS_TPL_V3: IStaticTab[];
6
+ export declare const CONFIGURABLE_TABS_TPL_V3: IConfigurableTab[];
7
+ export declare const BOT_ID_PLACEHOLDER = "{{state.bot-service.botId}}";
8
+ export declare const BOTS_TPL_FOR_COMMAND_AND_RESPONSE_V3: IBot[];
9
+ export declare const BOTS_TPL_FOR_NOTIFICATION_V3: IBot[];
10
+ export declare const BOTS_TPL_V3: IBot[];
11
+ export declare const COMPOSE_EXTENSIONS_TPL_V3: IComposeExtension[];
12
+ export declare const WEB_APPLICATION_INFO_V3: {
13
+ id: string;
14
+ resource: string;
15
+ };
16
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/component/resource/appManifest/constants.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAE/F,eAAO,MAAM,kBAAkB,cAAc,CAAC;AAE9C,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAE5C,eAAO,MAAM,2BAA2B,QAkCtC,CAAC;AAEH,eAAO,MAAM,kBAAkB,EAAE,UAAU,EAQ1C,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,gBAAgB,EAMtD,CAAC;AAEF,eAAO,MAAM,kBAAkB,gCAAgC,CAAC;AAEhE,eAAO,MAAM,oCAAoC,EAAE,IAAI,EAkBtD,CAAC;AAEF,eAAO,MAAM,4BAA4B,EAAE,IAAI,EAO9C,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,IAAI,EAsB7B,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,iBAAiB,EAuExD,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;CAGnC,CAAC"}
@@ -0,0 +1,186 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT license.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.WEB_APPLICATION_INFO_V3 = exports.COMPOSE_EXTENSIONS_TPL_V3 = exports.BOTS_TPL_V3 = exports.BOTS_TPL_FOR_NOTIFICATION_V3 = exports.BOTS_TPL_FOR_COMMAND_AND_RESPONSE_V3 = exports.BOT_ID_PLACEHOLDER = exports.CONFIGURABLE_TABS_TPL_V3 = exports.STATIC_TABS_TPL_V3 = exports.TEAMS_APP_MANIFEST_TEMPLATE = exports.AAD_COMPONENT_NAME = exports.TAB_COMPONENT_NAME = void 0;
6
+ exports.TAB_COMPONENT_NAME = "teams-tab";
7
+ exports.AAD_COMPONENT_NAME = "aad-app";
8
+ exports.TEAMS_APP_MANIFEST_TEMPLATE = `{
9
+ "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.11/MicrosoftTeams.schema.json",
10
+ "manifestVersion": "1.11",
11
+ "version": "1.0.0",
12
+ "id": "{{state.app-manifest.teamsAppId}}",
13
+ "packageName": "com.microsoft.teams.extension",
14
+ "developer": {
15
+ "name": "Teams App, Inc.",
16
+ "websiteUrl": "{{{state.${exports.TAB_COMPONENT_NAME}.endpoint}}}",
17
+ "privacyUrl": "{{{state.${exports.TAB_COMPONENT_NAME}.endpoint}}}{{{state.${exports.TAB_COMPONENT_NAME}.indexPath}}}/privacy",
18
+ "termsOfUseUrl": "{{{state.${exports.TAB_COMPONENT_NAME}.endpoint}}}{{{state.${exports.TAB_COMPONENT_NAME}.indexPath}}}/termsofuse"
19
+ },
20
+ "icons": {
21
+ "color": "resources/color.png",
22
+ "outline": "resources/outline.png"
23
+ },
24
+ "name": {
25
+ "short": "{{config.manifest.appName.short}}",
26
+ "full": "{{config.manifest.appName.full}}"
27
+ },
28
+ "description": {
29
+ "short": "Short description of {{config.manifest.appName.short}}",
30
+ "full": "Full description of {{config.manifest.appName.short}}"
31
+ },
32
+ "accentColor": "#FFFFFF",
33
+ "bots": [],
34
+ "composeExtensions": [],
35
+ "configurableTabs": [],
36
+ "staticTabs": [],
37
+ "permissions": [
38
+ "identity",
39
+ "messageTeamMembers"
40
+ ],
41
+ "validDomains": []
42
+ }`;
43
+ exports.STATIC_TABS_TPL_V3 = [
44
+ {
45
+ entityId: "index",
46
+ name: "Personal Tab",
47
+ contentUrl: `{{{state.${exports.TAB_COMPONENT_NAME}.endpoint}}}{{{state.${exports.TAB_COMPONENT_NAME}.indexPath}}}/tab`,
48
+ websiteUrl: `{{{state.${exports.TAB_COMPONENT_NAME}.endpoint}}}{{{state.${exports.TAB_COMPONENT_NAME}.indexPath}}}/tab`,
49
+ scopes: ["personal"],
50
+ },
51
+ ];
52
+ exports.CONFIGURABLE_TABS_TPL_V3 = [
53
+ {
54
+ configurationUrl: `{{{state.${exports.TAB_COMPONENT_NAME}.endpoint}}}{{{state.${exports.TAB_COMPONENT_NAME}.indexPath}}}/config`,
55
+ canUpdateConfiguration: true,
56
+ scopes: ["team", "groupchat"],
57
+ },
58
+ ];
59
+ exports.BOT_ID_PLACEHOLDER = "{{state.bot-service.botId}}";
60
+ exports.BOTS_TPL_FOR_COMMAND_AND_RESPONSE_V3 = [
61
+ {
62
+ botId: exports.BOT_ID_PLACEHOLDER,
63
+ scopes: ["personal", "team", "groupchat"],
64
+ supportsFiles: false,
65
+ isNotificationOnly: false,
66
+ commandLists: [
67
+ {
68
+ scopes: ["personal", "team", "groupchat"],
69
+ commands: [
70
+ {
71
+ title: "helloWorld",
72
+ description: "A helloworld command to send a welcome message",
73
+ },
74
+ ],
75
+ },
76
+ ],
77
+ },
78
+ ];
79
+ exports.BOTS_TPL_FOR_NOTIFICATION_V3 = [
80
+ {
81
+ botId: exports.BOT_ID_PLACEHOLDER,
82
+ scopes: ["personal", "team", "groupchat"],
83
+ supportsFiles: false,
84
+ isNotificationOnly: false,
85
+ },
86
+ ];
87
+ exports.BOTS_TPL_V3 = [
88
+ {
89
+ botId: exports.BOT_ID_PLACEHOLDER,
90
+ scopes: ["personal", "team", "groupchat"],
91
+ supportsFiles: false,
92
+ isNotificationOnly: false,
93
+ commandLists: [
94
+ {
95
+ scopes: ["personal", "team", "groupchat"],
96
+ commands: [
97
+ {
98
+ title: "welcome",
99
+ description: "Resend welcome card of this Bot",
100
+ },
101
+ {
102
+ title: "learn",
103
+ description: "Learn about Adaptive Card and Bot Command",
104
+ },
105
+ ],
106
+ },
107
+ ],
108
+ },
109
+ ];
110
+ exports.COMPOSE_EXTENSIONS_TPL_V3 = [
111
+ {
112
+ botId: exports.BOT_ID_PLACEHOLDER,
113
+ commands: [
114
+ {
115
+ id: "createCard",
116
+ context: ["compose"],
117
+ description: "Command to run action to create a Card from Compose Box",
118
+ title: "Create Card",
119
+ type: "action",
120
+ parameters: [
121
+ {
122
+ name: "title",
123
+ title: "Card title",
124
+ description: "Title for the card",
125
+ inputType: "text",
126
+ },
127
+ {
128
+ name: "subTitle",
129
+ title: "Subtitle",
130
+ description: "Subtitle for the card",
131
+ inputType: "text",
132
+ },
133
+ {
134
+ name: "text",
135
+ title: "Text",
136
+ description: "Text for the card",
137
+ inputType: "textarea",
138
+ },
139
+ ],
140
+ },
141
+ {
142
+ id: "shareMessage",
143
+ context: ["message"],
144
+ description: "Test command to run action on message context (message sharing)",
145
+ title: "Share Message",
146
+ type: "action",
147
+ parameters: [
148
+ {
149
+ name: "includeImage",
150
+ title: "Include Image",
151
+ description: "Include image in Hero Card",
152
+ inputType: "toggle",
153
+ },
154
+ ],
155
+ },
156
+ {
157
+ id: "searchQuery",
158
+ context: ["compose", "commandBox"],
159
+ description: "Test command to run query",
160
+ title: "Search",
161
+ type: "query",
162
+ parameters: [
163
+ {
164
+ name: "searchQuery",
165
+ title: "Search Query",
166
+ description: "Your search query",
167
+ inputType: "text",
168
+ },
169
+ ],
170
+ },
171
+ ],
172
+ messageHandlers: [
173
+ {
174
+ type: "link",
175
+ value: {
176
+ domains: ["*.botframework.com"],
177
+ },
178
+ },
179
+ ],
180
+ },
181
+ ];
182
+ exports.WEB_APPLICATION_INFO_V3 = {
183
+ id: `{{state.${exports.AAD_COMPONENT_NAME}.clientId}}`,
184
+ resource: `{{{state.${exports.AAD_COMPONENT_NAME}.applicationIdUris}}}`,
185
+ };
186
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/component/resource/appManifest/constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { FxError, Result, TeamsAppManifest } from "@microsoft/teamsfx-api";
2
+ import "reflect-metadata";
3
+ export declare function readAppManifest(projectPath: string): Promise<Result<TeamsAppManifest, FxError>>;
4
+ export declare function writeAppManifest(appManifest: TeamsAppManifest, projectPath: string): Promise<Result<undefined, FxError>>;
5
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/component/resource/appManifest/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAM,MAAM,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG/E,OAAO,kBAAkB,CAAC;AAE1B,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAI5C;AAED,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,gBAAgB,EAC7B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAIrC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.writeAppManifest = exports.readAppManifest = void 0;
4
+ const tslib_1 = require("tslib");
5
+ // Copyright (c) Microsoft Corporation.
6
+ // Licensed under the MIT license.
7
+ const teamsfx_api_1 = require("@microsoft/teamsfx-api");
8
+ const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
9
+ const path = tslib_1.__importStar(require("path"));
10
+ require("reflect-metadata");
11
+ async function readAppManifest(projectPath) {
12
+ const filePath = path.join(projectPath, "templates", "appPackage", "manifest.template.json");
13
+ const manifest = (await fs_extra_1.default.readJson(filePath));
14
+ return teamsfx_api_1.ok(manifest);
15
+ }
16
+ exports.readAppManifest = readAppManifest;
17
+ async function writeAppManifest(appManifest, projectPath) {
18
+ const filePath = path.join(projectPath, "templates", "appPackage", "manifest.template.json");
19
+ await fs_extra_1.default.writeFile(filePath, JSON.stringify(appManifest, undefined, 4));
20
+ return teamsfx_api_1.ok(undefined);
21
+ }
22
+ exports.writeAppManifest = writeAppManifest;
23
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/component/resource/appManifest/utils.ts"],"names":[],"mappings":";;;;AAAA,uCAAuC;AACvC,kCAAkC;AAClC,wDAA+E;AAC/E,gEAA0B;AAC1B,mDAA6B;AAC7B,4BAA0B;AAEnB,KAAK,UAAU,eAAe,CACnC,WAAmB;IAEnB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,wBAAwB,CAAC,CAAC;IAC7F,MAAM,QAAQ,GAAG,CAAC,MAAM,kBAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAqB,CAAC;IACnE,OAAO,gBAAE,CAAC,QAAQ,CAAC,CAAC;AACtB,CAAC;AAND,0CAMC;AAEM,KAAK,UAAU,gBAAgB,CACpC,WAA6B,EAC7B,WAAmB;IAEnB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,wBAAwB,CAAC,CAAC;IAC7F,MAAM,kBAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;IACxE,OAAO,gBAAE,CAAC,SAAS,CAAC,CAAC;AACvB,CAAC;AAPD,4CAOC"}
@@ -1,6 +1,5 @@
1
- import { FxError, Result, Action, ContextV3, MaybePromise, InputsWithProjectPath, ProvisionContextV3, CloudResource, AzureAccountProvider } from "@microsoft/teamsfx-api";
1
+ import { FxError, Result, Action, ContextV3, MaybePromise, InputsWithProjectPath, CloudResource } from "@microsoft/teamsfx-api";
2
2
  import "reflect-metadata";
3
- import { TokenCredentialsBase } from "@azure/ms-rest-nodeauth";
4
3
  export declare class BotServiceResource implements CloudResource {
5
4
  outputs: {
6
5
  botId: {
@@ -14,9 +13,5 @@ export declare class BotServiceResource implements CloudResource {
14
13
  secretFields: string[];
15
14
  readonly name = "bot-service";
16
15
  generateBicep(context: ContextV3, inputs: InputsWithProjectPath): MaybePromise<Result<Action | undefined, FxError>>;
17
- provision(context: ContextV3, inputs: InputsWithProjectPath): MaybePromise<Result<Action | undefined, FxError>>;
18
16
  }
19
- export declare function createBotAAD(ctx: ProvisionContextV3): Promise<Result<any, FxError>>;
20
- export declare function createBotRegInAppStudio(botConfig: any, ctx: ProvisionContextV3): Promise<Result<undefined, FxError>>;
21
- export declare function getAzureAccountCredential(tokenProvider: AzureAccountProvider): Promise<TokenCredentialsBase>;
22
17
  //# sourceMappingURL=botService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"botService.d.ts","sourceRoot":"","sources":["../../../src/component/resource/botService.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,OAAO,EAEP,MAAM,EACN,MAAM,EAEN,SAAS,EACT,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,EAGb,oBAAoB,EAErB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,kBAAkB,CAAC;AAkB1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAK/D,qBACa,kBAAmB,YAAW,aAAa;IACtD,OAAO;;;;;;;MAOL;IACF,eAAe,WAA4B;IAC3C,YAAY,WAAmB;IAC/B,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,aAAa,CACX,OAAO,EAAE,SAAS,EAClB,MAAM,EAAE,qBAAqB,GAC5B,YAAY,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,CAAC;IAsCpD,SAAS,CACP,OAAO,EAAE,SAAS,EAClB,MAAM,EAAE,qBAAqB,GAC5B,YAAY,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,CAAC;CAiFrD;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAgCzF;AAED,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,GAAG,EACd,GAAG,EAAE,kBAAkB,GACtB,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAgBrC;AAED,wBAAsB,yBAAyB,CAC7C,aAAa,EAAE,oBAAoB,GAClC,OAAO,CAAC,oBAAoB,CAAC,CAM/B"}
1
+ {"version":3,"file":"botService.d.ts","sourceRoot":"","sources":["../../../src/component/resource/botService.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,OAAO,EAEP,MAAM,EACN,MAAM,EAEN,SAAS,EACT,YAAY,EACZ,qBAAqB,EAErB,aAAa,EAKd,MAAM,wBAAwB,CAAC;AAGhC,OAAO,kBAAkB,CAAC;AAuB1B,qBACa,kBAAmB,YAAW,aAAa;IACtD,OAAO;;;;;;;MAOL;IACF,eAAe,WAA4B;IAC3C,YAAY,WAAmB;IAC/B,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,aAAa,CACX,OAAO,EAAE,SAAS,EAClB,MAAM,EAAE,qBAAqB,GAC5B,YAAY,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,CAAC;CA0HrD"}