@microsoft/teamsfx-core 3.0.15 → 3.0.16-alpha.027c46bf2b.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 (370) hide show
  1. package/build/client/aadAppClient.d.ts.map +1 -1
  2. package/build/client/aadAppClient.js +6 -6
  3. package/build/client/aadAppClient.js.map +1 -1
  4. package/build/common/featureFlags.d.ts +0 -5
  5. package/build/common/featureFlags.d.ts.map +1 -1
  6. package/build/common/featureFlags.js +0 -5
  7. package/build/common/featureFlags.js.map +1 -1
  8. package/build/common/httpProxy.d.ts +21 -0
  9. package/build/common/httpProxy.d.ts.map +1 -0
  10. package/build/common/httpProxy.js +117 -0
  11. package/build/common/httpProxy.js.map +1 -0
  12. package/build/common/mcpToolFetcher.d.ts +90 -0
  13. package/build/common/mcpToolFetcher.d.ts.map +1 -0
  14. package/build/common/mcpToolFetcher.js +404 -0
  15. package/build/common/mcpToolFetcher.js.map +1 -0
  16. package/build/common/odrProvider.d.ts +43 -0
  17. package/build/common/odrProvider.d.ts.map +1 -0
  18. package/build/common/odrProvider.js +154 -0
  19. package/build/common/odrProvider.js.map +1 -0
  20. package/build/common/openApiParserOptions.d.ts +3 -0
  21. package/build/common/openApiParserOptions.d.ts.map +1 -0
  22. package/build/common/openApiParserOptions.js +61 -0
  23. package/build/common/openApiParserOptions.js.map +1 -0
  24. package/build/common/secretmasker/dict.d.ts.map +1 -1
  25. package/build/common/secretmasker/dict.js +5 -2
  26. package/build/common/secretmasker/dict.js.map +1 -1
  27. package/build/common/secretmasker/feature.js.map +1 -1
  28. package/build/common/templates-config.json +4 -4
  29. package/build/component/coordinator/index.d.ts.map +1 -1
  30. package/build/component/coordinator/index.js.map +1 -1
  31. package/build/component/deps-checker/internal/dotnetChecker.js.map +1 -1
  32. package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.d.ts +3 -0
  33. package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.d.ts.map +1 -1
  34. package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.js +38 -3
  35. package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.js.map +1 -1
  36. package/build/component/driver/script/scriptDriver.js +1 -1
  37. package/build/component/driver/script/scriptDriver.js.map +1 -1
  38. package/build/component/driver/teamsApp/create.d.ts.map +1 -1
  39. package/build/component/driver/teamsApp/create.js +3 -3
  40. package/build/component/driver/teamsApp/create.js.map +1 -1
  41. package/build/component/driver/teamsApp/createAppPackage.d.ts +1 -0
  42. package/build/component/driver/teamsApp/createAppPackage.d.ts.map +1 -1
  43. package/build/component/driver/teamsApp/createAppPackage.js +23 -0
  44. package/build/component/driver/teamsApp/createAppPackage.js.map +1 -1
  45. package/build/component/driver/teamsApp/utils/CopilotGptManifestUtils.js.map +1 -1
  46. package/build/component/generator/declarativeAgent/helper.d.ts.map +1 -1
  47. package/build/component/generator/declarativeAgent/helper.js +25 -2
  48. package/build/component/generator/declarativeAgent/helper.js.map +1 -1
  49. package/build/component/generator/generatorAction.d.ts +3 -1
  50. package/build/component/generator/generatorAction.d.ts.map +1 -1
  51. package/build/component/generator/generatorAction.js.map +1 -1
  52. package/build/component/generator/officeAddin/generator.d.ts +1 -0
  53. package/build/component/generator/officeAddin/generator.d.ts.map +1 -1
  54. package/build/component/generator/officeAddin/generator.js +109 -2
  55. package/build/component/generator/officeAddin/generator.js.map +1 -1
  56. package/build/component/generator/openApiSpec/helper.d.ts +2 -3
  57. package/build/component/generator/openApiSpec/helper.d.ts.map +1 -1
  58. package/build/component/generator/openApiSpec/helper.js +19 -57
  59. package/build/component/generator/openApiSpec/helper.js.map +1 -1
  60. package/build/component/generator/templateHelper.d.ts +10 -2
  61. package/build/component/generator/templateHelper.d.ts.map +1 -1
  62. package/build/component/generator/templateHelper.js +16 -3
  63. package/build/component/generator/templateHelper.js.map +1 -1
  64. package/build/component/generator/templates/metadata/index.d.ts +15 -0
  65. package/build/component/generator/templates/metadata/index.d.ts.map +1 -1
  66. package/build/component/generator/templates/metadata/index.js +39 -0
  67. package/build/component/generator/templates/metadata/index.js.map +1 -1
  68. package/build/component/generator/templates/templateNames.d.ts +2 -0
  69. package/build/component/generator/templates/templateNames.d.ts.map +1 -1
  70. package/build/component/generator/templates/templateNames.js +2 -0
  71. package/build/component/generator/templates/templateNames.js.map +1 -1
  72. package/build/component/generator/utils.d.ts.map +1 -1
  73. package/build/component/generator/utils.js +6 -0
  74. package/build/component/generator/utils.js.map +1 -1
  75. package/build/component/generator/v4TemplateBridge.d.ts +4 -1
  76. package/build/component/generator/v4TemplateBridge.d.ts.map +1 -1
  77. package/build/component/generator/v4TemplateBridge.js +19 -3
  78. package/build/component/generator/v4TemplateBridge.js.map +1 -1
  79. package/build/component/utils/envUtil.d.ts.map +1 -1
  80. package/build/component/utils/envUtil.js +2 -2
  81. package/build/component/utils/envUtil.js.map +1 -1
  82. package/build/component/utils/fileOperation.d.ts.map +1 -1
  83. package/build/component/utils/fileOperation.js +4 -1
  84. package/build/component/utils/fileOperation.js.map +1 -1
  85. package/build/component/utils/mcpAuthScaffolder.d.ts +28 -0
  86. package/build/component/utils/mcpAuthScaffolder.d.ts.map +1 -1
  87. package/build/component/utils/mcpAuthScaffolder.js +39 -4
  88. package/build/component/utils/mcpAuthScaffolder.js.map +1 -1
  89. package/build/component/utils/mcpToolFetcher.d.ts +1 -72
  90. package/build/component/utils/mcpToolFetcher.d.ts.map +1 -1
  91. package/build/component/utils/mcpToolFetcher.js +1 -227
  92. package/build/component/utils/mcpToolFetcher.js.map +1 -1
  93. package/build/component/utils/odrProvider.d.ts +1 -55
  94. package/build/component/utils/odrProvider.d.ts.map +1 -1
  95. package/build/component/utils/odrProvider.js +1 -101
  96. package/build/component/utils/odrProvider.js.map +1 -1
  97. package/build/core/FxCore.d.ts.map +1 -1
  98. package/build/core/FxCore.declarativeAgent.d.ts.map +1 -1
  99. package/build/core/FxCore.declarativeAgent.js +110 -3
  100. package/build/core/FxCore.declarativeAgent.js.map +1 -1
  101. package/build/core/FxCore.js +4 -6
  102. package/build/core/FxCore.js.map +1 -1
  103. package/build/core/createFrontDoorAdapters.d.ts +4 -27
  104. package/build/core/createFrontDoorAdapters.d.ts.map +1 -1
  105. package/build/core/createFrontDoorAdapters.js +17 -157
  106. package/build/core/createFrontDoorAdapters.js.map +1 -1
  107. package/build/core/createProjectFrontDoor.d.ts +10 -12
  108. package/build/core/createProjectFrontDoor.d.ts.map +1 -1
  109. package/build/core/createProjectFrontDoor.js +143 -106
  110. package/build/core/createProjectFrontDoor.js.map +1 -1
  111. package/build/core/modifyProjectFrontDoor.d.ts +0 -1
  112. package/build/core/modifyProjectFrontDoor.d.ts.map +1 -1
  113. package/build/core/modifyProjectFrontDoor.js +0 -2
  114. package/build/core/modifyProjectFrontDoor.js.map +1 -1
  115. package/build/index.d.ts +3 -2
  116. package/build/index.d.ts.map +1 -1
  117. package/build/index.js +9 -1
  118. package/build/index.js.map +1 -1
  119. package/build/question/create.d.ts.map +1 -1
  120. package/build/question/create.js +2 -1
  121. package/build/question/create.js.map +1 -1
  122. package/build/question/inputs/AddKnowledgeInputs.d.ts.map +1 -1
  123. package/build/question/inputs/CreateProjectInputs.d.ts +4 -0
  124. package/build/question/inputs/CreateProjectInputs.d.ts.map +1 -1
  125. package/build/question/options/CreateProjectOptions.d.ts.map +1 -1
  126. package/build/question/options/CreateProjectOptions.js +14 -0
  127. package/build/question/options/CreateProjectOptions.js.map +1 -1
  128. package/build/question/other.d.ts.map +1 -1
  129. package/build/question/other.js +11 -1
  130. package/build/question/other.js.map +1 -1
  131. package/build/question/questionNames.d.ts +2 -0
  132. package/build/question/questionNames.d.ts.map +1 -1
  133. package/build/question/questionNames.js +2 -0
  134. package/build/question/questionNames.js.map +1 -1
  135. package/build/question/scaffold/constructNode.d.ts +3 -1
  136. package/build/question/scaffold/constructNode.d.ts.map +1 -1
  137. package/build/question/scaffold/constructNode.js +50 -0
  138. package/build/question/scaffold/constructNode.js.map +1 -1
  139. package/build/question/scaffold/vsc/CapabilityOptions.d.ts +2 -0
  140. package/build/question/scaffold/vsc/CapabilityOptions.d.ts.map +1 -1
  141. package/build/question/scaffold/vsc/CapabilityOptions.js +16 -0
  142. package/build/question/scaffold/vsc/CapabilityOptions.js.map +1 -1
  143. package/build/question/scaffold/vsc/teamsProjectTypeNode.d.ts +19 -1
  144. package/build/question/scaffold/vsc/teamsProjectTypeNode.d.ts.map +1 -1
  145. package/build/question/scaffold/vsc/teamsProjectTypeNode.js +39 -7
  146. package/build/question/scaffold/vsc/teamsProjectTypeNode.js.map +1 -1
  147. package/build/v4/buildTarget/parseSelector.d.ts +6 -2
  148. package/build/v4/buildTarget/parseSelector.d.ts.map +1 -1
  149. package/build/v4/buildTarget/parseSelector.js +58 -45
  150. package/build/v4/buildTarget/parseSelector.js.map +1 -1
  151. package/build/v4/buildTarget/resolveBuildTarget.d.ts +21 -7
  152. package/build/v4/buildTarget/resolveBuildTarget.d.ts.map +1 -1
  153. package/build/v4/buildTarget/resolveBuildTarget.js +97 -52
  154. package/build/v4/buildTarget/resolveBuildTarget.js.map +1 -1
  155. package/build/v4/collectInputs/collectInputs.d.ts +51 -10
  156. package/build/v4/collectInputs/collectInputs.d.ts.map +1 -1
  157. package/build/v4/collectInputs/collectInputs.js +287 -91
  158. package/build/v4/collectInputs/collectInputs.js.map +1 -1
  159. package/build/v4/distribution/createQuestions.d.ts.map +1 -1
  160. package/build/v4/distribution/createQuestions.js +2 -29
  161. package/build/v4/distribution/createQuestions.js.map +1 -1
  162. package/build/v4/distribution/declarativePackage.d.ts.map +1 -1
  163. package/build/v4/distribution/declarativePackage.js +2 -30
  164. package/build/v4/distribution/declarativePackage.js.map +1 -1
  165. package/build/v4/distribution/questionFragments.d.ts +11 -0
  166. package/build/v4/distribution/questionFragments.d.ts.map +1 -0
  167. package/build/v4/distribution/questionFragments.js +130 -0
  168. package/build/v4/distribution/questionFragments.js.map +1 -0
  169. package/build/v4/engineVersion.d.ts +7 -0
  170. package/build/v4/engineVersion.d.ts.map +1 -0
  171. package/build/v4/engineVersion.js +12 -0
  172. package/build/v4/engineVersion.js.map +1 -0
  173. package/build/v4/expression/evaluateExpression.d.ts +13 -0
  174. package/build/v4/expression/evaluateExpression.d.ts.map +1 -1
  175. package/build/v4/expression/evaluateExpression.js +57 -0
  176. package/build/v4/expression/evaluateExpression.js.map +1 -1
  177. package/build/v4/index.d.ts +7 -0
  178. package/build/v4/index.d.ts.map +1 -1
  179. package/build/v4/index.js +7 -0
  180. package/build/v4/index.js.map +1 -1
  181. package/build/v4/inspection/scaffoldCatalog.d.ts +28 -0
  182. package/build/v4/inspection/scaffoldCatalog.d.ts.map +1 -0
  183. package/build/v4/inspection/scaffoldCatalog.js +66 -0
  184. package/build/v4/inspection/scaffoldCatalog.js.map +1 -0
  185. package/build/v4/inspection/scaffoldMetadataSource.d.ts +6 -0
  186. package/build/v4/inspection/scaffoldMetadataSource.d.ts.map +1 -0
  187. package/build/v4/inspection/scaffoldMetadataSource.js +78 -0
  188. package/build/v4/inspection/scaffoldMetadataSource.js.map +1 -0
  189. package/build/v4/mcp/mcpAuthAction.d.ts +36 -0
  190. package/build/v4/mcp/mcpAuthAction.d.ts.map +1 -0
  191. package/build/v4/mcp/mcpAuthAction.js +177 -0
  192. package/build/v4/mcp/mcpAuthAction.js.map +1 -0
  193. package/build/v4/mcp/mcpAuthScaffold.d.ts +37 -0
  194. package/build/v4/mcp/mcpAuthScaffold.d.ts.map +1 -0
  195. package/build/v4/mcp/mcpAuthScaffold.js +162 -0
  196. package/build/v4/mcp/mcpAuthScaffold.js.map +1 -0
  197. package/build/v4/model/dataModel.d.ts +1 -1
  198. package/build/v4/model/dataModel.d.ts.map +1 -1
  199. package/build/v4/pipeline/runScaffoldPipeline.d.ts +27 -5
  200. package/build/v4/pipeline/runScaffoldPipeline.d.ts.map +1 -1
  201. package/build/v4/pipeline/runScaffoldPipeline.js +64 -10
  202. package/build/v4/pipeline/runScaffoldPipeline.js.map +1 -1
  203. package/build/v4/providers/createOptionsProviders.d.ts +11 -0
  204. package/build/v4/providers/createOptionsProviders.d.ts.map +1 -0
  205. package/build/v4/providers/createOptionsProviders.js +268 -0
  206. package/build/v4/providers/createOptionsProviders.js.map +1 -0
  207. package/build/v4/renderContext/buildRenderContext.d.ts.map +1 -1
  208. package/build/v4/renderContext/buildRenderContext.js +4 -6
  209. package/build/v4/renderContext/buildRenderContext.js.map +1 -1
  210. package/build/v4/runtime/generalSensitivityLabel.d.ts +5 -0
  211. package/build/v4/runtime/generalSensitivityLabel.d.ts.map +1 -0
  212. package/build/v4/runtime/generalSensitivityLabel.js +36 -0
  213. package/build/v4/runtime/generalSensitivityLabel.js.map +1 -0
  214. package/build/v4/runtime/inMemoryRuntime.d.ts +7 -1
  215. package/build/v4/runtime/inMemoryRuntime.d.ts.map +1 -1
  216. package/build/v4/runtime/inMemoryRuntime.js +25 -3
  217. package/build/v4/runtime/inMemoryRuntime.js.map +1 -1
  218. package/build/v4/runtime/packageParse.d.ts.map +1 -1
  219. package/build/v4/runtime/packageParse.js +64 -8
  220. package/build/v4/runtime/packageParse.js.map +1 -1
  221. package/build/v4/runtime/realRuntime.d.ts +3 -1
  222. package/build/v4/runtime/realRuntime.d.ts.map +1 -1
  223. package/build/v4/runtime/realRuntime.js +3 -2
  224. package/build/v4/runtime/realRuntime.js.map +1 -1
  225. package/build/v4/runtime/renderMustache.d.ts.map +1 -1
  226. package/build/v4/runtime/renderMustache.js +13 -4
  227. package/build/v4/runtime/renderMustache.js.map +1 -1
  228. package/build/v4/runtime/runtimeRegistry.d.ts +12 -3
  229. package/build/v4/runtime/runtimeRegistry.d.ts.map +1 -1
  230. package/build/v4/runtime/runtimeRegistry.js +123 -17
  231. package/build/v4/runtime/runtimeRegistry.js.map +1 -1
  232. package/build/v4/runtime/scaffold.d.ts +1 -0
  233. package/build/v4/runtime/scaffold.d.ts.map +1 -1
  234. package/build/v4/runtime/scaffold.js +1 -20
  235. package/build/v4/runtime/scaffold.js.map +1 -1
  236. package/build/v4/runtime/steps/daAction.d.ts.map +1 -1
  237. package/build/v4/runtime/steps/daAction.js +3 -111
  238. package/build/v4/runtime/steps/daAction.js.map +1 -1
  239. package/build/v4/runtime/steps/daSensitivity.d.ts +14 -0
  240. package/build/v4/runtime/steps/daSensitivity.d.ts.map +1 -0
  241. package/build/v4/runtime/steps/daSensitivity.js +50 -0
  242. package/build/v4/runtime/steps/daSensitivity.js.map +1 -0
  243. package/build/v4/runtime/steps/mcpAuth.d.ts +5 -2
  244. package/build/v4/runtime/steps/mcpAuth.d.ts.map +1 -1
  245. package/build/v4/runtime/steps/mcpAuth.js +37 -66
  246. package/build/v4/runtime/steps/mcpAuth.js.map +1 -1
  247. package/build/v4/runtime/steps/mcpLocal.d.ts +0 -4
  248. package/build/v4/runtime/steps/mcpLocal.d.ts.map +1 -1
  249. package/build/v4/runtime/steps/mcpLocal.js +11 -31
  250. package/build/v4/runtime/steps/mcpLocal.js.map +1 -1
  251. package/build/v4/runtime/steps/mcpStatic.d.ts +1 -1
  252. package/build/v4/runtime/steps/mcpStatic.d.ts.map +1 -1
  253. package/build/v4/runtime/steps/mcpStatic.js +14 -32
  254. package/build/v4/runtime/steps/mcpStatic.js.map +1 -1
  255. package/build/v4/runtime/steps/metaOs.d.ts.map +1 -1
  256. package/build/v4/runtime/steps/metaOs.js +39 -51
  257. package/build/v4/runtime/steps/metaOs.js.map +1 -1
  258. package/build/v4/runtime/steps/officeAddin.d.ts.map +1 -1
  259. package/build/v4/runtime/steps/officeAddin.js +7 -12
  260. package/build/v4/runtime/steps/officeAddin.js.map +1 -1
  261. package/build/v4/runtime/steps/openApi.d.ts.map +1 -1
  262. package/build/v4/runtime/steps/openApi.js +85 -566
  263. package/build/v4/runtime/steps/openApi.js.map +1 -1
  264. package/build/v4/runtime/steps/openApiCustomApi.d.ts +5 -0
  265. package/build/v4/runtime/steps/openApiCustomApi.d.ts.map +1 -0
  266. package/build/v4/runtime/steps/openApiCustomApi.js +385 -0
  267. package/build/v4/runtime/steps/openApiCustomApi.js.map +1 -0
  268. package/build/v4/runtime/whitelist.d.ts +27 -0
  269. package/build/v4/runtime/whitelist.d.ts.map +1 -1
  270. package/build/v4/runtime/whitelist.js +156 -1
  271. package/build/v4/runtime/whitelist.js.map +1 -1
  272. package/build/v4/runtime/withTempDirectory.d.ts +10 -0
  273. package/build/v4/runtime/withTempDirectory.d.ts.map +1 -0
  274. package/build/v4/runtime/withTempDirectory.js +41 -0
  275. package/build/v4/runtime/withTempDirectory.js.map +1 -0
  276. package/build/v4/surface/createFloorTail.d.ts +12 -0
  277. package/build/v4/surface/createFloorTail.d.ts.map +1 -0
  278. package/build/v4/surface/createFloorTail.js +138 -0
  279. package/build/v4/surface/createFloorTail.js.map +1 -0
  280. package/build/v4/surface/createInputs.d.ts +25 -3
  281. package/build/v4/surface/createInputs.d.ts.map +1 -1
  282. package/build/v4/surface/createInputs.js +54 -431
  283. package/build/v4/surface/createInputs.js.map +1 -1
  284. package/build/v4/surface/createSelectorWalk.d.ts +8 -3
  285. package/build/v4/surface/createSelectorWalk.d.ts.map +1 -1
  286. package/build/v4/surface/createSelectorWalk.js +21 -11
  287. package/build/v4/surface/createSelectorWalk.js.map +1 -1
  288. package/build/v4/surface/deriveCreateOptions.d.ts.map +1 -1
  289. package/build/v4/surface/deriveCreateOptions.js +5 -2
  290. package/build/v4/surface/deriveCreateOptions.js.map +1 -1
  291. package/build/v4/surface/localizePrompt.d.ts +11 -0
  292. package/build/v4/surface/localizePrompt.d.ts.map +1 -0
  293. package/build/v4/surface/localizePrompt.js +32 -0
  294. package/build/v4/surface/localizePrompt.js.map +1 -0
  295. package/build/v4/surface/modifySelectorWalk.d.ts.map +1 -1
  296. package/build/v4/surface/modifySelectorWalk.js +0 -3
  297. package/build/v4/surface/modifySelectorWalk.js.map +1 -1
  298. package/build/v4/surface/uiPromptUI.d.ts.map +1 -1
  299. package/build/v4/surface/uiPromptUI.js +45 -45
  300. package/build/v4/surface/uiPromptUI.js.map +1 -1
  301. package/build/v4/validation/capabilityCatalog.d.ts +8 -0
  302. package/build/v4/validation/capabilityCatalog.d.ts.map +1 -0
  303. package/build/v4/validation/capabilityCatalog.js +62 -0
  304. package/build/v4/validation/capabilityCatalog.js.map +1 -0
  305. package/build/v4/validation/templateArchiveValidation.d.ts +15 -0
  306. package/build/v4/validation/templateArchiveValidation.d.ts.map +1 -0
  307. package/build/v4/validation/templateArchiveValidation.js +297 -0
  308. package/build/v4/validation/templateArchiveValidation.js.map +1 -0
  309. package/build/v4/validation/validateTemplatePackage.d.ts +21 -2
  310. package/build/v4/validation/validateTemplatePackage.d.ts.map +1 -1
  311. package/build/v4/validation/validateTemplatePackage.js +155 -31
  312. package/build/v4/validation/validateTemplatePackage.js.map +1 -1
  313. package/build/v4/validators/createInputValidators.d.ts +7 -0
  314. package/build/v4/validators/createInputValidators.d.ts.map +1 -0
  315. package/build/v4/validators/createInputValidators.js +77 -0
  316. package/build/v4/validators/createInputValidators.js.map +1 -0
  317. package/build/v4/validators/mcpCredentialValidators.d.ts +5 -0
  318. package/build/v4/validators/mcpCredentialValidators.d.ts.map +1 -0
  319. package/build/v4/validators/mcpCredentialValidators.js +13 -0
  320. package/build/v4/validators/mcpCredentialValidators.js.map +1 -0
  321. package/build/v4/validators/mcpServerUrlValidator.d.ts +9 -0
  322. package/build/v4/validators/mcpServerUrlValidator.d.ts.map +1 -0
  323. package/build/v4/validators/mcpServerUrlValidator.js +15 -0
  324. package/build/v4/validators/mcpServerUrlValidator.js.map +1 -0
  325. package/package.json +29 -23
  326. package/resource/package.nls.cs.json +56 -54
  327. package/resource/package.nls.de.json +56 -54
  328. package/resource/package.nls.es.json +55 -53
  329. package/resource/package.nls.fr.json +56 -54
  330. package/resource/package.nls.it.json +55 -53
  331. package/resource/package.nls.ja.json +56 -54
  332. package/resource/package.nls.json +10 -3
  333. package/resource/package.nls.ko.json +56 -54
  334. package/resource/package.nls.pl.json +56 -54
  335. package/resource/package.nls.pt-BR.json +56 -54
  336. package/resource/package.nls.ru.json +56 -54
  337. package/resource/package.nls.tr.json +56 -54
  338. package/resource/package.nls.zh-Hans.json +56 -54
  339. package/resource/package.nls.zh-Hant.json +56 -54
  340. package/resource/templates/package.nls.cs.json +22 -9
  341. package/resource/templates/package.nls.de.json +22 -9
  342. package/resource/templates/package.nls.es.json +22 -9
  343. package/resource/templates/package.nls.fr.json +22 -9
  344. package/resource/templates/package.nls.it.json +22 -9
  345. package/resource/templates/package.nls.ja.json +22 -9
  346. package/resource/templates/package.nls.json +16 -3
  347. package/resource/templates/package.nls.ko.json +22 -9
  348. package/resource/templates/package.nls.pl.json +22 -9
  349. package/resource/templates/package.nls.pt-BR.json +22 -9
  350. package/resource/templates/package.nls.ru.json +22 -9
  351. package/resource/templates/package.nls.tr.json +22 -9
  352. package/resource/templates/package.nls.zh-Hans.json +22 -9
  353. package/resource/templates/package.nls.zh-Hant.json +22 -9
  354. package/resource/templates/package.nls.zh-cn.json +7 -1
  355. package/resource/templates/package.nls.zh-tw.json +7 -1
  356. package/templates/fallback/common.zip +0 -0
  357. package/templates/fallback/csharp.zip +0 -0
  358. package/templates/fallback/js.zip +0 -0
  359. package/templates/fallback/python.zip +0 -0
  360. package/templates/fallback/ts.zip +0 -0
  361. package/templates/metadata/allTemplates.json +16 -2
  362. package/templates/metadata.zip +0 -0
  363. package/templates/ui/wizardNode.json +24 -0
  364. package/templates/v4/create-selector.json +30 -5
  365. package/templates/v4/floor.json +1 -1
  366. package/templates/v4/modify-selector.json +1 -6
  367. package/templates/v4/templates-metadata.zip +0 -0
  368. package/templates/v4/templates.zip +0 -0
  369. package/templates/configs/local/typescript/.gitignore +0 -1
  370. package/templates/configs/playground/typescript/.gitignore +0 -4
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) Microsoft Corporation.
3
3
  // Licensed under the MIT license.
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.pathDelimiter = exports.safeProjectNameLowerCase = exports.mcpAuthRef = exports.mcpNamespace = void 0;
5
+ exports.officeAddinDebugApp = exports.officeAddinDebugScripts = exports.officeAddinLaunchCompounds = exports.officeAddinLaunchConfigurations = exports.officeAddinManifestScopes = exports.officeAddinManifestScope = exports.contains = exports.pathDelimiter = exports.safeProjectNameLowerCase = exports.mcpAuthRef = exports.mcpNamespace = void 0;
6
6
  exports.deriveMcpServerName = deriveMcpServerName;
