memma 0.1.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 (304) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +116 -0
  3. package/dist/cli.d.ts +3 -0
  4. package/dist/cli.d.ts.map +1 -0
  5. package/dist/cli.js +21 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/commands/generate/generateActionHandler.d.ts +3 -0
  8. package/dist/commands/generate/generateActionHandler.d.ts.map +1 -0
  9. package/dist/commands/generate/generateActionHandler.js +63 -0
  10. package/dist/commands/generate/generateActionHandler.js.map +1 -0
  11. package/dist/commands/generate/generateCommand.d.ts +3 -0
  12. package/dist/commands/generate/generateCommand.d.ts.map +1 -0
  13. package/dist/commands/generate/generateCommand.js +10 -0
  14. package/dist/commands/generate/generateCommand.js.map +1 -0
  15. package/dist/commands/generate/helpers/detectFileType.d.ts +2 -0
  16. package/dist/commands/generate/helpers/detectFileType.d.ts.map +1 -0
  17. package/dist/commands/generate/helpers/detectFileType.js +7 -0
  18. package/dist/commands/generate/helpers/detectFileType.js.map +1 -0
  19. package/dist/commands/generate/helpers/displayGenerateSuccessMessage.d.ts +7 -0
  20. package/dist/commands/generate/helpers/displayGenerateSuccessMessage.d.ts.map +1 -0
  21. package/dist/commands/generate/helpers/displayGenerateSuccessMessage.js +5 -0
  22. package/dist/commands/generate/helpers/displayGenerateSuccessMessage.js.map +1 -0
  23. package/dist/commands/generate/helpers/resolveOutputDirectory.d.ts +2 -0
  24. package/dist/commands/generate/helpers/resolveOutputDirectory.d.ts.map +1 -0
  25. package/dist/commands/generate/helpers/resolveOutputDirectory.js +29 -0
  26. package/dist/commands/generate/helpers/resolveOutputDirectory.js.map +1 -0
  27. package/dist/commands/generate/helpers/resolveSourceArgument.d.ts +8 -0
  28. package/dist/commands/generate/helpers/resolveSourceArgument.d.ts.map +1 -0
  29. package/dist/commands/generate/helpers/resolveSourceArgument.js +67 -0
  30. package/dist/commands/generate/helpers/resolveSourceArgument.js.map +1 -0
  31. package/dist/commands/generate/index.d.ts +2 -0
  32. package/dist/commands/generate/index.d.ts.map +1 -0
  33. package/dist/commands/generate/index.js +2 -0
  34. package/dist/commands/generate/index.js.map +1 -0
  35. package/dist/commands/generate/stream/llmResponseHandler.d.ts +9 -0
  36. package/dist/commands/generate/stream/llmResponseHandler.d.ts.map +1 -0
  37. package/dist/commands/generate/stream/llmResponseHandler.js +33 -0
  38. package/dist/commands/generate/stream/llmResponseHandler.js.map +1 -0
  39. package/dist/commands/generate/stream/sseHandler.d.ts +5 -0
  40. package/dist/commands/generate/stream/sseHandler.d.ts.map +1 -0
  41. package/dist/commands/generate/stream/sseHandler.js +28 -0
  42. package/dist/commands/generate/stream/sseHandler.js.map +1 -0
  43. package/dist/commands/generate/stream/statusHandler.d.ts +10 -0
  44. package/dist/commands/generate/stream/statusHandler.d.ts.map +1 -0
  45. package/dist/commands/generate/stream/statusHandler.js +38 -0
  46. package/dist/commands/generate/stream/statusHandler.js.map +1 -0
  47. package/dist/commands/generate/stream/streamGenerateResponse.d.ts +3 -0
  48. package/dist/commands/generate/stream/streamGenerateResponse.d.ts.map +1 -0
  49. package/dist/commands/generate/stream/streamGenerateResponse.js +19 -0
  50. package/dist/commands/generate/stream/streamGenerateResponse.js.map +1 -0
  51. package/dist/commands/generate/write/saveLLMResponse.d.ts +8 -0
  52. package/dist/commands/generate/write/saveLLMResponse.d.ts.map +1 -0
  53. package/dist/commands/generate/write/saveLLMResponse.js +18 -0
  54. package/dist/commands/generate/write/saveLLMResponse.js.map +1 -0
  55. package/dist/commands/generate/write/writeResponseToDir.d.ts +2 -0
  56. package/dist/commands/generate/write/writeResponseToDir.d.ts.map +1 -0
  57. package/dist/commands/generate/write/writeResponseToDir.js +18 -0
  58. package/dist/commands/generate/write/writeResponseToDir.js.map +1 -0
  59. package/dist/commands/generate/write/writeResponseToNewProject.ts.d.ts +3 -0
  60. package/dist/commands/generate/write/writeResponseToNewProject.ts.d.ts.map +1 -0
  61. package/dist/commands/generate/write/writeResponseToNewProject.ts.js +27 -0
  62. package/dist/commands/generate/write/writeResponseToNewProject.ts.js.map +1 -0
  63. package/dist/commands/init/index.d.ts +2 -0
  64. package/dist/commands/init/index.d.ts.map +1 -0
  65. package/dist/commands/init/index.js +2 -0
  66. package/dist/commands/init/index.js.map +1 -0
  67. package/dist/commands/init/initActionHandler.d.ts +2 -0
  68. package/dist/commands/init/initActionHandler.d.ts.map +1 -0
  69. package/dist/commands/init/initActionHandler.js +50 -0
  70. package/dist/commands/init/initActionHandler.js.map +1 -0
  71. package/dist/commands/init/initCommand.d.ts +3 -0
  72. package/dist/commands/init/initCommand.d.ts.map +1 -0
  73. package/dist/commands/init/initCommand.js +6 -0
  74. package/dist/commands/init/initCommand.js.map +1 -0
  75. package/dist/commands/init/memma-config/ensureMemmaConfigurations.d.ts +3 -0
  76. package/dist/commands/init/memma-config/ensureMemmaConfigurations.d.ts.map +1 -0
  77. package/dist/commands/init/memma-config/ensureMemmaConfigurations.js +8 -0
  78. package/dist/commands/init/memma-config/ensureMemmaConfigurations.js.map +1 -0
  79. package/dist/commands/init/memma-config/gatherConfigurationDetails.d.ts +3 -0
  80. package/dist/commands/init/memma-config/gatherConfigurationDetails.d.ts.map +1 -0
  81. package/dist/commands/init/memma-config/gatherConfigurationDetails.js +15 -0
  82. package/dist/commands/init/memma-config/gatherConfigurationDetails.js.map +1 -0
  83. package/dist/commands/init/memma-env/createPythonVirtualEnv.d.ts +2 -0
  84. package/dist/commands/init/memma-env/createPythonVirtualEnv.d.ts.map +1 -0
  85. package/dist/commands/init/memma-env/createPythonVirtualEnv.js +5 -0
  86. package/dist/commands/init/memma-env/createPythonVirtualEnv.js.map +1 -0
  87. package/dist/commands/init/memma-env/ensureMemmaEnvironment.d.ts +3 -0
  88. package/dist/commands/init/memma-env/ensureMemmaEnvironment.d.ts.map +1 -0
  89. package/dist/commands/init/memma-env/ensureMemmaEnvironment.js +21 -0
  90. package/dist/commands/init/memma-env/ensureMemmaEnvironment.js.map +1 -0
  91. package/dist/commands/init/memma-env/getVenvPath.d.ts +2 -0
  92. package/dist/commands/init/memma-env/getVenvPath.d.ts.map +1 -0
  93. package/dist/commands/init/memma-env/getVenvPath.js +9 -0
  94. package/dist/commands/init/memma-env/getVenvPath.js.map +1 -0
  95. package/dist/commands/init/memma-env/index.d.ts +2 -0
  96. package/dist/commands/init/memma-env/index.d.ts.map +1 -0
  97. package/dist/commands/init/memma-env/index.js +2 -0
  98. package/dist/commands/init/memma-env/index.js.map +1 -0
  99. package/dist/commands/init/memma-env/venvExists.d.ts +2 -0
  100. package/dist/commands/init/memma-env/venvExists.d.ts.map +1 -0
  101. package/dist/commands/init/memma-env/venvExists.js +7 -0
  102. package/dist/commands/init/memma-env/venvExists.js.map +1 -0
  103. package/dist/commands/init/messages/displayExitMessages.d.ts +2 -0
  104. package/dist/commands/init/messages/displayExitMessages.d.ts.map +1 -0
  105. package/dist/commands/init/messages/displayExitMessages.js +9 -0
  106. package/dist/commands/init/messages/displayExitMessages.js.map +1 -0
  107. package/dist/commands/init/messages/displayWelcomeMessages.d.ts +2 -0
  108. package/dist/commands/init/messages/displayWelcomeMessages.d.ts.map +1 -0
  109. package/dist/commands/init/messages/displayWelcomeMessages.js +12 -0
  110. package/dist/commands/init/messages/displayWelcomeMessages.js.map +1 -0
  111. package/dist/commands/init/packages/ensureRequirementsFile.d.ts +5 -0
  112. package/dist/commands/init/packages/ensureRequirementsFile.d.ts.map +1 -0
  113. package/dist/commands/init/packages/ensureRequirementsFile.js +11 -0
  114. package/dist/commands/init/packages/ensureRequirementsFile.js.map +1 -0
  115. package/dist/commands/init/packages/index.d.ts +2 -0
  116. package/dist/commands/init/packages/index.d.ts.map +1 -0
  117. package/dist/commands/init/packages/index.js +2 -0
  118. package/dist/commands/init/packages/index.js.map +1 -0
  119. package/dist/commands/init/packages/installPlaywrightBrowserBinaries.d.ts +2 -0
  120. package/dist/commands/init/packages/installPlaywrightBrowserBinaries.d.ts.map +1 -0
  121. package/dist/commands/init/packages/installPlaywrightBrowserBinaries.js +8 -0
  122. package/dist/commands/init/packages/installPlaywrightBrowserBinaries.js.map +1 -0
  123. package/dist/commands/init/packages/installRequiredMemmaPackages.d.ts +2 -0
  124. package/dist/commands/init/packages/installRequiredMemmaPackages.d.ts.map +1 -0
  125. package/dist/commands/init/packages/installRequiredMemmaPackages.js +12 -0
  126. package/dist/commands/init/packages/installRequiredMemmaPackages.js.map +1 -0
  127. package/dist/commands/init/packages/installRequiredPackages.d.ts +2 -0
  128. package/dist/commands/init/packages/installRequiredPackages.d.ts.map +1 -0
  129. package/dist/commands/init/packages/installRequiredPackages.js +5 -0
  130. package/dist/commands/init/packages/installRequiredPackages.js.map +1 -0
  131. package/dist/commands/init/python-env/checkPipInstalled.d.ts +5 -0
  132. package/dist/commands/init/python-env/checkPipInstalled.d.ts.map +1 -0
  133. package/dist/commands/init/python-env/checkPipInstalled.js +17 -0
  134. package/dist/commands/init/python-env/checkPipInstalled.js.map +1 -0
  135. package/dist/commands/init/python-env/detectPython.d.ts +3 -0
  136. package/dist/commands/init/python-env/detectPython.d.ts.map +1 -0
  137. package/dist/commands/init/python-env/detectPython.js +26 -0
  138. package/dist/commands/init/python-env/detectPython.js.map +1 -0
  139. package/dist/commands/init/python-env/detectPythonVersion.d.ts +2 -0
  140. package/dist/commands/init/python-env/detectPythonVersion.d.ts.map +1 -0
  141. package/dist/commands/init/python-env/detectPythonVersion.js +8 -0
  142. package/dist/commands/init/python-env/detectPythonVersion.js.map +1 -0
  143. package/dist/commands/init/python-env/index.d.ts +2 -0
  144. package/dist/commands/init/python-env/index.d.ts.map +1 -0
  145. package/dist/commands/init/python-env/index.js +2 -0
  146. package/dist/commands/init/python-env/index.js.map +1 -0
  147. package/dist/commands/init/python-env/validatePythonEnvironment.d.ts +3 -0
  148. package/dist/commands/init/python-env/validatePythonEnvironment.d.ts.map +1 -0
  149. package/dist/commands/init/python-env/validatePythonEnvironment.js +11 -0
  150. package/dist/commands/init/python-env/validatePythonEnvironment.js.map +1 -0
  151. package/dist/commands/init/scripts/copyMemmaPythonFiles.d.ts +6 -0
  152. package/dist/commands/init/scripts/copyMemmaPythonFiles.d.ts.map +1 -0
  153. package/dist/commands/init/scripts/copyMemmaPythonFiles.js +31 -0
  154. package/dist/commands/init/scripts/copyMemmaPythonFiles.js.map +1 -0
  155. package/dist/commands/reset/deleteMemmaDirectory.d.ts +2 -0
  156. package/dist/commands/reset/deleteMemmaDirectory.d.ts.map +1 -0
  157. package/dist/commands/reset/deleteMemmaDirectory.js +12 -0
  158. package/dist/commands/reset/deleteMemmaDirectory.js.map +1 -0
  159. package/dist/commands/reset/resetActionHandler.d.ts +2 -0
  160. package/dist/commands/reset/resetActionHandler.d.ts.map +1 -0
  161. package/dist/commands/reset/resetActionHandler.js +39 -0
  162. package/dist/commands/reset/resetActionHandler.js.map +1 -0
  163. package/dist/commands/reset/resetCommand.d.ts +3 -0
  164. package/dist/commands/reset/resetCommand.d.ts.map +1 -0
  165. package/dist/commands/reset/resetCommand.js +6 -0
  166. package/dist/commands/reset/resetCommand.js.map +1 -0
  167. package/dist/commands/start/getOrchestratorEnvVariables.d.ts +7 -0
  168. package/dist/commands/start/getOrchestratorEnvVariables.d.ts.map +1 -0
  169. package/dist/commands/start/getOrchestratorEnvVariables.js +12 -0
  170. package/dist/commands/start/getOrchestratorEnvVariables.js.map +1 -0
  171. package/dist/commands/start/index.d.ts +2 -0
  172. package/dist/commands/start/index.d.ts.map +1 -0
  173. package/dist/commands/start/index.js +2 -0
  174. package/dist/commands/start/index.js.map +1 -0
  175. package/dist/commands/start/startActionHandler.d.ts +2 -0
  176. package/dist/commands/start/startActionHandler.d.ts.map +1 -0
  177. package/dist/commands/start/startActionHandler.js +23 -0
  178. package/dist/commands/start/startActionHandler.js.map +1 -0
  179. package/dist/commands/start/startCommand.d.ts +3 -0
  180. package/dist/commands/start/startCommand.d.ts.map +1 -0
  181. package/dist/commands/start/startCommand.js +6 -0
  182. package/dist/commands/start/startCommand.js.map +1 -0
  183. package/dist/commands/start/startMemmaOrchestrator.d.ts +2 -0
  184. package/dist/commands/start/startMemmaOrchestrator.d.ts.map +1 -0
  185. package/dist/commands/start/startMemmaOrchestrator.js +31 -0
  186. package/dist/commands/start/startMemmaOrchestrator.js.map +1 -0
  187. package/dist/commands/start/waitForLocalServerReady.d.ts +2 -0
  188. package/dist/commands/start/waitForLocalServerReady.d.ts.map +1 -0
  189. package/dist/commands/start/waitForLocalServerReady.js +18 -0
  190. package/dist/commands/start/waitForLocalServerReady.js.map +1 -0
  191. package/dist/commands/stop/index.d.ts +2 -0
  192. package/dist/commands/stop/index.d.ts.map +1 -0
  193. package/dist/commands/stop/index.js +2 -0
  194. package/dist/commands/stop/index.js.map +1 -0
  195. package/dist/commands/stop/stopActionHandler.d.ts +2 -0
  196. package/dist/commands/stop/stopActionHandler.d.ts.map +1 -0
  197. package/dist/commands/stop/stopActionHandler.js +22 -0
  198. package/dist/commands/stop/stopActionHandler.js.map +1 -0
  199. package/dist/commands/stop/stopCommand.d.ts +3 -0
  200. package/dist/commands/stop/stopCommand.d.ts.map +1 -0
  201. package/dist/commands/stop/stopCommand.js +6 -0
  202. package/dist/commands/stop/stopCommand.js.map +1 -0
  203. package/dist/commands/stop/stopMemmaOrchestrator.d.ts +2 -0
  204. package/dist/commands/stop/stopMemmaOrchestrator.d.ts.map +1 -0
  205. package/dist/commands/stop/stopMemmaOrchestrator.js +15 -0
  206. package/dist/commands/stop/stopMemmaOrchestrator.js.map +1 -0
  207. package/dist/commands/stop/stopProcess.d.ts +2 -0
  208. package/dist/commands/stop/stopProcess.d.ts.map +1 -0
  209. package/dist/commands/stop/stopProcess.js +21 -0
  210. package/dist/commands/stop/stopProcess.js.map +1 -0
  211. package/dist/constants.d.ts +61 -0
  212. package/dist/constants.d.ts.map +1 -0
  213. package/dist/constants.js +69 -0
  214. package/dist/constants.js.map +1 -0
  215. package/dist/types.d.ts +57 -0
  216. package/dist/types.d.ts.map +1 -0
  217. package/dist/types.js +2 -0
  218. package/dist/types.js.map +1 -0
  219. package/dist/utils/MemmaError.d.ts +4 -0
  220. package/dist/utils/MemmaError.d.ts.map +1 -0
  221. package/dist/utils/MemmaError.js +6 -0
  222. package/dist/utils/MemmaError.js.map +1 -0
  223. package/dist/utils/config/getMemmaConfig.d.ts +3 -0
  224. package/dist/utils/config/getMemmaConfig.d.ts.map +1 -0
  225. package/dist/utils/config/getMemmaConfig.js +12 -0
  226. package/dist/utils/config/getMemmaConfig.js.map +1 -0
  227. package/dist/utils/config/saveMemmaConfig.d.ts +3 -0
  228. package/dist/utils/config/saveMemmaConfig.d.ts.map +1 -0
  229. package/dist/utils/config/saveMemmaConfig.js +7 -0
  230. package/dist/utils/config/saveMemmaConfig.js.map +1 -0
  231. package/dist/utils/consoleMessages.d.ts +2 -0
  232. package/dist/utils/consoleMessages.d.ts.map +1 -0
  233. package/dist/utils/consoleMessages.js +2 -0
  234. package/dist/utils/consoleMessages.js.map +1 -0
  235. package/dist/utils/getMemmaScriptPath.d.ts +2 -0
  236. package/dist/utils/getMemmaScriptPath.d.ts.map +1 -0
  237. package/dist/utils/getMemmaScriptPath.js +6 -0
  238. package/dist/utils/getMemmaScriptPath.js.map +1 -0
  239. package/dist/utils/getPidOnPort.d.ts +2 -0
  240. package/dist/utils/getPidOnPort.d.ts.map +1 -0
  241. package/dist/utils/getPidOnPort.js +36 -0
  242. package/dist/utils/getPidOnPort.js.map +1 -0
  243. package/dist/utils/llm/validateAPIKey.d.ts +4 -0
  244. package/dist/utils/llm/validateAPIKey.d.ts.map +1 -0
  245. package/dist/utils/llm/validateAPIKey.js +46 -0
  246. package/dist/utils/llm/validateAPIKey.js.map +1 -0
  247. package/dist/utils/logger.d.ts +20 -0
  248. package/dist/utils/logger.d.ts.map +1 -0
  249. package/dist/utils/logger.js +91 -0
  250. package/dist/utils/logger.js.map +1 -0
  251. package/dist/utils/logo.d.ts +2 -0
  252. package/dist/utils/logo.d.ts.map +1 -0
  253. package/dist/utils/logo.js +32 -0
  254. package/dist/utils/logo.js.map +1 -0
  255. package/dist/utils/paths.d.ts +3 -0
  256. package/dist/utils/paths.d.ts.map +1 -0
  257. package/dist/utils/paths.js +11 -0
  258. package/dist/utils/paths.js.map +1 -0
  259. package/dist/utils/prompts.d.ts +4 -0
  260. package/dist/utils/prompts.d.ts.map +1 -0
  261. package/dist/utils/prompts.js +34 -0
  262. package/dist/utils/prompts.js.map +1 -0
  263. package/dist/utils/resolveDirectory.d.ts +2 -0
  264. package/dist/utils/resolveDirectory.d.ts.map +1 -0
  265. package/dist/utils/resolveDirectory.js +18 -0
  266. package/dist/utils/resolveDirectory.js.map +1 -0
  267. package/dist/utils/resolveOrchestratorState.d.ts +3 -0
  268. package/dist/utils/resolveOrchestratorState.d.ts.map +1 -0
  269. package/dist/utils/resolveOrchestratorState.js +32 -0
  270. package/dist/utils/resolveOrchestratorState.js.map +1 -0
  271. package/dist/utils/typeGuards.d.ts +8 -0
  272. package/dist/utils/typeGuards.d.ts.map +1 -0
  273. package/dist/utils/typeGuards.js +69 -0
  274. package/dist/utils/typeGuards.js.map +1 -0
  275. package/dist/utils/wait.d.ts +2 -0
  276. package/dist/utils/wait.d.ts.map +1 -0
  277. package/dist/utils/wait.js +22 -0
  278. package/dist/utils/wait.js.map +1 -0
  279. package/package.json +56 -0
  280. package/python/__init__.py +0 -0
  281. package/python/agents/coordinator_agent.py +28 -0
  282. package/python/agents/generator_agent.py +7 -0
  283. package/python/generate/__init__.py +0 -0
  284. package/python/generate/generate_from_url.py +53 -0
  285. package/python/graphs/__init__.py +0 -0
  286. package/python/graphs/memma_graph.py +46 -0
  287. package/python/main.py +75 -0
  288. package/python/nodes/__init__.py +0 -0
  289. package/python/nodes/coordinator_node.py +89 -0
  290. package/python/nodes/generate_node.py +72 -0
  291. package/python/nodes/screenshot_node.py +40 -0
  292. package/python/schemas/__init__.py +5 -0
  293. package/python/schemas/types.py +14 -0
  294. package/python/states/memma_state.py +27 -0
  295. package/python/tools/__init__.py +0 -0
  296. package/python/tools/generate_components.py +9 -0
  297. package/python/tools/generate_screenshot_path.py +39 -0
  298. package/python/tools/inspect_site.py +52 -0
  299. package/python/utils/clean_json_response.py +26 -0
  300. package/python/utils/encode_base64.py +27 -0
  301. package/python/utils/format_image_content.py +40 -0
  302. package/python/utils/llm_loader.py +33 -0
  303. package/python/utils/mime_types.py +8 -0
  304. package/python/utils/prompts.py +8 -0
