@microsoft/teamsfx-core 3.1.4-alpha.dc668aaabb.0 → 3.1.4-alpha.df3411aa75.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 (239) hide show
  1. package/build/common/localizeUtils.d.ts +1 -0
  2. package/build/common/localizeUtils.d.ts.map +1 -1
  3. package/build/common/localizeUtils.js +10 -0
  4. package/build/common/localizeUtils.js.map +1 -1
  5. package/build/common/utils.d.ts.map +1 -1
  6. package/build/common/utils.js +1 -0
  7. package/build/common/utils.js.map +1 -1
  8. package/build/component/driver/interface/commonArgs.d.ts +1 -0
  9. package/build/component/driver/interface/commonArgs.d.ts.map +1 -1
  10. package/build/component/driver/util/utils.d.ts.map +1 -1
  11. package/build/component/driver/util/utils.js +1 -0
  12. package/build/component/driver/util/utils.js.map +1 -1
  13. package/build/component/generator/v4TemplateBridge.d.ts +1 -1
  14. package/build/component/generator/v4TemplateBridge.d.ts.map +1 -1
  15. package/build/component/generator/v4TemplateBridge.js +11 -6
  16. package/build/component/generator/v4TemplateBridge.js.map +1 -1
  17. package/build/component/middleware/questionMW.d.ts.map +1 -1
  18. package/build/component/middleware/questionMW.js +2 -0
  19. package/build/component/middleware/questionMW.js.map +1 -1
  20. package/build/component/utils/envUtil.d.ts +1 -1
  21. package/build/component/utils/envUtil.d.ts.map +1 -1
  22. package/build/component/utils/envUtil.js +10 -2
  23. package/build/component/utils/envUtil.js.map +1 -1
  24. package/build/component/utils/pathUtils.d.ts +4 -4
  25. package/build/component/utils/pathUtils.d.ts.map +1 -1
  26. package/build/component/utils/pathUtils.js +17 -8
  27. package/build/component/utils/pathUtils.js.map +1 -1
  28. package/build/component/utils/settingsUtil.d.ts +1 -1
  29. package/build/component/utils/settingsUtil.d.ts.map +1 -1
  30. package/build/component/utils/settingsUtil.js +3 -3
  31. package/build/component/utils/settingsUtil.js.map +1 -1
  32. package/build/core/FxCore.d.ts.map +1 -1
  33. package/build/core/FxCore.js +1 -0
  34. package/build/core/FxCore.js.map +1 -1
  35. package/build/index.d.ts +1 -1
  36. package/build/index.d.ts.map +1 -1
  37. package/build/index.js +4 -3
  38. package/build/index.js.map +1 -1
  39. package/build/question/scaffold/vsc/CapabilityOptions.d.ts.map +1 -1
  40. package/build/question/scaffold/vsc/CapabilityOptions.js +4 -1
  41. package/build/question/scaffold/vsc/CapabilityOptions.js.map +1 -1
  42. package/build/v4/capabilities/declarations.d.ts +140 -0
  43. package/build/v4/capabilities/declarations.d.ts.map +1 -0
  44. package/build/v4/capabilities/declarations.js +59 -0
  45. package/build/v4/capabilities/declarations.js.map +1 -0
  46. package/build/v4/collectInputs/collectInputs.d.ts +1 -0
  47. package/build/v4/collectInputs/collectInputs.d.ts.map +1 -1
  48. package/build/v4/collectInputs/collectInputs.js +113 -222
  49. package/build/v4/collectInputs/collectInputs.js.map +1 -1
  50. package/build/v4/distribution/declarativePackage.d.ts +2 -2
  51. package/build/v4/distribution/declarativePackage.d.ts.map +1 -1
  52. package/build/v4/distribution/declarativePackage.js +2 -1
  53. package/build/v4/distribution/declarativePackage.js.map +1 -1
  54. package/build/v4/distribution/descriptorLanguages.d.ts +9 -0
  55. package/build/v4/distribution/descriptorLanguages.d.ts.map +1 -0
  56. package/build/v4/distribution/descriptorLanguages.js +44 -0
  57. package/build/v4/distribution/descriptorLanguages.js.map +1 -0
  58. package/build/v4/distribution/packageDir.d.ts +6 -1
  59. package/build/v4/distribution/packageDir.d.ts.map +1 -1
  60. package/build/v4/distribution/packageDir.js +6 -1
  61. package/build/v4/distribution/packageDir.js.map +1 -1
  62. package/build/v4/engineVersion.d.ts +1 -1
  63. package/build/v4/engineVersion.js +1 -1
  64. package/build/v4/expression/evaluateExpression.d.ts.map +1 -1
  65. package/build/v4/expression/evaluateExpression.js +15 -13
  66. package/build/v4/expression/evaluateExpression.js.map +1 -1
  67. package/build/v4/mcp/mcpAuthScaffold.js +2 -2
  68. package/build/v4/mcp/mcpAuthScaffold.js.map +1 -1
  69. package/build/v4/pipeline/defineStep.d.ts +10 -0
  70. package/build/v4/pipeline/defineStep.d.ts.map +1 -0
  71. package/build/v4/pipeline/defineStep.js +28 -0
  72. package/build/v4/pipeline/defineStep.js.map +1 -0
  73. package/build/v4/pipeline/runScaffoldPipeline.d.ts +3 -7
  74. package/build/v4/pipeline/runScaffoldPipeline.d.ts.map +1 -1
  75. package/build/v4/pipeline/runScaffoldPipeline.js +26 -16
  76. package/build/v4/pipeline/runScaffoldPipeline.js.map +1 -1
  77. package/build/v4/pipeline/stepParams.d.ts +4 -0
  78. package/build/v4/pipeline/stepParams.d.ts.map +1 -0
  79. package/build/v4/pipeline/stepParams.js +17 -0
  80. package/build/v4/pipeline/stepParams.js.map +1 -0
  81. package/build/v4/providers/createLanguageOptionsProvider.d.ts +13 -0
  82. package/build/v4/providers/createLanguageOptionsProvider.d.ts.map +1 -0
  83. package/build/v4/providers/createLanguageOptionsProvider.js +61 -0
  84. package/build/v4/providers/createLanguageOptionsProvider.js.map +1 -0
  85. package/build/v4/providers/createOptionsProviders.d.ts +3 -1
  86. package/build/v4/providers/createOptionsProviders.d.ts.map +1 -1
  87. package/build/v4/providers/createOptionsProviders.js +67 -61
  88. package/build/v4/providers/createOptionsProviders.js.map +1 -1
  89. package/build/v4/runtime/compatibility/index.d.ts +4 -0
  90. package/build/v4/runtime/compatibility/index.d.ts.map +1 -0
  91. package/build/v4/runtime/compatibility/index.js +11 -0
  92. package/build/v4/runtime/compatibility/index.js.map +1 -0
  93. package/build/v4/runtime/compatibility/legacyOpenApiSearch.d.ts +4 -0
  94. package/build/v4/runtime/compatibility/legacyOpenApiSearch.d.ts.map +1 -0
  95. package/build/v4/runtime/compatibility/legacyOpenApiSearch.js +26 -0
  96. package/build/v4/runtime/compatibility/legacyOpenApiSearch.js.map +1 -0
  97. package/build/v4/runtime/functions/assets/officeAddin.json +48 -0
  98. package/build/v4/runtime/functions/generic.d.ts +10 -0
  99. package/build/v4/runtime/functions/generic.d.ts.map +1 -0
  100. package/build/v4/runtime/functions/generic.js +25 -0
  101. package/build/v4/runtime/functions/generic.js.map +1 -0
  102. package/build/v4/runtime/functions/mcp.d.ts +8 -0
  103. package/build/v4/runtime/functions/mcp.d.ts.map +1 -0
  104. package/build/v4/runtime/functions/mcp.js +28 -0
  105. package/build/v4/runtime/functions/mcp.js.map +1 -0
  106. package/build/v4/runtime/functions/officeAddin.d.ts +27 -0
  107. package/build/v4/runtime/functions/officeAddin.d.ts.map +1 -0
  108. package/build/v4/runtime/functions/officeAddin.js +120 -0
  109. package/build/v4/runtime/functions/officeAddin.js.map +1 -0
  110. package/build/v4/runtime/inMemoryRuntime.d.ts.map +1 -1
  111. package/build/v4/runtime/inMemoryRuntime.js +7 -0
  112. package/build/v4/runtime/inMemoryRuntime.js.map +1 -1
  113. package/build/v4/runtime/packageParse.d.ts +13 -8
  114. package/build/v4/runtime/packageParse.d.ts.map +1 -1
  115. package/build/v4/runtime/packageParse.js +13 -219
  116. package/build/v4/runtime/packageParse.js.map +1 -1
  117. package/build/v4/runtime/realRuntime.d.ts.map +1 -1
  118. package/build/v4/runtime/realRuntime.js +44 -5
  119. package/build/v4/runtime/realRuntime.js.map +1 -1
  120. package/build/v4/runtime/renderFragment.d.ts +2 -0
  121. package/build/v4/runtime/renderFragment.d.ts.map +1 -0
  122. package/build/v4/runtime/renderFragment.js +11 -0
  123. package/build/v4/runtime/renderFragment.js.map +1 -0
  124. package/build/v4/runtime/runtimeRegistry.d.ts +4 -4
  125. package/build/v4/runtime/runtimeRegistry.d.ts.map +1 -1
  126. package/build/v4/runtime/runtimeRegistry.js +9 -106
  127. package/build/v4/runtime/runtimeRegistry.js.map +1 -1
  128. package/build/v4/runtime/scaffold.d.ts +2 -0
  129. package/build/v4/runtime/scaffold.d.ts.map +1 -1
  130. package/build/v4/runtime/scaffold.js +15 -12
  131. package/build/v4/runtime/scaffold.js.map +1 -1
  132. package/build/v4/runtime/scaffoldFromPackageDir.d.ts.map +1 -1
  133. package/build/v4/runtime/scaffoldFromPackageDir.js +1 -4
  134. package/build/v4/runtime/scaffoldFromPackageDir.js.map +1 -1
  135. package/build/v4/runtime/selectLanguageContent.d.ts +1 -0
  136. package/build/v4/runtime/selectLanguageContent.d.ts.map +1 -1
  137. package/build/v4/runtime/selectLanguageContent.js +5 -1
  138. package/build/v4/runtime/selectLanguageContent.js.map +1 -1
  139. package/build/v4/runtime/services/daManifestService.d.ts +9 -0
  140. package/build/v4/runtime/services/daManifestService.d.ts.map +1 -0
  141. package/build/v4/runtime/services/daManifestService.js +102 -0
  142. package/build/v4/runtime/services/daManifestService.js.map +1 -0
  143. package/build/v4/runtime/steps/assets/metaOs.json +197 -0
  144. package/build/v4/runtime/steps/assets/openApiAuth.json +33 -0
  145. package/build/v4/runtime/steps/assets/openApiCustomApi.json +141 -0
  146. package/build/v4/runtime/steps/daAction.d.ts +3 -1
  147. package/build/v4/runtime/steps/daAction.d.ts.map +1 -1
  148. package/build/v4/runtime/steps/daAction.js +25 -25
  149. package/build/v4/runtime/steps/daAction.js.map +1 -1
  150. package/build/v4/runtime/steps/daSensitivity.d.ts +3 -2
  151. package/build/v4/runtime/steps/daSensitivity.d.ts.map +1 -1
  152. package/build/v4/runtime/steps/daSensitivity.js +16 -16
  153. package/build/v4/runtime/steps/daSensitivity.js.map +1 -1
  154. package/build/v4/runtime/steps/mcpAuth.d.ts +2 -2
  155. package/build/v4/runtime/steps/mcpAuth.d.ts.map +1 -1
  156. package/build/v4/runtime/steps/mcpAuth.js +40 -58
  157. package/build/v4/runtime/steps/mcpAuth.js.map +1 -1
  158. package/build/v4/runtime/steps/mcpLocal.d.ts +1 -1
  159. package/build/v4/runtime/steps/mcpLocal.d.ts.map +1 -1
  160. package/build/v4/runtime/steps/mcpLocal.js +19 -31
  161. package/build/v4/runtime/steps/mcpLocal.js.map +1 -1
  162. package/build/v4/runtime/steps/mcpStatic.d.ts +1 -1
  163. package/build/v4/runtime/steps/mcpStatic.d.ts.map +1 -1
  164. package/build/v4/runtime/steps/mcpStatic.js +33 -39
  165. package/build/v4/runtime/steps/mcpStatic.js.map +1 -1
  166. package/build/v4/runtime/steps/metaOs.d.ts +2 -2
  167. package/build/v4/runtime/steps/metaOs.d.ts.map +1 -1
  168. package/build/v4/runtime/steps/metaOs.js +46 -169
  169. package/build/v4/runtime/steps/metaOs.js.map +1 -1
  170. package/build/v4/runtime/steps/officeAddin.d.ts +1 -1
  171. package/build/v4/runtime/steps/officeAddin.d.ts.map +1 -1
  172. package/build/v4/runtime/steps/officeAddin.js +16 -20
  173. package/build/v4/runtime/steps/officeAddin.js.map +1 -1
  174. package/build/v4/runtime/steps/openApi.d.ts +2 -2
  175. package/build/v4/runtime/steps/openApi.d.ts.map +1 -1
  176. package/build/v4/runtime/steps/openApi.js +46 -112
  177. package/build/v4/runtime/steps/openApi.js.map +1 -1
  178. package/build/v4/runtime/steps/openApiAuth.d.ts +9 -0
  179. package/build/v4/runtime/steps/openApiAuth.d.ts.map +1 -0
  180. package/build/v4/runtime/steps/openApiAuth.js +51 -0
  181. package/build/v4/runtime/steps/openApiAuth.js.map +1 -0
  182. package/build/v4/runtime/steps/openApiCustomApi.d.ts.map +1 -1
  183. package/build/v4/runtime/steps/openApiCustomApi.js +9 -119
  184. package/build/v4/runtime/steps/openApiCustomApi.js.map +1 -1
  185. package/build/v4/runtime/whitelist.d.ts +4 -38
  186. package/build/v4/runtime/whitelist.d.ts.map +1 -1
  187. package/build/v4/runtime/whitelist.js +30 -190
  188. package/build/v4/runtime/whitelist.js.map +1 -1
  189. package/build/v4/surface/createFloorTail.d.ts +2 -2
  190. package/build/v4/surface/createFloorTail.d.ts.map +1 -1
  191. package/build/v4/surface/createFloorTail.js +5 -22
  192. package/build/v4/surface/createFloorTail.js.map +1 -1
  193. package/build/v4/surface/createInputs.d.ts +2 -2
  194. package/build/v4/surface/createInputs.d.ts.map +1 -1
  195. package/build/v4/surface/createInputs.js +17 -44
  196. package/build/v4/surface/createInputs.js.map +1 -1
  197. package/build/v4/surface/createSelectorWalk.d.ts.map +1 -1
  198. package/build/v4/surface/createSelectorWalk.js +2 -56
  199. package/build/v4/surface/createSelectorWalk.js.map +1 -1
  200. package/build/v4/surface/localizePrompt.d.ts +2 -0
  201. package/build/v4/surface/localizePrompt.d.ts.map +1 -1
  202. package/build/v4/surface/localizePrompt.js +0 -1
  203. package/build/v4/surface/localizePrompt.js.map +1 -1
  204. package/build/v4/surface/modifySelectorWalk.d.ts.map +1 -1
  205. package/build/v4/surface/modifySelectorWalk.js +2 -52
  206. package/build/v4/surface/modifySelectorWalk.js.map +1 -1
  207. package/build/v4/surface/selectorPresentation.d.ts +5 -0
  208. package/build/v4/surface/selectorPresentation.d.ts.map +1 -0
  209. package/build/v4/surface/selectorPresentation.js +78 -0
  210. package/build/v4/surface/selectorPresentation.js.map +1 -0
  211. package/build/v4/validation/capabilityCatalog.d.ts +2 -2
  212. package/build/v4/validation/capabilityCatalog.d.ts.map +1 -1
  213. package/build/v4/validation/capabilityCatalog.js +9 -46
  214. package/build/v4/validation/capabilityCatalog.js.map +1 -1
  215. package/build/v4/validation/packageParse.d.ts +27 -0
  216. package/build/v4/validation/packageParse.d.ts.map +1 -0
  217. package/build/v4/validation/packageParse.js +247 -0
  218. package/build/v4/validation/packageParse.js.map +1 -0
  219. package/build/v4/validation/templateArchiveValidation.d.ts +2 -2
  220. package/build/v4/validation/templateArchiveValidation.d.ts.map +1 -1
  221. package/build/v4/validation/templateArchiveValidation.js +7 -2
  222. package/build/v4/validation/templateArchiveValidation.js.map +1 -1
  223. package/build/v4/validation/validateTemplatePackage.d.ts +3 -2
  224. package/build/v4/validation/validateTemplatePackage.d.ts.map +1 -1
  225. package/build/v4/validation/validateTemplatePackage.js +23 -3
  226. package/build/v4/validation/validateTemplatePackage.js.map +1 -1
  227. package/build/v4/validators/createInputValidators.d.ts.map +1 -1
  228. package/build/v4/validators/createInputValidators.js +9 -8
  229. package/build/v4/validators/createInputValidators.js.map +1 -1
  230. package/package.json +3 -3
  231. package/resource/package.nls.json +4 -0
  232. package/templates/fallback/common.zip +0 -0
  233. package/templates/fallback/csharp.zip +0 -0
  234. package/templates/fallback/js.zip +0 -0
  235. package/templates/fallback/python.zip +0 -0
  236. package/templates/fallback/ts.zip +0 -0
  237. package/templates/metadata.zip +0 -0
  238. package/templates/v4/templates-metadata.zip +0 -0
  239. package/templates/v4/templates.zip +0 -0
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT license.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.officeAddinDebugApp = exports.officeAddinDebugScripts = exports.officeAddinLaunchCompounds = exports.officeAddinLaunchConfigurations = exports.officeAddinManifestScopes = exports.officeAddinManifestScope = void 0;
6
+ const tslib_1 = require("tslib");
7
+ const officeAddin_json_1 = tslib_1.__importDefault(require("./assets/officeAddin.json"));
8
+ const renderFragment_1 = require("../renderFragment");
9
+ const generic_1 = require("./generic");
10
+ /** Office add-in manifest requirement scope for each host id. */
11
+ const OFFICE_ADDIN_HOST_SCOPE = {
12
+ outlook: "mail",
13
+ excel: "workbook",
14
+ word: "document",
15
+ powerpoint: "presentation",
16
+ };
17
+ /** Stable host order for a deterministic multi-scope render. */
18
+ const OFFICE_ADDIN_HOST_ORDER = ["mail", "workbook", "document", "presentation"];
19
+ /** Whitelist fn `officeAddinManifestScope(host)` — the single-host manifest scope literal. */
20
+ const officeAddinManifestScope = (host) => `"${OFFICE_ADDIN_HOST_SCOPE[host] ?? OFFICE_ADDIN_HOST_SCOPE.word}"`;
21
+ exports.officeAddinManifestScope = officeAddinManifestScope;
22
+ /**
23
+ * Whitelist fn `officeAddinManifestScopes(csv)` — the multiSelect host set rendered
24
+ * as the inner body of a manifest `scopes` JSON array. Pre-joins so the array stays
25
+ * valid for any host subset (v3 parity: no trailing-comma breakage).
26
+ */
27
+ const officeAddinManifestScopes = (csv) => {
28
+ const selected = new Set((0, generic_1.parseCsv)(csv).map((host) => OFFICE_ADDIN_HOST_SCOPE[host]));
29
+ const scopes = OFFICE_ADDIN_HOST_ORDER.filter((scope) => selected.has(scope));
30
+ const body = scopes.length > 0 ? scopes : [OFFICE_ADDIN_HOST_SCOPE.word];
31
+ return body.map((scope) => `"${scope}"`).join(",\n ");
32
+ };
33
+ exports.officeAddinManifestScopes = officeAddinManifestScopes;
34
+ /**
35
+ * Debug launch surface for the Office task-pane template.
36
+ *
37
+ * These functions pre-join the `.vscode/launch.json` and `package.json` host
38
+ * entries instead of the `{{#HostOutlook}}` Mustache sections the manifest uses.
39
+ * The manifest's optional blocks each sit next to a guaranteed-present sibling
40
+ * (the default permission / runtime / ribbon), so a section can carry its own
41
+ * trailing comma safely. The launch configs, compounds, and debug scripts are
42
+ * *fully* optional arrays — every element depends on a host that may be
43
+ * deselected — so there is no anchor element to absorb a trailing comma, and
44
+ * flat Mustache cannot suppress the comma after the last selected block. A
45
+ * comma `join` over the selected hosts is the only comma-correct option, which
46
+ * only a function (not a template) can express.
47
+ *
48
+ * This mirrors how v3 handles the same files: rather than editing JSON text, v3
49
+ * scaffolds all hosts and then `Array.filter`s the parsed `configurations` /
50
+ * `compounds` / `scripts` and re-serializes (officeAddin generator `post`). v4
51
+ * has no post-render file mutation, so the equivalent filtered-list-to-string
52
+ * happens here at render time instead.
53
+ */
54
+ const OFFICE_ADDIN_HOST_LABEL = {
55
+ word: "Word",
56
+ excel: "Excel",
57
+ powerpoint: "PowerPoint",
58
+ outlook: "Outlook",
59
+ };
60
+ const OFFICE_ADDIN_LAUNCH_HOST_ORDER = ["word", "excel", "powerpoint", "outlook"];
61
+ /** Selected hosts in canonical order, defaulting to word when nothing is selected. */
62
+ function selectedLaunchHosts(csv) {
63
+ const selected = new Set((0, generic_1.parseCsv)(csv));
64
+ const hosts = OFFICE_ADDIN_LAUNCH_HOST_ORDER.filter((host) => selected.has(host));
65
+ return hosts.length > 0 ? hosts : ["word"];
66
+ }
67
+ /** Indent a multi-line JSON fragment so it nests under the given column. */
68
+ function indentJson(json, spaces) {
69
+ const pad = " ".repeat(spaces);
70
+ return json
71
+ .split("\n")
72
+ .map((line) => (line.length > 0 ? pad + line : line))
73
+ .join("\n");
74
+ }
75
+ /**
76
+ * Whitelist fn `officeAddinLaunchConfigurations(csv)` — the inner body of the
77
+ * `.vscode/launch.json` `configurations` array, limited to the selected hosts.
78
+ */
79
+ const officeAddinLaunchConfigurations = (csv) => {
80
+ const blocks = selectedLaunchHosts(csv).flatMap((host) => {
81
+ const label = OFFICE_ADDIN_HOST_LABEL[host];
82
+ return [
83
+ (0, renderFragment_1.renderFragment)(officeAddin_json_1.default.launchConfigurations[0], { host, label }),
84
+ (0, renderFragment_1.renderFragment)(officeAddin_json_1.default.launchConfigurations[1], { host, label }),
85
+ ];
86
+ });
87
+ return blocks
88
+ .map((block) => indentJson(block, 4))
89
+ .join(",\n")
90
+ .trimStart();
91
+ };
92
+ exports.officeAddinLaunchConfigurations = officeAddinLaunchConfigurations;
93
+ /**
94
+ * Whitelist fn `officeAddinLaunchCompounds(csv)` — the inner body of the
95
+ * `.vscode/launch.json` `compounds` array, limited to the selected hosts.
96
+ */
97
+ const officeAddinLaunchCompounds = (csv) => {
98
+ const blocks = selectedLaunchHosts(csv).map((host) => {
99
+ const label = OFFICE_ADDIN_HOST_LABEL[host];
100
+ return (0, renderFragment_1.renderFragment)(officeAddin_json_1.default.launchCompounds[0], { host, label });
101
+ });
102
+ return blocks
103
+ .map((block) => indentJson(block, 4))
104
+ .join(",\n")
105
+ .trimStart();
106
+ };
107
+ exports.officeAddinLaunchCompounds = officeAddinLaunchCompounds;
108
+ /**
109
+ * Whitelist fn `officeAddinDebugScripts(csv)` — the `start:desktop:<host>` npm
110
+ * script entries for the selected hosts, each on its own line with a trailing comma.
111
+ */
112
+ const officeAddinDebugScripts = (csv) => selectedLaunchHosts(csv)
113
+ .map((host) => (0, renderFragment_1.renderFragment)(officeAddin_json_1.default.debugScripts[0], { host }))
114
+ .join("\n")
115
+ .trimStart();
116
+ exports.officeAddinDebugScripts = officeAddinDebugScripts;
117
+ /** Whitelist fn `officeAddinDebugApp(csv)` — the default `app_to_debug` host. */
118
+ const officeAddinDebugApp = (csv) => selectedLaunchHosts(csv)[0];
119
+ exports.officeAddinDebugApp = officeAddinDebugApp;
120
+ //# sourceMappingURL=officeAddin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"officeAddin.js","sourceRoot":"","sources":["../../../../src/v4/runtime/functions/officeAddin.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"inMemoryRuntime.d.ts","sourceRoot":"","sources":["../../../src/v4/runtime/inMemoryRuntime.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAIjD,OAAO,EAAY,YAAY,EAAqB,MAAM,mBAAmB,CAAC;AAE9E,qDAAqD;AAErD,uGAAuG;AACvG,MAAM,WAAW,eAAe;IAC9B,mEAAmE;IACnE,IAAI,EAAE,mBAAmB,CAAC;IAC1B,6FAA6F;IAC7F,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,wFAAwF;IACxF,0BAA0B,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7D,gEAAgE;IAChE,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,+FAA+F;IAC/F,QAAQ,EAAE,qBAAqB,CAAC;CACjC;AAED,kCAAkC;AAClC,wBAAgB,qBAAqB,CACnC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,EACtC,YAAY,CAAC,EAAE,YAAY,GAC1B,eAAe,CAoCjB"}
1
+ {"version":3,"file":"inMemoryRuntime.d.ts","sourceRoot":"","sources":["../../../src/v4/runtime/inMemoryRuntime.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAIjD,OAAO,EAAY,YAAY,EAAqB,MAAM,mBAAmB,CAAC;AAE9E,qDAAqD;AAErD,uGAAuG;AACvG,MAAM,WAAW,eAAe;IAC9B,mEAAmE;IACnE,IAAI,EAAE,mBAAmB,CAAC;IAC1B,6FAA6F;IAC7F,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,wFAAwF;IACxF,0BAA0B,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7D,gEAAgE;IAChE,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,+FAA+F;IAC/F,QAAQ,EAAE,qBAAqB,CAAC;CACjC;AAED,kCAAkC;AAClC,wBAAgB,qBAAqB,CACnC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,EACtC,YAAY,CAAC,EAAE,YAAY,GAC1B,eAAe,CA2CjB"}
@@ -14,6 +14,13 @@ function createInMemoryRuntime(flagReader, stepRegistry) {
14
14
  const warnings = [];
15
15
  const exprPort = (0, whitelist_1.createExpressionPort)(flagReader);
16
16
  const sink = {
17
+ writeNew: (path, data) => {
18
+ if (files.has(path)) {
19
+ return false;
20
+ }
21
+ files.set(path, data);
22
+ return true;
23
+ },
17
24
  write: (path, data) => {
18
25
  files.set(path, data);
19
26
  },
@@ -1 +1 @@
1
- {"version":3,"file":"inMemoryRuntime.js","sourceRoot":"","sources":["../../../src/v4/runtime/inMemoryRuntime.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;AA2BlC,sDAuCC;AA7DD,2DAA2D;AAC3D,2CAAgC;AAChC,2CAAmD;AACnD,uDAA8E;AAkB9E,kCAAkC;AAClC,SAAgB,qBAAqB,CACnC,UAAsC,EACtC,YAA2B;IAE3B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,MAAM,0BAA0B,GAAG,IAAI,GAAG,EAA+B,CAAC;IAC1E,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,IAAA,gCAAoB,EAAC,UAAU,CAAC,CAAC;IAClD,MAAM,IAAI,GAAa;QACrB,KAAK,EAAE,CAAC,IAAY,EAAE,IAAY,EAAQ,EAAE;YAC1C,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,EAAE,CAAC,IAAY,EAAsB,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;KAC5D,CAAC;IACF,MAAM,IAAI,GAAG,IAAA,mCAAiB,EAC5B,QAAQ,EACR,IAAI,EACJ,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE;QACtB,MAAM,eAAe,GAAG,YAAY,WAAW,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,oBAAU,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7F,MAAM,OAAO,GAAG,0BAA0B,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,GAAG,EAAkB,CAAC;QACzF,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACnD,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;QACrC,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,oBAAU,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QAC9E,0BAA0B,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACrD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAA,eAAE,EAAC,SAAS,CAAC,CAAC,CAAC;IACxC,CAAC,EACD,YAAY,EACZ,CAAC,OAAgB,EAAQ,EAAE;QACzB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC,CACF,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,0BAA0B,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AACzE,CAAC"}
1
+ {"version":3,"file":"inMemoryRuntime.js","sourceRoot":"","sources":["../../../src/v4/runtime/inMemoryRuntime.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;AA2BlC,sDA8CC;AApED,2DAA2D;AAC3D,2CAAgC;AAChC,2CAAmD;AACnD,uDAA8E;AAkB9E,kCAAkC;AAClC,SAAgB,qBAAqB,CACnC,UAAsC,EACtC,YAA2B;IAE3B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,MAAM,0BAA0B,GAAG,IAAI,GAAG,EAA+B,CAAC;IAC1E,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,IAAA,gCAAoB,EAAC,UAAU,CAAC,CAAC;IAClD,MAAM,IAAI,GAAa;QACrB,QAAQ,EAAE,CAAC,IAAY,EAAE,IAAY,EAAW,EAAE;YAChD,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpB,OAAO,KAAK,CAAC;YACf,CAAC;YACD,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,EAAE,CAAC,IAAY,EAAE,IAAY,EAAQ,EAAE;YAC1C,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,EAAE,CAAC,IAAY,EAAsB,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;KAC5D,CAAC;IACF,MAAM,IAAI,GAAG,IAAA,mCAAiB,EAC5B,QAAQ,EACR,IAAI,EACJ,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE;QACtB,MAAM,eAAe,GAAG,YAAY,WAAW,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,oBAAU,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7F,MAAM,OAAO,GAAG,0BAA0B,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,GAAG,EAAkB,CAAC;QACzF,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACnD,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;QACrC,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,oBAAU,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QAC9E,0BAA0B,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACrD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAA,eAAE,EAAC,SAAS,CAAC,CAAC,CAAC;IACxC,CAAC,EACD,YAAY,EACZ,CAAC,OAAgB,EAAQ,EAAE;QACzB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC,CACF,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,0BAA0B,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AACzE,CAAC"}
@@ -1,13 +1,18 @@
1
- import { FxError } from "@microsoft/teamsfx-api";
2
- import { Result } from "neverthrow";
3
- import { ReplaceMapEntry } from "../renderContext/buildRenderContext";
4
- import { Pipeline } from "../pipeline/runScaffoldPipeline";
5
- /** `SystemError` name: a package file's shape is not the discriminated form (a build gate gap). */
6
- export declare const PACKAGE_PARSE_ERROR = "TemplatePackageParseError";
1
+ import type { FxError } from "@microsoft/teamsfx-api";
2
+ import type { Result } from "neverthrow";
3
+ import type { ReplaceMapEntry } from "../renderContext/buildRenderContext";
4
+ import type { TemplateFileEntry } from "../model/dataModel";
5
+ import type { Pipeline } from "../pipeline/runScaffoldPipeline";
6
+ import type { PreparedTemplate } from "../validation/packageParse";
7
+ export { PACKAGE_PARSE_ERROR, parseDeclaredKeys } from "../validation/packageParse";
8
+ export type { PreparedTemplate } from "../validation/packageParse";
9
+ export declare function prepareTemplate(raw: {
10
+ descriptor: unknown;
11
+ pipeline: unknown;
12
+ content: TemplateFileEntry[];
13
+ }): Result<PreparedTemplate, FxError>;
7
14
  /** Extract `descriptor.replaceMap` as a typed entry list (absent ⇒ empty). */
8
15
  export declare function parseReplaceMap(descriptor: unknown): Result<ReplaceMapEntry[], FxError>;
9
- /** Extract declared option ids used to seed the render-context identifier domain. */
10
- export declare function parseDeclaredKeys(descriptor: unknown): string[];
11
16
  /** Extract a parsed `pipeline.json` as a typed `Pipeline`. */
12
17
  export declare function parsePipeline(raw: unknown): Result<Pipeline, FxError>;
13
18
  //# sourceMappingURL=packageParse.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"packageParse.d.ts","sourceRoot":"","sources":["../../../src/v4/runtime/packageParse.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAe,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAW,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EACL,QAAQ,EAKT,MAAM,iCAAiC,CAAC;AAMzC,mGAAmG;AACnG,eAAO,MAAM,mBAAmB,8BAA8B,CAAC;AA6C/D,8EAA8E;AAC9E,wBAAgB,eAAe,CAAC,UAAU,EAAE,OAAO,GAAG,MAAM,CAAC,eAAe,EAAE,EAAE,OAAO,CAAC,CAoBvF;AAED,qFAAqF;AACrF,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE,CAa/D;AAwHD,8DAA8D;AAC9D,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAiCrE"}
1
+ {"version":3,"file":"packageParse.d.ts","sourceRoot":"","sources":["../../../src/v4/runtime/packageParse.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAEhE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpF,YAAY,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAMnE,wBAAgB,eAAe,CAAC,GAAG,EAAE;IACnC,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,iBAAiB,EAAE,CAAC;CAC9B,GAAG,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAEpC;AAED,8EAA8E;AAC9E,wBAAgB,eAAe,CAAC,UAAU,EAAE,OAAO,GAAG,MAAM,CAAC,eAAe,EAAE,EAAE,OAAO,CAAC,CAEvF;AAED,8DAA8D;AAC9D,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAErE"}
@@ -2,234 +2,28 @@
2
2
  // Copyright (c) Microsoft Corporation.
3
3
  // Licensed under the MIT license.
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.PACKAGE_PARSE_ERROR = void 0;
5
+ exports.parseDeclaredKeys = exports.PACKAGE_PARSE_ERROR = void 0;
6
+ exports.prepareTemplate = prepareTemplate;
6
7
  exports.parseReplaceMap = parseReplaceMap;
7
- exports.parseDeclaredKeys = parseDeclaredKeys;
8
8
  exports.parsePipeline = parsePipeline;
9
+ const tslib_1 = require("tslib");
9
10
  const teamsfx_api_1 = require("@microsoft/teamsfx-api");
10
- const neverthrow_1 = require("neverthrow");
11
- /** Typed boundary parsers for descriptor and pipeline JSON. */
12
- const SOURCE = "Scaffold";
13
- /** `SystemError` name: a package file's shape is not the discriminated form (a build gate gap). */
14
- exports.PACKAGE_PARSE_ERROR = "TemplatePackageParseError";
15
- function systemError(message) {
16
- return new teamsfx_api_1.SystemError({ source: SOURCE, name: exports.PACKAGE_PARSE_ERROR, message });
11
+ const parser = tslib_1.__importStar(require("../validation/packageParse"));
12
+ var packageParse_1 = require("../validation/packageParse");
13
+ Object.defineProperty(exports, "PACKAGE_PARSE_ERROR", { enumerable: true, get: function () { return packageParse_1.PACKAGE_PARSE_ERROR; } });
14
+ Object.defineProperty(exports, "parseDeclaredKeys", { enumerable: true, get: function () { return packageParse_1.parseDeclaredKeys; } });
15
+ function systemError(name, message) {
16
+ return new teamsfx_api_1.SystemError({ source: "Scaffold", name, message });
17
17
  }
18
- function isRecord(value) {
19
- return typeof value === "object" && value !== null && !Array.isArray(value);
20
- }
21
- /** Read a record field as a string, or `undefined` when absent / non-string. */
22
- function stringField(record, key) {
23
- const value = record[key];
24
- return typeof value === "string" ? value : undefined;
25
- }
26
- /** Discriminate one `replaceMap` entry by its present producer key (`const`/`from`/`expr`/`when`). */
27
- function toReplaceMapEntry(item) {
28
- if (!isRecord(item)) {
29
- return undefined;
30
- }
31
- const varName = stringField(item, "var");
32
- if (varName === undefined) {
33
- return undefined;
34
- }
35
- const constVal = stringField(item, "const");
36
- if (constVal !== undefined) {
37
- return { var: varName, const: constVal };
38
- }
39
- const fromVal = stringField(item, "from");
40
- if (fromVal !== undefined) {
41
- return { var: varName, from: fromVal };
42
- }
43
- const exprVal = stringField(item, "expr");
44
- if (exprVal !== undefined) {
45
- return { var: varName, expr: exprVal };
46
- }
47
- const whenVal = stringField(item, "when");
48
- const valueVal = stringField(item, "value");
49
- if (whenVal !== undefined && valueVal !== undefined) {
50
- return { var: varName, when: whenVal, value: valueVal };
51
- }
52
- return undefined;
18
+ function prepareTemplate(raw) {
19
+ return parser.prepareTemplate(raw, systemError);
53
20
  }
54
21
  /** Extract `descriptor.replaceMap` as a typed entry list (absent ⇒ empty). */
55
22
  function parseReplaceMap(descriptor) {
56
- if (!isRecord(descriptor)) {
57
- return (0, neverthrow_1.err)(systemError("descriptor.json must be a JSON object"));
58
- }
59
- const raw = descriptor.replaceMap;
60
- if (raw === undefined) {
61
- return (0, neverthrow_1.ok)([]);
62
- }
63
- if (!Array.isArray(raw)) {
64
- return (0, neverthrow_1.err)(systemError("descriptor.replaceMap must be an array"));
65
- }
66
- const entries = [];
67
- for (const item of raw) {
68
- const entry = toReplaceMapEntry(item);
69
- if (entry === undefined) {
70
- return (0, neverthrow_1.err)(systemError(`invalid replaceMap entry: ${JSON.stringify(item)}`));
71
- }
72
- entries.push(entry);
73
- }
74
- return (0, neverthrow_1.ok)(entries);
75
- }
76
- /** Extract declared option ids used to seed the render-context identifier domain. */
77
- function parseDeclaredKeys(descriptor) {
78
- if (!isRecord(descriptor)) {
79
- return [];
80
- }
81
- const optionsSchema = descriptor.optionsSchema;
82
- if (!isRecord(optionsSchema)) {
83
- return [];
84
- }
85
- const properties = optionsSchema.properties;
86
- if (!isRecord(properties)) {
87
- return [];
88
- }
89
- return Object.keys(properties);
90
- }
91
- function toStringArray(raw) {
92
- if (!Array.isArray(raw)) {
93
- return undefined;
94
- }
95
- const out = [];
96
- for (const value of raw) {
97
- if (typeof value !== "string") {
98
- return undefined;
99
- }
100
- out.push(value);
101
- }
102
- return out;
103
- }
104
- /** Coerce a `with` block to `StepParams` (string | boolean | string[] values only). */
105
- function toStepParams(raw) {
106
- if (!isRecord(raw)) {
107
- return undefined;
108
- }
109
- const params = {};
110
- for (const [key, value] of Object.entries(raw)) {
111
- if (typeof value === "string" || typeof value === "boolean") {
112
- params[key] = value;
113
- continue;
114
- }
115
- const stringArray = toStringArray(value);
116
- if (stringArray === undefined) {
117
- return undefined;
118
- }
119
- params[key] = stringArray;
120
- }
121
- return params;
122
- }
123
- function applyConditionalMetadata(item, target, rejectMalformedWhen) {
124
- const comment = stringField(item, "comment");
125
- if (comment !== undefined) {
126
- target.comment = comment;
127
- }
128
- const when = stringField(item, "when");
129
- if (when !== undefined) {
130
- target.when = when;
131
- }
132
- else if (rejectMalformedWhen && item.when !== undefined) {
133
- return false;
134
- }
135
- return true;
136
- }
137
- function toPipelineStep(item) {
138
- if (!isRecord(item)) {
139
- return undefined;
140
- }
141
- const stepName = stringField(item, "step");
142
- if (stepName === undefined) {
143
- return undefined;
144
- }
145
- const result = { step: stepName };
146
- if (!applyConditionalMetadata(item, result, false)) {
147
- return undefined;
148
- }
149
- if (item.with !== undefined) {
150
- const params = toStepParams(item.with);
151
- if (params === undefined) {
152
- return undefined;
153
- }
154
- result.with = params;
155
- }
156
- if (item.produces !== undefined) {
157
- const produces = toStringArray(item.produces);
158
- if (produces === undefined) {
159
- return undefined;
160
- }
161
- result.produces = produces;
162
- }
163
- return result;
164
- }
165
- function toRenderFilter(item) {
166
- if (!isRecord(item)) {
167
- return undefined;
168
- }
169
- const exclude = toStringArray(item.exclude);
170
- if (exclude === undefined) {
171
- return undefined;
172
- }
173
- const result = { exclude };
174
- if (!applyConditionalMetadata(item, result, true)) {
175
- return undefined;
176
- }
177
- return result;
178
- }
179
- function toPipelineRender(raw) {
180
- if (!isRecord(raw)) {
181
- return undefined;
182
- }
183
- const result = {};
184
- if (raw.filters !== undefined) {
185
- if (!Array.isArray(raw.filters)) {
186
- return undefined;
187
- }
188
- const filters = [];
189
- for (const item of raw.filters) {
190
- const filter = toRenderFilter(item);
191
- if (filter === undefined) {
192
- return undefined;
193
- }
194
- filters.push(filter);
195
- }
196
- result.filters = filters;
197
- }
198
- return result;
23
+ return parser.parseReplaceMap(descriptor, systemError);
199
24
  }
200
25
  /** Extract a parsed `pipeline.json` as a typed `Pipeline`. */
201
26
  function parsePipeline(raw) {
202
- if (!isRecord(raw)) {
203
- return (0, neverthrow_1.err)(systemError("pipeline.json must be a JSON object"));
204
- }
205
- const name = stringField(raw, "pipeline");
206
- if (name === undefined) {
207
- return (0, neverthrow_1.err)(systemError("pipeline.pipeline (the orchestration name) is required"));
208
- }
209
- if (!Array.isArray(raw.steps)) {
210
- return (0, neverthrow_1.err)(systemError("pipeline.steps must be an array"));
211
- }
212
- const steps = [];
213
- for (const item of raw.steps) {
214
- const step = toPipelineStep(item);
215
- if (step === undefined) {
216
- return (0, neverthrow_1.err)(systemError(`invalid pipeline step: ${JSON.stringify(item)}`));
217
- }
218
- steps.push(step);
219
- }
220
- const comment = stringField(raw, "comment");
221
- let render;
222
- if (raw.render !== undefined) {
223
- render = toPipelineRender(raw.render);
224
- if (render === undefined) {
225
- return (0, neverthrow_1.err)(systemError(`invalid pipeline render: ${JSON.stringify(raw.render)}`));
226
- }
227
- }
228
- return (0, neverthrow_1.ok)({
229
- pipeline: name,
230
- ...(comment !== undefined ? { comment } : {}),
231
- ...(render !== undefined ? { render } : {}),
232
- steps,
233
- });
27
+ return parser.parsePipeline(raw, systemError);
234
28
  }
235
29
  //# sourceMappingURL=packageParse.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"packageParse.js","sourceRoot":"","sources":["../../../src/v4/runtime/packageParse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"packageParse.js","sourceRoot":"","sources":["../../../src/v4/runtime/packageParse.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAkBlC,0CAMC;AAGD,0CAEC;AAGD,sCAEC;;AAhCD,wDAAqD;AAMrD,2EAAqD;AAGrD,2DAAoF;AAA3E,mHAAA,mBAAmB,OAAA;AAAE,iHAAA,iBAAiB,OAAA;AAG/C,SAAS,WAAW,CAAC,IAAY,EAAE,OAAe;IAChD,OAAO,IAAI,yBAAW,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AAChE,CAAC;AAED,SAAgB,eAAe,CAAC,GAI/B;IACC,OAAO,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;AAClD,CAAC;AAED,8EAA8E;AAC9E,SAAgB,eAAe,CAAC,UAAmB;IACjD,OAAO,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AACzD,CAAC;AAED,8DAA8D;AAC9D,SAAgB,aAAa,CAAC,GAAY;IACxC,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;AAChD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"realRuntime.d.ts","sourceRoot":"","sources":["../../../src/v4/runtime/realRuntime.ts"],"names":[],"mappings":"AAGA,OAAO,EAAe,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAM9D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAY,YAAY,EAAqB,MAAM,mBAAmB,CAAC;AAkC9E,wFAAwF;AACxF,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD,gEAAgE;IAChE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,oDAAoD;AACpD,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,EACtC,YAAY,CAAC,EAAE,YAAY,EAC3B,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GACvC,WAAW,CA4Bb"}
1
+ {"version":3,"file":"realRuntime.d.ts","sourceRoot":"","sources":["../../../src/v4/runtime/realRuntime.ts"],"names":[],"mappings":"AAGA,OAAO,EAAe,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAO9D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAY,YAAY,EAAqB,MAAM,mBAAmB,CAAC;AAoD9E,wFAAwF;AACxF,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD,gEAAgE;IAChE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,oDAAoD;AACpD,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,EACtC,YAAY,CAAC,EAAE,YAAY,EAC3B,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GACvC,WAAW,CA+Cb"}
@@ -5,8 +5,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.createRealRuntime = createRealRuntime;
6
6
  const tslib_1 = require("tslib");
7
7
  const teamsfx_api_1 = require("@microsoft/teamsfx-api");
8
- const fs = tslib_1.__importStar(require("fs-extra"));
8
+ const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
9
9
  const path = tslib_1.__importStar(require("path"));
10
+ const localizeUtils_1 = require("../../common/localizeUtils");
10
11
  const envUtil_1 = require("../../component/utils/envUtil");
11
12
  const whitelist_1 = require("./whitelist");
12
13
  const runtimeRegistry_1 = require("./runtimeRegistry");
@@ -26,6 +27,25 @@ function containedPath(rootDir, entryPath) {
26
27
  message: `The scaffold tried to write outside the output directory: "${entryPath}".`,
27
28
  });
28
29
  }
30
+ let componentPath = base;
31
+ for (const component of rel.split(path.sep)) {
32
+ componentPath = path.join(componentPath, component);
33
+ try {
34
+ if (fs_extra_1.default.lstatSync(componentPath).isSymbolicLink()) {
35
+ throw new teamsfx_api_1.SystemError({
36
+ source: SOURCE,
37
+ name: SCAFFOLD_PATH_ESCAPE,
38
+ message: (0, localizeUtils_1.getLocalizedString)("core.openPluginExport.invalidOutputPath"),
39
+ });
40
+ }
41
+ }
42
+ catch (error) {
43
+ if (isFileNotFound(error)) {
44
+ break;
45
+ }
46
+ throw error;
47
+ }
48
+ }
29
49
  return out;
30
50
  }
31
51
  /** Narrow an unknown thrown value to one carrying a string-ish `code` field. */
@@ -40,15 +60,29 @@ function isFileNotFound(error) {
40
60
  function createRealRuntime(rootDir, flagReader, stepRegistry, warningSink) {
41
61
  const exprPort = (0, whitelist_1.createExpressionPort)(flagReader);
42
62
  const sink = {
63
+ writeNew: (entryPath, data) => {
64
+ const target = containedPath(rootDir, entryPath);
65
+ fs_extra_1.default.ensureDirSync(path.dirname(target));
66
+ try {
67
+ fs_extra_1.default.writeFileSync(target, data, { flag: "wx" });
68
+ return true;
69
+ }
70
+ catch (error) {
71
+ if (hasCode(error) && error.code === "EEXIST") {
72
+ return false;
73
+ }
74
+ throw error;
75
+ }
76
+ },
43
77
  write: (entryPath, data) => {
44
78
  const target = containedPath(rootDir, entryPath);
45
- fs.ensureDirSync(path.dirname(target));
46
- fs.writeFileSync(target, data);
79
+ fs_extra_1.default.ensureDirSync(path.dirname(target));
80
+ fs_extra_1.default.writeFileSync(target, data);
47
81
  },
48
82
  read: (entryPath) => {
49
83
  const target = containedPath(rootDir, entryPath);
50
84
  try {
51
- return fs.readFileSync(target);
85
+ return fs_extra_1.default.readFileSync(target);
52
86
  }
53
87
  catch (error) {
54
88
  if (isFileNotFound(error)) {
@@ -58,7 +92,12 @@ function createRealRuntime(rootDir, flagReader, stepRegistry, warningSink) {
58
92
  }
59
93
  },
60
94
  };
61
- const port = (0, runtimeRegistry_1.buildPipelinePort)(exprPort, sink, (environment, values) => envUtil_1.envUtil.writeEnv(rootDir, environment, { ...values }), stepRegistry, warningSink);
95
+ const port = (0, runtimeRegistry_1.buildPipelinePort)(exprPort, sink, (environment, values) => envUtil_1.envUtil.writeEnv(rootDir, environment, { ...values }, (filePath) => {
96
+ const absolutePath = path.resolve(filePath);
97
+ if (absolutePath !== path.resolve(rootDir)) {
98
+ containedPath(rootDir, absolutePath);
99
+ }
100
+ }), stepRegistry, warningSink);
62
101
  return { rootDir, exprPort, port };
63
102
  }
64
103
  //# sourceMappingURL=realRuntime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"realRuntime.js","sourceRoot":"","sources":["../../../src/v4/runtime/realRuntime.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;AAkDlC,8CAiCC;;AAjFD,wDAA8D;AAC9D,qDAA+B;AAC/B,mDAA6B;AAC7B,2DAAwD;AAExD,2CAAmD;AAEnD,uDAA8E;AAE9E,4EAA4E;AAE5E,MAAM,MAAM,GAAG,UAAU,CAAC;AAE1B,gFAAgF;AAChF,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;AAElD,yFAAyF;AACzF,SAAS,aAAa,CAAC,OAAe,EAAE,SAAiB;IACvD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACrC,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1F,MAAM,IAAI,yBAAW,CAAC;YACpB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,8DAA8D,SAAS,IAAI;SACrF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,gFAAgF;AAChF,SAAS,OAAO,CAAC,KAAc;IAC7B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK,CAAC;AACxE,CAAC;AAED,oFAAoF;AACpF,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;AACnD,CAAC;AAQD,oDAAoD;AACpD,SAAgB,iBAAiB,CAC/B,OAAe,EACf,UAAsC,EACtC,YAA2B,EAC3B,WAAwC;IAExC,MAAM,QAAQ,GAA0B,IAAA,gCAAoB,EAAC,UAAU,CAAC,CAAC;IACzE,MAAM,IAAI,GAAa;QACrB,KAAK,EAAE,CAAC,SAAiB,EAAE,IAAY,EAAQ,EAAE;YAC/C,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YACjD,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YACvC,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,EAAE,CAAC,SAAiB,EAAsB,EAAE;YAC9C,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YACjD,IAAI,CAAC;gBACH,OAAO,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACjC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC1B,OAAO,SAAS,CAAC;gBACnB,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;KACF,CAAC;IACF,MAAM,IAAI,GAAG,IAAA,mCAAiB,EAC5B,QAAQ,EACR,IAAI,EACJ,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,CAAC,iBAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,EAC9E,YAAY,EACZ,WAAW,CACZ,CAAC;IACF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"realRuntime.js","sourceRoot":"","sources":["../../../src/v4/runtime/realRuntime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function renderFragment(lines: readonly string[], values: object): string;
2
+ //# sourceMappingURL=renderFragment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderFragment.d.ts","sourceRoot":"","sources":["../../../src/v4/runtime/renderFragment.ts"],"names":[],"mappings":"AAKA,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAE/E"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT license.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.renderFragment = renderFragment;
6
+ const tslib_1 = require("tslib");
7
+ const mustache_1 = tslib_1.__importDefault(require("mustache"));
8
+ function renderFragment(lines, values) {
9
+ return mustache_1.default.render(lines.join("\n"), values, undefined, { escape: (value) => value });
10
+ }
11
+ //# sourceMappingURL=renderFragment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderFragment.js","sourceRoot":"","sources":["../../../src/v4/runtime/renderFragment.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;AAIlC,wCAEC;;AAJD,gEAAgC;AAEhC,SAAgB,cAAc,CAAC,KAAwB,EAAE,MAAc;IACrE,OAAO,kBAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;AAC5F,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import { FxError, Warning } from "@microsoft/teamsfx-api";
2
2
  import { Result } from "neverthrow";
3
3
  import { ExpressionRuntimePort } from "../expression/evaluateExpression";
4
- import { ManifestWrapper, PipelineRuntimePort, RegisteredStep } from "../pipeline/runScaffoldPipeline";
4
+ import { PipelineRuntimePort, RegisteredStep } from "../pipeline/runScaffoldPipeline";
5
+ import { DaManifestService } from "./services/daManifestService";
5
6
  import { GeneralSensitivityLabelService } from "./steps/daSensitivity";
6
7
  /** Shared v4 pipeline registry and port factory. See ADR-0017 for whitelist rules. */
7
8
  /** The orchestration names the engine knows (ADR-0017 closed whitelist). */
@@ -9,13 +10,12 @@ export declare const KNOWN_PIPELINES: Set<string>;
9
10
  /** Generic named-step lookup assembled at a runtime composition boundary. */
10
11
  export type StepRegistry = ReadonlyMap<string, RegisteredStep>;
11
12
  /** Bind runtime-owned business adapters into the closed post-render step whitelist. */
12
- export declare function createStepRegistry(generalSensitivityLabel?: GeneralSensitivityLabelService): StepRegistry;
13
+ export declare function createStepRegistry(generalSensitivityLabel?: GeneralSensitivityLabelService, manifests?: DaManifestService): StepRegistry;
13
14
  /** Default post-render step whitelist for offline runtimes and compatibility tests. */
14
15
  export declare const STEP_REGISTRY: StepRegistry;
15
- /** No-op wrapper for create flows that do not mutate a manifest. */
16
- export declare const NOOP_MANIFEST_WRAPPER: ManifestWrapper;
17
16
  /** Runtime-specific file sink injected behind the shared pipeline port. */
18
17
  export interface FileSink {
18
+ writeNew(path: string, data: Buffer): boolean;
19
19
  /** Persist `data` at `path` (a target-relative, forward-slash path). */
20
20
  write(path: string, data: Buffer): void;
21
21
  /** Read back a previously written file, or `undefined` when absent (EAFP). */
@@ -1 +1 @@
1
- {"version":3,"file":"runtimeRegistry.d.ts","sourceRoot":"","sources":["../../../src/v4/runtime/runtimeRegistry.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,OAAO,EAGP,OAAO,EACR,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,MAAM,EAAW,MAAM,YAAY,CAAC;AAG7C,OAAO,EAAE,qBAAqB,EAA6B,MAAM,kCAAkC,CAAC;AACpG,OAAO,EACL,eAAe,EAEf,mBAAmB,EACnB,cAAc,EACf,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EACL,8BAA8B,EAI/B,MAAM,uBAAuB,CAAC;AAyB/B,sFAAsF;AAEtF,4EAA4E;AAC5E,eAAO,MAAM,eAAe,aAAqE,CAAC;AAElG,6EAA6E;AAC7E,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAE/D,uFAAuF;AACvF,wBAAgB,kBAAkB,CAChC,uBAAuB,GAAE,8BAAuE,GAC/F,YAAY,CAcd;AAED,uFAAuF;AACvF,eAAO,MAAM,aAAa,cAAuB,CAAC;AAElD,oEAAoE;AACpE,eAAO,MAAM,qBAAqB,EAAE,eAQnC,CAAC;AA8JF,2EAA2E;AAC3E,MAAM,WAAW,QAAQ;IACvB,wEAAwE;IACxE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,8EAA8E;IAC9E,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACxC;AAED,oFAAoF;AACpF,MAAM,MAAM,iBAAiB,GAAG,CAC9B,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC3B,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AAcpC,iEAAiE;AACjE,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,qBAAqB,EAC/B,IAAI,EAAE,QAAQ,EACd,iBAAiB,EAAE,iBAAiB,EACpC,YAAY,GAAE,YAA4B,EAC1C,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GACvC,mBAAmB,CAiBrB"}
1
+ {"version":3,"file":"runtimeRegistry.d.ts","sourceRoot":"","sources":["../../../src/v4/runtime/runtimeRegistry.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,qBAAqB,EAA6B,MAAM,kCAAkC,CAAC;AACpG,OAAO,EAEL,mBAAmB,EACnB,cAAc,EACf,MAAM,iCAAiC,CAAC;AAMzC,OAAO,EAAE,iBAAiB,EAAqB,MAAM,8BAA8B,CAAC;AACpF,OAAO,EACL,8BAA8B,EAI/B,MAAM,uBAAuB,CAAC;AAyB/B,sFAAsF;AAEtF,4EAA4E;AAC5E,eAAO,MAAM,eAAe,aAAqE,CAAC;AAElG,6EAA6E;AAC7E,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAE/D,uFAAuF;AACvF,wBAAgB,kBAAkB,CAChC,uBAAuB,GAAE,8BAAuE,EAChG,SAAS,GAAE,iBAAqC,GAC/C,YAAY,CAiBd;AAED,uFAAuF;AACvF,eAAO,MAAM,aAAa,cAAuB,CAAC;AAElD,2EAA2E;AAC3E,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9C,wEAAwE;IACxE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,8EAA8E;IAC9E,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACxC;AAED,oFAAoF;AACpF,MAAM,MAAM,iBAAiB,GAAG,CAC9B,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC3B,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AAcpC,iEAAiE;AACjE,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,qBAAqB,EAC/B,IAAI,EAAE,QAAQ,EACd,iBAAiB,EAAE,iBAAiB,EACpC,YAAY,GAAE,YAA4B,EAC1C,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GACvC,mBAAmB,CAiBrB"}