@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,135 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT license.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.Sql = 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 workflow_1 = require("../workflow");
12
+ require("../connection/azureWebAppConfig");
13
+ require("../resource/azureSql");
14
+ let Sql = class Sql {
15
+ constructor() {
16
+ this.name = "sql";
17
+ }
18
+ /**
19
+ * 1. config sql
20
+ * 2. add sql provision bicep
21
+ * 3. re-generate resources that connect to sql
22
+ * 4. persist bicep
23
+ */
24
+ add(context, inputs) {
25
+ const sqlComponent = workflow_1.getComponent(context.projectSetting, "azure-sql");
26
+ const provisionType = sqlComponent ? "database" : "server";
27
+ const actions = [
28
+ // LoadProjectSettingsAction,
29
+ {
30
+ name: "sql.configSql",
31
+ type: "function",
32
+ plan: (context, inputs) => {
33
+ const sqlComponent = workflow_1.getComponent(context.projectSetting, "azure-sql");
34
+ if (sqlComponent) {
35
+ return teamsfx_api_1.ok([]);
36
+ }
37
+ const remarks = ["add component 'azure-sql' in projectSettings"];
38
+ const webAppComponent = workflow_1.getComponent(context.projectSetting, "azure-web-app");
39
+ if (webAppComponent) {
40
+ remarks.push("connect 'azure-sql' to component 'azure-web-app' in projectSettings");
41
+ }
42
+ const functionComponent = workflow_1.getComponent(context.projectSetting, "azure-function");
43
+ if (functionComponent) {
44
+ remarks.push("connect 'azure-sql' to component 'azure-function' in projectSettings");
45
+ }
46
+ return teamsfx_api_1.ok([
47
+ {
48
+ type: "file",
49
+ operate: "replace",
50
+ filePath: projectSettingsLoader_1.getProjectSettingsPath(inputs.projectPath),
51
+ remarks: remarks.join(";"),
52
+ },
53
+ ]);
54
+ },
55
+ execute: async (context, inputs) => {
56
+ const sqlComponent = workflow_1.getComponent(context.projectSetting, "azure-sql");
57
+ if (sqlComponent)
58
+ return teamsfx_api_1.ok([]);
59
+ const projectSettings = context.projectSetting;
60
+ const remarks = ["add component 'azure-sql' in projectSettings"];
61
+ projectSettings.components.push({
62
+ name: "azure-sql",
63
+ provision: true,
64
+ });
65
+ const webAppComponent = workflow_1.getComponent(context.projectSetting, "azure-web-app");
66
+ if (webAppComponent) {
67
+ if (!webAppComponent.connections)
68
+ webAppComponent.connections = [];
69
+ webAppComponent.connections.push("azure-sql");
70
+ remarks.push("connect 'azure-sql' to component 'azure-web-app' in projectSettings");
71
+ }
72
+ const functionComponent = workflow_1.getComponent(context.projectSetting, "azure-function");
73
+ if (functionComponent) {
74
+ if (!functionComponent.connections)
75
+ functionComponent.connections = [];
76
+ functionComponent.connections.push("azure-sql");
77
+ remarks.push("connect 'azure-sql' to component 'azure-function' in projectSettings");
78
+ }
79
+ return teamsfx_api_1.ok([
80
+ {
81
+ type: "file",
82
+ operate: "replace",
83
+ filePath: projectSettingsLoader_1.getProjectSettingsPath(inputs.projectPath),
84
+ remarks: remarks.join(";"),
85
+ },
86
+ ]);
87
+ },
88
+ },
89
+ {
90
+ type: "call",
91
+ targetAction: "bicep.init",
92
+ required: true,
93
+ },
94
+ {
95
+ name: "call:azure-sql.generateBicep",
96
+ type: "call",
97
+ required: true,
98
+ targetAction: "azure-sql.generateBicep",
99
+ inputs: {
100
+ provisionType: provisionType,
101
+ },
102
+ },
103
+ ];
104
+ const webAppComponent = workflow_1.getComponent(context.projectSetting, "azure-web-app");
105
+ if (webAppComponent) {
106
+ actions.push({
107
+ name: "call:azure-web-app-config.generateBicep",
108
+ type: "call",
109
+ required: true,
110
+ targetAction: "azure-web-app-config.generateBicep",
111
+ });
112
+ }
113
+ const functionComponent = workflow_1.getComponent(context.projectSetting, "azure-function");
114
+ if (functionComponent) {
115
+ actions.push({
116
+ name: "call:azure-function-config.generateBicep",
117
+ type: "call",
118
+ required: true,
119
+ targetAction: "azure-function-config.generateBicep",
120
+ });
121
+ }
122
+ const group = {
123
+ type: "group",
124
+ name: "sql.add",
125
+ mode: "sequential",
126
+ actions: actions,
127
+ };
128
+ return teamsfx_api_1.ok(group);
129
+ }
130
+ };
131
+ Sql = tslib_1.__decorate([
132
+ typedi_1.Service("sql")
133
+ ], Sql);
134
+ exports.Sql = Sql;
135
+ //# sourceMappingURL=sql.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sql.js","sourceRoot":"","sources":["../../../src/component/feature/sql.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Action, ContextV3, FxError, InputsWithProjectPath, MaybePromise, Result } from "@microsoft/teamsfx-api";
2
+ import "reflect-metadata";
3
+ export declare class TeamsfxCore {
4
+ name: string;
5
+ add(context: ContextV3, inputs: InputsWithProjectPath): MaybePromise<Result<Action | undefined, FxError>>;
6
+ }
7
+ //# sourceMappingURL=tab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab.d.ts","sourceRoot":"","sources":["../../../src/component/feature/tab.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,MAAM,EAEN,SAAS,EACT,OAAO,EAEP,qBAAqB,EACrB,YAAY,EAGZ,MAAM,EACP,MAAM,wBAAwB,CAAC;AAChC,OAAO,kBAAkB,CAAC;AAE1B,qBACa,WAAW;IACtB,IAAI,SAAe;IACnB,GAAG,CACD,OAAO,EAAE,SAAS,EAClB,MAAM,EAAE,qBAAqB,GAC5B,YAAY,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,CAAC;CA2DrD"}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT license.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.TeamsfxCore = 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
+ let TeamsfxCore = class TeamsfxCore {
11
+ constructor() {
12
+ this.name = "teams-tab";
13
+ }
14
+ add(context, inputs) {
15
+ // const actions: Action[] = [
16
+ // {
17
+ // name: "fx.configTab",
18
+ // type: "function",
19
+ // plan: (context: ContextV3, inputs: InputsWithProjectPath) => {
20
+ // return ok([`add component 'teams-tab' in projectSettings: ${JSON.stringify(inputs)}`]);
21
+ // },
22
+ // execute: async (context: ContextV3, inputs: InputsWithProjectPath) => {
23
+ // const projectSettings = context.projectSetting as ProjectSettingsV3;
24
+ // const teamsTabResource: Component = {
25
+ // name: "teams-tab",
26
+ // ...inputs,
27
+ // };
28
+ // projectSettings.components.push(teamsTabResource);
29
+ // console.log(
30
+ // `add component 'teams-tab' in projectSettings: ${JSON.stringify(teamsTabResource)}`
31
+ // );
32
+ // return ok([]);
33
+ // },
34
+ // },
35
+ // {
36
+ // name: "call:tab-code.generate",
37
+ // type: "call",
38
+ // required: true,
39
+ // targetAction: "tab-code.generate",
40
+ // },
41
+ // {
42
+ // type: "call",
43
+ // targetAction: "bicep.init",
44
+ // required: true,
45
+ // },
46
+ // {
47
+ // name: `call:${inputs.hosting}.generateBicep`,
48
+ // type: "call",
49
+ // required: true,
50
+ // targetAction: `${inputs.hosting}.generateBicep`,
51
+ // },
52
+ // {
53
+ // name: "call:app-manifest.addCapability",
54
+ // type: "call",
55
+ // required: true,
56
+ // targetAction: "app-manifest.addCapability",
57
+ // inputs: {
58
+ // "app-manifest": {
59
+ // capabilities: [{ name: "staticTab" }],
60
+ // },
61
+ // },
62
+ // },
63
+ // ];
64
+ // const group: GroupAction = {
65
+ // type: "group",
66
+ // name: "teams-tab.add",
67
+ // mode: "parallel",
68
+ // actions: actions,
69
+ // };
70
+ // return ok(group);
71
+ return teamsfx_api_1.ok(undefined);
72
+ }
73
+ };
74
+ TeamsfxCore = tslib_1.__decorate([
75
+ typedi_1.Service("teams-tab")
76
+ ], TeamsfxCore);
77
+ exports.TeamsfxCore = TeamsfxCore;
78
+ //# sourceMappingURL=tab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab.js","sourceRoot":"","sources":["../../../src/component/feature/tab.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;AAElC,wDAWgC;AAChC,4BAA0B;AAC1B,mCAAiC;AAEjC,IAAa,WAAW,GAAxB,MAAa,WAAW;IAAxB;QACE,SAAI,GAAG,WAAW,CAAC;IA+DrB,CAAC;IA9DC,GAAG,CACD,OAAkB,EAClB,MAA6B;QAE7B,8BAA8B;QAC9B,MAAM;QACN,4BAA4B;QAC5B,wBAAwB;QACxB,qEAAqE;QACrE,gGAAgG;QAChG,SAAS;QACT,8EAA8E;QAC9E,6EAA6E;QAC7E,8CAA8C;QAC9C,6BAA6B;QAC7B,qBAAqB;QACrB,WAAW;QACX,2DAA2D;QAC3D,qBAAqB;QACrB,8FAA8F;QAC9F,WAAW;QACX,uBAAuB;QACvB,SAAS;QACT,OAAO;QACP,MAAM;QACN,sCAAsC;QACtC,oBAAoB;QACpB,sBAAsB;QACtB,yCAAyC;QACzC,OAAO;QACP,MAAM;QACN,oBAAoB;QACpB,kCAAkC;QAClC,sBAAsB;QACtB,OAAO;QACP,MAAM;QACN,oDAAoD;QACpD,oBAAoB;QACpB,sBAAsB;QACtB,uDAAuD;QACvD,OAAO;QACP,MAAM;QACN,+CAA+C;QAC/C,oBAAoB;QACpB,sBAAsB;QACtB,kDAAkD;QAClD,gBAAgB;QAChB,0BAA0B;QAC1B,iDAAiD;QACjD,WAAW;QACX,SAAS;QACT,OAAO;QACP,KAAK;QACL,+BAA+B;QAC/B,mBAAmB;QACnB,2BAA2B;QAC3B,sBAAsB;QACtB,sBAAsB;QACtB,KAAK;QACL,oBAAoB;QACpB,OAAO,gBAAE,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;CACF,CAAA;AAhEY,WAAW;IADvB,gBAAO,CAAC,WAAW,CAAC;GACR,WAAW,CAgEvB;AAhEY,kCAAW"}
@@ -1,6 +1,6 @@
1
- import { FxError, Result, Action, ContextV3, MaybePromise, InputsWithProjectPath, CloudResource } from "@microsoft/teamsfx-api";
1
+ import { Action, CloudResource, ContextV3, FxError, InputsWithProjectPath, MaybePromise, ProvisionContextV3, Result } from "@microsoft/teamsfx-api";
2
2
  import "reflect-metadata";