@@ -0,0 +1,3 @@
1
+ import { type EventSourceMessage } from 'eventsource-parser';
2
+ export declare function streamGenerateResponse(response: Response, onEvent: (event: EventSourceMessage) => void): Promise<void>;
3
+ //# sourceMappingURL=streamGenerateResponse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streamGenerateResponse.d.ts","sourceRoot":"","sources":["../../../../src/commands/generate/stream/streamGenerateResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAG3E,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,GAC3C,OAAO,CAAC,IAAI,CAAC,CAef"}
@@ -0,0 +1,19 @@
1
+ import { createParser } from 'eventsource-parser';
2
+ import { MemmaError } from '../../../utils/MemmaError.js';
3
+ export async function streamGenerateResponse(response, onEvent) {
4
+ // Initialize tools for Server-Side Events (SSE)
5
+ const reader = response.body?.getReader();
6
+ if (!reader)
7
+ throw new MemmaError('No response body found');
8
+ const decoder = new TextDecoder();
9
+ const parser = createParser({ onEvent });
10
+ // Stream response
11
+ while (true) {
12
+ const { done, value } = await reader.read();
13
+ if (done)
14
+ break;
15
+ const chunkText = decoder.decode(value, { stream: true });
16
+ parser.feed(chunkText);
17
+ }
18
+ }
19
+ //# sourceMappingURL=streamGenerateResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streamGenerateResponse.js","sourceRoot":"","sources":["../../../../src/commands/generate/stream/streamGenerateResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA2B,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE1D,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,QAAkB,EAClB,OAA4C;IAE5C,gDAAgD;IAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;IAC1C,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,UAAU,CAAC,wBAAwB,CAAC,CAAC;IAE5D,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAEzC,kBAAkB;IAClB,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,IAAI;YAAE,MAAM;QAChB,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;AACH,CAAC"}
@@ -0,0 +1,8 @@
1
+ interface SaveLLMResponseArgs {
2
+ llmResponse: string;
3
+ outputDir: string;
4
+ createProject: boolean | undefined;
5
+ }
6
+ export declare function saveLLMResponse({ llmResponse, outputDir, createProject, }: SaveLLMResponseArgs): Promise<void>;
7
+ export {};
8
+ //# sourceMappingURL=saveLLMResponse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"saveLLMResponse.d.ts","sourceRoot":"","sources":["../../../../src/commands/generate/write/saveLLMResponse.ts"],"names":[],"mappings":"AAMA,UAAU,mBAAmB;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,GAAG,SAAS,CAAC;CACpC;AAED,wBAAsB,eAAe,CAAC,EACpC,WAAW,EACX,SAAS,EACT,aAAa,GACd,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAYrC"}
@@ -0,0 +1,18 @@
1
+ import fs from 'fs-extra';
2
+ import { writeResponseToDir } from './writeResponseToDir.js';
3
+ import { writeResponseToNewProject } from './writeResponseToNewProject.ts.js';
4
+ import { MemmaError } from '../../../utils/MemmaError.js';
5
+ import { success } from '../../../utils/logger.js';
6
+ export async function saveLLMResponse({ llmResponse, outputDir, createProject, }) {
7
+ if (await fs.exists(outputDir)) {
8
+ throw new MemmaError(`Directory ${outputDir} already exists.`);
9
+ }
10
+ if (createProject) {
11
+ await writeResponseToNewProject(llmResponse, outputDir);
12
+ }
13
+ else {
14
+ await writeResponseToDir(llmResponse, outputDir);
15
+ }
16
+ success(`Components written to ${outputDir}`);
17
+ }
18
+ //# sourceMappingURL=saveLLMResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"saveLLMResponse.js","sourceRoot":"","sources":["../../../../src/commands/generate/write/saveLLMResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAQnD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EACpC,WAAW,EACX,SAAS,EACT,aAAa,GACO;IACpB,IAAI,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,UAAU,CAAC,aAAa,SAAS,kBAAkB,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,yBAAyB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC1D,CAAC;SAAM,CAAC;QACN,MAAM,kBAAkB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,CAAC,yBAAyB,SAAS,EAAE,CAAC,CAAC;AAChD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function writeResponseToDir(response: string, outputDir?: string): Promise<void>;
2
+ //# sourceMappingURL=writeResponseToDir.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writeResponseToDir.d.ts","sourceRoot":"","sources":["../../../../src/commands/generate/write/writeResponseToDir.ts"],"names":[],"mappings":"AAIA,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,SAAS,GAAE,MAAmB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAef"}
@@ -0,0 +1,18 @@
1
+ import prettier from 'prettier';
2
+ import fs from 'fs-extra';
3
+ import path from 'path';
4
+ export async function writeResponseToDir(response, outputDir = './output') {
5
+ const NEXTJS_APP_PAGE_PATH = 'app/page.tsx';
6
+ const fullPath = path.join(outputDir, NEXTJS_APP_PAGE_PATH);
7
+ await fs.ensureDir(path.dirname(fullPath));
8
+ // Format the code
9
+ const formattedCode = await prettier.format(response, {
10
+ parser: 'typescript',
11
+ semi: true,
12
+ singleQuote: true,
13
+ trailingComma: 'all',
14
+ });
15
+ // Write code to file
16
+ await fs.outputFile(fullPath, formattedCode, { encoding: 'utf-8' });
17
+ }
18
+ //# sourceMappingURL=writeResponseToDir.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writeResponseToDir.js","sourceRoot":"","sources":["../../../../src/commands/generate/write/writeResponseToDir.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAAgB,EAChB,YAAoB,UAAU;IAE9B,MAAM,oBAAoB,GAAG,cAAc,CAAC;IAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;IAC5D,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE3C,kBAAkB;IAClB,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE;QACpD,MAAM,EAAE,YAAY;QACpB,IAAI,EAAE,IAAI;QACV,WAAW,EAAE,IAAI;QACjB,aAAa,EAAE,KAAK;KACrB,CAAC,CAAC;IAEH,qBAAqB;IACrB,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;AACtE,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function writeResponseToNewProject(response: string, outputDir: string): Promise<void>;
2
+ export declare function scaffoldNextProject(outputDir: string): Promise<void>;
3
+ //# sourceMappingURL=writeResponseToNewProject.ts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writeResponseToNewProject.ts.d.ts","sourceRoot":"","sources":["../../../../src/commands/generate/write/writeResponseToNewProject.ts.ts"],"names":[],"mappings":"AAIA,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,iBAIlB;AAED,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuB1E"}
@@ -0,0 +1,27 @@
1
+ import { execa } from 'execa';
2
+ import { writeResponseToDir } from './writeResponseToDir.js';
3
+ import { waitAsyncOperation } from '../../../utils/wait.js';
4
+ export async function writeResponseToNewProject(response, outputDir) {
5
+ await scaffoldNextProject(outputDir);
6
+ await writeResponseToDir(response, outputDir);
7
+ }
8
+ export async function scaffoldNextProject(outputDir) {
9
+ await waitAsyncOperation(execa, [
10
+ 'npx',
11
+ [
12
+ 'create-next-app@latest',
13
+ '--yes',
14
+ outputDir,
15
+ '--typescript',
16
+ '--tailwind',
17
+ '--app',
18
+ '--eslint',
19
+ '--turbopack',
20
+ '--import-alias',
21
+ '@/*',
22
+ '--no-git',
23
+ ],
24
+ { stdio: 'ignore' },
25
+ ], `Scaffolding Next.js project...`, `Scaffolded Next.js project: ${outputDir}`);
26
+ }
27
+ //# sourceMappingURL=writeResponseToNewProject.ts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writeResponseToNewProject.ts.js","sourceRoot":"","sources":["../../../../src/commands/generate/write/writeResponseToNewProject.ts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,QAAgB,EAChB,SAAiB;IAEjB,MAAM,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACrC,MAAM,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,SAAiB;IACzD,MAAM,kBAAkB,CACtB,KAAK,EACL;QACE,KAAK;QACL;YACE,wBAAwB;YACxB,OAAO;YACP,SAAS;YACT,cAAc;YACd,YAAY;YACZ,OAAO;YACP,UAAU;YACV,aAAa;YACb,gBAAgB;YAChB,KAAK;YACL,UAAU;SACX;QACD,EAAE,KAAK,EAAE,QAAQ,EAAE;KACpB,EACD,gCAAgC,EAChC,+BAA+B,SAAS,EAAE,CAC3C,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { initCommand } from './initCommand.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/init/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { initCommand } from './initCommand.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/init/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function initActionHandler(): Promise<void>;
2
+ //# sourceMappingURL=initActionHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initActionHandler.d.ts","sourceRoot":"","sources":["../../../src/commands/init/initActionHandler.ts"],"names":[],"mappings":"AAmBA,wBAAsB,iBAAiB,kBA6CtC"}
@@ -0,0 +1,50 @@
1
+ import fs from 'fs-extra';
2
+ import { ExitPromptError } from '@inquirer/core';
3
+ import { validatePythonEnvironment } from './python-env/validatePythonEnvironment.js';
4
+ import { ensureMemmaEnvironment } from './memma-env/ensureMemmaEnvironment.js';
5
+ import { ensureMemmaConfigurations } from './memma-config/ensureMemmaConfigurations.js';
6
+ import { installRequiredMemmaPackages } from './packages/installRequiredMemmaPackages.js';
7
+ import { copyMemmaPythonFiles } from './scripts/copyMemmaPythonFiles.js';
8
+ import { installPlaywrightBrowserBinaries } from './packages/installPlaywrightBrowserBinaries.js';
9
+ import { MemmaError } from '../../utils/MemmaError.js';
10
+ import { warn } from '../../utils/logger.js';
11
+ import { waitAsyncOperation } from '../../utils/wait.js';
12
+ import displayWelcomeMessages from './messages/displayWelcomeMessages.js';
13
+ import displayExitMessages from './messages/displayExitMessages.js';
14
+ import { GLOBAL_MEMMA_DIR } from '../../constants.js';
15
+ import { deleteMemmaDirectory } from '../reset/deleteMemmaDirectory.js';
16
+ export async function initActionHandler() {
17
+ try {
18
+ const memmaDirectoryExists = await fs.pathExists(GLOBAL_MEMMA_DIR);
19
+ if (memmaDirectoryExists) {
20
+ throw new MemmaError(`Memma environment already configured.`);
21
+ }
22
+ // Validate python environment
23
+ const { pythonCommand } = await validatePythonEnvironment(); // Return path to user's system Python executable
24
+ // Creates global Memma environment (~/.memma directory + global venv)
25
+ // Returns path to Memma venv's python executable
26
+ const { pythonPath } = await ensureMemmaEnvironment(pythonCommand);
27
+ await displayWelcomeMessages();
28
+ // Ensure configuration file for Memma (~/.memma/memma.config.json)
29
+ await ensureMemmaConfigurations();
30
+ // Copy over Python scripts to global Memma directory
31
+ await copyMemmaPythonFiles();
32
+ // Install Python packages in Memma's venv
33
+ await waitAsyncOperation(installRequiredMemmaPackages, [pythonPath], "Installing Memma's Python packages...", 'Python packages successfully installed');
34
+ // Clean-up work
35
+ await installPlaywrightBrowserBinaries();
36
+ displayExitMessages();
37
+ }
38
+ catch (err) {
39
+ if (err instanceof MemmaError) {
40
+ warn(err.message);
41
+ process.exit(1);
42
+ }
43
+ else if (err instanceof ExitPromptError) {
44
+ await deleteMemmaDirectory();
45
+ process.exit(130);
46
+ }
47
+ throw err;
48
+ }
49
+ }
50
+ //# sourceMappingURL=initActionHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initActionHandler.js","sourceRoot":"","sources":["../../../src/commands/init/initActionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AACxF,OAAO,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,gCAAgC,EAAE,MAAM,gDAAgD,CAAC;AAElG,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,sBAAsB,MAAM,sCAAsC,CAAC;AAC1E,OAAO,mBAAmB,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAExE,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,IAAI,CAAC;QACH,MAAM,oBAAoB,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QACnE,IAAI,oBAAoB,EAAE,CAAC;YACzB,MAAM,IAAI,UAAU,CAAC,uCAAuC,CAAC,CAAC;QAChE,CAAC;QAED,8BAA8B;QAC9B,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,yBAAyB,EAAE,CAAC,CAAC,iDAAiD;QAE9G,sEAAsE;QACtE,iDAAiD;QACjD,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,sBAAsB,CAAC,aAAa,CAAC,CAAC;QAEnE,MAAM,sBAAsB,EAAE,CAAC;QAE/B,mEAAmE;QACnE,MAAM,yBAAyB,EAAE,CAAC;QAElC,qDAAqD;QACrD,MAAM,oBAAoB,EAAE,CAAC;QAE7B,0CAA0C;QAC1C,MAAM,kBAAkB,CACtB,4BAA4B,EAC5B,CAAC,UAAU,CAAC,EACZ,uCAAuC,EACvC,wCAAwC,CACzC,CAAC;QAEF,gBAAgB;QAChB,MAAM,gCAAgC,EAAE,CAAC;QAEzC,mBAAmB,EAAE,CAAC;IACxB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,UAAU,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;aAAM,IAAI,GAAG,YAAY,eAAe,EAAE,CAAC;YAC1C,MAAM,oBAAoB,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;QAED,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare const initCommand: Command;
3
+ //# sourceMappingURL=initCommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initCommand.d.ts","sourceRoot":"","sources":["../../../src/commands/init/initCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,eAAO,MAAM,WAAW,SAEI,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { Command } from 'commander';
2
+ import { initActionHandler } from './initActionHandler.js';
3
+ export const initCommand = new Command('init')
4
+ .description("Initialize and configure Memma's environment")
5
+ .action(initActionHandler);
6
+ //# sourceMappingURL=initCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initCommand.js","sourceRoot":"","sources":["../../../src/commands/init/initCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;KAC3C,WAAW,CAAC,8CAA8C,CAAC;KAC3D,MAAM,CAAC,iBAAiB,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { EnsureMemmaConfigurationsResult } from '../../../types.js';
2
+ export declare function ensureMemmaConfigurations(): Promise<EnsureMemmaConfigurationsResult>;
3
+ //# sourceMappingURL=ensureMemmaConfigurations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensureMemmaConfigurations.d.ts","sourceRoot":"","sources":["../../../../src/commands/init/memma-config/ensureMemmaConfigurations.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AAEzE,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,+BAA+B,CAAC,CAK1F"}
@@ -0,0 +1,8 @@
1
+ import { gatherConfigurationDetails } from './gatherConfigurationDetails.js';
2
+ import { saveMemmaConfig } from '../../../utils/config/saveMemmaConfig.js';
3
+ export async function ensureMemmaConfigurations() {
4
+ const config = await gatherConfigurationDetails();
5
+ const configFilePath = await saveMemmaConfig(config);
6
+ return { config, configFilePath };
7
+ }
8
+ //# sourceMappingURL=ensureMemmaConfigurations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensureMemmaConfigurations.js","sourceRoot":"","sources":["../../../../src/commands/init/memma-config/ensureMemmaConfigurations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAI3E,MAAM,CAAC,KAAK,UAAU,yBAAyB;IAC7C,MAAM,MAAM,GAAG,MAAM,0BAA0B,EAAE,CAAC;IAClD,MAAM,cAAc,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;IAErD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;AACpC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ConfigurationDetails } from '../../../types.js';
2
+ export declare function gatherConfigurationDetails(): Promise<ConfigurationDetails>;
3
+ //# sourceMappingURL=gatherConfigurationDetails.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gatherConfigurationDetails.d.ts","sourceRoot":"","sources":["../../../../src/commands/init/memma-config/gatherConfigurationDetails.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAG9D,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAYhF"}
@@ -0,0 +1,15 @@
1
+ import { SUPPORTED_LLMS } from '../../../constants.js';
2
+ import { MemmaError } from '../../../utils/MemmaError.js';
3
+ import { promptLLMProviderAPIKey, promptLLMProviderSelection, } from '../../../utils/prompts.js';
4
+ // Prompt user for configuration details for memma.config.json
5
+ export async function gatherConfigurationDetails() {
6
+ const llmProvider = await promptLLMProviderSelection();
7
+ const apiKey = await promptLLMProviderAPIKey(llmProvider);
8
+ if (!SUPPORTED_LLMS[llmProvider]) {
9
+ throw new MemmaError(`LLM Provider "${llmProvider}" not supported.`);
10
+ }
11
+ const { llmModel, modelLabel } = SUPPORTED_LLMS[llmProvider];
12
+ // Prompt for API key ()
13
+ return { llmProvider, llmModel, apiKey, modelLabel };
14
+ }
15
+ //# sourceMappingURL=gatherConfigurationDetails.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gatherConfigurationDetails.js","sourceRoot":"","sources":["../../../../src/commands/init/memma-config/gatherConfigurationDetails.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EACL,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,2BAA2B,CAAC;AAInC,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,0BAA0B;IAC9C,MAAM,WAAW,GAAG,MAAM,0BAA0B,EAAE,CAAC;IACvD,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,WAAW,CAAC,CAAC;IAE1D,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,UAAU,CAAC,iBAAiB,WAAW,kBAAkB,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IAE7D,wBAAwB;IACxB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AACvD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function createPythonVirtualEnv(pythonCommand: string, venvPath: string): Promise<void>;
2
+ //# sourceMappingURL=createPythonVirtualEnv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createPythonVirtualEnv.d.ts","sourceRoot":"","sources":["../../../../src/commands/init/memma-env/createPythonVirtualEnv.ts"],"names":[],"mappings":"AAEA,wBAAsB,sBAAsB,CAC1C,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAEf"}
@@ -0,0 +1,5 @@
1
+ import { execa } from 'execa';
2
+ export async function createPythonVirtualEnv(pythonCommand, venvPath) {
3
+ await execa(pythonCommand, ['-m', 'venv', venvPath]);
4
+ }
5
+ //# sourceMappingURL=createPythonVirtualEnv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createPythonVirtualEnv.js","sourceRoot":"","sources":["../../../../src/commands/init/memma-env/createPythonVirtualEnv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,aAAqB,EACrB,QAAgB;IAEhB,MAAM,KAAK,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AACvD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { EnsureMemmaEnvironmentResult } from '../../../types.js';
2
+ export declare function ensureMemmaEnvironment(pythonCommand: string): Promise<EnsureMemmaEnvironmentResult>;
3
+ //# sourceMappingURL=ensureMemmaEnvironment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensureMemmaEnvironment.d.ts","sourceRoot":"","sources":["../../../../src/commands/init/memma-env/ensureMemmaEnvironment.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AAGtE,wBAAsB,sBAAsB,CAC1C,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,4BAA4B,CAAC,CAgBvC"}
@@ -0,0 +1,21 @@
1
+ import fs from 'fs-extra';
2
+ import { venvExists } from './venvExists.js';
3
+ import { getVenvPython } from './getVenvPath.js';
4
+ import { createPythonVirtualEnv } from './createPythonVirtualEnv.js';
5
+ import { GLOBAL_MEMMA_DIR, GLOBAL_MEMMA_VENV } from '../../../constants.js';
6
+ // Ensure the Memma environment is set up correctly
7
+ export async function ensureMemmaEnvironment(pythonCommand) {
8
+ // 1. Ensure ~/.memma exists
9
+ await fs.ensureDir(GLOBAL_MEMMA_DIR);
10
+ // 2. Check/create venv
11
+ if (!(await venvExists())) {
12
+ await createPythonVirtualEnv(pythonCommand, GLOBAL_MEMMA_VENV);
13
+ }
14
+ // 3. Get path to venv's Python executable
15
+ const venvPython = getVenvPython();
16
+ return {
17
+ venvPath: GLOBAL_MEMMA_VENV,
18
+ pythonPath: venvPython,
19
+ };
20
+ }
21
+ //# sourceMappingURL=ensureMemmaEnvironment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensureMemmaEnvironment.js","sourceRoot":"","sources":["../../../../src/commands/init/memma-env/ensureMemmaEnvironment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAI5E,mDAAmD;AACnD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,aAAqB;IAErB,4BAA4B;IAC5B,MAAM,EAAE,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAErC,uBAAuB;IACvB,IAAI,CAAC,CAAC,MAAM,UAAU,EAAE,CAAC,EAAE,CAAC;QAC1B,MAAM,sBAAsB,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;IACjE,CAAC;IAED,0CAA0C;IAC1C,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IAEnC,OAAO;QACL,QAAQ,EAAE,iBAAiB;QAC3B,UAAU,EAAE,UAAU;KACvB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function getVenvPython(): string;
2
+ //# sourceMappingURL=getVenvPath.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getVenvPath.d.ts","sourceRoot":"","sources":["../../../../src/commands/init/memma-env/getVenvPath.ts"],"names":[],"mappings":"AAIA,wBAAgB,aAAa,IAAI,MAAM,CAItC"}
@@ -0,0 +1,9 @@
1
+ import path from 'path';
2
+ import { GLOBAL_MEMMA_VENV } from '../../../constants.js';
3
+ // Resolve venv Python path cross-platform
4
+ export function getVenvPython() {
5
+ return process.platform === 'win32'
6
+ ? path.join(GLOBAL_MEMMA_VENV, 'Scripts', 'python.exe')
7
+ : path.join(GLOBAL_MEMMA_VENV, 'bin', 'python');
8
+ }
9
+ //# sourceMappingURL=getVenvPath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getVenvPath.js","sourceRoot":"","sources":["../../../../src/commands/init/memma-env/getVenvPath.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,0CAA0C;AAC1C,MAAM,UAAU,aAAa;IAC3B,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO;QACjC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,SAAS,EAAE,YAAY,CAAC;QACvD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AACpD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { ensureMemmaEnvironment } from './ensureMemmaEnvironment.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/init/memma-env/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { ensureMemmaEnvironment } from './ensureMemmaEnvironment.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/init/memma-env/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function venvExists(): Promise<boolean>;
2
+ //# sourceMappingURL=venvExists.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"venvExists.d.ts","sourceRoot":"","sources":["../../../../src/commands/init/memma-env/venvExists.ts"],"names":[],"mappings":"AAIA,wBAAsB,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAEnD"}
@@ -0,0 +1,7 @@
1
+ import fs from 'fs-extra';
2
+ import { getVenvPython } from './getVenvPath.js';
3
+ // Check if the virtual environment exists by verifying the Python executable
4
+ export async function venvExists() {
5
+ return fs.pathExists(getVenvPython());
6
+ }
7
+ //# sourceMappingURL=venvExists.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"venvExists.js","sourceRoot":"","sources":["../../../../src/commands/init/memma-env/venvExists.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,6EAA6E;AAC7E,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,OAAO,EAAE,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC;AACxC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export default function displayExitMessages(): Promise<void>;
2
+ //# sourceMappingURL=displayExitMessages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"displayExitMessages.d.ts","sourceRoot":"","sources":["../../../../src/commands/init/messages/displayExitMessages.ts"],"names":[],"mappings":"AAEA,wBAA8B,mBAAmB,kBAMhD"}
@@ -0,0 +1,9 @@
1
+ import { primary, neutral } from '../../../utils/logger.js';
2
+ export default async function displayExitMessages() {
3
+ console.log();
4
+ console.log('Memma environment configured successfully.');
5
+ console.log();
6
+ console.log(neutral('To get started, run the following command:\n'));
7
+ console.log(primary(` memma generate <URL | file path>\n`));
8
+ }
9
+ //# sourceMappingURL=displayExitMessages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"displayExitMessages.js","sourceRoot":"","sources":["../../../../src/commands/init/messages/displayExitMessages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAE5D,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,mBAAmB;IAC/C,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,CAAC;AAChE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export default function displayWelcomeMessages(): Promise<void>;
2
+ //# sourceMappingURL=displayWelcomeMessages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"displayWelcomeMessages.d.ts","sourceRoot":"","sources":["../../../../src/commands/init/messages/displayWelcomeMessages.ts"],"names":[],"mappings":"AAQA,wBAA8B,sBAAsB,kBAUnD"}
@@ -0,0 +1,12 @@
1
+ import { primary, neutral, sleep, drawMemmaLineBreak, centerAlignTerminalText, } from '../../../utils/logger.js';
2
+ export default async function displayWelcomeMessages() {
3
+ console.log();
4
+ drawMemmaLineBreak();
5
+ console.log(primary.bold(centerAlignTerminalText('Welcome to Memma')));
6
+ console.log(primary(centerAlignTerminalText('A visual-to-code CLI tool')));
7
+ drawMemmaLineBreak();
8
+ console.log();
9
+ await sleep(1000);
10
+ console.log(neutral("Let's configure your environment: \n"));
11
+ }
12
+ //# sourceMappingURL=displayWelcomeMessages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"displayWelcomeMessages.js","sourceRoot":"","sources":["../../../../src/commands/init/messages/displayWelcomeMessages.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,OAAO,EACP,KAAK,EACL,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAElC,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,sBAAsB;IAClD,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,kBAAkB,EAAE,CAAC;IACrB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,uBAAuB,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC;IAC3E,kBAAkB,EAAE,CAAC;IACrB,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;IAClB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC,CAAC;AAC/D,CAAC"}
@@ -0,0 +1,5 @@
1
+ export interface RequiredPackagesData {
2
+ [key: string]: string;
3
+ }
4
+ export declare function ensureRequirementsFile(filePath: string, packages: RequiredPackagesData): Promise<string>;
5
+ //# sourceMappingURL=ensureRequirementsFile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensureRequirementsFile.d.ts","sourceRoot":"","sources":["../../../../src/commands/init/packages/ensureRequirementsFile.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,oBAAoB;IACnC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAED,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,oBAAoB,GAC7B,OAAO,CAAC,MAAM,CAAC,CAajB"}
@@ -0,0 +1,11 @@
1
+ import fs from 'fs-extra';
2
+ export async function ensureRequirementsFile(filePath, packages) {
3
+ // Build "package==version" lines
4
+ const lines = Object.entries(packages).map(([pkg, version]) => `${pkg}${version ? `==${version}` : ''}`);
5
+ // Join lines into single content string
6
+ const content = lines.join('\n') + '\n'; // ensure newline at end
7
+ await fs.ensureFile(filePath);
8
+ await fs.writeFile(filePath, content, 'utf-8');
9
+ return filePath; // return path to requirements.txt file
10
+ }
11
+ //# sourceMappingURL=ensureRequirementsFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensureRequirementsFile.js","sourceRoot":"","sources":["../../../../src/commands/init/packages/ensureRequirementsFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAM1B,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,QAAgB,EAChB,QAA8B;IAE9B,iCAAiC;IACjC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CACxC,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7D,CAAC;IAEF,wCAAwC;IACxC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,wBAAwB;IAEjE,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC9B,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAE/C,OAAO,QAAQ,CAAC,CAAC,uCAAuC;AAC1D,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { installRequiredMemmaPackages } from './installRequiredMemmaPackages.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/init/packages/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { installRequiredMemmaPackages } from './installRequiredMemmaPackages.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/init/packages/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function installPlaywrightBrowserBinaries(): Promise<void>;
2
+ //# sourceMappingURL=installPlaywrightBrowserBinaries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installPlaywrightBrowserBinaries.d.ts","sourceRoot":"","sources":["../../../../src/commands/init/packages/installPlaywrightBrowserBinaries.ts"],"names":[],"mappings":"AAIA,wBAAsB,gCAAgC,kBAQrD"}
@@ -0,0 +1,8 @@
1
+ import path from 'path';
2
+ import { execa } from 'execa';
3
+ import { GLOBAL_MEMMA_VENV } from '../../../constants.js';
4
+ export async function installPlaywrightBrowserBinaries() {
5
+ const playwrightBin = path.join(GLOBAL_MEMMA_VENV, process.platform === 'win32' ? 'Scripts' : 'bin', process.platform === 'win32' ? 'playwright.exe' : 'playwright');
6
+ await execa(playwrightBin, ['install'], { stdio: 'ignore' });
7
+ }
8
+ //# sourceMappingURL=installPlaywrightBrowserBinaries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installPlaywrightBrowserBinaries.js","sourceRoot":"","sources":["../../../../src/commands/init/packages/installPlaywrightBrowserBinaries.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,MAAM,CAAC,KAAK,UAAU,gCAAgC;IACpD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAC7B,iBAAiB,EACjB,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAChD,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAC/D,CAAC;IAEF,MAAM,KAAK,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC/D,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function installRequiredMemmaPackages(pythonPath: string): Promise<string>;
2
+ //# sourceMappingURL=installRequiredMemmaPackages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installRequiredMemmaPackages.d.ts","sourceRoot":"","sources":["../../../../src/commands/init/packages/installRequiredMemmaPackages.ts"],"names":[],"mappings":"AAOA,wBAAsB,4BAA4B,CAAC,UAAU,EAAE,MAAM,mBAYpE"}
@@ -0,0 +1,12 @@
1
+ import { ensureRequirementsFile } from './ensureRequirementsFile.js';
2
+ import { installRequiredPackages } from './installRequiredPackages.js';
3
+ import { REQUIRED_PYTHON_PACKAGES_VERSIONS, REQUIREMENTS_FILE_DIRECTORY, } from '../../../constants.js';
4
+ export async function installRequiredMemmaPackages(pythonPath) {
5
+ // Create requirements.txt into ~/.memma
6
+ // Returns path to requirements.txt file
7
+ const reqFilePath = await ensureRequirementsFile(REQUIREMENTS_FILE_DIRECTORY, REQUIRED_PYTHON_PACKAGES_VERSIONS);
8
+ // Installs required packages into the Memma venv
9
+ await installRequiredPackages(pythonPath, reqFilePath);
10
+ return reqFilePath;
11
+ }
12
+ //# sourceMappingURL=installRequiredMemmaPackages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installRequiredMemmaPackages.js","sourceRoot":"","sources":["../../../../src/commands/init/packages/installRequiredMemmaPackages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EACL,iCAAiC,EACjC,2BAA2B,GAC5B,MAAM,uBAAuB,CAAC;AAE/B,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,UAAkB;IACnE,wCAAwC;IACxC,wCAAwC;IACxC,MAAM,WAAW,GAAG,MAAM,sBAAsB,CAC9C,2BAA2B,EAC3B,iCAAiC,CAClC,CAAC;IAEF,iDAAiD;IACjD,MAAM,uBAAuB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAEvD,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function installRequiredPackages(pythonPath: string, reqFilePath: string): Promise<void>;
2
+ //# sourceMappingURL=installRequiredPackages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installRequiredPackages.d.ts","sourceRoot":"","sources":["../../../../src/commands/init/packages/installRequiredPackages.ts"],"names":[],"mappings":"AAEA,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAEf"}
@@ -0,0 +1,5 @@
1
+ import { execa } from 'execa';
2
+ export async function installRequiredPackages(pythonPath, reqFilePath) {
3
+ await execa(pythonPath, ['-m', 'pip', 'install', '-r', reqFilePath]);
4
+ }
5
+ //# sourceMappingURL=installRequiredPackages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installRequiredPackages.js","sourceRoot":"","sources":["../../../../src/commands/init/packages/installRequiredPackages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,UAAkB,EAClB,WAAmB;IAEnB,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;AACvE,CAAC"}
@@ -0,0 +1,5 @@
1
+ export interface PipCheckResult {
2
+ version: string;
3
+ }
4
+ export declare function checkPipInstalled(pythonCmd: string): Promise<PipCheckResult>;
5
+ //# sourceMappingURL=checkPipInstalled.d.ts.map