testeranto 0.200.0 → 0.202.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 (376) hide show
  1. package/README.md +26 -1
  2. package/bundle.js +3 -2
  3. package/design-editor/DesignEditor.tsx +40 -241
  4. package/dist/common/design-editor/DesignEditor.js +33 -198
  5. package/dist/common/src/App.js +158 -16
  6. package/dist/common/src/PM/PM_WithBuild.js +135 -0
  7. package/dist/common/src/PM/PM_WithEslintAndTsc.js +79 -67
  8. package/dist/common/src/PM/PM_WithGit.js +517 -0
  9. package/dist/common/src/PM/PM_WithProcesses.js +519 -0
  10. package/dist/common/src/PM/PM_WithWebSocket.js +535 -0
  11. package/dist/common/src/PM/base.js +62 -0
  12. package/dist/common/src/PM/main.js +533 -1676
  13. package/dist/common/src/PM/metafileOutputs.js +78 -0
  14. package/dist/common/src/PM/node.js +0 -6
  15. package/dist/common/src/PM/pure.js +0 -8
  16. package/dist/common/src/PM/types.js +1 -0
  17. package/dist/common/src/PM/utils.js +210 -0
  18. package/dist/common/src/PM/web.js +0 -6
  19. package/dist/common/src/ReportServer.js +0 -10
  20. package/dist/common/src/ReportServerLib.js +0 -140
  21. package/dist/common/src/components/pure/AppFrame.js +68 -56
  22. package/dist/common/src/components/pure/ArtifactTree.js +80 -0
  23. package/dist/common/src/components/pure/BuildLogViewer.js +106 -0
  24. package/dist/common/src/components/pure/DebugEnv.js +30 -0
  25. package/dist/common/src/components/pure/FileTree.js +34 -0
  26. package/dist/common/src/components/pure/FileTreeItem.js +29 -0
  27. package/dist/common/src/components/pure/GitHubLoginButton.js +18 -0
  28. package/dist/common/src/components/pure/GitIntegrationView.js +342 -0
  29. package/dist/common/src/components/pure/ProcessManager.js +1 -0
  30. package/dist/common/src/components/pure/ProcessManagerView.js +73 -74
  31. package/dist/common/src/components/pure/ProjectPageView.js +4 -117
  32. package/dist/common/src/components/pure/Settings.js +121 -0
  33. package/dist/common/src/components/pure/Settings.test.js +34 -0
  34. package/dist/common/src/components/pure/SignIn.js +22 -0
  35. package/dist/common/src/components/pure/SingleProcessView.js +166 -213
  36. package/dist/common/src/components/pure/TestPageView.js +113 -368
  37. package/dist/common/src/components/pure/TestPageView_utils.js +117 -0
  38. package/dist/common/src/components/pure/TestTable.js +33 -0
  39. package/dist/common/src/components/pure/ToastNotification.js +14 -0
  40. package/dist/common/src/components/pure/UserProfile.js +27 -0
  41. package/dist/common/src/components/stateful/AuthCallbackPage.js +51 -0
  42. package/dist/common/src/components/stateful/FeaturesReporter.js +2 -1
  43. package/dist/common/src/components/stateful/FileTree.js +58 -39
  44. package/dist/common/src/components/stateful/GitIntegrationPage.js +12 -0
  45. package/dist/common/src/components/stateful/ProcessManagerPage.js +13 -15
  46. package/dist/common/src/components/stateful/ProjectPage.js +6 -5
  47. package/dist/common/src/components/stateful/ProjectsPage.js +17 -19
  48. package/dist/common/src/components/stateful/SingleProcessPage.js +16 -26
  49. package/dist/common/src/components/stateful/TestPage.js +7 -5
  50. package/dist/common/src/hooks/useGitMode.js +21 -0
  51. package/dist/common/src/lib/BaseSuite.test/mock.js +15 -8
  52. package/dist/common/src/lib/BaseSuite.test/test.js +56 -80
  53. package/dist/common/src/lib/Tiposkripto.js +24 -0
  54. package/dist/common/src/lib/Tiposkripto.test/MockTiposkripto.js +154 -10
  55. package/dist/common/src/lib/Tiposkripto.test/Tiposkripto.adapter.js +6 -12
  56. package/dist/common/src/lib/Tiposkripto.test/Tiposkripto.implementation.js +63 -23
  57. package/dist/common/src/lib/Tiposkripto.test/Tiposkripto.specification.js +14 -6
  58. package/dist/common/src/lib/pmProxy.test/specification.js +167 -52
  59. package/dist/common/src/services/FileService.js +505 -0
  60. package/dist/common/src/services/GitHubAuthService.js +184 -0
  61. package/dist/common/src/testeranto.js +38 -97
  62. package/dist/common/src/utils/api.js +12 -8
  63. package/dist/common/src/utils/gitTest.js +27 -0
  64. package/dist/common/src/utils.js +23 -13
  65. package/dist/common/testeranto.config.js +21 -17
  66. package/dist/common/tsconfig.common.tsbuildinfo +1 -1
  67. package/dist/module/design-editor/DesignEditor.js +33 -199
  68. package/dist/module/src/App.js +121 -15
  69. package/dist/module/src/PM/PM_WithBuild.js +128 -0
  70. package/dist/module/src/PM/PM_WithEslintAndTsc.js +79 -67
  71. package/dist/module/src/PM/PM_WithGit.js +477 -0
  72. package/dist/module/src/PM/PM_WithProcesses.js +479 -0
  73. package/dist/module/src/PM/PM_WithWebSocket.js +528 -0
  74. package/dist/module/src/PM/base.js +62 -0
  75. package/dist/module/src/PM/main.js +533 -1676
  76. package/dist/module/src/PM/metafileOutputs.js +78 -0
  77. package/dist/module/src/PM/node.js +0 -6
  78. package/dist/module/src/PM/pure.js +0 -8
  79. package/dist/module/src/PM/types.js +1 -1
  80. package/dist/module/src/PM/utils.js +196 -0
  81. package/dist/module/src/PM/web.js +0 -6
  82. package/dist/module/src/ReportServer.js +1 -9
  83. package/dist/module/src/ReportServerLib.js +1 -134
  84. package/dist/module/src/components/pure/AppFrame.js +66 -24
  85. package/dist/module/src/components/pure/ArtifactTree.js +80 -0
  86. package/dist/module/src/components/pure/BuildLogViewer.js +99 -0
  87. package/dist/module/src/components/pure/DebugEnv.js +23 -0
  88. package/dist/module/src/components/pure/FileTree.js +27 -0
  89. package/dist/module/src/components/pure/FileTreeItem.js +22 -0
  90. package/dist/module/src/components/pure/GitHubLoginButton.js +11 -0
  91. package/dist/module/src/components/pure/GitIntegrationView.js +305 -0
  92. package/dist/module/src/components/pure/ProcessManager.js +1 -0
  93. package/dist/module/src/components/pure/ProcessManagerView.js +74 -75
  94. package/dist/module/src/components/pure/ProjectPageView.js +5 -118
  95. package/dist/module/src/components/pure/Settings.js +84 -0
  96. package/dist/module/src/components/pure/Settings.test.js +29 -0
  97. package/dist/module/src/components/pure/SignIn.js +15 -0
  98. package/dist/module/src/components/pure/SingleProcessView.js +130 -214
  99. package/dist/module/src/components/pure/TestPageView.js +97 -352
  100. package/dist/module/src/components/pure/TestPageView_utils.js +109 -0
  101. package/dist/module/src/components/pure/TestTable.js +26 -0
  102. package/dist/module/src/components/pure/ToastNotification.js +7 -0
  103. package/dist/module/src/components/pure/UserProfile.js +20 -0
  104. package/dist/module/src/components/stateful/AuthCallbackPage.js +14 -0
  105. package/dist/module/src/components/stateful/FeaturesReporter.js +2 -1
  106. package/dist/module/src/components/stateful/FileTree.js +59 -33
  107. package/dist/module/src/components/stateful/GitIntegrationPage.js +5 -0
  108. package/dist/module/src/components/stateful/ProcessManagerPage.js +13 -15
  109. package/dist/module/src/components/stateful/ProjectPage.js +6 -5
  110. package/dist/module/src/components/stateful/ProjectsPage.js +16 -18
  111. package/dist/module/src/components/stateful/SingleProcessPage.js +16 -26
  112. package/dist/module/src/components/stateful/TestPage.js +8 -6
  113. package/dist/module/src/hooks/useGitMode.js +17 -0
  114. package/dist/module/src/lib/BaseSuite.test/mock.js +15 -8
  115. package/dist/module/src/lib/BaseSuite.test/test.js +56 -80
  116. package/dist/module/src/lib/Tiposkripto.js +24 -0
  117. package/dist/module/src/lib/Tiposkripto.test/MockTiposkripto.js +154 -10
  118. package/dist/module/src/lib/Tiposkripto.test/Tiposkripto.adapter.js +6 -12
  119. package/dist/module/src/lib/Tiposkripto.test/Tiposkripto.implementation.js +63 -23
  120. package/dist/module/src/lib/Tiposkripto.test/Tiposkripto.specification.js +14 -6
  121. package/dist/module/src/lib/pmProxy.test/specification.js +167 -52
  122. package/dist/module/src/services/FileService.js +468 -0
  123. package/dist/module/src/services/GitHubAuthService.js +180 -0
  124. package/dist/module/src/testeranto.js +38 -97
  125. package/dist/module/src/utils/api.js +10 -7
  126. package/dist/module/src/utils/gitTest.js +23 -0
  127. package/dist/module/src/utils.js +21 -12
  128. package/dist/module/testeranto.config.js +21 -17
  129. package/dist/module/tsconfig.module.tsbuildinfo +1 -1
  130. package/dist/prebuild/App.css +94 -121
  131. package/dist/prebuild/App.js +44601 -11225
  132. package/dist/prebuild/testeranto.mjs +4106 -0
  133. package/dist/types/design-editor/DesignEditor.d.ts +1 -18
  134. package/dist/types/src/App.d.ts +18 -0
  135. package/dist/types/src/PM/PM_WithBuild.d.ts +13 -0
  136. package/dist/types/src/PM/PM_WithEslintAndTsc.d.ts +2 -4
  137. package/dist/types/src/PM/PM_WithGit.d.ts +27 -0
  138. package/dist/types/src/PM/PM_WithProcesses.d.ts +29 -0
  139. package/dist/types/src/PM/PM_WithWebSocket.d.ts +108 -0
  140. package/dist/types/src/PM/base.d.ts +1 -1
  141. package/dist/types/src/PM/index.d.ts +0 -2
  142. package/dist/types/src/PM/main.d.ts +6 -77
  143. package/dist/types/src/PM/metafileOutputs.d.ts +0 -0
  144. package/dist/types/src/PM/node.d.ts +0 -2
  145. package/dist/types/src/PM/pure.d.ts +0 -2
  146. package/dist/types/src/PM/types.d.ts +118 -0
  147. package/dist/types/src/PM/utils.d.ts +35 -0
  148. package/dist/types/src/PM/web.d.ts +0 -2
  149. package/dist/types/src/Pure.d.ts +6 -1
  150. package/dist/types/src/ReportServer.d.ts +0 -1
  151. package/dist/types/src/ReportServerLib.d.ts +0 -1
  152. package/dist/types/src/Types.d.ts +1 -0
  153. package/dist/types/src/components/pure/ArtifactTree.d.ts +0 -0
  154. package/dist/types/src/components/pure/BuildLogViewer.d.ts +7 -0
  155. package/dist/types/src/components/pure/DebugEnv.d.ts +2 -0
  156. package/dist/types/src/components/pure/FileTree.d.ts +6 -0
  157. package/dist/types/src/components/pure/FileTreeItem.d.ts +8 -0
  158. package/dist/types/src/components/pure/GitHubLoginButton.d.ts +8 -0
  159. package/dist/types/src/components/pure/GitIntegrationView.d.ts +1 -0
  160. package/dist/types/src/components/pure/Settings.d.ts +1 -0
  161. package/dist/types/src/components/pure/Settings.test.d.ts +1 -0
  162. package/dist/types/src/components/pure/SignIn.d.ts +1 -0
  163. package/dist/types/src/components/pure/SingleProcessView.d.ts +10 -0
  164. package/dist/types/src/components/pure/TestPageView.d.ts +2 -1
  165. package/dist/types/src/components/pure/TestPageView_utils.d.ts +23 -0
  166. package/dist/types/src/components/pure/TestTable.d.ts +16 -0
  167. package/dist/types/src/components/pure/ToastNotification.d.ts +6 -0
  168. package/dist/types/src/components/pure/UserProfile.d.ts +2 -0
  169. package/dist/types/src/components/stateful/AuthCallbackPage.d.ts +2 -0
  170. package/dist/types/src/components/stateful/FileTree.d.ts +0 -8
  171. package/dist/types/src/components/stateful/GitIntegrationPage.d.ts +1 -0
  172. package/dist/types/src/hooks/useGitMode.d.ts +7 -0
  173. package/dist/types/src/lib/BaseSuite.test/mock.d.ts +2 -2
  174. package/dist/types/src/lib/BaseSuite.test/test.d.ts +4 -3
  175. package/dist/types/src/lib/Tiposkripto.d.ts +2 -0
  176. package/dist/types/src/lib/Tiposkripto.test/MockTiposkripto.d.ts +3 -0
  177. package/dist/types/src/lib/Tiposkripto.test/Tiposkripto.types.d.ts +5 -0
  178. package/dist/types/src/lib/index.d.ts +6 -0
  179. package/dist/types/src/services/FileService.d.ts +34 -0
  180. package/dist/types/src/services/GitHubAuthService.d.ts +32 -0
  181. package/dist/types/src/utils/api.d.ts +1 -0
  182. package/dist/types/src/utils/gitTest.d.ts +11 -0
  183. package/dist/types/src/utils.d.ts +3 -3
  184. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  185. package/example/__pycache__/Calculator.cpython-313.pyc +0 -0
  186. package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/README.md +187 -0
  187. package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/base_given.go +163 -0
  188. package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/base_suite.go +85 -0
  189. package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/base_then.go +21 -0
  190. package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/base_when.go +21 -0
  191. package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/golingvu.go +554 -0
  192. package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/test_adapter.go +33 -0
  193. package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/types.go +72 -0
  194. package/example/vendor/modules.txt +5 -0
  195. package/git-integration-plan.md +395 -0
  196. package/package.json +26 -14
  197. package/src/App.tsx +169 -18
  198. package/src/PM/PM_WithBuild.ts +171 -0
  199. package/src/PM/PM_WithEslintAndTsc.ts +109 -86
  200. package/src/PM/PM_WithGit.ts +585 -0
  201. package/src/PM/PM_WithProcesses.ts +639 -0
  202. package/src/PM/PM_WithWebSocket.ts +631 -0
  203. package/src/PM/base.ts +63 -1
  204. package/src/PM/index.ts +8 -5
  205. package/src/PM/main.ts +672 -2050
  206. package/src/PM/metafileOutputs.ts +90 -0
  207. package/src/PM/node.ts +18 -18
  208. package/src/PM/pure.ts +5 -13
  209. package/src/PM/types.ts +145 -0
  210. package/src/PM/utils.ts +256 -0
  211. package/src/PM/web.ts +8 -8
  212. package/src/README.md +122 -0
  213. package/src/ReportServer.ts +0 -12
  214. package/src/ReportServerLib.ts +0 -147
  215. package/src/Types.ts +1 -0
  216. package/src/app.scss +14 -164
  217. package/src/components/pure/AppFrame.tsx +237 -71
  218. package/src/components/pure/ArtifactTree.tsx +82 -0
  219. package/src/components/pure/BuildLogViewer.tsx +168 -0
  220. package/src/components/pure/DebugEnv.tsx +30 -0
  221. package/src/components/pure/FileTree.tsx +58 -0
  222. package/src/components/pure/FileTreeItem.tsx +49 -0
  223. package/src/components/pure/GitHubLoginButton.tsx +31 -0
  224. package/src/components/pure/GitIntegrationView.tsx +443 -0
  225. package/src/components/pure/ProcessManager.tsx +6 -5
  226. package/src/components/pure/ProcessManagerView.tsx +162 -166
  227. package/src/components/pure/ProjectPageView.tsx +6 -224
  228. package/src/components/pure/Settings.test.tsx +34 -0
  229. package/src/components/pure/Settings.tsx +163 -0
  230. package/src/components/pure/SignIn.tsx +33 -0
  231. package/src/components/pure/SingleProcessView.tsx +231 -235
  232. package/src/components/pure/TestPageView.test/specification.ts +1 -0
  233. package/src/components/pure/TestPageView.tsx +317 -826
  234. package/src/components/pure/TestPageView_utils.tsx +285 -0
  235. package/src/components/pure/TestTable.tsx +88 -0
  236. package/src/components/pure/ToastNotification.tsx +19 -0
  237. package/src/components/pure/UserProfile.tsx +44 -0
  238. package/src/components/stateful/AuthCallbackPage.tsx +21 -0
  239. package/src/components/stateful/FeaturesReporter.tsx +3 -1
  240. package/src/components/stateful/FileTree.tsx +58 -58
  241. package/src/components/stateful/GitIntegrationPage.tsx +8 -0
  242. package/src/components/stateful/ProcessManagerPage.tsx +13 -17
  243. package/src/components/stateful/ProjectPage.tsx +6 -5
  244. package/src/components/stateful/ProjectsPage.tsx +17 -19
  245. package/src/components/stateful/SVGEditor/CircleForm.tsx +68 -0
  246. package/src/components/stateful/SVGEditor/GroupForm.tsx +56 -0
  247. package/src/components/stateful/SVGEditor/RectForm.tsx +74 -0
  248. package/src/components/stateful/SVGEditor/SVGAttributeField.tsx +29 -0
  249. package/src/components/stateful/SVGEditor/SVGAttributesEditor.tsx +73 -0
  250. package/src/components/stateful/SVGEditor/SVGEditorControls.tsx +45 -0
  251. package/src/components/stateful/SVGEditor/SVGElementForm.tsx +45 -0
  252. package/src/components/stateful/SVGEditor/SVGPreview.tsx +225 -0
  253. package/src/components/stateful/SVGEditor/SVGTextEditor.tsx +166 -0
  254. package/src/components/stateful/SVGEditor/SVGTree.tsx +159 -0
  255. package/src/components/stateful/SVGEditor/SVGTypes.ts +36 -0
  256. package/src/components/stateful/SVGEditor/svg.xsd.xml +3038 -0
  257. package/src/components/stateful/SVGEditorPage.tsx +503 -0
  258. package/src/components/stateful/SingleProcessPage.tsx +18 -31
  259. package/src/components/stateful/TestPage.tsx +25 -22
  260. package/src/golingvu/golingvu.go +38 -2
  261. package/src/hooks/useGitMode.ts +20 -0
  262. package/src/lib/BaseSuite.test/mock.ts +16 -10
  263. package/src/lib/BaseSuite.test/test.ts +144 -103
  264. package/src/lib/Tiposkripto.test/MockTiposkripto.ts +178 -14
  265. package/src/lib/Tiposkripto.test/Tiposkripto.adapter.ts +9 -14
  266. package/src/lib/Tiposkripto.test/Tiposkripto.implementation.ts +78 -38
  267. package/src/lib/Tiposkripto.test/Tiposkripto.specification.ts +51 -9
  268. package/src/lib/Tiposkripto.test/Tiposkripto.types.ts +5 -0
  269. package/src/lib/Tiposkripto.ts +27 -0
  270. package/src/lib/index.ts +7 -0
  271. package/src/lib/pmProxy.test/specification.ts +168 -166
  272. package/src/pitono/PM/__pycache__/python.cpython-313.pyc +0 -0
  273. package/src/pitono/__pycache__/Pitono.cpython-313.pyc +0 -0
  274. package/src/pitono/__pycache__/__init__.cpython-313.pyc +0 -0
  275. package/src/pitono/__pycache__/base_given.cpython-313.pyc +0 -0
  276. package/src/pitono/__pycache__/base_suite.cpython-313.pyc +0 -0
  277. package/src/pitono/__pycache__/base_then.cpython-313.pyc +0 -0
  278. package/src/pitono/__pycache__/base_when.cpython-313.pyc +0 -0
  279. package/src/pitono/__pycache__/core_generator.cpython-313.pyc +0 -0
  280. package/src/pitono/__pycache__/simple_adapter.cpython-313.pyc +0 -0
  281. package/src/pitono/__pycache__/types.cpython-313.pyc +0 -0
  282. package/src/services/FileService.ts +542 -0
  283. package/src/services/GitHubAuthService.ts +240 -0
  284. package/src/testeranto.ts +62 -140
  285. package/src/utils/api.ts +15 -13
  286. package/src/utils/gitTest.ts +29 -0
  287. package/src/utils.ts +21 -12
  288. package/testeranto/App.css +94 -121
  289. package/testeranto/App.js +44601 -11225
  290. package/testeranto/bundles/golang/core/Calculator.golingvu.go +53 -0
  291. package/testeranto/bundles/golang/core/Calculator.golingvu.golingvu.go +53 -0
  292. package/testeranto/bundles/node/core/chunk-RIM6RECA.mjs +1170 -0
  293. package/testeranto/bundles/node/core/chunk-VXVF7WFO.mjs +4321 -0
  294. package/testeranto/bundles/node/core/example/Calculator.test.mjs +503 -0
  295. package/testeranto/bundles/node/core/src/lib/BaseSuite.test/node.test.mjs +94 -1231
  296. package/testeranto/bundles/node/core/src/lib/TipoSkripto.test/TipoSkripto.mjs +574 -0
  297. package/testeranto/bundles/node/core/src/lib/pmProxy.test/index.mjs +482 -0
  298. package/testeranto/bundles/pure/core/chunk-XYOCRDEQ.mjs +1080 -0
  299. package/testeranto/bundles/pure/core/src/Pure.test.mjs +410 -0
  300. package/testeranto/bundles/pure/core/src/lib/BaseSuite.test/pure.test.mjs +93 -1146
  301. package/testeranto/bundles/python/core/Calculator.pitono.test.py +24 -0
  302. package/testeranto/bundles/python/core/test_example.py +24 -0
  303. package/testeranto/bundles/web/core/MPLUSRounded1c-Black-O75GP5JI.ttf +0 -0
  304. package/testeranto/bundles/web/core/MPLUSRounded1c-Bold-R524Q5BH.ttf +0 -0
  305. package/testeranto/bundles/web/core/MPLUSRounded1c-ExtraBold-C6GRMYVT.ttf +0 -0
  306. package/testeranto/bundles/web/core/MPLUSRounded1c-Light-WKN65Y2C.ttf +0 -0
  307. package/testeranto/bundles/web/core/MPLUSRounded1c-Medium-ZC4DWL7C.ttf +0 -0
  308. package/testeranto/bundles/web/core/MPLUSRounded1c-Regular-DT6EKZ3S.ttf +0 -0
  309. package/testeranto/bundles/web/core/MPLUSRounded1c-Thin-YWDNVG6M.ttf +0 -0
  310. package/testeranto/bundles/web/core/chunk-DFRN4SYZ.mjs +2297 -0
  311. package/testeranto/bundles/web/core/chunk-JMDLMADH.mjs +27996 -0
  312. package/testeranto/bundles/web/core/chunk-LQMU5NCG.mjs +3082 -0
  313. package/testeranto/bundles/web/core/chunk-Q5TONB2Z.mjs +6874 -0
  314. package/testeranto/bundles/web/core/src/components/pure/FeaturesReporterView.test/index.mjs +164 -0
  315. package/testeranto/bundles/web/core/src/components/pure/ModalContent.test/index.css +11697 -0
  316. package/testeranto/bundles/web/core/src/components/pure/ModalContent.test/index.mjs +336 -0
  317. package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.css +11697 -0
  318. package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.mjs +517 -0
  319. package/testeranto/bundles/web/core/src/lib/BaseSuite.test/web.test.mjs +107 -1134
  320. package/testeranto/metafiles/golang/core.json +3 -3
  321. package/testeranto/metafiles/node/core.json +474 -31
  322. package/testeranto/metafiles/pure/core.json +144 -28
  323. package/testeranto/metafiles/python/core.json +11 -0
  324. package/testeranto/metafiles/web/core.json +15829 -45
  325. package/testeranto/reports/core/config.json +40 -0
  326. package/testeranto/reports/core/src/Pure.test/pure/exit.log +0 -0
  327. package/testeranto/reports/core/src/Pure.test/pure/lint_errors.txt +0 -0
  328. package/testeranto/reports/core/src/Pure.test/pure/prompt.txt +14 -0
  329. package/testeranto/reports/core/src/Pure.test/pure/type_errors.txt +73 -0
  330. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/debug.log +0 -0
  331. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/error.log +91 -0
  332. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/exit.log +1 -0
  333. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/info.log +2 -0
  334. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/tests.json +68 -0
  335. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/warn.log +0 -0
  336. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/debug.log +0 -0
  337. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/error.log +30 -0
  338. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/exit.log +1 -0
  339. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/info.log +2 -0
  340. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/tests.json +88 -0
  341. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/warn.log +0 -0
  342. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/lint_errors.txt +0 -6
  343. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/prompt.txt +0 -11
  344. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/stdout.log +1 -0
  345. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/tests.json +1 -1
  346. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/type_errors.txt +35 -38
  347. package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/lint_errors.txt +0 -2
  348. package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/prompt.txt +0 -10
  349. package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/type_errors.txt +40 -38
  350. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/tests.json +1 -1
  351. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/exit.log +1 -0
  352. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/lint_errors.txt +0 -0
  353. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/message.txt +17 -0
  354. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/prompt.txt +17 -0
  355. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/stderr.log +55 -0
  356. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/stdout.log +191 -0
  357. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/type_errors.txt +71 -0
  358. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/exit.log +1 -0
  359. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/lint_errors.txt +15 -0
  360. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/message.txt +17 -0
  361. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/prompt.txt +17 -0
  362. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/stderr.log +20 -0
  363. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/stdout.log +4 -0
  364. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/type_errors.txt +49 -0
  365. package/testeranto/reports/core/summary.json +34 -6
  366. package/testeranto.config.ts +26 -20
  367. package/tsc.log +141 -91
  368. package/tsconfig.json +6 -2
  369. package/dist/prebuild/ReportServer.mjs +0 -227
  370. package/dist/prebuild/mothership/index.mjs +0 -22
  371. package/dist/types/design-editor/server.d.ts +0 -1
  372. package/testeranto/bundles/web/core/src/lib/BaseSuite.test/web.test.html +0 -15
  373. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/lint_errors.txt +0 -2
  374. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/prompt.txt +0 -25
  375. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/type_errors.txt +0 -56
  376. /package/testeranto/reports/core/src/{lib/BaseSuite.test/web.test/web → Pure.test/pure}/message.txt +0 -0
