testeranto 0.203.0 → 0.206.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 (1148) hide show
  1. package/.vscode/settings.json +1 -0
  2. package/Dockerfile.golang +14 -0
  3. package/Dockerfile.mothership +21 -0
  4. package/Dockerfile.node +11 -0
  5. package/Dockerfile.python +19 -0
  6. package/Dockerfile.web +9 -0
  7. package/README.md +3 -1
  8. package/bundle.js +7 -15
  9. package/dist/cjs-shim.js +14 -0
  10. package/dist/common/design-editor/DesignEditor.js +77 -0
  11. package/dist/common/design-editor/index.js +18 -0
  12. package/dist/common/design-editor/server.js +98 -0
  13. package/dist/common/design-editor/types.js +2 -0
  14. package/dist/common/example/Calculator.js +105 -0
  15. package/dist/common/example/Calculator.test.adapter.js +39 -0
  16. package/dist/common/example/Calculator.test.implementation.js +50 -0
  17. package/dist/common/example/Calculator.test.js +11 -0
  18. package/dist/common/example/Calculator.test.specification.js +92 -0
  19. package/dist/common/example/Calculator.test.types.js +3 -0
  20. package/dist/common/package.json +3 -0
  21. package/dist/common/scripts/build-example.js +105 -0
  22. package/dist/common/src/CoreTypes.js +2 -0
  23. package/dist/common/src/Helpo.js +55 -0
  24. package/dist/common/src/Init.js +56 -0
  25. package/dist/common/src/Node.js +39 -0
  26. package/dist/common/src/NodeSidecar.js +15 -0
  27. package/dist/common/src/PM/__tests__/nodeSidecar.testeranto.js +108 -0
  28. package/dist/common/src/PM/__tests__/pureSidecar.testeranto.js +93 -0
  29. package/dist/common/src/PM/__tests__/webSidecar.testeranto.js +93 -0
  30. package/dist/common/src/PM/golingvuBuild.js +46 -0
  31. package/dist/common/src/PM/index.js +6 -0
  32. package/dist/common/src/PM/node.js +179 -0
  33. package/dist/common/src/PM/nodeSidecar.js +65 -0
  34. package/dist/common/src/PM/pitonoBuild.js +46 -0
  35. package/dist/common/src/PM/pitonoRunner.js +54 -0
  36. package/dist/common/src/PM/pure.js +103 -0
  37. package/dist/common/src/PM/pureSidecar.js +48 -0
  38. package/dist/common/src/PM/sidecar.js +11 -0
  39. package/dist/common/src/PM/types.js +2 -0
  40. package/dist/common/src/PM/utils.js +217 -0
  41. package/dist/common/src/PM/web.js +102 -0
  42. package/dist/common/src/PM/webSidecar.js +47 -0
  43. package/dist/common/src/Pure.js +38 -0
  44. package/dist/common/src/Pure.test.js +175 -0
  45. package/dist/common/src/PureSidecar.js +13 -0
  46. package/dist/common/src/Types.js +2 -0
  47. package/dist/common/src/Web.js +27 -0
  48. package/dist/common/src/WebSidecar.js +13 -0
  49. package/dist/common/src/app/FileService.js +25 -0
  50. package/dist/common/src/app/api.js +73 -0
  51. package/dist/common/src/app/backend/PM_0.js +320 -0
  52. package/dist/common/src/app/backend/PM_1_WithProcesses.js +924 -0
  53. package/dist/common/src/app/backend/PM_2_WithTCP.js +246 -0
  54. package/dist/common/src/app/backend/PM_WithBuild.js +120 -0
  55. package/dist/common/src/app/backend/PM_WithEslintAndTsc.js +133 -0
  56. package/dist/common/src/app/backend/PM_WithGit.js +586 -0
  57. package/dist/common/src/app/backend/PM_WithHelpo.js +258 -0
  58. package/dist/common/src/app/backend/PM_WithProcesses.js +1083 -0
  59. package/dist/common/src/app/backend/PM_WithTCP.js +388 -0
  60. package/dist/common/src/app/backend/getAllFilesRecursively.js +22 -0
  61. package/dist/common/src/app/backend/main.js +805 -0
  62. package/dist/common/src/app/backend/makePrompt.js +73 -0
  63. package/dist/common/src/app/backend/utils.js +144 -0
  64. package/dist/common/src/app/frontend/App.js +206 -0
  65. package/dist/common/src/app/frontend/DevelopmentFileService.js +98 -0
  66. package/dist/common/src/app/frontend/GitFileService.js +262 -0
  67. package/dist/common/src/app/frontend/GitHubAuthService.js +184 -0
  68. package/dist/common/src/app/frontend/api.js +93 -0
  69. package/dist/common/src/app/frontend/components/DesignEditorPage.js +208 -0
  70. package/dist/common/src/app/frontend/components/SunriseAnimation.js +291 -0
  71. package/dist/common/src/app/frontend/components/SunriseAnimation.test/implementation.js +1 -0
  72. package/dist/common/src/app/frontend/components/SunriseAnimation.test/index.js +1 -0
  73. package/dist/common/src/app/frontend/components/SunriseAnimation.test/interface.js +68 -0
  74. package/dist/common/src/app/frontend/components/SunriseAnimation.test/specification.js +1 -0
  75. package/dist/common/src/app/frontend/components/SunriseAnimation.test/types.js +2 -0
  76. package/dist/common/src/app/frontend/components/TestStatusBadge.js +35 -0
  77. package/dist/common/src/app/frontend/components/pure/AppFrame.js +177 -0
  78. package/dist/common/src/app/frontend/components/pure/AppFrame.test/implementation.js +63 -0
  79. package/dist/common/src/app/frontend/components/pure/AppFrame.test/index.js +14 -0
  80. package/dist/common/src/app/frontend/components/pure/AppFrame.test/specification.js +25 -0
  81. package/dist/common/src/app/frontend/components/pure/AppFrame.test/types.js +3 -0
  82. package/dist/common/src/app/frontend/components/pure/ArtifactTree.js +80 -0
  83. package/dist/common/src/app/frontend/components/pure/BuildLogViewer.js +106 -0
  84. package/dist/common/src/app/frontend/components/pure/DebugEnv.js +30 -0
  85. package/dist/common/src/app/frontend/components/pure/FeaturesReporterView.js +23 -0
  86. package/dist/common/src/app/frontend/components/pure/FeaturesReporterView.test/implementation.js +84 -0
  87. package/dist/common/src/app/frontend/components/pure/FeaturesReporterView.test/index.js +14 -0
  88. package/dist/common/src/app/frontend/components/pure/FeaturesReporterView.test/specification.js +27 -0
  89. package/dist/common/src/app/frontend/components/pure/FeaturesReporterView.test/types.js +2 -0
  90. package/dist/common/src/app/frontend/components/pure/FileTree.js +34 -0
  91. package/dist/common/src/app/frontend/components/pure/FileTreeItem.js +29 -0
  92. package/dist/common/src/app/frontend/components/pure/GitHubLoginButton.js +18 -0
  93. package/dist/common/src/app/frontend/components/pure/GitIntegrationView.js +383 -0
  94. package/dist/common/src/app/frontend/components/pure/HelpoChatDrawer.js +179 -0
  95. package/dist/common/src/app/frontend/components/pure/MagicRobotModal.js +73 -0
  96. package/dist/common/src/app/frontend/components/pure/ModalContent.js +86 -0
  97. package/dist/common/src/app/frontend/components/pure/ModalContent.test/implementation.js +35 -0
  98. package/dist/common/src/app/frontend/components/pure/ModalContent.test/index.js +61 -0
  99. package/dist/common/src/app/frontend/components/pure/ModalContent.test/specification.js +19 -0
  100. package/dist/common/src/app/frontend/components/pure/ModalContent.test/types.js +4 -0
  101. package/dist/common/src/app/frontend/components/pure/NavBar.js +45 -0
  102. package/dist/common/src/app/frontend/components/pure/ProcessDetails.js +49 -0
  103. package/dist/common/src/app/frontend/components/pure/ProcessInput.js +62 -0
  104. package/dist/common/src/app/frontend/components/pure/ProcessList.js +52 -0
  105. package/dist/common/src/app/frontend/components/pure/ProcessLogs.js +67 -0
  106. package/dist/common/src/app/frontend/components/pure/ProcessManager.js +113 -0
  107. package/dist/common/src/app/frontend/components/pure/ProcessManagerView.js +82 -0
  108. package/dist/common/src/app/frontend/components/pure/ProcessManagerViewTypes.js +2 -0
  109. package/dist/common/src/app/frontend/components/pure/ProcessSidebar.js +56 -0
  110. package/dist/common/src/app/frontend/components/pure/ProcessTerminal.js +62 -0
  111. package/dist/common/src/app/frontend/components/pure/ProjectPageView.js +69 -0
  112. package/dist/common/src/app/frontend/components/pure/ProjectPageView.test/implementation.js +185 -0
  113. package/dist/common/src/app/frontend/components/pure/ProjectPageView.test/index.js +14 -0
  114. package/dist/common/src/app/frontend/components/pure/ProjectPageView.test/specification.js +32 -0
  115. package/dist/common/src/app/frontend/components/pure/ProjectPageView.test/types.js +4 -0
  116. package/dist/common/src/app/frontend/components/pure/ProjectsPageView.js +72 -0
  117. package/dist/common/src/app/frontend/components/pure/Settings.js +122 -0
  118. package/dist/common/src/app/frontend/components/pure/Settings.test.js +30 -0
  119. package/dist/common/src/app/frontend/components/pure/SettingsButton.js +13 -0
  120. package/dist/common/src/app/frontend/components/pure/SignIn.js +22 -0
  121. package/dist/common/src/app/frontend/components/pure/SingleProcessView.js +126 -0
  122. package/dist/common/src/app/frontend/components/pure/TerminalInput.js +76 -0
  123. package/dist/common/src/app/frontend/components/pure/TerminalLogs.js +80 -0
  124. package/dist/common/src/app/frontend/components/pure/TestTable.js +33 -0
  125. package/dist/common/src/app/frontend/components/pure/ThemeCard.js +15 -0
  126. package/dist/common/src/app/frontend/components/pure/ToastNotification.js +14 -0
  127. package/dist/common/src/app/frontend/components/pure/UserProfile.js +27 -0
  128. package/dist/common/src/app/frontend/components/stateful/AuthCallbackPage.js +51 -0
  129. package/dist/common/src/app/frontend/components/stateful/DratoPage.js +319 -0
  130. package/dist/common/src/app/frontend/components/stateful/FeaturesReporter.js +22 -0
  131. package/dist/common/src/app/frontend/components/stateful/FileTree.js +59 -0
  132. package/dist/common/src/app/frontend/components/stateful/GenericXMLEditor/AttributeEditor.js +51 -0
  133. package/dist/common/src/app/frontend/components/stateful/GenericXMLEditor/Drawer.js +152 -0
  134. package/dist/common/src/app/frontend/components/stateful/GenericXMLEditor/GenericPreview.js +156 -0
  135. package/dist/common/src/app/frontend/components/stateful/GenericXMLEditor/GenericTextEditor.js +169 -0
  136. package/dist/common/src/app/frontend/components/stateful/GenericXMLEditor/GenericTree.js +30 -0
  137. package/dist/common/src/app/frontend/components/stateful/GenericXMLEditorPage.js +306 -0
  138. package/dist/common/src/app/frontend/components/stateful/GitIntegrationPage.js +252 -0
  139. package/dist/common/src/app/frontend/components/stateful/GrafeoPage.js +437 -0
  140. package/dist/common/src/app/frontend/components/stateful/ProcessManagerPage.js +113 -0
  141. package/dist/common/src/app/frontend/components/stateful/ProjectPage.js +108 -0
  142. package/dist/common/src/app/frontend/components/stateful/ProjectsPage.js +136 -0
  143. package/dist/common/src/app/frontend/components/stateful/SVGEditor/CircleForm.js +24 -0
  144. package/dist/common/src/app/frontend/components/stateful/SVGEditor/GroupForm.js +22 -0
  145. package/dist/common/src/app/frontend/components/stateful/SVGEditor/RectForm.js +25 -0
  146. package/dist/common/src/app/frontend/components/stateful/SVGEditor/SVGAttributeField.js +15 -0
  147. package/dist/common/src/app/frontend/components/stateful/SVGEditor/SVGAttributesEditor.js +87 -0
  148. package/dist/common/src/app/frontend/components/stateful/SVGEditor/SVGEditorControls.js +23 -0
  149. package/dist/common/src/app/frontend/components/stateful/SVGEditor/SVGElementForm.js +23 -0
  150. package/dist/common/src/app/frontend/components/stateful/SVGEditor/SVGPreview.js +178 -0
  151. package/dist/common/src/app/frontend/components/stateful/SVGEditor/SVGTextEditor.js +155 -0
  152. package/dist/common/src/app/frontend/components/stateful/SVGEditor/SVGTree.js +105 -0
  153. package/dist/common/src/app/frontend/components/stateful/SVGEditor/SVGTypes.js +2 -0
  154. package/dist/common/src/app/frontend/components/stateful/SVGEditorPage.js +437 -0
  155. package/dist/common/src/app/frontend/components/stateful/SettingsPage.js +72 -0
  156. package/dist/common/src/app/frontend/components/stateful/SingleProcessPage.js +134 -0
  157. package/dist/common/src/app/frontend/components/stateful/SkriboPage.js +517 -0
  158. package/dist/common/src/app/frontend/components/stateful/TextEditorPage.js +154 -0
  159. package/dist/common/src/app/frontend/fetchDataUtil.js +187 -0
  160. package/dist/common/src/app/frontend/flua/FluaPage.js +378 -0
  161. package/dist/common/src/app/frontend/testPage/ITestPageViewProps.js +2 -0
  162. package/dist/common/src/app/frontend/testPage/ProjectsTree.js +179 -0
  163. package/dist/common/src/app/frontend/testPage/TestPage.js +85 -0
  164. package/dist/common/src/app/frontend/testPage/TestPageLeftContent.js +48 -0
  165. package/dist/common/src/app/frontend/testPage/TestPageMainContent.js +82 -0
  166. package/dist/common/src/app/frontend/testPage/TestPageNavbar.js +33 -0
  167. package/dist/common/src/app/frontend/testPage/TestPageView.js +352 -0
  168. package/dist/common/src/app/frontend/testPage/TestPageView.test/implementation.js +158 -0
  169. package/dist/common/src/app/frontend/testPage/TestPageView.test/index.js +15 -0
  170. package/dist/common/src/app/frontend/testPage/TestPageView.test/specification.js +27 -0
  171. package/dist/common/src/app/frontend/testPage/TestPageView.test/types.js +4 -0
  172. package/dist/common/src/app/frontend/testPage/TestPageView_utils.js +128 -0
  173. package/dist/common/src/app/frontend/useFileSystemSync.js +108 -0
  174. package/dist/common/src/app/frontend/useFs.js +16 -0
  175. package/dist/common/src/app/frontend/useGitMode.js +20 -0
  176. package/dist/common/src/app/frontend/useTerminalWebSocket.js +44 -0
  177. package/dist/common/src/app/frontend/useWebSocket.js +16 -0
  178. package/dist/common/src/app/types.js +2 -0
  179. package/dist/common/src/builders/golang.js +30 -0
  180. package/dist/common/src/builders/node.js +35 -0
  181. package/dist/common/src/builders/python.js +28 -0
  182. package/dist/common/src/builders/web.js +35 -0
  183. package/dist/common/src/defaultConfig.js +19 -0
  184. package/dist/common/src/esbuildConfigs/consoleDetectorPlugin.js +38 -0
  185. package/dist/common/src/esbuildConfigs/eslint-formatter-testeranto.js +21 -0
  186. package/dist/common/src/esbuildConfigs/featuresPlugin.js +39 -0
  187. package/dist/common/src/esbuildConfigs/index.js +21 -0
  188. package/dist/common/src/esbuildConfigs/inputFilesPlugin.js +30 -0
  189. package/dist/common/src/esbuildConfigs/nativeImportDetectorPlugin.js +24 -0
  190. package/dist/common/src/esbuildConfigs/node.js +26 -0
  191. package/dist/common/src/esbuildConfigs/pure.js +42 -0
  192. package/dist/common/src/esbuildConfigs/rebuildPlugin.js +19 -0
  193. package/dist/common/src/esbuildConfigs/web.js +48 -0
  194. package/dist/common/src/init-docs.js +9 -0
  195. package/dist/common/src/lib/BaseGiven.js +176 -0
  196. package/dist/common/src/lib/BaseSuite.js +138 -0
  197. package/dist/common/src/lib/BaseSuite.test/mock.js +68 -0
  198. package/dist/common/src/lib/BaseSuite.test/node.test.js +10 -0
  199. package/dist/common/src/lib/BaseSuite.test/pure.test.js +10 -0
  200. package/dist/common/src/lib/BaseSuite.test/test.js +184 -0
  201. package/dist/common/src/lib/BaseSuite.test/web.test.js +10 -0
  202. package/dist/common/src/lib/BaseThen.js +63 -0
  203. package/dist/common/src/lib/BaseWhen.js +47 -0
  204. package/dist/common/src/lib/Sidecar.js +7 -0
  205. package/dist/common/src/lib/Tiposkripto.js +188 -0
  206. package/dist/common/src/lib/Tiposkripto.test/MockTiposkripto.js +170 -0
  207. package/dist/common/src/lib/Tiposkripto.test/Tiposkripto.adapter.js +29 -0
  208. package/dist/common/src/lib/Tiposkripto.test/Tiposkripto.implementation.js +215 -0
  209. package/dist/common/src/lib/Tiposkripto.test/Tiposkripto.js +11 -0
  210. package/dist/common/src/lib/Tiposkripto.test/Tiposkripto.specification.js +53 -0
  211. package/dist/common/src/lib/Tiposkripto.test/Tiposkripto.types.js +2 -0
  212. package/dist/common/src/lib/abstractBase.test/MockGiven.js +24 -0
  213. package/dist/common/src/lib/abstractBase.test/MockThen.js +16 -0
  214. package/dist/common/src/lib/abstractBase.test/MockWhen.js +20 -0
  215. package/dist/common/src/lib/abstractBase.test/adapter.js +24 -0
  216. package/dist/common/src/lib/abstractBase.test/implementation.js +38 -0
  217. package/dist/common/src/lib/abstractBase.test/index.js +18 -0
  218. package/dist/common/src/lib/abstractBase.test/specification.js +19 -0
  219. package/dist/common/src/lib/abstractBase.test/types.js +2 -0
  220. package/dist/common/src/lib/index.js +31 -0
  221. package/dist/common/src/lib/pmProxy.js +260 -0
  222. package/dist/common/src/lib/pmProxy.test/adapter.js +54 -0
  223. package/dist/common/src/lib/pmProxy.test/implementation.js +130 -0
  224. package/dist/common/src/lib/pmProxy.test/index.js +13 -0
  225. package/dist/common/src/lib/pmProxy.test/mockPM.js +35 -0
  226. package/dist/common/src/lib/pmProxy.test/mockPMBase.js +131 -0
  227. package/dist/common/src/lib/pmProxy.test/specification.js +178 -0
  228. package/dist/common/src/lib/pmProxy.test/types.js +2 -0
  229. package/dist/common/src/lib/types.js +3 -0
  230. package/dist/common/src/mothership/mothership.js +197 -0
  231. package/dist/common/src/mothership/test.js +85 -0
  232. package/dist/common/src/run.js +49 -0
  233. package/dist/common/src/testeranto.js +212 -0
  234. package/dist/common/src/utils/buildTemplates.js +37 -0
  235. package/dist/common/src/utils/generateGolingvuMetafile.js +157 -0
  236. package/dist/common/src/utils/golingvuMetafile/fileDiscovery.js +142 -0
  237. package/dist/common/src/utils/golingvuMetafile/goList.js +103 -0
  238. package/dist/common/src/utils/golingvuMetafile/helpers.js +68 -0
  239. package/dist/common/src/utils/golingvuMetafile/importParser.js +89 -0
  240. package/dist/common/src/utils/golingvuMetafile/types.js +3 -0
  241. package/dist/common/src/utils/golingvuMetafile.js +9 -0
  242. package/dist/common/src/utils/golingvuWatcher.js +233 -0
  243. package/dist/common/src/utils/logFiles.js +60 -0
  244. package/dist/common/src/utils/pitonoMetafile.js +247 -0
  245. package/dist/common/src/utils/pitonoWatcher.js +130 -0
  246. package/dist/common/src/utils/queue.js +36 -0
  247. package/dist/common/src/utils/writeGolingvuMetafile.js +324 -0
  248. package/dist/common/src/web.html.js +18 -0
  249. package/dist/common/testeranto.config.js +91 -0
  250. package/dist/common/tsconfig.common.tsbuildinfo +1 -0
  251. package/dist/module/design-editor/DesignEditor.js +40 -0
  252. package/dist/module/design-editor/index.js +2 -0
  253. package/dist/module/design-editor/server.js +92 -0
  254. package/dist/module/design-editor/types.js +1 -0
  255. package/dist/module/example/Calculator.js +101 -0
  256. package/dist/module/example/Calculator.test.adapter.js +36 -0
  257. package/dist/module/example/Calculator.test.implementation.js +47 -0
  258. package/dist/module/example/Calculator.test.js +6 -0
  259. package/dist/module/example/Calculator.test.specification.js +88 -0
  260. package/dist/module/example/Calculator.test.types.js +2 -0
  261. package/dist/module/package.json +3 -0
  262. package/dist/module/scripts/build-example.js +100 -0
  263. package/dist/module/src/CoreTypes.js +1 -0
  264. package/dist/module/src/Helpo.js +48 -0
  265. package/dist/module/src/Init.js +51 -0
  266. package/dist/module/src/Node.js +32 -0
  267. package/dist/module/src/NodeSidecar.js +11 -0
  268. package/dist/module/src/PM/__tests__/nodeSidecar.testeranto.js +103 -0
  269. package/dist/module/src/PM/__tests__/pureSidecar.testeranto.js +88 -0
  270. package/dist/module/src/PM/__tests__/webSidecar.testeranto.js +88 -0
  271. package/dist/module/src/PM/golingvuBuild.js +42 -0
  272. package/dist/module/src/PM/index.js +2 -0
  273. package/dist/module/src/PM/node.js +172 -0
  274. package/dist/module/src/PM/nodeSidecar.js +58 -0
  275. package/dist/module/src/PM/pitonoBuild.js +42 -0
  276. package/dist/module/src/PM/pitonoRunner.js +47 -0
  277. package/dist/module/src/PM/pure.js +99 -0
  278. package/dist/module/src/PM/pureSidecar.js +41 -0
  279. package/dist/module/src/PM/sidecar.js +7 -0
  280. package/dist/module/src/PM/types.js +1 -0
  281. package/dist/module/src/PM/utils.js +203 -0
  282. package/dist/module/src/PM/web.js +98 -0
  283. package/dist/module/src/PM/webSidecar.js +40 -0
  284. package/dist/module/src/Pure.js +31 -0
  285. package/dist/module/src/Pure.test.js +170 -0
  286. package/dist/module/src/PureSidecar.js +9 -0
  287. package/dist/module/src/Types.js +1 -0
  288. package/dist/module/src/Web.js +20 -0
  289. package/dist/module/src/WebSidecar.js +9 -0
  290. package/dist/module/src/app/FileService.js +21 -0
  291. package/dist/module/src/app/api.js +70 -0
  292. package/dist/module/src/app/backend/PM_0.js +313 -0
  293. package/dist/module/src/app/backend/PM_1_WithProcesses.js +884 -0
  294. package/dist/module/src/app/backend/PM_2_WithTCP.js +239 -0
  295. package/dist/module/src/app/backend/PM_WithBuild.js +113 -0
  296. package/dist/module/src/app/backend/PM_WithEslintAndTsc.js +126 -0
  297. package/dist/module/src/app/backend/PM_WithGit.js +546 -0
  298. package/dist/module/src/app/backend/PM_WithHelpo.js +251 -0
  299. package/dist/module/src/app/backend/PM_WithProcesses.js +1083 -0
  300. package/dist/module/src/app/backend/PM_WithTCP.js +381 -0
  301. package/dist/module/src/app/backend/getAllFilesRecursively.js +16 -0
  302. package/dist/module/src/app/backend/main.js +765 -0
  303. package/dist/module/src/app/backend/makePrompt.js +66 -0
  304. package/dist/module/src/app/backend/utils.js +131 -0
  305. package/dist/module/src/app/frontend/App.js +164 -0
  306. package/dist/module/src/app/frontend/DevelopmentFileService.js +91 -0
  307. package/dist/module/src/app/frontend/GitFileService.js +258 -0
  308. package/dist/module/src/app/frontend/GitHubAuthService.js +180 -0
  309. package/dist/module/src/app/frontend/api.js +87 -0
  310. package/dist/module/src/app/frontend/components/DesignEditorPage.js +171 -0
  311. package/dist/module/src/app/frontend/components/SunriseAnimation.js +256 -0
  312. package/dist/module/src/app/frontend/components/SunriseAnimation.test/implementation.js +1 -0
  313. package/dist/module/src/app/frontend/components/SunriseAnimation.test/index.js +1 -0
  314. package/dist/module/src/app/frontend/components/SunriseAnimation.test/interface.js +32 -0
  315. package/dist/module/src/app/frontend/components/SunriseAnimation.test/specification.js +1 -0
  316. package/dist/module/src/app/frontend/components/SunriseAnimation.test/types.js +1 -0
  317. package/dist/module/src/app/frontend/components/TestStatusBadge.js +28 -0
  318. package/dist/module/src/app/frontend/components/pure/AppFrame.js +140 -0
  319. package/dist/module/src/app/frontend/components/pure/AppFrame.test/implementation.js +57 -0
  320. package/dist/module/src/app/frontend/components/pure/AppFrame.test/index.js +9 -0
  321. package/dist/module/src/app/frontend/components/pure/AppFrame.test/specification.js +21 -0
  322. package/dist/module/src/app/frontend/components/pure/AppFrame.test/types.js +2 -0
  323. package/dist/module/src/app/frontend/components/pure/ArtifactTree.js +80 -0
  324. package/dist/module/src/app/frontend/components/pure/BuildLogViewer.js +99 -0
  325. package/dist/module/src/app/frontend/components/pure/DebugEnv.js +23 -0
  326. package/dist/module/src/app/frontend/components/pure/FeaturesReporterView.js +16 -0
  327. package/dist/module/src/app/frontend/components/pure/FeaturesReporterView.test/implementation.js +81 -0
  328. package/dist/module/src/app/frontend/components/pure/FeaturesReporterView.test/index.js +9 -0
  329. package/dist/module/src/app/frontend/components/pure/FeaturesReporterView.test/specification.js +23 -0
  330. package/dist/module/src/app/frontend/components/pure/FeaturesReporterView.test/types.js +1 -0
  331. package/dist/module/src/app/frontend/components/pure/FileTree.js +27 -0
  332. package/dist/module/src/app/frontend/components/pure/FileTreeItem.js +22 -0
  333. package/dist/module/src/app/frontend/components/pure/GitHubLoginButton.js +11 -0
  334. package/dist/module/src/app/frontend/components/pure/GitIntegrationView.js +346 -0
  335. package/dist/module/src/app/frontend/components/pure/HelpoChatDrawer.js +142 -0
  336. package/dist/module/src/app/frontend/components/pure/MagicRobotModal.js +66 -0
  337. package/dist/module/src/app/frontend/components/pure/ModalContent.js +79 -0
  338. package/dist/module/src/app/frontend/components/pure/ModalContent.test/implementation.js +32 -0
  339. package/dist/module/src/app/frontend/components/pure/ModalContent.test/index.js +56 -0
  340. package/dist/module/src/app/frontend/components/pure/ModalContent.test/specification.js +15 -0
  341. package/dist/module/src/app/frontend/components/pure/ModalContent.test/types.js +3 -0
  342. package/dist/module/src/app/frontend/components/pure/NavBar.js +38 -0
  343. package/dist/module/src/app/frontend/components/pure/ProcessDetails.js +42 -0
  344. package/dist/module/src/app/frontend/components/pure/ProcessInput.js +25 -0
  345. package/dist/module/src/app/frontend/components/pure/ProcessList.js +45 -0
  346. package/dist/module/src/app/frontend/components/pure/ProcessLogs.js +30 -0
  347. package/dist/module/src/app/frontend/components/pure/ProcessManager.js +76 -0
  348. package/dist/module/src/app/frontend/components/pure/ProcessManagerView.js +45 -0
  349. package/dist/module/src/app/frontend/components/pure/ProcessManagerViewTypes.js +1 -0
  350. package/dist/module/src/app/frontend/components/pure/ProcessSidebar.js +49 -0
  351. package/dist/module/src/app/frontend/components/pure/ProcessTerminal.js +25 -0
  352. package/dist/module/src/app/frontend/components/pure/ProjectPageView.js +62 -0
  353. package/dist/module/src/app/frontend/components/pure/ProjectPageView.test/implementation.js +182 -0
  354. package/dist/module/src/app/frontend/components/pure/ProjectPageView.test/index.js +9 -0
  355. package/dist/module/src/app/frontend/components/pure/ProjectPageView.test/specification.js +28 -0
  356. package/dist/module/src/app/frontend/components/pure/ProjectPageView.test/types.js +3 -0
  357. package/dist/module/src/app/frontend/components/pure/ProjectsPageView.js +65 -0
  358. package/dist/module/src/app/frontend/components/pure/Settings.js +85 -0
  359. package/dist/module/src/app/frontend/components/pure/Settings.test.js +30 -0
  360. package/dist/module/src/app/frontend/components/pure/SettingsButton.js +6 -0
  361. package/dist/module/src/app/frontend/components/pure/SignIn.js +15 -0
  362. package/dist/module/src/app/frontend/components/pure/SingleProcessView.js +126 -0
  363. package/dist/module/src/app/frontend/components/pure/TerminalInput.js +39 -0
  364. package/dist/module/src/app/frontend/components/pure/TerminalLogs.js +43 -0
  365. package/dist/module/src/app/frontend/components/pure/TestTable.js +26 -0
  366. package/dist/module/src/app/frontend/components/pure/ThemeCard.js +8 -0
  367. package/dist/module/src/app/frontend/components/pure/ToastNotification.js +7 -0
  368. package/dist/module/src/app/frontend/components/pure/UserProfile.js +20 -0
  369. package/dist/module/src/app/frontend/components/stateful/AuthCallbackPage.js +14 -0
  370. package/dist/module/src/app/frontend/components/stateful/DratoPage.js +282 -0
  371. package/dist/module/src/app/frontend/components/stateful/FeaturesReporter.js +22 -0
  372. package/dist/module/src/app/frontend/components/stateful/FileTree.js +59 -0
  373. package/dist/module/src/app/frontend/components/stateful/GenericXMLEditor/AttributeEditor.js +44 -0
  374. package/dist/module/src/app/frontend/components/stateful/GenericXMLEditor/Drawer.js +115 -0
  375. package/dist/module/src/app/frontend/components/stateful/GenericXMLEditor/GenericPreview.js +119 -0
  376. package/dist/module/src/app/frontend/components/stateful/GenericXMLEditor/GenericTextEditor.js +132 -0
  377. package/dist/module/src/app/frontend/components/stateful/GenericXMLEditor/GenericTree.js +23 -0
  378. package/dist/module/src/app/frontend/components/stateful/GenericXMLEditorPage.js +269 -0
  379. package/dist/module/src/app/frontend/components/stateful/GitIntegrationPage.js +215 -0
  380. package/dist/module/src/app/frontend/components/stateful/GrafeoPage.js +400 -0
  381. package/dist/module/src/app/frontend/components/stateful/ProcessManagerPage.js +76 -0
  382. package/dist/module/src/app/frontend/components/stateful/ProjectPage.js +71 -0
  383. package/dist/module/src/app/frontend/components/stateful/ProjectsPage.js +99 -0
  384. package/dist/module/src/app/frontend/components/stateful/SVGEditor/CircleForm.js +17 -0
  385. package/dist/module/src/app/frontend/components/stateful/SVGEditor/GroupForm.js +15 -0
  386. package/dist/module/src/app/frontend/components/stateful/SVGEditor/RectForm.js +18 -0
  387. package/dist/module/src/app/frontend/components/stateful/SVGEditor/SVGAttributeField.js +8 -0
  388. package/dist/module/src/app/frontend/components/stateful/SVGEditor/SVGAttributesEditor.js +50 -0
  389. package/dist/module/src/app/frontend/components/stateful/SVGEditor/SVGEditorControls.js +16 -0
  390. package/dist/module/src/app/frontend/components/stateful/SVGEditor/SVGElementForm.js +16 -0
  391. package/dist/module/src/app/frontend/components/stateful/SVGEditor/SVGPreview.js +141 -0
  392. package/dist/module/src/app/frontend/components/stateful/SVGEditor/SVGTextEditor.js +118 -0
  393. package/dist/module/src/app/frontend/components/stateful/SVGEditor/SVGTree.js +68 -0
  394. package/dist/module/src/app/frontend/components/stateful/SVGEditor/SVGTypes.js +1 -0
  395. package/dist/module/src/app/frontend/components/stateful/SVGEditorPage.js +400 -0
  396. package/dist/module/src/app/frontend/components/stateful/SettingsPage.js +35 -0
  397. package/dist/module/src/app/frontend/components/stateful/SingleProcessPage.js +134 -0
  398. package/dist/module/src/app/frontend/components/stateful/SkriboPage.js +510 -0
  399. package/dist/module/src/app/frontend/components/stateful/TextEditorPage.js +117 -0
  400. package/dist/module/src/app/frontend/fetchDataUtil.js +187 -0
  401. package/dist/module/src/app/frontend/flua/FluaPage.js +341 -0
  402. package/dist/module/src/app/frontend/testPage/ITestPageViewProps.js +1 -0
  403. package/dist/module/src/app/frontend/testPage/ProjectsTree.js +142 -0
  404. package/dist/module/src/app/frontend/testPage/TestPage.js +48 -0
  405. package/dist/module/src/app/frontend/testPage/TestPageLeftContent.js +11 -0
  406. package/dist/module/src/app/frontend/testPage/TestPageMainContent.js +75 -0
  407. package/dist/module/src/app/frontend/testPage/TestPageNavbar.js +26 -0
  408. package/dist/module/src/app/frontend/testPage/TestPageView.js +315 -0
  409. package/dist/module/src/app/frontend/testPage/TestPageView.test/implementation.js +122 -0
  410. package/dist/module/src/app/frontend/testPage/TestPageView.test/index.js +10 -0
  411. package/dist/module/src/app/frontend/testPage/TestPageView.test/specification.js +23 -0
  412. package/dist/module/src/app/frontend/testPage/TestPageView.test/types.js +3 -0
  413. package/dist/module/src/app/frontend/testPage/TestPageView_utils.js +120 -0
  414. package/dist/module/src/app/frontend/useFileSystemSync.js +108 -0
  415. package/dist/module/src/app/frontend/useFs.js +12 -0
  416. package/dist/module/src/app/frontend/useGitMode.js +16 -0
  417. package/dist/module/src/app/frontend/useTerminalWebSocket.js +40 -0
  418. package/dist/module/src/app/frontend/useWebSocket.js +12 -0
  419. package/dist/module/src/app/types.js +1 -0
  420. package/dist/module/src/builders/golang.js +28 -0
  421. package/dist/module/src/builders/node.js +33 -0
  422. package/dist/module/src/builders/python.js +26 -0
  423. package/dist/module/src/builders/web.js +33 -0
  424. package/dist/module/src/defaultConfig.js +17 -0
  425. package/dist/module/src/esbuildConfigs/consoleDetectorPlugin.js +32 -0
  426. package/dist/module/src/esbuildConfigs/eslint-formatter-testeranto.js +18 -0
  427. package/dist/module/src/esbuildConfigs/featuresPlugin.js +34 -0
  428. package/dist/module/src/esbuildConfigs/index.js +19 -0
  429. package/dist/module/src/esbuildConfigs/inputFilesPlugin.js +25 -0
  430. package/dist/module/src/esbuildConfigs/nativeImportDetectorPlugin.js +21 -0
  431. package/dist/module/src/esbuildConfigs/node.js +21 -0
  432. package/dist/module/src/esbuildConfigs/pure.js +37 -0
  433. package/dist/module/src/esbuildConfigs/rebuildPlugin.js +14 -0
  434. package/dist/module/src/esbuildConfigs/web.js +43 -0
  435. package/dist/module/src/init-docs.js +4 -0
  436. package/dist/module/src/lib/BaseGiven.js +172 -0
  437. package/dist/module/src/lib/BaseSuite.js +134 -0
  438. package/dist/module/src/lib/BaseSuite.test/mock.js +61 -0
  439. package/dist/module/src/lib/BaseSuite.test/node.test.js +5 -0
  440. package/dist/module/src/lib/BaseSuite.test/pure.test.js +5 -0
  441. package/dist/module/src/lib/BaseSuite.test/test.js +180 -0
  442. package/dist/module/src/lib/BaseSuite.test/web.test.js +5 -0
  443. package/dist/module/src/lib/BaseThen.js +59 -0
  444. package/dist/module/src/lib/BaseWhen.js +43 -0
  445. package/dist/module/src/lib/Sidecar.js +3 -0
  446. package/dist/module/src/lib/Tiposkripto.js +185 -0
  447. package/dist/module/src/lib/Tiposkripto.test/MockTiposkripto.js +163 -0
  448. package/dist/module/src/lib/Tiposkripto.test/Tiposkripto.adapter.js +26 -0
  449. package/dist/module/src/lib/Tiposkripto.test/Tiposkripto.implementation.js +212 -0
  450. package/dist/module/src/lib/Tiposkripto.test/Tiposkripto.js +6 -0
  451. package/dist/module/src/lib/Tiposkripto.test/Tiposkripto.specification.js +49 -0
  452. package/dist/module/src/lib/Tiposkripto.test/Tiposkripto.types.js +1 -0
  453. package/dist/module/src/lib/abstractBase.test/MockGiven.js +20 -0
  454. package/dist/module/src/lib/abstractBase.test/MockThen.js +12 -0
  455. package/dist/module/src/lib/abstractBase.test/MockWhen.js +16 -0
  456. package/dist/module/src/lib/abstractBase.test/adapter.js +21 -0
  457. package/dist/module/src/lib/abstractBase.test/implementation.js +35 -0
  458. package/dist/module/src/lib/abstractBase.test/index.js +13 -0
  459. package/dist/module/src/lib/abstractBase.test/specification.js +15 -0
  460. package/dist/module/src/lib/abstractBase.test/types.js +1 -0
  461. package/dist/module/src/lib/index.js +26 -0
  462. package/dist/module/src/lib/pmProxy.js +251 -0
  463. package/dist/module/src/lib/pmProxy.test/adapter.js +51 -0
  464. package/dist/module/src/lib/pmProxy.test/implementation.js +127 -0
  465. package/dist/module/src/lib/pmProxy.test/index.js +8 -0
  466. package/dist/module/src/lib/pmProxy.test/mockPM.js +31 -0
  467. package/dist/module/src/lib/pmProxy.test/mockPMBase.js +127 -0
  468. package/dist/module/src/lib/pmProxy.test/specification.js +174 -0
  469. package/dist/module/src/lib/pmProxy.test/types.js +1 -0
  470. package/dist/module/src/lib/types.js +2 -0
  471. package/dist/module/src/mothership/mothership.js +196 -0
  472. package/dist/module/src/mothership/test.js +80 -0
  473. package/dist/module/src/run.js +49 -0
  474. package/dist/module/src/testeranto.js +174 -0
  475. package/dist/module/src/utils/buildTemplates.js +33 -0
  476. package/dist/module/src/utils/generateGolingvuMetafile.js +151 -0
  477. package/dist/module/src/utils/golingvuMetafile/fileDiscovery.js +136 -0
  478. package/dist/module/src/utils/golingvuMetafile/goList.js +97 -0
  479. package/dist/module/src/utils/golingvuMetafile/helpers.js +59 -0
  480. package/dist/module/src/utils/golingvuMetafile/importParser.js +83 -0
  481. package/dist/module/src/utils/golingvuMetafile/types.js +2 -0
  482. package/dist/module/src/utils/golingvuMetafile.js +6 -0
  483. package/dist/module/src/utils/golingvuWatcher.js +226 -0
  484. package/dist/module/src/utils/logFiles.js +55 -0
  485. package/dist/module/src/utils/pitonoMetafile.js +240 -0
  486. package/dist/module/src/utils/pitonoWatcher.js +123 -0
  487. package/dist/module/src/utils/queue.js +32 -0
  488. package/dist/module/src/utils/writeGolingvuMetafile.js +318 -0
  489. package/dist/module/src/web.html.js +16 -0
  490. package/dist/module/testeranto.config.js +89 -0
  491. package/dist/module/tsconfig.module.tsbuildinfo +1 -0
  492. package/dist/prebuild/App.css +241 -185
  493. package/dist/prebuild/App.js +20444 -46114
  494. package/dist/prebuild/mothership.mjs +4 -0
  495. package/dist/types/design-editor/DesignEditor.d.ts +1 -0
  496. package/dist/types/src/CoreTypes.d.ts +52 -0
  497. package/dist/types/src/Helpo.d.ts +1 -0
  498. package/dist/types/src/Init.d.ts +2 -0
  499. package/dist/types/src/Node.d.ts +9 -0
  500. package/dist/types/src/NodeSidecar.d.ts +6 -0
  501. package/dist/types/src/PM/__tests__/nodeSidecar.testeranto.d.ts +2 -0
  502. package/dist/types/src/PM/__tests__/pureSidecar.testeranto.d.ts +2 -0
  503. package/dist/types/src/PM/__tests__/webSidecar.testeranto.d.ts +2 -0
  504. package/dist/types/src/PM/golingvuBuild.d.ts +11 -0
  505. package/dist/types/src/PM/index.d.ts +35 -0
  506. package/dist/types/src/PM/node.d.ts +38 -0
  507. package/dist/types/src/PM/nodeSidecar.d.ts +13 -0
  508. package/dist/types/src/PM/pitonoBuild.d.ts +11 -0
  509. package/dist/types/src/PM/pitonoRunner.d.ts +7 -0
  510. package/dist/types/src/PM/pure.d.ts +41 -0
  511. package/dist/types/src/PM/pureSidecar.d.ts +11 -0
  512. package/dist/types/src/PM/sidecar.d.ts +8 -0
  513. package/dist/types/src/PM/types.d.ts +118 -0
  514. package/dist/types/src/PM/utils.d.ts +35 -0
  515. package/dist/types/src/PM/web.d.ts +41 -0
  516. package/dist/types/src/PM/webSidecar.d.ts +11 -0
  517. package/dist/types/src/Pure.d.ts +14 -0
  518. package/dist/types/src/Pure.test.d.ts +61 -0
  519. package/dist/types/src/PureSidecar.d.ts +8 -0
  520. package/dist/types/src/Types.d.ts +120 -0
  521. package/dist/types/src/Web.d.ts +9 -0
  522. package/dist/types/src/WebSidecar.d.ts +8 -0
  523. package/dist/types/src/app/FileService.d.ts +37 -0
  524. package/dist/types/src/app/api.d.ts +37 -0
  525. package/dist/types/src/app/backend/PM_0.d.ts +38 -0
  526. package/dist/types/src/app/backend/PM_1_WithProcesses.d.ts +148 -0
  527. package/dist/types/src/app/backend/PM_2_WithTCP.d.ts +29 -0
  528. package/dist/types/src/app/backend/PM_WithBuild.d.ts +7 -0
  529. package/dist/types/src/app/backend/PM_WithEslintAndTsc.d.ts +22 -0
  530. package/dist/types/src/app/backend/PM_WithGit.d.ts +24 -0
  531. package/dist/types/src/app/backend/PM_WithHelpo.d.ts +43 -0
  532. package/dist/types/src/app/backend/PM_WithTCP.d.ts +41 -0
  533. package/dist/types/src/app/backend/getAllFilesRecursively.d.ts +1 -0
  534. package/dist/types/src/app/backend/main.d.ts +16 -0
  535. package/dist/types/src/app/backend/makePrompt.d.ts +2 -0
  536. package/dist/types/src/app/backend/utils.d.ts +20 -0
  537. package/dist/types/src/app/frontend/App.d.ts +14 -0
  538. package/dist/types/src/app/frontend/DevelopmentFileService.d.ts +25 -0
  539. package/dist/types/src/app/frontend/GitFileService.d.ts +27 -0
  540. package/dist/types/src/app/frontend/GitHubAuthService.d.ts +32 -0
  541. package/dist/types/src/app/frontend/api.d.ts +10 -0
  542. package/dist/types/src/app/frontend/components/DesignEditorPage.d.ts +1 -0
  543. package/dist/types/src/app/frontend/components/SunriseAnimation.d.ts +5 -0
  544. package/dist/types/src/app/frontend/components/SunriseAnimation.test/interface.d.ts +11 -0
  545. package/dist/types/src/app/frontend/components/SunriseAnimation.test/types.d.ts +39 -0
  546. package/dist/types/src/app/frontend/components/TestStatusBadge.d.ts +15 -0
  547. package/dist/types/src/app/frontend/components/pure/AppFrame.d.ts +11 -0
  548. package/dist/types/src/app/frontend/components/pure/AppFrame.test/implementation.d.ts +3 -0
  549. package/dist/types/src/app/frontend/components/pure/AppFrame.test/index.d.ts +3 -0
  550. package/dist/types/src/app/frontend/components/pure/AppFrame.test/specification.d.ts +3 -0
  551. package/dist/types/src/app/frontend/components/pure/AppFrame.test/types.d.ts +33 -0
  552. package/dist/types/src/app/frontend/components/pure/BuildLogViewer.d.ts +7 -0
  553. package/dist/types/src/app/frontend/components/pure/DebugEnv.d.ts +2 -0
  554. package/dist/types/src/app/frontend/components/pure/FeaturesReporterView.d.ts +7 -0
  555. package/dist/types/src/app/frontend/components/pure/FeaturesReporterView.test/implementation.d.ts +3 -0
  556. package/dist/types/src/app/frontend/components/pure/FeaturesReporterView.test/index.d.ts +2 -0
  557. package/dist/types/src/app/frontend/components/pure/FeaturesReporterView.test/specification.d.ts +3 -0
  558. package/dist/types/src/app/frontend/components/pure/FeaturesReporterView.test/types.d.ts +54 -0
  559. package/dist/types/src/app/frontend/components/pure/FileTree.d.ts +6 -0
  560. package/dist/types/src/app/frontend/components/pure/FileTreeItem.d.ts +8 -0
  561. package/dist/types/src/app/frontend/components/pure/GitHubLoginButton.d.ts +8 -0
  562. package/dist/types/src/app/frontend/components/pure/GitIntegrationView.d.ts +27 -0
  563. package/dist/types/src/app/frontend/components/pure/HelpoChatDrawer.d.ts +7 -0
  564. package/dist/types/src/app/frontend/components/pure/MagicRobotModal.d.ts +16 -0
  565. package/dist/types/src/app/frontend/components/pure/ModalContent.d.ts +7 -0
  566. package/dist/types/src/app/frontend/components/pure/ModalContent.test/implementation.d.ts +3 -0
  567. package/dist/types/src/app/frontend/components/pure/ModalContent.test/index.d.ts +14 -0
  568. package/dist/types/src/app/frontend/components/pure/ModalContent.test/specification.d.ts +3 -0
  569. package/dist/types/src/app/frontend/components/pure/ModalContent.test/types.d.ts +45 -0
  570. package/dist/types/src/app/frontend/components/pure/NavBar.d.ts +23 -0
  571. package/dist/types/src/app/frontend/components/pure/ProcessDetails.d.ts +8 -0
  572. package/dist/types/src/app/frontend/components/pure/ProcessInput.d.ts +10 -0
  573. package/dist/types/src/app/frontend/components/pure/ProcessList.d.ts +10 -0
  574. package/dist/types/src/app/frontend/components/pure/ProcessLogs.d.ts +6 -0
  575. package/dist/types/src/app/frontend/components/pure/ProcessManager.d.ts +8 -0
  576. package/dist/types/src/app/frontend/components/pure/ProcessManagerView.d.ts +10 -0
  577. package/dist/types/src/app/frontend/components/pure/ProcessManagerViewTypes.d.ts +10 -0
  578. package/dist/types/src/app/frontend/components/pure/ProcessSidebar.d.ts +8 -0
  579. package/dist/types/src/app/frontend/components/pure/ProcessTerminal.d.ts +8 -0
  580. package/dist/types/src/app/frontend/components/pure/ProjectPageView.d.ts +14 -0
  581. package/dist/types/src/app/frontend/components/pure/ProjectPageView.test/implementation.d.ts +3 -0
  582. package/dist/types/src/app/frontend/components/pure/ProjectPageView.test/index.d.ts +17 -0
  583. package/dist/types/src/app/frontend/components/pure/ProjectPageView.test/specification.d.ts +3 -0
  584. package/dist/types/src/app/frontend/components/pure/ProjectPageView.test/types.d.ts +57 -0
  585. package/dist/types/src/app/frontend/components/pure/ProjectsPageView.d.ts +29 -0
  586. package/dist/types/src/app/frontend/components/pure/Settings.d.ts +1 -0
  587. package/dist/types/src/app/frontend/components/pure/SettingsButton.d.ts +2 -0
  588. package/dist/types/src/app/frontend/components/pure/SignIn.d.ts +1 -0
  589. package/dist/types/src/app/frontend/components/pure/TerminalInput.d.ts +6 -0
  590. package/dist/types/src/app/frontend/components/pure/TerminalLogs.d.ts +6 -0
  591. package/dist/types/src/app/frontend/components/pure/TestTable.d.ts +16 -0
  592. package/dist/types/src/app/frontend/components/pure/ThemeCard.d.ts +9 -0
  593. package/dist/types/src/app/frontend/components/pure/ToastNotification.d.ts +6 -0
  594. package/dist/types/src/app/frontend/components/pure/UserProfile.d.ts +2 -0
  595. package/dist/types/src/app/frontend/components/stateful/AuthCallbackPage.d.ts +2 -0
  596. package/dist/types/src/app/frontend/components/stateful/DratoPage.d.ts +8 -0
  597. package/dist/types/src/app/frontend/components/stateful/GenericXMLEditor/AttributeEditor.d.ts +9 -0
  598. package/dist/types/src/app/frontend/components/stateful/GenericXMLEditor/Drawer.d.ts +12 -0
  599. package/dist/types/src/app/frontend/components/stateful/GenericXMLEditor/GenericPreview.d.ts +11 -0
  600. package/dist/types/src/app/frontend/components/stateful/GenericXMLEditor/GenericTextEditor.d.ts +8 -0
  601. package/dist/types/src/app/frontend/components/stateful/GenericXMLEditor/GenericTree.d.ts +17 -0
  602. package/dist/types/src/app/frontend/components/stateful/GenericXMLEditorPage.d.ts +21 -0
  603. package/dist/types/src/app/frontend/components/stateful/GitIntegrationPage.d.ts +1 -0
  604. package/dist/types/src/app/frontend/components/stateful/GrafeoPage.d.ts +8 -0
  605. package/dist/types/src/app/frontend/components/stateful/ProcessManagerPage.d.ts +2 -0
  606. package/dist/types/src/app/frontend/components/stateful/ProjectPage.d.ts +1 -0
  607. package/dist/types/src/app/frontend/components/stateful/ProjectsPage.d.ts +1 -0
  608. package/dist/types/src/app/frontend/components/stateful/SVGEditor/CircleForm.d.ts +8 -0
  609. package/dist/types/src/app/frontend/components/stateful/SVGEditor/GroupForm.d.ts +8 -0
  610. package/dist/types/src/app/frontend/components/stateful/SVGEditor/RectForm.d.ts +8 -0
  611. package/dist/types/src/app/frontend/components/stateful/SVGEditor/SVGAttributeField.d.ts +9 -0
  612. package/dist/types/src/app/frontend/components/stateful/SVGEditor/SVGAttributesEditor.d.ts +9 -0
  613. package/dist/types/src/app/frontend/components/stateful/SVGEditor/SVGEditorControls.d.ts +9 -0
  614. package/dist/types/src/app/frontend/components/stateful/SVGEditor/SVGElementForm.d.ts +9 -0
  615. package/dist/types/src/app/frontend/components/stateful/SVGEditor/SVGPreview.d.ts +12 -0
  616. package/dist/types/src/app/frontend/components/stateful/SVGEditor/SVGTextEditor.d.ts +8 -0
  617. package/dist/types/src/app/frontend/components/stateful/SVGEditor/SVGTree.d.ts +20 -0
  618. package/dist/types/src/app/frontend/components/stateful/SVGEditor/SVGTypes.d.ts +30 -0
  619. package/dist/types/src/app/frontend/components/stateful/SVGEditorPage.d.ts +7 -0
  620. package/dist/types/src/app/frontend/components/stateful/SettingsPage.d.ts +2 -0
  621. package/dist/types/src/app/frontend/components/stateful/SkriboPage.d.ts +1 -0
  622. package/dist/types/src/app/frontend/components/stateful/TextEditorPage.d.ts +1 -0
  623. package/dist/types/src/app/frontend/flua/FluaPage.d.ts +2 -0
  624. package/dist/types/src/app/frontend/testPage/ITestPageViewProps.d.ts +14 -0
  625. package/dist/types/src/app/frontend/testPage/ProjectsTree.d.ts +17 -0
  626. package/dist/types/src/app/frontend/testPage/TestPage.d.ts +1 -0
  627. package/dist/types/src/app/frontend/testPage/TestPageLeftContent.d.ts +14 -0
  628. package/dist/types/src/app/frontend/testPage/TestPageMainContent.d.ts +7 -0
  629. package/dist/types/src/app/frontend/testPage/TestPageNavbar.d.ts +7 -0
  630. package/dist/types/src/app/frontend/testPage/TestPageView.d.ts +2 -0
  631. package/dist/types/src/app/frontend/testPage/TestPageView.test/implementation.d.ts +13 -0
  632. package/dist/types/src/app/frontend/testPage/TestPageView.test/index.d.ts +13 -0
  633. package/dist/types/src/app/frontend/testPage/TestPageView.test/specification.d.ts +11 -0
  634. package/dist/types/src/app/frontend/testPage/TestPageView.test/types.d.ts +65 -0
  635. package/dist/types/src/app/frontend/testPage/TestPageView_utils.d.ts +23 -0
  636. package/dist/types/src/app/frontend/useFs.d.ts +2 -0
  637. package/dist/types/src/app/frontend/useGitMode.d.ts +7 -0
  638. package/dist/types/src/app/frontend/useTerminalWebSocket.d.ts +4 -0
  639. package/dist/types/src/app/frontend/useWebSocket.d.ts +8 -0
  640. package/dist/types/src/app/types.d.ts +1 -0
  641. package/dist/types/src/builders/golang.d.ts +1 -0
  642. package/dist/types/src/builders/node.d.ts +1 -0
  643. package/dist/types/src/builders/python.d.ts +1 -0
  644. package/dist/types/src/builders/web.d.ts +1 -0
  645. package/dist/types/src/defaultConfig.d.ts +3 -0
  646. package/dist/types/src/esbuildConfigs/consoleDetectorPlugin.d.ts +2 -0
  647. package/dist/types/src/esbuildConfigs/eslint-formatter-testeranto.d.ts +2 -0
  648. package/dist/types/src/esbuildConfigs/featuresPlugin.d.ts +5 -0
  649. package/dist/types/src/esbuildConfigs/index.d.ts +4 -0
  650. package/dist/types/src/esbuildConfigs/inputFilesPlugin.d.ts +7 -0
  651. package/dist/types/src/esbuildConfigs/nativeImportDetectorPlugin.d.ts +2 -0
  652. package/dist/types/src/esbuildConfigs/node.d.ts +4 -0
  653. package/dist/types/src/esbuildConfigs/pure.d.ts +4 -0
  654. package/dist/types/src/esbuildConfigs/rebuildPlugin.d.ts +6 -0
  655. package/dist/types/src/esbuildConfigs/web.d.ts +4 -0
  656. package/dist/types/src/init-docs.d.ts +1 -0
  657. package/dist/types/src/lib/BaseGiven.d.ts +44 -0
  658. package/dist/types/src/lib/BaseSuite.d.ts +47 -0
  659. package/dist/types/src/lib/BaseSuite.test/mock.d.ts +21 -0
  660. package/dist/types/src/lib/BaseSuite.test/node.test.d.ts +2 -0
  661. package/dist/types/src/lib/BaseSuite.test/pure.test.d.ts +3 -0
  662. package/dist/types/src/lib/BaseSuite.test/test.d.ts +37 -0
  663. package/dist/types/src/lib/BaseSuite.test/web.test.d.ts +3 -0
  664. package/dist/types/src/lib/BaseThen.d.ts +29 -0
  665. package/dist/types/src/lib/BaseWhen.d.ts +29 -0
  666. package/dist/types/src/lib/Sidecar.d.ts +5 -0
  667. package/dist/types/src/lib/Tiposkripto.d.ts +37 -0
  668. package/dist/types/src/lib/Tiposkripto.test/MockTiposkripto.d.ts +18 -0
  669. package/dist/types/src/lib/Tiposkripto.test/Tiposkripto.adapter.d.ts +3 -0
  670. package/dist/types/src/lib/Tiposkripto.test/Tiposkripto.d.ts +2 -0
  671. package/dist/types/src/lib/Tiposkripto.test/Tiposkripto.implementation.d.ts +3 -0
  672. package/dist/types/src/lib/Tiposkripto.test/Tiposkripto.specification.d.ts +3 -0
  673. package/dist/types/src/lib/Tiposkripto.test/Tiposkripto.types.d.ts +58 -0
  674. package/dist/types/src/lib/abstractBase.test/MockGiven.d.ts +9 -0
  675. package/dist/types/src/lib/abstractBase.test/MockThen.d.ts +6 -0
  676. package/dist/types/src/lib/abstractBase.test/MockWhen.d.ts +6 -0
  677. package/dist/types/src/lib/abstractBase.test/adapter.d.ts +3 -0
  678. package/dist/types/src/lib/abstractBase.test/implementation.d.ts +3 -0
  679. package/dist/types/src/lib/abstractBase.test/index.d.ts +2 -0
  680. package/dist/types/src/lib/abstractBase.test/specification.d.ts +3 -0
  681. package/dist/types/src/lib/abstractBase.test/types.d.ts +39 -0
  682. package/dist/types/src/lib/index.d.ts +73 -0
  683. package/dist/types/src/lib/pmProxy.d.ts +12 -0
  684. package/dist/types/src/lib/pmProxy.test/adapter.d.ts +3 -0
  685. package/dist/types/src/lib/pmProxy.test/implementation.d.ts +3 -0
  686. package/dist/types/src/lib/pmProxy.test/index.d.ts +6 -0
  687. package/dist/types/src/lib/pmProxy.test/mockPM.d.ts +10 -0
  688. package/dist/types/src/lib/pmProxy.test/mockPMBase.d.ts +40 -0
  689. package/dist/types/src/lib/pmProxy.test/specification.d.ts +3 -0
  690. package/dist/types/src/lib/pmProxy.test/types.d.ts +42 -0
  691. package/dist/types/src/lib/types.d.ts +24 -0
  692. package/dist/types/src/mothership/mothership.d.ts +1 -0
  693. package/dist/types/src/mothership/test.d.ts +2 -0
  694. package/dist/types/src/testeranto.d.ts +1 -0
  695. package/dist/types/src/utils/buildTemplates.d.ts +1 -0
  696. package/dist/types/src/utils/generateGolingvuMetafile.d.ts +2 -0
  697. package/dist/types/src/utils/golingvuMetafile/fileDiscovery.d.ts +1 -0
  698. package/dist/types/src/utils/golingvuMetafile/goList.d.ts +2 -0
  699. package/dist/types/src/utils/golingvuMetafile/helpers.d.ts +7 -0
  700. package/dist/types/src/utils/golingvuMetafile/importParser.d.ts +5 -0
  701. package/dist/types/src/utils/golingvuMetafile/types.d.ts +66 -0
  702. package/dist/types/src/utils/golingvuMetafile.d.ts +4 -0
  703. package/dist/types/src/utils/golingvuWatcher.d.ts +14 -0
  704. package/dist/types/src/utils/logFiles.d.ts +103 -0
  705. package/dist/types/src/utils/pitonoMetafile.d.ts +22 -0
  706. package/dist/types/src/utils/pitonoWatcher.d.ts +13 -0
  707. package/dist/types/src/utils/queue.d.ts +11 -0
  708. package/dist/types/src/utils/writeGolingvuMetafile.d.ts +2 -0
  709. package/dist/types/src/web.html.d.ts +2 -0
  710. package/dist/types/tsconfig.types.tsbuildinfo +1 -0
  711. package/docker-compose.yml +74 -0
  712. package/docs/testing.prompt.txt +5 -1
  713. package/example/Calculator.go +64 -28
  714. package/example/Calculator.golingvu.implementation.go +51 -2
  715. package/example/Calculator.golingvu.test.go +216 -0
  716. package/example/Calculator.pitono.test.py +112 -27
  717. package/example/Calculator.test.adapter.ts +9 -49
  718. package/example/Calculator.test.implementation.ts +1 -28
  719. package/example/Calculator.ts +2 -18
  720. package/example/__pycache__/Calculator.cpython-313.pyc +0 -0
  721. package/example/go.mod +1 -3
  722. package/example/go.sum +2 -0
  723. package/example/requirements.txt +9 -0
  724. package/example/single-kanban-process.xml +9 -0
  725. package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/LICENSE +21 -0
  726. package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/README.md +187 -0
  727. package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/base_given.go +163 -0
  728. package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/base_suite.go +85 -0
  729. package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/base_then.go +21 -0
  730. package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/base_when.go +21 -0
  731. package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/golingvu.go +889 -0
  732. package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/test_adapter.go +33 -0
  733. package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/types.go +72 -0
  734. package/example/vendor/modules.txt +4 -0
  735. package/go.mod +4 -1
  736. package/go.sum +2 -0
  737. package/log.txt +36 -82
  738. package/package.json +21 -8
  739. package/scripts/build-example.ts +65 -204
  740. package/src/Init.ts +9 -1
  741. package/src/Node.ts +0 -1
  742. package/src/NodeSidecar.ts +0 -8
  743. package/src/PM/__tests__/nodeSidecar.testeranto.ts +4 -1
  744. package/src/PM/types.ts +1 -0
  745. package/src/PM/web.ts +8 -24
  746. package/src/Pure.test.ts +18 -9
  747. package/src/Pure.ts +1 -16
  748. package/src/Types.ts +1 -0
  749. package/src/Web.ts +2 -38
  750. package/src/WebSidecar.ts +1 -1
  751. package/src/app/FileService.ts +91 -0
  752. package/src/app/api.ts +75 -0
  753. package/src/app/backend/PM_0.ts +395 -0
  754. package/src/app/backend/PM_1_WithProcesses.ts +1188 -0
  755. package/src/app/backend/PM_2_WithTCP.ts +286 -0
  756. package/src/app/backend/PM_WithBuild.ts +146 -0
  757. package/src/app/backend/PM_WithEslintAndTsc.ts +194 -0
  758. package/src/app/backend/PM_WithGit.ts +662 -0
  759. package/src/app/backend/PM_WithHelpo.ts +340 -0
  760. package/src/app/backend/PM_WithProcesses.ts +1247 -0
  761. package/src/app/backend/PM_WithTCP.ts +777 -0
  762. package/src/app/backend/getAllFilesRecursively.ts +17 -0
  763. package/src/app/backend/main.ts +1029 -0
  764. package/src/app/backend/makePrompt.ts +92 -0
  765. package/src/app/backend/utils.ts +202 -0
  766. package/src/app/frontend/App.tsx +242 -0
  767. package/src/app/frontend/DevelopmentFileService.ts +117 -0
  768. package/src/app/frontend/GitFileService.ts +285 -0
  769. package/src/app/frontend/GitHubAuthService.ts +241 -0
  770. package/src/app/frontend/api.ts +108 -0
  771. package/src/app/frontend/app.scss +119 -0
  772. package/src/app/frontend/components/DesignEditorPage.tsx +210 -0
  773. package/src/app/frontend/components/SunriseAnimation.test/interface.ts +50 -0
  774. package/src/app/frontend/components/SunriseAnimation.test/types.ts +53 -0
  775. package/src/app/frontend/components/SunriseAnimation.tsx +350 -0
  776. package/src/app/frontend/components/pure/AppFrame.tsx +445 -0
  777. package/src/app/frontend/components/pure/FeaturesReporterView.tsx +38 -0
  778. package/src/app/frontend/components/pure/GitHubLoginButton.tsx +32 -0
  779. package/src/app/frontend/components/pure/GitIntegrationView.tsx +727 -0
  780. package/src/app/frontend/components/pure/HelpoChatDrawer.tsx +223 -0
  781. package/src/app/frontend/components/pure/MagicRobotModal.tsx +135 -0
  782. package/src/app/frontend/components/pure/ModalContent.test/index.tsx +68 -0
  783. package/src/app/frontend/components/pure/NavBar.tsx +119 -0
  784. package/src/app/frontend/components/pure/ProcessManagerView.tsx +89 -0
  785. package/src/app/frontend/components/pure/ProcessTerminal.tsx +55 -0
  786. package/src/app/frontend/components/pure/ProjectPageView.test/implementation.tsx +216 -0
  787. package/src/app/frontend/components/pure/ProjectPageView.tsx +165 -0
  788. package/src/app/frontend/components/pure/Settings.test.tsx +34 -0
  789. package/src/app/frontend/components/pure/Settings.tsx +171 -0
  790. package/src/app/frontend/components/pure/SignIn.tsx +33 -0
  791. package/src/app/frontend/components/stateful/FeaturesReporter.tsx +27 -0
  792. package/src/app/frontend/components/stateful/GenericXMLEditor/AttributeEditor.tsx +105 -0
  793. package/src/app/frontend/components/stateful/GenericXMLEditor/GenericPreview.tsx +234 -0
  794. package/src/app/frontend/components/stateful/GenericXMLEditor/GenericTextEditor.tsx +173 -0
  795. package/src/app/frontend/components/stateful/GenericXMLEditor/GenericTree.tsx +105 -0
  796. package/src/app/frontend/components/stateful/GenericXMLEditorPage.tsx +455 -0
  797. package/src/app/frontend/components/stateful/GitIntegrationPage.tsx +256 -0
  798. package/src/app/frontend/components/stateful/ProcessManagerPage.tsx +110 -0
  799. package/src/app/frontend/components/stateful/ProjectPage.tsx +94 -0
  800. package/src/app/frontend/components/stateful/ProjectsPage.tsx +129 -0
  801. package/src/app/frontend/components/stateful/SkriboPage.tsx +577 -0
  802. package/src/app/frontend/fetchDataUtil.ts +206 -0
  803. package/src/app/frontend/flua/FluaPage.tsx +458 -0
  804. package/src/app/frontend/flua/agile.xsd +32 -0
  805. package/src/app/frontend/flua/core.xsd +42 -0
  806. package/src/app/frontend/flua/kanban.xsd +21 -0
  807. package/src/app/frontend/flua/scrum.xsd +35 -0
  808. package/src/app/frontend/testPage/ITestPageViewProps.ts +14 -0
  809. package/src/app/frontend/testPage/ProjectsTree.tsx +329 -0
  810. package/src/app/frontend/testPage/TestPage.tsx +75 -0
  811. package/src/app/frontend/testPage/TestPageLeftContent.tsx +54 -0
  812. package/src/app/frontend/testPage/TestPageMainContent.tsx +181 -0
  813. package/src/app/frontend/testPage/TestPageNavbar.tsx +52 -0
  814. package/src/app/frontend/testPage/TestPageView.test/implementation.ts +209 -0
  815. package/src/app/frontend/testPage/TestPageView.test/index.tsx +22 -0
  816. package/src/app/frontend/testPage/TestPageView.test/specification.ts +60 -0
  817. package/src/app/frontend/testPage/TestPageView.test/types.ts +92 -0
  818. package/src/app/frontend/testPage/TestPageView.tsx +481 -0
  819. package/src/app/frontend/testPage/TestPageView_utils.tsx +301 -0
  820. package/src/app/frontend/testPage/index.md +14 -0
  821. package/src/app/frontend/useFileSystemSync.ts +117 -0
  822. package/src/app/frontend/useFs.ts +17 -0
  823. package/src/app/frontend/useGitMode.ts +21 -0
  824. package/src/app/frontend/useTerminalWebSocket.ts +56 -0
  825. package/src/app/frontend/useWebSocket.ts +20 -0
  826. package/src/app/trash +1697 -0
  827. package/src/app/types.ts +1 -0
  828. package/src/builders/golang.ts +29 -0
  829. package/src/builders/node.ts +34 -0
  830. package/src/builders/python.ts +28 -0
  831. package/src/builders/web.ts +34 -0
  832. package/src/cjs-shim.js +2 -0
  833. package/src/golingvu/PM/golang_test.go +88 -88
  834. package/src/golingvu/base_given.go +27 -28
  835. package/src/golingvu/base_suite.go +20 -20
  836. package/src/golingvu/base_then.go +2 -2
  837. package/src/golingvu/base_when.go +2 -2
  838. package/src/golingvu/golingvu.go +124 -147
  839. package/src/graphml.xsd +345 -0
  840. package/src/lib/BaseGiven.ts +71 -95
  841. package/src/lib/BaseSuite.test/test.ts +7 -12
  842. package/src/lib/BaseSuite.ts +24 -16
  843. package/src/lib/BaseThen.ts +7 -4
  844. package/src/lib/BaseWhen.ts +4 -12
  845. package/src/lib/Tiposkripto.test/MockTiposkripto.ts +59 -63
  846. package/src/lib/Tiposkripto.test/Tiposkripto.implementation.ts +33 -20
  847. package/src/lib/Tiposkripto.ts +1 -19
  848. package/src/lib/pmProxy.test/implementation.ts +112 -117
  849. package/src/lib/pmProxy.test/index.ts +2 -2
  850. package/src/lib/pmProxy.test/mockPM.ts +1 -0
  851. package/src/lib/pmProxy.test/mockPMBase.ts +1 -1
  852. package/src/lib/pmProxy.test/specification.ts +0 -2
  853. package/src/lib/pmProxy.test/types.ts +1 -0
  854. package/src/lib/pmProxy.ts +0 -74
  855. package/src/mothership/mothership.ts +218 -0
  856. package/src/mothership/test.ts +5 -5
  857. package/src/pitono/PM/__pycache__/python.cpython-313.pyc +0 -0
  858. package/src/pitono/PM/python.py +3 -0
  859. package/src/pitono/Pitono.py +166 -20
  860. package/src/pitono/__pycache__/Pitono.cpython-313.pyc +0 -0
  861. package/src/pitono/__pycache__/__init__.cpython-313.pyc +0 -0
  862. package/src/pitono/__pycache__/base_given.cpython-313.pyc +0 -0
  863. package/src/pitono/__pycache__/base_suite.cpython-313.pyc +0 -0
  864. package/src/pitono/__pycache__/base_then.cpython-313.pyc +0 -0
  865. package/src/pitono/__pycache__/base_when.cpython-313.pyc +0 -0
  866. package/src/pitono/__pycache__/core_generator.cpython-313.pyc +0 -0
  867. package/src/pitono/__pycache__/simple_adapter.cpython-313.pyc +0 -0
  868. package/src/pitono/__pycache__/types.cpython-313.pyc +0 -0
  869. package/src/pitono/base_given.py +35 -10
  870. package/src/pitono/base_suite.py +2 -1
  871. package/src/pitono/base_then.py +5 -4
  872. package/src/pitono/base_when.py +4 -3
  873. package/src/style.scss +261 -2
  874. package/src/testeranto.ts +53 -50
  875. package/src/utils/generateGolingvuMetafile.ts +196 -0
  876. package/src/utils/golingvuMetafile/fileDiscovery.ts +157 -0
  877. package/src/utils/golingvuMetafile/goList.ts +106 -0
  878. package/src/utils/golingvuMetafile/helpers.ts +65 -0
  879. package/src/utils/golingvuMetafile/importParser.ts +97 -0
  880. package/src/utils/golingvuMetafile/types.ts +78 -0
  881. package/src/utils/golingvuMetafile.ts +4 -865
  882. package/src/utils/golingvuWatcher.ts +35 -40
  883. package/src/utils/pitonoMetafile.ts +205 -207
  884. package/src/utils/pitonoWatcher.ts +2 -9
  885. package/src/utils/writeGolingvuMetafile.ts +386 -0
  886. package/testeranto/App.css +173 -173
  887. package/testeranto/App.js +20428 -46026
  888. package/testeranto/bundles/golang/core/example/Calculator.golingvu.test +58 -0
  889. package/testeranto/bundles/node/core/example/Calculator.test.mjs +5862 -0
  890. package/testeranto/bundles/python/core/Calculator.pitono.test.py +24 -0
  891. package/testeranto/metafiles/golang/core.json +126 -26
  892. package/testeranto/metafiles/node/core.json +43 -550
  893. package/testeranto/metafiles/python/core.json +4 -39
  894. package/testeranto/reports/core/config.json +1 -81
  895. package/testeranto/reports/core/example/Calculator.golingvu.test/golang/stderr.log +7 -0
  896. package/testeranto/reports/core/example/Calculator.pitono.test/python/exit.log +1 -1
  897. package/testeranto/reports/core/example/Calculator.pitono.test/python/prompt.txt +13 -0
  898. package/testeranto/reports/core/example/Calculator.pitono.test/python/stderr.log +0 -11
  899. package/testeranto/reports/core/example/Calculator.pitono.test/python/stdout.log +26 -1
  900. package/testeranto/reports/core/example/Calculator.pitono.test/python/tests.json +255 -0
  901. package/testeranto/reports/core/example/Calculator.test/node/lint_errors.txt +2 -2
  902. package/testeranto/reports/core/example/Calculator.test/node/stderr.log +562 -29
  903. package/testeranto/reports/core/example/Calculator.test/node/stdout.log +0 -1076
  904. package/testeranto/reports/core/example/Calculator.test/node/tests.json +133 -79
  905. package/testeranto/reports/core/example/Calculator.test/node/type_errors.txt +16 -24
  906. package/testeranto/reports/core/summary.json +2 -69
  907. package/testeranto.config.ts +28 -26
  908. package/tsc.log +305 -370
  909. package/dist/prebuild/esbuildConfigs/eslint-formatter-testeranto.mjs +0 -22
  910. package/dist/prebuild/init-docs.mjs +0 -35
  911. package/dist/prebuild/testeranto.mjs +0 -5719
  912. package/example/Calculator.golingvu.go +0 -67
  913. package/example/base_suite_test.go +0 -51
  914. package/example/cmd/main.go +0 -16
  915. package/example/main +0 -0
  916. package/example/testeranto/bundles/golang/core/Calculator.golingvu.go +0 -53
  917. package/example/testeranto/metafiles/golang/core.json +0 -198
  918. package/src/App.tsx +0 -278
  919. package/src/PM/PM_WithBuild.ts +0 -183
  920. package/src/PM/PM_WithEslintAndTsc.ts +0 -279
  921. package/src/PM/PM_WithGit.ts +0 -632
  922. package/src/PM/PM_WithHelpo.ts +0 -341
  923. package/src/PM/PM_WithProcesses.ts +0 -900
  924. package/src/PM/PM_WithWebSocket.ts +0 -839
  925. package/src/PM/base.ts +0 -390
  926. package/src/PM/main.ts +0 -981
  927. package/src/ReportServer.test.ts/index.ts +0 -194
  928. package/src/app.scss +0 -121
  929. package/src/components/DesignEditorPage.tsx +0 -202
  930. package/src/components/SunriseAnimation.test/interface.ts +0 -49
  931. package/src/components/SunriseAnimation.test/types.ts +0 -53
  932. package/src/components/SunriseAnimation.tsx +0 -350
  933. package/src/components/pure/AppFrame.tsx +0 -410
  934. package/src/components/pure/FeaturesReporterView.tsx +0 -37
  935. package/src/components/pure/GitHubLoginButton.tsx +0 -31
  936. package/src/components/pure/GitIntegrationView.tsx +0 -732
  937. package/src/components/pure/HelpoChatDrawer.tsx +0 -222
  938. package/src/components/pure/MagicRobotModal.tsx +0 -136
  939. package/src/components/pure/ModalContent.test/index.tsx +0 -67
  940. package/src/components/pure/NavBar.tsx +0 -118
  941. package/src/components/pure/ProcessManagerView.tsx +0 -85
  942. package/src/components/pure/ProcessTerminal.tsx +0 -51
  943. package/src/components/pure/ProjectPageView.test/implementation.tsx +0 -213
  944. package/src/components/pure/ProjectPageView.tsx +0 -148
  945. package/src/components/pure/Settings.test.tsx +0 -34
  946. package/src/components/pure/Settings.tsx +0 -163
  947. package/src/components/pure/SignIn.tsx +0 -33
  948. package/src/components/pure/TestPageView.test/implementation.ts +0 -162
  949. package/src/components/pure/TestPageView.test/index.tsx +0 -20
  950. package/src/components/pure/TestPageView.test/specification.ts +0 -59
  951. package/src/components/pure/TestPageView.test/types.ts +0 -92
  952. package/src/components/pure/TestPageView.tsx +0 -611
  953. package/src/components/pure/TestPageView_utils.tsx +0 -287
  954. package/src/components/stateful/FeaturesReporter.tsx +0 -26
  955. package/src/components/stateful/GenericXMLEditor/AttributeEditor.tsx +0 -87
  956. package/src/components/stateful/GenericXMLEditor/GenericPreview.tsx +0 -160
  957. package/src/components/stateful/GenericXMLEditor/GenericTextEditor.tsx +0 -104
  958. package/src/components/stateful/GenericXMLEditor/GenericTree.tsx +0 -104
  959. package/src/components/stateful/GenericXMLEditorPage.tsx +0 -346
  960. package/src/components/stateful/GitIntegrationPage.tsx +0 -263
  961. package/src/components/stateful/ProcessManagerPage.tsx +0 -104
  962. package/src/components/stateful/ProjectPage.tsx +0 -86
  963. package/src/components/stateful/ProjectsPage.tsx +0 -100
  964. package/src/components/stateful/SkriboPage.tsx +0 -765
  965. package/src/components/stateful/TestPage.tsx +0 -269
  966. package/src/example/go.mod +0 -9
  967. package/src/example/main.go +0 -61
  968. package/src/hooks/useGitMode.ts +0 -20
  969. package/src/hooks/useTerminalWebSocket.ts +0 -49
  970. package/src/mothership/index.ts +0 -21
  971. package/src/services/FileService.ts +0 -677
  972. package/src/services/GitHubAuthService.ts +0 -240
  973. package/src/types/features.ts +0 -38
  974. package/src/utils/api.ts +0 -108
  975. package/src/utils/featureUtils.tsx +0 -42
  976. package/src/utils/gitTest.ts +0 -29
  977. package/src/utils/makePrompt.ts +0 -160
  978. package/src/utils.ts +0 -202
  979. package/stargazers.txt +0 -15
  980. package/testeranto/bundles/node/core/chunk-MJTSYIAQ.mjs +0 -1099
  981. package/testeranto/bundles/node/core/src/lib/BaseSuite.test/node.test.mjs +0 -318
  982. package/testeranto/bundles/node/core/src/lib/TipoSkripto.test/TipoSkripto.mjs +0 -572
  983. package/testeranto/bundles/node/core/src/lib/pmProxy.test/index.mjs +0 -4795
  984. package/testeranto/bundles/pure/core/chunk-6HR24P27.mjs +0 -1003
  985. package/testeranto/bundles/pure/core/src/Pure.test.mjs +0 -410
  986. package/testeranto/bundles/pure/core/src/lib/BaseSuite.test/pure.test.mjs +0 -318
  987. package/testeranto/bundles/web/core/MPLUSRounded1c-Black-O75GP5JI.ttf +0 -0
  988. package/testeranto/bundles/web/core/MPLUSRounded1c-Bold-R524Q5BH.ttf +0 -0
  989. package/testeranto/bundles/web/core/MPLUSRounded1c-ExtraBold-C6GRMYVT.ttf +0 -0
  990. package/testeranto/bundles/web/core/MPLUSRounded1c-Light-WKN65Y2C.ttf +0 -0
  991. package/testeranto/bundles/web/core/MPLUSRounded1c-Medium-ZC4DWL7C.ttf +0 -0
  992. package/testeranto/bundles/web/core/MPLUSRounded1c-Regular-DT6EKZ3S.ttf +0 -0
  993. package/testeranto/bundles/web/core/MPLUSRounded1c-Thin-YWDNVG6M.ttf +0 -0
  994. package/testeranto/bundles/web/core/chunk-AZZHJNSU.mjs +0 -30278
  995. package/testeranto/bundles/web/core/chunk-ME6I6FJZ.mjs +0 -3005
  996. package/testeranto/bundles/web/core/src/components/pure/FeaturesReporterView.test/index.html +0 -15
  997. package/testeranto/bundles/web/core/src/components/pure/FeaturesReporterView.test/index.mjs +0 -162
  998. package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.css +0 -11619
  999. package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.html +0 -15
  1000. package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.mjs +0 -6924
  1001. package/testeranto/bundles/web/core/src/lib/BaseSuite.test/web.test.html +0 -15
  1002. package/testeranto/bundles/web/core/src/lib/BaseSuite.test/web.test.mjs +0 -333
  1003. package/testeranto/metafiles/pure/core.json +0 -719
  1004. package/testeranto/metafiles/web/core.json +0 -17007
  1005. package/testeranto/reports/core/example/Calculator.golingvu/golang/stderr.log +0 -2
  1006. package/testeranto/reports/core/example/Calculator.golingvu/golang/stdout.log +0 -1
  1007. package/testeranto/reports/core/example/test_example/python/exit.log +0 -1
  1008. package/testeranto/reports/core/example/test_example/python/stderr.log +0 -24
  1009. package/testeranto/reports/core/src/Pure.test/pure/prompt.txt +0 -13
  1010. package/testeranto/reports/core/src/Pure.test/pure/type_errors.txt +0 -86
  1011. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/message.txt +0 -17
  1012. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/prompt.txt +0 -26
  1013. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/type_errors.txt +0 -69
  1014. package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/lint_errors.txt +0 -16
  1015. package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/message.txt +0 -17
  1016. package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/prompt.txt +0 -27
  1017. package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/type_errors.txt +0 -42
  1018. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/debug.log +0 -0
  1019. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/error.log +0 -0
  1020. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/exit.log +0 -0
  1021. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/info.log +0 -0
  1022. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/lint_errors.txt +0 -30
  1023. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/message.txt +0 -17
  1024. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/prompt.txt +0 -30
  1025. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/type_errors.txt +0 -58
  1026. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/warn.log +0 -0
  1027. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/exit.log +0 -1
  1028. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/lint_errors.txt +0 -0
  1029. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/message.txt +0 -17
  1030. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/prompt.txt +0 -23
  1031. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/stderr.log +0 -1
  1032. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/stdout.log +0 -4
  1033. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/tests.json +0 -120
  1034. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/type_errors.txt +0 -69
  1035. package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/exit.log +0 -0
  1036. package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/lint_errors.txt +0 -0
  1037. package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/message.txt +0 -16
  1038. package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/prompt.txt +0 -13
  1039. package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/type_errors.txt +0 -74
  1040. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/debug.log +0 -0
  1041. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/error.log +0 -0
  1042. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/exit.log +0 -0
  1043. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/info.log +0 -0
  1044. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/lint_errors.txt +0 -0
  1045. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/message.txt +0 -17
  1046. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/prompt.txt +0 -25
  1047. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/type_errors.txt +0 -69
  1048. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/warn.log +0 -0
  1049. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/exit.log +0 -1
  1050. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/lint_errors.txt +0 -0
  1051. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/message.txt +0 -16
  1052. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/prompt.txt +0 -13
  1053. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/stderr.log +0 -88
  1054. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/stdout.log +0 -521
  1055. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/tests.json +0 -166
  1056. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/type_errors.txt +0 -78
  1057. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/exit.log +0 -1
  1058. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/lint_errors.txt +0 -15
  1059. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/message.txt +0 -17
  1060. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/prompt.txt +0 -25
  1061. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/stderr.log +0 -0
  1062. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/stdout.log +0 -2
  1063. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/tests.json +0 -31
  1064. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/type_errors.txt +0 -62
  1065. package/testeranto.ts-0.0.1.tgz +0 -0
  1066. package/type-fix.txt +0 -2
  1067. /package/{src/ReportServer.ts → build-go.sh} +0 -0
  1068. /package/{src/ReportServerLib.ts → dist/types/src/app/backend/PM_WithProcesses.d.ts} +0 -0
  1069. /package/{src/components/SunriseAnimation.test/implementation.ts → dist/types/src/app/frontend/components/SunriseAnimation.test/implementation.d.ts} +0 -0
  1070. /package/{src/components/SunriseAnimation.test/index.ts → dist/types/src/app/frontend/components/SunriseAnimation.test/index.d.ts} +0 -0
  1071. /package/{src/components/SunriseAnimation.test/specification.ts → dist/types/src/app/frontend/components/SunriseAnimation.test/specification.d.ts} +0 -0
  1072. /package/{testeranto/reports/core/example/test_example/python/stdout.log → dist/types/src/app/frontend/components/pure/ArtifactTree.d.ts} +0 -0
  1073. /package/{testeranto/reports/core/src/Pure.test/pure/exit.log → dist/types/src/app/frontend/components/pure/Settings.test.d.ts} +0 -0
  1074. /package/{testeranto/reports/core/src/Pure.test/pure/lint_errors.txt → dist/types/src/app/frontend/components/pure/SingleProcessView.d.ts} +0 -0
  1075. /package/{testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/debug.log → dist/types/src/app/frontend/components/stateful/FeaturesReporter.d.ts} +0 -0
  1076. /package/{testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/error.log → dist/types/src/app/frontend/components/stateful/FileTree.d.ts} +0 -0
  1077. /package/{testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/exit.log → dist/types/src/app/frontend/components/stateful/SingleProcessPage.d.ts} +0 -0
  1078. /package/{testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/info.log → dist/types/src/app/frontend/fetchDataUtil.d.ts} +0 -0
  1079. /package/{testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/lint_errors.txt → dist/types/src/app/frontend/useFileSystemSync.d.ts} +0 -0
  1080. /package/{testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/warn.log → dist/types/src/run.d.ts} +0 -0
  1081. /package/{testeranto/reports/core/src/components/pure/ModalContent.test/index/web/debug.log → docker.md} +0 -0
  1082. /package/{testeranto/reports/core/src/components/pure/ModalContent.test/index/web/error.log → src/app/frontend/components/SunriseAnimation.test/implementation.ts} +0 -0
  1083. /package/{testeranto/reports/core/src/components/pure/ModalContent.test/index/web/exit.log → src/app/frontend/components/SunriseAnimation.test/index.ts} +0 -0
  1084. /package/src/{components → app/frontend/components}/SunriseAnimation.test/index.tsx +0 -0
  1085. /package/{testeranto/reports/core/src/components/pure/ModalContent.test/index/web/info.log → src/app/frontend/components/SunriseAnimation.test/specification.ts} +0 -0
  1086. /package/src/{components → app/frontend/components}/TestStatusBadge.tsx +0 -0
  1087. /package/src/{components → app/frontend/components}/pure/AppFrame.test/implementation.tsx +0 -0
  1088. /package/src/{components → app/frontend/components}/pure/AppFrame.test/index.tsx +0 -0
  1089. /package/src/{components → app/frontend/components}/pure/AppFrame.test/specification.ts +0 -0
  1090. /package/src/{components → app/frontend/components}/pure/AppFrame.test/types.ts +0 -0
  1091. /package/src/{components → app/frontend/components}/pure/ArtifactTree.tsx +0 -0
  1092. /package/src/{components → app/frontend/components}/pure/BuildLogViewer.tsx +0 -0
  1093. /package/src/{components → app/frontend/components}/pure/DebugEnv.tsx +0 -0
  1094. /package/src/{components → app/frontend/components}/pure/FeaturesReporterView.test/implementation.tsx +0 -0
  1095. /package/src/{components → app/frontend/components}/pure/FeaturesReporterView.test/index.tsx +0 -0
  1096. /package/src/{components → app/frontend/components}/pure/FeaturesReporterView.test/specification.ts +0 -0
  1097. /package/src/{components → app/frontend/components}/pure/FeaturesReporterView.test/types.ts +0 -0
  1098. /package/src/{components → app/frontend/components}/pure/FileTree.tsx +0 -0
  1099. /package/src/{components → app/frontend/components}/pure/FileTreeItem.tsx +0 -0
  1100. /package/src/{components → app/frontend/components}/pure/ModalContent.test/implementation.tsx +0 -0
  1101. /package/src/{components → app/frontend/components}/pure/ModalContent.test/specification.ts +0 -0
  1102. /package/src/{components → app/frontend/components}/pure/ModalContent.test/types.ts +0 -0
  1103. /package/src/{components → app/frontend/components}/pure/ModalContent.tsx +0 -0
  1104. /package/src/{components → app/frontend/components}/pure/ProcessDetails.tsx +0 -0
  1105. /package/src/{components → app/frontend/components}/pure/ProcessInput.tsx +0 -0
  1106. /package/src/{components → app/frontend/components}/pure/ProcessList.tsx +0 -0
  1107. /package/src/{components → app/frontend/components}/pure/ProcessLogs.tsx +0 -0
  1108. /package/src/{components → app/frontend/components}/pure/ProcessManager.tsx +0 -0
  1109. /package/src/{components → app/frontend/components}/pure/ProcessManagerViewTypes.ts +0 -0
  1110. /package/src/{components → app/frontend/components}/pure/ProcessSidebar.tsx +0 -0
  1111. /package/src/{components → app/frontend/components}/pure/ProjectPageView.test/index.tsx +0 -0
  1112. /package/src/{components → app/frontend/components}/pure/ProjectPageView.test/specification.ts +0 -0
  1113. /package/src/{components → app/frontend/components}/pure/ProjectPageView.test/types.ts +0 -0
  1114. /package/src/{components → app/frontend/components}/pure/ProjectsPageView.tsx +0 -0
  1115. /package/src/{components → app/frontend/components}/pure/SettingsButton.md +0 -0
  1116. /package/src/{components → app/frontend/components}/pure/SettingsButton.tsx +0 -0
  1117. /package/src/{components → app/frontend/components}/pure/SingleProcessView.tsx +0 -0
  1118. /package/src/{components → app/frontend/components}/pure/TerminalInput.tsx +0 -0
  1119. /package/src/{components → app/frontend/components}/pure/TerminalLogs.tsx +0 -0
  1120. /package/src/{components → app/frontend/components}/pure/TestTable.tsx +0 -0
  1121. /package/src/{components → app/frontend/components}/pure/ThemeCard.tsx +0 -0
  1122. /package/src/{components → app/frontend/components}/pure/ToastNotification.tsx +0 -0
  1123. /package/src/{components → app/frontend/components}/pure/UserProfile.tsx +0 -0
  1124. /package/src/{components → app/frontend/components}/stateful/AuthCallbackPage.tsx +0 -0
  1125. /package/src/{components → app/frontend/components}/stateful/DratoPage.tsx +0 -0
  1126. /package/src/{components → app/frontend/components}/stateful/FileTree.tsx +0 -0
  1127. /package/src/{components → app/frontend/components}/stateful/GenericXMLEditor/Drawer.tsx +0 -0
  1128. /package/src/{components → app/frontend/components}/stateful/GrafeoPage.tsx +0 -0
  1129. /package/src/{components → app/frontend/components}/stateful/SVGEditor/CircleForm.tsx +0 -0
  1130. /package/src/{components → app/frontend/components}/stateful/SVGEditor/GroupForm.tsx +0 -0
  1131. /package/src/{components → app/frontend/components}/stateful/SVGEditor/RectForm.tsx +0 -0
  1132. /package/src/{components → app/frontend/components}/stateful/SVGEditor/SVGAttributeField.tsx +0 -0
  1133. /package/src/{components → app/frontend/components}/stateful/SVGEditor/SVGAttributesEditor.tsx +0 -0
  1134. /package/src/{components → app/frontend/components}/stateful/SVGEditor/SVGEditorControls.tsx +0 -0
  1135. /package/src/{components → app/frontend/components}/stateful/SVGEditor/SVGElementForm.tsx +0 -0
  1136. /package/src/{components → app/frontend/components}/stateful/SVGEditor/SVGPreview.tsx +0 -0
  1137. /package/src/{components → app/frontend/components}/stateful/SVGEditor/SVGTextEditor.tsx +0 -0
  1138. /package/src/{components → app/frontend/components}/stateful/SVGEditor/SVGTree.tsx +0 -0
  1139. /package/src/{components → app/frontend/components}/stateful/SVGEditor/SVGTypes.ts +0 -0
  1140. /package/src/{components → app/frontend/components}/stateful/SVGEditor/svg.xsd.xml +0 -0
  1141. /package/src/{components → app/frontend/components}/stateful/SVGEditorPage.tsx +0 -0
  1142. /package/src/{components → app/frontend/components}/stateful/SettingsPage.tsx +0 -0
  1143. /package/src/{components → app/frontend/components}/stateful/SingleProcessPage.tsx +0 -0
  1144. /package/src/{components → app/frontend/components}/stateful/TextEditorPage.tsx +0 -0
  1145. /package/testeranto/{projects.html → index.html} +0 -0
  1146. /package/testeranto/reports/core/example/{Calculator.golingvu → Calculator.golingvu.test}/golang/exit.log +0 -0
  1147. /package/testeranto/reports/core/{src/components/pure/ModalContent.test/index/web/warn.log → example/Calculator.golingvu.test/golang/stdout.log} +0 -0
  1148. /package/testeranto/reports/core/{src/Pure.test/pure → example/Calculator.pitono.test/python}/message.txt +0 -0
