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.
- package/LICENSE +21 -0
- package/README.md +116 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +21 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/generate/generateActionHandler.d.ts +3 -0
- package/dist/commands/generate/generateActionHandler.d.ts.map +1 -0
- package/dist/commands/generate/generateActionHandler.js +63 -0
- package/dist/commands/generate/generateActionHandler.js.map +1 -0
- package/dist/commands/generate/generateCommand.d.ts +3 -0
- package/dist/commands/generate/generateCommand.d.ts.map +1 -0
- package/dist/commands/generate/generateCommand.js +10 -0
- package/dist/commands/generate/generateCommand.js.map +1 -0
- package/dist/commands/generate/helpers/detectFileType.d.ts +2 -0
- package/dist/commands/generate/helpers/detectFileType.d.ts.map +1 -0
- package/dist/commands/generate/helpers/detectFileType.js +7 -0
- package/dist/commands/generate/helpers/detectFileType.js.map +1 -0
- package/dist/commands/generate/helpers/displayGenerateSuccessMessage.d.ts +7 -0
- package/dist/commands/generate/helpers/displayGenerateSuccessMessage.d.ts.map +1 -0
- package/dist/commands/generate/helpers/displayGenerateSuccessMessage.js +5 -0
- package/dist/commands/generate/helpers/displayGenerateSuccessMessage.js.map +1 -0
- package/dist/commands/generate/helpers/resolveOutputDirectory.d.ts +2 -0
- package/dist/commands/generate/helpers/resolveOutputDirectory.d.ts.map +1 -0
- package/dist/commands/generate/helpers/resolveOutputDirectory.js +29 -0
- package/dist/commands/generate/helpers/resolveOutputDirectory.js.map +1 -0
- package/dist/commands/generate/helpers/resolveSourceArgument.d.ts +8 -0
- package/dist/commands/generate/helpers/resolveSourceArgument.d.ts.map +1 -0
- package/dist/commands/generate/helpers/resolveSourceArgument.js +67 -0
- package/dist/commands/generate/helpers/resolveSourceArgument.js.map +1 -0
- package/dist/commands/generate/index.d.ts +2 -0
- package/dist/commands/generate/index.d.ts.map +1 -0
- package/dist/commands/generate/index.js +2 -0
- package/dist/commands/generate/index.js.map +1 -0
- package/dist/commands/generate/stream/llmResponseHandler.d.ts +9 -0
- package/dist/commands/generate/stream/llmResponseHandler.d.ts.map +1 -0
- package/dist/commands/generate/stream/llmResponseHandler.js +33 -0
- package/dist/commands/generate/stream/llmResponseHandler.js.map +1 -0
- package/dist/commands/generate/stream/sseHandler.d.ts +5 -0
- package/dist/commands/generate/stream/sseHandler.d.ts.map +1 -0
- package/dist/commands/generate/stream/sseHandler.js +28 -0
- package/dist/commands/generate/stream/sseHandler.js.map +1 -0
- package/dist/commands/generate/stream/statusHandler.d.ts +10 -0
- package/dist/commands/generate/stream/statusHandler.d.ts.map +1 -0
- package/dist/commands/generate/stream/statusHandler.js +38 -0
- package/dist/commands/generate/stream/statusHandler.js.map +1 -0
- package/dist/commands/generate/stream/streamGenerateResponse.d.ts +3 -0
- package/dist/commands/generate/stream/streamGenerateResponse.d.ts.map +1 -0
- package/dist/commands/generate/stream/streamGenerateResponse.js +19 -0
- package/dist/commands/generate/stream/streamGenerateResponse.js.map +1 -0
- package/dist/commands/generate/write/saveLLMResponse.d.ts +8 -0
- package/dist/commands/generate/write/saveLLMResponse.d.ts.map +1 -0
- package/dist/commands/generate/write/saveLLMResponse.js +18 -0
- package/dist/commands/generate/write/saveLLMResponse.js.map +1 -0
- package/dist/commands/generate/write/writeResponseToDir.d.ts +2 -0
- package/dist/commands/generate/write/writeResponseToDir.d.ts.map +1 -0
- package/dist/commands/generate/write/writeResponseToDir.js +18 -0
- package/dist/commands/generate/write/writeResponseToDir.js.map +1 -0
- package/dist/commands/generate/write/writeResponseToNewProject.ts.d.ts +3 -0
- package/dist/commands/generate/write/writeResponseToNewProject.ts.d.ts.map +1 -0
- package/dist/commands/generate/write/writeResponseToNewProject.ts.js +27 -0
- package/dist/commands/generate/write/writeResponseToNewProject.ts.js.map +1 -0
- package/dist/commands/init/index.d.ts +2 -0
- package/dist/commands/init/index.d.ts.map +1 -0
- package/dist/commands/init/index.js +2 -0
- package/dist/commands/init/index.js.map +1 -0
- package/dist/commands/init/initActionHandler.d.ts +2 -0
- package/dist/commands/init/initActionHandler.d.ts.map +1 -0
- package/dist/commands/init/initActionHandler.js +50 -0
- package/dist/commands/init/initActionHandler.js.map +1 -0
- package/dist/commands/init/initCommand.d.ts +3 -0
- package/dist/commands/init/initCommand.d.ts.map +1 -0
- package/dist/commands/init/initCommand.js +6 -0
- package/dist/commands/init/initCommand.js.map +1 -0
- package/dist/commands/init/memma-config/ensureMemmaConfigurations.d.ts +3 -0
- package/dist/commands/init/memma-config/ensureMemmaConfigurations.d.ts.map +1 -0
- package/dist/commands/init/memma-config/ensureMemmaConfigurations.js +8 -0
- package/dist/commands/init/memma-config/ensureMemmaConfigurations.js.map +1 -0
- package/dist/commands/init/memma-config/gatherConfigurationDetails.d.ts +3 -0
- package/dist/commands/init/memma-config/gatherConfigurationDetails.d.ts.map +1 -0
- package/dist/commands/init/memma-config/gatherConfigurationDetails.js +15 -0
- package/dist/commands/init/memma-config/gatherConfigurationDetails.js.map +1 -0
- package/dist/commands/init/memma-env/createPythonVirtualEnv.d.ts +2 -0
- package/dist/commands/init/memma-env/createPythonVirtualEnv.d.ts.map +1 -0
- package/dist/commands/init/memma-env/createPythonVirtualEnv.js +5 -0
- package/dist/commands/init/memma-env/createPythonVirtualEnv.js.map +1 -0
- package/dist/commands/init/memma-env/ensureMemmaEnvironment.d.ts +3 -0
- package/dist/commands/init/memma-env/ensureMemmaEnvironment.d.ts.map +1 -0
- package/dist/commands/init/memma-env/ensureMemmaEnvironment.js +21 -0
- package/dist/commands/init/memma-env/ensureMemmaEnvironment.js.map +1 -0
- package/dist/commands/init/memma-env/getVenvPath.d.ts +2 -0
- package/dist/commands/init/memma-env/getVenvPath.d.ts.map +1 -0
- package/dist/commands/init/memma-env/getVenvPath.js +9 -0
- package/dist/commands/init/memma-env/getVenvPath.js.map +1 -0
- package/dist/commands/init/memma-env/index.d.ts +2 -0
- package/dist/commands/init/memma-env/index.d.ts.map +1 -0
- package/dist/commands/init/memma-env/index.js +2 -0
- package/dist/commands/init/memma-env/index.js.map +1 -0
- package/dist/commands/init/memma-env/venvExists.d.ts +2 -0
- package/dist/commands/init/memma-env/venvExists.d.ts.map +1 -0
- package/dist/commands/init/memma-env/venvExists.js +7 -0
- package/dist/commands/init/memma-env/venvExists.js.map +1 -0
- package/dist/commands/init/messages/displayExitMessages.d.ts +2 -0
- package/dist/commands/init/messages/displayExitMessages.d.ts.map +1 -0
- package/dist/commands/init/messages/displayExitMessages.js +9 -0
- package/dist/commands/init/messages/displayExitMessages.js.map +1 -0
- package/dist/commands/init/messages/displayWelcomeMessages.d.ts +2 -0
- package/dist/commands/init/messages/displayWelcomeMessages.d.ts.map +1 -0
- package/dist/commands/init/messages/displayWelcomeMessages.js +12 -0
- package/dist/commands/init/messages/displayWelcomeMessages.js.map +1 -0
- package/dist/commands/init/packages/ensureRequirementsFile.d.ts +5 -0
- package/dist/commands/init/packages/ensureRequirementsFile.d.ts.map +1 -0
- package/dist/commands/init/packages/ensureRequirementsFile.js +11 -0
- package/dist/commands/init/packages/ensureRequirementsFile.js.map +1 -0
- package/dist/commands/init/packages/index.d.ts +2 -0
- package/dist/commands/init/packages/index.d.ts.map +1 -0
- package/dist/commands/init/packages/index.js +2 -0
- package/dist/commands/init/packages/index.js.map +1 -0
- package/dist/commands/init/packages/installPlaywrightBrowserBinaries.d.ts +2 -0
- package/dist/commands/init/packages/installPlaywrightBrowserBinaries.d.ts.map +1 -0
- package/dist/commands/init/packages/installPlaywrightBrowserBinaries.js +8 -0
- package/dist/commands/init/packages/installPlaywrightBrowserBinaries.js.map +1 -0
- package/dist/commands/init/packages/installRequiredMemmaPackages.d.ts +2 -0
- package/dist/commands/init/packages/installRequiredMemmaPackages.d.ts.map +1 -0
- package/dist/commands/init/packages/installRequiredMemmaPackages.js +12 -0
- package/dist/commands/init/packages/installRequiredMemmaPackages.js.map +1 -0
- package/dist/commands/init/packages/installRequiredPackages.d.ts +2 -0
- package/dist/commands/init/packages/installRequiredPackages.d.ts.map +1 -0
- package/dist/commands/init/packages/installRequiredPackages.js +5 -0
- package/dist/commands/init/packages/installRequiredPackages.js.map +1 -0
- package/dist/commands/init/python-env/checkPipInstalled.d.ts +5 -0
- package/dist/commands/init/python-env/checkPipInstalled.d.ts.map +1 -0
- package/dist/commands/init/python-env/checkPipInstalled.js +17 -0
- package/dist/commands/init/python-env/checkPipInstalled.js.map +1 -0
- package/dist/commands/init/python-env/detectPython.d.ts +3 -0
- package/dist/commands/init/python-env/detectPython.d.ts.map +1 -0
- package/dist/commands/init/python-env/detectPython.js +26 -0
- package/dist/commands/init/python-env/detectPython.js.map +1 -0
- package/dist/commands/init/python-env/detectPythonVersion.d.ts +2 -0
- package/dist/commands/init/python-env/detectPythonVersion.d.ts.map +1 -0
- package/dist/commands/init/python-env/detectPythonVersion.js +8 -0
- package/dist/commands/init/python-env/detectPythonVersion.js.map +1 -0
- package/dist/commands/init/python-env/index.d.ts +2 -0
- package/dist/commands/init/python-env/index.d.ts.map +1 -0
- package/dist/commands/init/python-env/index.js +2 -0
- package/dist/commands/init/python-env/index.js.map +1 -0
- package/dist/commands/init/python-env/validatePythonEnvironment.d.ts +3 -0
- package/dist/commands/init/python-env/validatePythonEnvironment.d.ts.map +1 -0
- package/dist/commands/init/python-env/validatePythonEnvironment.js +11 -0
- package/dist/commands/init/python-env/validatePythonEnvironment.js.map +1 -0
- package/dist/commands/init/scripts/copyMemmaPythonFiles.d.ts +6 -0
- package/dist/commands/init/scripts/copyMemmaPythonFiles.d.ts.map +1 -0
- package/dist/commands/init/scripts/copyMemmaPythonFiles.js +31 -0
- package/dist/commands/init/scripts/copyMemmaPythonFiles.js.map +1 -0
- package/dist/commands/reset/deleteMemmaDirectory.d.ts +2 -0
- package/dist/commands/reset/deleteMemmaDirectory.d.ts.map +1 -0
- package/dist/commands/reset/deleteMemmaDirectory.js +12 -0
- package/dist/commands/reset/deleteMemmaDirectory.js.map +1 -0
- package/dist/commands/reset/resetActionHandler.d.ts +2 -0
- package/dist/commands/reset/resetActionHandler.d.ts.map +1 -0
- package/dist/commands/reset/resetActionHandler.js +39 -0
- package/dist/commands/reset/resetActionHandler.js.map +1 -0
- package/dist/commands/reset/resetCommand.d.ts +3 -0
- package/dist/commands/reset/resetCommand.d.ts.map +1 -0
- package/dist/commands/reset/resetCommand.js +6 -0
- package/dist/commands/reset/resetCommand.js.map +1 -0
- package/dist/commands/start/getOrchestratorEnvVariables.d.ts +7 -0
- package/dist/commands/start/getOrchestratorEnvVariables.d.ts.map +1 -0
- package/dist/commands/start/getOrchestratorEnvVariables.js +12 -0
- package/dist/commands/start/getOrchestratorEnvVariables.js.map +1 -0
- package/dist/commands/start/index.d.ts +2 -0
- package/dist/commands/start/index.d.ts.map +1 -0
- package/dist/commands/start/index.js +2 -0
- package/dist/commands/start/index.js.map +1 -0
- package/dist/commands/start/startActionHandler.d.ts +2 -0
- package/dist/commands/start/startActionHandler.d.ts.map +1 -0
- package/dist/commands/start/startActionHandler.js +23 -0
- package/dist/commands/start/startActionHandler.js.map +1 -0
- package/dist/commands/start/startCommand.d.ts +3 -0
- package/dist/commands/start/startCommand.d.ts.map +1 -0
- package/dist/commands/start/startCommand.js +6 -0
- package/dist/commands/start/startCommand.js.map +1 -0
- package/dist/commands/start/startMemmaOrchestrator.d.ts +2 -0
- package/dist/commands/start/startMemmaOrchestrator.d.ts.map +1 -0
- package/dist/commands/start/startMemmaOrchestrator.js +31 -0
- package/dist/commands/start/startMemmaOrchestrator.js.map +1 -0
- package/dist/commands/start/waitForLocalServerReady.d.ts +2 -0
- package/dist/commands/start/waitForLocalServerReady.d.ts.map +1 -0
- package/dist/commands/start/waitForLocalServerReady.js +18 -0
- package/dist/commands/start/waitForLocalServerReady.js.map +1 -0
- package/dist/commands/stop/index.d.ts +2 -0
- package/dist/commands/stop/index.d.ts.map +1 -0
- package/dist/commands/stop/index.js +2 -0
- package/dist/commands/stop/index.js.map +1 -0
- package/dist/commands/stop/stopActionHandler.d.ts +2 -0
- package/dist/commands/stop/stopActionHandler.d.ts.map +1 -0
- package/dist/commands/stop/stopActionHandler.js +22 -0
- package/dist/commands/stop/stopActionHandler.js.map +1 -0
- package/dist/commands/stop/stopCommand.d.ts +3 -0
- package/dist/commands/stop/stopCommand.d.ts.map +1 -0
- package/dist/commands/stop/stopCommand.js +6 -0
- package/dist/commands/stop/stopCommand.js.map +1 -0
- package/dist/commands/stop/stopMemmaOrchestrator.d.ts +2 -0
- package/dist/commands/stop/stopMemmaOrchestrator.d.ts.map +1 -0
- package/dist/commands/stop/stopMemmaOrchestrator.js +15 -0
- package/dist/commands/stop/stopMemmaOrchestrator.js.map +1 -0
- package/dist/commands/stop/stopProcess.d.ts +2 -0
- package/dist/commands/stop/stopProcess.d.ts.map +1 -0
- package/dist/commands/stop/stopProcess.js +21 -0
- package/dist/commands/stop/stopProcess.js.map +1 -0
- package/dist/constants.d.ts +61 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +69 -0
- package/dist/constants.js.map +1 -0
- package/dist/types.d.ts +57 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/MemmaError.d.ts +4 -0
- package/dist/utils/MemmaError.d.ts.map +1 -0
- package/dist/utils/MemmaError.js +6 -0
- package/dist/utils/MemmaError.js.map +1 -0
- package/dist/utils/config/getMemmaConfig.d.ts +3 -0
- package/dist/utils/config/getMemmaConfig.d.ts.map +1 -0
- package/dist/utils/config/getMemmaConfig.js +12 -0
- package/dist/utils/config/getMemmaConfig.js.map +1 -0
- package/dist/utils/config/saveMemmaConfig.d.ts +3 -0
- package/dist/utils/config/saveMemmaConfig.d.ts.map +1 -0
- package/dist/utils/config/saveMemmaConfig.js +7 -0
- package/dist/utils/config/saveMemmaConfig.js.map +1 -0
- package/dist/utils/consoleMessages.d.ts +2 -0
- package/dist/utils/consoleMessages.d.ts.map +1 -0
- package/dist/utils/consoleMessages.js +2 -0
- package/dist/utils/consoleMessages.js.map +1 -0
- package/dist/utils/getMemmaScriptPath.d.ts +2 -0
- package/dist/utils/getMemmaScriptPath.d.ts.map +1 -0
- package/dist/utils/getMemmaScriptPath.js +6 -0
- package/dist/utils/getMemmaScriptPath.js.map +1 -0
- package/dist/utils/getPidOnPort.d.ts +2 -0
- package/dist/utils/getPidOnPort.d.ts.map +1 -0
- package/dist/utils/getPidOnPort.js +36 -0
- package/dist/utils/getPidOnPort.js.map +1 -0
- package/dist/utils/llm/validateAPIKey.d.ts +4 -0
- package/dist/utils/llm/validateAPIKey.d.ts.map +1 -0
- package/dist/utils/llm/validateAPIKey.js +46 -0
- package/dist/utils/llm/validateAPIKey.js.map +1 -0
- package/dist/utils/logger.d.ts +20 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +91 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/logo.d.ts +2 -0
- package/dist/utils/logo.d.ts.map +1 -0
- package/dist/utils/logo.js +32 -0
- package/dist/utils/logo.js.map +1 -0
- package/dist/utils/paths.d.ts +3 -0
- package/dist/utils/paths.d.ts.map +1 -0
- package/dist/utils/paths.js +11 -0
- package/dist/utils/paths.js.map +1 -0
- package/dist/utils/prompts.d.ts +4 -0
- package/dist/utils/prompts.d.ts.map +1 -0
- package/dist/utils/prompts.js +34 -0
- package/dist/utils/prompts.js.map +1 -0
- package/dist/utils/resolveDirectory.d.ts +2 -0
- package/dist/utils/resolveDirectory.d.ts.map +1 -0
- package/dist/utils/resolveDirectory.js +18 -0
- package/dist/utils/resolveDirectory.js.map +1 -0
- package/dist/utils/resolveOrchestratorState.d.ts +3 -0
- package/dist/utils/resolveOrchestratorState.d.ts.map +1 -0
- package/dist/utils/resolveOrchestratorState.js +32 -0
- package/dist/utils/resolveOrchestratorState.js.map +1 -0
- package/dist/utils/typeGuards.d.ts +8 -0
- package/dist/utils/typeGuards.d.ts.map +1 -0
- package/dist/utils/typeGuards.js +69 -0
- package/dist/utils/typeGuards.js.map +1 -0
- package/dist/utils/wait.d.ts +2 -0
- package/dist/utils/wait.d.ts.map +1 -0
- package/dist/utils/wait.js +22 -0
- package/dist/utils/wait.js.map +1 -0
- package/package.json +56 -0
- package/python/__init__.py +0 -0
- package/python/agents/coordinator_agent.py +28 -0
- package/python/agents/generator_agent.py +7 -0
- package/python/generate/__init__.py +0 -0
- package/python/generate/generate_from_url.py +53 -0
- package/python/graphs/__init__.py +0 -0
- package/python/graphs/memma_graph.py +46 -0
- package/python/main.py +75 -0
- package/python/nodes/__init__.py +0 -0
- package/python/nodes/coordinator_node.py +89 -0
- package/python/nodes/generate_node.py +72 -0
- package/python/nodes/screenshot_node.py +40 -0
- package/python/schemas/__init__.py +5 -0
- package/python/schemas/types.py +14 -0
- package/python/states/memma_state.py +27 -0
- package/python/tools/__init__.py +0 -0
- package/python/tools/generate_components.py +9 -0
- package/python/tools/generate_screenshot_path.py +39 -0
- package/python/tools/inspect_site.py +52 -0
- package/python/utils/clean_json_response.py +26 -0
- package/python/utils/encode_base64.py +27 -0
- package/python/utils/format_image_content.py +40 -0
- package/python/utils/llm_loader.py +33 -0
- package/python/utils/mime_types.py +8 -0
- package/python/utils/prompts.py +8 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stopProcess.js","sourceRoot":"","sources":["../../../src/commands/stop/stopProcess.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACzB,MAAM,IAAI,UAAU,CAAC,WAAW,GAAG,aAAa,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { SupportedLLMs } from './types.js';
|
|
2
|
+
export declare const MEMMA_ORCHESTRATOR_PORT = "23224";
|
|
3
|
+
export declare const MEMMA_GENERATE_ENDPOINT = "http://localhost:23224/generate";
|
|
4
|
+
export declare const PYTHON_COMMANDS: string[];
|
|
5
|
+
export declare const MIN_PYTHON_VERSION = "3.8.0";
|
|
6
|
+
export declare const DEFAULT_OUTPUT_DIR = "components";
|
|
7
|
+
export declare const GLOBAL_MEMMA_DIR: string;
|
|
8
|
+
export declare const GLOBAL_MEMMA_VENV: string;
|
|
9
|
+
export declare const MEMMA_SCRIPTS_DIR: string;
|
|
10
|
+
export declare const SUPPORTED_FILE_TYPES: string[];
|
|
11
|
+
export declare const DEFAULT_ANTHROPIC_MODEL = "claude-sonnet-4-5-20250929";
|
|
12
|
+
export declare const DEFAULT_OPENAI_MODEL = "gpt-4o";
|
|
13
|
+
export declare const DEFAULT_API_MAX_TOKENS = 10000;
|
|
14
|
+
export declare const SUPPORTED_LLMS: SupportedLLMs;
|
|
15
|
+
export declare const REQUIREMENTS_FILE_DIRECTORY: string;
|
|
16
|
+
export declare const MEMMA_CONFIG_FILE_NAME = "memma.config.json";
|
|
17
|
+
export declare const MEMMA_CONFIG_FILE_PATH: string;
|
|
18
|
+
export declare const REQUIRED_PYTHON_PACKAGES: string[];
|
|
19
|
+
export declare const REQUIRED_PYTHON_PACKAGES_VERSIONS: {
|
|
20
|
+
'langchain[anthropic,openai]': string;
|
|
21
|
+
langgraph: string;
|
|
22
|
+
playwright: string;
|
|
23
|
+
fastapi: string;
|
|
24
|
+
uvicorn: string;
|
|
25
|
+
beautifulsoup4: string;
|
|
26
|
+
};
|
|
27
|
+
export declare const SELECT_THEME: {
|
|
28
|
+
prefix: {
|
|
29
|
+
idle: string;
|
|
30
|
+
done: string;
|
|
31
|
+
};
|
|
32
|
+
style: {
|
|
33
|
+
message: (text: string) => string;
|
|
34
|
+
highlight: (text: string) => string;
|
|
35
|
+
answer: (text: string) => string;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
export declare const CONFIRM_THEME: {
|
|
39
|
+
prefix: {
|
|
40
|
+
idle: string;
|
|
41
|
+
done: string;
|
|
42
|
+
};
|
|
43
|
+
style: {
|
|
44
|
+
message: (text: string) => string;
|
|
45
|
+
highlight: (text: string) => string;
|
|
46
|
+
answer: (text: string) => string;
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
export declare const PASSWORD_THEME: {
|
|
50
|
+
style: {
|
|
51
|
+
help: () => string;
|
|
52
|
+
message: (text: string) => string;
|
|
53
|
+
highlight: (text: string) => string;
|
|
54
|
+
answer: (text: string) => string;
|
|
55
|
+
};
|
|
56
|
+
prefix: {
|
|
57
|
+
idle: string;
|
|
58
|
+
done: string;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,eAAO,MAAM,uBAAuB,UAAU,CAAC;AAC/C,eAAO,MAAM,uBAAuB,oCAAyD,CAAC;AAE9F,eAAO,MAAM,eAAe,UAA8B,CAAC;AAC3D,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAC1C,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAC/C,eAAO,MAAM,gBAAgB,QAA2C,CAAC;AACzE,eAAO,MAAM,iBAAiB,QAAsC,CAAC;AACrE,eAAO,MAAM,iBAAiB,QAAwC,CAAC;AACvE,eAAO,MAAM,oBAAoB,UAAqC,CAAC;AAEvE,eAAO,MAAM,uBAAuB,+BAA+B,CAAC;AACpE,eAAO,MAAM,oBAAoB,WAAW,CAAC;AAC7C,eAAO,MAAM,sBAAsB,QAAQ,CAAC;AAE5C,eAAO,MAAM,cAAc,EAAE,aAc5B,CAAC;AAEF,eAAO,MAAM,2BAA2B,QAGvC,CAAC;AAEF,eAAO,MAAM,sBAAsB,sBAAsB,CAAC;AAC1D,eAAO,MAAM,sBAAsB,QAGlC,CAAC;AAEF,eAAO,MAAM,wBAAwB,UAOpC,CAAC;AAEF,eAAO,MAAM,iCAAiC;;;;;;;CAO7C,CAAC;AAcF,eAAO,MAAM,YAAY;;;;;;wBANL,MAAM;0BACJ,MAAM;uBACT,MAAM;;CAIyB,CAAC;AACnD,eAAO,MAAM,aAAa;;;;;;wBAPN,MAAM;0BACJ,MAAM;uBACT,MAAM;;CAK0B,CAAC;AACpD,eAAO,MAAM,cAAc;;;wBARP,MAAM;0BACJ,MAAM;uBACT,MAAM;;;;;;CAYxB,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import os from 'os';
|
|
3
|
+
import { primary, neutral } from './utils/logger.js';
|
|
4
|
+
export const MEMMA_ORCHESTRATOR_PORT = '23224';
|
|
5
|
+
export const MEMMA_GENERATE_ENDPOINT = `http://localhost:${MEMMA_ORCHESTRATOR_PORT}/generate`;
|
|
6
|
+
export const PYTHON_COMMANDS = ['python3', 'python', 'py'];
|
|
7
|
+
export const MIN_PYTHON_VERSION = '3.8.0';
|
|
8
|
+
export const DEFAULT_OUTPUT_DIR = 'components';
|
|
9
|
+
export const GLOBAL_MEMMA_DIR = path.join(os.homedir() || '~', '.memma');
|
|
10
|
+
export const GLOBAL_MEMMA_VENV = path.join(GLOBAL_MEMMA_DIR, 'venv');
|
|
11
|
+
export const MEMMA_SCRIPTS_DIR = path.join(GLOBAL_MEMMA_DIR, 'python');
|
|
12
|
+
export const SUPPORTED_FILE_TYPES = ['.png', '.jpg', '.jpeg', '.webp'];
|
|
13
|
+
export const DEFAULT_ANTHROPIC_MODEL = 'claude-sonnet-4-5-20250929';
|
|
14
|
+
export const DEFAULT_OPENAI_MODEL = 'gpt-4o';
|
|
15
|
+
export const DEFAULT_API_MAX_TOKENS = 10000;
|
|
16
|
+
export const SUPPORTED_LLMS = {
|
|
17
|
+
Anthropic: {
|
|
18
|
+
llmModel: DEFAULT_ANTHROPIC_MODEL,
|
|
19
|
+
defaultMaxTokens: DEFAULT_API_MAX_TOKENS,
|
|
20
|
+
modelLabel: `anthropic:${DEFAULT_ANTHROPIC_MODEL}`,
|
|
21
|
+
display: 'Anthropic (Claude)',
|
|
22
|
+
},
|
|
23
|
+
OpenAI: {
|
|
24
|
+
llmModel: DEFAULT_OPENAI_MODEL,
|
|
25
|
+
defaultMaxTokens: DEFAULT_API_MAX_TOKENS,
|
|
26
|
+
modelLabel: `openai:${DEFAULT_OPENAI_MODEL}`,
|
|
27
|
+
display: 'OpenAI (GPT)',
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
export const REQUIREMENTS_FILE_DIRECTORY = path.join(GLOBAL_MEMMA_DIR, 'requirements.txt');
|
|
31
|
+
export const MEMMA_CONFIG_FILE_NAME = 'memma.config.json';
|
|
32
|
+
export const MEMMA_CONFIG_FILE_PATH = path.join(GLOBAL_MEMMA_DIR, MEMMA_CONFIG_FILE_NAME);
|
|
33
|
+
export const REQUIRED_PYTHON_PACKAGES = [
|
|
34
|
+
'langchain[anthropic,openai]',
|
|
35
|
+
'langgraph',
|
|
36
|
+
'playwright',
|
|
37
|
+
'fastapi',
|
|
38
|
+
'uvicorn',
|
|
39
|
+
'beautifulsoup4',
|
|
40
|
+
];
|
|
41
|
+
export const REQUIRED_PYTHON_PACKAGES_VERSIONS = {
|
|
42
|
+
'langchain[anthropic,openai]': '1.0.2',
|
|
43
|
+
langgraph: '1.0.1',
|
|
44
|
+
playwright: '1.55.0',
|
|
45
|
+
fastapi: '0.119.1 ',
|
|
46
|
+
uvicorn: '0.38.0',
|
|
47
|
+
beautifulsoup4: '4.14.2',
|
|
48
|
+
};
|
|
49
|
+
const DEFAULT_INQUIRER_THEME = {
|
|
50
|
+
prefix: {
|
|
51
|
+
idle: primary('?'),
|
|
52
|
+
done: primary('✔'),
|
|
53
|
+
},
|
|
54
|
+
style: {
|
|
55
|
+
message: (text) => neutral(text),
|
|
56
|
+
highlight: (text) => primary(text),
|
|
57
|
+
answer: (text) => primary(text),
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
export const SELECT_THEME = DEFAULT_INQUIRER_THEME;
|
|
61
|
+
export const CONFIRM_THEME = DEFAULT_INQUIRER_THEME;
|
|
62
|
+
export const PASSWORD_THEME = {
|
|
63
|
+
...DEFAULT_INQUIRER_THEME,
|
|
64
|
+
style: {
|
|
65
|
+
...DEFAULT_INQUIRER_THEME.style,
|
|
66
|
+
help: () => '',
|
|
67
|
+
},
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
export type EnsureMemmaConfigurationsResult = {
|
|
2
|
+
config: ConfigurationDetails;
|
|
3
|
+
configFilePath: string;
|
|
4
|
+
};
|
|
5
|
+
export interface ConfigurationDetails {
|
|
6
|
+
llmProvider: string;
|
|
7
|
+
apiKey: string;
|
|
8
|
+
llmModel: string;
|
|
9
|
+
modelLabel: string;
|
|
10
|
+
orchestratorPid?: number | undefined;
|
|
11
|
+
}
|
|
12
|
+
export interface PythonCheckResult {
|
|
13
|
+
command: string;
|
|
14
|
+
minVersion: string;
|
|
15
|
+
systemVersion: string;
|
|
16
|
+
}
|
|
17
|
+
export interface ValidatePythonEnvironmentResult {
|
|
18
|
+
pythonCommand: string;
|
|
19
|
+
pipVersion: string;
|
|
20
|
+
}
|
|
21
|
+
export interface EnsureMemmaEnvironmentResult {
|
|
22
|
+
venvPath: string;
|
|
23
|
+
pythonPath: string;
|
|
24
|
+
}
|
|
25
|
+
export interface ResolveOutputDirectoryResult {
|
|
26
|
+
outputDir: string;
|
|
27
|
+
}
|
|
28
|
+
export interface SupportedLLMs {
|
|
29
|
+
[provider: string]: LLMData;
|
|
30
|
+
}
|
|
31
|
+
export interface LLMData {
|
|
32
|
+
llmModel: string;
|
|
33
|
+
defaultMaxTokens: number;
|
|
34
|
+
display: string;
|
|
35
|
+
modelLabel: string;
|
|
36
|
+
}
|
|
37
|
+
export interface GenerateActionHandlerOptions {
|
|
38
|
+
createProject?: boolean;
|
|
39
|
+
localFile?: boolean;
|
|
40
|
+
}
|
|
41
|
+
export type OrchestratorState = RunningOrchestratorState | NotRunningOrchestratorState | UnknownRunningOrchestratorState;
|
|
42
|
+
export interface RunningOrchestratorState {
|
|
43
|
+
state: 'RUNNING';
|
|
44
|
+
pid: number;
|
|
45
|
+
config: ConfigurationDetails;
|
|
46
|
+
}
|
|
47
|
+
export interface UnknownRunningOrchestratorState {
|
|
48
|
+
state: 'UNKNOWN_RUNNING';
|
|
49
|
+
pid: number;
|
|
50
|
+
config: ConfigurationDetails;
|
|
51
|
+
}
|
|
52
|
+
export interface NotRunningOrchestratorState {
|
|
53
|
+
state: 'NOT_RUNNING';
|
|
54
|
+
pid: null;
|
|
55
|
+
config: ConfigurationDetails;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,+BAA+B,GAAG;IAC5C,MAAM,EAAE,oBAAoB,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,+BAA+B;IAC9C,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,4BAA4B;IAC3C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,4BAA4B;IAC3C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,MAAM,iBAAiB,GACzB,wBAAwB,GACxB,2BAA2B,GAC3B,+BAA+B,CAAC;AAEpC,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,SAAS,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,oBAAoB,CAAC;CAC9B;AAED,MAAM,WAAW,+BAA+B;IAC9C,KAAK,EAAE,iBAAiB,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,oBAAoB,CAAC;CAC9B;AAED,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,aAAa,CAAC;IACrB,GAAG,EAAE,IAAI,CAAC;IACV,MAAM,EAAE,oBAAoB,CAAC;CAC9B"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemmaError.d.ts","sourceRoot":"","sources":["../../src/utils/MemmaError.ts"],"names":[],"mappings":"AAAA,qBAAa,UAAW,SAAQ,KAAK;gBACvB,OAAO,GAAE,MAA8B;CAGpD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemmaError.js","sourceRoot":"","sources":["../../src/utils/MemmaError.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,UAAW,SAAQ,KAAK;IACnC,YAAY,UAAkB,qBAAqB;QACjD,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getMemmaConfig.d.ts","sourceRoot":"","sources":["../../../src/utils/config/getMemmaConfig.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAG3D,wBAAsB,cAAc,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAQpE"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import fs from 'fs-extra';
|
|
2
|
+
import { MEMMA_CONFIG_FILE_PATH } from '../../constants.js';
|
|
3
|
+
import { MemmaError } from '../MemmaError.js';
|
|
4
|
+
export async function getMemmaConfig() {
|
|
5
|
+
try {
|
|
6
|
+
return await fs.readJSON(MEMMA_CONFIG_FILE_PATH);
|
|
7
|
+
}
|
|
8
|
+
catch {
|
|
9
|
+
throw new MemmaError(`\nCould not find Memma configuration file.\n\nExpected file path: ${MEMMA_CONFIG_FILE_PATH}\nEnsure Memma is configured with "memma init"\n`);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=getMemmaConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getMemmaConfig.js","sourceRoot":"","sources":["../../../src/utils/config/getMemmaConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,UAAU,CAClB,qEAAqE,sBAAsB,kDAAkD,CAC9I,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"saveMemmaConfig.d.ts","sourceRoot":"","sources":["../../../src/utils/config/saveMemmaConfig.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,wBAAsB,eAAe,CACnC,SAAS,EAAE,oBAAoB,GAC9B,OAAO,CAAC,MAAM,CAAC,CAGjB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import fs from 'fs-extra';
|
|
2
|
+
import { MEMMA_CONFIG_FILE_PATH } from '../../constants.js';
|
|
3
|
+
export async function saveMemmaConfig(configObj) {
|
|
4
|
+
await fs.writeJson(MEMMA_CONFIG_FILE_PATH, configObj, { spaces: 2 });
|
|
5
|
+
return MEMMA_CONFIG_FILE_PATH;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=saveMemmaConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"saveMemmaConfig.js","sourceRoot":"","sources":["../../../src/utils/config/saveMemmaConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAI5D,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,SAA+B;IAE/B,MAAM,EAAE,CAAC,SAAS,CAAC,sBAAsB,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IACrE,OAAO,sBAAsB,CAAC;AAChC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consoleMessages.d.ts","sourceRoot":"","sources":["../../src/utils/consoleMessages.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consoleMessages.js","sourceRoot":"","sources":["../../src/utils/consoleMessages.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getMemmaScriptPath.d.ts","sourceRoot":"","sources":["../../src/utils/getMemmaScriptPath.ts"],"names":[],"mappings":"AAGA,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,UAElD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getMemmaScriptPath.js","sourceRoot":"","sources":["../../src/utils/getMemmaScriptPath.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IACjD,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPidOnPort.d.ts","sourceRoot":"","sources":["../../src/utils/getPidOnPort.ts"],"names":[],"mappings":"AAKA,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAYvE"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import os from 'os';
|
|
2
|
+
import { execa, execaCommand } from 'execa';
|
|
3
|
+
import { isNoProcessFoundError } from './typeGuards.js';
|
|
4
|
+
// Return PID of running process on a given port
|
|
5
|
+
export async function getPidOnPort(port) {
|
|
6
|
+
try {
|
|
7
|
+
if (os.platform() === 'win32') {
|
|
8
|
+
return await getPidOnWindows(port);
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
return await getPidOnLinux(port);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
catch (err) {
|
|
15
|
+
// lsof exited with code 1 → no process found on port
|
|
16
|
+
if (isNoProcessFoundError(err))
|
|
17
|
+
return null;
|
|
18
|
+
throw err;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
async function getPidOnWindows(port) {
|
|
22
|
+
const { stdout } = await execaCommand(`netstat -ano | findstr LISTENING | findstr :${port}`);
|
|
23
|
+
const line = stdout.split('\n')[0]?.trim();
|
|
24
|
+
const pid = line?.split(/\s+/).pop();
|
|
25
|
+
return pid ? Number(pid) : null;
|
|
26
|
+
}
|
|
27
|
+
async function getPidOnLinux(port) {
|
|
28
|
+
const { stdout } = await execa('lsof', [
|
|
29
|
+
'-ti',
|
|
30
|
+
`tcp:${port}`,
|
|
31
|
+
'-sTCP:LISTEN',
|
|
32
|
+
]);
|
|
33
|
+
const pid = stdout.split('\n')[0]?.trim();
|
|
34
|
+
return pid ? Number(pid) : null;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=getPidOnPort.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPidOnPort.js","sourceRoot":"","sources":["../../src/utils/getPidOnPort.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD,gDAAgD;AAChD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAY;IAC7C,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,EAAE,CAAC;YAC9B,OAAO,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,qDAAqD;QACrD,IAAI,qBAAqB,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5C,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,IAAY;IACzC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,YAAY,CACnC,+CAA+C,IAAI,EAAE,CACtD,CAAC;IACF,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IAC3C,MAAM,GAAG,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;IACrC,OAAO,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAClC,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAAY;IACvC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE;QACrC,KAAK;QACL,OAAO,IAAI,EAAE;QACb,cAAc;KACf,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IAC1C,OAAO,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAClC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function validateAPIKey(provider: string, apiKey: string): Promise<boolean>;
|
|
2
|
+
export declare function validateAnthropicAPIKey(apiKey: string): Promise<boolean>;
|
|
3
|
+
export declare function validateOpenAIAPIKey(apiKey: string): Promise<boolean>;
|
|
4
|
+
//# sourceMappingURL=validateAPIKey.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateAPIKey.d.ts","sourceRoot":"","sources":["../../../src/utils/llm/validateAPIKey.ts"],"names":[],"mappings":"AAAA,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CAalB;AAGD,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CAclB;AAED,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAa3E"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export async function validateAPIKey(provider, apiKey) {
|
|
2
|
+
try {
|
|
3
|
+
provider = provider.toLowerCase();
|
|
4
|
+
if (provider === 'anthropic') {
|
|
5
|
+
return await validateAnthropicAPIKey(apiKey);
|
|
6
|
+
}
|
|
7
|
+
else if (provider === 'openai') {
|
|
8
|
+
return await validateOpenAIAPIKey(apiKey);
|
|
9
|
+
}
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
catch (error) {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
// utils/validateApiKey.ts
|
|
17
|
+
export async function validateAnthropicAPIKey(apiKey) {
|
|
18
|
+
try {
|
|
19
|
+
const response = await fetch('https://api.anthropic.com/v1/models', {
|
|
20
|
+
method: 'GET',
|
|
21
|
+
headers: {
|
|
22
|
+
'x-api-key': apiKey,
|
|
23
|
+
'anthropic-version': '2023-06-01',
|
|
24
|
+
},
|
|
25
|
+
});
|
|
26
|
+
return response.ok;
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export async function validateOpenAIAPIKey(apiKey) {
|
|
33
|
+
try {
|
|
34
|
+
const response = await fetch('https://api.openai.com/v1/models', {
|
|
35
|
+
method: 'GET',
|
|
36
|
+
headers: {
|
|
37
|
+
Authorization: `Bearer ${apiKey}`,
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
return response.ok;
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=validateAPIKey.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateAPIKey.js","sourceRoot":"","sources":["../../../src/utils/llm/validateAPIKey.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAAgB,EAChB,MAAc;IAEd,IAAI,CAAC;QACH,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QAClC,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC7B,OAAO,MAAM,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;aAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,0BAA0B;AAC1B,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,MAAc;IAEd,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,qCAAqC,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,WAAW,EAAE,MAAM;gBACnB,mBAAmB,EAAE,YAAY;aAClC;SACF,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,EAAE,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAAc;IACvD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,kCAAkC,EAAE;YAC/D,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,MAAM,EAAE;aAClC;SACF,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,EAAE,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Ora, Color } from 'ora';
|
|
2
|
+
export declare const memmaBlue = "#7599f5";
|
|
3
|
+
export declare const primary: import("chalk").ChalkInstance;
|
|
4
|
+
export declare const secondary: import("chalk").ChalkInstance;
|
|
5
|
+
export declare const neutral: import("chalk").ChalkInstance;
|
|
6
|
+
export declare const emphasis: import("chalk").ChalkInstance;
|
|
7
|
+
export declare const success: import("chalk").ChalkInstance;
|
|
8
|
+
export declare const sleep: (ms: number) => Promise<unknown>;
|
|
9
|
+
export declare function spin(msg: string, opts?: {
|
|
10
|
+
color: Color;
|
|
11
|
+
}): Ora;
|
|
12
|
+
export declare function header(...args: unknown[]): Promise<void>;
|
|
13
|
+
export declare function info(...args: unknown[]): void;
|
|
14
|
+
export declare function note(...args: unknown[]): Promise<void>;
|
|
15
|
+
export declare function log(...args: unknown[]): void;
|
|
16
|
+
export declare function error(...args: unknown[]): void;
|
|
17
|
+
export declare function warn(...args: unknown[]): void;
|
|
18
|
+
export declare function drawMemmaLineBreak(): void;
|
|
19
|
+
export declare function centerAlignTerminalText(text: string): string;
|
|
20
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC;AAKtC,eAAO,MAAM,SAAS,YAAY,CAAC;AAMnC,eAAO,MAAM,OAAO,+BAAuB,CAAC;AAC5C,eAAO,MAAM,SAAS,+BAA8B,CAAC;AACrD,eAAO,MAAM,OAAO,+BAAwB,CAAC;AAC7C,eAAO,MAAM,QAAQ,+BAA6B,CAAC;AACnD,eAAO,MAAM,OAAO,+BAAoB,CAAC;AASzC,eAAO,MAAM,KAAK,GAAI,IAAI,MAAM,qBAG5B,CAAC;AAEL,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,GAAG,GAAG,CAI9D;AAED,wBAAsB,MAAM,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAI9D;AAED,wBAAgB,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,QAGtC;AAED,wBAAsB,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,iBAG5C;AAED,wBAAgB,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,QAErC;AAED,wBAAgB,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,QAGvC;AAED,wBAAgB,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,QAGtC;AAED,wBAAgB,kBAAkB,SAMjC;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,UAMnD"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/* eslint-disable no-await-in-loop */
|
|
2
|
+
/* eslint-disable perfectionist/sort-objects */
|
|
3
|
+
/* eslint-disable perfectionist/sort-imports */
|
|
4
|
+
import ora from 'ora';
|
|
5
|
+
import chalk from 'chalk';
|
|
6
|
+
import gradient from 'gradient-string';
|
|
7
|
+
export const memmaBlue = '#7599f5';
|
|
8
|
+
const memmaVibrantRed = '#E3453E';
|
|
9
|
+
const memmaLightOrange = '#ED9837';
|
|
10
|
+
const memmaYellow = '#EFBE43';
|
|
11
|
+
const memmaWhite = '#f3eee9';
|
|
12
|
+
export const primary = chalk.hex(memmaBlue);
|
|
13
|
+
export const secondary = chalk.hex(memmaLightOrange);
|
|
14
|
+
export const neutral = chalk.hex(memmaWhite);
|
|
15
|
+
export const emphasis = chalk.hex(memmaVibrantRed);
|
|
16
|
+
export const success = chalk.greenBright;
|
|
17
|
+
const memmaGradient = gradient([
|
|
18
|
+
memmaBlue,
|
|
19
|
+
memmaVibrantRed,
|
|
20
|
+
memmaLightOrange,
|
|
21
|
+
memmaYellow,
|
|
22
|
+
]);
|
|
23
|
+
export const sleep = (ms) => new Promise((r) => {
|
|
24
|
+
setTimeout(r, ms);
|
|
25
|
+
});
|
|
26
|
+
export function spin(msg, opts) {
|
|
27
|
+
const spinner = ora(msg);
|
|
28
|
+
spinner.color = opts?.color || 'cyan';
|
|
29
|
+
return spinner.start();
|
|
30
|
+
}
|
|
31
|
+
export async function header(...args) {
|
|
32
|
+
const rendered = args.map((arg) => memmaGradient(String(arg)));
|
|
33
|
+
console.log(...rendered);
|
|
34
|
+
await sleep(1000);
|
|
35
|
+
}
|
|
36
|
+
export function info(...args) {
|
|
37
|
+
const rendered = args.map((a) => secondary(String(a)));
|
|
38
|
+
console.log(...rendered);
|
|
39
|
+
}
|
|
40
|
+
export async function note(...args) {
|
|
41
|
+
const rendered = args.map((a) => chalk.underline(String(a)));
|
|
42
|
+
console.log(...rendered);
|
|
43
|
+
}
|
|
44
|
+
export function log(...args) {
|
|
45
|
+
console.log(...args);
|
|
46
|
+
}
|
|
47
|
+
export function error(...args) {
|
|
48
|
+
const rendered = args.map((a) => emphasis(String(a)));
|
|
49
|
+
console.log(...rendered);
|
|
50
|
+
}
|
|
51
|
+
export function warn(...args) {
|
|
52
|
+
const rendered = args.map((a) => emphasis(String(a)));
|
|
53
|
+
console.log(...rendered);
|
|
54
|
+
}
|
|
55
|
+
export function drawMemmaLineBreak() {
|
|
56
|
+
const TERMINAL_WIDTH = process.stdout.columns || 80;
|
|
57
|
+
const LINE = '—'.repeat(TERMINAL_WIDTH);
|
|
58
|
+
const LINE_BREAK = primary.bold(LINE);
|
|
59
|
+
console.log(LINE_BREAK);
|
|
60
|
+
}
|
|
61
|
+
export function centerAlignTerminalText(text) {
|
|
62
|
+
const TERMINAL_WIDTH = process.stdout.columns || 80;
|
|
63
|
+
const FRONT_PADDING_LENGTH = Math.floor((TERMINAL_WIDTH - text.length) / 2);
|
|
64
|
+
const TARGET_LENGTH = FRONT_PADDING_LENGTH + text.length;
|
|
65
|
+
return text.padStart(TARGET_LENGTH, ' ');
|
|
66
|
+
}
|
|
67
|
+
/*
|
|
68
|
+
|
|
69
|
+
- number of terminal cols can be even or odd
|
|
70
|
+
- length of text can be even or odd
|
|
71
|
+
|
|
72
|
+
goal: display a given text at the center of the terminal
|
|
73
|
+
|
|
74
|
+
I love water
|
|
75
|
+
I love cats
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
34 12 34
|
|
79
|
+
|
|
80
|
+
35 11 34
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
Determine how much front padding needed: (terminal cols - text length) / 2
|
|
84
|
+
- can round up for odd length terminals cols
|
|
85
|
+
|
|
86
|
+
front padding + text length = total length for String.prototype.padStart()
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
*/
|
|
91
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const LOGO = "\n \u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593\n \u2593\u2593\u2593\u2593\u2593 \u2593\u2593\u2593\u2593\u2593\n \u2593\u2593\u2593\u2593\u2593 \u2592\u2592\u2592\u2592\u2592\u2592 \u2593\u2593\u2593\u2593\u2593\n \u2593\u2593\u2593\u2593 \u2592\u2592\u2592 \u2592\u2592\u2592 \u2593\u2593\u2593\u2593\n \u2593\u2593\u2593 \u2593\u2593\u2593\n \u2593\u2593 \u2592\u2592\u2592 \u2592\u2592\u2592 \u2593\u2593\n \u2593\u2593 \u2592\u2592\u2592 \u2592\u2592\u2592 \u2593\u2593\n \u2593\u2593 \u2592\u2592\u2592 \u2592\u2592\u2592 \u2593\u2593\n \u2593\u2593 \u2593\u2593\n \u2593\u2593 \u2593\u2593\n \u2593\u2593 \u2592\u2592\u2592 \u2592\u2592\u2592 \u2593\u2593\n\u2593\u2593 \u2592\u2592\u2592 \u2592\u2592\u2592 \u2593\u2593\n\u2593\u2593 \u2592\u2592\u2592 \u2592\u2592\u2592 \u2593\u2593\n\u2593\u2593 \u2593\u2593\n\u2593\u2593 \u2593\u2593\n\u2593\u2593 \u2593\u2593\n\u2593\u2593 \u2592\u2592\u2592 \u2592\u2592\u2592 \u2593\u2593\n\u2593\u2593 \u2592\u2592\u2592 \u2592\u2592\u2592 \u2593\u2593\n \u2593\u2593 \u2592\u2592\u2592 \u2592\u2592\u2592 \u2593\u2593\n \u2593\u2593 \u2593\u2593\n \u2593\u2593 \u2593\u2593\n \u2593\u2593 \u2592\u2592\u2592 \u2592\u2592\u2592 \u2593\u2593\n \u2593\u2593 \u2592\u2592\u2592 \u2592\u2592\u2592 \u2593\u2593\n \u2593\u2593 \u2592\u2592\u2592 \u2592\u2592\u2592 \u2593\u2593\n \u2593\u2593\u2593 \u2593\u2593\u2593\n \u2593\u2593\u2593\u2593 \u2592\u2592\u2592 \u2592\u2592\u2592 \u2593\u2593\u2593\u2593\n \u2593\u2593\u2593\u2593\u2593 \u2592\u2592\u2592\u2592\u2592\u2592 \u2593\u2593\u2593\u2593\u2593\n \u2593\u2593\u2593\u2593\u2593 \u2593\u2593\u2593\u2593\u2593\n \u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593\n";
|
|
2
|
+
//# sourceMappingURL=logo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logo.d.ts","sourceRoot":"","sources":["../../src/utils/logo.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI,i3FA8BhB,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export const LOGO = `
|
|
2
|
+
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
|
|
3
|
+
▓▓▓▓▓ ▓▓▓▓▓
|
|
4
|
+
▓▓▓▓▓ ▒▒▒▒▒▒ ▓▓▓▓▓
|
|
5
|
+
▓▓▓▓ ▒▒▒ ▒▒▒ ▓▓▓▓
|
|
6
|
+
▓▓▓ ▓▓▓
|
|
7
|
+
▓▓ ▒▒▒ ▒▒▒ ▓▓
|
|
8
|
+
▓▓ ▒▒▒ ▒▒▒ ▓▓
|
|
9
|
+
▓▓ ▒▒▒ ▒▒▒ ▓▓
|
|
10
|
+
▓▓ ▓▓
|
|
11
|
+
▓▓ ▓▓
|
|
12
|
+
▓▓ ▒▒▒ ▒▒▒ ▓▓
|
|
13
|
+
▓▓ ▒▒▒ ▒▒▒ ▓▓
|
|
14
|
+
▓▓ ▒▒▒ ▒▒▒ ▓▓
|
|
15
|
+
▓▓ ▓▓
|
|
16
|
+
▓▓ ▓▓
|
|
17
|
+
▓▓ ▓▓
|
|
18
|
+
▓▓ ▒▒▒ ▒▒▒ ▓▓
|
|
19
|
+
▓▓ ▒▒▒ ▒▒▒ ▓▓
|
|
20
|
+
▓▓ ▒▒▒ ▒▒▒ ▓▓
|
|
21
|
+
▓▓ ▓▓
|
|
22
|
+
▓▓ ▓▓
|
|
23
|
+
▓▓ ▒▒▒ ▒▒▒ ▓▓
|
|
24
|
+
▓▓ ▒▒▒ ▒▒▒ ▓▓
|
|
25
|
+
▓▓ ▒▒▒ ▒▒▒ ▓▓
|
|
26
|
+
▓▓▓ ▓▓▓
|
|
27
|
+
▓▓▓▓ ▒▒▒ ▒▒▒ ▓▓▓▓
|
|
28
|
+
▓▓▓▓▓ ▒▒▒▒▒▒ ▓▓▓▓▓
|
|
29
|
+
▓▓▓▓▓ ▓▓▓▓▓
|
|
30
|
+
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
|
|
31
|
+
`;
|
|
32
|
+
//# sourceMappingURL=logo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logo.js","sourceRoot":"","sources":["../../src/utils/logo.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BnB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,SAAS,QAAmC,CAAC;AAE1D,wBAAgB,WAAW,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAEzD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// src/utils/paths.ts
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { fileURLToPath } from 'url';
|
|
4
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
5
|
+
const __dirname = path.dirname(__filename);
|
|
6
|
+
// src/utils → go up two levels → repo root
|
|
7
|
+
export const REPO_ROOT = path.resolve(__dirname, '../..');
|
|
8
|
+
export function getRepoPath(...segments) {
|
|
9
|
+
return path.join(REPO_ROOT, ...segments);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=paths.js.map
|