7
7
  exports.createExpressionPort = createExpressionPort;
8
8
  const tslib_1 = require("tslib");
@@ -35,12 +35,167 @@ exports.safeProjectNameLowerCase = safeProjectNameLowerCase;
35
35
  /** Whitelist fn `pathDelimiter()` for PATH-like launch configuration values. */
36
36
  const pathDelimiter = () => path.delimiter;
37
37
  exports.pathDelimiter = pathDelimiter;
38
+ /** Office add-in manifest requirement scope for each host id. */
39
+ const OFFICE_ADDIN_HOST_SCOPE = {
40
+ outlook: "mail",
41
+ excel: "workbook",
42
+ word: "document",
43
+ powerpoint: "presentation",
44
+ };
45
+ /** Stable host order for a deterministic multi-scope render. */
46
+ const OFFICE_ADDIN_HOST_ORDER = ["mail", "workbook", "document", "presentation"];
47
+ /** Parse a comma-joined multiSelect answer into its selected ids. */
48
+ function parseCsv(csv) {
49
+ return csv
50
+ .split(",")
51
+ .map((item) => item.trim())
52
+ .filter((item) => item.length > 0);
53
+ }
54
+ /** Whitelist fn `contains(csv, item)` — `"true"` when a multiSelect answer selects `item`. */
55
+ const contains = (csv, item) => parseCsv(csv).includes(item) ? "true" : "";
56
+ exports.contains = contains;
57
+ /** Whitelist fn `officeAddinManifestScope(host)` — the single-host manifest scope literal. */
58
+ const officeAddinManifestScope = (host) => `"${OFFICE_ADDIN_HOST_SCOPE[host] ?? OFFICE_ADDIN_HOST_SCOPE.word}"`;
59
+ exports.officeAddinManifestScope = officeAddinManifestScope;
60
+ /**
61
+ * Whitelist fn `officeAddinManifestScopes(csv)` — the multiSelect host set rendered
62
+ * as the inner body of a manifest `scopes` JSON array. Pre-joins so the array stays
63
+ * valid for any host subset (v3 parity: no trailing-comma breakage).
64
+ */
65
+ const officeAddinManifestScopes = (csv) => {
66
+ const selected = new Set(parseCsv(csv).map((host) => OFFICE_ADDIN_HOST_SCOPE[host]));
67
+ const scopes = OFFICE_ADDIN_HOST_ORDER.filter((scope) => selected.has(scope));
68
+ const body = scopes.length > 0 ? scopes : [OFFICE_ADDIN_HOST_SCOPE.word];
69
+ return body.map((scope) => `"${scope}"`).join(",\n ");
70
+ };
71
+ exports.officeAddinManifestScopes = officeAddinManifestScopes;
72
+ /**
73
+ * Debug launch surface for the Office task-pane template.
74
+ *
75
+ * These functions pre-join the `.vscode/launch.json` and `package.json` host
76
+ * entries instead of the `{{#HostOutlook}}` Mustache sections the manifest uses.
77
+ * The manifest's optional blocks each sit next to a guaranteed-present sibling
78
+ * (the default permission / runtime / ribbon), so a section can carry its own
79
+ * trailing comma safely. The launch configs, compounds, and debug scripts are
80
+ * *fully* optional arrays — every element depends on a host that may be
81
+ * deselected — so there is no anchor element to absorb a trailing comma, and
82
+ * flat Mustache cannot suppress the comma after the last selected block. A
83
+ * comma `join` over the selected hosts is the only comma-correct option, which
84
+ * only a function (not a template) can express.
85
+ *
86
+ * This mirrors how v3 handles the same files: rather than editing JSON text, v3
87
+ * scaffolds all hosts and then `Array.filter`s the parsed `configurations` /
88
+ * `compounds` / `scripts` and re-serializes (officeAddin generator `post`). v4
89
+ * has no post-render file mutation, so the equivalent filtered-list-to-string
90
+ * happens here at render time instead.
91
+ */
92
+ const OFFICE_ADDIN_HOST_LABEL = {
93
+ word: "Word",
94
+ excel: "Excel",
95
+ powerpoint: "PowerPoint",
96
+ outlook: "Outlook",
97
+ };
98
+ const OFFICE_ADDIN_LAUNCH_HOST_ORDER = ["word", "excel", "powerpoint", "outlook"];
99
+ /** Selected hosts in canonical order, defaulting to word when nothing is selected. */
100
+ function selectedLaunchHosts(csv) {
101
+ const selected = new Set(parseCsv(csv));
102
+ const hosts = OFFICE_ADDIN_LAUNCH_HOST_ORDER.filter((host) => selected.has(host));
103
+ return hosts.length > 0 ? hosts : ["word"];
104
+ }
105
+ /** Indent a multi-line JSON fragment so it nests under the given column. */
106
+ function indentJson(json, spaces) {
107
+ const pad = " ".repeat(spaces);
108
+ return json
109
+ .split("\n")
110
+ .map((line) => (line.length > 0 ? pad + line : line))
111
+ .join("\n");
112
+ }
113
+ /**
114
+ * Whitelist fn `officeAddinLaunchConfigurations(csv)` — the inner body of the
115
+ * `.vscode/launch.json` `configurations` array, limited to the selected hosts.
116
+ */
117
+ const officeAddinLaunchConfigurations = (csv) => {
118
+ const blocks = selectedLaunchHosts(csv).flatMap((host) => {
119
+ const label = OFFICE_ADDIN_HOST_LABEL[host];
120
+ return [
121
+ `{
122
+ "name": "${label} Desktop Host",
123
+ "type": "node-terminal",
124
+ "request": "launch",
125
+ "command": "npm run start:desktop:${host}",
126
+ "cwd": "\${workspaceFolder}",
127
+ "preLaunchTask": "Install",
128
+ "postDebugTask": "Stop Debug",
129
+ "presentation": {
130
+ "hidden": true
131
+ }
132
+ }`,
133
+ `{
134
+ "name": "${label} Desktop Attach (Edge Chromium)",
135
+ "type": "msedge",
136
+ "request": "attach",
137
+ "port": 9229,
138
+ "timeout": 600000,
139
+ "webRoot": "\${workspaceRoot}",
140
+ "presentation": {
141
+ "hidden": true
142
+ }
143
+ }`,
144
+ ];
145
+ });
146
+ return blocks
147
+ .map((block) => indentJson(block, 4))
148
+ .join(",\n")
149
+ .trimStart();
150
+ };
151
+ exports.officeAddinLaunchConfigurations = officeAddinLaunchConfigurations;
152
+ /**
153
+ * Whitelist fn `officeAddinLaunchCompounds(csv)` — the inner body of the
154
+ * `.vscode/launch.json` `compounds` array, limited to the selected hosts.
155
+ */
156
+ const officeAddinLaunchCompounds = (csv) => {
157
+ const blocks = selectedLaunchHosts(csv).map((host) => {
158
+ const label = OFFICE_ADDIN_HOST_LABEL[host];
159
+ return `{
160
+ "name": "${label} Desktop (Edge Chromium)",
161
+ "configurations": [
162
+ "${label} Desktop Host",
163
+ "${label} Desktop Attach (Edge Chromium)"
164
+ ],
165
+ "stopAll": true
166
+ }`;
167
+ });
168
+ return blocks
169
+ .map((block) => indentJson(block, 4))
170
+ .join(",\n")
171
+ .trimStart();
172
+ };
173
+ exports.officeAddinLaunchCompounds = officeAddinLaunchCompounds;
174
+ /**
175
+ * Whitelist fn `officeAddinDebugScripts(csv)` — the `start:desktop:<host>` npm
176
+ * script entries for the selected hosts, each on its own line with a trailing comma.
177
+ */
178
+ const officeAddinDebugScripts = (csv) => selectedLaunchHosts(csv)
179
+ .map((host) => ` "start:desktop:${host}": "office-addin-debugging start appPackage/manifest.json desktop --app ${host}",`)
180
+ .join("\n")
181
+ .trimStart();
182
+ exports.officeAddinDebugScripts = officeAddinDebugScripts;
183
+ /** Whitelist fn `officeAddinDebugApp(csv)` — the default `app_to_debug` host. */
184
+ const officeAddinDebugApp = (csv) => selectedLaunchHosts(csv)[0];
185
+ exports.officeAddinDebugApp = officeAddinDebugApp;
38
186
  /** The closed function whitelist; an author cannot extend it (ADR-0016 decision 3). */