@@ -0,0 +1,1188 @@
1
+ /* eslint-disable @typescript-eslint/ban-ts-comment */
2
+ /* eslint-disable @typescript-eslint/no-explicit-any */
3
+ /* eslint-disable @typescript-eslint/no-unused-vars */
4
+
5
+ import path from "path";
6
+ import puppeteer, { executablePath } from "puppeteer-core";
7
+ import ansiC from "ansi-colors";
8
+ import { IBuiltConfig, IRunTime, ISummary } from "../../Types.js";
9
+ import { ChildProcess } from "child_process";
10
+ import fs, { watch } from "fs";
11
+
12
+ import {
13
+ createLogStreams,
14
+ filesHash,
15
+ IOutputs,
16
+ isValidUrl,
17
+ pollForFile,
18
+ puppeteerConfigs,
19
+ writeFileAndCreateDir,
20
+ } from "../../PM/utils.js";
21
+
22
+ import { PM_0 } from "./PM_0.js";
23
+ import { makePrompt } from "./makePrompt.js";
24
+ import { getRunnables } from "./utils.js";
25
+
26
+ const changes: Record<string, string> = {};
27
+
28
+ export abstract class PM_1_WithProcesses extends PM_0 {
29
+ summary: ISummary = {};
30
+
31
+ webMetafileWatcher: fs.FSWatcher;
32
+ nodeMetafileWatcher: fs.FSWatcher;
33
+ importMetafileWatcher: fs.FSWatcher;
34
+ pitonoMetafileWatcher: fs.FSWatcher;
35
+ golangMetafileWatcher: fs.FSWatcher;
36
+
37
+ ports: Record<number, string>;
38
+ queue: string[];
39
+ logStreams: Record<string, ReturnType<typeof createLogStreams>> = {};
40
+ launchers: Record<string, () => void>;
41
+
42
+ abstract launchNode(src: string, dest: string);
43
+ abstract launchWeb(src: string, dest: string);
44
+ abstract launchPure(src: string, dest: string);
45
+ abstract launchPython(src: string, dest: string);
46
+ abstract launchGolang(src: string, dest: string);
47
+ abstract startBuildProcesses(): Promise<void>;
48
+
49
+ abstract tscCheck({
50
+ entrypoint,
51
+ addableFiles,
52
+ platform,
53
+ }: {
54
+ entrypoint: string;
55
+ addableFiles: string[];
56
+ platform: IRunTime;
57
+ });
58
+
59
+ abstract eslintCheck({
60
+ entrypoint,
61
+ addableFiles,
62
+ platform,
63
+ }: {
64
+ entrypoint: string;
65
+ addableFiles: string[];
66
+ platform: IRunTime;
67
+ });
68
+
69
+ abstract onBuildDone(): void;
70
+
71
+ runningProcesses: Map<string, ChildProcess | Promise<any>> = new Map();
72
+
73
+ allProcesses: Map<
74
+ string,
75
+ {
76
+ child?: ChildProcess;
77
+ promise?: Promise<any>;
78
+ status: "running" | "exited" | "error" | "completed";
79
+ exitCode?: number;
80
+ error?: string;
81
+ command: string;
82
+ pid?: number;
83
+ timestamp: string;
84
+ type: "process" | "promise";
85
+ category: "aider" | "bdd-test" | "build-time" | "other";
86
+ testName?: string;
87
+ platform?: "node" | "web" | "pure" | "python" | "golang";
88
+ }
89
+ > = new Map();
90
+ processLogs: Map<string, string[]> = new Map();
91
+
92
+ clients: Set<any> = new Set();
93
+ public fs: import("@isomorphic-git/lightning-fs");
94
+ connected: boolean;
95
+
96
+ constructor(configs: IBuiltConfig, name, mode) {
97
+ super(configs, name, mode);
98
+
99
+ console.log("mark5", configs);
100
+
101
+ console.log("mark1", this.configs);
102
+
103
+ this.configs.tests.forEach(([t, rt, tr, sidecars]) => {
104
+ this.ensureSummaryEntry(t);
105
+ sidecars.forEach(([sidecarName]) => {
106
+ this.ensureSummaryEntry(sidecarName, true);
107
+ });
108
+ });
109
+
110
+ this.launchers = {};
111
+ this.ports = {};
112
+ this.queue = [];
113
+
114
+ this.configs.ports.forEach((element) => {
115
+ this.ports[element] = ""; // set ports as open
116
+ });
117
+ }
118
+
119
+ writeBigBoard = () => {
120
+ // note: this path is different from the one used by front end
121
+ const summaryPath = `./testeranto/reports/${this.projectName}/summary.json`;
122
+ const summaryData = JSON.stringify(this.summary, null, 2);
123
+ fs.writeFileSync(summaryPath, summaryData);
124
+
125
+ // Broadcast the update
126
+ this.webSocketBroadcastMessage({
127
+ type: "summaryUpdate",
128
+ data: this.summary,
129
+ });
130
+ };
131
+
132
+ webSocketBroadcastMessage(message: any) {
133
+ const data =
134
+ typeof message === "string" ? message : JSON.stringify(message);
135
+ this.clients.forEach((client) => {
136
+ if (client.readyState === 1) {
137
+ client.send(data);
138
+ }
139
+ });
140
+ }
141
+
142
+ addPromiseProcess(
143
+ processId: string,
144
+ promise: Promise<any>,
145
+ command: string,
146
+ category: "aider" | "bdd-test" | "build-time" | "other" = "other",
147
+ testName?: string,
148
+ platform?: "node" | "web" | "pure" | "python" | "golang",
149
+ onResolve?: (result: any) => void,
150
+ onReject?: (error: any) => void
151
+ ) {
152
+ this.runningProcesses.set(processId, promise);
153
+ this.allProcesses.set(processId, {
154
+ promise,
155
+ status: "running",
156
+ command,
157
+ timestamp: new Date().toISOString(),
158
+ type: "promise",
159
+ category,
160
+ testName,
161
+ platform,
162
+ });
163
+
164
+ // Initialize logs for this process
165
+ this.processLogs.set(processId, []);
166
+
167
+ const startMessage = `Starting: ${command}`;
168
+ const logs = this.processLogs.get(processId) || [];
169
+ logs.push(startMessage);
170
+ this.processLogs.set(processId, logs);
171
+
172
+ this.webSocketBroadcastMessage({
173
+ type: "processStarted",
174
+ processId,
175
+ command,
176
+ timestamp: new Date().toISOString(),
177
+ logs: [startMessage],
178
+ });
179
+
180
+ promise
181
+ .then((result) => {
182
+ this.runningProcesses.delete(processId);
183
+ const processInfo = this.allProcesses.get(processId);
184
+ if (processInfo) {
185
+ this.allProcesses.set(processId, {
186
+ ...processInfo,
187
+ status: "completed",
188
+ exitCode: 0,
189
+ });
190
+ }
191
+
192
+ // Add log entry for process completion
193
+ const successMessage = `Completed successfully with result: ${JSON.stringify(
194
+ result
195
+ )}`;
196
+ const currentLogs = this.processLogs.get(processId) || [];
197
+ currentLogs.push(successMessage);
198
+ this.processLogs.set(processId, currentLogs);
199
+
200
+ this.webSocketBroadcastMessage({
201
+ type: "processExited",
202
+ processId,
203
+ exitCode: 0,
204
+ timestamp: new Date().toISOString(),
205
+ logs: [successMessage],
206
+ });
207
+ if (onResolve) onResolve(result);
208
+ })
209
+ .catch((error) => {
210
+ this.runningProcesses.delete(processId);
211
+
212
+ const processInfo = this.allProcesses.get(processId);
213
+ if (processInfo) {
214
+ this.allProcesses.set(processId, {
215
+ ...processInfo,
216
+ status: "error",
217
+ error: error.message,
218
+ });
219
+ }
220
+
221
+ const errorMessage = `Failed with error: ${error.message}`;
222
+ const currentLogs = this.processLogs.get(processId) || [];
223
+ currentLogs.push(errorMessage);
224
+ this.processLogs.set(processId, currentLogs);
225
+
226
+ this.webSocketBroadcastMessage({
227
+ type: "processError",
228
+ processId,
229
+ error: error.message,
230
+ timestamp: new Date().toISOString(),
231
+ logs: [errorMessage],
232
+ });
233
+ if (onReject) onReject(error);
234
+ });
235
+
236
+ return processId;
237
+ }
238
+
239
+ getProcessesByCategory(
240
+ category: "aider" | "bdd-test" | "build-time" | "other"
241
+ ) {
242
+ return Array.from(this.allProcesses.entries())
243
+ .filter(([id, procInfo]) => procInfo.category === category)
244
+ .map(([id, procInfo]) => ({
245
+ processId: id,
246
+ command: procInfo.command,
247
+ pid: procInfo.pid,
248
+ status: procInfo.status,
249
+ exitCode: procInfo.exitCode,
250
+ error: procInfo.error,
251
+ timestamp: procInfo.timestamp,
252
+ category: procInfo.category,
253
+ testName: procInfo.testName,
254
+ platform: procInfo.platform,
255
+ logs: this.processLogs.get(id) || [],
256
+ }));
257
+ }
258
+
259
+ getBDDTestProcesses() {
260
+ return this.getProcessesByCategory("bdd-test");
261
+ }
262
+
263
+ getBuildTimeProcesses() {
264
+ return this.getProcessesByCategory("build-time");
265
+ }
266
+
267
+ getAiderProcesses() {
268
+ return this.getProcessesByCategory("aider");
269
+ }
270
+
271
+ getProcessesByTestName(testName: string) {
272
+ return Array.from(this.allProcesses.entries())
273
+ .filter(([id, procInfo]) => procInfo.testName === testName)
274
+ .map(([id, procInfo]) => ({
275
+ processId: id,
276
+ command: procInfo.command,
277
+ pid: procInfo.pid,
278
+ status: procInfo.status,
279
+ exitCode: procInfo.exitCode,
280
+ error: procInfo.error,
281
+ timestamp: procInfo.timestamp,
282
+ category: procInfo.category,
283
+ testName: procInfo.testName,
284
+ platform: procInfo.platform,
285
+ logs: this.processLogs.get(id) || [],
286
+ }));
287
+ }
288
+
289
+ getProcessesByPlatform(
290
+ platform: "node" | "web" | "pure" | "pitono" | "golang"
291
+ ) {
292
+ return Array.from(this.allProcesses.entries())
293
+ .filter(([id, procInfo]) => procInfo.platform === platform)
294
+ .map(([id, procInfo]) => ({
295
+ processId: id,
296
+ command: procInfo.command,
297
+ pid: procInfo.pid,
298
+ status: procInfo.status,
299
+ exitCode: procInfo.exitCode,
300
+ error: procInfo.error,
301
+ timestamp: procInfo.timestamp,
302
+ category: procInfo.category,
303
+ testName: procInfo.testName,
304
+ platform: procInfo.platform,
305
+ logs: this.processLogs.get(id) || [],
306
+ }));
307
+ }
308
+
309
+ bddTestIsRunning(src: string) {
310
+ // @ts-ignore
311
+ this.summary[src] = {
312
+ prompt: "?",
313
+ runTimeErrors: "?",
314
+ staticErrors: "?",
315
+ typeErrors: "?",
316
+ failingFeatures: {},
317
+ };
318
+ }
319
+
320
+ async metafileOutputs(platform: IRunTime) {
321
+ let metafilePath: string;
322
+ if (platform === "python") {
323
+ metafilePath = `./testeranto/metafiles/python/core.json`;
324
+ } else {
325
+ metafilePath = `./testeranto/metafiles/${platform}/${this.projectName}.json`;
326
+ }
327
+
328
+ // Ensure the metafile exists
329
+ if (!fs.existsSync(metafilePath)) {
330
+ console.log(
331
+ ansiC.yellow(`Metafile not found at ${metafilePath}, skipping`)
332
+ );
333
+ return;
334
+ }
335
+
336
+ let metafile;
337
+ try {
338
+ const fileContent = fs.readFileSync(metafilePath).toString();
339
+ const parsedData = JSON.parse(fileContent);
340
+ // Handle different metafile structures
341
+ if (platform === "python") {
342
+ // Pitono metafile might be the entire content or have a different structure
343
+ metafile = parsedData.metafile || parsedData;
344
+ } else {
345
+ metafile = parsedData.metafile;
346
+ }
347
+ if (!metafile) {
348
+ console.log(
349
+ ansiC.yellow(ansiC.inverse(`No metafile found in ${metafilePath}`))
350
+ );
351
+ return;
352
+ }
353
+ // console.log(
354
+ // ansiC.blue(
355
+ // `Found metafile for ${platform} with ${
356
+ // Object.keys(metafile.outputs || {}).length
357
+ // } outputs`
358
+ // )
359
+ // );
360
+ } catch (error) {
361
+ console.error(`Error reading metafile at ${metafilePath}:`, error);
362
+ return;
363
+ }
364
+
365
+ const outputs: IOutputs = metafile.outputs;
366
+
367
+ // Check if outputs exists and is an object
368
+ // if (!outputs || typeof outputs !== "object") {
369
+ // console.log(
370
+ // ansiC.yellow(
371
+ // ansiC.inverse(`No outputs found in metafile at ${metafilePath}`)
372
+ // )
373
+ // );
374
+ // return;
375
+ // }
376
+
377
+ // @ts-ignore
378
+ Object.keys(outputs).forEach(async (k) => {
379
+ const pattern = `testeranto/bundles/${platform}/${this.projectName}/${this.configs.src}`;
380
+ if (!k.startsWith(pattern)) {
381
+ return;
382
+ }
383
+
384
+ // // @ts-ignore
385
+ const output = outputs[k];
386
+ // Check if the output entry exists and has inputs
387
+ // if (!output || !output.inputs) {
388
+ // return;
389
+ // }
390
+
391
+ // @ts-ignore
392
+ const addableFiles = Object.keys(output.inputs).filter((i) => {
393
+ if (!fs.existsSync(i)) return false;
394
+ if (i.startsWith("node_modules")) return false;
395
+ if (i.startsWith("./node_modules")) return false;
396
+
397
+ return true;
398
+ });
399
+
400
+ const f = `${k.split(".").slice(0, -1).join(".")}/`;
401
+
402
+ if (!fs.existsSync(f)) {
403
+ fs.mkdirSync(f, { recursive: true });
404
+ }
405
+
406
+ // @ts-ignore
407
+ let entrypoint = output.entryPoint;
408
+
409
+ if (entrypoint) {
410
+ // Normalize the entrypoint path to ensure consistent comparison
411
+ entrypoint = path.normalize(entrypoint);
412
+
413
+ const changeDigest = await filesHash(addableFiles);
414
+
415
+ if (changeDigest === changes[entrypoint]) {
416
+ // skip
417
+ } else {
418
+ changes[entrypoint] = changeDigest;
419
+
420
+ // Run appropriate static analysis based on platform
421
+ if (
422
+ platform === "node" ||
423
+ platform === "web" ||
424
+ platform === "pure"
425
+ ) {
426
+ this.tscCheck({ entrypoint, addableFiles, platform });
427
+ this.eslintCheck({ entrypoint, addableFiles, platform });
428
+ } else if (platform === "python") {
429
+ this.pythonLintCheck(entrypoint, addableFiles);
430
+ this.pythonTypeCheck(entrypoint, addableFiles);
431
+ }
432
+
433
+ makePrompt(
434
+ this.summary,
435
+ this.projectName,
436
+ entrypoint,
437
+ addableFiles,
438
+ platform
439
+ );
440
+
441
+ const testName = this.findTestNameByEntrypoint(entrypoint, platform);
442
+ if (testName) {
443
+ console.log(
444
+ ansiC.green(
445
+ ansiC.inverse(
446
+ `Source files changed, re-queueing test: ${testName}`
447
+ )
448
+ )
449
+ );
450
+ this.addToQueue(testName, platform);
451
+ } else {
452
+ console.error(
453
+ `Could not find test for entrypoint: ${entrypoint} (${platform})`
454
+ );
455
+ process.exit(-1);
456
+ }
457
+ }
458
+ }
459
+ });
460
+ }
461
+
462
+ private findTestNameByEntrypoint(
463
+ entrypoint: string,
464
+ platform: IRunTime
465
+ ): string | null {
466
+ const runnables = getRunnables(this.configs.tests, this.projectName);
467
+
468
+ let entryPointsMap: Record<string, string>;
469
+
470
+ switch (platform) {
471
+ case "node":
472
+ entryPointsMap = runnables.nodeEntryPoints;
473
+ break;
474
+ case "web":
475
+ entryPointsMap = runnables.webEntryPoints;
476
+ break;
477
+ case "pure":
478
+ entryPointsMap = runnables.pureEntryPoints;
479
+ break;
480
+ case "python":
481
+ entryPointsMap = runnables.pythonEntryPoints;
482
+ break;
483
+ case "golang":
484
+ entryPointsMap = runnables.golangEntryPoints;
485
+ break;
486
+ default:
487
+ throw "wtf";
488
+ }
489
+
490
+ if (!entryPointsMap) {
491
+ console.error("idk");
492
+ }
493
+
494
+ if (!entryPointsMap[entrypoint]) {
495
+ console.error(`${entrypoint} not found`);
496
+ }
497
+
498
+ return entryPointsMap[entrypoint];
499
+ }
500
+
501
+ async pythonLintCheck(entrypoint: string, addableFiles: string[]) {
502
+ const reportDest = `testeranto/reports/${this.projectName}/${entrypoint
503
+ .split(".")
504
+ .slice(0, -1)
505
+ .join(".")}/python`;
506
+
507
+ if (!fs.existsSync(reportDest)) {
508
+ fs.mkdirSync(reportDest, { recursive: true });
509
+ }
510
+
511
+ const lintErrorsPath = `${reportDest}/lint_errors.txt`;
512
+
513
+ try {
514
+ // Use flake8 for Python linting
515
+ const { spawn } = await import("child_process");
516
+ const child = spawn("flake8", [entrypoint, "--max-line-length=88"], {
517
+ stdio: ["pipe", "pipe", "pipe"],
518
+ });
519
+
520
+ let stderr = "";
521
+ child.stderr.on("data", (data) => {
522
+ stderr += data.toString();
523
+ });
524
+
525
+ let stdout = "";
526
+ child.stdout.on("data", (data) => {
527
+ stdout += data.toString();
528
+ });
529
+
530
+ return new Promise<void>((resolve) => {
531
+ child.on("close", () => {
532
+ const output = stdout + stderr;
533
+ if (output.trim()) {
534
+ fs.writeFileSync(lintErrorsPath, output);
535
+ this.summary[entrypoint].staticErrors = output.split("\n").length;
536
+ } else {
537
+ if (fs.existsSync(lintErrorsPath)) {
538
+ fs.unlinkSync(lintErrorsPath);
539
+ }
540
+ this.summary[entrypoint].staticErrors = 0;
541
+ }
542
+ resolve();
543
+ });
544
+ });
545
+ } catch (error) {
546
+ console.error(`Error running flake8 on ${entrypoint}:`, error);
547
+ fs.writeFileSync(
548
+ lintErrorsPath,
549
+ `Error running flake8: ${error.message}`
550
+ );
551
+ this.summary[entrypoint].staticErrors = -1;
552
+ }
553
+ }
554
+
555
+ async pythonTypeCheck(entrypoint: string, addableFiles: string[]) {
556
+ const reportDest = `testeranto/reports/${this.projectName}/${entrypoint
557
+ .split(".")
558
+ .slice(0, -1)
559
+ .join(".")}/python`;
560
+
561
+ if (!fs.existsSync(reportDest)) {
562
+ fs.mkdirSync(reportDest, { recursive: true });
563
+ }
564
+
565
+ const typeErrorsPath = `${reportDest}/type_errors.txt`;
566
+
567
+ try {
568
+ // Use mypy for Python type checking
569
+ const { spawn } = await import("child_process");
570
+ const child = spawn("mypy", [entrypoint], {
571
+ stdio: ["pipe", "pipe", "pipe"],
572
+ });
573
+
574
+ let stderr = "";
575
+ child.stderr.on("data", (data) => {
576
+ stderr += data.toString();
577
+ });
578
+
579
+ let stdout = "";
580
+ child.stdout.on("data", (data) => {
581
+ stdout += data.toString();
582
+ });
583
+
584
+ return new Promise<void>((resolve) => {
585
+ child.on("close", () => {
586
+ const output = stdout + stderr;
587
+ if (output.trim()) {
588
+ fs.writeFileSync(typeErrorsPath, output);
589
+ this.summary[entrypoint].typeErrors = output.split("\n").length;
590
+ } else {
591
+ if (fs.existsSync(typeErrorsPath)) {
592
+ fs.unlinkSync(typeErrorsPath);
593
+ }
594
+ this.summary[entrypoint].typeErrors = 0;
595
+ }
596
+ resolve();
597
+ });
598
+ });
599
+ } catch (error) {
600
+ console.error(`Error running mypy on ${entrypoint}:`, error);
601
+ fs.writeFileSync(typeErrorsPath, `Error running mypy: ${error.message}`);
602
+ this.summary[entrypoint].typeErrors = -1;
603
+ }
604
+ }
605
+
606
+ async start() {
607
+ // Wait for build processes to complete first
608
+ try {
609
+ await this.startBuildProcesses();
610
+
611
+ // Generate Python metafile if there are Python tests
612
+ const pythonTests = this.configs.tests.filter(
613
+ (test) => test[1] === "python"
614
+ );
615
+ if (pythonTests.length > 0) {
616
+ const { generatePitonoMetafile, writePitonoMetafile } = await import(
617
+ "../../utils/pitonoMetafile.js"
618
+ );
619
+ const entryPoints = pythonTests.map((test) => test[0]);
620
+ const metafile = await generatePitonoMetafile(
621
+ this.projectName,
622
+ entryPoints
623
+ );
624
+ writePitonoMetafile(this.projectName, metafile);
625
+ }
626
+
627
+ this.onBuildDone();
628
+ } catch (error) {
629
+ console.error("Build processes failed:", error);
630
+ return;
631
+ }
632
+
633
+ // Continue with the rest of the setup after builds are done
634
+ this.mapping().forEach(async ([command, func]) => {
635
+ globalThis[command] = func;
636
+ });
637
+
638
+ if (!fs.existsSync(`testeranto/reports/${this.projectName}`)) {
639
+ fs.mkdirSync(`testeranto/reports/${this.projectName}`);
640
+ }
641
+
642
+ try {
643
+ this.browser = await puppeteer.launch(puppeteerConfigs);
644
+ } catch (e) {
645
+ console.error(e);
646
+ console.error(
647
+ "could not start chrome via puppeter. Check this path: ",
648
+ executablePath
649
+ );
650
+ }
651
+
652
+ const runnables = getRunnables(this.configs.tests, this.projectName);
653
+ const {
654
+ nodeEntryPoints,
655
+ webEntryPoints,
656
+ pureEntryPoints,
657
+ pythonEntryPoints,
658
+ golangEntryPoints,
659
+ } = runnables;
660
+
661
+ // Add all tests to the queue
662
+ [
663
+ ["node", nodeEntryPoints],
664
+ ["web", webEntryPoints],
665
+ ["pure", pureEntryPoints],
666
+ ["python", pythonEntryPoints],
667
+ ["golang", golangEntryPoints],
668
+ ].forEach(([runtime, entryPoints]: [IRunTime, Record<string, string>]) => {
669
+ Object.keys(entryPoints).forEach((entryPoint) => {
670
+ // Create the report directory
671
+ const reportDest = `testeranto/reports/${this.projectName}/${entryPoint
672
+ .split(".")
673
+ .slice(0, -1)
674
+ .join(".")}/${runtime}`;
675
+ if (!fs.existsSync(reportDest)) {
676
+ fs.mkdirSync(reportDest, { recursive: true });
677
+ }
678
+
679
+ // Add to the processing queue
680
+ this.addToQueue(entryPoint, runtime);
681
+ });
682
+ });
683
+
684
+ // Set up metafile watchers for each runtime
685
+ const runtimeConfigs = [
686
+ ["node", nodeEntryPoints],
687
+ ["web", webEntryPoints],
688
+ ["pure", pureEntryPoints],
689
+ ["python", pythonEntryPoints],
690
+ ["golang", golangEntryPoints],
691
+ ];
692
+
693
+ for (const [runtime, entryPoints] of runtimeConfigs) {
694
+ if (Object.keys(entryPoints).length === 0) continue;
695
+
696
+ // For python, the metafile path is different
697
+ let metafile: string;
698
+ if (runtime === "python") {
699
+ metafile = `./testeranto/metafiles/${runtime}/core.json`;
700
+ } else {
701
+ metafile = `./testeranto/metafiles/${runtime}/${this.projectName}.json`;
702
+ }
703
+
704
+ // Ensure the directory exists
705
+ const metafileDir = metafile.split("/").slice(0, -1).join("/");
706
+ if (!fs.existsSync(metafileDir)) {
707
+ fs.mkdirSync(metafileDir, { recursive: true });
708
+ }
709
+
710
+ try {
711
+ // For python, we may need to generate the metafile first
712
+ if (runtime === "python" && !fs.existsSync(metafile)) {
713
+ const { generatePitonoMetafile, writePitonoMetafile } = await import(
714
+ "../../utils/pitonoMetafile.js"
715
+ );
716
+ const entryPointList = Object.keys(entryPoints);
717
+ if (entryPointList.length > 0) {
718
+ const metafileData = await generatePitonoMetafile(
719
+ this.projectName,
720
+ entryPointList
721
+ );
722
+ writePitonoMetafile(this.projectName, metafileData);
723
+ }
724
+ }
725
+
726
+ await pollForFile(metafile);
727
+ // console.log("Found metafile for", runtime, metafile);
728
+
729
+ // Set up watcher for the metafile with debouncing
730
+ let timeoutId: NodeJS.Timeout;
731
+ const watcher = watch(metafile, async (e, filename) => {
732
+ // Debounce to avoid multiple rapid triggers
733
+ clearTimeout(timeoutId);
734
+ timeoutId = setTimeout(async () => {
735
+ console.log(
736
+ ansiC.yellow(ansiC.inverse(`< ${e} ${filename} (${runtime})`))
737
+ );
738
+ try {
739
+ await this.metafileOutputs(runtime as IRunTime);
740
+ // After processing metafile changes, check the queue to run tests
741
+ console.log(
742
+ ansiC.blue(
743
+ `Metafile processed, checking queue for tests to run`
744
+ )
745
+ );
746
+ this.checkQueue();
747
+ } catch (error) {
748
+ console.error(`Error processing metafile changes:`, error);
749
+ }
750
+ }, 300); // 300ms debounce
751
+ });
752
+
753
+ // Store the watcher based on runtime
754
+ switch (runtime) {
755
+ case "node":
756
+ this.nodeMetafileWatcher = watcher;
757
+ break;
758
+ case "web":
759
+ this.webMetafileWatcher = watcher;
760
+ break;
761
+ case "pure":
762
+ this.importMetafileWatcher = watcher;
763
+ break;
764
+ case "python":
765
+ this.pitonoMetafileWatcher = watcher;
766
+ break;
767
+ case "golang":
768
+ this.golangMetafileWatcher = watcher;
769
+ break;
770
+ }
771
+
772
+ // Read the metafile immediately
773
+ await this.metafileOutputs(runtime as IRunTime);
774
+ } catch (error) {
775
+ console.error(`Error setting up watcher for ${runtime}:`, error);
776
+ }
777
+ }
778
+ }
779
+
780
+ async stop() {
781
+ console.log(ansiC.inverse("Testeranto-Run is shutting down gracefully..."));
782
+ this.mode = "once";
783
+ this.nodeMetafileWatcher.close();
784
+ this.webMetafileWatcher.close();
785
+ this.importMetafileWatcher.close();
786
+ if (this.pitonoMetafileWatcher) {
787
+ this.pitonoMetafileWatcher.close();
788
+ }
789
+
790
+ // if (this.gitWatcher) {
791
+ // this.gitWatcher.close();
792
+ // }
793
+
794
+ // if (this.gitWatchTimeout) {
795
+ // clearTimeout(this.gitWatchTimeout);
796
+ // }
797
+
798
+ Object.values(this.logStreams || {}).forEach((logs) => logs.closeAll());
799
+
800
+ // if (this.wss) {
801
+ // this.wss.close(() => {
802
+ // console.log("WebSocket server closed");
803
+ // });
804
+ // }
805
+
806
+ this.clients.forEach((client) => {
807
+ client.terminate();
808
+ });
809
+ this.clients.clear();
810
+
811
+ // if (this.httpServer) {
812
+ // this.httpServer.close(() => {
813
+ // console.log("HTTP server closed");
814
+ // });
815
+ // }
816
+ this.checkForShutdown();
817
+ }
818
+
819
+ receiveFeaturesV2 = (
820
+ reportDest: string,
821
+ srcTest: string,
822
+ platform: IRunTime
823
+ ) => {
824
+ const featureDestination = path.resolve(
825
+ process.cwd(),
826
+ "reports",
827
+ "features",
828
+ "strings",
829
+ srcTest.split(".").slice(0, -1).join(".") + ".features.txt"
830
+ );
831
+
832
+ const testReportPath = `${reportDest}/tests.json`;
833
+ if (!fs.existsSync(testReportPath)) {
834
+ console.error(`tests.json not found at: ${testReportPath}`);
835
+ return;
836
+ }
837
+
838
+ const testReport = JSON.parse(fs.readFileSync(testReportPath, "utf8"));
839
+
840
+ // Add full path information to each test
841
+ if (testReport.tests) {
842
+ testReport.tests.forEach((test) => {
843
+ // Add the full path to each test
844
+ test.fullPath = path.resolve(process.cwd(), srcTest);
845
+ });
846
+ }
847
+
848
+ // Add full path to the report itself
849
+ testReport.fullPath = path.resolve(process.cwd(), srcTest);
850
+
851
+ // Write the modified report back
852
+ fs.writeFileSync(testReportPath, JSON.stringify(testReport, null, 2));
853
+
854
+ testReport.features
855
+ .reduce(async (mm, featureStringKey) => {
856
+ const accum = await mm;
857
+
858
+ const isUrl = isValidUrl(featureStringKey);
859
+
860
+ if (isUrl) {
861
+ const u = new URL(featureStringKey);
862
+
863
+ if (u.protocol === "file:") {
864
+ accum.files.push(u.pathname);
865
+ } else if (u.protocol === "http:" || u.protocol === "https:") {
866
+ const newPath = `${process.cwd()}/testeranto/features/external/${
867
+ u.hostname
868
+ }${u.pathname}`;
869
+
870
+ const body = await this.configs.featureIngestor(featureStringKey);
871
+
872
+ writeFileAndCreateDir(newPath, body);
873
+ accum.files.push(newPath);
874
+ }
875
+ } else {
876
+ await fs.promises.mkdir(path.dirname(featureDestination), {
877
+ recursive: true,
878
+ });
879
+
880
+ accum.strings.push(featureStringKey);
881
+ }
882
+
883
+ return accum;
884
+ }, Promise.resolve({ files: [] as string[], strings: [] as string[] }))
885
+
886
+ .then(({ files }: { files: string[]; strings: string[] }) => {
887
+ // Markdown files must be referenced in the prompt but string style features are already present in the tests.json file
888
+
889
+ fs.writeFileSync(
890
+ `testeranto/reports/${this.projectName}/${srcTest
891
+ .split(".")
892
+ .slice(0, -1)
893
+ .join(".")}/${platform}/featurePrompt.txt`,
894
+ files
895
+ .map((f) => {
896
+ return `/read ${f}`;
897
+ })
898
+ .join("\n")
899
+ );
900
+ });
901
+
902
+ testReport.givens.forEach((g) => {
903
+ if (g.failed === true) {
904
+ // @ts-ignore
905
+ this.summary[srcTest].failingFeatures[g.key] = g.features;
906
+ }
907
+ });
908
+
909
+ this.writeBigBoard();
910
+ };
911
+
912
+ addToQueue(src: string, runtime: IRunTime) {
913
+ // Ensure we're using the original test source path, not a bundle path
914
+ // The src parameter might be a bundle path from metafile changes
915
+ // We need to find the corresponding test source path
916
+
917
+ // First, check if this looks like a bundle path (contains 'testeranto/bundles')
918
+ if (src.includes("testeranto/bundles")) {
919
+ // Try to find the original test name that corresponds to this bundle
920
+ const runnables = getRunnables(this.configs.tests, this.projectName);
921
+ const allEntryPoints = [
922
+ ...Object.entries(runnables.nodeEntryPoints),
923
+ ...Object.entries(runnables.webEntryPoints),
924
+ ...Object.entries(runnables.pureEntryPoints),
925
+ ...Object.entries(runnables.pythonEntryPoints),
926
+ ...Object.entries(runnables.golangEntryPoints),
927
+ ];
928
+
929
+ // Normalize the source path for comparison
930
+ const normalizedSrc = path.normalize(src);
931
+
932
+ for (const [testName, bundlePath] of allEntryPoints) {
933
+ const normalizedBundlePath = path.normalize(bundlePath as string);
934
+ // Check if the source path ends with the bundle path
935
+ if (normalizedSrc.endsWith(normalizedBundlePath)) {
936
+ // Use the original test name instead of the bundle path
937
+ src = testName;
938
+ break;
939
+ }
940
+ }
941
+ }
942
+
943
+ // First, clean up any existing processes for this test
944
+ this.cleanupTestProcesses(src);
945
+
946
+ // Add the test to the queue (using the original test source path)
947
+ // Make sure we don't add duplicates
948
+ if (!this.queue.includes(src)) {
949
+ this.queue.push(src);
950
+ console.log(
951
+ ansiC.green(
952
+ ansiC.inverse(`Added ${src} (${runtime}) to the processing queue`)
953
+ )
954
+ );
955
+ // Try to process the queue
956
+ this.checkQueue();
957
+ } else {
958
+ console.log(
959
+ ansiC.yellow(
960
+ ansiC.inverse(`Test ${src} is already in the queue, skipping`)
961
+ )
962
+ );
963
+ }
964
+ }
965
+
966
+ private cleanupTestProcesses(testName: string) {
967
+ // Find and clean up any running processes for this test
968
+ const processesToCleanup: string[] = [];
969
+
970
+ // Find all process IDs that match this test name
971
+ for (const [processId, processInfo] of this.allProcesses.entries()) {
972
+ if (
973
+ processInfo.testName === testName &&
974
+ processInfo.status === "running"
975
+ ) {
976
+ processesToCleanup.push(processId);
977
+ }
978
+ }
979
+
980
+ // Clean up each process
981
+ processesToCleanup.forEach((processId) => {
982
+ const processInfo = this.allProcesses.get(processId);
983
+ if (processInfo) {
984
+ // Kill child process if it exists
985
+ if (processInfo.child) {
986
+ try {
987
+ processInfo.child.kill();
988
+ } catch (error) {
989
+ console.error(`Error killing process ${processId}:`, error);
990
+ }
991
+ }
992
+
993
+ // Update process status
994
+ this.allProcesses.set(processId, {
995
+ ...processInfo,
996
+ status: "exited",
997
+ exitCode: -1,
998
+ error: "Killed due to source file change",
999
+ });
1000
+
1001
+ // Remove from running processes
1002
+ this.runningProcesses.delete(processId);
1003
+
1004
+ // Broadcast process exit
1005
+ this.webSocketBroadcastMessage({
1006
+ type: "processExited",
1007
+ processId,
1008
+ exitCode: -1,
1009
+ timestamp: new Date().toISOString(),
1010
+ logs: ["Process killed due to source file change"],
1011
+ });
1012
+ }
1013
+ });
1014
+ }
1015
+
1016
+ checkQueue() {
1017
+ // Process all items in the queue
1018
+ while (this.queue.length > 0) {
1019
+ const x = this.queue.pop();
1020
+ if (!x) continue;
1021
+
1022
+ // Check if this test is already running
1023
+ let isRunning = false;
1024
+ for (const processInfo of this.allProcesses.values()) {
1025
+ if (processInfo.testName === x && processInfo.status === "running") {
1026
+ isRunning = true;
1027
+ break;
1028
+ }
1029
+ }
1030
+
1031
+ if (isRunning) {
1032
+ console.log(
1033
+ ansiC.yellow(
1034
+ `Skipping ${x} - already running, will be re-queued when current run completes`
1035
+ )
1036
+ );
1037
+ continue;
1038
+ }
1039
+
1040
+ const test = this.configs.tests.find((t) => t[0] === x);
1041
+ if (!test) {
1042
+ console.error(`test is undefined ${x}`);
1043
+ continue;
1044
+ }
1045
+
1046
+ // Get the appropriate launcher based on the runtime type
1047
+ const runtime = test[1];
1048
+
1049
+ const runnables = getRunnables(this.configs.tests, this.projectName);
1050
+ let dest: string;
1051
+
1052
+ switch (runtime) {
1053
+ case "node":
1054
+ dest = runnables.nodeEntryPoints[x];
1055
+ if (dest) {
1056
+ this.launchNode(x, dest);
1057
+ } else {
1058
+ console.error(`No destination found for node test: ${x}`);
1059
+ }
1060
+ break;
1061
+ case "web":
1062
+ dest = runnables.webEntryPoints[x];
1063
+ if (dest) {
1064
+ this.launchWeb(x, dest);
1065
+ } else {
1066
+ console.error(`No destination found for web test: ${x}`);
1067
+ }
1068
+ break;
1069
+ case "pure":
1070
+ dest = runnables.pureEntryPoints[x];
1071
+ if (dest) {
1072
+ this.launchPure(x, dest);
1073
+ } else {
1074
+ console.error(`No destination found for pure test: ${x}`);
1075
+ }
1076
+ break;
1077
+ case "python":
1078
+ dest = runnables.pythonEntryPoints[x];
1079
+ if (dest) {
1080
+ this.launchPython(x, dest);
1081
+ } else {
1082
+ console.error(`No destination found for python test: ${x}`);
1083
+ }
1084
+ break;
1085
+ case "golang":
1086
+ dest = runnables.golangEntryPoints[x];
1087
+ if (dest) {
1088
+ // For Golang, we need to build and run the executable
1089
+ // The dest is the path to the generated wrapper file
1090
+ this.launchGolang(x, dest);
1091
+ } else {
1092
+ console.error(`No destination found for golang test: ${x}`);
1093
+ }
1094
+ break;
1095
+ default:
1096
+ console.error(`Unknown runtime: ${runtime} for test ${x}`);
1097
+ break;
1098
+ }
1099
+ }
1100
+
1101
+ if (this.queue.length === 0) {
1102
+ console.log(ansiC.inverse(`The queue is empty`));
1103
+ }
1104
+ }
1105
+
1106
+ checkForShutdown = () => {
1107
+ this.checkQueue();
1108
+
1109
+ console.log(
1110
+ ansiC.inverse(
1111
+ `The following jobs are awaiting resources: ${JSON.stringify(
1112
+ this.queue
1113
+ )}`
1114
+ )
1115
+ );
1116
+ console.log(
1117
+ ansiC.inverse(`The status of ports: ${JSON.stringify(this.ports)}`)
1118
+ );
1119
+
1120
+ this.writeBigBoard();
1121
+
1122
+ if (this.mode === "dev") return;
1123
+
1124
+ let inflight = false;
1125
+
1126
+ Object.keys(this.summary).forEach((k) => {
1127
+ if (this.summary[k].prompt === "?") {
1128
+ console.log(ansiC.blue(ansiC.inverse(`🕕 prompt ${k}`)));
1129
+ inflight = true;
1130
+ }
1131
+ });
1132
+
1133
+ Object.keys(this.summary).forEach((k) => {
1134
+ if (this.summary[k].runTimeErrors === "?") {
1135
+ console.log(ansiC.blue(ansiC.inverse(`🕕 runTimeError ${k}`)));
1136
+ inflight = true;
1137
+ }
1138
+ });
1139
+
1140
+ Object.keys(this.summary).forEach((k) => {
1141
+ if (this.summary[k].staticErrors === "?") {
1142
+ console.log(ansiC.blue(ansiC.inverse(`🕕 staticErrors ${k}`)));
1143
+ inflight = true;
1144
+ }
1145
+ });
1146
+
1147
+ Object.keys(this.summary).forEach((k) => {
1148
+ if (this.summary[k].typeErrors === "?") {
1149
+ console.log(ansiC.blue(ansiC.inverse(`🕕 typeErrors ${k}`)));
1150
+ inflight = true;
1151
+ }
1152
+ });
1153
+
1154
+ this.writeBigBoard();
1155
+
1156
+ if (!inflight) {
1157
+ if (this.browser) {
1158
+ if (this.browser) {
1159
+ this.browser.disconnect().then(() => {
1160
+ console.log(
1161
+ ansiC.inverse(`${this.projectName} has been tested. Goodbye.`)
1162
+ );
1163
+ process.exit();
1164
+ });
1165
+ }
1166
+ }
1167
+ }
1168
+ };
1169
+
1170
+ private ensureSummaryEntry(src: string, isSidecar = false) {
1171
+ if (!this.summary[src]) {
1172
+ // @ts-ignore
1173
+ this.summary[src] = {
1174
+ typeErrors: undefined,
1175
+ staticErrors: undefined,
1176
+ runTimeErrors: undefined,
1177
+ prompt: undefined,
1178
+ failingFeatures: {},
1179
+ };
1180
+ if (isSidecar) {
1181
+ // Sidecars don't need all fields
1182
+ // delete this.summary[src].runTimeError;
1183
+ // delete this.summary[src].prompt;
1184
+ }
1185
+ }
1186
+ return this.summary[src];
1187
+ }
1188
+ }