@thinkwise/testwise 0.2.67 → 0.2.103

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 (434) hide show
  1. package/Testwise.ts +35 -0
  2. package/artifact-builder/ArtifactManager.ts +25 -2
  3. package/artifact-builder/ComponentClassModelBuilder.ts +148 -0
  4. package/artifact-builder/InterfaceGenerator.ts +31 -33
  5. package/artifact-builder/ModelDataBuilder.ts +18 -20
  6. package/artifact-builder/ModelDataRefiner.ts +23 -3
  7. package/artifact-builder/SchemaGenerator.ts +45 -35
  8. package/artifact-builder/ScreenInterfaceRefiner.ts +25 -10
  9. package/artifact-builder/SelectorBuilder.ts +30 -24
  10. package/artifact-builder/SubjectClassModelBuilder.ts +209 -0
  11. package/artifact-builder/SubjectComponentGenerator.ts +67 -246
  12. package/artifact-builder/SubjectGenerator.ts +117 -230
  13. package/artifact-builder/SubjectRegistration.ts +41 -32
  14. package/artifact-builder/TsFileModel.ts +94 -0
  15. package/artifact-builder/TsFileSerializer.ts +247 -0
  16. package/artifact-builder/helpers/DataRetriever.ts +64 -27
  17. package/artifact-builder/helpers/NamingHandler.ts +23 -78
  18. package/artifact-builder/helpers/PipelinePaths.ts +123 -0
  19. package/artifact-builder/helpers/Stopwatch.ts +10 -0
  20. package/artifact-builder/helpers/index.ts +1 -0
  21. package/artifact-builder/index.ts +4 -0
  22. package/components/BaseComponentObjects.ts +17 -0
  23. package/components/action-bar/ActionBar.ts +35 -47
  24. package/components/action-bar/ActionBarObjects.ts +2 -0
  25. package/components/action-bar/CustomActionBar.ts +6 -0
  26. package/components/cardlist/Cardlist.ts +6 -0
  27. package/components/chart/Chart.ts +6 -0
  28. package/components/combined-filter/CombinedFilter.ts +9 -0
  29. package/components/cube-view-bar/CubeViewBar.ts +6 -0
  30. package/components/export/ExportComponent.ts +12 -0
  31. package/components/filter/ExcelStyleFilterPopup.ts +35 -2
  32. package/components/filter/FilterForm.ts +10 -0
  33. package/components/filter/FilterPopup.ts +30 -9
  34. package/components/filter/FilterPopupObjects.ts +10 -3
  35. package/components/filter/FindForm.ts +7 -0
  36. package/components/filter/ManagePrefilterPopup.ts +11 -0
  37. package/components/form/Form.ts +16 -0
  38. package/components/grid/Grid.ts +18 -1
  39. package/components/maps/Maps.ts +6 -0
  40. package/components/menu/ListBarMenuComponent.ts +10 -0
  41. package/components/pivot-grid/PivotGrid.ts +6 -0
  42. package/components/pivot-grid/PivotGridFieldList.ts +7 -0
  43. package/components/pop-up/AllRowsPopUp.ts +12 -0
  44. package/components/pop-up/PopUpComponent.ts +11 -0
  45. package/components/prefilter-list/PrefilterList.ts +9 -0
  46. package/components/preview/Preview.ts +6 -0
  47. package/components/report-bar/ReportBar.ts +6 -0
  48. package/components/report-tiles/ReportTiles.ts +6 -0
  49. package/components/scheduler/Scheduler.ts +6 -0
  50. package/components/snackbar/SnackBar.ts +12 -0
  51. package/components/splitter/Splitter.ts +6 -0
  52. package/components/tab/BaseTab.ts +5 -0
  53. package/components/tab/DetailTabPage.ts +11 -0
  54. package/components/tab/Tab.ts +10 -0
  55. package/components/task/TaskBar.ts +13 -3
  56. package/components/task/TaskTiles.ts +12 -3
  57. package/components/topbar/TopBar.ts +10 -0
  58. package/components/tree-view/TreeView.ts +9 -0
  59. package/controls/DateControl.ts +40 -1
  60. package/controls/FormComboBox.ts +30 -0
  61. package/controls/GridColumnControl.ts +34 -3
  62. package/controls/InputFieldControl.ts +49 -0
  63. package/controls/LookupDropdown.ts +29 -0
  64. package/dist/Testwise.js +35 -0
  65. package/dist/Testwise.js.map +1 -1
  66. package/dist/artifact-builder/ArtifactManager.d.ts +18 -1
  67. package/dist/artifact-builder/ArtifactManager.js +24 -2
  68. package/dist/artifact-builder/ArtifactManager.js.map +1 -1
  69. package/dist/artifact-builder/ComponentClassModelBuilder.d.ts +22 -0
  70. package/dist/artifact-builder/ComponentClassModelBuilder.js +115 -0
  71. package/dist/artifact-builder/ComponentClassModelBuilder.js.map +1 -0
  72. package/dist/artifact-builder/InterfaceGenerator.d.ts +15 -6
  73. package/dist/artifact-builder/InterfaceGenerator.js +27 -26
  74. package/dist/artifact-builder/InterfaceGenerator.js.map +1 -1
  75. package/dist/artifact-builder/ModelDataBuilder.d.ts +7 -0
  76. package/dist/artifact-builder/ModelDataBuilder.js +13 -5
  77. package/dist/artifact-builder/ModelDataBuilder.js.map +1 -1
  78. package/dist/artifact-builder/ModelDataRefiner.d.ts +18 -1
  79. package/dist/artifact-builder/ModelDataRefiner.js +18 -3
  80. package/dist/artifact-builder/ModelDataRefiner.js.map +1 -1
  81. package/dist/artifact-builder/SchemaGenerator.d.ts +21 -5
  82. package/dist/artifact-builder/SchemaGenerator.js +38 -26
  83. package/dist/artifact-builder/SchemaGenerator.js.map +1 -1
  84. package/dist/artifact-builder/ScreenInterfaceRefiner.d.ts +18 -1
  85. package/dist/artifact-builder/ScreenInterfaceRefiner.js +23 -9
  86. package/dist/artifact-builder/ScreenInterfaceRefiner.js.map +1 -1
  87. package/dist/artifact-builder/SelectorBuilder.d.ts +18 -5
  88. package/dist/artifact-builder/SelectorBuilder.js +29 -14
  89. package/dist/artifact-builder/SelectorBuilder.js.map +1 -1
  90. package/dist/artifact-builder/SubjectClassModelBuilder.d.ts +38 -0
  91. package/dist/artifact-builder/SubjectClassModelBuilder.js +158 -0
  92. package/dist/artifact-builder/SubjectClassModelBuilder.js.map +1 -0
  93. package/dist/artifact-builder/SubjectComponentGenerator.d.ts +25 -14
  94. package/dist/artifact-builder/SubjectComponentGenerator.js +65 -189
  95. package/dist/artifact-builder/SubjectComponentGenerator.js.map +1 -1
  96. package/dist/artifact-builder/SubjectGenerator.d.ts +32 -13
  97. package/dist/artifact-builder/SubjectGenerator.js +81 -165
  98. package/dist/artifact-builder/SubjectGenerator.js.map +1 -1
  99. package/dist/artifact-builder/SubjectRegistration.d.ts +22 -8
  100. package/dist/artifact-builder/SubjectRegistration.js +29 -14
  101. package/dist/artifact-builder/SubjectRegistration.js.map +1 -1
  102. package/dist/artifact-builder/TsFileModel.d.ts +86 -0
  103. package/dist/artifact-builder/TsFileModel.js +2 -0
  104. package/dist/artifact-builder/TsFileModel.js.map +1 -0
  105. package/dist/artifact-builder/TsFileSerializer.d.ts +19 -0
  106. package/dist/artifact-builder/TsFileSerializer.js +225 -0
  107. package/dist/artifact-builder/TsFileSerializer.js.map +1 -0
  108. package/dist/artifact-builder/helpers/DataRetriever.d.ts +22 -3
  109. package/dist/artifact-builder/helpers/DataRetriever.js +56 -26
  110. package/dist/artifact-builder/helpers/DataRetriever.js.map +1 -1
  111. package/dist/artifact-builder/helpers/NamingHandler.d.ts +18 -6
  112. package/dist/artifact-builder/helpers/NamingHandler.js +20 -61
  113. package/dist/artifact-builder/helpers/NamingHandler.js.map +1 -1
  114. package/dist/artifact-builder/helpers/PipelinePaths.d.ts +52 -0
  115. package/dist/artifact-builder/helpers/PipelinePaths.js +99 -0
  116. package/dist/artifact-builder/helpers/PipelinePaths.js.map +1 -0
  117. package/dist/artifact-builder/helpers/Stopwatch.d.ts +10 -0
  118. package/dist/artifact-builder/helpers/Stopwatch.js +10 -0
  119. package/dist/artifact-builder/helpers/Stopwatch.js.map +1 -1
  120. package/dist/artifact-builder/helpers/index.d.ts +1 -0
  121. package/dist/artifact-builder/helpers/index.js +1 -0
  122. package/dist/artifact-builder/helpers/index.js.map +1 -1
  123. package/dist/artifact-builder/index.d.ts +4 -0
  124. package/dist/artifact-builder/index.js +4 -0
  125. package/dist/artifact-builder/index.js.map +1 -1
  126. package/dist/components/BaseComponentObjects.d.ts +17 -0
  127. package/dist/components/BaseComponentObjects.js +17 -0
  128. package/dist/components/BaseComponentObjects.js.map +1 -1
  129. package/dist/components/action-bar/ActionBar.d.ts +21 -24
  130. package/dist/components/action-bar/ActionBar.js +31 -24
  131. package/dist/components/action-bar/ActionBar.js.map +1 -1
  132. package/dist/components/action-bar/ActionBarObjects.d.ts +1 -0
  133. package/dist/components/action-bar/ActionBarObjects.js +1 -0
  134. package/dist/components/action-bar/ActionBarObjects.js.map +1 -1
  135. package/dist/components/action-bar/CustomActionBar.d.ts +6 -0
  136. package/dist/components/action-bar/CustomActionBar.js +6 -0
  137. package/dist/components/action-bar/CustomActionBar.js.map +1 -1
  138. package/dist/components/cardlist/Cardlist.d.ts +6 -0
  139. package/dist/components/cardlist/Cardlist.js +6 -0
  140. package/dist/components/cardlist/Cardlist.js.map +1 -1
  141. package/dist/components/chart/Chart.d.ts +6 -0
  142. package/dist/components/chart/Chart.js +6 -0
  143. package/dist/components/chart/Chart.js.map +1 -1
  144. package/dist/components/combined-filter/CombinedFilter.d.ts +9 -0
  145. package/dist/components/combined-filter/CombinedFilter.js +9 -0
  146. package/dist/components/combined-filter/CombinedFilter.js.map +1 -1
  147. package/dist/components/cube-view-bar/CubeViewBar.d.ts +6 -0
  148. package/dist/components/cube-view-bar/CubeViewBar.js +6 -0
  149. package/dist/components/cube-view-bar/CubeViewBar.js.map +1 -1
  150. package/dist/components/export/ExportComponent.d.ts +12 -0
  151. package/dist/components/export/ExportComponent.js +12 -0
  152. package/dist/components/export/ExportComponent.js.map +1 -1
  153. package/dist/components/filter/ExcelStyleFilterPopup.d.ts +17 -4
  154. package/dist/components/filter/ExcelStyleFilterPopup.js +35 -23
  155. package/dist/components/filter/ExcelStyleFilterPopup.js.map +1 -1
  156. package/dist/components/filter/ExcelStyleFilterPopupObjects.d.ts +1 -1
  157. package/dist/components/filter/ExcelStyleFilterPopupObjects.js +2 -2
  158. package/dist/components/filter/ExcelStyleFilterPopupObjects.js.map +1 -1
  159. package/dist/components/filter/FilterForm.d.ts +10 -0
  160. package/dist/components/filter/FilterForm.js +10 -0
  161. package/dist/components/filter/FilterForm.js.map +1 -1
  162. package/dist/components/filter/FilterPopup.d.ts +22 -4
  163. package/dist/components/filter/FilterPopup.js +17 -9
  164. package/dist/components/filter/FilterPopup.js.map +1 -1
  165. package/dist/components/filter/FilterPopupObjects.d.ts +5 -2
  166. package/dist/components/filter/FilterPopupObjects.js +5 -2
  167. package/dist/components/filter/FilterPopupObjects.js.map +1 -1
  168. package/dist/components/filter/FindForm.d.ts +7 -0
  169. package/dist/components/filter/FindForm.js +7 -0
  170. package/dist/components/filter/FindForm.js.map +1 -1
  171. package/dist/components/filter/ManagePrefilterPopup.d.ts +11 -0
  172. package/dist/components/filter/ManagePrefilterPopup.js +11 -0
  173. package/dist/components/filter/ManagePrefilterPopup.js.map +1 -1
  174. package/dist/components/form/Form.d.ts +16 -0
  175. package/dist/components/form/Form.js +16 -0
  176. package/dist/components/form/Form.js.map +1 -1
  177. package/dist/components/grid/Grid.d.ts +17 -0
  178. package/dist/components/grid/Grid.js +18 -1
  179. package/dist/components/grid/Grid.js.map +1 -1
  180. package/dist/components/maps/Maps.d.ts +6 -0
  181. package/dist/components/maps/Maps.js +6 -0
  182. package/dist/components/maps/Maps.js.map +1 -1
  183. package/dist/components/menu/ListBarMenuComponent.d.ts +10 -0
  184. package/dist/components/menu/ListBarMenuComponent.js +10 -0
  185. package/dist/components/menu/ListBarMenuComponent.js.map +1 -1
  186. package/dist/components/pivot-grid/PivotGrid.d.ts +6 -0
  187. package/dist/components/pivot-grid/PivotGrid.js +6 -0
  188. package/dist/components/pivot-grid/PivotGrid.js.map +1 -1
  189. package/dist/components/pivot-grid/PivotGridFieldList.d.ts +7 -0
  190. package/dist/components/pivot-grid/PivotGridFieldList.js +7 -0
  191. package/dist/components/pivot-grid/PivotGridFieldList.js.map +1 -1
  192. package/dist/components/pop-up/AllRowsPopUp.d.ts +12 -0
  193. package/dist/components/pop-up/AllRowsPopUp.js +12 -0
  194. package/dist/components/pop-up/AllRowsPopUp.js.map +1 -1
  195. package/dist/components/pop-up/PopUpComponent.d.ts +11 -0
  196. package/dist/components/pop-up/PopUpComponent.js +11 -0
  197. package/dist/components/pop-up/PopUpComponent.js.map +1 -1
  198. package/dist/components/prefilter-list/PrefilterList.d.ts +9 -0
  199. package/dist/components/prefilter-list/PrefilterList.js +9 -0
  200. package/dist/components/prefilter-list/PrefilterList.js.map +1 -1
  201. package/dist/components/preview/Preview.d.ts +6 -0
  202. package/dist/components/preview/Preview.js +6 -0
  203. package/dist/components/preview/Preview.js.map +1 -1
  204. package/dist/components/report-bar/ReportBar.d.ts +6 -0
  205. package/dist/components/report-bar/ReportBar.js +6 -0
  206. package/dist/components/report-bar/ReportBar.js.map +1 -1
  207. package/dist/components/report-tiles/ReportTiles.d.ts +6 -0
  208. package/dist/components/report-tiles/ReportTiles.js +6 -0
  209. package/dist/components/report-tiles/ReportTiles.js.map +1 -1
  210. package/dist/components/scheduler/Scheduler.d.ts +6 -0
  211. package/dist/components/scheduler/Scheduler.js +6 -0
  212. package/dist/components/scheduler/Scheduler.js.map +1 -1
  213. package/dist/components/snackbar/SnackBar.d.ts +12 -0
  214. package/dist/components/snackbar/SnackBar.js +12 -0
  215. package/dist/components/snackbar/SnackBar.js.map +1 -1
  216. package/dist/components/splitter/Splitter.d.ts +6 -0
  217. package/dist/components/splitter/Splitter.js +6 -0
  218. package/dist/components/splitter/Splitter.js.map +1 -1
  219. package/dist/components/tab/BaseTab.d.ts +5 -0
  220. package/dist/components/tab/BaseTab.js +5 -0
  221. package/dist/components/tab/BaseTab.js.map +1 -1
  222. package/dist/components/tab/DetailTabPage.d.ts +11 -0
  223. package/dist/components/tab/DetailTabPage.js +11 -0
  224. package/dist/components/tab/DetailTabPage.js.map +1 -1
  225. package/dist/components/tab/Tab.d.ts +10 -0
  226. package/dist/components/tab/Tab.js +10 -0
  227. package/dist/components/tab/Tab.js.map +1 -1
  228. package/dist/components/task/TaskBar.d.ts +12 -2
  229. package/dist/components/task/TaskBar.js +13 -3
  230. package/dist/components/task/TaskBar.js.map +1 -1
  231. package/dist/components/task/TaskTiles.d.ts +11 -2
  232. package/dist/components/task/TaskTiles.js +12 -3
  233. package/dist/components/task/TaskTiles.js.map +1 -1
  234. package/dist/components/topbar/TopBar.d.ts +10 -0
  235. package/dist/components/topbar/TopBar.js +10 -0
  236. package/dist/components/topbar/TopBar.js.map +1 -1
  237. package/dist/components/tree-view/TreeView.d.ts +9 -0
  238. package/dist/components/tree-view/TreeView.js +9 -0
  239. package/dist/components/tree-view/TreeView.js.map +1 -1
  240. package/dist/controls/DateControl.d.ts +39 -0
  241. package/dist/controls/DateControl.js +18 -1
  242. package/dist/controls/DateControl.js.map +1 -1
  243. package/dist/controls/FormComboBox.d.ts +30 -0
  244. package/dist/controls/FormComboBox.js +8 -0
  245. package/dist/controls/FormComboBox.js.map +1 -1
  246. package/dist/controls/GridColumnControl.d.ts +30 -0
  247. package/dist/controls/GridColumnControl.js +12 -3
  248. package/dist/controls/GridColumnControl.js.map +1 -1
  249. package/dist/controls/InputFieldControl.d.ts +49 -0
  250. package/dist/controls/InputFieldControl.js +30 -0
  251. package/dist/controls/InputFieldControl.js.map +1 -1
  252. package/dist/controls/LookupDropdown.d.ts +29 -0
  253. package/dist/controls/LookupDropdown.js +8 -0
  254. package/dist/controls/LookupDropdown.js.map +1 -1
  255. package/dist/enums/ElementTypes.d.ts +18 -0
  256. package/dist/enums/ElementTypes.js +18 -0
  257. package/dist/enums/ElementTypes.js.map +1 -1
  258. package/dist/enums/ExportFormat.d.ts +8 -0
  259. package/dist/enums/ExportFormat.js +8 -0
  260. package/dist/enums/ExportFormat.js.map +1 -1
  261. package/dist/enums/LogLevel.d.ts +17 -0
  262. package/dist/enums/LogLevel.js +17 -1
  263. package/dist/enums/LogLevel.js.map +1 -1
  264. package/dist/enums/index.d.ts +1 -0
  265. package/dist/enums/index.js +1 -0
  266. package/dist/enums/index.js.map +1 -1
  267. package/dist/helpers/ConfigChecker.d.ts +13 -0
  268. package/dist/helpers/ConfigChecker.js +13 -0
  269. package/dist/helpers/ConfigChecker.js.map +1 -1
  270. package/dist/helpers/Ensure.d.ts +13 -0
  271. package/dist/helpers/Ensure.js +13 -0
  272. package/dist/helpers/Ensure.js.map +1 -1
  273. package/dist/helpers/FlightTracker.d.ts +13 -3
  274. package/dist/helpers/FlightTracker.js +103 -17
  275. package/dist/helpers/FlightTracker.js.map +1 -1
  276. package/dist/helpers/GlobalWaitEventHandler.d.ts +13 -0
  277. package/dist/helpers/GlobalWaitEventHandler.js +13 -0
  278. package/dist/helpers/GlobalWaitEventHandler.js.map +1 -1
  279. package/dist/helpers/LoginHelper.d.ts +35 -1
  280. package/dist/helpers/LoginHelper.js +46 -11
  281. package/dist/helpers/LoginHelper.js.map +1 -1
  282. package/dist/helpers/PathResolver.d.ts +22 -0
  283. package/dist/helpers/PathResolver.js +22 -0
  284. package/dist/helpers/PathResolver.js.map +1 -1
  285. package/dist/helpers/Poll.d.ts +13 -1
  286. package/dist/helpers/Poll.js +12 -0
  287. package/dist/helpers/Poll.js.map +1 -1
  288. package/dist/helpers/RegexHelper.d.ts +15 -0
  289. package/dist/helpers/RegexHelper.js +15 -3
  290. package/dist/helpers/RegexHelper.js.map +1 -1
  291. package/dist/helpers/SubjectNavigator.d.ts +26 -0
  292. package/dist/helpers/SubjectNavigator.js +51 -0
  293. package/dist/helpers/SubjectNavigator.js.map +1 -0
  294. package/dist/helpers/UserSimulationHelper.d.ts +14 -0
  295. package/dist/helpers/UserSimulationHelper.js +14 -0
  296. package/dist/helpers/UserSimulationHelper.js.map +1 -1
  297. package/dist/helpers/index.d.ts +1 -0
  298. package/dist/helpers/index.js +1 -0
  299. package/dist/helpers/index.js.map +1 -1
  300. package/dist/index.d.ts +6 -20
  301. package/dist/index.js +1 -0
  302. package/dist/index.js.map +1 -1
  303. package/dist/interfaces/IComponentObjects.d.ts +12 -0
  304. package/dist/interfaces/IComponentSchemaMeta.d.ts +15 -0
  305. package/dist/interfaces/IComponentSchemaMeta.js +2 -0
  306. package/dist/interfaces/IComponentSchemaMeta.js.map +1 -0
  307. package/dist/interfaces/IProperty.d.ts +13 -0
  308. package/dist/interfaces/IRegisteredSubjects.d.ts +12 -0
  309. package/dist/interfaces/ISeedSubjectDraft.d.ts +16 -0
  310. package/dist/interfaces/ISeedSubjectDraft.js +2 -0
  311. package/dist/interfaces/ISeedSubjectDraft.js.map +1 -0
  312. package/dist/interfaces/ISubject.d.ts +13 -0
  313. package/dist/interfaces/ISubjectDetail.d.ts +11 -0
  314. package/dist/interfaces/ISubjectDetail.js +2 -0
  315. package/dist/interfaces/ISubjectDetail.js.map +1 -0
  316. package/dist/mcp/ArtifactResolver.d.ts +152 -0
  317. package/dist/mcp/ArtifactResolver.js +232 -0
  318. package/dist/mcp/ArtifactResolver.js.map +1 -0
  319. package/dist/mcp/index.d.ts +2 -0
  320. package/dist/mcp/index.js +2 -0
  321. package/dist/mcp/index.js.map +1 -0
  322. package/dist/page-extensions/GlobalComponents.d.ts +30 -0
  323. package/dist/page-extensions/GlobalComponents.js +30 -0
  324. package/dist/page-extensions/GlobalComponents.js.map +1 -1
  325. package/dist/page-extensions/GoToDeepLink.d.ts +9 -0
  326. package/dist/page-extensions/GoToDeepLink.js +9 -0
  327. package/dist/page-extensions/GoToDeepLink.js.map +1 -1
  328. package/dist/page-extensions/LoginFeatures.d.ts +8 -0
  329. package/dist/page-extensions/LoginFeatures.js +8 -0
  330. package/dist/page-extensions/LoginFeatures.js.map +1 -1
  331. package/dist/page-extensions/SubjectRegistry.d.ts +31 -0
  332. package/dist/page-extensions/SubjectRegistry.js +31 -0
  333. package/dist/page-extensions/SubjectRegistry.js.map +1 -1
  334. package/dist/page-extensions/UserSimulation.d.ts +21 -0
  335. package/dist/page-extensions/UserSimulation.js +21 -0
  336. package/dist/page-extensions/UserSimulation.js.map +1 -1
  337. package/dist/page-extensions/WaitEventHandler.d.ts +20 -0
  338. package/dist/page-extensions/WaitEventHandler.js +20 -0
  339. package/dist/page-extensions/WaitEventHandler.js.map +1 -1
  340. package/dist/page-overrides/ClickOverride.d.ts +23 -2
  341. package/dist/page-overrides/ClickOverride.js +34 -50
  342. package/dist/page-overrides/ClickOverride.js.map +1 -1
  343. package/dist/page-overrides/FillOverride.d.ts +23 -0
  344. package/dist/page-overrides/FillOverride.js +56 -61
  345. package/dist/page-overrides/FillOverride.js.map +1 -1
  346. package/dist/services/ConfigBuilder.d.ts +24 -0
  347. package/dist/services/ConfigBuilder.js +24 -0
  348. package/dist/services/ConfigBuilder.js.map +1 -1
  349. package/dist/services/IndiciumApi.service.d.ts +26 -0
  350. package/dist/services/IndiciumApi.service.js +40 -5
  351. package/dist/services/IndiciumApi.service.js.map +1 -1
  352. package/dist/services/Logger.d.ts +13 -0
  353. package/dist/services/Logger.js +39 -0
  354. package/dist/services/Logger.js.map +1 -1
  355. package/dist/types/Components.d.ts +18 -1
  356. package/dist/types/Components.js +0 -1
  357. package/dist/types/Components.js.map +1 -1
  358. package/dist/types/LocatorType.d.ts +5 -0
  359. package/dist/types/LocatorType.js +2 -0
  360. package/dist/types/LocatorType.js.map +1 -0
  361. package/dist/types/PollTypes.d.ts +8 -0
  362. package/dist/types/Test.d.ts +18 -0
  363. package/dist/types/Universal.d.ts +12 -0
  364. package/dist/types/index.d.ts +2 -0
  365. package/dist/types/index.js +2 -0
  366. package/dist/types/index.js.map +1 -1
  367. package/enums/ElementTypes.ts +18 -0
  368. package/enums/ExportFormat.ts +8 -0
  369. package/enums/LogLevel.ts +17 -1
  370. package/enums/index.ts +1 -0
  371. package/helpers/ConfigChecker.ts +13 -0
  372. package/helpers/Ensure.ts +13 -0
  373. package/helpers/FlightTracker.ts +109 -20
  374. package/helpers/GlobalWaitEventHandler.ts +13 -0
  375. package/helpers/LoginHelper.ts +49 -12
  376. package/helpers/PathResolver.ts +22 -0
  377. package/helpers/Poll.ts +13 -1
  378. package/helpers/RegexHelper.ts +15 -3
  379. package/helpers/SubjectNavigator.ts +57 -0
  380. package/helpers/UserSimulationHelper.ts +14 -0
  381. package/helpers/index.ts +1 -0
  382. package/index.ts +1 -0
  383. package/interfaces/IComponentObjects.ts +12 -0
  384. package/interfaces/IComponentSchemaMeta.ts +17 -0
  385. package/interfaces/IProperty.ts +13 -0
  386. package/interfaces/IRegisteredSubjects.ts +12 -0
  387. package/interfaces/ISeedSubjectDraft.ts +17 -0
  388. package/interfaces/ISubject.ts +13 -0
  389. package/interfaces/ISubjectDetail.ts +12 -0
  390. package/mcp/ArtifactResolver.ts +296 -0
  391. package/mcp/index.ts +2 -0
  392. package/package.json +20 -8
  393. package/page-extensions/GlobalComponents.ts +30 -0
  394. package/page-extensions/GoToDeepLink.ts +9 -0
  395. package/page-extensions/LoginFeatures.ts +8 -0
  396. package/page-extensions/SubjectRegistry.ts +32 -0
  397. package/page-extensions/UserSimulation.ts +21 -0
  398. package/page-extensions/WaitEventHandler.ts +20 -0
  399. package/page-overrides/ClickOverride.ts +36 -55
  400. package/page-overrides/FillOverride.ts +59 -73
  401. package/promptCredentials.js +1 -1
  402. package/scripts/Testwise.template.json +1 -1
  403. package/scripts/diagram.js +2267 -0
  404. package/scripts/main.js +84 -63
  405. package/scripts/postinstall.js +55 -42
  406. package/scripts/setup.js +91 -37
  407. package/scripts/sync.js +767 -748
  408. package/services/ConfigBuilder.ts +24 -0
  409. package/services/IndiciumApi.service.ts +44 -6
  410. package/services/Logger.ts +40 -0
  411. package/templates/copilot-instructions.md +130 -0
  412. package/templates/mcp.json +9 -0
  413. package/templates/testwise-test-expert.agent.md +453 -0
  414. package/tests/tsconfig.json +12 -0
  415. package/tsconfig.json +6 -2
  416. package/types/Components.ts +17 -2
  417. package/types/LocatorType.ts +5 -0
  418. package/types/PollTypes.ts +8 -0
  419. package/types/Test.ts +18 -0
  420. package/types/Universal.ts +12 -0
  421. package/types/index.ts +2 -0
  422. package/dist/interfaces/IStoredTestResults.d.ts +0 -5
  423. package/dist/interfaces/IStoredTestResults.js +0 -2
  424. package/dist/interfaces/IStoredTestResults.js.map +0 -1
  425. package/dist/templates/test-artifacts/SubjectPageBase.d.ts +0 -5
  426. package/dist/templates/test-artifacts/SubjectPageBase.js +0 -6
  427. package/dist/templates/test-artifacts/SubjectPageBase.js.map +0 -1
  428. package/dist/templates/test-artifacts/screens/index.d.ts +0 -1
  429. package/dist/templates/test-artifacts/screens/index.js +0 -2
  430. package/dist/templates/test-artifacts/screens/index.js.map +0 -1
  431. package/dist/templates/test-artifacts/subjects/index.d.ts +0 -1
  432. package/dist/templates/test-artifacts/subjects/index.js +0 -2
  433. package/dist/templates/test-artifacts/subjects/index.js.map +0 -1
  434. package/interfaces/IStoredTestResults.ts +0 -6