39
187
  const WHITELIST = new Map([
40
188
  ["mcpNamespace", exports.mcpNamespace],
41
189
  ["mcpAuthRef", exports.mcpAuthRef],
42
190
  ["safeProjectNameLowerCase", exports.safeProjectNameLowerCase],
43
191
  ["pathDelimiter", exports.pathDelimiter],
192
+ ["contains", exports.contains],
193
+ ["officeAddinManifestScope", exports.officeAddinManifestScope],
194
+ ["officeAddinManifestScopes", exports.officeAddinManifestScopes],
195
+ ["officeAddinLaunchConfigurations", exports.officeAddinLaunchConfigurations],
196
+ ["officeAddinLaunchCompounds", exports.officeAddinLaunchCompounds],
197
+ ["officeAddinDebugScripts", exports.officeAddinDebugScripts],
198
+ ["officeAddinDebugApp", exports.officeAddinDebugApp],
44
199
  ]);
45
200
  /** Default feature-flag reader: an env-backed truthy check (`"true"` / `"1"`). */
46
201
  function envFlagReader(name) {
@@ -1 +1 @@
1
- {"version":3,"file":"whitelist.js","sourceRoot":"","sources":["../../../src/v4/runtime/whitelist.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAYlC,kDASC;AA8BD,oDAOC;;AAvDD,mDAA6B;AAC7B,4DAAmE;AAEnE,kFAAkF;AAElF,MAAM,kBAAkB,GAAG,WAAW,CAAC;AACvC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAEhC,4DAA4D;AAC5D,SAAgB,mBAAmB,CAAC,GAAW;IAC7C,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,GAAG,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;IAC1F,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC;AACrE,CAAC;AAED,kFAAkF;AAC3E,MAAM,YAAY,GAAgB,CAAC,GAAW,EAAU,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;AAA9E,QAAA,YAAY,gBAAkE;AAE3F,gFAAgF;AACzE,MAAM,UAAU,GAAgB,CAAC,GAAW,EAAU,EAAE,CAC7D,oBAAoB,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC;AAD1D,QAAA,UAAU,cACgD;AAEvE,0EAA0E;AACnE,MAAM,wBAAwB,GAAgB,CAAC,OAAe,EAAU,EAAE,CAC/E,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AADxC,QAAA,wBAAwB,4BACgB;AAErD,gFAAgF;AACzE,MAAM,aAAa,GAAgB,GAAW,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;AAA1D,QAAA,aAAa,iBAA6C;AAEvE,uFAAuF;AACvF,MAAM,SAAS,GAAG,IAAI,GAAG,CAAsB;IAC7C,CAAC,cAAc,EAAE,oBAAY,CAAC;IAC9B,CAAC,YAAY,EAAE,kBAAU,CAAC;IAC1B,CAAC,0BAA0B,EAAE,gCAAwB,CAAC;IACtD,CAAC,eAAe,EAAE,qBAAa,CAAC;CACjC,CAAC,CAAC;AAEH,kFAAkF;AAClF,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,IAAA,qCAAsB,EAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,mDAAmD;AACnD,SAAgB,oBAAoB,CAClC,aAAwC,aAAa;IAErD,OAAO;QACL,SAAS,EAAE,CAAC,IAAY,EAA2B,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;QACzE,KAAK,EAAE,CAAC,IAAY,EAAW,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;KACnD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"whitelist.js","sourceRoot":"","sources":["../../../src/v4/runtime/whitelist.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { FxError } from "@microsoft/teamsfx-api";
2
+ import { Result } from "neverthrow";
3
+ export type TempDirectoryPhase = "allocate" | "operate" | "cleanup";
4
+ export interface TempDirectoryPort {
5
+ create(prefix: string): Promise<string>;
6
+ remove(directory: string): Promise<void>;
7
+ }
8
+ /** Run one operation in a disposable directory without allowing filesystem failures to escape Result. */
9
+ export declare function withTempDirectory<T>(prefix: string, errorFactory: (phase: TempDirectoryPhase, error: unknown) => FxError, operation: (directory: string) => Promise<Result<T, FxError>>, port?: TempDirectoryPort): Promise<Result<T, FxError>>;
10
+ //# sourceMappingURL=withTempDirectory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withTempDirectory.d.ts","sourceRoot":"","sources":["../../../src/v4/runtime/withTempDirectory.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAIjD,OAAO,EAAE,MAAM,EAAO,MAAM,YAAY,CAAC;AAEzC,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;AAEpE,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C;AAOD,yGAAyG;AACzG,wBAAsB,iBAAiB,CAAC,CAAC,EACvC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,KAAK,OAAO,EACpE,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAC7D,IAAI,GAAE,iBAAyC,GAC9C,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAuB7B"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT license.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.withTempDirectory = withTempDirectory;
6
+ const tslib_1 = require("tslib");
7
+ const fs = tslib_1.__importStar(require("fs-extra"));
8
+ const os = tslib_1.__importStar(require("os"));
9
+ const path = tslib_1.__importStar(require("path"));
10
+ const neverthrow_1 = require("neverthrow");
11
+ const nodeTempDirectoryPort = {
12
+ create: (prefix) => fs.mkdtemp(path.join(os.tmpdir(), prefix)),
13
+ remove: (directory) => fs.remove(directory),
14
+ };
15
+ /** Run one operation in a disposable directory without allowing filesystem failures to escape Result. */
16
+ async function withTempDirectory(prefix, errorFactory, operation, port = nodeTempDirectoryPort) {
17
+ let directory;
18
+ try {
19
+ directory = await port.create(prefix);
20
+ }
21
+ catch (error) {
22
+ return (0, neverthrow_1.err)(errorFactory("allocate", error));
23
+ }
24
+ let outcome;
25
+ try {
26
+ outcome = await operation(directory);
27
+ }
28
+ catch (error) {
29
+ outcome = (0, neverthrow_1.err)(errorFactory("operate", error));
30
+ }
31
+ try {
32
+ await port.remove(directory);
33
+ }
34
+ catch (error) {
35
+ if (outcome.isOk()) {
36
+ return (0, neverthrow_1.err)(errorFactory("cleanup", error));
37
+ }
38
+ }
39
+ return outcome;
40
+ }
41
+ //# sourceMappingURL=withTempDirectory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withTempDirectory.js","sourceRoot":"","sources":["../../../src/v4/runtime/withTempDirectory.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;AAqBlC,8CA4BC;;AA9CD,qDAA+B;AAC/B,+CAAyB;AACzB,mDAA6B;AAC7B,2CAAyC;AASzC,MAAM,qBAAqB,GAAsB;IAC/C,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;IAC9D,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC;CAC5C,CAAC;AAEF,yGAAyG;AAClG,KAAK,UAAU,iBAAiB,CACrC,MAAc,EACd,YAAoE,EACpE,SAA6D,EAC7D,OAA0B,qBAAqB;IAE/C,IAAI,SAAiB,CAAC;IACtB,IAAI,CAAC;QACH,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAA,gBAAG,EAAC,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,OAA2B,CAAC;IAChC,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,GAAG,IAAA,gBAAG,EAAC,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YACnB,OAAO,IAAA,gBAAG,EAAC,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { FxError, Inputs } from "@microsoft/teamsfx-api";
2
+ import { Result } from "neverthrow";
3
+ import { QuestionSpec, Validator } from "../collectInputs/collectInputs";
4
+ import { Answers } from "../model/dataModel";
5
+ export interface CreateFloorTail {
6
+ questions: QuestionSpec[];
7
+ answers: Answers;
8
+ validators: Record<string, Validator>;
9
+ }
10
+ export declare function createFloorTail(inputs: Inputs | undefined, languages: string[], showPythonPreview?: boolean): Promise<Result<CreateFloorTail, FxError>>;
11
+ export declare function validateCreateFloorAnswers(inputs: Inputs, answers: Answers): Promise<Result<undefined, FxError>>;
12
+ //# sourceMappingURL=createFloorTail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createFloorTail.d.ts","sourceRoot":"","sources":["../../../src/v4/surface/createFloorTail.ts"],"names":[],"mappings":"AAGA,OAAO,EAAkB,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,MAAM,EAAW,MAAM,YAAY,CAAC;AAI7C,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAqB7C,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CACvC;AAwBD,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,SAAS,EAAE,MAAM,EAAE,EACnB,iBAAiB,UAAQ,GACxB,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAiF3C;AAED,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAmBrC"}
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT license.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.createFloorTail = createFloorTail;
6
+ exports.validateCreateFloorAnswers = validateCreateFloorAnswers;
7
+ const neverthrow_1 = require("neverthrow");
8
+ const localizeUtils_1 = require("../../common/localizeUtils");
9
+ const common_1 = require("../../error/common");
10
+ const question_1 = require("../../question");
11
+ const LANGUAGE_LABELS = {
12
+ javascript: "JavaScript",
13
+ typescript: "TypeScript",
14
+ csharp: "C#",
15
+ python: "Python",
16
+ };
17
+ const PYTHON_LANGUAGE = "python";
18
+ function languageOption(language, showPythonPreview) {
19
+ return {
20
+ id: language,
21
+ label: LANGUAGE_LABELS[language] ?? language,
22
+ description: showPythonPreview && language === PYTHON_LANGUAGE
23
+ ? (0, localizeUtils_1.getLocalizedString)("core.createProjectQuestion.option.description.preview")
24
+ : undefined,
25
+ };
26
+ }
27
+ function isFuncValidation(value) {
28
+ return (typeof value === "object" &&
29
+ value !== null &&
30
+ typeof Reflect.get(value, "validFunc") === "function");
31
+ }
32
+ function getStringValidationFunc(validation) {
33
+ return isFuncValidation(validation) ? validation.validFunc : undefined;
34
+ }
35
+ async function resolveStringValue(value, inputs) {
36
+ return typeof value === "function" ? await value(inputs) : value;
37
+ }
38
+ async function createFloorTail(inputs, languages, showPythonPreview = false) {
39
+ const questions = [];
40
+ const answers = {};
41
+ if (languages.length > 1) {
42
+ questions.push({
43
+ name: "language",
44
+ type: "singleSelect",
45
+ title: "Programming Language",
46
+ default: languages[0],
47
+ staticOptions: languages.map((language) => languageOption(language, showPythonPreview)),
48
+ });
49
+ }
50
+ else if (languages.length === 1 && languages[0] !== "common") {
51
+ answers.language = languages[0];
52
+ }
53
+ if (inputs === undefined) {
54
+ return (0, neverthrow_1.ok)({ questions, answers, validators: {} });
55
+ }
56
+ const folder = (0, question_1.folderQuestion)();
57
+ const appName = (0, question_1.appNameQuestion)();
58
+ const existingFolder = inputs[question_1.QuestionNames.Folder];
59
+ if (typeof existingFolder === "string") {
60
+ answers[question_1.QuestionNames.Folder] = existingFolder;
61
+ }
62
+ else {
63
+ const defaultFolder = await resolveStringValue(folder.default, inputs);
64
+ if (inputs.nonInteractive) {
65
+ if (defaultFolder !== undefined) {
66
+ answers[question_1.QuestionNames.Folder] = defaultFolder;
67
+ }
68
+ }
69
+ else {
70
+ questions.push({
71
+ name: folder.name,
72
+ type: "folder",
73
+ title: (await resolveStringValue(folder.title, inputs)) ?? folder.name,
74
+ placeholder: await resolveStringValue(folder.placeholder, inputs),
75
+ prompt: await resolveStringValue(folder.prompt, inputs),
76
+ default: defaultFolder,
77
+ });
78
+ }
79
+ }
80
+ const existingAppName = inputs[question_1.QuestionNames.AppName];
81
+ if (typeof existingAppName === "string") {
82
+ answers[question_1.QuestionNames.AppName] = existingAppName;
83
+ }
84
+ else {
85
+ const defaultAppName = await resolveStringValue(appName.default, inputs);
86
+ if (inputs.nonInteractive) {
87
+ if (defaultAppName === undefined) {
88
+ return (0, neverthrow_1.err)(new common_1.MissingRequiredInputError(question_1.QuestionNames.AppName, "createFrontDoor"));
89
+ }
90
+ answers[question_1.QuestionNames.AppName] = defaultAppName;
91
+ }
92
+ else {
93
+ questions.push({
94
+ name: appName.name,
95
+ type: "text",
96
+ title: (await resolveStringValue(appName.title, inputs)) ?? appName.name,
97
+ placeholder: await resolveStringValue(appName.placeholder, inputs),
98
+ prompt: await resolveStringValue(appName.prompt, inputs),
99
+ default: defaultAppName,
100
+ validation: "appName",
101
+ });
102
+ }
103
+ }
104
+ const validateAppName = getStringValidationFunc(appName.validation);
105
+ const floorValidators = {};
106
+ if (validateAppName !== undefined) {
107
+ floorValidators.appName = async (value, currentAnswers) => {
108
+ const validationInputs = { ...inputs };
109
+ const folderAnswer = currentAnswers[question_1.QuestionNames.Folder];
110
+ if (typeof folderAnswer === "string") {
111
+ validationInputs[question_1.QuestionNames.Folder] = folderAnswer;
112
+ }
113
+ return validateAppName(value, validationInputs);
114
+ };
115
+ }
116
+ return (0, neverthrow_1.ok)({ questions, answers, validators: floorValidators });
117
+ }
118
+ async function validateCreateFloorAnswers(inputs, answers) {
119
+ const appName = answers[question_1.QuestionNames.AppName];
120
+ if (typeof appName !== "string") {
121
+ return (0, neverthrow_1.err)(new common_1.MissingRequiredInputError(question_1.QuestionNames.AppName, "createFrontDoor"));
122
+ }
123
+ const validateAppName = getStringValidationFunc((0, question_1.appNameQuestion)().validation);
124
+ if (validateAppName === undefined) {
125
+ return (0, neverthrow_1.ok)(undefined);
126
+ }
127
+ const validationInputs = { ...inputs };
128
+ const folderAnswer = answers[question_1.QuestionNames.Folder];
129
+ if (typeof folderAnswer === "string") {
130
+ validationInputs[question_1.QuestionNames.Folder] = folderAnswer;
131
+ }
132
+ const message = await validateAppName(appName, validationInputs);
133
+ if (message !== undefined) {
134
+ return (0, neverthrow_1.err)(new common_1.InputValidationError(question_1.QuestionNames.AppName, message, "createFrontDoor"));
135
+ }
136
+ return (0, neverthrow_1.ok)(undefined);
137
+ }
138
+ //# sourceMappingURL=createFloorTail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createFloorTail.js","sourceRoot":"","sources":["../../../src/v4/surface/createFloorTail.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { FxError, Inputs, UserInteraction } from "@microsoft/teamsfx-api";
2
2
  import { Result } from "neverthrow";
3
- import { MCPFetchResult } from "../../component/utils/mcpToolFetcher";
4
- import { type ODRServer } from "../../component/utils/odrProvider";
3
+ import { MCPFetchResult } from "../../common/mcpToolFetcher";
4
+ import { type ODRServer } from "../../common/odrProvider";
5
5
  import { SearchOpenAPISpecResult } from "../../common/kiotaClient";
6
6
  import { OptionsProvider } from "../collectInputs/collectInputs";
7
7
  import { Answers, DeclarativeLocator } from "../model/dataModel";
@@ -23,7 +23,29 @@ export interface CreateInputsDeps {
23
23
  listLocalMcpServers?: () => Promise<ODRServer[]>;
24
24
  /** Search public OpenAPI descriptions for the v3-compatible OpenAPI source picker. */
25
25
  searchOpenAPISpec?: (query: string) => Promise<SearchOpenAPISpecResult[]>;
26
+ /** Continue Q1's step numbering (its `promptCount`) so Q2's first prompt shows a Back button. */
27
+ baseStep?: number;
28
+ /** When true, a back past Q2's first prompt returns `{ kind: "back" }` (the front door re-enters Q1). */
29
+ backable?: boolean;
26
30
  }
27
- /** Run one create template's Q2 over the host surface. */
31
+ /** The create-input walk's outcome: completed answers, or a `back` for the front door's re-entry loop. */
32
+ export type CreateInputsOutcome = {
33
+ kind: "done";
34
+ answers: Answers;
35
+ } | {
36
+ kind: "back";
37
+ };
38
+ /**
39
+ * Run one create template's Q2 + common floor over the host surface, returning a
40
+ * resumable outcome. `deps.baseStep` continues Q1's step numbering and
41
+ * `deps.backable` turns a back past the first prompt into a `{ kind: "back" }`
42
+ * outcome (the front door then re-enters Q1). See collect-create-inputs CCI-25/26.
43
+ */
44
+ export declare function runCreateInputsWalk(floorBytes: Buffer, locator: DeclarativeLocator, entryParams: Answers, ui: UserInteraction, deps?: CreateInputsDeps): Promise<Result<CreateInputsOutcome, FxError>>;
45
+ /**
46
+ * Run one create template's Q2 over the host surface — the stable non-resumable
47
+ * entry over {@link runCreateInputsWalk} (`backable` off), so a back past the
48
+ * first prompt cancels and the result is the plain `Answers`.
49
+ */
28
50
  export declare function runCreateInputs(floorBytes: Buffer, locator: DeclarativeLocator, entryParams: Answers, ui: UserInteraction, deps?: CreateInputsDeps): Promise<Result<Answers, FxError>>;
29
51
  //# sourceMappingURL=createInputs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createInputs.d.ts","sourceRoot":"","sources":["../../../src/v4/surface/createInputs.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,OAAO,EACP,MAAM,EAGN,eAAe,EAChB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,MAAM,EAAW,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAiB,MAAM,sCAAsC,CAAC;AACrF,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAIhF,OAAO,EAAE,uBAAuB,EAAqB,MAAM,0BAA0B,CAAC;AAEtF,OAAO,EAGL,eAAe,EAKhB,MAAM,gCAAgC,CAAC;AAMxC,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAogBjE,gFAAgF;AAChF,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GACpC,MAAM,EAAE,CAGV;AAWD,oDAAoD;AACpD,MAAM,WAAW,gBAAgB;IAC/B,kGAAkG;IAClG,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAClD,+EAA+E;IAC/E,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACvC,wGAAwG;IACxG,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oGAAoG;IACpG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IAC/D,wEAAwE;IACxE,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IACjD,sFAAsF;IACtF,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC;CAC3E;AAED,0DAA0D;AAC1D,wBAAsB,eAAe,CACnC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,kBAAkB,EAC3B,WAAW,EAAE,OAAO,EACpB,EAAE,EAAE,eAAe,EACnB,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAmEnC"}
1
+ {"version":3,"file":"createInputs.d.ts","sourceRoot":"","sources":["../../../src/v4/surface/createInputs.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAa,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,MAAM,EAAW,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAiB,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAEvE,OAAO,EAAE,uBAAuB,EAAqB,MAAM,0BAA0B,CAAC;AACtF,OAAO,EAEL,eAAe,EAGhB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAqDjE,gFAAgF;AAChF,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GACpC,MAAM,EAAE,CAGV;AAWD,oDAAoD;AACpD,MAAM,WAAW,gBAAgB;IAC/B,kGAAkG;IAClG,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAClD,+EAA+E;IAC/E,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACvC,wGAAwG;IACxG,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oGAAoG;IACpG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IAC/D,wEAAwE;IACxE,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IACjD,sFAAsF;IACtF,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAC1E,iGAAiG;IACjG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yGAAyG;IACzG,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,0GAA0G;AAC1G,MAAM,MAAM,mBAAmB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAExF;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,kBAAkB,EAC3B,WAAW,EAAE,OAAO,EACpB,EAAE,EAAE,eAAe,EACnB,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC,CAyE/C;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,kBAAkB,EAC3B,WAAW,EAAE,OAAO,EACpB,EAAE,EAAE,eAAe,EACnB,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAkBnC"}