testeranto 0.200.1 → 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 (373) hide show
  1. package/README.md +26 -1
  2. package/design-editor/DesignEditor.tsx +40 -241
  3. package/dist/common/design-editor/DesignEditor.js +33 -198
  4. package/dist/common/src/App.js +158 -16
  5. package/dist/common/src/PM/PM_WithBuild.js +135 -0
  6. package/dist/common/src/PM/PM_WithEslintAndTsc.js +79 -67
  7. package/dist/common/src/PM/PM_WithGit.js +517 -0
  8. package/dist/common/src/PM/PM_WithProcesses.js +519 -0
  9. package/dist/common/src/PM/PM_WithWebSocket.js +535 -0
  10. package/dist/common/src/PM/base.js +62 -0
  11. package/dist/common/src/PM/main.js +533 -1676
  12. package/dist/common/src/PM/metafileOutputs.js +78 -0
  13. package/dist/common/src/PM/node.js +0 -6
  14. package/dist/common/src/PM/pure.js +0 -8
  15. package/dist/common/src/PM/types.js +1 -0
  16. package/dist/common/src/PM/utils.js +210 -0
  17. package/dist/common/src/PM/web.js +0 -6
  18. package/dist/common/src/ReportServer.js +0 -10
  19. package/dist/common/src/ReportServerLib.js +0 -140
  20. package/dist/common/src/components/pure/AppFrame.js +68 -56
  21. package/dist/common/src/components/pure/ArtifactTree.js +80 -0
  22. package/dist/common/src/components/pure/BuildLogViewer.js +106 -0
  23. package/dist/common/src/components/pure/DebugEnv.js +30 -0
  24. package/dist/common/src/components/pure/FileTree.js +34 -0
  25. package/dist/common/src/components/pure/FileTreeItem.js +29 -0
  26. package/dist/common/src/components/pure/GitHubLoginButton.js +18 -0
  27. package/dist/common/src/components/pure/GitIntegrationView.js +342 -0
  28. package/dist/common/src/components/pure/ProcessManager.js +1 -0
  29. package/dist/common/src/components/pure/ProcessManagerView.js +73 -74
  30. package/dist/common/src/components/pure/ProjectPageView.js +4 -117
  31. package/dist/common/src/components/pure/Settings.js +121 -0
  32. package/dist/common/src/components/pure/Settings.test.js +34 -0
  33. package/dist/common/src/components/pure/SignIn.js +22 -0
  34. package/dist/common/src/components/pure/SingleProcessView.js +166 -213
  35. package/dist/common/src/components/pure/TestPageView.js +113 -368
  36. package/dist/common/src/components/pure/TestPageView_utils.js +117 -0
  37. package/dist/common/src/components/pure/TestTable.js +33 -0
  38. package/dist/common/src/components/pure/ToastNotification.js +14 -0
  39. package/dist/common/src/components/pure/UserProfile.js +27 -0
  40. package/dist/common/src/components/stateful/AuthCallbackPage.js +51 -0
  41. package/dist/common/src/components/stateful/FeaturesReporter.js +2 -1
  42. package/dist/common/src/components/stateful/FileTree.js +58 -39
  43. package/dist/common/src/components/stateful/GitIntegrationPage.js +12 -0
  44. package/dist/common/src/components/stateful/ProcessManagerPage.js +13 -15
  45. package/dist/common/src/components/stateful/ProjectPage.js +6 -5
  46. package/dist/common/src/components/stateful/ProjectsPage.js +17 -19
  47. package/dist/common/src/components/stateful/SingleProcessPage.js +16 -26
  48. package/dist/common/src/components/stateful/TestPage.js +7 -5
  49. package/dist/common/src/hooks/useGitMode.js +21 -0
  50. package/dist/common/src/lib/BaseSuite.test/mock.js +15 -8
  51. package/dist/common/src/lib/BaseSuite.test/test.js +56 -80
  52. package/dist/common/src/lib/Tiposkripto.js +24 -0
  53. package/dist/common/src/lib/Tiposkripto.test/MockTiposkripto.js +154 -10
  54. package/dist/common/src/lib/Tiposkripto.test/Tiposkripto.adapter.js +6 -12
  55. package/dist/common/src/lib/Tiposkripto.test/Tiposkripto.implementation.js +63 -23
  56. package/dist/common/src/lib/Tiposkripto.test/Tiposkripto.specification.js +14 -6
  57. package/dist/common/src/lib/pmProxy.test/specification.js +167 -52
  58. package/dist/common/src/services/FileService.js +505 -0
  59. package/dist/common/src/services/GitHubAuthService.js +184 -0
  60. package/dist/common/src/testeranto.js +38 -97
  61. package/dist/common/src/utils/api.js +12 -8
  62. package/dist/common/src/utils/gitTest.js +27 -0
  63. package/dist/common/src/utils.js +23 -13
  64. package/dist/common/testeranto.config.js +21 -17
  65. package/dist/common/tsconfig.common.tsbuildinfo +1 -1
  66. package/dist/module/design-editor/DesignEditor.js +33 -199
  67. package/dist/module/src/App.js +121 -15
  68. package/dist/module/src/PM/PM_WithBuild.js +128 -0
  69. package/dist/module/src/PM/PM_WithEslintAndTsc.js +79 -67
  70. package/dist/module/src/PM/PM_WithGit.js +477 -0
  71. package/dist/module/src/PM/PM_WithProcesses.js +479 -0
  72. package/dist/module/src/PM/PM_WithWebSocket.js +528 -0
  73. package/dist/module/src/PM/base.js +62 -0
  74. package/dist/module/src/PM/main.js +533 -1676
  75. package/dist/module/src/PM/metafileOutputs.js +78 -0
  76. package/dist/module/src/PM/node.js +0 -6
  77. package/dist/module/src/PM/pure.js +0 -8
  78. package/dist/module/src/PM/types.js +1 -1
  79. package/dist/module/src/PM/utils.js +196 -0
  80. package/dist/module/src/PM/web.js +0 -6
  81. package/dist/module/src/ReportServer.js +1 -9
  82. package/dist/module/src/ReportServerLib.js +1 -134
  83. package/dist/module/src/components/pure/AppFrame.js +66 -24
  84. package/dist/module/src/components/pure/ArtifactTree.js +80 -0
  85. package/dist/module/src/components/pure/BuildLogViewer.js +99 -0
  86. package/dist/module/src/components/pure/DebugEnv.js +23 -0
  87. package/dist/module/src/components/pure/FileTree.js +27 -0
  88. package/dist/module/src/components/pure/FileTreeItem.js +22 -0
  89. package/dist/module/src/components/pure/GitHubLoginButton.js +11 -0
  90. package/dist/module/src/components/pure/GitIntegrationView.js +305 -0
  91. package/dist/module/src/components/pure/ProcessManager.js +1 -0
  92. package/dist/module/src/components/pure/ProcessManagerView.js +74 -75
  93. package/dist/module/src/components/pure/ProjectPageView.js +5 -118
  94. package/dist/module/src/components/pure/Settings.js +84 -0
  95. package/dist/module/src/components/pure/Settings.test.js +29 -0
  96. package/dist/module/src/components/pure/SignIn.js +15 -0
  97. package/dist/module/src/components/pure/SingleProcessView.js +130 -214
  98. package/dist/module/src/components/pure/TestPageView.js +97 -352
  99. package/dist/module/src/components/pure/TestPageView_utils.js +109 -0
  100. package/dist/module/src/components/pure/TestTable.js +26 -0
  101. package/dist/module/src/components/pure/ToastNotification.js +7 -0
  102. package/dist/module/src/components/pure/UserProfile.js +20 -0
  103. package/dist/module/src/components/stateful/AuthCallbackPage.js +14 -0
  104. package/dist/module/src/components/stateful/FeaturesReporter.js +2 -1
  105. package/dist/module/src/components/stateful/FileTree.js +59 -33
  106. package/dist/module/src/components/stateful/GitIntegrationPage.js +5 -0
  107. package/dist/module/src/components/stateful/ProcessManagerPage.js +13 -15
  108. package/dist/module/src/components/stateful/ProjectPage.js +6 -5
  109. package/dist/module/src/components/stateful/ProjectsPage.js +16 -18
  110. package/dist/module/src/components/stateful/SingleProcessPage.js +16 -26
  111. package/dist/module/src/components/stateful/TestPage.js +8 -6
  112. package/dist/module/src/hooks/useGitMode.js +17 -0
  113. package/dist/module/src/lib/BaseSuite.test/mock.js +15 -8
  114. package/dist/module/src/lib/BaseSuite.test/test.js +56 -80
  115. package/dist/module/src/lib/Tiposkripto.js +24 -0
  116. package/dist/module/src/lib/Tiposkripto.test/MockTiposkripto.js +154 -10
  117. package/dist/module/src/lib/Tiposkripto.test/Tiposkripto.adapter.js +6 -12
  118. package/dist/module/src/lib/Tiposkripto.test/Tiposkripto.implementation.js +63 -23
  119. package/dist/module/src/lib/Tiposkripto.test/Tiposkripto.specification.js +14 -6
  120. package/dist/module/src/lib/pmProxy.test/specification.js +167 -52
  121. package/dist/module/src/services/FileService.js +468 -0
  122. package/dist/module/src/services/GitHubAuthService.js +180 -0
  123. package/dist/module/src/testeranto.js +38 -97
  124. package/dist/module/src/utils/api.js +10 -7
  125. package/dist/module/src/utils/gitTest.js +23 -0
  126. package/dist/module/src/utils.js +21 -12
  127. package/dist/module/testeranto.config.js +21 -17
  128. package/dist/module/tsconfig.module.tsbuildinfo +1 -1
  129. package/dist/prebuild/App.css +94 -121
  130. package/dist/prebuild/App.js +44601 -11225
  131. package/dist/prebuild/testeranto.mjs +3113 -2256
  132. package/dist/types/design-editor/DesignEditor.d.ts +1 -18
  133. package/dist/types/src/App.d.ts +18 -0
  134. package/dist/types/src/PM/PM_WithBuild.d.ts +13 -0
  135. package/dist/types/src/PM/PM_WithEslintAndTsc.d.ts +2 -4
  136. package/dist/types/src/PM/PM_WithGit.d.ts +27 -0
  137. package/dist/types/src/PM/PM_WithProcesses.d.ts +29 -0
  138. package/dist/types/src/PM/PM_WithWebSocket.d.ts +108 -0
  139. package/dist/types/src/PM/base.d.ts +1 -1
  140. package/dist/types/src/PM/index.d.ts +0 -2
  141. package/dist/types/src/PM/main.d.ts +6 -77
  142. package/dist/types/src/PM/metafileOutputs.d.ts +0 -0
  143. package/dist/types/src/PM/node.d.ts +0 -2
  144. package/dist/types/src/PM/pure.d.ts +0 -2
  145. package/dist/types/src/PM/types.d.ts +118 -0
  146. package/dist/types/src/PM/utils.d.ts +35 -0
  147. package/dist/types/src/PM/web.d.ts +0 -2
  148. package/dist/types/src/Pure.d.ts +6 -1
  149. package/dist/types/src/ReportServer.d.ts +0 -1
  150. package/dist/types/src/ReportServerLib.d.ts +0 -1
  151. package/dist/types/src/Types.d.ts +1 -0
  152. package/dist/types/src/components/pure/ArtifactTree.d.ts +0 -0
  153. package/dist/types/src/components/pure/BuildLogViewer.d.ts +7 -0
  154. package/dist/types/src/components/pure/DebugEnv.d.ts +2 -0
  155. package/dist/types/src/components/pure/FileTree.d.ts +6 -0
  156. package/dist/types/src/components/pure/FileTreeItem.d.ts +8 -0
  157. package/dist/types/src/components/pure/GitHubLoginButton.d.ts +8 -0
  158. package/dist/types/src/components/pure/GitIntegrationView.d.ts +1 -0
  159. package/dist/types/src/components/pure/Settings.d.ts +1 -0
  160. package/dist/types/src/components/pure/Settings.test.d.ts +1 -0
  161. package/dist/types/src/components/pure/SignIn.d.ts +1 -0
  162. package/dist/types/src/components/pure/SingleProcessView.d.ts +10 -0
  163. package/dist/types/src/components/pure/TestPageView.d.ts +2 -1
  164. package/dist/types/src/components/pure/TestPageView_utils.d.ts +23 -0
  165. package/dist/types/src/components/pure/TestTable.d.ts +16 -0
  166. package/dist/types/src/components/pure/ToastNotification.d.ts +6 -0
  167. package/dist/types/src/components/pure/UserProfile.d.ts +2 -0
  168. package/dist/types/src/components/stateful/AuthCallbackPage.d.ts +2 -0
  169. package/dist/types/src/components/stateful/FileTree.d.ts +0 -8
  170. package/dist/types/src/components/stateful/GitIntegrationPage.d.ts +1 -0
  171. package/dist/types/src/hooks/useGitMode.d.ts +7 -0
  172. package/dist/types/src/lib/BaseSuite.test/mock.d.ts +2 -2
  173. package/dist/types/src/lib/BaseSuite.test/test.d.ts +4 -3
  174. package/dist/types/src/lib/Tiposkripto.d.ts +2 -0
  175. package/dist/types/src/lib/Tiposkripto.test/MockTiposkripto.d.ts +3 -0
  176. package/dist/types/src/lib/Tiposkripto.test/Tiposkripto.types.d.ts +5 -0
  177. package/dist/types/src/lib/index.d.ts +6 -0
  178. package/dist/types/src/services/FileService.d.ts +34 -0
  179. package/dist/types/src/services/GitHubAuthService.d.ts +32 -0
  180. package/dist/types/src/utils/api.d.ts +1 -0
  181. package/dist/types/src/utils/gitTest.d.ts +11 -0
  182. package/dist/types/src/utils.d.ts +3 -3
  183. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  184. package/example/__pycache__/Calculator.cpython-313.pyc +0 -0
  185. package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/README.md +187 -0
  186. package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/base_given.go +163 -0
  187. package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/base_suite.go +85 -0
  188. package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/base_then.go +21 -0
  189. package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/base_when.go +21 -0
  190. package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/golingvu.go +554 -0
  191. package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/test_adapter.go +33 -0
  192. package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/types.go +72 -0
  193. package/example/vendor/modules.txt +5 -0
  194. package/git-integration-plan.md +395 -0
  195. package/package.json +26 -14
  196. package/src/App.tsx +169 -18
  197. package/src/PM/PM_WithBuild.ts +171 -0
  198. package/src/PM/PM_WithEslintAndTsc.ts +109 -86
  199. package/src/PM/PM_WithGit.ts +585 -0
  200. package/src/PM/PM_WithProcesses.ts +639 -0
  201. package/src/PM/PM_WithWebSocket.ts +631 -0
  202. package/src/PM/base.ts +63 -1
  203. package/src/PM/index.ts +8 -5
  204. package/src/PM/main.ts +672 -2050
  205. package/src/PM/metafileOutputs.ts +90 -0
  206. package/src/PM/node.ts +18 -18
  207. package/src/PM/pure.ts +5 -13
  208. package/src/PM/types.ts +145 -0
  209. package/src/PM/utils.ts +256 -0
  210. package/src/PM/web.ts +8 -8
  211. package/src/README.md +122 -0
  212. package/src/ReportServer.ts +0 -12
  213. package/src/ReportServerLib.ts +0 -147
  214. package/src/Types.ts +1 -0
  215. package/src/app.scss +14 -164
  216. package/src/components/pure/AppFrame.tsx +237 -71
  217. package/src/components/pure/ArtifactTree.tsx +82 -0
  218. package/src/components/pure/BuildLogViewer.tsx +168 -0
  219. package/src/components/pure/DebugEnv.tsx +30 -0
  220. package/src/components/pure/FileTree.tsx +58 -0
  221. package/src/components/pure/FileTreeItem.tsx +49 -0
  222. package/src/components/pure/GitHubLoginButton.tsx +31 -0
  223. package/src/components/pure/GitIntegrationView.tsx +443 -0
  224. package/src/components/pure/ProcessManager.tsx +6 -5
  225. package/src/components/pure/ProcessManagerView.tsx +162 -166
  226. package/src/components/pure/ProjectPageView.tsx +6 -224
  227. package/src/components/pure/Settings.test.tsx +34 -0
  228. package/src/components/pure/Settings.tsx +163 -0
  229. package/src/components/pure/SignIn.tsx +33 -0
  230. package/src/components/pure/SingleProcessView.tsx +231 -235
  231. package/src/components/pure/TestPageView.test/specification.ts +1 -0
  232. package/src/components/pure/TestPageView.tsx +317 -826
  233. package/src/components/pure/TestPageView_utils.tsx +285 -0
  234. package/src/components/pure/TestTable.tsx +88 -0
  235. package/src/components/pure/ToastNotification.tsx +19 -0
  236. package/src/components/pure/UserProfile.tsx +44 -0
  237. package/src/components/stateful/AuthCallbackPage.tsx +21 -0
  238. package/src/components/stateful/FeaturesReporter.tsx +3 -1
  239. package/src/components/stateful/FileTree.tsx +58 -58
  240. package/src/components/stateful/GitIntegrationPage.tsx +8 -0
  241. package/src/components/stateful/ProcessManagerPage.tsx +13 -17
  242. package/src/components/stateful/ProjectPage.tsx +6 -5
  243. package/src/components/stateful/ProjectsPage.tsx +17 -19
  244. package/src/components/stateful/SVGEditor/CircleForm.tsx +68 -0
  245. package/src/components/stateful/SVGEditor/GroupForm.tsx +56 -0
  246. package/src/components/stateful/SVGEditor/RectForm.tsx +74 -0
  247. package/src/components/stateful/SVGEditor/SVGAttributeField.tsx +29 -0
  248. package/src/components/stateful/SVGEditor/SVGAttributesEditor.tsx +73 -0
  249. package/src/components/stateful/SVGEditor/SVGEditorControls.tsx +45 -0
  250. package/src/components/stateful/SVGEditor/SVGElementForm.tsx +45 -0
  251. package/src/components/stateful/SVGEditor/SVGPreview.tsx +225 -0
  252. package/src/components/stateful/SVGEditor/SVGTextEditor.tsx +166 -0
  253. package/src/components/stateful/SVGEditor/SVGTree.tsx +159 -0
  254. package/src/components/stateful/SVGEditor/SVGTypes.ts +36 -0
  255. package/src/components/stateful/SVGEditor/svg.xsd.xml +3038 -0
  256. package/src/components/stateful/SVGEditorPage.tsx +503 -0
  257. package/src/components/stateful/SingleProcessPage.tsx +18 -31
  258. package/src/components/stateful/TestPage.tsx +25 -22
  259. package/src/golingvu/golingvu.go +38 -2
  260. package/src/hooks/useGitMode.ts +20 -0
  261. package/src/lib/BaseSuite.test/mock.ts +16 -10
  262. package/src/lib/BaseSuite.test/test.ts +144 -103
  263. package/src/lib/Tiposkripto.test/MockTiposkripto.ts +178 -14
  264. package/src/lib/Tiposkripto.test/Tiposkripto.adapter.ts +9 -14
  265. package/src/lib/Tiposkripto.test/Tiposkripto.implementation.ts +78 -38
  266. package/src/lib/Tiposkripto.test/Tiposkripto.specification.ts +51 -9
  267. package/src/lib/Tiposkripto.test/Tiposkripto.types.ts +5 -0
  268. package/src/lib/Tiposkripto.ts +27 -0
  269. package/src/lib/index.ts +7 -0
  270. package/src/lib/pmProxy.test/specification.ts +168 -166
  271. package/src/pitono/PM/__pycache__/python.cpython-313.pyc +0 -0
  272. package/src/pitono/__pycache__/Pitono.cpython-313.pyc +0 -0
  273. package/src/pitono/__pycache__/__init__.cpython-313.pyc +0 -0
  274. package/src/pitono/__pycache__/base_given.cpython-313.pyc +0 -0
  275. package/src/pitono/__pycache__/base_suite.cpython-313.pyc +0 -0
  276. package/src/pitono/__pycache__/base_then.cpython-313.pyc +0 -0
  277. package/src/pitono/__pycache__/base_when.cpython-313.pyc +0 -0
  278. package/src/pitono/__pycache__/core_generator.cpython-313.pyc +0 -0
  279. package/src/pitono/__pycache__/simple_adapter.cpython-313.pyc +0 -0
  280. package/src/pitono/__pycache__/types.cpython-313.pyc +0 -0
  281. package/src/services/FileService.ts +542 -0
  282. package/src/services/GitHubAuthService.ts +240 -0
  283. package/src/testeranto.ts +62 -140
  284. package/src/utils/api.ts +15 -13
  285. package/src/utils/gitTest.ts +29 -0
  286. package/src/utils.ts +21 -12
  287. package/testeranto/App.css +94 -121
  288. package/testeranto/App.js +44601 -11225
  289. package/testeranto/bundles/golang/core/Calculator.golingvu.go +53 -0
  290. package/testeranto/bundles/golang/core/Calculator.golingvu.golingvu.go +53 -0
  291. package/testeranto/bundles/node/core/chunk-RIM6RECA.mjs +1170 -0
  292. package/testeranto/bundles/node/core/chunk-VXVF7WFO.mjs +4321 -0
  293. package/testeranto/bundles/node/core/example/Calculator.test.mjs +503 -0
  294. package/testeranto/bundles/node/core/src/lib/BaseSuite.test/node.test.mjs +94 -1231
  295. package/testeranto/bundles/node/core/src/lib/TipoSkripto.test/TipoSkripto.mjs +574 -0
  296. package/testeranto/bundles/node/core/src/lib/pmProxy.test/index.mjs +482 -0
  297. package/testeranto/bundles/pure/core/chunk-XYOCRDEQ.mjs +1080 -0
  298. package/testeranto/bundles/pure/core/src/Pure.test.mjs +410 -0
  299. package/testeranto/bundles/pure/core/src/lib/BaseSuite.test/pure.test.mjs +93 -1146
  300. package/testeranto/bundles/python/core/Calculator.pitono.test.py +24 -0
  301. package/testeranto/bundles/python/core/test_example.py +24 -0
  302. package/testeranto/bundles/web/core/MPLUSRounded1c-Black-O75GP5JI.ttf +0 -0
  303. package/testeranto/bundles/web/core/MPLUSRounded1c-Bold-R524Q5BH.ttf +0 -0
  304. package/testeranto/bundles/web/core/MPLUSRounded1c-ExtraBold-C6GRMYVT.ttf +0 -0
  305. package/testeranto/bundles/web/core/MPLUSRounded1c-Light-WKN65Y2C.ttf +0 -0
  306. package/testeranto/bundles/web/core/MPLUSRounded1c-Medium-ZC4DWL7C.ttf +0 -0
  307. package/testeranto/bundles/web/core/MPLUSRounded1c-Regular-DT6EKZ3S.ttf +0 -0
  308. package/testeranto/bundles/web/core/MPLUSRounded1c-Thin-YWDNVG6M.ttf +0 -0
  309. package/testeranto/bundles/web/core/chunk-DFRN4SYZ.mjs +2297 -0
  310. package/testeranto/bundles/web/core/chunk-JMDLMADH.mjs +27996 -0
  311. package/testeranto/bundles/web/core/chunk-LQMU5NCG.mjs +3082 -0
  312. package/testeranto/bundles/web/core/chunk-Q5TONB2Z.mjs +6874 -0
  313. package/testeranto/bundles/web/core/src/components/pure/FeaturesReporterView.test/index.mjs +164 -0
  314. package/testeranto/bundles/web/core/src/components/pure/ModalContent.test/index.css +11697 -0
  315. package/testeranto/bundles/web/core/src/components/pure/ModalContent.test/index.mjs +336 -0
  316. package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.css +11697 -0
  317. package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.mjs +517 -0
  318. package/testeranto/bundles/web/core/src/lib/BaseSuite.test/web.test.mjs +107 -1134
  319. package/testeranto/metafiles/golang/core.json +3 -3
  320. package/testeranto/metafiles/node/core.json +474 -31
  321. package/testeranto/metafiles/pure/core.json +144 -28
  322. package/testeranto/metafiles/python/core.json +11 -0
  323. package/testeranto/metafiles/web/core.json +15829 -45
  324. package/testeranto/reports/core/config.json +40 -0
  325. package/testeranto/reports/core/src/Pure.test/pure/exit.log +0 -0
  326. package/testeranto/reports/core/src/Pure.test/pure/lint_errors.txt +0 -0
  327. package/testeranto/reports/core/src/Pure.test/pure/prompt.txt +14 -0
  328. package/testeranto/reports/core/src/Pure.test/pure/type_errors.txt +73 -0
  329. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/debug.log +0 -0
  330. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/error.log +91 -0
  331. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/exit.log +1 -0
  332. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/info.log +2 -0
  333. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/tests.json +68 -0
  334. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/warn.log +0 -0
  335. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/debug.log +0 -0
  336. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/error.log +30 -0
  337. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/exit.log +1 -0
  338. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/info.log +2 -0
  339. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/tests.json +88 -0
  340. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/warn.log +0 -0
  341. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/lint_errors.txt +0 -6
  342. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/prompt.txt +0 -11
  343. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/stdout.log +1 -0
  344. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/tests.json +1 -1
  345. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/type_errors.txt +35 -38
  346. package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/lint_errors.txt +0 -2
  347. package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/prompt.txt +0 -10
  348. package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/type_errors.txt +40 -38
  349. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/tests.json +1 -1
  350. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/exit.log +1 -0
  351. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/lint_errors.txt +0 -0
  352. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/message.txt +17 -0
  353. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/prompt.txt +17 -0
  354. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/stderr.log +55 -0
  355. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/stdout.log +191 -0
  356. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/type_errors.txt +71 -0
  357. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/exit.log +1 -0
  358. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/lint_errors.txt +15 -0
  359. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/message.txt +17 -0
  360. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/prompt.txt +17 -0
  361. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/stderr.log +20 -0
  362. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/stdout.log +4 -0
  363. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/type_errors.txt +49 -0
  364. package/testeranto/reports/core/summary.json +34 -6
  365. package/testeranto.config.ts +26 -20
  366. package/tsc.log +141 -91
  367. package/tsconfig.json +6 -2
  368. package/dist/types/design-editor/server.d.ts +0 -1
  369. package/testeranto/bundles/web/core/src/lib/BaseSuite.test/web.test.html +0 -15
  370. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/lint_errors.txt +0 -2
  371. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/prompt.txt +0 -25
  372. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/type_errors.txt +0 -56
  373. /package/testeranto/reports/core/src/{lib/BaseSuite.test/web.test/web → Pure.test/pure}/message.txt +0 -0