package/scripts/main.js CHANGED
@@ -1,63 +1,84 @@
1
- #!/usr/bin/env node
2
- import process from 'node:process';
3
- import { postinstall } from './postinstall.js';
4
- import { setup } from './setup.js';
5
- import { sync } from './sync.js';
6
-
7
- /**
8
- * Main entry point for Testwise CLI commands
9
- * @param {string[]} args - Command line arguments
10
- */
11
- async function main() {
12
- try {
13
- const command = process.argv[2];
14
-
15
- if (!command) {
16
- console.error('Error: No command provided.');
17
- console.log('Usage: main.js <command>');
18
- console.log('Available commands: postinstall, sync');
19
- process.exit(1);
20
- }
21
-
22
- if (command === 'postinstall') {
23
- await handlePostinstall();
24
- } else if (command === 'sync') {
25
- await handleSync();
26
- } else {
27
- console.error(`Error: Unknown command '${command}'.`);
28
- console.log('Available commands: postinstall, sync');
29
- process.exit(1);
30
- }
31
- } catch (error) {
32
- console.error('Fatal error:', error.message);
33
- process.exit(1);
34
- }
35
- }
36
-
37
- /**
38
- * Handle postinstall command
39
- */
40
- async function handlePostinstall() {
41
- try {
42
- await setup();
43
- postinstall();
44
- } catch (error) {
45
- console.error('Postinstall failed:', error.message);
46
- process.exit(1);
47
- }
48
- }
49
-
50
- /**
51
- * Handle sync command
52
- */
53
- async function handleSync() {
54
- try {
55
- sync();
56
- } catch (error) {
57
- console.error('Sync failed:', error.message);
58
- process.exit(1);
59
- }
60
- }
61
-
62
- // Start the application
63
- main();
1
+ #!/usr/bin/env node
2
+ import process from 'node:process';
3
+ import { diagram } from './diagram.js';
4
+ import { postinstall } from './postinstall.js';
5
+ import { setup } from './setup.js';
6
+ import { sync } from './sync.js';
7
+
8
+ /**
9
+ * CLI entry point for the `testwise` command.
10
+ *
11
+ * Dispatches to the correct sub-command based on the first CLI argument:
12
+ *
13
+ * | Command | What it does |
14
+ * |---|---|
15
+ * | `testwise sync` | Runs the full artifact-builder pipeline (fetch model → generate subjects). |
16
+ * | `testwise setup` | Scaffolds `Testwise.json` and `tsconfig.json` in the consumer project. |
17
+ * | `testwise diagram` | Starts the living architecture diagram server at http://localhost:3333. |
18
+ * | `testwise postinstall` | Restores the artifact backup or re-runs sync (called automatically after `npm install`). |
19
+ *
20
+ * @param {string[]} args - Command line arguments
21
+ */
22
+ async function main() {
23
+ try {
24
+ const command = process.argv[2];
25
+
26
+ if (!command) {
27
+ console.error('Error: No command provided.');
28
+ console.log('Usage: main.js <command>');
29
+ console.log('Available commands: postinstall, sync, diagram');
30
+ process.exit(1);
31
+ }
32
+
33
+ if (command === 'postinstall') {
34
+ await handlePostinstall();
35
+ } else if (command === 'sync') {
36
+ await handleSync();
37
+ } else if (command === 'diagram') {
38
+ await handleDiagram();
39
+ } else {
40
+ console.error(`Error: Unknown command '${command}'.`);
41
+ console.log('Available commands: postinstall, sync, diagram');
42
+ process.exit(1);
43
+ }
44
+ } catch (error) {
45
+ console.error('Fatal error:', error.message);
46
+ process.exit(1);
47
+ }
48
+ }
49
+
50
+ /**
51
+ * Handle postinstall command
52
+ */
53
+ async function handlePostinstall() {
54
+ try {
55
+ await setup();
56
+ postinstall();
57
+ } catch (error) {
58
+ console.error('Postinstall failed:', error.message);
59
+ process.exit(1);
60
+ }
61
+ }
62
+
63
+ /**
64
+ * Handle sync command
65
+ */
66
+ async function handleSync() {
67
+ try {
68
+ sync();
69
+ } catch (error) {
70
+ console.error('Sync failed:', error.message);
71
+ process.exit(1);
72
+ }
73
+ }
74
+
75
+ /**
76
+ * Handle diagram command
77
+ */
78
+ async function handleDiagram() {
79
+ const port = parseInt(process.argv[3] ?? '3333', 10);
80
+ await diagram(port);
81
+ }
82
+
83
+ // Start the application
84
+ main();
@@ -1,42 +1,55 @@
1
- import { execSync } from 'node:child_process';
2
- import path from 'node:path';
3
- import process from 'node:process';
4
- import { fileURLToPath } from 'node:url';
5
- import { ArtifactManager } from '../dist/artifact-builder/index.js';
6
- import { testwiseConfig } from '../dist/services/ConfigBuilder.js';
7
- import { sync } from './sync.js';
8
-
9
- const _filename = fileURLToPath(import.meta.url);
10
- const _dirname = path.dirname(_filename);
11
-
12
- export async function postinstall() {
13
- try {
14
- const autoSync = testwiseConfig().get('featureSettings.other.autoSync') ?? true;
15
- if (!autoSync) return;
16
-
17
- const rootDir = path.resolve(_dirname, '..');
18
- const artifactManager = new ArtifactManager();
19
-
20
- if (artifactManager.backupExists()) {
21
- artifactManager.restoreBackup();
22
- console.info('Restored artifacts from backup.');
23
-
24
- // eslint-disable-next-line @typescript-eslint/naming-convention
25
- const { SubjectRegistration } = await import('../dist/artifact-builder/index.js');
26
- const subjectRegistration = new SubjectRegistration();
27
- await subjectRegistration.resetSubjectRegistry();
28
- await subjectRegistration.run();
29
-
30
- execSync('npx tsc', { cwd: rootDir, stdio: 'inherit' });
31
-
32
- console.info('Postinstall restore process completed successfully.');
33
-
34
- return;
35
- }
36
-
37
- await sync();
38
- } catch (error) {
39
- console.error('Postinstall process failed:', error.message);
40
- process.exit(1);
41
- }
42
- }
1
+ import { execSync } from 'node:child_process';
2
+ import path from 'node:path';
3
+ import process from 'node:process';
4
+ import { fileURLToPath } from 'node:url';
5
+ import { ArtifactManager } from '../dist/artifact-builder/index.js';
6
+ import { testwiseConfig } from '../dist/services/ConfigBuilder.js';
7
+ import { sync } from './sync.js';
8
+
9
+ const _filename = fileURLToPath(import.meta.url);
10
+ const _dirname = path.dirname(_filename);
11
+
12
+ /**
13
+ * Runs automatically after `npm install` as the `postinstall` lifecycle hook.
14
+ *
15
+ * **What it does:**
16
+ * - Checks whether `featureSettings.other.autoSync` is enabled in
17
+ * `Testwise.json` (defaults to `true`).
18
+ * - If a backup of `test-artifacts/` exists from a previous install, it
19
+ * restores it immediately so the consumer project's tests remain runnable
20
+ * without waiting for a full sync.
21
+ * - If no backup exists (first install), it runs the full `sync` pipeline to
22
+ * generate artifacts from scratch.
23
+ * - Can be disabled entirely by setting `autoSync: false` in `Testwise.json`.
24
+ */
25
+ export async function postinstall() {
26
+ try {
27
+ const autoSync = testwiseConfig().get('featureSettings.other.autoSync') ?? true;
28
+ if (!autoSync) return;
29
+
30
+ const rootDir = path.resolve(_dirname, '..');
31
+ const artifactManager = new ArtifactManager();
32
+
33
+ if (artifactManager.backupExists()) {
34
+ artifactManager.restoreBackup();
35
+ console.info('Restored artifacts from backup.');
36
+
37
+ // eslint-disable-next-line @typescript-eslint/naming-convention
38
+ const { SubjectRegistration } = await import('../dist/artifact-builder/index.js');
39
+ const subjectRegistration = new SubjectRegistration();
40
+ await subjectRegistration.resetSubjectRegistry();
41
+ await subjectRegistration.run();
42
+
43
+ execSync('npx tsc', { cwd: rootDir, stdio: 'inherit' });
44
+
45
+ console.info('Postinstall restore process completed successfully.');
46
+
47
+ return;
48
+ }
49
+
50
+ await sync();
51
+ } catch (error) {
52
+ console.error('Postinstall process failed:', error.message);
53
+ process.exit(1);
54
+ }
55
+ }
package/scripts/setup.js CHANGED
@@ -1,37 +1,91 @@
1
- import fs from 'node:fs';
2
- import path from 'node:path';
3
- import { fileURLToPath } from 'node:url';
4
- import { PathResolver } from '../dist/helpers/index.js';
5
-
6
- const _filename = fileURLToPath(import.meta.url);
7
- const _dirname = path.dirname(_filename);
8
-
9
- export async function setup() {
10
- try {
11
- const consumerRoot = new PathResolver().getConsumerRootDirectory();
12
- const testwiseConfigFile = path.resolve(consumerRoot, 'Testwise.json');
13
- const testwiseConfigTemplateFile = path.join(_dirname, 'Testwise.template.json');
14
- const tsConfigFile = path.resolve(consumerRoot, 'tsconfig.json');
15
- const tsConfigTemplateFile = path.join(_dirname, 'tsconfig.template.json');
16
-
17
- let filesCreated = false;
18
-
19
- if (!fs.existsSync(testwiseConfigFile)) {
20
- fs.copyFileSync(testwiseConfigTemplateFile, testwiseConfigFile);
21
- console.info('Testwise.json config file created.');
22
- filesCreated = true;
23
- }
24
-
25
- if (!fs.existsSync(tsConfigFile)) {
26
- fs.copyFileSync(tsConfigTemplateFile, tsConfigFile);
27
- console.info('tsconfig.json config file created.');
28
- filesCreated = true;
29
- }
30
-
31
- if (!filesCreated) {
32
- await new Promise((resolve) => setTimeout(resolve, 1000));
33
- }
34
- } catch (error) {
35
- console.error('Error during installation:', error.message);
36
- }
37
- }
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { fileURLToPath } from 'node:url';
4
+ import { PathResolver } from '../dist/helpers/index.js';
5
+
6
+ const _filename = fileURLToPath(import.meta.url);
7
+ const _dirname = path.dirname(_filename);
8
+
9
+ /**
10
+ * Scaffolds the initial configuration files in a new consumer project.
11
+ *
12
+ * **What it does:** Called once via `testwise setup`. Copies template files
13
+ * into the consumer project root if they don't already exist:
14
+ * - `Testwise.json` — main configuration file (base URL, credentials, feature flags).
15
+ * - `tsconfig.json` — TypeScript configuration tuned for Testwise + Playwright.
16
+ *
17
+ * It never overwrites existing files, so it is safe to re-run.
18
+ *
19
+ * After running `setup`, fill in `Testwise.json` with your Indicium API URL
20
+ * and credentials, then run `testwise sync` to generate subject artifacts.
21
+ */
22
+ export async function setup() {
23
+ try {
24
+ const consumerRoot = new PathResolver().getConsumerRootDirectory();
25
+ const testwiseConfigFile = path.resolve(consumerRoot, 'Testwise.json');
26
+ const testwiseConfigTemplateFile = path.join(_dirname, 'Testwise.template.json');
27
+ const tsConfigFile = path.resolve(consumerRoot, 'tsconfig.json');
28
+ const tsConfigTemplateFile = path.join(_dirname, 'tsconfig.template.json');
29
+
30
+ let filesCreated = false;
31
+
32
+ if (!fs.existsSync(testwiseConfigFile)) {
33
+ fs.copyFileSync(testwiseConfigTemplateFile, testwiseConfigFile);
34
+ console.info('Testwise.json config file created.');
35
+ filesCreated = true;
36
+ }
37
+
38
+ if (!fs.existsSync(tsConfigFile)) {
39
+ fs.copyFileSync(tsConfigTemplateFile, tsConfigFile);
40
+ console.info('tsconfig.json config file created.');
41
+ filesCreated = true;
42
+ }
43
+
44
+ const githubDir = path.resolve(consumerRoot, '.github');
45
+ const githubInstructionsDir = path.resolve(githubDir, 'instructions');
46
+ const githubAgentsDir = path.resolve(githubDir, 'agents');
47
+ const testwiseInstructionsFile = path.resolve(githubInstructionsDir, 'testwise.instructions.md');
48
+ const testwiseInstructionsTemplateFile = path.join(_dirname, '..', 'templates', 'copilot-instructions.md');
49
+ const testwiseAgentFile = path.resolve(githubAgentsDir, 'testwise-test-expert.agent.md');
50
+ const testwiseAgentTemplateFile = path.join(_dirname, '..', 'templates', 'testwise-test-expert.agent.md');
51
+
52
+ if (fs.existsSync(testwiseInstructionsTemplateFile)) {
53
+ if (!fs.existsSync(githubInstructionsDir)) {
54
+ fs.mkdirSync(githubInstructionsDir, { recursive: true });
55
+ }
56
+ fs.copyFileSync(testwiseInstructionsTemplateFile, testwiseInstructionsFile);
57
+ console.info('Testwise Copilot instructions updated at .github/instructions/testwise.instructions.md');
58
+ filesCreated = true;
59
+ }
60
+
61
+ if (fs.existsSync(testwiseAgentTemplateFile)) {
62
+ if (!fs.existsSync(githubAgentsDir)) {
63
+ fs.mkdirSync(githubAgentsDir, { recursive: true });
64
+ }
65
+ fs.copyFileSync(testwiseAgentTemplateFile, testwiseAgentFile);
66
+ console.info('Testwise test expert agent updated at .github/agents/testwise-test-expert.agent.md');
67
+ filesCreated = true;
68
+ }
69
+
70
+ const copilotInstructionsFile = path.resolve(githubDir, 'copilot-instructions.md');
71
+
72
+ if (!fs.existsSync(copilotInstructionsFile)) {
73
+ if (!fs.existsSync(githubDir)) {
74
+ fs.mkdirSync(githubDir, { recursive: true });
75
+ }
76
+ fs.writeFileSync(
77
+ copilotInstructionsFile,
78
+ '# Project Copilot Instructions\n\nAdd your project-specific AI instructions here.\n\n<!-- Testwise instructions are auto-loaded from .github/instructions/testwise.instructions.md -->\n',
79
+ 'utf-8'
80
+ );
81
+ console.info('Copilot instructions starter created at .github/copilot-instructions.md');
82
+ filesCreated = true;
83
+ }
84
+
85
+ if (!filesCreated) {
86
+ await new Promise((resolve) => setTimeout(resolve, 1000));
87
+ }
88
+ } catch (error) {
89
+ console.error('Error during installation:', error.message);
90
+ }
91
+ }