3
- export declare class TeamsManifestResource implements CloudResource {
3
+ export declare class AppManifest implements CloudResource {
4
4
  name: string;
5
5
  outputs: {
6
6
  teamsAppId: {
@@ -15,5 +15,6 @@ export declare class TeamsManifestResource implements CloudResource {
15
15
  addCapability(context: ContextV3, inputs: InputsWithProjectPath): MaybePromise<Result<Action | undefined, FxError>>;
16
16
  provision(context: ContextV3, inputs: InputsWithProjectPath): MaybePromise<Result<Action | undefined, FxError>>;
17
17
  configure(context: ContextV3, inputs: InputsWithProjectPath): MaybePromise<Result<Action | undefined, FxError>>;
18
+ publish(context: ProvisionContextV3, inputs: InputsWithProjectPath): MaybePromise<Result<Action | undefined, FxError>>;
18
19
  }
19
- //# sourceMappingURL=teamsManifest.d.ts.map
20
+ //# sourceMappingURL=appManifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appManifest.d.ts","sourceRoot":"","sources":["../../../../src/component/resource/appManifest/appManifest.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,MAAM,EACN,aAAa,EACb,SAAS,EAGT,OAAO,EACP,qBAAqB,EACrB,YAAY,EAEZ,kBAAkB,EAClB,MAAM,EAEP,MAAM,wBAAwB,CAAC;AAIhC,OAAO,kBAAkB,CAAC;AAkC1B,qBACa,WAAY,YAAW,aAAa;IAC/C,IAAI,SAAkB;IACtB,OAAO;;;;;;;MAOL;IACF,eAAe,WAA8B;IAC7C,IAAI,CACF,OAAO,EAAE,SAAS,EAClB,MAAM,EAAE,qBAAqB,GAC5B,YAAY,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,CAAC;IA+CpD,aAAa,CACX,OAAO,EAAE,SAAS,EAClB,MAAM,EAAE,qBAAqB,GAC5B,YAAY,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,CAAC;IAoHpD,SAAS,CACP,OAAO,EAAE,SAAS,EAClB,MAAM,EAAE,qBAAqB,GAC5B,YAAY,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,CAAC;IA4BpD,SAAS,CACP,OAAO,EAAE,SAAS,EAClB,MAAM,EAAE,qBAAqB,GAC5B,YAAY,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,CAAC;IAGpD,OAAO,CACL,OAAO,EAAE,kBAAkB,EAC3B,MAAM,EAAE,qBAAqB,GAC5B,YAAY,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,CAAC;CAiCrD"}
@@ -0,0 +1,268 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AppManifest = 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 lodash_1 = require("lodash");
10
+ const path = tslib_1.__importStar(require("path"));
11
+ require("reflect-metadata");
12
+ const typedi_1 = require("typedi");
13
+ const featureFlags_1 = require("../../../common/featureFlags");
14
+ const folder_1 = require("../../../folder");
15
+ const constants_1 = require("../../../plugins/resource/appstudio/constants");
16
+ const question_1 = require("../../../plugins/solution/fx-solution/question");
17
+ const appStudio_1 = require("./appStudio");
18
+ const constants_2 = require("./constants");
19
+ const utils_1 = require("./utils");
20
+ let AppManifest = class AppManifest {
21
+ constructor() {
22
+ this.name = "app-manifest";
23
+ this.outputs = {
24
+ teamsAppId: {
25
+ key: "teamsAppId",
26
+ },
27
+ tenantId: {
28
+ key: "tenantId",
29
+ },
30
+ };
31
+ this.finalOutputKeys = ["teamsAppId", "tenantId"];
32
+ }
33
+ init(context, inputs) {
34
+ const createFilePath = [
35
+ path.join(inputs.projectPath, "templates", "appPackage", "resources", "color.png"),
36
+ path.join(inputs.projectPath, "templates", "appPackage", "resources", "outline.png"),
37
+ path.join(inputs.projectPath, "templates", "appPackage", "manifest.template.json"),
38
+ ];
39
+ const effect = {
40
+ type: "file",
41
+ operate: "create",
42
+ filePath: createFilePath,
43
+ };
44
+ const action = {
45
+ name: "app-manifest.init",
46
+ type: "function",
47
+ plan: (context, inputs) => {
48
+ return teamsfx_api_1.ok([effect]);
49
+ },
50
+ execute: async (context, inputs) => {
51
+ const existingApp = inputs.existingApp;
52
+ const manifestString = constants_2.TEAMS_APP_MANIFEST_TEMPLATE;
53
+ const manifest = JSON.parse(manifestString);
54
+ if (existingApp) {
55
+ manifest.developer = {
56
+ name: "Teams App, Inc.",
57
+ websiteUrl: constants_1.DEFAULT_DEVELOPER_WEBSITE_URL,
58
+ privacyUrl: constants_1.DEFAULT_DEVELOPER_PRIVACY_URL,
59
+ termsOfUseUrl: constants_1.DEFAULT_DEVELOPER_TERM_OF_USE_URL,
60
+ };
61
+ }
62
+ const templateFolder = path.join(inputs.projectPath, "templates");
63
+ await fs_extra_1.default.ensureDir(templateFolder);
64
+ const appPackageFolder = path.join(templateFolder, "appPackage");
65
+ await fs_extra_1.default.ensureDir(appPackageFolder);
66
+ const resourcesFolder = path.resolve(appPackageFolder, "resources");
67
+ await fs_extra_1.default.ensureDir(resourcesFolder);
68
+ const targetManifestPath = path.join(appPackageFolder, "manifest.template.json");
69
+ await fs_extra_1.default.writeFile(targetManifestPath, JSON.stringify(manifest, null, 4));
70
+ const templatesFolder = folder_1.getTemplatesFolder();
71
+ const defaultColorPath = path.join(templatesFolder, constants_1.COLOR_TEMPLATE);
72
+ const defaultOutlinePath = path.join(templatesFolder, constants_1.OUTLINE_TEMPLATE);
73
+ await fs_extra_1.default.copy(defaultColorPath, path.join(resourcesFolder, constants_1.DEFAULT_COLOR_PNG_FILENAME));
74
+ await fs_extra_1.default.copy(defaultOutlinePath, path.join(resourcesFolder, constants_1.DEFAULT_OUTLINE_PNG_FILENAME));
75
+ return teamsfx_api_1.ok([effect]);
76
+ },
77
+ };
78
+ return teamsfx_api_1.ok(action);
79
+ }
80
+ addCapability(context, inputs) {
81
+ const effect = {
82
+ type: "file",
83
+ operate: "replace",
84
+ filePath: path.join(inputs.projectPath, "templates", "appPackage", "manifest.template.json"),
85
+ };
86
+ const action = {
87
+ name: "app-manifest.addCapability",
88
+ type: "function",
89
+ plan: (context, inputs) => {
90
+ effect.remarks = `add capabilities (${JSON.stringify(inputs.capabilities)}) in manifest`;
91
+ return teamsfx_api_1.ok([effect]);
92
+ },
93
+ execute: async (context, inputs) => {
94
+ var _a, _b;
95
+ const appManifestRes = await utils_1.readAppManifest(inputs.projectPath);
96
+ if (appManifestRes.isErr())
97
+ return teamsfx_api_1.err(appManifestRes.error);
98
+ const appManifest = appManifestRes.value;
99
+ const capability = inputs.capability;
100
+ let staticTabIndex = (_b = (_a = appManifest.staticTabs) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0;
101
+ switch (capability.name) {
102
+ case "staticTab":
103
+ appManifest.staticTabs = appManifest.staticTabs || [];
104
+ if (capability.snippet) {
105
+ appManifest.staticTabs.push(capability.snippet);
106
+ }
107
+ else {
108
+ if (capability.existingApp) {
109
+ const template = lodash_1.cloneDeep(constants_1.STATIC_TABS_TPL_EXISTING_APP[0]);
110
+ template.entityId = "index" + staticTabIndex;
111
+ appManifest.staticTabs.push(template);
112
+ }
113
+ else {
114
+ const template = lodash_1.cloneDeep(constants_2.STATIC_TABS_TPL_V3[0]);
115
+ template.entityId = "index" + staticTabIndex;
116
+ appManifest.staticTabs.push(template);
117
+ }
118
+ staticTabIndex++;
119
+ }
120
+ break;
121
+ case "configurableTab":
122
+ appManifest.configurableTabs = appManifest.configurableTabs || [];
123
+ if (capability.snippet) {
124
+ appManifest.configurableTabs.push(capability.snippet);
125
+ }
126
+ else {
127
+ if (capability.existingApp) {
128
+ appManifest.configurableTabs = appManifest.configurableTabs.concat(constants_1.CONFIGURABLE_TABS_TPL_EXISTING_APP);
129
+ }
130
+ else {
131
+ appManifest.configurableTabs =
132
+ appManifest.configurableTabs.concat(constants_2.CONFIGURABLE_TABS_TPL_V3);
133
+ }
134
+ }
135
+ break;
136
+ case "Bot":
137
+ appManifest.bots = appManifest.bots || [];
138
+ if (capability.snippet) {
139
+ appManifest.bots.push(capability.snippet);
140
+ }
141
+ else {
142
+ if (capability.existingApp) {
143
+ appManifest.bots = appManifest.bots.concat(constants_1.BOTS_TPL_EXISTING_APP);
144
+ }
145
+ else {
146
+ if (appManifest.bots === undefined) {
147
+ appManifest.bots = [];
148
+ }
149
+ if (featureFlags_1.isBotNotificationEnabled()) {
150
+ const scenariosRaw = inputs[question_1.AzureSolutionQuestionNames.Scenarios];
151
+ const scenarios = Array.isArray(scenariosRaw) ? scenariosRaw : [];
152
+ if (scenarios.includes(question_1.BotScenario.CommandAndResponseBot)) {
153
+ // command and response bot
154
+ appManifest.bots = appManifest.bots.concat(constants_2.BOTS_TPL_FOR_COMMAND_AND_RESPONSE_V3);
155
+ }
156
+ else if (scenarios.includes(question_1.BotScenario.NotificationBot)) {
157
+ // notification
158
+ appManifest.bots = appManifest.bots.concat(constants_2.BOTS_TPL_FOR_NOTIFICATION_V3);
159
+ }
160
+ else {
161
+ // legacy bot
162
+ appManifest.bots = appManifest.bots.concat(constants_2.BOTS_TPL_V3);
163
+ }
164
+ }
165
+ else {
166
+ appManifest.bots = appManifest.bots.concat(constants_2.BOTS_TPL_V3);
167
+ }
168
+ }
169
+ }
170
+ break;
171
+ case "MessageExtension":
172
+ appManifest.composeExtensions = appManifest.composeExtensions || [];
173
+ if (capability.snippet) {
174
+ appManifest.composeExtensions.push(capability.snippet);
175
+ }
176
+ else {
177
+ if (capability.existingApp) {
178
+ appManifest.composeExtensions = appManifest.composeExtensions.concat(constants_1.COMPOSE_EXTENSIONS_TPL_EXISTING_APP);
179
+ }
180
+ else {
181
+ appManifest.composeExtensions =
182
+ appManifest.composeExtensions.concat(constants_2.COMPOSE_EXTENSIONS_TPL_V3);
183
+ }
184
+ }
185
+ break;
186
+ case "WebApplicationInfo":
187
+ if (capability.snippet) {
188
+ appManifest.webApplicationInfo = capability.snippet;
189
+ }
190
+ else {
191
+ appManifest.webApplicationInfo = constants_2.WEB_APPLICATION_INFO_V3;
192
+ }
193
+ break;
194
+ }
195
+ effect.remarks = `capability: ${capability.name}`;
196
+ await utils_1.writeAppManifest(appManifest, inputs.projectPath);
197
+ return teamsfx_api_1.ok([effect]);
198
+ },
199
+ };
200
+ return teamsfx_api_1.ok(action);
201
+ }
202
+ provision(context, inputs) {
203
+ const action = {
204
+ name: "app-manifest.provision",
205
+ type: "function",
206
+ plan: (context, inputs) => {
207
+ return teamsfx_api_1.ok([
208
+ {
209
+ type: "service",
210
+ name: "teams.microsoft.com",
211
+ remarks: "register or update teams app",
212
+ },
213
+ ]);
214
+ },
215
+ execute: async (context, inputs) => {
216
+ const ctx = context;
217
+ const res = await appStudio_1.createOrUpdateTeamsApp(ctx, inputs, ctx.envInfo, ctx.tokenProvider);
218
+ if (res.isErr())
219
+ return teamsfx_api_1.err(res.error);
220
+ return teamsfx_api_1.ok([
221
+ {
222
+ type: "service",
223
+ name: "teams.microsoft.com",
224
+ remarks: "register or update teams app",
225
+ },
226
+ ]);
227
+ },
228
+ };
229
+ return teamsfx_api_1.ok(action);
230
+ }
231
+ configure(context, inputs) {
232
+ return this.provision(context, inputs);
233
+ }
234
+ publish(context, inputs) {
235
+ const action = {
236
+ name: "app-manifest.publish",
237
+ type: "function",
238
+ plan: (context, inputs) => {
239
+ return teamsfx_api_1.ok([
240
+ {
241
+ type: "service",
242
+ name: "teams.microsoft.com",
243
+ remarks: "publish teams app",
244
+ },
245
+ ]);
246
+ },
247
+ execute: async (context, inputs) => {
248
+ const ctx = context;
249
+ const res = await appStudio_1.publishTeamsApp(ctx, inputs, ctx.envInfo, ctx.tokenProvider.appStudioToken);
250
+ if (res.isErr())
251
+ return teamsfx_api_1.err(res.error);
252
+ return teamsfx_api_1.ok([
253
+ {
254
+ type: "service",
255
+ name: "teams.microsoft.com",
256
+ remarks: "publish teams app",
257
+ },
258
+ ]);
259
+ },
260
+ };
261
+ return teamsfx_api_1.ok(action);
262
+ }
263
+ };
264
+ AppManifest = tslib_1.__decorate([
265
+ typedi_1.Service("app-manifest")
266
+ ], AppManifest);
267
+ exports.AppManifest = AppManifest;
268
+ //# sourceMappingURL=appManifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appManifest.js","sourceRoot":"","sources":["../../../../src/component/resource/appManifest/appManifest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { AppStudioTokenProvider, FxError, InputsWithProjectPath, Result, TeamsAppManifest, TokenProvider, v2, v3 } from "@microsoft/teamsfx-api";
2
+ export declare function createOrUpdateTeamsApp(ctx: v2.Context, inputs: InputsWithProjectPath, envInfo: v3.EnvInfoV3, tokenProvider: TokenProvider): Promise<Result<string, FxError>>;
3
+ export declare function publishTeamsApp(ctx: v2.Context, inputs: InputsWithProjectPath, envInfo: v3.EnvInfoV3, tokenProvider: AppStudioTokenProvider): Promise<Result<{
4
+ appName: string;
5
+ publishedAppId: string;
6
+ update: boolean;
7
+ }, FxError>>;
8
+ /**
9
+ * Build appPackage.{envName}.zip
10
+ * @returns Path for built Teams app package
11
+ */
12
+ export declare function buildTeamsAppPackage(projectPath: string, envInfo: v3.EnvInfoV3): Promise<Result<string, FxError>>;
13
+ /**
14
+ * Validate manifest
15
+ * @returns an array of validation error strings
16
+ */
17
+ export declare function validateManifest(manifest: TeamsAppManifest): Promise<Result<string[], FxError>>;
18
+ //# sourceMappingURL=appStudio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appStudio.d.ts","sourceRoot":"","sources":["../../../../src/component/resource/appManifest/appStudio.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,sBAAsB,EAGtB,OAAO,EACP,qBAAqB,EAErB,MAAM,EACN,gBAAgB,EAChB,aAAa,EACb,EAAE,EACF,EAAE,EACH,MAAM,wBAAwB,CAAC;AAehC,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,EAAE,CAAC,OAAO,EACf,MAAM,EAAE,qBAAqB,EAC7B,OAAO,EAAE,EAAE,CAAC,SAAS,EACrB,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA+FlC;AAED,wBAAsB,eAAe,CACnC,GAAG,EAAE,EAAE,CAAC,OAAO,EACf,MAAM,EAAE,qBAAqB,EAC7B,OAAO,EAAE,EAAE,CAAC,SAAS,EACrB,aAAa,EAAE,sBAAsB,GACpC,OAAO,CAAC,MAAM,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,EAAE,OAAO,CAAC,CAAC,CAmExF;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,EAAE,CAAC,SAAS,GACpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAuDlC;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC,CAGpC"}