@@ -0,0 +1,517 @@
1
+ "use strict";
2
+ /* eslint-disable @typescript-eslint/ban-ts-comment */
3
+ /* eslint-disable no-async-promise-executor */
4
+ /* eslint-disable @typescript-eslint/no-explicit-any */
5
+ /* eslint-disable @typescript-eslint/no-unused-vars */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || (function () {
23
+ var ownKeys = function(o) {
24
+ ownKeys = Object.getOwnPropertyNames || function (o) {
25
+ var ar = [];
26
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
+ return ar;
28
+ };
29
+ return ownKeys(o);
30
+ };
31
+ return function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ })();
39
+ var __importDefault = (this && this.__importDefault) || function (mod) {
40
+ return (mod && mod.__esModule) ? mod : { "default": mod };
41
+ };
42
+ Object.defineProperty(exports, "__esModule", { value: true });
43
+ exports.PM_WithGit = void 0;
44
+ const url_1 = __importDefault(require("url"));
45
+ const PM_WithEslintAndTsc_js_1 = require("./PM_WithEslintAndTsc.js");
46
+ class PM_WithGit extends PM_WithEslintAndTsc_js_1.PM_WithEslintAndTsc {
47
+ constructor(configs, name, mode) {
48
+ super(configs, name, mode);
49
+ this.gitWatchTimeout = null;
50
+ this.gitWatcher = null;
51
+ }
52
+ // Override requestHandler to add Git-specific endpoints
53
+ requestHandler(req, res) {
54
+ const parsedUrl = url_1.default.parse(req.url || "/");
55
+ const pathname = parsedUrl.pathname || "/";
56
+ // Handle Git API endpoints
57
+ if (pathname === null || pathname === void 0 ? void 0 : pathname.startsWith("/api/git/")) {
58
+ this.handleGitApi(req, res);
59
+ return;
60
+ }
61
+ if (pathname === "/api/auth/github/token" && req.method === "POST") {
62
+ this.handleGitHubTokenExchange(req, res);
63
+ return;
64
+ }
65
+ // Handle GitHub OAuth callback
66
+ if (pathname === "/auth/github/callback") {
67
+ // Serve the callback HTML page
68
+ const callbackHtml = `
69
+ <!DOCTYPE html>
70
+ <html>
71
+ <head>
72
+ <title>GitHub Authentication - Testeranto</title>
73
+ <script>
74
+ // Extract the code from the URL and send it to the parent window
75
+ const urlParams = new URLSearchParams(window.location.search);
76
+ const code = urlParams.get('code');
77
+ const error = urlParams.get('error');
78
+
79
+ if (code) {
80
+ window.opener.postMessage({ type: 'github-auth-callback', code }, '*');
81
+ } else if (error) {
82
+ window.opener.postMessage({ type: 'github-auth-error', error }, '*');
83
+ }
84
+ window.close();
85
+ </script>
86
+ </head>
87
+ <body>
88
+ <p>Completing authentication...</p>
89
+ </body>
90
+ </html>`;
91
+ res.writeHead(200, { "Content-Type": "text/html" });
92
+ res.end(callbackHtml);
93
+ return;
94
+ }
95
+ // Call the parent class's requestHandler for all other requests
96
+ super.requestHandler(req, res);
97
+ }
98
+ // this method is also horrible
99
+ handleGitApi(req, res) {
100
+ const parsedUrl = url_1.default.parse(req.url || "/");
101
+ const pathname = parsedUrl.pathname || "/";
102
+ // Set CORS headers
103
+ res.setHeader("Access-Control-Allow-Origin", "*");
104
+ res.setHeader("Access-Control-Allow-Methods", "GET, POST, OPTIONS");
105
+ res.setHeader("Access-Control-Allow-Headers", "Content-Type");
106
+ if (req.method === "OPTIONS") {
107
+ res.writeHead(200);
108
+ res.end();
109
+ return;
110
+ }
111
+ try {
112
+ if (pathname === "/api/git/changes" && req.method === "GET") {
113
+ this.handleGitChanges(req, res);
114
+ }
115
+ else if (pathname === "/api/git/status" && req.method === "GET") {
116
+ this.handleGitFileStatus(req, res);
117
+ }
118
+ else if (pathname === "/api/git/commit" && req.method === "POST") {
119
+ this.handleGitCommit(req, res);
120
+ }
121
+ else if (pathname === "/api/git/push" && req.method === "POST") {
122
+ this.handleGitPush(req, res);
123
+ }
124
+ else if (pathname === "/api/git/pull" && req.method === "POST") {
125
+ this.handleGitPull(req, res);
126
+ }
127
+ else if (pathname === "/api/git/branch" && req.method === "GET") {
128
+ this.handleGitBranch(req, res);
129
+ }
130
+ else if (pathname === "/api/git/remote-status" &&
131
+ req.method === "GET") {
132
+ this.handleGitRemoteStatus(req, res);
133
+ }
134
+ else {
135
+ res.writeHead(404, { "Content-Type": "application/json" });
136
+ res.end(JSON.stringify({ error: "Not found" }));
137
+ }
138
+ }
139
+ catch (error) {
140
+ res.writeHead(500, { "Content-Type": "application/json" });
141
+ res.end(JSON.stringify({ error: "Internal server error" }));
142
+ }
143
+ }
144
+ async handleGitChanges(req, res) {
145
+ try {
146
+ const changes = await this.getGitChanges();
147
+ res.writeHead(200, { "Content-Type": "application/json" });
148
+ res.end(JSON.stringify(changes));
149
+ }
150
+ catch (error) {
151
+ res.writeHead(500, { "Content-Type": "application/json" });
152
+ res.end(JSON.stringify({ error: "Failed to get changes" }));
153
+ }
154
+ }
155
+ async handleGitFileStatus(req, res) {
156
+ const parsedUrl = url_1.default.parse(req.url || "/");
157
+ const query = parsedUrl.query || "";
158
+ const params = new URLSearchParams(query);
159
+ const path = params.get("path");
160
+ if (!path) {
161
+ res.writeHead(400, { "Content-Type": "application/json" });
162
+ res.end(JSON.stringify({ error: "Path parameter required" }));
163
+ return;
164
+ }
165
+ try {
166
+ const status = await this.getGitFileStatus(path);
167
+ res.writeHead(200, { "Content-Type": "application/json" });
168
+ res.end(JSON.stringify(status));
169
+ }
170
+ catch (error) {
171
+ res.writeHead(500, { "Content-Type": "application/json" });
172
+ res.end(JSON.stringify({ error: "Failed to get file status" }));
173
+ }
174
+ }
175
+ async handleGitCommit(req, res) {
176
+ let body = "";
177
+ req.on("data", (chunk) => {
178
+ body += chunk.toString();
179
+ });
180
+ req.on("end", async () => {
181
+ try {
182
+ const { message, description } = JSON.parse(body);
183
+ await this.executeGitCommit(message, description);
184
+ res.writeHead(200, { "Content-Type": "application/json" });
185
+ res.end(JSON.stringify({ success: true }));
186
+ }
187
+ catch (error) {
188
+ res.writeHead(500, { "Content-Type": "application/json" });
189
+ res.end(JSON.stringify({ error: "Failed to commit" }));
190
+ }
191
+ });
192
+ }
193
+ async handleGitPush(req, res) {
194
+ try {
195
+ await this.executeGitPush();
196
+ res.writeHead(200, { "Content-Type": "application/json" });
197
+ res.end(JSON.stringify({ success: true }));
198
+ }
199
+ catch (error) {
200
+ res.writeHead(500, { "Content-Type": "application/json" });
201
+ res.end(JSON.stringify({ error: "Failed to push" }));
202
+ }
203
+ }
204
+ async handleGitPull(req, res) {
205
+ try {
206
+ await this.executeGitPull();
207
+ res.writeHead(200, { "Content-Type": "application/json" });
208
+ res.end(JSON.stringify({ success: true }));
209
+ }
210
+ catch (error) {
211
+ res.writeHead(500, { "Content-Type": "application/json" });
212
+ res.end(JSON.stringify({ error: "Failed to pull" }));
213
+ }
214
+ }
215
+ async handleGitBranch(req, res) {
216
+ try {
217
+ const branch = await this.getCurrentGitBranch();
218
+ res.writeHead(200, { "Content-Type": "text/plain" });
219
+ res.end(branch);
220
+ }
221
+ catch (error) {
222
+ res.writeHead(500, { "Content-Type": "application/json" });
223
+ res.end(JSON.stringify({ error: "Failed to get branch" }));
224
+ }
225
+ }
226
+ async handleGitHubTokenExchange(req, res) {
227
+ let body = "";
228
+ req.on("data", (chunk) => {
229
+ body += chunk.toString();
230
+ });
231
+ req.on("end", async () => {
232
+ try {
233
+ const { code } = JSON.parse(body);
234
+ // Exchange code for access token
235
+ const tokenResponse = await fetch("https://github.com/login/oauth/access_token", {
236
+ method: "POST",
237
+ headers: {
238
+ Accept: "application/json",
239
+ "Content-Type": "application/json",
240
+ },
241
+ body: JSON.stringify({
242
+ client_id: process.env.GITHUB_CLIENT_ID,
243
+ client_secret: process.env.GITHUB_CLIENT_SECRET,
244
+ code,
245
+ }),
246
+ });
247
+ const tokenData = await tokenResponse.json();
248
+ if (tokenData.error) {
249
+ res.writeHead(400, { "Content-Type": "application/json" });
250
+ res.end(JSON.stringify({ error: tokenData.error_description }));
251
+ return;
252
+ }
253
+ res.writeHead(200, { "Content-Type": "application/json" });
254
+ res.end(JSON.stringify({ access_token: tokenData.access_token }));
255
+ }
256
+ catch (error) {
257
+ res.writeHead(500, { "Content-Type": "application/json" });
258
+ res.end(JSON.stringify({ error: "Failed to exchange token" }));
259
+ }
260
+ });
261
+ }
262
+ async handleGitRemoteStatus(req, res) {
263
+ try {
264
+ const status = await this.getGitRemoteStatus();
265
+ res.writeHead(200, { "Content-Type": "application/json" });
266
+ res.end(JSON.stringify(status));
267
+ }
268
+ catch (error) {
269
+ res.writeHead(500, { "Content-Type": "application/json" });
270
+ res.end(JSON.stringify({ error: "Failed to get remote status" }));
271
+ }
272
+ }
273
+ async getGitFileStatus(path) {
274
+ try {
275
+ const changes = await this.getGitChanges();
276
+ const fileChange = changes.find((change) => change.path === path);
277
+ if (fileChange) {
278
+ return { status: fileChange.status };
279
+ }
280
+ return { status: "unchanged" };
281
+ }
282
+ catch (error) {
283
+ console.error("Failed to get file status:", error);
284
+ return { status: "unchanged" };
285
+ }
286
+ }
287
+ async executeGitCommit(message, description) {
288
+ try {
289
+ const { exec } = await Promise.resolve().then(() => __importStar(require("child_process")));
290
+ const fullMessage = description
291
+ ? `${message}\n\n${description}`
292
+ : message;
293
+ return new Promise((resolve, reject) => {
294
+ // Stage all changes first
295
+ exec("git add -A", { cwd: process.cwd() }, (error) => {
296
+ if (error) {
297
+ reject(new Error(`Failed to stage changes: ${error.message}`));
298
+ return;
299
+ }
300
+ // Commit with message
301
+ const commitCommand = `git commit -m "${fullMessage.replace(/"/g, '\\"')}"`;
302
+ exec(commitCommand, { cwd: process.cwd() }, (commitError) => {
303
+ if (commitError) {
304
+ reject(new Error(`Failed to commit: ${commitError.message}`));
305
+ return;
306
+ }
307
+ resolve();
308
+ });
309
+ });
310
+ });
311
+ }
312
+ catch (error) {
313
+ throw new Error(`Failed to execute commit: ${error instanceof Error ? error.message : "Unknown error"}`);
314
+ }
315
+ }
316
+ async executeGitPush() {
317
+ try {
318
+ const { exec } = await Promise.resolve().then(() => __importStar(require("child_process")));
319
+ return new Promise((resolve, reject) => {
320
+ exec("git push", { cwd: process.cwd() }, (error) => {
321
+ if (error) {
322
+ reject(new Error(`Failed to push: ${error.message}`));
323
+ return;
324
+ }
325
+ resolve();
326
+ });
327
+ });
328
+ }
329
+ catch (error) {
330
+ throw new Error(`Failed to execute push: ${error instanceof Error ? error.message : "Unknown error"}`);
331
+ }
332
+ }
333
+ async executeGitPull() {
334
+ try {
335
+ const { exec } = await Promise.resolve().then(() => __importStar(require("child_process")));
336
+ return new Promise((resolve, reject) => {
337
+ exec("git pull", { cwd: process.cwd() }, (error) => {
338
+ if (error) {
339
+ reject(new Error(`Failed to pull: ${error.message}`));
340
+ return;
341
+ }
342
+ resolve();
343
+ });
344
+ });
345
+ }
346
+ catch (error) {
347
+ throw new Error(`Failed to execute pull: ${error instanceof Error ? error.message : "Unknown error"}`);
348
+ }
349
+ }
350
+ // private async sendInitialState(ws: WebSocket) {
351
+ // try {
352
+ // const changes = await this.getGitChanges();
353
+ // const status = await this.getGitRemoteStatus();
354
+ // const branch = await this.getCurrentGitBranch();
355
+ // ws.send(JSON.stringify({ type: "changes", changes }));
356
+ // ws.send(JSON.stringify({ type: "status", status }));
357
+ // ws.send(JSON.stringify({ type: "branch", branch }));
358
+ // } catch (error) {
359
+ // console.error("Error sending initial state:", error);
360
+ // ws.send(
361
+ // JSON.stringify({
362
+ // type: "error",
363
+ // message: "Failed to get Git status",
364
+ // })
365
+ // );
366
+ // }
367
+ // }
368
+ // private async refreshGitStatus() {
369
+ // try {
370
+ // const changes = await this.getGitChanges();
371
+ // const status = await this.getGitRemoteStatus();
372
+ // const branch = await this.getCurrentGitBranch();
373
+ // this.broadcast({ type: "changes", changes });
374
+ // this.broadcast({ type: "status", status });
375
+ // this.broadcast({ type: "branch", branch });
376
+ // } catch (error) {
377
+ // console.error("Error refreshing Git status:", error);
378
+ // }
379
+ // }
380
+ onBuildDone() {
381
+ console.log("Build processes completed");
382
+ // The builds are done, which means the files are ready to be watched
383
+ // This matches the original behavior where builds completed before PM_Main started
384
+ // Start Git watcher for development mode
385
+ this.startGitWatcher();
386
+ }
387
+ async startGitWatcher() {
388
+ console.log("Starting Git watcher for real-time updates");
389
+ // Watch for file system changes in the current directory
390
+ const watcher = (await Promise.resolve().then(() => __importStar(require("fs")))).watch(process.cwd(), { recursive: true }, async (eventType, filename) => {
391
+ if (filename && !filename.includes(".git")) {
392
+ try {
393
+ // Debounce the Git status check
394
+ clearTimeout(this.gitWatchTimeout);
395
+ this.gitWatchTimeout = setTimeout(async () => {
396
+ const changes = await this.getGitChanges();
397
+ const status = await this.getGitRemoteStatus();
398
+ const branch = await this.getCurrentGitBranch();
399
+ this.broadcast({ type: "changes", changes });
400
+ this.broadcast({ type: "status", status });
401
+ this.broadcast({ type: "branch", branch });
402
+ }, 500); // Wait 500ms after last change
403
+ }
404
+ catch (error) {
405
+ console.error("Error checking Git status:", error);
406
+ }
407
+ }
408
+ });
409
+ // Also set up a periodic check in case file watching misses something
410
+ setInterval(async () => {
411
+ try {
412
+ const changes = await this.getGitChanges();
413
+ const status = await this.getGitRemoteStatus();
414
+ const branch = await this.getCurrentGitBranch();
415
+ this.broadcast({ type: "changes", changes });
416
+ this.broadcast({ type: "status", status });
417
+ this.broadcast({ type: "branch", branch });
418
+ }
419
+ catch (error) {
420
+ console.error("Error checking Git status:", error);
421
+ }
422
+ }, 10000); // Check every 10 seconds as a fallback
423
+ this.gitWatcher = watcher;
424
+ }
425
+ async getGitChanges() {
426
+ try {
427
+ // Use git status --porcelain to get machine-readable output
428
+ const { exec } = await Promise.resolve().then(() => __importStar(require("child_process")));
429
+ return new Promise((resolve, reject) => {
430
+ exec("git status --porcelain", { cwd: process.cwd() }, (error, stdout, stderr) => {
431
+ if (error) {
432
+ console.error("Error getting git changes:", error);
433
+ resolve([]);
434
+ return;
435
+ }
436
+ const changes = [];
437
+ const lines = stdout.trim().split("\n");
438
+ for (const line of lines) {
439
+ if (!line.trim())
440
+ continue;
441
+ // Parse git status output (XY PATH)
442
+ const status = line.substring(0, 2).trim();
443
+ const path = line.substring(3).trim();
444
+ let fileStatus = "unchanged";
445
+ if (status.startsWith("M")) {
446
+ fileStatus = "modified";
447
+ }
448
+ else if (status.startsWith("A")) {
449
+ fileStatus = "added";
450
+ }
451
+ else if (status.startsWith("D")) {
452
+ fileStatus = "deleted";
453
+ }
454
+ else if (status.startsWith("U") || status.includes("U")) {
455
+ fileStatus = "conflicted";
456
+ }
457
+ else if (status.startsWith("??")) {
458
+ fileStatus = "added";
459
+ }
460
+ if (fileStatus !== "unchanged") {
461
+ changes.push({
462
+ path,
463
+ status: fileStatus,
464
+ });
465
+ }
466
+ }
467
+ resolve(changes);
468
+ });
469
+ });
470
+ }
471
+ catch (error) {
472
+ console.error("Failed to get git changes:", error);
473
+ return [];
474
+ }
475
+ }
476
+ async getGitRemoteStatus() {
477
+ try {
478
+ const { exec } = await Promise.resolve().then(() => __importStar(require("child_process")));
479
+ return new Promise((resolve) => {
480
+ // Get ahead/behind status for current branch
481
+ exec("git rev-list --left-right --count HEAD...@{u}", { cwd: process.cwd() }, (error, stdout, stderr) => {
482
+ if (error) {
483
+ // If there's no upstream branch, return 0 for both
484
+ resolve({ ahead: 0, behind: 0 });
485
+ return;
486
+ }
487
+ const [behind, ahead] = stdout.trim().split("\t").map(Number);
488
+ resolve({ ahead, behind });
489
+ });
490
+ });
491
+ }
492
+ catch (error) {
493
+ console.error("Failed to get remote status:", error);
494
+ return { ahead: 0, behind: 0 };
495
+ }
496
+ }
497
+ async getCurrentGitBranch() {
498
+ try {
499
+ const { exec } = await Promise.resolve().then(() => __importStar(require("child_process")));
500
+ return new Promise((resolve) => {
501
+ exec("git branch --show-current", { cwd: process.cwd() }, (error, stdout, stderr) => {
502
+ if (error) {
503
+ console.error("Error getting current branch:", error);
504
+ resolve("main");
505
+ return;
506
+ }
507
+ resolve(stdout.trim() || "main");
508
+ });
509
+ });
510
+ }
511
+ catch (error) {
512
+ console.error("Failed to get current branch:", error);
513
+ return "main";
514
+ }
515
+ }
516
+ }
517
+ exports.PM_WithGit = PM_WithGit;