@@ -0,0 +1,542 @@
1
+ /* eslint-disable @typescript-eslint/no-unused-vars */
2
+ export interface FileEntry {
3
+ name: string;
4
+ path: string;
5
+ type: "file" | "directory";
6
+ size?: number;
7
+ modified?: Date;
8
+ }
9
+
10
+ export interface FileStatus {
11
+ status: "unchanged" | "modified" | "added" | "deleted" | "conflicted";
12
+ }
13
+
14
+ export interface FileChange extends FileStatus {
15
+ path: string;
16
+ diff?: string;
17
+ }
18
+
19
+ export interface RemoteStatus {
20
+ ahead: number;
21
+ behind: number;
22
+ }
23
+
24
+ export interface FileService {
25
+ // Read operations
26
+ readFile(path: string): Promise<string>;
27
+ readDirectory(path: string): Promise<FileEntry[]>;
28
+ exists(path: string): Promise<boolean>;
29
+
30
+ // Write operations (mode-dependent)
31
+ writeFile(path: string, content: string): Promise<void>;
32
+ createDirectory(path: string): Promise<void>;
33
+ deleteFile(path: string): Promise<void>;
34
+
35
+ // Git integration
36
+ getFileStatus(path: string): Promise<FileStatus>;
37
+ getChanges(): Promise<FileChange[]>;
38
+ commitChanges(message: string, description?: string): Promise<void>;
39
+ pushChanges(): Promise<void>;
40
+ pullChanges(): Promise<void>;
41
+ getCurrentBranch(): Promise<string>;
42
+ getRemoteStatus(): Promise<RemoteStatus>;
43
+ }
44
+
45
+ // Static Mode Service (Read-only)
46
+ class StaticFileService implements FileService {
47
+ async readFile(path: string): Promise<string> {
48
+ const response = await fetch(path);
49
+ if (!response.ok) throw new Error(`Failed to read file: ${path}`);
50
+ return await response.text();
51
+ }
52
+
53
+ async readDirectory(path: string): Promise<FileEntry[]> {
54
+ // In static mode, we can't list directories from the client
55
+ // This would need to be provided by a server endpoint
56
+ return [];
57
+ }
58
+
59
+ async exists(path: string): Promise<boolean> {
60
+ try {
61
+ const response = await fetch(path, { method: "HEAD" });
62
+ return response.ok;
63
+ } catch {
64
+ return false;
65
+ }
66
+ }
67
+
68
+ // Write operations are no-ops in static mode
69
+ async writeFile(): Promise<void> {
70
+ /* no-op */
71
+ }
72
+ async createDirectory(): Promise<void> {
73
+ /* no-op */
74
+ }
75
+ async deleteFile(): Promise<void> {
76
+ /* no-op */
77
+ }
78
+
79
+ // Git operations are not available in static mode
80
+ async getFileStatus(): Promise<FileStatus> {
81
+ return { status: "unchanged" };
82
+ }
83
+
84
+ async getChanges(): Promise<FileChange[]> {
85
+ return [];
86
+ }
87
+
88
+ async commitChanges(): Promise<void> {
89
+ throw new Error("Commit not available in static mode");
90
+ }
91
+
92
+ async pushChanges(): Promise<void> {
93
+ throw new Error("Push not available in static mode");
94
+ }
95
+
96
+ async pullChanges(): Promise<void> {
97
+ throw new Error("Pull not available in static mode");
98
+ }
99
+
100
+ async getCurrentBranch(): Promise<string> {
101
+ return "main";
102
+ }
103
+
104
+ async getRemoteStatus(): Promise<{ ahead: number; behind: number }> {
105
+ return { ahead: 0, behind: 0 };
106
+ }
107
+ }
108
+
109
+ // Development Mode Service (Full filesystem access via server)
110
+ class DevelopmentFileService implements FileService {
111
+ private ws: WebSocket | null = null;
112
+ private changeCallbacks: ((changes: FileChange[]) => void)[] = [];
113
+ private statusCallbacks: ((status: RemoteStatus) => void)[] = [];
114
+ private branchCallbacks: ((branch: string) => void)[] = [];
115
+
116
+ constructor() {
117
+ this.connectWebSocket();
118
+ }
119
+
120
+ private connectWebSocket() {
121
+ try {
122
+ const protocol = window.location.protocol === 'https:' ? 'wss:' : 'ws:';
123
+ const wsUrl = `${protocol}//${window.location.host}/api/git-ws`;
124
+ this.ws = new WebSocket(wsUrl);
125
+
126
+ this.ws.onopen = () => {
127
+ console.log('Git WebSocket connected');
128
+ // Request initial state
129
+ this.ws?.send(JSON.stringify({ type: 'get-initial-state' }));
130
+ };
131
+
132
+ this.ws.onmessage = (event) => {
133
+ try {
134
+ const data = JSON.parse(event.data);
135
+ switch (data.type) {
136
+ case 'changes':
137
+ this.changeCallbacks.forEach(callback => callback(data.changes));
138
+ break;
139
+ case 'status':
140
+ this.statusCallbacks.forEach(callback => callback(data.status));
141
+ break;
142
+ case 'branch':
143
+ this.branchCallbacks.forEach(callback => callback(data.branch));
144
+ break;
145
+ case 'error':
146
+ console.error('Git WebSocket error:', data.message);
147
+ break;
148
+ }
149
+ } catch (error) {
150
+ console.error('Error parsing WebSocket message:', error);
151
+ }
152
+ };
153
+
154
+ this.ws.onclose = () => {
155
+ console.log('Git WebSocket disconnected, attempting to reconnect...');
156
+ setTimeout(() => this.connectWebSocket(), 3000);
157
+ };
158
+
159
+ this.ws.onerror = (error) => {
160
+ console.error('Git WebSocket error:', error);
161
+ };
162
+ } catch (error) {
163
+ console.error('Failed to connect Git WebSocket:', error);
164
+ }
165
+ }
166
+
167
+ // Subscribe to real-time changes
168
+ onChanges(callback: (changes: FileChange[]) => void) {
169
+ this.changeCallbacks.push(callback);
170
+ return () => {
171
+ this.changeCallbacks = this.changeCallbacks.filter(cb => cb !== callback);
172
+ };
173
+ }
174
+
175
+ onStatusUpdate(callback: (status: RemoteStatus) => void) {
176
+ this.statusCallbacks.push(callback);
177
+ return () => {
178
+ this.statusCallbacks = this.statusCallbacks.filter(cb => cb !== callback);
179
+ };
180
+ }
181
+
182
+ onBranchUpdate(callback: (branch: string) => void) {
183
+ this.branchCallbacks.push(callback);
184
+ return () => {
185
+ this.branchCallbacks = this.branchCallbacks.filter(cb => cb !== callback);
186
+ };
187
+ }
188
+
189
+ async readFile(path: string): Promise<string> {
190
+ const response = await fetch(
191
+ `/api/files/read?path=${encodeURIComponent(path)}`
192
+ );
193
+ if (!response.ok) throw new Error(`Failed to read file: ${path}`);
194
+ return await response.text();
195
+ }
196
+
197
+ async readDirectory(path: string): Promise<FileEntry[]> {
198
+ const response = await fetch(
199
+ `/api/files/list?path=${encodeURIComponent(path)}`
200
+ );
201
+ if (!response.ok) throw new Error(`Failed to list directory: ${path}`);
202
+ return await response.json();
203
+ }
204
+
205
+ async exists(path: string): Promise<boolean> {
206
+ const response = await fetch(
207
+ `/api/files/exists?path=${encodeURIComponent(path)}`
208
+ );
209
+ return response.ok;
210
+ }
211
+
212
+ async writeFile(path: string, content: string): Promise<void> {
213
+ const response = await fetch("/api/files/write", {
214
+ method: "POST",
215
+ headers: { "Content-Type": "application/json" },
216
+ body: JSON.stringify({ path, content }),
217
+ });
218
+ if (!response.ok) throw new Error(`Failed to write file: ${path}`);
219
+
220
+ // Notify server to update git status
221
+ this.ws?.send(JSON.stringify({ type: 'file-changed', path }));
222
+ }
223
+
224
+ async createDirectory(path: string): Promise<void> {
225
+ const response = await fetch("/api/files/mkdir", {
226
+ method: "POST",
227
+ headers: { "Content-Type": "application/json" },
228
+ body: JSON.stringify({ path }),
229
+ });
230
+ if (!response.ok) throw new Error(`Failed to create directory: ${path}`);
231
+
232
+ this.ws?.send(JSON.stringify({ type: 'file-changed', path }));
233
+ }
234
+
235
+ async deleteFile(path: string): Promise<void> {
236
+ const response = await fetch("/api/files/delete", {
237
+ method: "POST",
238
+ headers: { "Content-Type": "application/json" },
239
+ body: JSON.stringify({ path }),
240
+ });
241
+ if (!response.ok) throw new Error(`Failed to delete file: ${path}`);
242
+
243
+ this.ws?.send(JSON.stringify({ type: 'file-changed', path }));
244
+ }
245
+
246
+ async getFileStatus(path: string): Promise<FileStatus> {
247
+ const response = await fetch(
248
+ `/api/git/status?path=${encodeURIComponent(path)}`
249
+ );
250
+ if (!response.ok) return { status: "unchanged" };
251
+ return await response.json();
252
+ }
253
+
254
+ async getChanges(): Promise<FileChange[]> {
255
+ const response = await fetch("/api/git/changes");
256
+ if (!response.ok) return [];
257
+ return await response.json();
258
+ }
259
+
260
+ async commitChanges(message: string, description?: string): Promise<void> {
261
+ const response = await fetch("/api/git/commit", {
262
+ method: "POST",
263
+ headers: { "Content-Type": "application/json" },
264
+ body: JSON.stringify({ message, description }),
265
+ });
266
+ if (!response.ok) {
267
+ const error = await response.text();
268
+ throw new Error(`Failed to commit changes: ${error}`);
269
+ }
270
+
271
+ // Request updated status after commit
272
+ this.ws?.send(JSON.stringify({ type: 'refresh-status' }));
273
+ }
274
+
275
+ async pushChanges(): Promise<void> {
276
+ const response = await fetch("/api/git/push", {
277
+ method: "POST",
278
+ });
279
+ if (!response.ok) {
280
+ const error = await response.text();
281
+ throw new Error(`Failed to push changes: ${error}`);
282
+ }
283
+
284
+ this.ws?.send(JSON.stringify({ type: 'refresh-status' }));
285
+ }
286
+
287
+ async pullChanges(): Promise<void> {
288
+ const response = await fetch("/api/git/pull", {
289
+ method: "POST",
290
+ });
291
+ if (!response.ok) {
292
+ const error = await response.text();
293
+ throw new Error(`Failed to pull changes: ${error}`);
294
+ }
295
+
296
+ this.ws?.send(JSON.stringify({ type: 'refresh-status' }));
297
+ }
298
+
299
+ async getCurrentBranch(): Promise<string> {
300
+ const response = await fetch("/api/git/branch");
301
+ if (!response.ok) return "main";
302
+ return await response.text();
303
+ }
304
+
305
+ async getRemoteStatus(): Promise<RemoteStatus> {
306
+ const response = await fetch("/api/git/remote-status");
307
+ if (!response.ok) return { ahead: 0, behind: 0 };
308
+ return await response.json();
309
+ }
310
+ }
311
+
312
+ // Git Mode Service (isomorphic-git based)
313
+ class GitFileService implements FileService {
314
+ private git: typeof import("isomorphic-git") | null = null;
315
+ private fs: typeof import("isomorphic-git/http/web") | null = null;
316
+ private dir = '/testeranto-git';
317
+
318
+ private async ensureGit() {
319
+ if (!this.git) {
320
+ this.git = await import("isomorphic-git");
321
+ this.fs = await import("isomorphic-git/http/web");
322
+ }
323
+ }
324
+
325
+ private async ensureBufferPolyfill() {
326
+ if (typeof window !== 'undefined' && !window.Buffer) {
327
+ const buffer = await import('buffer');
328
+ window.Buffer = buffer.Buffer;
329
+ }
330
+ }
331
+
332
+ async readFile(path: string): Promise<string> {
333
+ await this.ensureBufferPolyfill();
334
+ await this.ensureGit();
335
+ try {
336
+ const content = await this.git!.readBlob({
337
+ fs: window.fs,
338
+ dir: this.dir,
339
+ oid: await this.git!.resolveRef({ fs: window.fs, dir: this.dir, ref: 'HEAD' }),
340
+ filepath: path,
341
+ });
342
+ return new TextDecoder().decode(content.blob);
343
+ } catch (error) {
344
+ throw new Error(`Failed to read file: ${path}`);
345
+ }
346
+ }
347
+
348
+ async readDirectory(path: string): Promise<FileEntry[]> {
349
+ await this.ensureBufferPolyfill();
350
+ await this.ensureGit();
351
+ try {
352
+ const files = await this.git!.listFiles({
353
+ fs: window.fs,
354
+ dir: this.dir,
355
+ ref: 'HEAD',
356
+ });
357
+ return files.map(name => ({
358
+ name,
359
+ path: name,
360
+ type: name.includes('.') ? 'file' : 'directory',
361
+ }));
362
+ } catch (error) {
363
+ return [];
364
+ }
365
+ }
366
+
367
+ async exists(path: string): Promise<boolean> {
368
+ try {
369
+ await this.readFile(path);
370
+ return true;
371
+ } catch {
372
+ return false;
373
+ }
374
+ }
375
+
376
+ async writeFile(path: string, content: string): Promise<void> {
377
+ await this.ensureBufferPolyfill();
378
+ await this.ensureGit();
379
+ // In Git mode, files are written to the virtual file system
380
+ // This would need proper implementation with IndexedDB or similar
381
+ console.log('Git mode write:', path);
382
+ }
383
+
384
+ async createDirectory(path: string): Promise<void> {
385
+ // Directories are created automatically when writing files
386
+ console.log('Git mode create directory:', path);
387
+ }
388
+
389
+ async deleteFile(path: string): Promise<void> {
390
+ await this.ensureBufferPolyfill();
391
+ await this.ensureGit();
392
+ // Mark file for deletion in next commit
393
+ console.log('Git mode delete:', path);
394
+ }
395
+
396
+ async getFileStatus(path: string): Promise<FileStatus> {
397
+ await this.ensureBufferPolyfill();
398
+ await this.ensureGit();
399
+ try {
400
+ const status = await this.git!.status({
401
+ fs: window.fs,
402
+ dir: this.dir,
403
+ filepath: path,
404
+ });
405
+ return { status: status as FileStatus['status'] };
406
+ } catch {
407
+ return { status: 'unchanged' };
408
+ }
409
+ }
410
+
411
+ async getChanges(): Promise<FileChange[]> {
412
+ await this.ensureBufferPolyfill();
413
+ await this.ensureGit();
414
+ try {
415
+ const statusMatrix = await this.git!.statusMatrix({
416
+ fs: window.fs,
417
+ dir: this.dir,
418
+ });
419
+
420
+ return statusMatrix.map(([file, head, workdir, stage]) => {
421
+ let status: FileChange['status'] = 'unchanged';
422
+ if (head === 0 && workdir === 2) status = 'added';
423
+ else if (head === 1 && workdir === 0) status = 'deleted';
424
+ else if (workdir === 2) status = 'modified';
425
+ else if (head !== workdir) status = 'modified';
426
+
427
+ return { path: file, status };
428
+ }).filter(change => change.status !== 'unchanged');
429
+ } catch (error) {
430
+ console.warn('Failed to get changes:', error);
431
+ return [];
432
+ }
433
+ }
434
+
435
+ async commitChanges(message: string, description?: string): Promise<void> {
436
+ await this.ensureBufferPolyfill();
437
+ await this.ensureGit();
438
+ try {
439
+ // Stage all changes
440
+ const changes = await this.getChanges();
441
+ for (const change of changes) {
442
+ if (change.status === 'deleted') {
443
+ await this.git!.remove({
444
+ fs: window.fs,
445
+ dir: this.dir,
446
+ filepath: change.path,
447
+ });
448
+ } else {
449
+ await this.git!.add({
450
+ fs: window.fs,
451
+ dir: this.dir,
452
+ filepath: change.path,
453
+ });
454
+ }
455
+ }
456
+
457
+ // Commit
458
+ await this.git!.commit({
459
+ fs: window.fs,
460
+ dir: this.dir,
461
+ author: { name: 'Testeranto User', email: 'user@testeranto' },
462
+ message: description ? `${message}\n\n${description}` : message,
463
+ });
464
+ } catch (error) {
465
+ throw new Error(`Failed to commit changes: ${error instanceof Error ? error.message : 'Unknown error'}`);
466
+ }
467
+ }
468
+
469
+ async pushChanges(): Promise<void> {
470
+ await this.ensureBufferPolyfill();
471
+ await this.ensureGit();
472
+ try {
473
+ await this.git!.push({
474
+ fs: window.fs,
475
+ http: this.fs!,
476
+ dir: this.dir,
477
+ remote: 'origin',
478
+ ref: 'main',
479
+ onAuth: () => ({ username: 'token' }),
480
+ });
481
+ } catch (error) {
482
+ throw new Error(`Failed to push changes: ${error instanceof Error ? error.message : 'Unknown error'}`);
483
+ }
484
+ }
485
+
486
+ async pullChanges(): Promise<void> {
487
+ await this.ensureBufferPolyfill();
488
+ await this.ensureGit();
489
+ try {
490
+ await this.git!.pull({
491
+ fs: window.fs,
492
+ http: this.fs!,
493
+ dir: this.dir,
494
+ remote: 'origin',
495
+ ref: 'main',
496
+ singleBranch: true,
497
+ onAuth: () => ({ username: 'token' }),
498
+ });
499
+ } catch (error) {
500
+ throw new Error(`Failed to pull changes: ${error instanceof Error ? error.message : 'Unknown error'}`);
501
+ }
502
+ }
503
+
504
+ async getCurrentBranch(): Promise<string> {
505
+ await this.ensureBufferPolyfill();
506
+ await this.ensureGit();
507
+ try {
508
+ return await this.git!.currentBranch({
509
+ fs: window.fs,
510
+ dir: this.dir,
511
+ }) || 'main';
512
+ } catch {
513
+ return 'main';
514
+ }
515
+ }
516
+
517
+ async getRemoteStatus(): Promise<RemoteStatus> {
518
+ await this.ensureBufferPolyfill();
519
+ await this.ensureGit();
520
+ try {
521
+ // For now, return mock data
522
+ // In a real implementation, we'd compare local and remote branches
523
+ return { ahead: 0, behind: 0 };
524
+ } catch {
525
+ return { ahead: 0, behind: 0 };
526
+ }
527
+ }
528
+ }
529
+
530
+ // Factory function to get the appropriate FileService based on mode
531
+ export const getFileService = (mode: "static" | "dev" | "git"): FileService => {
532
+ switch (mode) {
533
+ case "static":
534
+ return new StaticFileService();
535
+ case "dev":
536
+ return new DevelopmentFileService();
537
+ case "git":
538
+ return new GitFileService();
539
+ default:
540
+ return new StaticFileService();
541
+ }
542
+ };