@microsoft/teamsfx-core 3.1.3 → 3.1.4-alpha.26ce7a8dda.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 (148) hide show
  1. package/build/common/templates-config.json +4 -4
  2. package/build/component/configManager/actionInjector.d.ts +13 -3
  3. package/build/component/configManager/actionInjector.d.ts.map +1 -1
  4. package/build/component/configManager/actionInjector.js +88 -5
  5. package/build/component/configManager/actionInjector.js.map +1 -1
  6. package/build/component/driver/teamsApp/utils/utils.d.ts.map +1 -1
  7. package/build/component/driver/teamsApp/utils/utils.js +1 -18
  8. package/build/component/driver/teamsApp/utils/utils.js.map +1 -1
  9. package/build/component/generator/openApiSpec/helper.d.ts +2 -2
  10. package/build/component/generator/openApiSpec/helper.d.ts.map +1 -1
  11. package/build/component/generator/openApiSpec/helper.js +65 -5
  12. package/build/component/generator/openApiSpec/helper.js.map +1 -1
  13. package/build/component/generator/openPlugin/authResolver.d.ts +2 -2
  14. package/build/component/generator/openPlugin/authResolver.d.ts.map +1 -1
  15. package/build/component/generator/openPlugin/authResolver.js +17 -7
  16. package/build/component/generator/openPlugin/authResolver.js.map +1 -1
  17. package/build/component/generator/openPlugin/errors.d.ts +4 -0
  18. package/build/component/generator/openPlugin/errors.d.ts.map +1 -0
  19. package/build/component/generator/openPlugin/errors.js +13 -0
  20. package/build/component/generator/openPlugin/errors.js.map +1 -0
  21. package/build/component/generator/openPlugin/exporter.d.ts +9 -6
  22. package/build/component/generator/openPlugin/exporter.d.ts.map +1 -1
  23. package/build/component/generator/openPlugin/exporter.js +502 -53
  24. package/build/component/generator/openPlugin/exporter.js.map +1 -1
  25. package/build/component/generator/openPlugin/fileSystem.d.ts +28 -0
  26. package/build/component/generator/openPlugin/fileSystem.d.ts.map +1 -0
  27. package/build/component/generator/openPlugin/fileSystem.js +181 -0
  28. package/build/component/generator/openPlugin/fileSystem.js.map +1 -0
  29. package/build/component/generator/openPlugin/iconStrategy.d.ts.map +1 -1
  30. package/build/component/generator/openPlugin/iconStrategy.js +30 -14
  31. package/build/component/generator/openPlugin/iconStrategy.js.map +1 -1
  32. package/build/component/generator/openPlugin/importer.d.ts.map +1 -1
  33. package/build/component/generator/openPlugin/importer.js +75 -12
  34. package/build/component/generator/openPlugin/importer.js.map +1 -1
  35. package/build/component/generator/openPlugin/mapper.d.ts +3 -2
  36. package/build/component/generator/openPlugin/mapper.d.ts.map +1 -1
  37. package/build/component/generator/openPlugin/mapper.js +188 -29
  38. package/build/component/generator/openPlugin/mapper.js.map +1 -1
  39. package/build/component/generator/openPlugin/parser.d.ts.map +1 -1
  40. package/build/component/generator/openPlugin/parser.js +264 -70
  41. package/build/component/generator/openPlugin/parser.js.map +1 -1
  42. package/build/component/generator/openPlugin/skillValidation.d.ts +2 -0
  43. package/build/component/generator/openPlugin/skillValidation.d.ts.map +1 -0
  44. package/build/component/generator/openPlugin/skillValidation.js +63 -0
  45. package/build/component/generator/openPlugin/skillValidation.js.map +1 -0
  46. package/build/component/generator/openPlugin/spec.d.ts +67 -0
  47. package/build/component/generator/openPlugin/spec.d.ts.map +1 -0
  48. package/build/component/generator/openPlugin/spec.js +157 -0
  49. package/build/component/generator/openPlugin/spec.js.map +1 -0
  50. package/build/component/generator/openPlugin/textUtils.d.ts +1 -1
  51. package/build/component/generator/openPlugin/textUtils.d.ts.map +1 -1
  52. package/build/component/generator/openPlugin/textUtils.js +8 -7
  53. package/build/component/generator/openPlugin/textUtils.js.map +1 -1
  54. package/build/component/generator/openPlugin/types.d.ts +76 -14
  55. package/build/component/generator/openPlugin/types.d.ts.map +1 -1
  56. package/build/component/generator/openPlugin/validation.d.ts +17 -0
  57. package/build/component/generator/openPlugin/validation.d.ts.map +1 -0
  58. package/build/component/generator/openPlugin/validation.js +563 -0
  59. package/build/component/generator/openPlugin/validation.js.map +1 -0
  60. package/build/component/utils/common.d.ts +1 -9
  61. package/build/component/utils/common.d.ts.map +1 -1
  62. package/build/component/utils/common.js +7 -37
  63. package/build/component/utils/common.js.map +1 -1
  64. package/build/component/utils/envFunctionUtils.d.ts +3 -8
  65. package/build/component/utils/envFunctionUtils.d.ts.map +1 -1
  66. package/build/component/utils/envFunctionUtils.js +46 -131
  67. package/build/component/utils/envFunctionUtils.js.map +1 -1
  68. package/build/component/utils/envUtil.d.ts.map +1 -1
  69. package/build/component/utils/envUtil.js +7 -6
  70. package/build/component/utils/envUtil.js.map +1 -1
  71. package/build/component/utils/mcpAuthScaffolder.d.ts +6 -0
  72. package/build/component/utils/mcpAuthScaffolder.d.ts.map +1 -1
  73. package/build/component/utils/mcpAuthScaffolder.js +17 -7
  74. package/build/component/utils/mcpAuthScaffolder.js.map +1 -1
  75. package/build/core/FxCore.d.ts +3 -2
  76. package/build/core/FxCore.d.ts.map +1 -1
  77. package/build/core/FxCore.declarativeAgent.d.ts +8 -2
  78. package/build/core/FxCore.declarativeAgent.d.ts.map +1 -1
  79. package/build/core/FxCore.declarativeAgent.js +109 -6
  80. package/build/core/FxCore.declarativeAgent.js.map +1 -1
  81. package/build/core/FxCore.js +42 -3
  82. package/build/core/FxCore.js.map +1 -1
  83. package/build/core/FxCore.openPlugin.d.ts +7 -6
  84. package/build/core/FxCore.openPlugin.d.ts.map +1 -1
  85. package/build/core/FxCore.openPlugin.js +7 -6
  86. package/build/core/FxCore.openPlugin.js.map +1 -1
  87. package/build/error/common.d.ts +9 -0
  88. package/build/error/common.d.ts.map +1 -1
  89. package/build/error/common.js +40 -1
  90. package/build/error/common.js.map +1 -1
  91. package/build/question/generator.d.ts.map +1 -1
  92. package/build/question/generator.js +9 -9
  93. package/build/question/generator.js.map +1 -1
  94. package/build/question/inputs/AddAuthActionInputs.d.ts +6 -0
  95. package/build/question/inputs/AddAuthActionInputs.d.ts.map +1 -1
  96. package/build/question/inputs/AddPluginInputs.d.ts +15 -1
  97. package/build/question/inputs/AddPluginInputs.d.ts.map +1 -1
  98. package/build/question/options/AddAuthActionOptions.d.ts.map +1 -1
  99. package/build/question/options/AddAuthActionOptions.js +19 -0
  100. package/build/question/options/AddAuthActionOptions.js.map +1 -1
  101. package/build/question/options/AddPluginOptions.d.ts.map +1 -1
  102. package/build/question/options/AddPluginOptions.js +45 -1
  103. package/build/question/options/AddPluginOptions.js.map +1 -1
  104. package/build/question/options/ExportOpenPluginOptions.js +2 -2
  105. package/build/question/options/ExportOpenPluginOptions.js.map +1 -1
  106. package/build/question/options/ImportOpenPluginOptions.js +4 -4
  107. package/build/question/options/ImportOpenPluginOptions.js.map +1 -1
  108. package/build/question/other.d.ts +2 -0
  109. package/build/question/other.d.ts.map +1 -1
  110. package/build/question/other.js +174 -8
  111. package/build/question/other.js.map +1 -1
  112. package/build/question/questionNames.d.ts +6 -0
  113. package/build/question/questionNames.d.ts.map +1 -1
  114. package/build/question/questionNames.js +6 -0
  115. package/build/question/questionNames.js.map +1 -1
  116. package/build/question/scaffold/vsc/rootNode.js +1 -1
  117. package/build/question/scaffold/vsc/rootNode.js.map +1 -1
  118. package/build/question/scaffold/vsc/teamsProjectTypeNode.d.ts +2 -0
  119. package/build/question/scaffold/vsc/teamsProjectTypeNode.d.ts.map +1 -1
  120. package/build/question/scaffold/vsc/teamsProjectTypeNode.js +31 -1
  121. package/build/question/scaffold/vsc/teamsProjectTypeNode.js.map +1 -1
  122. package/build/ui/visitor.d.ts.map +1 -1
  123. package/build/ui/visitor.js +1 -0
  124. package/build/ui/visitor.js.map +1 -1
  125. package/build/v4/mcp/mcpAuthAction.d.ts +2 -1
  126. package/build/v4/mcp/mcpAuthAction.d.ts.map +1 -1
  127. package/build/v4/mcp/mcpAuthAction.js +32 -5
  128. package/build/v4/mcp/mcpAuthAction.js.map +1 -1
  129. package/build/v4/mcp/mcpAuthScaffold.d.ts +3 -0
  130. package/build/v4/mcp/mcpAuthScaffold.d.ts.map +1 -1
  131. package/build/v4/mcp/mcpAuthScaffold.js +61 -38
  132. package/build/v4/mcp/mcpAuthScaffold.js.map +1 -1
  133. package/build/v4/runtime/steps/mcpAuth.d.ts.map +1 -1
  134. package/build/v4/runtime/steps/mcpAuth.js +15 -4
  135. package/build/v4/runtime/steps/mcpAuth.js.map +1 -1
  136. package/package.json +37 -37
  137. package/resource/package.nls.json +30 -0
  138. package/templates/configs/local/typescript/.gitignore +1 -0
  139. package/templates/configs/playground/typescript/.gitignore +4 -0
  140. package/templates/fallback/common.zip +0 -0
  141. package/templates/fallback/csharp.zip +0 -0
  142. package/templates/fallback/js.zip +0 -0
  143. package/templates/fallback/python.zip +0 -0
  144. package/templates/fallback/ts.zip +0 -0
  145. package/templates/metadata.zip +0 -0
  146. package/templates/v4/floor.json +1 -1
  147. package/templates/v4/templates-metadata.zip +0 -0
  148. package/templates/v4/templates.zip +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"exporter.js","sourceRoot":"","sources":["../../../../src/component/generator/openPlugin/exporter.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AA+BlC,4CAgFC;;AA7GD,wDAA0F;AAC1F,gEAA0B;AAC1B,mDAA6B;AAGhB,QAAA,yBAAyB,GAAG,kBAAkB,CAAC;AAQ5D,MAAM,iBAAiB,GAAG,gCAAgC,CAAC;AAE3D,MAAM,kBAAkB,GAA8D;IACpF,aAAa,EAAE,qBAAqB;IACpC,eAAe,EAAE,4BAA4B;IAC7C,eAAe,EAAE,4BAA4B;CAC9C,CAAC;AAEF;;;;;;;GAOG;AACI,KAAK,UAAU,gBAAgB,CACpC,MAAoB;IAEpB,IAAI,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,IAAA,iBAAG,EACR,IAAI,uBAAS,CAAC,iCAAyB,EAAE,oBAAoB,EAAE,qBAAqB,CAAC,CACtF,CAAC;QACJ,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QAC/D,IAAI,CAAC,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YACzC,OAAO,IAAA,iBAAG,EACR,IAAI,uBAAS,CACX,iCAAyB,EACzB,kBAAkB,EAClB,4CAA4C,WAAW,GAAG,CAC3D,CACF,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACpD,IAAI,CAAC,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAClF,OAAO,IAAA,iBAAG,EACR,IAAI,uBAAS,CACX,iCAAyB,EACzB,iBAAiB,EACjB,kDAAkD,YAAY,GAAG,CAClE,CACF,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,WAAgC,CAAC;QAClD,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,IAAI,aAAa,CAAC;QAElD,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,UAAU,aAAa,CAAC,CAAC;QAC3E,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,aAAa,CAAC,CAAC;QAEhE,IAAI,MAAM,kBAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,MAAM,kBAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO,IAAA,iBAAG,EACR,IAAI,uBAAS,CACX,iCAAyB,EACzB,yBAAyB,EACzB,kCAAkC,UAAU,4DAA4D,CACzG,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,MAAM,kBAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAE/B,MAAM,UAAU,GAAG,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACzD,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QACvD,MAAM,kBAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;QAC9C,MAAM,kBAAE,CAAC,SAAS,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAE3D,MAAM,YAAY,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACnD,MAAM,UAAU,CAAC,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAChE,MAAM,YAAY,CAAC,UAAU,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;QACxD,MAAM,SAAS,CAAC,UAAU,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;QAErD,OAAO,IAAA,gBAAE,EAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,uBAAS,IAAI,CAAC,YAAY,yBAAW,EAAE,CAAC;YACvD,OAAO,IAAA,iBAAG,EAAC,CAAC,CAAC,CAAC;QAChB,CAAC;QACD,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3D,OAAO,IAAA,iBAAG,EACR,IAAI,yBAAW,CAAC;YACd,MAAM,EAAE,iCAAyB;YACjC,IAAI,EAAE,wBAAwB;YAC9B,OAAO;YACP,cAAc,EAAE,OAAO;SACxB,CAAC,CACH,CAAC;IACJ,CAAC;AACH,CAAC;AAgCD,SAAS,gBAAgB,CAAC,QAA2B;IACnD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAC3C,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,CAAC,KAAK,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACrD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC1E,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IACtB,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QACnD,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;IACxB,CAAC;IACD,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED,SAAS,eAAe,CAAC,QAA2B,EAAE,UAAkB;IACtE,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,IAAI,QAAQ,CAAC,SAAS,EAAE,IAAI;QAAE,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;IACpE,IAAI,QAAQ,CAAC,SAAS,EAAE,UAAU;QAAE,MAAM,CAAC,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC;IAE/E,MAAM,UAAU,GAA4B;QAC1C,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,OAAO;QACpC,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,IAAI,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,IAAI,UAAU;KACrF,CAAC;IACF,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;IAC7B,CAAC;IACD,IAAI,QAAQ,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC;QACnC,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC;IACtD,CAAC;IAED,MAAM,SAAS,GAAsB,EAAE,CAAC;IACxC,IAAI,QAAQ,CAAC,eAAe;QAAE,SAAS,CAAC,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC;IACnF,IAAI,QAAQ,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;IAC5C,IAAI,QAAQ,CAAC,WAAW;QAAE,SAAS,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;IACvE,IAAI,QAAQ,CAAC,WAAW;QAAE,SAAS,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;IACvE,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACvB,MAAM,GAAG,GAAgD,EAAE,CAAC;QAC5D,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI;YAAE,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;QAChE,IAAI,QAAQ,CAAC,SAAS,CAAC,UAAU;YAAE,GAAG,CAAC,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC;QAClF,IAAI,QAAQ,CAAC,SAAS,CAAC,UAAU;YAAE,GAAG,CAAC,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC;QAClF,IAAI,QAAQ,CAAC,SAAS,CAAC,aAAa;YAAE,GAAG,CAAC,aAAa,GAAG,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC;QAC3F,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS,CAAC,SAAS,GAAG,GAAG,CAAC;IAC7D,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QAChD,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC;QACpB,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK;YAAE,SAAS,CAAC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QACpE,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI;YAAE,SAAS,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;IACnE,CAAC;IACD,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,IAAI,QAAQ,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;QAC9D,SAAS,CAAC,WAAW,GAAG,EAAE,CAAC;QAC3B,IAAI,QAAQ,CAAC,WAAW,CAAC,KAAK;YAAE,SAAS,CAAC,WAAW,CAAC,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC;QACzF,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI;YAAE,SAAS,CAAC,WAAW,CAAC,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC;IACxF,CAAC;IAED,MAAM,kBAAkB,GAAyC,EAAE,CAAC;IACpE,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,eAAe,IAAI,EAAE,EAAE,CAAC;QACvD,IAAI,CAAC,SAAS,CAAC,EAAE;YAAE,SAAS;QAC5B,MAAM,QAAQ,GAAyB,EAAE,CAAC;QAC1C,IAAI,SAAS,CAAC,WAAW;YAAE,QAAQ,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;QACxE,IAAI,SAAS,CAAC,WAAW;YAAE,QAAQ,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;QACxE,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,EAAE,eAAe,EAAE,aAAa,CAAC;QAClE,IAAI,IAAI,EAAE,IAAI,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACjD,QAAQ,CAAC,aAAa,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;YAC7C,IAAI,IAAI,CAAC,WAAW;gBAAE,QAAQ,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC9E,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;QAC9C,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/C,SAAS,CAAC,eAAe,GAAG,kBAAkB,CAAC;IACjD,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,UAAU,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAC;IAC5C,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,OAAO,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,kBAAkB,IAAI,KAAK,KAAK,mBAAmB,CAAC;AAC3F,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,UAAkB,EAClB,QAA2B,EAC3B,QAAkB;IAElB,MAAM,OAAO,GAAkD,EAAE,CAAC;IAClE,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,eAAe,IAAI,EAAE,EAAE,CAAC;QACvD,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,EAAE,eAAe,CAAC;QACrD,MAAM,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC;YACjC,QAAQ,CAAC,IAAI,CACX,uBACE,SAAS,CAAC,EAAE,IAAI,WAClB,4EAA4E,CAC7E,CAAC;YACF,SAAS;QACX,CAAC;QACD,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC;IAC3D,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO;IACT,CAAC;IACD,MAAM,kBAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;AACjG,CAAC;AAED,KAAK,UAAU,UAAU,CACvB,UAAkB,EAClB,aAAqB,EACrB,QAA2B,EAC3B,QAAkB;IAElB,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC;IAC9C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO;IACT,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACjD,MAAM,kBAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC7B,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,SAAS;QAC5B,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QAC7C,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QAC5D,IAAI,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC7E,QAAQ,CAAC,IAAI,CAAC,iBAAiB,KAAK,CAAC,MAAM,yCAAyC,CAAC,CAAC;YACtF,SAAS;QACX,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAChC,QAAQ,CAAC,IAAI,CAAC,0DAA0D,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YACxF,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,kBAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,UAAkB,EAClB,aAAqB,EACrB,SAAmB;IAEnB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IACjD,IAAI,CAAC,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAAE,OAAO;IACxC,MAAM,kBAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,SAAS,CACtB,UAAkB,EAClB,aAAqB,EACrB,QAAkB;IAElB,KAAK,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,EAAE,CAAC;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,MAAM,kBAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,kBAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,sCAAsC,IAAI,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"exporter.js","sourceRoot":"","sources":["../../../../src/component/generator/openPlugin/exporter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ export type ExpectedPathKind = "file" | "directory";
2
+ export type InspectedPath = {
3
+ status: "ok";
4
+ path: string;
5
+ } | {
6
+ status: "missing";
7
+ } | {
8
+ status: "outside";
9
+ } | {
10
+ status: "wrong-kind";
11
+ actualKind: string;
12
+ };
13
+ export type ReadFileWithinRootResult = {
14
+ status: "ok";
15
+ path: string;
16
+ contents: Buffer;
17
+ } | Exclude<InspectedPath, {
18
+ status: "ok";
19
+ }> | {
20
+ status: "changed";
21
+ };
22
+ export type SkippedSymbolicLinkHandler = (relativePath: string, resolvesOutside: boolean) => void;
23
+ export declare function hasLinkedPathSegment(candidatePath: string): Promise<boolean>;
24
+ export declare function resolvePluginRoot(root: string): Promise<string>;
25
+ export declare function inspectPathWithinRoot(realRoot: string, relativePath: string, expectedKind: ExpectedPathKind): Promise<InspectedPath>;
26
+ export declare function readFileWithinRoot(realRoot: string, relativePath: string): Promise<ReadFileWithinRootResult>;
27
+ export declare function copyDirectoryWithoutSymbolicLinks(sourceDirectory: string, destinationDirectory: string, onSkippedSymbolicLink: SkippedSymbolicLinkHandler): Promise<void>;
28
+ //# sourceMappingURL=fileSystem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileSystem.d.ts","sourceRoot":"","sources":["../../../../src/component/generator/openPlugin/fileSystem.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,WAAW,CAAC;AAEpD,MAAM,MAAM,aAAa,GACrB;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GACrB;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GACrB;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjD,MAAM,MAAM,wBAAwB,GAChC;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAChD,OAAO,CAAC,aAAa,EAAE;IAAE,MAAM,EAAE,IAAI,CAAA;CAAE,CAAC,GACxC;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC;AAE1B,MAAM,MAAM,0BAA0B,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,KAAK,IAAI,CAAC;AAElG,wBAAsB,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAYlF;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAgBrE;AAED,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,gBAAgB,GAC7B,OAAO,CAAC,aAAa,CAAC,CA2CxB;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,wBAAwB,CAAC,CA0BnC;AAED,wBAAsB,iCAAiC,CACrD,eAAe,EAAE,MAAM,EACvB,oBAAoB,EAAE,MAAM,EAC5B,qBAAqB,EAAE,0BAA0B,GAChD,OAAO,CAAC,IAAI,CAAC,CA8Bf"}
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT license.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.hasLinkedPathSegment = hasLinkedPathSegment;
6
+ exports.resolvePluginRoot = resolvePluginRoot;
7
+ exports.inspectPathWithinRoot = inspectPathWithinRoot;
8
+ exports.readFileWithinRoot = readFileWithinRoot;
9
+ exports.copyDirectoryWithoutSymbolicLinks = copyDirectoryWithoutSymbolicLinks;
10
+ const tslib_1 = require("tslib");
11
+ const fs_1 = require("fs");
12
+ const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
13
+ const path = tslib_1.__importStar(require("path"));
14
+ const errors_1 = require("./errors");
15
+ const spec_1 = require("./spec");
16
+ async function hasLinkedPathSegment(candidatePath) {
17
+ let inspectedPath = path.resolve(candidatePath);
18
+ while (true) {
19
+ try {
20
+ if ((await fs_extra_1.default.lstat(inspectedPath)).isSymbolicLink())
21
+ return true;
22
+ }
23
+ catch (error) {
24
+ if (!hasErrorCode(error, "ENOENT"))
25
+ throw error;
26
+ }
27
+ const parentPath = path.dirname(inspectedPath);
28
+ if (parentPath === inspectedPath)
29
+ return false;
30
+ inspectedPath = parentPath;
31
+ }
32
+ }
33
+ async function resolvePluginRoot(root) {
34
+ const requestedRoot = path.resolve(root);
35
+ let realRoot;
36
+ try {
37
+ realRoot = await fs_extra_1.default.realpath(requestedRoot);
38
+ }
39
+ catch (error) {
40
+ if (hasErrorCode(error, "ENOENT")) {
41
+ throw new errors_1.OpenPluginInputError(`Plugin directory not found: ${requestedRoot}`);
42
+ }
43
+ throw error;
44
+ }
45
+ const stat = await fs_extra_1.default.stat(realRoot);
46
+ if (!stat.isDirectory()) {
47
+ throw new errors_1.OpenPluginInputError(`Plugin path is not a directory: ${requestedRoot}`);
48
+ }
49
+ return realRoot;
50
+ }
51
+ async function inspectPathWithinRoot(realRoot, relativePath, expectedKind) {
52
+ const lexicalPath = (0, spec_1.resolveWithinRoot)(realRoot, relativePath);
53
+ if (!lexicalPath)
54
+ return { status: "outside" };
55
+ const relative = path.relative(realRoot, lexicalPath);
56
+ const segments = relative === "" ? [] : relative.split(path.sep);
57
+ let inspectedPath = realRoot;
58
+ let stat;
59
+ try {
60
+ stat = await fs_extra_1.default.lstat(inspectedPath);
61
+ if (stat.isSymbolicLink()) {
62
+ return { status: "wrong-kind", actualKind: "symbolic link" };
63
+ }
64
+ for (const [index, segment] of segments.entries()) {
65
+ if (!stat.isDirectory()) {
66
+ return { status: "wrong-kind", actualKind: describeKind(stat) };
67
+ }
68
+ inspectedPath = path.join(inspectedPath, segment);
69
+ stat = await fs_extra_1.default.lstat(inspectedPath);
70
+ if (stat.isSymbolicLink()) {
71
+ const targetPath = await fs_extra_1.default.realpath(inspectedPath);
72
+ return isPathWithinRoot(realRoot, targetPath)
73
+ ? { status: "wrong-kind", actualKind: "symbolic link" }
74
+ : { status: "outside" };
75
+ }
76
+ if (index < segments.length - 1 && !stat.isDirectory()) {
77
+ return { status: "wrong-kind", actualKind: describeKind(stat) };
78
+ }
79
+ }
80
+ }
81
+ catch (error) {
82
+ if (hasErrorCode(error, "ENOENT")) {
83
+ return { status: "missing" };
84
+ }
85
+ throw error;
86
+ }
87
+ if (expectedKind === "file" && !stat.isFile()) {
88
+ return { status: "wrong-kind", actualKind: describeKind(stat) };
89
+ }
90
+ if (expectedKind === "directory" && !stat.isDirectory()) {
91
+ return { status: "wrong-kind", actualKind: describeKind(stat) };
92
+ }
93
+ return { status: "ok", path: lexicalPath };
94
+ }
95
+ async function readFileWithinRoot(realRoot, relativePath) {
96
+ const inspected = await inspectPathWithinRoot(realRoot, relativePath, "file");
97
+ if (inspected.status !== "ok")
98
+ return inspected;
99
+ let handle;
100
+ try {
101
+ handle = await fs_1.promises.open(inspected.path, "r");
102
+ const beforeRead = await handle.stat();
103
+ if (!beforeRead.isFile()) {
104
+ return { status: "wrong-kind", actualKind: describeKind(beforeRead) };
105
+ }
106
+ const contents = await handle.readFile();
107
+ const afterRead = await handle.stat();
108
+ const reinspected = await inspectPathWithinRoot(realRoot, relativePath, "file");
109
+ if (reinspected.status !== "ok")
110
+ return reinspected;
111
+ const current = await fs_extra_1.default.lstat(reinspected.path);
112
+ if (!isSameFileSnapshot(beforeRead, afterRead) || !isSameFileSnapshot(afterRead, current)) {
113
+ return { status: "changed" };
114
+ }
115
+ return { status: "ok", path: reinspected.path, contents };
116
+ }
117
+ catch (error) {
118
+ if (hasErrorCode(error, "ENOENT"))
119
+ return { status: "missing" };
120
+ throw error;
121
+ }
122
+ finally {
123
+ await handle?.close();
124
+ }
125
+ }
126
+ async function copyDirectoryWithoutSymbolicLinks(sourceDirectory, destinationDirectory, onSkippedSymbolicLink) {
127
+ const sourceStat = await fs_extra_1.default.lstat(sourceDirectory);
128
+ if (sourceStat.isSymbolicLink()) {
129
+ let resolvesOutside = true;
130
+ try {
131
+ const targetPath = await fs_extra_1.default.realpath(sourceDirectory);
132
+ resolvesOutside = !isPathWithinRoot(path.dirname(sourceDirectory), targetPath);
133
+ }
134
+ catch {
135
+ // Broken links are rejected with the same conservative warning.
136
+ }
137
+ onSkippedSymbolicLink(".", resolvesOutside);
138
+ return;
139
+ }
140
+ const realSourceDirectory = await fs_extra_1.default.realpath(sourceDirectory);
141
+ await fs_extra_1.default.copy(realSourceDirectory, destinationDirectory, {
142
+ filter: async (sourcePath) => {
143
+ const stat = await fs_extra_1.default.lstat(sourcePath);
144
+ if (!stat.isSymbolicLink())
145
+ return true;
146
+ let resolvesOutside = true;
147
+ try {
148
+ const targetPath = await fs_extra_1.default.realpath(sourcePath);
149
+ resolvesOutside = !isPathWithinRoot(realSourceDirectory, targetPath);
150
+ }
151
+ catch {
152
+ // Broken links are rejected with the same conservative warning.
153
+ }
154
+ onSkippedSymbolicLink(path.relative(realSourceDirectory, sourcePath), resolvesOutside);
155
+ return false;
156
+ },
157
+ });
158
+ }
159
+ function isPathWithinRoot(root, candidate) {
160
+ const relative = path.relative(root, candidate);
161
+ return (relative === "" ||
162
+ (!path.isAbsolute(relative) && relative !== ".." && !relative.startsWith(`..${path.sep}`)));
163
+ }
164
+ function describeKind(stat) {
165
+ if (stat.isDirectory())
166
+ return "directory";
167
+ if (stat.isFile())
168
+ return "file";
169
+ return "filesystem entry";
170
+ }
171
+ function isSameFileSnapshot(left, right) {
172
+ return (left.dev === right.dev &&
173
+ left.ino === right.ino &&
174
+ left.size === right.size &&
175
+ left.mtimeMs === right.mtimeMs &&
176
+ left.ctimeMs === right.ctimeMs);
177
+ }
178
+ function hasErrorCode(error, code) {
179
+ return error !== null && typeof error === "object" && "code" in error && error.code === code;
180
+ }
181
+ //# sourceMappingURL=fileSystem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileSystem.js","sourceRoot":"","sources":["../../../../src/component/generator/openPlugin/fileSystem.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;AAuBlC,oDAYC;AAED,8CAgBC;AAED,sDA+CC;AAED,gDA6BC;AAED,8EAkCC;;AAvKD,2BAAwC;AACxC,gEAA0B;AAC1B,mDAA6B;AAC7B,qCAAgD;AAChD,iCAA2C;AAiBpC,KAAK,UAAU,oBAAoB,CAAC,aAAqB;IAC9D,IAAI,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAChD,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,kBAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,EAAE;gBAAE,OAAO,IAAI,CAAC;QACpE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC;gBAAE,MAAM,KAAK,CAAC;QAClD,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC/C,IAAI,UAAU,KAAK,aAAa;YAAE,OAAO,KAAK,CAAC;QAC/C,aAAa,GAAG,UAAU,CAAC;IAC7B,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,iBAAiB,CAAC,IAAY;IAClD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,6BAAoB,CAAC,+BAA+B,aAAa,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,kBAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,6BAAoB,CAAC,mCAAmC,aAAa,EAAE,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAEM,KAAK,UAAU,qBAAqB,CACzC,QAAgB,EAChB,YAAoB,EACpB,YAA8B;IAE9B,MAAM,WAAW,GAAG,IAAA,wBAAiB,EAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC9D,IAAI,CAAC,WAAW;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAE/C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjE,IAAI,aAAa,GAAG,QAAQ,CAAC;IAC7B,IAAI,IAAc,CAAC;IACnB,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,kBAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;YAC1B,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;QAC/D,CAAC;QACD,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YAClD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YAClE,CAAC;YACD,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YAClD,IAAI,GAAG,MAAM,kBAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YACrC,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;gBAC1B,MAAM,UAAU,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;gBACpD,OAAO,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC;oBAC3C,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE;oBACvD,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;YAC5B,CAAC;YACD,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACvD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YAClE,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;YAClC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAC/B,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IAED,IAAI,YAAY,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QAC9C,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;IAClE,CAAC;IACD,IAAI,YAAY,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACxD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;IAClE,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AAC7C,CAAC;AAEM,KAAK,UAAU,kBAAkB,CACtC,QAAgB,EAChB,YAAoB;IAEpB,MAAM,SAAS,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAC9E,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAEhD,IAAI,MAA2D,CAAC;IAChE,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,aAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YACzB,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;QACxE,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACtC,MAAM,WAAW,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QAChF,IAAI,WAAW,CAAC,MAAM,KAAK,IAAI;YAAE,OAAO,WAAW,CAAC;QACpD,MAAM,OAAO,GAAG,MAAM,kBAAE,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC;YAC1F,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAC/B,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC5D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC;YAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAChE,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,EAAE,KAAK,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,iCAAiC,CACrD,eAAuB,EACvB,oBAA4B,EAC5B,qBAAiD;IAEjD,MAAM,UAAU,GAAG,MAAM,kBAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACnD,IAAI,UAAU,CAAC,cAAc,EAAE,EAAE,CAAC;QAChC,IAAI,eAAe,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YACtD,eAAe,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC,CAAC;QACjF,CAAC;QAAC,MAAM,CAAC;YACP,gEAAgE;QAClE,CAAC;QACD,qBAAqB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QAC5C,OAAO;IACT,CAAC;IACD,MAAM,mBAAmB,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC/D,MAAM,kBAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,oBAAoB,EAAE;QACvD,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;YAC3B,MAAM,IAAI,GAAG,MAAM,kBAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;gBAAE,OAAO,IAAI,CAAC;YAExC,IAAI,eAAe,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBACjD,eAAe,GAAG,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;YACvE,CAAC;YAAC,MAAM,CAAC;gBACP,gEAAgE;YAClE,CAAC;YACD,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,UAAU,CAAC,EAAE,eAAe,CAAC,CAAC;YACvF,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY,EAAE,SAAiB;IACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAChD,OAAO,CACL,QAAQ,KAAK,EAAE;QACf,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAC3F,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,IAAc;IAClC,IAAI,IAAI,CAAC,WAAW,EAAE;QAAE,OAAO,WAAW,CAAC;IAC3C,IAAI,IAAI,CAAC,MAAM,EAAE;QAAE,OAAO,MAAM,CAAC;IACjC,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAc,EAAE,KAAe;IACzD,OAAO,CACL,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG;QACtB,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG;QACtB,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;QACxB,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;QAC9B,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAC/B,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAc,EAAE,IAAY;IAChD,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;AAC/F,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"iconStrategy.d.ts","sourceRoot":"","sources":["../../../../src/component/generator/openPlugin/iconStrategy.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAK3C;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,gBAAgB,EACxB,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,IAAI,CAAC,CAoBf"}
1
+ {"version":3,"file":"iconStrategy.d.ts","sourceRoot":"","sources":["../../../../src/component/generator/openPlugin/iconStrategy.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAK3C;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,gBAAgB,EACxB,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,IAAI,CAAC,CAuBf"}
@@ -6,6 +6,7 @@ exports.applyIcons = applyIcons;
6
6
  const tslib_1 = require("tslib");
7
7
  const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
8
8
  const path = tslib_1.__importStar(require("path"));
9
+ const fileSystem_1 = require("./fileSystem");
9
10
  const placeholderPng_1 = require("./placeholderPng");
10
11
  const COLOR_FILL = [0x4a, 0x90, 0xd9];
11
12
  const OUTLINE_FILL = [0xff, 0xff, 0xff];
@@ -17,27 +18,39 @@ const OUTLINE_FILL = [0xff, 0xff, 0xff];
17
18
  async function applyIcons(parsed, appPackageDir, warnings) {
18
19
  const colorDest = path.join(appPackageDir, "color.png");
19
20
  const outlineDest = path.join(appPackageDir, "outline.png");
20
- if (parsed.hasColorPng) {
21
- await fs_extra_1.default.copy(path.join(parsed.pluginRoot, "color.png"), colorDest);
22
- }
23
- else if (typeof parsed.manifest.logo === "string" && parsed.manifest.logo) {
21
+ const appliedColor = await tryApplyRootIcon(parsed.pluginRoot, "color.png", colorDest, warnings);
22
+ if (!appliedColor && typeof parsed.manifest.logo === "string" && parsed.manifest.logo) {
24
23
  const applied = await tryApplyLogo(parsed, colorDest, warnings);
25
24
  if (!applied) {
26
25
  await fs_extra_1.default.writeFile(colorDest, (0, placeholderPng_1.generatePlaceholderPng)(192, ...COLOR_FILL));
27
26
  }
28
27
  }
29
- else {
28
+ else if (!appliedColor) {
30
29
  await fs_extra_1.default.writeFile(colorDest, (0, placeholderPng_1.generatePlaceholderPng)(192, ...COLOR_FILL));
31
30
  }
32
- if (parsed.hasOutlinePng) {
33
- await fs_extra_1.default.copy(path.join(parsed.pluginRoot, "outline.png"), outlineDest);
34
- }
35
- else {
31
+ const appliedOutline = await tryApplyRootIcon(parsed.pluginRoot, "outline.png", outlineDest, warnings);
32
+ if (!appliedOutline) {
36
33
  await fs_extra_1.default.writeFile(outlineDest, (0, placeholderPng_1.generatePlaceholderPng)(32, ...OUTLINE_FILL));
37
34
  }
38
35
  }
36
+ async function tryApplyRootIcon(pluginRoot, fileName, destination, warnings) {
37
+ const inspected = await (0, fileSystem_1.inspectPathWithinRoot)(pluginRoot, fileName, "file");
38
+ if (inspected.status === "ok") {
39
+ await fs_extra_1.default.copy(inspected.path, destination);
40
+ return true;
41
+ }
42
+ if (inspected.status === "outside") {
43
+ warnings.push(`'${fileName}' resolves outside the plugin root and was ignored.`);
44
+ }
45
+ else if (inspected.status === "wrong-kind") {
46
+ warnings.push(`'${fileName}' is not a regular file and was ignored.`);
47
+ }
48
+ return false;
49
+ }
39
50
  async function tryApplyLogo(parsed, colorDest, warnings) {
40
51
  const logo = parsed.manifest.logo;
52
+ if (typeof logo !== "string")
53
+ return false;
41
54
  if (/^https?:\/\//i.test(logo)) {
42
55
  warnings.push(`'logo' field points to a remote URL (${logo}); using placeholder color.png. Download manually if you want to ship the original.`);
43
56
  return false;
@@ -46,17 +59,20 @@ async function tryApplyLogo(parsed, colorDest, warnings) {
46
59
  warnings.push(`'logo' field '${logo}' is not a .png file; using placeholder color.png.`);
47
60
  return false;
48
61
  }
49
- const logoAbs = path.resolve(parsed.pluginRoot, logo);
50
- const relativeToRoot = path.relative(parsed.pluginRoot, logoAbs);
51
- if (relativeToRoot.startsWith("..") || path.isAbsolute(relativeToRoot)) {
62
+ const inspectedLogo = await (0, fileSystem_1.inspectPathWithinRoot)(parsed.pluginRoot, logo, "file");
63
+ if (inspectedLogo.status === "outside") {
52
64
  warnings.push(`'logo' field '${logo}' resolves outside the plugin root; using placeholder color.png.`);
53
65
  return false;
54
66
  }
55
- if (!(await fs_extra_1.default.pathExists(logoAbs))) {
67
+ if (inspectedLogo.status === "missing") {
56
68
  warnings.push(`'logo' field '${logo}' does not exist; using placeholder color.png.`);
57
69
  return false;
58
70
  }
59
- await fs_extra_1.default.copy(logoAbs, colorDest);
71
+ if (inspectedLogo.status === "wrong-kind") {
72
+ warnings.push(`'logo' field '${logo}' is not a file; using placeholder color.png.`);
73
+ return false;
74
+ }
75
+ await fs_extra_1.default.copy(inspectedLogo.path, colorDest);
60
76
  return true;
61
77
  }
62
78
  //# sourceMappingURL=iconStrategy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"iconStrategy.js","sourceRoot":"","sources":["../../../../src/component/generator/openPlugin/iconStrategy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iconStrategy.js","sourceRoot":"","sources":["../../../../src/component/generator/openPlugin/iconStrategy.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"importer.d.ts","sourceRoot":"","sources":["../../../../src/component/generator/openPlugin/importer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAO,OAAO,EAAM,MAAM,EAA0B,MAAM,wBAAwB,CAAC;AAW1F,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,eAAO,MAAM,yBAAyB,qBAAqB,CAAC;AAE5D,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAiFxC;AAqCD,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CAsBA"}
1
+ {"version":3,"file":"importer.d.ts","sourceRoot":"","sources":["../../../../src/component/generator/openPlugin/importer.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,OAAO,EAEP,MAAM,EAIP,MAAM,wBAAwB,CAAC;AAmBhC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGvC,eAAO,MAAM,yBAAyB,qBAAqB,CAAC;AAE5D,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAWD;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CA2JxC;AAkDD,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CAqBA"}
@@ -10,14 +10,27 @@ const teamsfx_api_1 = require("@microsoft/teamsfx-api");
10
10
  const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
11
11
  const js_yaml_1 = tslib_1.__importDefault(require("js-yaml"));
12
12
  const path = tslib_1.__importStar(require("path"));
13
+ const localizeUtils_1 = require("../../../common/localizeUtils");
13
14
  const globalVars_1 = require("../../../common/globalVars");
14
15
  const generator_1 = require("../generator");
15
16
  const templateNames_1 = require("../templates/templateNames");
16
17
  const authResolver_1 = require("./authResolver");
18
+ const errors_1 = require("./errors");
19
+ const fileSystem_1 = require("./fileSystem");
17
20
  const iconStrategy_1 = require("./iconStrategy");
18
21
  const mapper_1 = require("./mapper");
19
22
  const parser_1 = require("./parser");
23
+ const spec_1 = require("./spec");
24
+ const validation_1 = require("./validation");
20
25
  exports.OPEN_PLUGIN_IMPORT_SOURCE = "OpenPluginImport";
26
+ function localizedImportUserError(name, key, ...params) {
27
+ return new teamsfx_api_1.UserError({
28
+ source: exports.OPEN_PLUGIN_IMPORT_SOURCE,
29
+ name,
30
+ message: (0, localizeUtils_1.getDefaultString)(key, ...params),
31
+ displayMessage: (0, localizeUtils_1.getLocalizedString)(key, ...params),
32
+ });
33
+ }
21
34
  /**
22
35
  * Import an Open Plugin / Claude Code plugin / Cursor plugin directory into
23
36
  * a scaffolded Microsoft 365 Agents Toolkit project. The output is a usable
@@ -33,24 +46,41 @@ exports.OPEN_PLUGIN_IMPORT_SOURCE = "OpenPluginImport";
33
46
  async function importOpenPlugin(inputs) {
34
47
  try {
35
48
  if (!inputs.path) {
36
- return (0, teamsfx_api_1.err)(new teamsfx_api_1.UserError(exports.OPEN_PLUGIN_IMPORT_SOURCE, "MissingPluginPath", "--path is required."));
49
+ return (0, teamsfx_api_1.err)(localizedImportUserError("MissingPluginPath", "core.openPluginImport.missingPluginPath"));
37
50
  }
38
51
  const parsed = await (0, parser_1.readOpenPluginDir)(inputs.path);
39
- const defaultOutput = path.join(process.cwd(), parsed.manifest.name);
52
+ const defaultOutput = path.join(process.cwd(), (0, spec_1.normalizePluginName)(parsed.manifest.name));
40
53
  const projectPath = path.resolve(inputs.output ?? defaultOutput);
54
+ if (await (0, fileSystem_1.hasLinkedPathSegment)(projectPath)) {
55
+ return (0, teamsfx_api_1.err)(localizedImportUserError("InvalidOutputPath", "core.openPluginImport.invalidOutputPath", projectPath));
56
+ }
41
57
  if (await fs_extra_1.default.pathExists(projectPath)) {
42
58
  const entries = await fs_extra_1.default.readdir(projectPath);
43
59
  if (entries.length > 0) {
44
- return (0, teamsfx_api_1.err)(new teamsfx_api_1.UserError(exports.OPEN_PLUGIN_IMPORT_SOURCE, "OutputDirectoryNotEmpty", `Output directory is not empty: ${projectPath}. Choose a different --output path or empty the directory.`));
60
+ return (0, teamsfx_api_1.err)(localizedImportUserError("OutputDirectoryNotEmpty", "core.openPluginImport.outputDirectoryNotEmpty", projectPath));
45
61
  }
46
62
  }
47
- (0, mapper_1.validateMcpServerCount)(parsed.mcpServers);
63
+ (0, mapper_1.validateImportInputs)(parsed, inputs);
64
+ const preflightManifest = (0, mapper_1.mapToTtkProject)(parsed, {
65
+ ...inputs,
66
+ defaultAuthType: inputs.defaultAuthType === undefined || inputs.defaultAuthType === "Auto"
67
+ ? "None"
68
+ : inputs.defaultAuthType,
69
+ }).manifest;
70
+ const preflightError = await getMappedManifestValidationError(preflightManifest);
71
+ if (preflightError) {
72
+ return (0, teamsfx_api_1.err)(localizedImportUserError("InvalidManifest", "core.openPluginImport.invalidManifest", preflightError));
73
+ }
48
74
  const authResolution = await (0, authResolver_1.resolveOpenPluginMcpAuth)(parsed, inputs.defaultAuthType ?? "Auto");
49
75
  if (authResolution.isErr()) {
50
76
  return (0, teamsfx_api_1.err)(authResolution.error);
51
77
  }
52
78
  const { manifest, copyOps, warnings } = (0, mapper_1.mapToTtkProject)(parsed, inputs, authResolution.value.authTypes);
53
79
  warnings.push(...authResolution.value.warnings);
80
+ const manifestValidationError = await getMappedManifestValidationError(manifest);
81
+ if (manifestValidationError) {
82
+ return (0, teamsfx_api_1.err)(localizedImportUserError("InvalidManifest", "core.openPluginImport.invalidManifest", manifestValidationError));
83
+ }
54
84
  // 1. Scaffold the static baseline from the open-plugin-import template.
55
85
  const ctx = (0, globalVars_1.createContext)();
56
86
  ctx.templateVariables = { appName: parsed.manifest.name };
@@ -60,12 +90,32 @@ async function importOpenPlugin(inputs) {
60
90
  // 2. Post-scaffold: write the dynamic outputs.
61
91
  const appPackageDir = path.join(projectPath, "appPackage");
62
92
  await fs_extra_1.default.ensureDir(appPackageDir);
63
- // Manifest (vDevPreview agentSkills/agentConnectors are variable-length).
64
- await fs_extra_1.default.writeJSON(path.join(appPackageDir, "manifest.json"), manifest, { spaces: 4 });
65
93
  // Copy skill folders and (when present) the commands folder.
66
94
  for (const op of copyOps) {
67
- await fs_extra_1.default.copy(op.src, path.join(projectPath, op.destRelative));
95
+ const destination = path.join(projectPath, op.destRelative);
96
+ if (op.kind === "contents") {
97
+ await fs_extra_1.default.ensureDir(path.dirname(destination));
98
+ await fs_extra_1.default.writeFile(destination, op.contents);
99
+ continue;
100
+ }
101
+ const source = await (0, fileSystem_1.inspectPathWithinRoot)(parsed.pluginRoot, path.relative(parsed.pluginRoot, op.src), op.kind);
102
+ if (source.status !== "ok") {
103
+ const componentType = op.kind === "file" ? "command" : "skill";
104
+ warnings.push(`Skipped ${componentType} '${path.basename(op.src)}': source is no longer safe.`);
105
+ continue;
106
+ }
107
+ if (op.kind === "file") {
108
+ await fs_extra_1.default.ensureDir(path.dirname(destination));
109
+ await fs_extra_1.default.copyFile(source.path, destination);
110
+ }
111
+ else {
112
+ await (0, fileSystem_1.copyDirectoryWithoutSymbolicLinks)(source.path, destination, (relativePath, resolvesOutside) => {
113
+ warnings.push(`Skipped symbolic link '${relativePath}' while copying '${op.destRelative}'${resolvesOutside ? " because it resolves outside the component root" : ""}.`);
114
+ });
115
+ }
68
116
  }
117
+ // Manifest (vDevPreview agentSkills/agentConnectors are variable-length).
118
+ await fs_extra_1.default.writeJSON(path.join(appPackageDir, "manifest.json"), manifest, { spaces: 4 });
69
119
  // Strip SKILL.md frontmatter fields that Teams Developer Portal rejects.
70
120
  // Allowed: name, description, license, metadata, compatibility.
71
121
  await sanitizeSkillFiles(path.join(appPackageDir, "skills"), warnings);
@@ -77,15 +127,29 @@ async function importOpenPlugin(inputs) {
77
127
  if (e instanceof teamsfx_api_1.UserError || e instanceof teamsfx_api_1.SystemError) {
78
128
  return (0, teamsfx_api_1.err)(e);
79
129
  }
130
+ if (e instanceof errors_1.OpenPluginInputError) {
131
+ return (0, teamsfx_api_1.err)(localizedImportUserError("InvalidPlugin", "core.openPluginImport.invalidPlugin", e.message));
132
+ }
80
133
  const message = e instanceof Error ? e.message : String(e);
81
134
  return (0, teamsfx_api_1.err)(new teamsfx_api_1.SystemError({
82
135
  source: exports.OPEN_PLUGIN_IMPORT_SOURCE,
83
136
  name: "ImportOpenPluginFailed",
84
137
  message,
85
- displayMessage: message,
138
+ displayMessage: (0, localizeUtils_1.getLocalizedString)("core.openPluginImport.failed"),
86
139
  }));
87
140
  }
88
141
  }
142
+ async function getMappedManifestValidationError(manifest) {
143
+ let typedManifest;
144
+ try {
145
+ typedManifest = teamsfx_api_1.TeamsManifestConverter.jsonToManifest(JSON.stringify(manifest));
146
+ }
147
+ catch (error) {
148
+ return error instanceof Error ? error.message : String(error);
149
+ }
150
+ const errors = await teamsfx_api_1.AppManifestUtils.validateAgainstSchema(typedManifest);
151
+ return errors.length > 0 ? errors.join(" ") : undefined;
152
+ }
89
153
  // Teams Developer Portal accepts only these SKILL.md frontmatter keys.
90
154
  const ALLOWED_SKILL_FRONTMATTER_KEYS = new Set([
91
155
  "name",
@@ -123,15 +187,14 @@ function stripDisallowedFrontmatter(source) {
123
187
  if (!match)
124
188
  return { content: source, removedKeys: [] };
125
189
  const parsed = js_yaml_1.default.load(match[1]);
126
- if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
190
+ if (!(0, validation_1.isRecord)(parsed)) {
127
191
  return { content: source, removedKeys: [] };
128
192
  }
129
- const obj = parsed;
130
193
  const removedKeys = [];
131
194
  const kept = {};
132
- for (const key of Object.keys(obj)) {
195
+ for (const key of Object.keys(parsed)) {
133
196
  if (ALLOWED_SKILL_FRONTMATTER_KEYS.has(key)) {
134
- kept[key] = obj[key];
197
+ kept[key] = parsed[key];
135
198
  }
136
199
  else {
137
200
  removedKeys.push(key);
@@ -1 +1 @@
1
- {"version":3,"file":"importer.js","sourceRoot":"","sources":["../../../../src/component/generator/openPlugin/importer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"importer.js","sourceRoot":"","sources":["../../../../src/component/generator/openPlugin/importer.ts"],"names":[],"mappings":"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"}