diff --git a/.github/workflows/e2e-llama-cpp-python.yaml b/.github/workflows/e2e-llama-cpp-python.yaml index e116616e7..3cb5fefe3 100644 --- a/.github/workflows/e2e-llama-cpp-python.yaml +++ b/.github/workflows/e2e-llama-cpp-python.yaml @@ -92,6 +92,6 @@ jobs: - name: Test llama-cpp-python env: - LEAPFROGAI_MODEL: llama-cpp-python + COWABUNGA_MODEL: llama-cpp-python run: | python -m pytest ./tests/e2e/test_llm_generation.py -vv diff --git a/.github/workflows/e2e-text-backend-full-cpu.yaml b/.github/workflows/e2e-text-backend-full-cpu.yaml index bca3364b4..ddbf66462 100644 --- a/.github/workflows/e2e-text-backend-full-cpu.yaml +++ b/.github/workflows/e2e-text-backend-full-cpu.yaml @@ -106,6 +106,6 @@ jobs: ########## - name: Test Text Backend env: - LEAPFROGAI_MODEL: llama-cpp-python + COWABUNGA_MODEL: llama-cpp-python run: | python -m pytest ./tests/e2e/test_text_backend_full.py -v diff --git a/packages/api/Dockerfile b/packages/api/Dockerfile index cca840b39..ac4ec281f 100644 --- a/packages/api/Dockerfile +++ b/packages/api/Dockerfile @@ -3,7 +3,7 @@ FROM ghcr.io/defenseunicorns/leapfrogai/leapfrogai-sdk:${LOCAL_VERSION} AS sdk FROM ghcr.io/defenseunicorns/leapfrogai/python:3.11-dev AS builder -ARG SDK_DEST=src/leapfrogai_sdk/build +ARG SDK_DEST=src/cowabunga_sdk/build USER root @@ -11,14 +11,14 @@ WORKDIR /cowabungaai # copy the api dependencies over COPY --from=sdk /cowabungaai/${SDK_DEST} ${SDK_DEST} -COPY src/leapfrogai_api src/leapfrogai_api +COPY src/cowabunga_api src/cowabunga_api RUN python -m venv .venv ENV PATH="/cowabungaai/.venv/bin:$PATH" RUN rm -f packages/api/build/*.whl && \ - python -m pip wheel src/leapfrogai_api -w packages/api/build --find-links=${SDK_DEST} && \ - pip install packages/api/build/leapfrogai_api*.whl --no-index --find-links=packages/api/build/ + python -m pip wheel src/cowabunga_api -w packages/api/build --find-links=${SDK_DEST} && \ + pip install packages/api/build/cowabunga_api*.whl --no-index --find-links=packages/api/build/ FROM ghcr.io/defenseunicorns/leapfrogai/python:3.11 AS runtime ENV PATH="/cowabungaai/.venv/bin:$PATH" diff --git a/packages/api/chart/values.yaml b/packages/api/chart/values.yaml index 8f2b5bca4..4eb80bd2d 100644 --- a/packages/api/chart/values.yaml +++ b/packages/api/chart/values.yaml @@ -2,7 +2,7 @@ api: expose: true image: - repository: "ghcr.io/defenseunicorns/leapfrogai/leapfrogai-api" + repository: "ghcr.io/defenseunicorns/leapfrogai/cowabunga-api" # x-release-please-start-version tag: 0.14.0 # x-release-please-end @@ -17,11 +17,11 @@ api: - ALL env: - - name: LFAI_LOG_LEVEL + - name: COWABUNGA_LOG_LEVEL value: "INFO" - - name: LFAI_CONFIG_PATH + - name: COWABUNGA_CONFIG_PATH value: /config/ - - name: LFAI_CONFIG_FILENAME + - name: COWABUNGA_CONFIG_FILENAME value: "*.toml" - name: DEFAULT_EMBEDDINGS_MODEL value: "text-embeddings" @@ -42,7 +42,7 @@ api: port: 8080 serviceAccount: - name: "leapfrogai-api" + name: "cowabunga-api" create: true migration: diff --git a/packages/api/common/zarf.yaml b/packages/api/common/zarf.yaml index c41f67cc4..ce25b6764 100644 --- a/packages/api/common/zarf.yaml +++ b/packages/api/common/zarf.yaml @@ -3,15 +3,15 @@ kind: ZarfPackageConfig metadata: description: "CowabungaAI API common" - name: leapfrogai-api-common + name: cowabunga-api-common version: "###ZARF_PKG_TMPL_IMAGE_VERSION###" components: - - name: leapfrogai-api + - name: cowabunga-api description: "The CowabungaAI Python API that shadows the OpenAI API specification" required: true charts: - - name: leapfrogai + - name: cowabunga namespace: leapfrogai localPath: ../chart # x-release-please-start-version @@ -23,6 +23,6 @@ components: - wait: cluster: kind: Job - name: leapfrogai-api-migrations-###ZARF_PKG_TMPL_IMAGE_VERSION### + name: cowabunga-api-migrations-###ZARF_PKG_TMPL_IMAGE_VERSION### namespace: leapfrogai condition: complete diff --git a/packages/api/values/registry1-values.yaml b/packages/api/values/registry1-values.yaml index 91f92b168..f85f6e02c 100644 --- a/packages/api/values/registry1-values.yaml +++ b/packages/api/values/registry1-values.yaml @@ -6,11 +6,11 @@ api: expose: "###ZARF_VAR_EXPOSE_API###" env: - - name: LFAI_LOG_LEVEL + - name: COWABUNGA_LOG_LEVEL value: "INFO" - - name: LFAI_CONFIG_PATH + - name: COWABUNGA_CONFIG_PATH value: /config/ - - name: LFAI_CONFIG_FILENAME + - name: COWABUNGA_CONFIG_FILENAME value: "*.toml" - name: DEFAULT_EMBEDDINGS_MODEL value: "###ZARF_VAR_DEFAULT_EMBEDDINGS_MODEL###" diff --git a/packages/api/values/upstream-values.yaml b/packages/api/values/upstream-values.yaml index ef2dcdad9..ffb60b4f3 100644 --- a/packages/api/values/upstream-values.yaml +++ b/packages/api/values/upstream-values.yaml @@ -6,11 +6,11 @@ api: expose: "###ZARF_VAR_EXPOSE_API###" env: - - name: LFAI_LOG_LEVEL + - name: COWABUNGA_LOG_LEVEL value: "INFO" - - name: LFAI_CONFIG_PATH + - name: COWABUNGA_CONFIG_PATH value: /config/ - - name: LFAI_CONFIG_FILENAME + - name: COWABUNGA_CONFIG_FILENAME value: "*.toml" - name: DEFAULT_EMBEDDINGS_MODEL value: "###ZARF_VAR_DEFAULT_EMBEDDINGS_MODEL###" diff --git a/packages/api/zarf.yaml b/packages/api/zarf.yaml index 80a2c898e..cf17d315d 100644 --- a/packages/api/zarf.yaml +++ b/packages/api/zarf.yaml @@ -3,7 +3,7 @@ kind: ZarfPackageConfig metadata: description: "CowabungaAI API" - name: leapfrogai-api + name: cowabunga-api version: "###ZARF_PKG_TMPL_IMAGE_VERSION###" constants: @@ -21,7 +21,7 @@ variables: description: "Flag to enable development endpoints." components: - - name: leapfrogai-api + - name: cowabunga-api description: "A Python API that shadows the OpenAI API specification" only: flavor: upstream @@ -29,7 +29,7 @@ components: import: path: common charts: - - name: leapfrogai + - name: cowabunga namespace: leapfrogai valuesFiles: - "values/upstream-values.yaml" @@ -38,14 +38,14 @@ components: - "ghcr.io/defenseunicorns/leapfrogai/api-migrations:###ZARF_PKG_TMPL_IMAGE_VERSION###" - "kiwigrid/k8s-sidecar:1.23.3" - - name: leapfrogai-api + - name: cowabunga-api only: flavor: registry1 required: true import: path: common charts: - - name: leapfrogai + - name: cowabunga namespace: leapfrogai valuesFiles: - "values/registry1-values.yaml" diff --git a/packages/llama-cpp-python/Dockerfile b/packages/llama-cpp-python/Dockerfile index ddb23d3b9..7fe120033 100644 --- a/packages/llama-cpp-python/Dockerfile +++ b/packages/llama-cpp-python/Dockerfile @@ -3,7 +3,7 @@ FROM ghcr.io/defenseunicorns/leapfrogai/leapfrogai-sdk:${LOCAL_VERSION} AS sdk # hardened and slim python w/ developer tools image FROM ghcr.io/defenseunicorns/leapfrogai/python:3.11-dev AS builder -ARG SDK_DEST=src/leapfrogai_sdk/build +ARG SDK_DEST=src/cowabunga_sdk/build USER root WORKDIR /cowabungaai diff --git a/packages/llama-cpp-python/chart/Chart.yaml b/packages/llama-cpp-python/chart/Chart.yaml index 1e7bebbc0..57d1210ec 100644 --- a/packages/llama-cpp-python/chart/Chart.yaml +++ b/packages/llama-cpp-python/chart/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v2 -name: leapfrogai-model +name: cowabunga-model description: "A CowabungaAI compatible inferencing backend, llama-cpp-python" # A chart can be either an 'application' or a 'library' chart. diff --git a/packages/llama-cpp-python/chart/values.yaml b/packages/llama-cpp-python/chart/values.yaml index 3fe7d49c0..3a6db9423 100644 --- a/packages/llama-cpp-python/chart/values.yaml +++ b/packages/llama-cpp-python/chart/values.yaml @@ -14,7 +14,7 @@ nameOverride: "llama-cpp-python" fullnameOverride: "" env: - - name: LFAI_LOG_LEVEL + - name: COWABUNGA_LOG_LEVEL value: "INFO" podSecurityContext: diff --git a/packages/llama-cpp-python/main.py b/packages/llama-cpp-python/main.py index 61951074c..ce61cbf83 100644 --- a/packages/llama-cpp-python/main.py +++ b/packages/llama-cpp-python/main.py @@ -8,7 +8,7 @@ from leapfrogai_sdk.llm import LLM, GenerationConfig logging.basicConfig( - level=os.getenv("LFAI_LOG_LEVEL", logging.INFO), + level=os.getenv("COWABUNGA_LOG_LEVEL", logging.INFO), format="%(name)s: %(asctime)s | %(levelname)s | %(filename)s:%(lineno)s >>> %(message)s", ) logger = logging.getLogger(__name__) diff --git a/packages/llama-cpp-python/pyproject.toml b/packages/llama-cpp-python/pyproject.toml index e8d8892de..811b9eb34 100644 --- a/packages/llama-cpp-python/pyproject.toml +++ b/packages/llama-cpp-python/pyproject.toml @@ -17,7 +17,7 @@ dev = ["huggingface_hub[cli,hf_transfer] ==0.25.1"] generate-hashes = true [tool.setuptools] -packages = ["leapfrogai_sdk"] +packages = ["cowabunga_sdk"] package-dir = { "" = "../../src" } [tool.pytest.ini_options] diff --git a/packages/repeater/Dockerfile b/packages/repeater/Dockerfile index 301c5523e..3fb96b38b 100644 --- a/packages/repeater/Dockerfile +++ b/packages/repeater/Dockerfile @@ -4,7 +4,7 @@ FROM ghcr.io/defenseunicorns/leapfrogai/leapfrogai-sdk:${LOCAL_VERSION} AS sdk # hardened and slim python w/ developer tools image FROM ghcr.io/defenseunicorns/leapfrogai/python:3.11-dev AS builder -ARG SDK_DEST=src/leapfrogai_sdk/build +ARG SDK_DEST=src/cowabunga_sdk/build USER root diff --git a/packages/repeater/chart/Chart.yaml b/packages/repeater/chart/Chart.yaml index b452f7bcd..a60dde19e 100644 --- a/packages/repeater/chart/Chart.yaml +++ b/packages/repeater/chart/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v2 -name: leapfrogai-repeater +name: cowabunga-repeater description: "A CowabungaAI compatible inferencing backend for testing-only, repeater" # A chart can be either an 'application' or a 'library' chart. diff --git a/packages/repeater/main.py b/packages/repeater/main.py index 00737e263..527cba6f9 100644 --- a/packages/repeater/main.py +++ b/packages/repeater/main.py @@ -23,7 +23,7 @@ from leapfrogai_sdk.llm import LLM, GenerationConfig logging.basicConfig( - level=os.getenv("LFAI_LOG_LEVEL", logging.INFO), + level=os.getenv("COWABUNGA_LOG_LEVEL", logging.INFO), format="%(name)s: %(asctime)s | %(levelname)s | %(filename)s:%(lineno)s >>> %(message)s", ) logger = logging.getLogger(__name__) diff --git a/packages/repeater/pyproject.toml b/packages/repeater/pyproject.toml index 0171ad121..ccc2242b1 100644 --- a/packages/repeater/pyproject.toml +++ b/packages/repeater/pyproject.toml @@ -14,7 +14,7 @@ readme = "README.md" generate-hashes = true [tool.setuptools] -packages = ["leapfrogai_sdk"] +packages = ["cowabunga_sdk"] package-dir = { "" = "../../src" } [tool.pytest.ini_options] diff --git a/packages/text-embeddings/Dockerfile b/packages/text-embeddings/Dockerfile index 737857363..738021392 100644 --- a/packages/text-embeddings/Dockerfile +++ b/packages/text-embeddings/Dockerfile @@ -3,7 +3,7 @@ FROM ghcr.io/defenseunicorns/leapfrogai/leapfrogai-sdk:${LOCAL_VERSION} AS sdk # hardened and slim python w/ developer tools image FROM ghcr.io/defenseunicorns/leapfrogai/python:3.11-dev AS builder -ARG SDK_DEST=src/leapfrogai_sdk/build +ARG SDK_DEST=src/cowabunga_sdk/build USER root WORKDIR /cowabungaai diff --git a/packages/text-embeddings/chart/Chart.yaml b/packages/text-embeddings/chart/Chart.yaml index 6200386e3..e3ebf277d 100644 --- a/packages/text-embeddings/chart/Chart.yaml +++ b/packages/text-embeddings/chart/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v2 -name: leapfrogai-model +name: cowabunga-model description: "A CowabungaAI compatible inferencing backend, text-embeddings" # A chart can be either an 'application' or a 'library' chart. diff --git a/packages/text-embeddings/chart/templates/deployment.yaml b/packages/text-embeddings/chart/templates/deployment.yaml index c83656d4e..91829fc13 100644 --- a/packages/text-embeddings/chart/templates/deployment.yaml +++ b/packages/text-embeddings/chart/templates/deployment.yaml @@ -77,7 +77,7 @@ spec: - name: leapfrogai-pv-storage mountPath: "/data" env: - - name: LFAI_MODEL_PATH + - name: COWABUNGA_MODEL_PATH value: '/data/.model' {{- with .Values.nodeSelector }} nodeSelector: diff --git a/packages/text-embeddings/chart/values.yaml b/packages/text-embeddings/chart/values.yaml index 89f541448..48a1fcccd 100644 --- a/packages/text-embeddings/chart/values.yaml +++ b/packages/text-embeddings/chart/values.yaml @@ -14,7 +14,7 @@ nameOverride: "text-embeddings" fullnameOverride: "" env: - - name: LFAI_LOG_LEVEL + - name: COWABUNGA_LOG_LEVEL value: "INFO" podSecurityContext: diff --git a/packages/text-embeddings/main.py b/packages/text-embeddings/main.py index 96008dcca..211e9fdb0 100644 --- a/packages/text-embeddings/main.py +++ b/packages/text-embeddings/main.py @@ -12,13 +12,13 @@ ) logging.basicConfig( - level=os.getenv("LFAI_LOG_LEVEL", logging.INFO), + level=os.getenv("COWABUNGA_LOG_LEVEL", logging.INFO), format="%(name)s: %(asctime)s | %(levelname)s | %(filename)s:%(lineno)s >>> %(message)s", ) logger = logging.getLogger(__name__) -model_dir = os.environ.get("LFAI_MODEL_PATH", ".model") +model_dir = os.environ.get("COWABUNGA_MODEL_PATH", ".model") model = INSTRUCTOR(model_dir) diff --git a/packages/text-embeddings/pyproject.toml b/packages/text-embeddings/pyproject.toml index ad54c6ff7..6b8b234d2 100644 --- a/packages/text-embeddings/pyproject.toml +++ b/packages/text-embeddings/pyproject.toml @@ -25,7 +25,7 @@ dev = ["huggingface_hub ==0.25.1"] generate-hashes = true [tool.setuptools] -packages = ["leapfrogai_sdk"] +packages = ["cowabunga_sdk"] package-dir = { "" = "../../src" } [tool.pytest.ini_options] diff --git a/packages/turso/zarf.yaml b/packages/turso/zarf.yaml index bd766ed7e..8db61dad0 100644 --- a/packages/turso/zarf.yaml +++ b/packages/turso/zarf.yaml @@ -13,7 +13,7 @@ components: charts: - name: turso version: 0.1.0 - namespace: leapfrogai + namespace: cowabunga localPath: chart images: diff --git a/packages/ui/chart/Chart.yaml b/packages/ui/chart/Chart.yaml index d421dc5b7..ff87fb7f2 100644 --- a/packages/ui/chart/Chart.yaml +++ b/packages/ui/chart/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v2 -name: leapfrogai-ui +name: cowabunga-ui description: "A Svelte UI to interact with the CowabungaAI stack" # A chart can be either an 'application' or a 'library' chart. diff --git a/packages/ui/chart/values.yaml b/packages/ui/chart/values.yaml index c1c4522c8..2b9a56508 100644 --- a/packages/ui/chart/values.yaml +++ b/packages/ui/chart/values.yaml @@ -1,5 +1,5 @@ image: - repository: "ghcr.io/defenseunicorns/leapfrogai/leapfrogai-ui" + repository: "ghcr.io/defenseunicorns/leapfrogai/cowabunga-ui" pullPolicy: Always # x-release-please-start-version tag: 0.14.0 @@ -9,7 +9,7 @@ service: port: 3000 serviceAccount: - name: leapfrogai-ui + name: cowabunga-ui create: true podSecurityContext: @@ -25,8 +25,8 @@ securityContext: - ALL env: - - name: LEAPFROGAI_API_BASE_URL - value: "http://leapfrogai-api.leapfrogai.svc.cluster.local:8080" + - name: COWABUNGA_API_BASE_URL + value: "http://cowabunga-api.leapfrogai.svc.cluster.local:8080" - name: ORIGIN value: "https://ai.uds.dev" - name: DEFAULT_MODEL diff --git a/packages/ui/values/upstream-values.yaml b/packages/ui/values/upstream-values.yaml index 119b2258d..c3a96b825 100644 --- a/packages/ui/values/upstream-values.yaml +++ b/packages/ui/values/upstream-values.yaml @@ -3,8 +3,8 @@ image: tag: "###ZARF_CONST_IMAGE_VERSION###" env: - - name: LEAPFROGAI_API_BASE_URL - value: "###ZARF_VAR_LEAPFROGAI_API_BASE_URL###" + - name: COWABUNGA_API_BASE_URL + value: "###ZARF_VAR_COWABUNGA_API_BASE_URL###" - name: ORIGIN value: "https://###ZARF_VAR_SUBDOMAIN###.###ZARF_VAR_DOMAIN###" - name: DEFAULT_MODEL diff --git a/packages/ui/zarf.yaml b/packages/ui/zarf.yaml index d3e8b6c90..8b5ee60b9 100644 --- a/packages/ui/zarf.yaml +++ b/packages/ui/zarf.yaml @@ -2,7 +2,7 @@ kind: ZarfPackageConfig metadata: - name: leapfrogai-ui + name: cowabunga-ui version: "###ZARF_PKG_TMPL_IMAGE_VERSION###" description: > A UI for CowabungaAI @@ -12,7 +12,7 @@ constants: value: "###ZARF_PKG_TMPL_IMAGE_VERSION###" variables: - - name: LEAPFROGAI_API_BASE_URL + - name: COWABUNGA_API_BASE_URL description: The base URL for the CowabungaAI API default: http://leapfrogai-api.leapfrogai.svc.cluster.local:8080 prompt: true @@ -62,13 +62,13 @@ variables: sensitive: false components: - - name: leapfrogai-ui + - name: cowabunga-ui required: true only: flavor: upstream charts: - - name: leapfrogai-ui - namespace: leapfrogai + - name: cowabunga-ui + namespace: cowabunga localPath: chart valuesFiles: - "values/upstream-values.yaml" @@ -84,12 +84,12 @@ components: - wait: cluster: kind: Job - name: leapfrogai-ui-migrations-###ZARF_PKG_TMPL_IMAGE_VERSION### - namespace: leapfrogai + name: cowabunga-ui-migrations-###ZARF_PKG_TMPL_IMAGE_VERSION### + namespace: cowabunga condition: complete - wait: cluster: kind: Deployment - name: leapfrogai-ui - namespace: leapfrogai + name: cowabunga-ui + namespace: cowabunga condition: Available diff --git a/packages/vllm/Dockerfile b/packages/vllm/Dockerfile index 403fb819e..1e847e426 100755 --- a/packages/vllm/Dockerfile +++ b/packages/vllm/Dockerfile @@ -5,7 +5,7 @@ FROM nvidia/cuda:12.2.2-devel-ubuntu22.04 AS builder # set SDK location # set the pyenv and Python versions -ARG SDK_DEST=src/leapfrogai_sdk/build \ +ARG SDK_DEST=src/cowabunga_sdk/build \ PYTHON_VERSION=3.11.9 \ PYENV_GIT_TAG=v2.4.8\ COMPONENT_DIRECTORY="packages/vllm" @@ -75,7 +75,7 @@ RUN rm -f packages/vllm/build/*.whl && \ FROM nvidia/cuda:12.2.2-runtime-ubuntu22.04 # set SDK location -ARG SDK_DEST=src/leapfrogai_sdk/build +ARG SDK_DEST=src/cowabunga_sdk/build # setup nonroot user and permissions USER root diff --git a/packages/vllm/chart/Chart.yaml b/packages/vllm/chart/Chart.yaml index de00473e5..4c7fa8361 100644 --- a/packages/vllm/chart/Chart.yaml +++ b/packages/vllm/chart/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v2 -name: leapfrogai-model +name: cowabunga-model description: "A CowabungaAI compatible inferencing backend, vllm" # A chart can be either an 'application' or a 'library' chart. diff --git a/packages/vllm/chart/values.yaml b/packages/vllm/chart/values.yaml index d969b5942..07cc7d1a5 100644 --- a/packages/vllm/chart/values.yaml +++ b/packages/vllm/chart/values.yaml @@ -41,7 +41,7 @@ vllmConfig: loadFormat: "auto" env: - - name: LFAI_LOG_LEVEL + - name: COWABUNGA_LOG_LEVEL value: "INFO" podSecurityContext: diff --git a/packages/vllm/pyproject.toml b/packages/vllm/pyproject.toml index 558b67bf4..29dcc145d 100644 --- a/packages/vllm/pyproject.toml +++ b/packages/vllm/pyproject.toml @@ -24,7 +24,7 @@ dev = ["confz == 2.0.1", "huggingface_hub[cli,hf_transfer] ==0.25.1"] generate-hashes = true [tool.setuptools] -packages = ["leapfrogai_sdk"] +packages = ["cowabunga_sdk"] package-dir = { "" = "../../src" } [tool.pytest.ini_options] diff --git a/packages/vllm/src/config.py b/packages/vllm/src/config.py index c13af5521..cc051662c 100644 --- a/packages/vllm/src/config.py +++ b/packages/vllm/src/config.py @@ -107,7 +107,7 @@ class DownloadConfig(BaseConfig): CONFIG_SOURCES = [ EnvSource( allow_all=True, - prefix="LFAI_", + prefix="COWABUNGA_", remap={ "repo_id": "download_options.repo_id", "revision": "download_options.revision", diff --git a/packages/vllm/src/main.py b/packages/vllm/src/main.py index 67d36d178..badb1a845 100644 --- a/packages/vllm/src/main.py +++ b/packages/vllm/src/main.py @@ -21,7 +21,7 @@ load_dotenv() logging.basicConfig( - level=os.getenv("LFAI_LOG_LEVEL", logging.INFO), + level=os.getenv("COWABUNGA_LOG_LEVEL", logging.INFO), format="%(name)s: %(asctime)s | %(levelname)s | %(filename)s:%(lineno)s >>> %(message)s", ) logger = logging.getLogger(__name__) diff --git a/packages/vllm/values/upstream-values.yaml b/packages/vllm/values/upstream-values.yaml index e74ebec4a..8c3a7f91e 100644 --- a/packages/vllm/values/upstream-values.yaml +++ b/packages/vllm/values/upstream-values.yaml @@ -33,7 +33,7 @@ vllmConfig: loadFormat: "###ZARF_VAR_LOAD_FORMAT###" env: - - name: LFAI_LOG_LEVEL + - name: COWABUNGA_LOG_LEVEL value: "INFO" gpu: diff --git a/packages/vllm/zarf.yaml b/packages/vllm/zarf.yaml index b387ed9d2..b2e9ae5de 100644 --- a/packages/vllm/zarf.yaml +++ b/packages/vllm/zarf.yaml @@ -97,7 +97,7 @@ components: flavor: upstream charts: - name: "###ZARF_PKG_TMPL_NAME_OVERRIDE###-model" - namespace: leapfrogai + namespace: cowabunga localPath: chart releaseName: "###ZARF_PKG_TMPL_NAME_OVERRIDE###-model" # x-release-please-start-version @@ -124,5 +124,5 @@ components: # NOTE: This assumes python is installed and in $PATH and 'huggingface_hub[cli,hf_transfer]' has been installed - cmd: "python src/model_download.py" env: - - LFAI_REPO_ID=###ZARF_PKG_TMPL_MODEL_REPO_ID### - - LFAI_REVISION=###ZARF_PKG_TMPL_MODEL_REVISION### + - COWABUNGA_REPO_ID=###ZARF_PKG_TMPL_MODEL_REPO_ID### + - COWABUNGA_REVISION=###ZARF_PKG_TMPL_MODEL_REVISION### diff --git a/packages/whisper/Dockerfile b/packages/whisper/Dockerfile index e65a9d2f6..ecacb904a 100644 --- a/packages/whisper/Dockerfile +++ b/packages/whisper/Dockerfile @@ -4,7 +4,7 @@ FROM ghcr.io/defenseunicorns/leapfrogai/leapfrogai-sdk:${LOCAL_VERSION} AS sdk FROM ghcr.io/defenseunicorns/leapfrogai/python:3.11-dev AS builder USER root -ARG SDK_DEST=src/leapfrogai_sdk/build +ARG SDK_DEST=src/cowabunga_sdk/build WORKDIR /cowabungaai diff --git a/packages/whisper/chart/Chart.yaml b/packages/whisper/chart/Chart.yaml index 2e69d9790..9baf9cc5e 100644 --- a/packages/whisper/chart/Chart.yaml +++ b/packages/whisper/chart/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v2 -name: leapfrogai-model +name: cowabunga-model description: "A CowabungaAI compatible inferencing backend, whisper" # A chart can be either an 'application' or a 'library' chart. diff --git a/packages/whisper/chart/templates/deployment.yaml b/packages/whisper/chart/templates/deployment.yaml index 274914205..f8490fe63 100644 --- a/packages/whisper/chart/templates/deployment.yaml +++ b/packages/whisper/chart/templates/deployment.yaml @@ -73,7 +73,7 @@ spec: containerPort: {{ .Values.service.port }} protocol: TCP env: - - name: LFAI_MODEL_PATH + - name: COWABUNGA_MODEL_PATH value: "/data/.model" - name: GPU_REQUEST value: "{{ (index .Values.resources.limits "nvidia.com/gpu") | default "0" }}" diff --git a/packages/whisper/chart/values.yaml b/packages/whisper/chart/values.yaml index 0786ceb20..495f2ccb3 100644 --- a/packages/whisper/chart/values.yaml +++ b/packages/whisper/chart/values.yaml @@ -14,7 +14,7 @@ nameOverride: "whisper" fullnameOverride: "" env: - - name: LFAI_LOG_LEVEL + - name: COWABUNGA_LOG_LEVEL value: "INFO" podSecurityContext: diff --git a/packages/whisper/main.py b/packages/whisper/main.py index 618ef9517..7f26740f7 100644 --- a/packages/whisper/main.py +++ b/packages/whisper/main.py @@ -8,12 +8,12 @@ from faster_whisper import WhisperModel logging.basicConfig( - level=os.getenv("LFAI_LOG_LEVEL", logging.INFO), + level=os.getenv("COWABUNGA_LOG_LEVEL", logging.INFO), format="%(name)s: %(asctime)s | %(levelname)s | %(filename)s:%(lineno)s >>> %(message)s", ) logger = logging.getLogger(__name__) -model_path = os.environ.get("LFAI_MODEL_PATH", ".model") +model_path = os.environ.get("COWABUNGA_MODEL_PATH", ".model") GPU_ENABLED = True if int(os.environ.get("GPU_REQUEST", 0)) > 0 else False diff --git a/packages/whisper/pyproject.toml b/packages/whisper/pyproject.toml index 8ab31cb98..78189c97c 100644 --- a/packages/whisper/pyproject.toml +++ b/packages/whisper/pyproject.toml @@ -22,7 +22,7 @@ dev = ["ctranslate2 ==4.4.0", "transformers[torch] == 4.39.3"] generate-hashes = true [tool.setuptools] -packages = ["leapfrogai_sdk"] +packages = ["cowabunga_sdk"] package-dir = { "" = "../../src" } [tool.pytest.ini_options] diff --git a/src/leapfrogai_api/Makefile b/src/cowabunga_api/Makefile similarity index 100% rename from src/leapfrogai_api/Makefile rename to src/cowabunga_api/Makefile diff --git a/src/leapfrogai_api/README.md b/src/cowabunga_api/README.md similarity index 100% rename from src/leapfrogai_api/README.md rename to src/cowabunga_api/README.md diff --git a/src/leapfrogai_api/__init__.py b/src/cowabunga_api/__init__.py similarity index 100% rename from src/leapfrogai_api/__init__.py rename to src/cowabunga_api/__init__.py diff --git a/src/leapfrogai_api/backend/__init__.py b/src/cowabunga_api/backend/__init__.py similarity index 100% rename from src/leapfrogai_api/backend/__init__.py rename to src/cowabunga_api/backend/__init__.py diff --git a/src/leapfrogai_api/backend/composer.py b/src/cowabunga_api/backend/composer.py similarity index 95% rename from src/leapfrogai_api/backend/composer.py rename to src/cowabunga_api/backend/composer.py index 424e6c6d0..78742c897 100644 --- a/src/leapfrogai_api/backend/composer.py +++ b/src/cowabunga_api/backend/composer.py @@ -26,29 +26,29 @@ from pydantic import BaseModel from starlette.responses import StreamingResponse -from leapfrogai_api.backend.converters import ( +from cowabunga_api.backend.converters import ( from_assistant_stream_event_to_str, from_text_to_message, from_chat_completion_choice_to_thread_message_delta, ) -from leapfrogai_api.backend.rag.query import QueryService -from leapfrogai_api.data.crud_assistant import CRUDAssistant, FilterAssistant -from leapfrogai_api.data.crud_message import CRUDMessage -from leapfrogai_api.routers.openai.chat import chat_complete, chat_complete_stream_raw -from leapfrogai_api.routers.supabase_session import Session -from leapfrogai_api.utils import get_model_config -from leapfrogai_sdk.chat.chat_pb2 import ( +from cowabunga_api.backend.rag.query import QueryService +from cowabunga_api.data.crud_assistant import CRUDAssistant, FilterAssistant +from cowabunga_api.data.crud_message import CRUDMessage +from cowabunga_api.routers.openai.chat import chat_complete, chat_complete_stream_raw +from cowabunga_api.routers.supabase_session import Session +from cowabunga_api.utils import get_model_config +from cowabunga_sdk.chat.chat_pb2 import ( ChatCompletionResponse as ProtobufChatCompletionResponse, ) -from leapfrogai_api.typedef.chat import ( +from cowabunga_api.typedef.chat import ( ChatMessage, ChatCompletionResponse, ChatCompletionRequest, ChatChoice, ) -from leapfrogai_api.typedef.runs import RunCreateParamsRequest -from leapfrogai_api.typedef.messages import CreateMessageRequest -from leapfrogai_api.typedef.vectorstores import SearchResponse +from cowabunga_api.typedef.runs import RunCreateParamsRequest +from cowabunga_api.typedef.messages import CreateMessageRequest +from cowabunga_api.typedef.vectorstores import SearchResponse class Composer(BaseModel): diff --git a/src/leapfrogai_api/backend/constants.py b/src/cowabunga_api/backend/constants.py similarity index 100% rename from src/leapfrogai_api/backend/constants.py rename to src/cowabunga_api/backend/constants.py diff --git a/src/leapfrogai_api/backend/converters.py b/src/cowabunga_api/backend/converters.py similarity index 95% rename from src/leapfrogai_api/backend/converters.py rename to src/cowabunga_api/backend/converters.py index d5e3d12e5..b126578a7 100644 --- a/src/leapfrogai_api/backend/converters.py +++ b/src/cowabunga_api/backend/converters.py @@ -1,4 +1,4 @@ -"""Converters for the LeapfrogAI API""" +"""Converters for the CowabungaAI API""" from typing import Iterable from openai.types.beta import AssistantStreamEvent @@ -18,8 +18,8 @@ FileCitationAnnotation, ) -from leapfrogai_api.typedef.vectorstores.search_types import SearchResponse -from leapfrogai_api.typedef.common import MetadataObject +from cowabunga_api.typedef.vectorstores.search_types import SearchResponse +from cowabunga_api.typedef.common import MetadataObject def from_assistant_stream_event_to_str(stream_event: AssistantStreamEvent): diff --git a/src/leapfrogai_api/backend/grpc_client.py b/src/cowabunga_api/backend/grpc_client.py similarity index 94% rename from src/leapfrogai_api/backend/grpc_client.py rename to src/cowabunga_api/backend/grpc_client.py index 8bafcf12a..20e705a13 100644 --- a/src/leapfrogai_api/backend/grpc_client.py +++ b/src/cowabunga_api/backend/grpc_client.py @@ -6,31 +6,31 @@ from fastapi.responses import StreamingResponse import leapfrogai_sdk as lfai -from leapfrogai_api.backend.helpers import recv_chat, recv_completion -from leapfrogai_api.typedef.audio import ( +from cowabunga_api.backend.helpers import recv_chat, recv_completion +from cowabunga_api.typedef.audio import ( CreateTranscriptionResponse, CreateTranslationResponse, ) -from leapfrogai_api.typedef.chat import ( +from cowabunga_api.typedef.chat import ( ChatChoice, ChatCompletionResponse, ChatMessage, ) -from leapfrogai_api.typedef.completion import ( +from cowabunga_api.typedef.completion import ( CompletionChoice, CompletionResponse, FinishReason, ) -from leapfrogai_api.typedef import Usage -from leapfrogai_api.typedef.embeddings import ( +from cowabunga_api.typedef import Usage +from cowabunga_api.typedef.embeddings import ( CreateEmbeddingResponse, EmbeddingResponseData, ) -from leapfrogai_api.typedef.counting import ( +from cowabunga_api.typedef.counting import ( TokenCountResponse, ) -from leapfrogai_api.utils.config import Model -from leapfrogai_sdk.chat.chat_pb2 import ( +from cowabunga_api.utils.config import Model +from cowabunga_sdk.chat.chat_pb2 import ( ChatCompletionResponse as ProtobufChatCompletionResponse, ) diff --git a/src/leapfrogai_api/backend/helpers.py b/src/cowabunga_api/backend/helpers.py similarity index 96% rename from src/leapfrogai_api/backend/helpers.py rename to src/cowabunga_api/backend/helpers.py index 005111601..cf9e0fff5 100644 --- a/src/leapfrogai_api/backend/helpers.py +++ b/src/cowabunga_api/backend/helpers.py @@ -5,17 +5,17 @@ import grpc from typing import BinaryIO, Iterator, AsyncGenerator, Any import leapfrogai_sdk as lfai -from leapfrogai_api.typedef.chat import ( +from cowabunga_api.typedef.chat import ( ChatCompletionResponse, ChatDelta, ChatStreamChoice, ) -from leapfrogai_api.typedef.completion import ( +from cowabunga_api.typedef.completion import ( CompletionChoice, CompletionResponse, FinishReason, ) -from leapfrogai_api.typedef import ( +from cowabunga_api.typedef import ( Usage, ) diff --git a/src/leapfrogai_api/backend/rag/__init__.py b/src/cowabunga_api/backend/rag/__init__.py similarity index 100% rename from src/leapfrogai_api/backend/rag/__init__.py rename to src/cowabunga_api/backend/rag/__init__.py diff --git a/src/leapfrogai_api/backend/rag/document_loader.py b/src/cowabunga_api/backend/rag/document_loader.py similarity index 100% rename from src/leapfrogai_api/backend/rag/document_loader.py rename to src/cowabunga_api/backend/rag/document_loader.py diff --git a/src/leapfrogai_api/backend/rag/index.py b/src/cowabunga_api/backend/rag/index.py similarity index 95% rename from src/leapfrogai_api/backend/rag/index.py rename to src/cowabunga_api/backend/rag/index.py index 4c5d22470..b273e77a5 100644 --- a/src/leapfrogai_api/backend/rag/index.py +++ b/src/cowabunga_api/backend/rag/index.py @@ -11,29 +11,29 @@ from openai.types.beta.vector_stores.vector_store_file import LastError from supabase import AClient as AsyncClient -from leapfrogai_api.backend.rag.document_loader import load_file, split -from leapfrogai_api.backend.rag.leapfrogai_embeddings import LeapfrogAIEmbeddings -from leapfrogai_api.data.crud_file_bucket import CRUDFileBucket -from leapfrogai_api.data.crud_file_object import CRUDFileObject, FilterFileObject -from leapfrogai_api.data.crud_vector_store import CRUDVectorStore, FilterVectorStore -from leapfrogai_api.typedef.vectorstores import ( +from cowabunga_api.backend.rag.document_loader import load_file, split +from cowabunga_api.backend.rag.leapfrogai_embeddings import CowabungaAIEmbeddings +from cowabunga_api.data.crud_file_bucket import CRUDFileBucket +from cowabunga_api.data.crud_file_object import CRUDFileObject, FilterFileObject +from cowabunga_api.data.crud_vector_store import CRUDVectorStore, FilterVectorStore +from cowabunga_api.typedef.vectorstores import ( VectorStoreStatus, VectorStoreFileStatus, CreateVectorStoreRequest, ModifyVectorStoreRequest, ) -from leapfrogai_api.data.crud_vector_store_file import ( +from cowabunga_api.data.crud_vector_store_file import ( CRUDVectorStoreFile, FilterVectorStoreFile, ) -from leapfrogai_api.data.crud_vector_content import CRUDVectorContent, Vector +from cowabunga_api.data.crud_vector_content import CRUDVectorContent, Vector logger = logging.getLogger(__name__) # Allows for overwriting type of embeddings that will be instantiated -embeddings_type: type[Embeddings] | type[LeapfrogAIEmbeddings] | None = ( - LeapfrogAIEmbeddings +embeddings_type: type[Embeddings] | type[CowabungaAIEmbeddings] | None = ( + CowabungaAIEmbeddings ) diff --git a/src/leapfrogai_api/backend/rag/leapfrogai_embeddings.py b/src/cowabunga_api/backend/rag/leapfrogai_embeddings.py similarity index 86% rename from src/leapfrogai_api/backend/rag/leapfrogai_embeddings.py rename to src/cowabunga_api/backend/rag/leapfrogai_embeddings.py index 8274a5861..7c519c7e2 100644 --- a/src/leapfrogai_api/backend/rag/leapfrogai_embeddings.py +++ b/src/cowabunga_api/backend/rag/leapfrogai_embeddings.py @@ -1,19 +1,19 @@ -"""LeapfrogAI Embeddings via Langchain Embeddings Interface.""" +"""CowabungaAI Embeddings via Langchain Embeddings Interface.""" import os import leapfrogai_sdk as lfai -from leapfrogai_api.utils import get_model_config -from leapfrogai_api.backend.grpc_client import create_embeddings +from cowabunga_api.utils import get_model_config +from cowabunga_api.backend.grpc_client import create_embeddings import logging logger = logging.getLogger(__name__) # Partially implements the Langchain Core Embeddings interface -class LeapfrogAIEmbeddings: - """LeapfrogAI Embeddings via Langchain Embeddings Interface. +class CowabungaAIEmbeddings: + """CowabungaAI Embeddings via Langchain Embeddings Interface. - This class provides methods to embed documents and query text using LeapfrogAI embeddings. + This class provides methods to embed documents and query text using CowabungaAI embeddings. """ async def aembed_documents(self, texts: list[str]) -> list[list[float]]: diff --git a/src/leapfrogai_api/backend/rag/query.py b/src/cowabunga_api/backend/rag/query.py similarity index 87% rename from src/leapfrogai_api/backend/rag/query.py rename to src/cowabunga_api/backend/rag/query.py index bd0ae9bf6..e93fcaa64 100644 --- a/src/leapfrogai_api/backend/rag/query.py +++ b/src/cowabunga_api/backend/rag/query.py @@ -3,17 +3,17 @@ from rerankers.results import RankedResults from supabase import AClient as AsyncClient from langchain_core.embeddings import Embeddings -from leapfrogai_api.backend.rag.leapfrogai_embeddings import LeapfrogAIEmbeddings -from leapfrogai_api.data.crud_vector_content import CRUDVectorContent -from leapfrogai_api.typedef.rag.rag_types import ConfigurationSingleton -from leapfrogai_api.typedef.vectorstores.search_types import SearchResponse, SearchItem -from leapfrogai_api.backend.constants import TOP_K -from leapfrogai_api.utils.logging_tools import logger +from cowabunga_api.backend.rag.leapfrogai_embeddings import CowabungaAIEmbeddings +from cowabunga_api.data.crud_vector_content import CRUDVectorContent +from cowabunga_api.typedef.rag.rag_types import ConfigurationSingleton +from cowabunga_api.typedef.vectorstores.search_types import SearchResponse, SearchItem +from cowabunga_api.backend.constants import TOP_K +from cowabunga_api.utils.logging_tools import logger from rerankers import Reranker # Allows for overwriting type of embeddings that will be instantiated -embeddings_type: type[Embeddings] | type[LeapfrogAIEmbeddings] | None = ( - LeapfrogAIEmbeddings +embeddings_type: type[Embeddings] | type[CowabungaAIEmbeddings] | None = ( + CowabungaAIEmbeddings ) diff --git a/src/leapfrogai_api/backend/security/__init__.py b/src/cowabunga_api/backend/security/__init__.py similarity index 100% rename from src/leapfrogai_api/backend/security/__init__.py rename to src/cowabunga_api/backend/security/__init__.py diff --git a/src/leapfrogai_api/backend/security/api_key.py b/src/cowabunga_api/backend/security/api_key.py similarity index 100% rename from src/leapfrogai_api/backend/security/api_key.py rename to src/cowabunga_api/backend/security/api_key.py diff --git a/src/leapfrogai_api/config.example.yaml b/src/cowabunga_api/config.example.yaml similarity index 100% rename from src/leapfrogai_api/config.example.yaml rename to src/cowabunga_api/config.example.yaml diff --git a/src/leapfrogai_api/config.py b/src/cowabunga_api/config.py similarity index 98% rename from src/leapfrogai_api/config.py rename to src/cowabunga_api/config.py index a4592d92c..576614de4 100644 --- a/src/leapfrogai_api/config.py +++ b/src/cowabunga_api/config.py @@ -3,7 +3,7 @@ import os from typing import Optional from pydantic import BaseSettings, Field -from leapfrogai_api.utils.database_factory import DatabaseType +from cowabunga_api.utils.database_factory import DatabaseType class Settings(BaseSettings): diff --git a/src/leapfrogai_api/data/__init__.py b/src/cowabunga_api/data/__init__.py similarity index 100% rename from src/leapfrogai_api/data/__init__.py rename to src/cowabunga_api/data/__init__.py diff --git a/src/leapfrogai_api/data/crud_api_key.py b/src/cowabunga_api/data/crud_api_key.py similarity index 96% rename from src/leapfrogai_api/data/crud_api_key.py rename to src/cowabunga_api/data/crud_api_key.py index 731a3cb69..b195df886 100644 --- a/src/leapfrogai_api/data/crud_api_key.py +++ b/src/cowabunga_api/data/crud_api_key.py @@ -4,9 +4,9 @@ from fastapi import HTTPException, status from pydantic import BaseModel, Field from supabase import AClient as AsyncClient -from leapfrogai_api.data.crud_base import CRUDBase -from leapfrogai_api.backend.security.api_key import APIKey, KEY_PREFIX -from leapfrogai_api.backend.constants import THIRTY_DAYS_SECONDS +from cowabunga_api.data.crud_base import CRUDBase +from cowabunga_api.backend.security.api_key import APIKey, KEY_PREFIX +from cowabunga_api.backend.constants import THIRTY_DAYS_SECONDS class APIKeyItem(BaseModel): diff --git a/src/leapfrogai_api/data/crud_assistant.py b/src/cowabunga_api/data/crud_assistant.py similarity index 95% rename from src/leapfrogai_api/data/crud_assistant.py rename to src/cowabunga_api/data/crud_assistant.py index b32356baa..844716c19 100644 --- a/src/leapfrogai_api/data/crud_assistant.py +++ b/src/cowabunga_api/data/crud_assistant.py @@ -3,7 +3,7 @@ from pydantic import BaseModel from openai.types.beta import Assistant from supabase import AClient as AsyncClient -from leapfrogai_api.data.crud_base import CRUDBase +from cowabunga_api.data.crud_base import CRUDBase class FilterAssistant(BaseModel): diff --git a/src/leapfrogai_api/data/crud_base.py b/src/cowabunga_api/data/crud_base.py similarity index 100% rename from src/leapfrogai_api/data/crud_base.py rename to src/cowabunga_api/data/crud_base.py diff --git a/src/leapfrogai_api/data/crud_file_bucket.py b/src/cowabunga_api/data/crud_file_bucket.py similarity index 100% rename from src/leapfrogai_api/data/crud_file_bucket.py rename to src/cowabunga_api/data/crud_file_bucket.py diff --git a/src/leapfrogai_api/data/crud_file_object.py b/src/cowabunga_api/data/crud_file_object.py similarity index 95% rename from src/leapfrogai_api/data/crud_file_object.py rename to src/cowabunga_api/data/crud_file_object.py index 47296f510..1da926124 100644 --- a/src/leapfrogai_api/data/crud_file_object.py +++ b/src/cowabunga_api/data/crud_file_object.py @@ -3,7 +3,7 @@ from pydantic import BaseModel from openai.types import FileObject from supabase import AClient as AsyncClient -from leapfrogai_api.data.crud_base import CRUDBase +from cowabunga_api.data.crud_base import CRUDBase class FilterFileObject(BaseModel): diff --git a/src/leapfrogai_api/data/crud_message.py b/src/cowabunga_api/data/crud_message.py similarity index 90% rename from src/leapfrogai_api/data/crud_message.py rename to src/cowabunga_api/data/crud_message.py index 163c5500f..4d2d0ee08 100644 --- a/src/leapfrogai_api/data/crud_message.py +++ b/src/cowabunga_api/data/crud_message.py @@ -2,7 +2,7 @@ from openai.types.beta.threads import Message from supabase import AClient as AsyncClient -from leapfrogai_api.data.crud_base import CRUDBase +from cowabunga_api.data.crud_base import CRUDBase class CRUDMessage(CRUDBase[Message]): diff --git a/src/leapfrogai_api/data/crud_run.py b/src/cowabunga_api/data/crud_run.py similarity index 93% rename from src/leapfrogai_api/data/crud_run.py rename to src/cowabunga_api/data/crud_run.py index b2998d114..1446cdff7 100644 --- a/src/leapfrogai_api/data/crud_run.py +++ b/src/cowabunga_api/data/crud_run.py @@ -2,7 +2,7 @@ from openai.types.beta.threads import Run from supabase import AClient as AsyncClient -from leapfrogai_api.data.crud_base import CRUDBase +from cowabunga_api.data.crud_base import CRUDBase class CRUDRun(CRUDBase[Run]): diff --git a/src/leapfrogai_api/data/crud_thread.py b/src/cowabunga_api/data/crud_thread.py similarity index 85% rename from src/leapfrogai_api/data/crud_thread.py rename to src/cowabunga_api/data/crud_thread.py index 2f437c458..1238db7ad 100644 --- a/src/leapfrogai_api/data/crud_thread.py +++ b/src/cowabunga_api/data/crud_thread.py @@ -2,7 +2,7 @@ from openai.types.beta import Thread from supabase import AClient as AsyncClient -from leapfrogai_api.data.crud_base import CRUDBase +from cowabunga_api.data.crud_base import CRUDBase class CRUDThread(CRUDBase[Thread]): diff --git a/src/leapfrogai_api/data/crud_vector_content.py b/src/cowabunga_api/data/crud_vector_content.py similarity index 94% rename from src/leapfrogai_api/data/crud_vector_content.py rename to src/cowabunga_api/data/crud_vector_content.py index d53118986..66b048b58 100644 --- a/src/leapfrogai_api/data/crud_vector_content.py +++ b/src/cowabunga_api/data/crud_vector_content.py @@ -1,11 +1,11 @@ """CRUD Operations for VectorStore.""" from supabase import AClient as AsyncClient -from leapfrogai_api.data.crud_base import get_user_id +from cowabunga_api.data.crud_base import get_user_id import ast -from leapfrogai_api.typedef.vectorstores import SearchItem, SearchResponse -from leapfrogai_api.backend.constants import TOP_K -from leapfrogai_api.typedef.vectorstores import Vector +from cowabunga_api.typedef.vectorstores import SearchItem, SearchResponse +from cowabunga_api.backend.constants import TOP_K +from cowabunga_api.typedef.vectorstores import Vector class CRUDVectorContent: diff --git a/src/leapfrogai_api/data/crud_vector_store.py b/src/cowabunga_api/data/crud_vector_store.py similarity index 98% rename from src/leapfrogai_api/data/crud_vector_store.py rename to src/cowabunga_api/data/crud_vector_store.py index df9bfb0e9..e50ed1bcd 100644 --- a/src/leapfrogai_api/data/crud_vector_store.py +++ b/src/cowabunga_api/data/crud_vector_store.py @@ -5,7 +5,7 @@ from pydantic import BaseModel from openai.types.beta import VectorStore from supabase import AClient as AsyncClient -from leapfrogai_api.data.crud_base import CRUDBase +from cowabunga_api.data.crud_base import CRUDBase class FilterVectorStore(BaseModel): diff --git a/src/leapfrogai_api/data/crud_vector_store_file.py b/src/cowabunga_api/data/crud_vector_store_file.py similarity index 97% rename from src/leapfrogai_api/data/crud_vector_store_file.py rename to src/cowabunga_api/data/crud_vector_store_file.py index 9ed10192c..5da93a0f9 100644 --- a/src/leapfrogai_api/data/crud_vector_store_file.py +++ b/src/cowabunga_api/data/crud_vector_store_file.py @@ -3,7 +3,7 @@ from pydantic import BaseModel from openai.types.beta.vector_stores import VectorStoreFile from supabase import AClient as AsyncClient -from leapfrogai_api.data.crud_base import CRUDBase +from cowabunga_api.data.crud_base import CRUDBase class FilterVectorStoreFile(BaseModel): diff --git a/src/leapfrogai_api/data/database/__init__.py b/src/cowabunga_api/data/database/__init__.py similarity index 55% rename from src/leapfrogai_api/data/database/__init__.py rename to src/cowabunga_api/data/database/__init__.py index c97c69d22..6dcd0336f 100644 --- a/src/leapfrogai_api/data/database/__init__.py +++ b/src/cowabunga_api/data/database/__init__.py @@ -4,8 +4,8 @@ Supabase (PostgreSQL) and Turso (SQLite/libSQL) backends. """ -from leapfrogai_api.data.database.base import DatabaseClient -from leapfrogai_api.data.database.supabase_client import SupabaseClient -from leapfrogai_api.data.database.turso_client import TursoClient +from cowabunga_api.data.database.base import DatabaseClient +from cowabunga_api.data.database.supabase_client import SupabaseClient +from cowabunga_api.data.database.turso_client import TursoClient __all__ = ["DatabaseClient", "SupabaseClient", "TursoClient"] diff --git a/src/leapfrogai_api/data/database/base.py b/src/cowabunga_api/data/database/base.py similarity index 100% rename from src/leapfrogai_api/data/database/base.py rename to src/cowabunga_api/data/database/base.py diff --git a/src/leapfrogai_api/data/database/supabase_client.py b/src/cowabunga_api/data/database/supabase_client.py similarity index 97% rename from src/leapfrogai_api/data/database/supabase_client.py rename to src/cowabunga_api/data/database/supabase_client.py index 634b4bf7a..48c339c2d 100644 --- a/src/leapfrogai_api/data/database/supabase_client.py +++ b/src/cowabunga_api/data/database/supabase_client.py @@ -2,7 +2,7 @@ from typing import Any from supabase import AClient as AsyncClient, acreate_client -from leapfrogai_api.data.database.base import DatabaseClient, QueryBuilder, AuthClient +from cowabunga_api.data.database.base import DatabaseClient, QueryBuilder, AuthClient class SupabaseQueryBuilder(QueryBuilder): diff --git a/src/leapfrogai_api/data/database/turso_auth.py b/src/cowabunga_api/data/database/turso_auth.py similarity index 99% rename from src/leapfrogai_api/data/database/turso_auth.py rename to src/cowabunga_api/data/database/turso_auth.py index f1d80b98b..bdaa20292 100644 --- a/src/leapfrogai_api/data/database/turso_auth.py +++ b/src/cowabunga_api/data/database/turso_auth.py @@ -7,7 +7,7 @@ from dataclasses import dataclass import aiosqlite import jwt -from leapfrogai_api.data.database.base import AuthClient +from cowabunga_api.data.database.base import AuthClient @dataclass diff --git a/src/leapfrogai_api/data/database/turso_client.py b/src/cowabunga_api/data/database/turso_client.py similarity index 99% rename from src/leapfrogai_api/data/database/turso_client.py rename to src/cowabunga_api/data/database/turso_client.py index 4b05d54a5..f46aa4b80 100644 --- a/src/leapfrogai_api/data/database/turso_client.py +++ b/src/cowabunga_api/data/database/turso_client.py @@ -10,7 +10,7 @@ import httpx -from leapfrogai_api.data.database.base import DatabaseClient, QueryBuilder, AuthClient # type: ignore +from cowabunga_api.data.database.base import DatabaseClient, QueryBuilder, AuthClient # type: ignore @dataclass diff --git a/src/leapfrogai_api/main.py b/src/cowabunga_api/main.py similarity index 82% rename from src/leapfrogai_api/main.py rename to src/cowabunga_api/main.py index cfa0c3d45..b7a78e614 100644 --- a/src/leapfrogai_api/main.py +++ b/src/cowabunga_api/main.py @@ -1,4 +1,4 @@ -"""Main FastAPI application for the LeapfrogAI API.""" +"""Main FastAPI application for the CowabungaAI API.""" import asyncio import logging @@ -9,14 +9,14 @@ from fastapi.exception_handlers import request_validation_exception_handler from fastapi.exceptions import RequestValidationError from fastapi.responses import RedirectResponse -from leapfrogai_api.routers.base import router as base_router -from leapfrogai_api.routers.leapfrogai import auth -from leapfrogai_api.routers.leapfrogai import models as lfai_models -from leapfrogai_api.routers.leapfrogai import vector_stores as lfai_vector_stores -from leapfrogai_api.routers.leapfrogai import count as lfai_token_count -from leapfrogai_api.routers.leapfrogai import rag as lfai_rag -from leapfrogai_api.routers.leapfrogai import tokens as lfai_tokens -from leapfrogai_api.routers.openai import ( +from cowabunga_api.routers.base import router as base_router +from cowabunga_api.routers.leapfrogai import auth +from cowabunga_api.routers.leapfrogai import models as lfai_models +from cowabunga_api.routers.leapfrogai import vector_stores as lfai_vector_stores +from cowabunga_api.routers.leapfrogai import count as lfai_token_count +from cowabunga_api.routers.leapfrogai import rag as lfai_rag +from cowabunga_api.routers.leapfrogai import tokens as lfai_tokens +from cowabunga_api.routers.openai import ( assistants, audio, chat, @@ -30,12 +30,12 @@ threads, vector_stores, ) -from leapfrogai_api.routers import health -from leapfrogai_api.utils import get_model_config +from cowabunga_api.routers import health +from cowabunga_api.utils import get_model_config from prometheus_fastapi_instrumentator import Instrumentator logging.basicConfig( - level=os.getenv("LFAI_LOG_LEVEL", logging.INFO), + level=os.getenv("COWABUNGA_LOG_LEVEL", logging.INFO), format="%(name)s: %(asctime)s | %(levelname)s | %(filename)s:%(lineno)s >>> %(message)s", ) logger = logging.getLogger(__name__) diff --git a/src/leapfrogai_api/pyproject.toml b/src/cowabunga_api/pyproject.toml similarity index 98% rename from src/leapfrogai_api/pyproject.toml rename to src/cowabunga_api/pyproject.toml index 104196f05..1e7861efc 100644 --- a/src/leapfrogai_api/pyproject.toml +++ b/src/cowabunga_api/pyproject.toml @@ -1,5 +1,5 @@ [project] -name = "leapfrogai-api" +name = "cowabunga-api" description = "An API for LeapfrogAI that allows LeapfrogAI backends to connect seamlessly" # x-release-please-start-version diff --git a/src/leapfrogai_api/routers/__init__.py b/src/cowabunga_api/routers/__init__.py similarity index 100% rename from src/leapfrogai_api/routers/__init__.py rename to src/cowabunga_api/routers/__init__.py diff --git a/src/leapfrogai_api/routers/base.py b/src/cowabunga_api/routers/base.py similarity index 100% rename from src/leapfrogai_api/routers/base.py rename to src/cowabunga_api/routers/base.py diff --git a/src/leapfrogai_api/routers/leapfrogai/__init__.py b/src/cowabunga_api/routers/cowabunga/__init__.py similarity index 100% rename from src/leapfrogai_api/routers/leapfrogai/__init__.py rename to src/cowabunga_api/routers/cowabunga/__init__.py diff --git a/src/leapfrogai_api/routers/leapfrogai/auth.py b/src/cowabunga_api/routers/cowabunga/auth.py similarity index 90% rename from src/leapfrogai_api/routers/leapfrogai/auth.py rename to src/cowabunga_api/routers/cowabunga/auth.py index e5aea8c49..97e87436d 100644 --- a/src/leapfrogai_api/routers/leapfrogai/auth.py +++ b/src/cowabunga_api/routers/cowabunga/auth.py @@ -1,16 +1,16 @@ -"""LeapfrogAI endpoints for Auth.""" +"""CowabungaAI endpoints for Auth.""" import time from typing import Annotated from fastapi import APIRouter, HTTPException, status from pydantic import Field -from leapfrogai_api.routers.supabase_session import Session -from leapfrogai_api.data.crud_api_key import APIKeyItem, CRUDAPIKey -from leapfrogai_api.typedef.auth import CreateAPIKeyRequest, ModifyAPIKeyRequest +from cowabunga_api.routers.supabase_session import Session +from cowabunga_api.data.crud_api_key import APIKeyItem, CRUDAPIKey +from cowabunga_api.typedef.auth import CreateAPIKeyRequest, ModifyAPIKeyRequest -router = APIRouter(prefix="/leapfrogai/v1/auth", tags=["leapfrogai/auth"]) +router = APIRouter(prefix="/cowabunga/v1/auth", tags=["cowabunga/auth"]) @router.post("/api-keys") diff --git a/src/leapfrogai_api/routers/leapfrogai/count.py b/src/cowabunga_api/routers/cowabunga/count.py similarity index 69% rename from src/leapfrogai_api/routers/leapfrogai/count.py rename to src/cowabunga_api/routers/cowabunga/count.py index 46dd97493..18c428d48 100644 --- a/src/leapfrogai_api/routers/leapfrogai/count.py +++ b/src/cowabunga_api/routers/cowabunga/count.py @@ -1,16 +1,16 @@ from fastapi import APIRouter, Depends, HTTPException from typing import Annotated -from leapfrogai_api.routers.supabase_session import Session -from leapfrogai_api.utils.config import Config -from leapfrogai_api.utils import get_model_config -from leapfrogai_api.typedef.counting import ( +from cowabunga_api.routers.supabase_session import Session +from cowabunga_api.utils.config import Config +from cowabunga_api.utils import get_model_config +from cowabunga_api.typedef.counting import ( TokenCountRequest, TokenCountResponse, ) -from leapfrogai_api.backend.grpc_client import create_token_count +from cowabunga_api.backend.grpc_client import create_token_count import leapfrogai_sdk as lfai -router = APIRouter(prefix="/leapfrogai/v1/count", tags=["leapfrogai/count"]) +router = APIRouter(prefix="/cowabunga/v1/count", tags=["cowabunga/count"]) @router.post("/tokens") diff --git a/src/leapfrogai_api/routers/leapfrogai/models.py b/src/cowabunga_api/routers/cowabunga/models.py similarity index 50% rename from src/leapfrogai_api/routers/leapfrogai/models.py rename to src/cowabunga_api/routers/cowabunga/models.py index 27b750a2a..6e23bbd60 100644 --- a/src/leapfrogai_api/routers/leapfrogai/models.py +++ b/src/cowabunga_api/routers/cowabunga/models.py @@ -1,7 +1,7 @@ from fastapi import APIRouter -from leapfrogai_api.utils import get_model_config +from cowabunga_api.utils import get_model_config -router = APIRouter(prefix="/leapfrogai/v1/models", tags=["leapfrogai/models"]) +router = APIRouter(prefix="/cowabunga/v1/models", tags=["cowabunga/models"]) @router.get("") diff --git a/src/leapfrogai_api/routers/leapfrogai/rag.py b/src/cowabunga_api/routers/cowabunga/rag.py similarity index 83% rename from src/leapfrogai_api/routers/leapfrogai/rag.py rename to src/cowabunga_api/routers/cowabunga/rag.py index 3b61b616e..3dd841839 100644 --- a/src/leapfrogai_api/routers/leapfrogai/rag.py +++ b/src/cowabunga_api/routers/cowabunga/rag.py @@ -1,14 +1,14 @@ -"""LeapfrogAI endpoints for RAG.""" +"""CowabungaAI endpoints for RAG.""" from fastapi import APIRouter -from leapfrogai_api.typedef.rag.rag_types import ( +from cowabunga_api.typedef.rag.rag_types import ( ConfigurationSingleton, ConfigurationPayload, ) -from leapfrogai_api.routers.supabase_session import Session -from leapfrogai_api.utils.logging_tools import logger +from cowabunga_api.routers.supabase_session import Session +from cowabunga_api.utils.logging_tools import logger -router = APIRouter(prefix="/leapfrogai/v1/rag", tags=["leapfrogai/rag"]) +router = APIRouter(prefix="/cowabunga/v1/rag", tags=["cowabunga/rag"]) @router.patch("/configure") diff --git a/src/leapfrogai_api/routers/leapfrogai/tokens.py b/src/cowabunga_api/routers/cowabunga/tokens.py similarity index 70% rename from src/leapfrogai_api/routers/leapfrogai/tokens.py rename to src/cowabunga_api/routers/cowabunga/tokens.py index 42b924424..8bdbfd747 100644 --- a/src/leapfrogai_api/routers/leapfrogai/tokens.py +++ b/src/cowabunga_api/routers/cowabunga/tokens.py @@ -1,6 +1,6 @@ from fastapi import APIRouter -from leapfrogai_api.utils import get_model_config -from leapfrogai_api.backend.grpc_client import ( +from cowabunga_api.utils import get_model_config +from cowabunga_api.backend.grpc_client import ( count_tokens, ) @@ -9,7 +9,7 @@ logger = logging.getLogger(__name__) -router = APIRouter(prefix="/leapfrogai/v1/tokens", tags=["leapfrogai/tokens"]) +router = APIRouter(prefix="/cowabunga/v1/tokens", tags=["cowabunga/tokens"]) @router.post("/count") diff --git a/src/leapfrogai_api/routers/leapfrogai/vector_stores.py b/src/cowabunga_api/routers/cowabunga/vector_stores.py similarity index 73% rename from src/leapfrogai_api/routers/leapfrogai/vector_stores.py rename to src/cowabunga_api/routers/cowabunga/vector_stores.py index 5251440c1..73499303c 100644 --- a/src/leapfrogai_api/routers/leapfrogai/vector_stores.py +++ b/src/cowabunga_api/routers/cowabunga/vector_stores.py @@ -1,14 +1,14 @@ -"""LeapfrogAI endpoints for RAG.""" +"""CowabungaAI endpoints for RAG.""" from fastapi import APIRouter -from leapfrogai_api.backend.rag.query import QueryService -from leapfrogai_api.typedef.vectorstores import SearchResponse -from leapfrogai_api.routers.supabase_session import Session -from leapfrogai_api.data.crud_vector_content import CRUDVectorContent, Vector -from leapfrogai_api.backend.constants import TOP_K +from cowabunga_api.backend.rag.query import QueryService +from cowabunga_api.typedef.vectorstores import SearchResponse +from cowabunga_api.routers.supabase_session import Session +from cowabunga_api.data.crud_vector_content import CRUDVectorContent, Vector +from cowabunga_api.backend.constants import TOP_K router = APIRouter( - prefix="/leapfrogai/v1/vector_stores", tags=["leapfrogai/vector_stores"] + prefix="/cowabunga/v1/vector_stores", tags=["cowabunga/vector_stores"] ) diff --git a/src/leapfrogai_api/routers/health.py b/src/cowabunga_api/routers/health.py similarity index 95% rename from src/leapfrogai_api/routers/health.py rename to src/cowabunga_api/routers/health.py index a41c77cfd..41c507360 100644 --- a/src/leapfrogai_api/routers/health.py +++ b/src/cowabunga_api/routers/health.py @@ -1,11 +1,11 @@ -"""Health check endpoints for the LeapfrogAI API.""" +"""Health check endpoints for the CowabungaAI API.""" from fastapi import APIRouter from pydantic import BaseModel import psutil import sys from datetime import datetime -from leapfrogai_api.utils import get_model_config +from cowabunga_api.utils import get_model_config router = APIRouter(tags=["health"]) diff --git a/src/leapfrogai_api/routers/openai/__init__.py b/src/cowabunga_api/routers/openai/__init__.py similarity index 100% rename from src/leapfrogai_api/routers/openai/__init__.py rename to src/cowabunga_api/routers/openai/__init__.py diff --git a/src/leapfrogai_api/routers/openai/assistants.py b/src/cowabunga_api/routers/openai/assistants.py similarity index 94% rename from src/leapfrogai_api/routers/openai/assistants.py rename to src/cowabunga_api/routers/openai/assistants.py index 3c44bf0a0..cdfc7650b 100644 --- a/src/leapfrogai_api/routers/openai/assistants.py +++ b/src/cowabunga_api/routers/openai/assistants.py @@ -3,14 +3,14 @@ from fastapi import HTTPException, APIRouter, status from openai.types.beta import Assistant, AssistantDeleted -from leapfrogai_api.backend.helpers import object_or_default -from leapfrogai_api.typedef.assistants import ListAssistantsResponse -from leapfrogai_api.typedef.assistants import ( +from cowabunga_api.backend.helpers import object_or_default +from cowabunga_api.typedef.assistants import ListAssistantsResponse +from cowabunga_api.typedef.assistants import ( CreateAssistantRequest, ModifyAssistantRequest, ) -from leapfrogai_api.data.crud_assistant import CRUDAssistant, FilterAssistant -from leapfrogai_api.routers.supabase_session import Session +from cowabunga_api.data.crud_assistant import CRUDAssistant, FilterAssistant +from cowabunga_api.routers.supabase_session import Session router = APIRouter(prefix="/openai/v1/assistants", tags=["openai/assistants"]) diff --git a/src/leapfrogai_api/routers/openai/audio.py b/src/cowabunga_api/routers/openai/audio.py similarity index 88% rename from src/leapfrogai_api/routers/openai/audio.py rename to src/cowabunga_api/routers/openai/audio.py index f60e7b0f7..d009ecc13 100644 --- a/src/leapfrogai_api/routers/openai/audio.py +++ b/src/cowabunga_api/routers/openai/audio.py @@ -4,16 +4,16 @@ from typing import Annotated from fastapi import HTTPException, APIRouter, Depends -from leapfrogai_api.backend.grpc_client import create_transcription, create_translation -from leapfrogai_api.backend.helpers import read_chunks -from leapfrogai_api.typedef.audio import ( +from cowabunga_api.backend.grpc_client import create_transcription, create_translation +from cowabunga_api.backend.helpers import read_chunks +from cowabunga_api.typedef.audio import ( CreateTranscriptionRequest, CreateTranscriptionResponse, CreateTranslationRequest, ) -from leapfrogai_api.routers.supabase_session import Session -from leapfrogai_api.utils import get_model_config -from leapfrogai_api.utils.config import Config +from cowabunga_api.routers.supabase_session import Session +from cowabunga_api.utils import get_model_config +from cowabunga_api.utils.config import Config import leapfrogai_sdk as lfai router = APIRouter(prefix="/openai/v1/audio", tags=["openai/audio"]) diff --git a/src/leapfrogai_api/routers/openai/chat.py b/src/cowabunga_api/routers/openai/chat.py similarity index 86% rename from src/leapfrogai_api/routers/openai/chat.py rename to src/cowabunga_api/routers/openai/chat.py index 217f6d9f7..3376a6901 100644 --- a/src/leapfrogai_api/routers/openai/chat.py +++ b/src/cowabunga_api/routers/openai/chat.py @@ -3,17 +3,17 @@ from typing import Annotated, AsyncGenerator, Any from fastapi import HTTPException, APIRouter, Depends import leapfrogai_sdk as lfai -from leapfrogai_api.backend.grpc_client import ( +from cowabunga_api.backend.grpc_client import ( chat_completion, stream_chat_completion, stream_chat_completion_raw, ) -from leapfrogai_api.backend.helpers import grpc_chat_role -from leapfrogai_api.typedef.chat import ChatCompletionRequest -from leapfrogai_api.routers.supabase_session import Session -from leapfrogai_api.utils import get_model_config -from leapfrogai_api.utils.config import Config -from leapfrogai_sdk.chat.chat_pb2 import ( +from cowabunga_api.backend.helpers import grpc_chat_role +from cowabunga_api.typedef.chat import ChatCompletionRequest +from cowabunga_api.routers.supabase_session import Session +from cowabunga_api.utils import get_model_config +from cowabunga_api.utils.config import Config +from cowabunga_sdk.chat.chat_pb2 import ( ChatCompletionResponse as ProtobufChatCompletionResponse, ) diff --git a/src/leapfrogai_api/routers/openai/completions.py b/src/cowabunga_api/routers/openai/completions.py similarity index 80% rename from src/leapfrogai_api/routers/openai/completions.py rename to src/cowabunga_api/routers/openai/completions.py index 97b1cf3dc..8c00a7cfe 100644 --- a/src/leapfrogai_api/routers/openai/completions.py +++ b/src/cowabunga_api/routers/openai/completions.py @@ -2,14 +2,14 @@ from typing import Annotated from fastapi import HTTPException, APIRouter, Depends -from leapfrogai_api.backend.grpc_client import ( +from cowabunga_api.backend.grpc_client import ( completion, stream_completion, ) -from leapfrogai_api.typedef.completion import CompletionRequest -from leapfrogai_api.routers.supabase_session import Session -from leapfrogai_api.utils import get_model_config -from leapfrogai_api.utils.config import Config +from cowabunga_api.typedef.completion import CompletionRequest +from cowabunga_api.routers.supabase_session import Session +from cowabunga_api.utils import get_model_config +from cowabunga_api.utils.config import Config import leapfrogai_sdk as lfai router = APIRouter(prefix="/openai/v1/completions", tags=["openai/completions"]) diff --git a/src/leapfrogai_api/routers/openai/embeddings.py b/src/cowabunga_api/routers/openai/embeddings.py similarity index 86% rename from src/leapfrogai_api/routers/openai/embeddings.py rename to src/cowabunga_api/routers/openai/embeddings.py index faeaa07f4..53603e3dc 100644 --- a/src/leapfrogai_api/routers/openai/embeddings.py +++ b/src/cowabunga_api/routers/openai/embeddings.py @@ -4,14 +4,14 @@ from fastapi import APIRouter, Depends, HTTPException, status import leapfrogai_sdk as lfai -from leapfrogai_api.backend.grpc_client import create_embeddings -from leapfrogai_api.typedef.embeddings import ( +from cowabunga_api.backend.grpc_client import create_embeddings +from cowabunga_api.typedef.embeddings import ( CreateEmbeddingRequest, CreateEmbeddingResponse, ) -from leapfrogai_api.routers.supabase_session import Session -from leapfrogai_api.utils import get_model_config -from leapfrogai_api.utils.config import Config +from cowabunga_api.routers.supabase_session import Session +from cowabunga_api.utils import get_model_config +from cowabunga_api.utils.config import Config router = APIRouter(prefix="/openai/v1/embeddings", tags=["openai/embeddings"]) diff --git a/src/leapfrogai_api/routers/openai/files.py b/src/cowabunga_api/routers/openai/files.py similarity index 93% rename from src/leapfrogai_api/routers/openai/files.py rename to src/cowabunga_api/routers/openai/files.py index 11e0f88dd..151c1cd25 100644 --- a/src/leapfrogai_api/routers/openai/files.py +++ b/src/cowabunga_api/routers/openai/files.py @@ -4,14 +4,14 @@ from fastapi.responses import Response from openai.types import FileDeleted, FileObject -from leapfrogai_api.backend.rag.document_loader import ( +from cowabunga_api.backend.rag.document_loader import ( is_supported_mime_type, get_mime_type_from_filename, ) -from leapfrogai_api.data.crud_file_bucket import CRUDFileBucket -from leapfrogai_api.data.crud_file_object import CRUDFileObject, FilterFileObject -from leapfrogai_api.routers.supabase_session import Session -from leapfrogai_api.typedef.files import ListFilesResponse, UploadFileRequest +from cowabunga_api.data.crud_file_bucket import CRUDFileBucket +from cowabunga_api.data.crud_file_object import CRUDFileObject, FilterFileObject +from cowabunga_api.routers.supabase_session import Session +from cowabunga_api.typedef.files import ListFilesResponse, UploadFileRequest router = APIRouter(prefix="/openai/v1/files", tags=["openai/files"]) diff --git a/src/leapfrogai_api/routers/openai/messages.py b/src/cowabunga_api/routers/openai/messages.py similarity index 94% rename from src/leapfrogai_api/routers/openai/messages.py rename to src/cowabunga_api/routers/openai/messages.py index e9826992d..883290eda 100644 --- a/src/leapfrogai_api/routers/openai/messages.py +++ b/src/cowabunga_api/routers/openai/messages.py @@ -3,9 +3,9 @@ from fastapi import HTTPException, APIRouter, status from openai.types.beta.threads import Message, MessageDeleted from openai.pagination import SyncCursorPage -from leapfrogai_api.typedef.messages import CreateMessageRequest, ModifyMessageRequest -from leapfrogai_api.data.crud_message import CRUDMessage -from leapfrogai_api.routers.supabase_session import Session +from cowabunga_api.typedef.messages import CreateMessageRequest, ModifyMessageRequest +from cowabunga_api.data.crud_message import CRUDMessage +from cowabunga_api.routers.supabase_session import Session router = APIRouter(prefix="/openai/v1/threads", tags=["openai/threads/messages"]) diff --git a/src/leapfrogai_api/routers/openai/models.py b/src/cowabunga_api/routers/openai/models.py similarity index 73% rename from src/leapfrogai_api/routers/openai/models.py rename to src/cowabunga_api/routers/openai/models.py index 74ffc57e1..24c7f6909 100644 --- a/src/leapfrogai_api/routers/openai/models.py +++ b/src/cowabunga_api/routers/openai/models.py @@ -1,13 +1,13 @@ """OpenAI compliant models router.""" from fastapi import APIRouter -from leapfrogai_api.typedef.models import ( +from cowabunga_api.typedef.models import ( ModelResponse, ModelResponseModel, ) -from leapfrogai_api.routers.supabase_session import Session -from leapfrogai_api.utils import get_model_config -from leapfrogai_api.utils.config import Config +from cowabunga_api.routers.supabase_session import Session +from cowabunga_api.utils import get_model_config +from cowabunga_api.utils.config import Config router = APIRouter(prefix="/openai/v1/models", tags=["openai/models"]) diff --git a/src/leapfrogai_api/routers/openai/runs.py b/src/cowabunga_api/routers/openai/runs.py similarity index 92% rename from src/leapfrogai_api/routers/openai/runs.py rename to src/cowabunga_api/routers/openai/runs.py index 33a066c36..47dd540d7 100644 --- a/src/leapfrogai_api/routers/openai/runs.py +++ b/src/cowabunga_api/routers/openai/runs.py @@ -6,16 +6,16 @@ from openai.types.beta.threads import Run from openai.pagination import SyncCursorPage -from leapfrogai_api.data.crud_run import CRUDRun -from leapfrogai_api.data.crud_thread import CRUDThread -from leapfrogai_api.routers.supabase_session import Session -from leapfrogai_api.utils.validate_tools import ( +from cowabunga_api.data.crud_run import CRUDRun +from cowabunga_api.data.crud_thread import CRUDThread +from cowabunga_api.routers.supabase_session import Session +from cowabunga_api.utils.validate_tools import ( validate_assistant_tool, validate_assistant_tool_choice_option, ) -from leapfrogai_api.typedef.threads import ThreadRunCreateParamsRequest -from leapfrogai_api.typedef.runs import RunCreateParamsRequest, ModifyRunRequest -from leapfrogai_api.backend.composer import Composer +from cowabunga_api.typedef.threads import ThreadRunCreateParamsRequest +from cowabunga_api.typedef.runs import RunCreateParamsRequest, ModifyRunRequest +from cowabunga_api.backend.composer import Composer router = APIRouter(prefix="/openai/v1/threads", tags=["openai/threads/runs"]) diff --git a/src/leapfrogai_api/routers/openai/runs_steps.py b/src/cowabunga_api/routers/openai/runs_steps.py similarity index 97% rename from src/leapfrogai_api/routers/openai/runs_steps.py rename to src/cowabunga_api/routers/openai/runs_steps.py index 6b95f71b7..c95f95a5c 100644 --- a/src/leapfrogai_api/routers/openai/runs_steps.py +++ b/src/cowabunga_api/routers/openai/runs_steps.py @@ -5,8 +5,8 @@ from fastapi import HTTPException, APIRouter, status as http_status from openai.types.beta.threads import Run from openai.types.beta.threads.runs import RunStep -from leapfrogai_api.routers.supabase_session import Session -from leapfrogai_api.data.crud_run import CRUDRun +from cowabunga_api.routers.supabase_session import Session +from cowabunga_api.data.crud_run import CRUDRun router = APIRouter(prefix="/openai/v1/threads", tags=["openai/threads/run-steps"]) diff --git a/src/leapfrogai_api/routers/openai/threads.py b/src/cowabunga_api/routers/openai/threads.py similarity index 92% rename from src/leapfrogai_api/routers/openai/threads.py rename to src/cowabunga_api/routers/openai/threads.py index 3461ca27a..3889b6468 100644 --- a/src/leapfrogai_api/routers/openai/threads.py +++ b/src/cowabunga_api/routers/openai/threads.py @@ -3,10 +3,10 @@ from fastapi import HTTPException, APIRouter, status from openai.types.beta import Thread, ThreadDeleted -from leapfrogai_api.typedef.threads import ModifyThreadRequest, CreateThreadRequest -from leapfrogai_api.data.crud_thread import CRUDThread -from leapfrogai_api.routers.supabase_session import Session -from leapfrogai_api.utils.validate_tools import ( +from cowabunga_api.typedef.threads import ModifyThreadRequest, CreateThreadRequest +from cowabunga_api.data.crud_thread import CRUDThread +from cowabunga_api.routers.supabase_session import Session +from cowabunga_api.utils.validate_tools import ( validate_tool_resources, ) diff --git a/src/leapfrogai_api/routers/openai/vector_stores.py b/src/cowabunga_api/routers/openai/vector_stores.py similarity index 93% rename from src/leapfrogai_api/routers/openai/vector_stores.py rename to src/cowabunga_api/routers/openai/vector_stores.py index dea997a88..231b9308c 100644 --- a/src/leapfrogai_api/routers/openai/vector_stores.py +++ b/src/cowabunga_api/routers/openai/vector_stores.py @@ -7,20 +7,20 @@ from openai.pagination import SyncCursorPage from openai.types.beta import VectorStore, VectorStoreDeleted from openai.types.beta.vector_stores import VectorStoreFile, VectorStoreFileDeleted -from leapfrogai_api.backend.rag.index import IndexingService -from leapfrogai_api.typedef.vectorstores import ( +from cowabunga_api.backend.rag.index import IndexingService +from cowabunga_api.typedef.vectorstores import ( CreateVectorStoreFileRequest, CreateVectorStoreRequest, ListVectorStoresResponse, ModifyVectorStoreRequest, ) -from leapfrogai_api.data.crud_vector_content import CRUDVectorContent -from leapfrogai_api.data.crud_vector_store import CRUDVectorStore, FilterVectorStore -from leapfrogai_api.data.crud_vector_store_file import ( +from cowabunga_api.data.crud_vector_content import CRUDVectorContent +from cowabunga_api.data.crud_vector_store import CRUDVectorStore, FilterVectorStore +from cowabunga_api.data.crud_vector_store_file import ( CRUDVectorStoreFile, FilterVectorStoreFile, ) -from leapfrogai_api.routers.supabase_session import Session +from cowabunga_api.routers.supabase_session import Session logger = logging.getLogger(__name__) diff --git a/src/leapfrogai_api/routers/supabase_session.py b/src/cowabunga_api/routers/supabase_session.py similarity index 98% rename from src/leapfrogai_api/routers/supabase_session.py rename to src/cowabunga_api/routers/supabase_session.py index 400974066..82675da49 100644 --- a/src/leapfrogai_api/routers/supabase_session.py +++ b/src/cowabunga_api/routers/supabase_session.py @@ -10,7 +10,7 @@ from supabase import AClient as AsyncClient from supabase import acreate_client import gotrue -from leapfrogai_api.backend.security.api_key import APIKey +from cowabunga_api.backend.security.api_key import APIKey logger = logging.getLogger(__name__) diff --git a/src/leapfrogai_api/supabase/.gitignore b/src/cowabunga_api/supabase/.gitignore similarity index 100% rename from src/leapfrogai_api/supabase/.gitignore rename to src/cowabunga_api/supabase/.gitignore diff --git a/src/leapfrogai_api/supabase/config.toml b/src/cowabunga_api/supabase/config.toml similarity index 100% rename from src/leapfrogai_api/supabase/config.toml rename to src/cowabunga_api/supabase/config.toml diff --git a/src/leapfrogai_api/supabase/migrations b/src/cowabunga_api/supabase/migrations similarity index 100% rename from src/leapfrogai_api/supabase/migrations rename to src/cowabunga_api/supabase/migrations diff --git a/src/leapfrogai_api/supabase/seed.sql b/src/cowabunga_api/supabase/seed.sql similarity index 100% rename from src/leapfrogai_api/supabase/seed.sql rename to src/cowabunga_api/supabase/seed.sql diff --git a/src/leapfrogai_api/typedef/__init__.py b/src/cowabunga_api/typedef/__init__.py similarity index 100% rename from src/leapfrogai_api/typedef/__init__.py rename to src/cowabunga_api/typedef/__init__.py diff --git a/src/leapfrogai_api/typedef/assistants/__init__.py b/src/cowabunga_api/typedef/assistants/__init__.py similarity index 100% rename from src/leapfrogai_api/typedef/assistants/__init__.py rename to src/cowabunga_api/typedef/assistants/__init__.py diff --git a/src/leapfrogai_api/typedef/assistants/assistant_types.py b/src/cowabunga_api/typedef/assistants/assistant_types.py similarity index 96% rename from src/leapfrogai_api/typedef/assistants/assistant_types.py rename to src/cowabunga_api/typedef/assistants/assistant_types.py index a59fb8f8d..765474d9a 100644 --- a/src/leapfrogai_api/typedef/assistants/assistant_types.py +++ b/src/cowabunga_api/typedef/assistants/assistant_types.py @@ -14,11 +14,11 @@ ) from openai.types.beta.assistant_tool import FileSearchTool -from leapfrogai_api.backend.rag.index import IndexingService -from leapfrogai_api.typedef.vectorstores import CreateVectorStoreRequest -from leapfrogai_api.data.crud_vector_store import CRUDVectorStore, FilterVectorStore -from leapfrogai_api.routers.supabase_session import Session -from leapfrogai_api.utils.validate_tools import ( +from cowabunga_api.backend.rag.index import IndexingService +from cowabunga_api.typedef.vectorstores import CreateVectorStoreRequest +from cowabunga_api.data.crud_vector_store import CRUDVectorStore, FilterVectorStore +from cowabunga_api.routers.supabase_session import Session +from cowabunga_api.utils.validate_tools import ( validate_assistant_tool, validate_tool_resources, ) diff --git a/src/leapfrogai_api/typedef/audio/__init__.py b/src/cowabunga_api/typedef/audio/__init__.py similarity index 100% rename from src/leapfrogai_api/typedef/audio/__init__.py rename to src/cowabunga_api/typedef/audio/__init__.py diff --git a/src/leapfrogai_api/typedef/audio/audio_types.py b/src/cowabunga_api/typedef/audio/audio_types.py similarity index 100% rename from src/leapfrogai_api/typedef/audio/audio_types.py rename to src/cowabunga_api/typedef/audio/audio_types.py diff --git a/src/leapfrogai_api/typedef/auth/__init__.py b/src/cowabunga_api/typedef/auth/__init__.py similarity index 100% rename from src/leapfrogai_api/typedef/auth/__init__.py rename to src/cowabunga_api/typedef/auth/__init__.py diff --git a/src/leapfrogai_api/typedef/auth/auth_types.py b/src/cowabunga_api/typedef/auth/auth_types.py similarity index 94% rename from src/leapfrogai_api/typedef/auth/auth_types.py rename to src/cowabunga_api/typedef/auth/auth_types.py index f49dd5bac..18cf90fc6 100644 --- a/src/leapfrogai_api/typedef/auth/auth_types.py +++ b/src/cowabunga_api/typedef/auth/auth_types.py @@ -1,7 +1,7 @@ from pydantic import BaseModel, Field import time -from leapfrogai_api.backend.constants import THIRTY_DAYS_SECONDS +from cowabunga_api.backend.constants import THIRTY_DAYS_SECONDS class CreateAPIKeyRequest(BaseModel): diff --git a/src/leapfrogai_api/typedef/chat/__init__.py b/src/cowabunga_api/typedef/chat/__init__.py similarity index 100% rename from src/leapfrogai_api/typedef/chat/__init__.py rename to src/cowabunga_api/typedef/chat/__init__.py diff --git a/src/leapfrogai_api/typedef/chat/chat_types.py b/src/cowabunga_api/typedef/chat/chat_types.py similarity index 100% rename from src/leapfrogai_api/typedef/chat/chat_types.py rename to src/cowabunga_api/typedef/chat/chat_types.py diff --git a/src/leapfrogai_api/typedef/common.py b/src/cowabunga_api/typedef/common.py similarity index 93% rename from src/leapfrogai_api/typedef/common.py rename to src/cowabunga_api/typedef/common.py index 319929150..4d0adbe7e 100644 --- a/src/leapfrogai_api/typedef/common.py +++ b/src/cowabunga_api/typedef/common.py @@ -1,5 +1,5 @@ from pydantic import BaseModel, Field -from leapfrogai_api.backend.constants import DEFAULT_MAX_COMPLETION_TOKENS +from cowabunga_api.backend.constants import DEFAULT_MAX_COMPLETION_TOKENS class MetadataObject: diff --git a/src/leapfrogai_api/typedef/completion/__init__.py b/src/cowabunga_api/typedef/completion/__init__.py similarity index 100% rename from src/leapfrogai_api/typedef/completion/__init__.py rename to src/cowabunga_api/typedef/completion/__init__.py diff --git a/src/leapfrogai_api/typedef/completion/completion_types.py b/src/cowabunga_api/typedef/completion/completion_types.py similarity index 100% rename from src/leapfrogai_api/typedef/completion/completion_types.py rename to src/cowabunga_api/typedef/completion/completion_types.py diff --git a/src/leapfrogai_api/typedef/counting/__init__.py b/src/cowabunga_api/typedef/counting/__init__.py similarity index 100% rename from src/leapfrogai_api/typedef/counting/__init__.py rename to src/cowabunga_api/typedef/counting/__init__.py diff --git a/src/leapfrogai_api/typedef/counting/token_count_types.py b/src/cowabunga_api/typedef/counting/token_count_types.py similarity index 100% rename from src/leapfrogai_api/typedef/counting/token_count_types.py rename to src/cowabunga_api/typedef/counting/token_count_types.py diff --git a/src/leapfrogai_api/typedef/embeddings/__init__.py b/src/cowabunga_api/typedef/embeddings/__init__.py similarity index 100% rename from src/leapfrogai_api/typedef/embeddings/__init__.py rename to src/cowabunga_api/typedef/embeddings/__init__.py diff --git a/src/leapfrogai_api/typedef/embeddings/embedding_types.py b/src/cowabunga_api/typedef/embeddings/embedding_types.py similarity index 100% rename from src/leapfrogai_api/typedef/embeddings/embedding_types.py rename to src/cowabunga_api/typedef/embeddings/embedding_types.py diff --git a/src/leapfrogai_api/typedef/files/__init__.py b/src/cowabunga_api/typedef/files/__init__.py similarity index 100% rename from src/leapfrogai_api/typedef/files/__init__.py rename to src/cowabunga_api/typedef/files/__init__.py diff --git a/src/leapfrogai_api/typedef/files/file_types.py b/src/cowabunga_api/typedef/files/file_types.py similarity index 100% rename from src/leapfrogai_api/typedef/files/file_types.py rename to src/cowabunga_api/typedef/files/file_types.py diff --git a/src/leapfrogai_api/typedef/messages/__init__.py b/src/cowabunga_api/typedef/messages/__init__.py similarity index 100% rename from src/leapfrogai_api/typedef/messages/__init__.py rename to src/cowabunga_api/typedef/messages/__init__.py diff --git a/src/leapfrogai_api/typedef/messages/message_types.py b/src/cowabunga_api/typedef/messages/message_types.py similarity index 96% rename from src/leapfrogai_api/typedef/messages/message_types.py rename to src/cowabunga_api/typedef/messages/message_types.py index e1d8ffff1..4a8d67300 100644 --- a/src/leapfrogai_api/typedef/messages/message_types.py +++ b/src/cowabunga_api/typedef/messages/message_types.py @@ -7,8 +7,8 @@ from openai.types.beta.threads import MessageContent, TextContentBlock, Text, Message from openai.types.beta.threads.message import Attachment from pydantic import BaseModel, Field -from leapfrogai_api.data.crud_message import CRUDMessage -from leapfrogai_api.routers.supabase_session import Session +from cowabunga_api.data.crud_message import CRUDMessage +from cowabunga_api.routers.supabase_session import Session class CreateMessageRequest(BaseModel): diff --git a/src/leapfrogai_api/typedef/models/__init__.py b/src/cowabunga_api/typedef/models/__init__.py similarity index 100% rename from src/leapfrogai_api/typedef/models/__init__.py rename to src/cowabunga_api/typedef/models/__init__.py diff --git a/src/leapfrogai_api/typedef/models/model_types.py b/src/cowabunga_api/typedef/models/model_types.py similarity index 93% rename from src/leapfrogai_api/typedef/models/model_types.py rename to src/cowabunga_api/typedef/models/model_types.py index 1aa0df535..f98c2df3c 100644 --- a/src/leapfrogai_api/typedef/models/model_types.py +++ b/src/cowabunga_api/typedef/models/model_types.py @@ -25,12 +25,12 @@ class ModelResponseModel(BaseModel): ) created: int = Field( default=0, - description="The Unix timestamp (in seconds) when the model was created. Always 0 for LeapfrogAI models.", + description="The Unix timestamp (in seconds) when the model was created. Always 0 for CowabungaAI models.", examples=[0], ) owned_by: Literal["leapfrogai"] = Field( default="leapfrogai", - description="The organization that owns the model. Always 'leapfrogai' for LeapfrogAI models.", + description="The organization that owns the model. Always 'leapfrogai' for CowabungaAI models.", ) diff --git a/src/leapfrogai_api/typedef/rag/__init__.py b/src/cowabunga_api/typedef/rag/__init__.py similarity index 100% rename from src/leapfrogai_api/typedef/rag/__init__.py rename to src/cowabunga_api/typedef/rag/__init__.py diff --git a/src/leapfrogai_api/typedef/rag/rag_types.py b/src/cowabunga_api/typedef/rag/rag_types.py similarity index 100% rename from src/leapfrogai_api/typedef/rag/rag_types.py rename to src/cowabunga_api/typedef/rag/rag_types.py diff --git a/src/leapfrogai_api/typedef/runs/__init__.py b/src/cowabunga_api/typedef/runs/__init__.py similarity index 100% rename from src/leapfrogai_api/typedef/runs/__init__.py rename to src/cowabunga_api/typedef/runs/__init__.py diff --git a/src/leapfrogai_api/typedef/runs/run_create.py b/src/cowabunga_api/typedef/runs/run_create.py similarity index 94% rename from src/leapfrogai_api/typedef/runs/run_create.py rename to src/cowabunga_api/typedef/runs/run_create.py index fc76f4182..5dc5c8306 100644 --- a/src/leapfrogai_api/typedef/runs/run_create.py +++ b/src/cowabunga_api/typedef/runs/run_create.py @@ -12,14 +12,14 @@ from .run_create_base import ( RunCreateParamsRequestBase, ) -from leapfrogai_api.typedef.messages import ( +from cowabunga_api.typedef.messages import ( CreateMessageRequest, ) -from leapfrogai_api.data.crud_run import CRUDRun -from leapfrogai_api.backend.converters import ( +from cowabunga_api.data.crud_run import CRUDRun +from cowabunga_api.backend.converters import ( from_content_param_to_content, ) -from leapfrogai_api.routers.supabase_session import Session +from cowabunga_api.routers.supabase_session import Session class RunCreateParamsRequest(RunCreateParamsRequestBase): diff --git a/src/leapfrogai_api/typedef/runs/run_create_base.py b/src/cowabunga_api/typedef/runs/run_create_base.py similarity index 95% rename from src/leapfrogai_api/typedef/runs/run_create_base.py rename to src/cowabunga_api/typedef/runs/run_create_base.py index cd83fda65..56f569500 100644 --- a/src/leapfrogai_api/typedef/runs/run_create_base.py +++ b/src/cowabunga_api/typedef/runs/run_create_base.py @@ -22,15 +22,15 @@ from openai.types.beta.threads.run_create_params import TruncationStrategy from pydantic import BaseModel, Field, ValidationError -from leapfrogai_api.backend.constants import ( +from cowabunga_api.backend.constants import ( DEFAULT_MAX_COMPLETION_TOKENS, DEFAULT_MAX_PROMPT_TOKENS, ) -from leapfrogai_api.backend.converters import ( +from cowabunga_api.backend.converters import ( from_assistant_stream_event_to_str, ) -from leapfrogai_api.data.crud_assistant import CRUDAssistant, FilterAssistant -from leapfrogai_api.routers.supabase_session import Session +from cowabunga_api.data.crud_assistant import CRUDAssistant, FilterAssistant +from cowabunga_api.routers.supabase_session import Session logger = logging.getLogger(__name__) diff --git a/src/leapfrogai_api/typedef/runs/run_modify.py b/src/cowabunga_api/typedef/runs/run_modify.py similarity index 100% rename from src/leapfrogai_api/typedef/runs/run_modify.py rename to src/cowabunga_api/typedef/runs/run_modify.py diff --git a/src/leapfrogai_api/typedef/threads/__init__.py b/src/cowabunga_api/typedef/threads/__init__.py similarity index 100% rename from src/leapfrogai_api/typedef/threads/__init__.py rename to src/cowabunga_api/typedef/threads/__init__.py diff --git a/src/leapfrogai_api/typedef/threads/thread_create.py b/src/cowabunga_api/typedef/threads/thread_create.py similarity index 95% rename from src/leapfrogai_api/typedef/threads/thread_create.py rename to src/cowabunga_api/typedef/threads/thread_create.py index f116ff59c..06458986b 100644 --- a/src/leapfrogai_api/typedef/threads/thread_create.py +++ b/src/cowabunga_api/typedef/threads/thread_create.py @@ -9,9 +9,9 @@ from typing_extensions import Literal from typing import List, Optional from pydantic import BaseModel, Field -from leapfrogai_api.data.crud_message import CRUDMessage -from leapfrogai_api.data.crud_thread import CRUDThread -from leapfrogai_api.routers.supabase_session import Session +from cowabunga_api.data.crud_message import CRUDMessage +from cowabunga_api.data.crud_thread import CRUDThread +from cowabunga_api.routers.supabase_session import Session class CreateThreadRequest(BaseModel): diff --git a/src/leapfrogai_api/typedef/threads/thread_modify.py b/src/cowabunga_api/typedef/threads/thread_modify.py similarity index 100% rename from src/leapfrogai_api/typedef/threads/thread_modify.py rename to src/cowabunga_api/typedef/threads/thread_modify.py diff --git a/src/leapfrogai_api/typedef/threads/thread_run_create_params_request.py b/src/cowabunga_api/typedef/threads/thread_run_create_params_request.py similarity index 94% rename from src/leapfrogai_api/typedef/threads/thread_run_create_params_request.py rename to src/cowabunga_api/typedef/threads/thread_run_create_params_request.py index 74e9d469f..0f36d70b6 100644 --- a/src/leapfrogai_api/typedef/threads/thread_run_create_params_request.py +++ b/src/cowabunga_api/typedef/threads/thread_run_create_params_request.py @@ -17,19 +17,19 @@ ) from openai.types.beta.threads import MessageContent, Message, Run -from leapfrogai_api.typedef.messages import ( +from cowabunga_api.typedef.messages import ( CreateMessageRequest, ) -from leapfrogai_api.typedef.runs import ( +from cowabunga_api.typedef.runs import ( RunCreateParamsRequestBase, ) -from leapfrogai_api.data.crud_run import CRUDRun -from leapfrogai_api.backend.converters import ( +from cowabunga_api.data.crud_run import CRUDRun +from cowabunga_api.backend.converters import ( from_content_param_to_content, ) -from leapfrogai_api.typedef.threads import CreateThreadRequest +from cowabunga_api.typedef.threads import CreateThreadRequest -from leapfrogai_api.routers.supabase_session import Session +from cowabunga_api.routers.supabase_session import Session logger = logging.getLogger(__name__) diff --git a/src/leapfrogai_api/typedef/vectorstores/__init__.py b/src/cowabunga_api/typedef/vectorstores/__init__.py similarity index 100% rename from src/leapfrogai_api/typedef/vectorstores/__init__.py rename to src/cowabunga_api/typedef/vectorstores/__init__.py diff --git a/src/leapfrogai_api/typedef/vectorstores/search_types.py b/src/cowabunga_api/typedef/vectorstores/search_types.py similarity index 100% rename from src/leapfrogai_api/typedef/vectorstores/search_types.py rename to src/cowabunga_api/typedef/vectorstores/search_types.py diff --git a/src/leapfrogai_api/typedef/vectorstores/vectorstore_types.py b/src/cowabunga_api/typedef/vectorstores/vectorstore_types.py similarity index 100% rename from src/leapfrogai_api/typedef/vectorstores/vectorstore_types.py rename to src/cowabunga_api/typedef/vectorstores/vectorstore_types.py diff --git a/src/leapfrogai_api/utils/__init__.py b/src/cowabunga_api/utils/__init__.py similarity index 57% rename from src/leapfrogai_api/utils/__init__.py rename to src/cowabunga_api/utils/__init__.py index 3660f5cd6..d6692d4f4 100644 --- a/src/leapfrogai_api/utils/__init__.py +++ b/src/cowabunga_api/utils/__init__.py @@ -1,4 +1,4 @@ -from leapfrogai_api.utils.config import Config +from cowabunga_api.utils.config import Config config = Config() diff --git a/src/leapfrogai_api/utils/config.py b/src/cowabunga_api/utils/config.py similarity index 96% rename from src/leapfrogai_api/utils/config.py rename to src/cowabunga_api/utils/config.py index 07e8096d2..eaf7428c9 100644 --- a/src/leapfrogai_api/utils/config.py +++ b/src/cowabunga_api/utils/config.py @@ -8,7 +8,7 @@ from watchdog.observers import Observer from watchdog.events import FileSystemEventHandler -from leapfrogai_api.typedef.models import Model +from cowabunga_api.typedef.models import Model logger = logging.getLogger(__name__) @@ -64,10 +64,10 @@ def __str__(self): async def watch_and_load_configs(self, directory=".", filename="config.yaml"): # Get the config directory and filename from the environment variables if provided - env_directory = os.environ.get("LFAI_CONFIG_PATH", directory) + env_directory = os.environ.get("COWABUNGA_CONFIG_PATH", directory) if env_directory: directory = env_directory - env_filename = os.environ.get("LFAI_CONFIG_FILENAME", filename) + env_filename = os.environ.get("COWABUNGA_CONFIG_FILENAME", filename) if env_filename: filename = env_filename diff --git a/src/leapfrogai_api/utils/database_factory.py b/src/cowabunga_api/utils/database_factory.py similarity index 95% rename from src/leapfrogai_api/utils/database_factory.py rename to src/cowabunga_api/utils/database_factory.py index 31f5d0a31..bae0cfed0 100644 --- a/src/leapfrogai_api/utils/database_factory.py +++ b/src/cowabunga_api/utils/database_factory.py @@ -2,7 +2,7 @@ import os from enum import Enum -from leapfrogai_api.data.database import DatabaseClient, SupabaseClient, TursoClient +from cowabunga_api.data.database import DatabaseClient, SupabaseClient, TursoClient class DatabaseType(str, Enum): diff --git a/src/leapfrogai_api/utils/logging_tools.py b/src/cowabunga_api/utils/logging_tools.py similarity index 79% rename from src/leapfrogai_api/utils/logging_tools.py rename to src/cowabunga_api/utils/logging_tools.py index aa2448288..c7cbabd06 100644 --- a/src/leapfrogai_api/utils/logging_tools.py +++ b/src/cowabunga_api/utils/logging_tools.py @@ -5,7 +5,7 @@ load_dotenv() logging.basicConfig( - level=os.getenv("LFAI_LOG_LEVEL", logging.INFO), + level=os.getenv("COWABUNGA_LOG_LEVEL", logging.INFO), format="%(name)s: %(asctime)s | %(levelname)s | %(filename)s:%(lineno)s >>> %(message)s", ) diff --git a/src/leapfrogai_api/utils/validate_tools.py b/src/cowabunga_api/utils/validate_tools.py similarity index 100% rename from src/leapfrogai_api/utils/validate_tools.py rename to src/cowabunga_api/utils/validate_tools.py diff --git a/src/leapfrogai_evals/.env.example b/src/cowabunga_evals/.env.example similarity index 100% rename from src/leapfrogai_evals/.env.example rename to src/cowabunga_evals/.env.example diff --git a/src/leapfrogai_evals/README.md b/src/cowabunga_evals/README.md similarity index 100% rename from src/leapfrogai_evals/README.md rename to src/cowabunga_evals/README.md diff --git a/src/leapfrogai_evals/__init__.py b/src/cowabunga_evals/__init__.py similarity index 100% rename from src/leapfrogai_evals/__init__.py rename to src/cowabunga_evals/__init__.py diff --git a/src/leapfrogai_evals/evals/__init__.py b/src/cowabunga_evals/evals/__init__.py similarity index 100% rename from src/leapfrogai_evals/evals/__init__.py rename to src/cowabunga_evals/evals/__init__.py diff --git a/src/leapfrogai_evals/evals/human_eval.py b/src/cowabunga_evals/evals/human_eval.py similarity index 92% rename from src/leapfrogai_evals/evals/human_eval.py rename to src/cowabunga_evals/evals/human_eval.py index 15cef0da5..fe9ba15a9 100644 --- a/src/leapfrogai_evals/evals/human_eval.py +++ b/src/cowabunga_evals/evals/human_eval.py @@ -7,7 +7,7 @@ from tqdm import tqdm from typing import Optional -from leapfrogai_evals.models import LFAI_Model +from leapfrogai_evals.models import COWABUNGA_Model def human_eval( @@ -30,7 +30,7 @@ def human_eval( ) try: task_benchmark.evaluate( - model=LFAI_Model(), k=k or int(os.getenv("HUMAN_EVAL_K")) + model=COWABUNGA_Model(), k=k or int(os.getenv("HUMAN_EVAL_K")) ) task_scores[task.name] = task_benchmark.overall_score except Exception as exc: diff --git a/src/leapfrogai_evals/evals/mmlu.py b/src/cowabunga_evals/evals/mmlu.py similarity index 89% rename from src/leapfrogai_evals/evals/mmlu.py rename to src/cowabunga_evals/evals/mmlu.py index 027b317a7..5ea6f1cbb 100644 --- a/src/leapfrogai_evals/evals/mmlu.py +++ b/src/cowabunga_evals/evals/mmlu.py @@ -5,7 +5,7 @@ from deepeval.benchmarks.tasks import MMLUTask from typing import Optional -from leapfrogai_evals.models import LFAI_Model +from leapfrogai_evals.models import COWABUNGA_Model def mmlu(num_tasks: Optional[int] = None, n_shots: Optional[int] = None) -> dict: @@ -19,7 +19,7 @@ def mmlu(num_tasks: Optional[int] = None, n_shots: Optional[int] = None) -> dict mmlu_benchmark = MMLU( tasks=tasks, n_shots=n_shots or int(os.getenv("MMLU_NUM_SHOTS")) ) - mmlu_benchmark.evaluate(model=LFAI_Model()) + mmlu_benchmark.evaluate(model=COWABUNGA_Model()) logging.info(f"MMLU overall score: {mmlu_benchmark.overall_score}") logging.info(f"MMLU task scores:\n {mmlu_benchmark.task_scores}") diff --git a/src/leapfrogai_evals/evals/niah_eval.py b/src/cowabunga_evals/evals/niah_eval.py similarity index 100% rename from src/leapfrogai_evals/evals/niah_eval.py rename to src/cowabunga_evals/evals/niah_eval.py diff --git a/src/leapfrogai_evals/evals/qa_eval.py b/src/cowabunga_evals/evals/qa_eval.py similarity index 100% rename from src/leapfrogai_evals/evals/qa_eval.py rename to src/cowabunga_evals/evals/qa_eval.py diff --git a/src/leapfrogai_evals/main.py b/src/cowabunga_evals/main.py similarity index 96% rename from src/leapfrogai_evals/main.py rename to src/cowabunga_evals/main.py index 3813474f9..409123c53 100644 --- a/src/leapfrogai_evals/main.py +++ b/src/cowabunga_evals/main.py @@ -9,7 +9,7 @@ class RAGEvaluator: - """A class that handles running all of the LeapfrogAI RAG evaluations""" + """A class that handles running all of the CowabungaAI RAG evaluations""" def __init__( self, diff --git a/src/leapfrogai_evals/metrics/__init__.py b/src/cowabunga_evals/metrics/__init__.py similarity index 100% rename from src/leapfrogai_evals/metrics/__init__.py rename to src/cowabunga_evals/metrics/__init__.py diff --git a/src/leapfrogai_evals/metrics/annotation_relevancy.py b/src/cowabunga_evals/metrics/annotation_relevancy.py similarity index 100% rename from src/leapfrogai_evals/metrics/annotation_relevancy.py rename to src/cowabunga_evals/metrics/annotation_relevancy.py diff --git a/src/leapfrogai_evals/metrics/correctness.py b/src/cowabunga_evals/metrics/correctness.py similarity index 100% rename from src/leapfrogai_evals/metrics/correctness.py rename to src/cowabunga_evals/metrics/correctness.py diff --git a/src/leapfrogai_evals/metrics/niah_metrics.py b/src/cowabunga_evals/metrics/niah_metrics.py similarity index 100% rename from src/leapfrogai_evals/metrics/niah_metrics.py rename to src/cowabunga_evals/metrics/niah_metrics.py diff --git a/src/leapfrogai_evals/models/__init__.py b/src/cowabunga_evals/models/__init__.py similarity index 62% rename from src/leapfrogai_evals/models/__init__.py rename to src/cowabunga_evals/models/__init__.py index 49680c72f..8183a1ed5 100644 --- a/src/leapfrogai_evals/models/__init__.py +++ b/src/cowabunga_evals/models/__init__.py @@ -2,4 +2,4 @@ # ruff: noqa: F401 from leapfrogai_evals.models.claude_sonnet import ClaudeSonnet -from leapfrogai_evals.models.lfai import LFAI_Model +from leapfrogai_evals.models.lfai import COWABUNGA_Model diff --git a/src/leapfrogai_evals/models/claude_sonnet.py b/src/cowabunga_evals/models/claude_sonnet.py similarity index 100% rename from src/leapfrogai_evals/models/claude_sonnet.py rename to src/cowabunga_evals/models/claude_sonnet.py diff --git a/src/leapfrogai_evals/models/lfai.py b/src/cowabunga_evals/models/lfai.py similarity index 84% rename from src/leapfrogai_evals/models/lfai.py rename to src/cowabunga_evals/models/lfai.py index 88cc65741..886e76f3c 100644 --- a/src/leapfrogai_evals/models/lfai.py +++ b/src/cowabunga_evals/models/lfai.py @@ -7,9 +7,9 @@ from typing import Optional, List -class LFAI_Model(DeepEvalBaseLLM): +class COWABUNGA_Model(DeepEvalBaseLLM): """ - A DeepEval LLM class that utilizes the LeapfrogAI API to prompt certain benchmarks + A DeepEval LLM class that utilizes the CowabungaAI API to prompt certain benchmarks Do not use this particular class as an LLM judge. This model class is needed to run generation-focused benchmarks, not be used as a judge. @@ -23,8 +23,8 @@ def __init__( model: Optional[str] = None, ): self.model = model or os.getenv("MODEL_TO_EVALUATE") - self.api_key = api_key or os.getenv("LEAPFROGAI_API_KEY") - self.base_url = base_url or os.getenv("LEAPFROGAI_API_URL") + "/openai/v1" + self.api_key = api_key or os.getenv("COWABUNGA_API_KEY") + self.base_url = base_url or os.getenv("COWABUNGA_API_URL") + "/openai/v1" self.client = openai.OpenAI(api_key=self.api_key, base_url=self.base_url) def load_model(self): @@ -39,7 +39,7 @@ def generate( top_p: float = 1.0, stop: str = "", ) -> str: - """Generates a response from LeapfrogAI API using the OpenAI SDK""" + """Generates a response from CowabungaAI API using the OpenAI SDK""" response = self.client.chat.completions.create( temperature=temperature, model=self.model, @@ -70,4 +70,4 @@ async def a_generate(self, prompt: str, *args, **kwargs) -> BaseModel: return await loop.run_in_executor(None, self.generate, prompt, *args, **kwargs) def get_model_name(self): - return f"LeapfrogAI {self.model}" + return f"CowabungaAI {self.model}" diff --git a/src/leapfrogai_evals/pyproject.toml b/src/cowabunga_evals/pyproject.toml similarity index 100% rename from src/leapfrogai_evals/pyproject.toml rename to src/cowabunga_evals/pyproject.toml diff --git a/src/leapfrogai_evals/runners/__init__.py b/src/cowabunga_evals/runners/__init__.py similarity index 100% rename from src/leapfrogai_evals/runners/__init__.py rename to src/cowabunga_evals/runners/__init__.py diff --git a/src/leapfrogai_evals/runners/niah_runner.py b/src/cowabunga_evals/runners/niah_runner.py similarity index 97% rename from src/leapfrogai_evals/runners/niah_runner.py rename to src/cowabunga_evals/runners/niah_runner.py index 4f711bdff..630dc37e0 100644 --- a/src/leapfrogai_evals/runners/niah_runner.py +++ b/src/cowabunga_evals/runners/niah_runner.py @@ -17,9 +17,9 @@ class NIAH_Runner: """ - A runner to handle executing Needle in a Haystack (NIAH) evals for LeapfrogAI + A runner to handle executing Needle in a Haystack (NIAH) evals for CowabungaAI - This runner assumes LeapfrogAI is already deployed + This runner assumes CowabungaAI is already deployed The evaluation takes the following steps (by default) - Creates a vector store @@ -40,7 +40,7 @@ class NIAH_Runner: def __init__( self, - dataset: str = "defenseunicorns/LFAI_RAG_niah_v1", + dataset: str = "defenseunicorns/COWABUNGA_RAG_niah_v1", temperature: float = 0.1, add_padding: bool = True, base_url: str = None, @@ -80,8 +80,8 @@ def __init__( ) self.client = openai.OpenAI( - base_url=base_url or os.environ.get("LEAPFROGAI_API_URL") + "/openai/v1", - api_key=api_key or os.environ.get("LEAPFROGAI_API_KEY"), + base_url=base_url or os.environ.get("COWABUNGA_API_URL") + "/openai/v1", + api_key=api_key or os.environ.get("COWABUNGA_API_KEY"), ) logging.info(f"client url: {self.client.base_url}") self._load_niah_dataset( @@ -178,13 +178,13 @@ def run_experiment(self, cleanup: bool = True) -> None: for chunk_num, chunk_id in enumerate(chunk_ids): logging.info(f"chunk {chunk_num} (id: {chunk_id})") vector_response = requests.get( - url=os.getenv("LEAPFROGAI_API_URL") + url=os.getenv("COWABUNGA_API_URL") + "/leapfrogai/v1/vector_stores/vector/" + chunk_id, headers={ "accept": "application/json", "Authorization": "Bearer " - + os.getenv("LEAPFROGAI_API_KEY"), + + os.getenv("COWABUNGA_API_KEY"), }, ).json() logging.info(f"chunk_data: {vector_response['content']}") diff --git a/src/leapfrogai_evals/runners/qa_runner.py b/src/cowabunga_evals/runners/qa_runner.py similarity index 97% rename from src/leapfrogai_evals/runners/qa_runner.py rename to src/cowabunga_evals/runners/qa_runner.py index cd297689e..24b399ddc 100644 --- a/src/leapfrogai_evals/runners/qa_runner.py +++ b/src/cowabunga_evals/runners/qa_runner.py @@ -19,9 +19,9 @@ class QA_Runner: """ - A runner to handle executing Question and Answer (QA) evals for LeapfrogAI + A runner to handle executing Question and Answer (QA) evals for CowabungaAI - This runner assumes LeapfrogAI is already deployed + This runner assumes CowabungaAI is already deployed The evaluation takes the following steps (by default) - Creates a vector store @@ -37,7 +37,7 @@ class QA_Runner: def __init__( self, - dataset: str = "defenseunicorns/LFAI_RAG_qa_v1", + dataset: str = "defenseunicorns/COWABUNGA_RAG_qa_v1", model: str = "vllm", temperature: float = 0.1, base_url: str = None, @@ -54,7 +54,7 @@ def __init__( self.vector_store = None self.file_dict = None self.current_assistant = None - self.api_key = api_key or os.getenv("LEAPFROGAI_API_KEY") + self.api_key = api_key or os.getenv("COWABUNGA_API_KEY") self.dataset_name = os.environ.get("QA_DATASET", dataset) self.model = os.environ.get("MODEL_TO_EVALUATE", model) self.temperature = float(os.environ.get("TEMPERATURE", temperature)) @@ -75,7 +75,7 @@ def __init__( ) self.client = openai.OpenAI( - base_url=base_url or os.getenv("LEAPFROGAI_API_URL") + "/openai/v1", + base_url=base_url or os.getenv("COWABUNGA_API_URL") + "/openai/v1", api_key=self.api_key, ) logging.info(f"client url: {self.client.base_url}") @@ -145,7 +145,7 @@ def run_experiment(self) -> None: # retrieve context used to generate response for chunk_id in chunk_ids: vector_response = requests.get( - url=os.getenv("LEAPFROGAI_API_URL") + url=os.getenv("COWABUNGA_API_URL") + "/leapfrogai/v1/vector_stores/vector/" + chunk_id, headers={ diff --git a/src/leapfrogai_evals/utils/__init__.py b/src/cowabunga_evals/utils/__init__.py similarity index 100% rename from src/leapfrogai_evals/utils/__init__.py rename to src/cowabunga_evals/utils/__init__.py diff --git a/src/leapfrogai_evals/utils/defaults.py b/src/cowabunga_evals/utils/defaults.py similarity index 100% rename from src/leapfrogai_evals/utils/defaults.py rename to src/cowabunga_evals/utils/defaults.py diff --git a/src/leapfrogai_sdk/Dockerfile b/src/cowabunga_sdk/Dockerfile similarity index 83% rename from src/leapfrogai_sdk/Dockerfile rename to src/cowabunga_sdk/Dockerfile index d107b9386..8ab8deef4 100644 --- a/src/leapfrogai_sdk/Dockerfile +++ b/src/cowabunga_sdk/Dockerfile @@ -1,18 +1,18 @@ FROM ghcr.io/defenseunicorns/leapfrogai/python:3.11-dev AS builder -ARG SDK_DEST=src/leapfrogai_sdk/build +ARG SDK_DEST=src/cowabunga_sdk/build USER root WORKDIR /cowabungaai -COPY ./src/leapfrogai_sdk /cowabungaai/src/leapfrogai_sdk +COPY ./src/cowabunga_sdk /cowabungaai/src/cowabunga_sdk RUN python -m venv .venv ENV PATH="/cowabungaai/.venv/bin:$PATH" RUN rm -f ${SDK_DEST}/*.whl && \ - python -m pip wheel src/leapfrogai_sdk -w ${SDK_DEST} + python -m pip wheel src/cowabunga_sdk -w ${SDK_DEST} # Add CowabungaAI labels LABEL org.opencontainers.image.title="CowabungaAI SDK" diff --git a/src/leapfrogai_sdk/README.md b/src/cowabunga_sdk/README.md similarity index 100% rename from src/leapfrogai_sdk/README.md rename to src/cowabunga_sdk/README.md diff --git a/src/leapfrogai_sdk/__init__.py b/src/cowabunga_sdk/__init__.py similarity index 59% rename from src/leapfrogai_sdk/__init__.py rename to src/cowabunga_sdk/__init__.py index 9bcc2104f..023538196 100644 --- a/src/leapfrogai_sdk/__init__.py +++ b/src/cowabunga_sdk/__init__.py @@ -3,22 +3,22 @@ from grpc import ServicerContext as GrpcContext -from leapfrogai_sdk.counting.counting_pb2 import ( +from cowabunga_sdk.counting.counting_pb2 import ( TokenCountRequest, TokenCountResponse, ) -from leapfrogai_sdk.counting.counting_pb2_grpc import ( +from cowabunga_sdk.counting.counting_pb2_grpc import ( TokenCountService, TokenCountServiceServicer, TokenCountServiceStub, ) -from leapfrogai_sdk.audio.audio_pb2 import ( +from cowabunga_sdk.audio.audio_pb2 import ( AudioMetadata, AudioRequest, AudioResponse, ) -from leapfrogai_sdk.audio.audio_pb2_grpc import Audio, AudioServicer, AudioStub -from leapfrogai_sdk.chat.chat_pb2 import ( +from cowabunga_sdk.audio.audio_pb2_grpc import Audio, AudioServicer, AudioStub +from cowabunga_sdk.chat.chat_pb2 import ( ChatCompletionChoice, ChatCompletionFinishReason, ChatCompletionRequest, @@ -26,7 +26,7 @@ ChatItem, ChatRole, ) -from leapfrogai_sdk.chat.chat_pb2_grpc import ( +from cowabunga_sdk.chat.chat_pb2_grpc import ( ChatCompletionService, ChatCompletionServiceServicer, ChatCompletionServiceStub, @@ -34,14 +34,14 @@ ChatCompletionStreamServiceServicer, ChatCompletionStreamServiceStub, ) -from leapfrogai_sdk.completion.completion_pb2 import ( +from cowabunga_sdk.completion.completion_pb2 import ( CompletionChoice, CompletionFinishReason, CompletionRequest, CompletionResponse, CompletionUsage, ) -from leapfrogai_sdk.completion.completion_pb2_grpc import ( +from cowabunga_sdk.completion.completion_pb2_grpc import ( CompletionService, CompletionServiceServicer, CompletionServiceStub, @@ -49,23 +49,23 @@ CompletionStreamServiceServicer, CompletionStreamServiceStub, ) -from leapfrogai_sdk.config import BackendConfig -from leapfrogai_sdk.embeddings.embeddings_pb2 import ( +from cowabunga_sdk.config import BackendConfig +from cowabunga_sdk.embeddings.embeddings_pb2 import ( Embedding, EmbeddingRequest, EmbeddingResponse, ) -from leapfrogai_sdk.embeddings.embeddings_pb2_grpc import ( +from cowabunga_sdk.embeddings.embeddings_pb2_grpc import ( EmbeddingsService, EmbeddingsServiceServicer, EmbeddingsServiceStub, ) -from leapfrogai_sdk.name.name_pb2 import NameResponse -from leapfrogai_sdk.name.name_pb2_grpc import ( +from cowabunga_sdk.name.name_pb2 import NameResponse +from cowabunga_sdk.name.name_pb2_grpc import ( NameService, NameServiceServicer, NameServiceStub, ) -from leapfrogai_sdk.serve import serve +from cowabunga_sdk.serve import serve -print("Initializing LeapfrogAI") +print("Initializing CowabungaAI") diff --git a/src/leapfrogai_sdk/audio/__init__.py b/src/cowabunga_sdk/audio/__init__.py similarity index 100% rename from src/leapfrogai_sdk/audio/__init__.py rename to src/cowabunga_sdk/audio/__init__.py diff --git a/src/leapfrogai_sdk/audio/audio_pb2.py b/src/cowabunga_sdk/audio/audio_pb2.py similarity index 100% rename from src/leapfrogai_sdk/audio/audio_pb2.py rename to src/cowabunga_sdk/audio/audio_pb2.py diff --git a/src/leapfrogai_sdk/audio/audio_pb2.pyi b/src/cowabunga_sdk/audio/audio_pb2.pyi similarity index 100% rename from src/leapfrogai_sdk/audio/audio_pb2.pyi rename to src/cowabunga_sdk/audio/audio_pb2.pyi diff --git a/src/leapfrogai_sdk/audio/audio_pb2_grpc.py b/src/cowabunga_sdk/audio/audio_pb2_grpc.py similarity index 98% rename from src/leapfrogai_sdk/audio/audio_pb2_grpc.py rename to src/cowabunga_sdk/audio/audio_pb2_grpc.py index c30501baf..ef7f3b028 100644 --- a/src/leapfrogai_sdk/audio/audio_pb2_grpc.py +++ b/src/cowabunga_sdk/audio/audio_pb2_grpc.py @@ -3,7 +3,7 @@ import grpc -from leapfrogai_sdk.audio import audio_pb2 as leapfrogai__sdk_dot_audio_dot_audio__pb2 +from cowabunga_sdk.audio import audio_pb2 as leapfrogai__sdk_dot_audio_dot_audio__pb2 class AudioStub(object): diff --git a/src/leapfrogai_sdk/chat/__init__.py b/src/cowabunga_sdk/chat/__init__.py similarity index 100% rename from src/leapfrogai_sdk/chat/__init__.py rename to src/cowabunga_sdk/chat/__init__.py diff --git a/src/leapfrogai_sdk/chat/chat_pb2.py b/src/cowabunga_sdk/chat/chat_pb2.py similarity index 100% rename from src/leapfrogai_sdk/chat/chat_pb2.py rename to src/cowabunga_sdk/chat/chat_pb2.py diff --git a/src/leapfrogai_sdk/chat/chat_pb2.pyi b/src/cowabunga_sdk/chat/chat_pb2.pyi similarity index 100% rename from src/leapfrogai_sdk/chat/chat_pb2.pyi rename to src/cowabunga_sdk/chat/chat_pb2.pyi diff --git a/src/leapfrogai_sdk/chat/chat_pb2_grpc.py b/src/cowabunga_sdk/chat/chat_pb2_grpc.py similarity index 98% rename from src/leapfrogai_sdk/chat/chat_pb2_grpc.py rename to src/cowabunga_sdk/chat/chat_pb2_grpc.py index 665a70792..1e6ae8432 100644 --- a/src/leapfrogai_sdk/chat/chat_pb2_grpc.py +++ b/src/cowabunga_sdk/chat/chat_pb2_grpc.py @@ -2,7 +2,7 @@ """Client and server classes corresponding to protobuf-defined services.""" import grpc -from leapfrogai_sdk.chat import chat_pb2 as leapfrogai__sdk_dot_chat_dot_chat__pb2 +from cowabunga_sdk.chat import chat_pb2 as leapfrogai__sdk_dot_chat_dot_chat__pb2 class ChatCompletionServiceStub(object): diff --git a/src/leapfrogai_sdk/cli.py b/src/cowabunga_sdk/cli.py similarity index 82% rename from src/leapfrogai_sdk/cli.py rename to src/cowabunga_sdk/cli.py index 48322adad..e34a68019 100644 --- a/src/leapfrogai_sdk/cli.py +++ b/src/cowabunga_sdk/cli.py @@ -3,11 +3,11 @@ import click -from leapfrogai_sdk.serve import serve -from leapfrogai_sdk.utils import import_app +from cowabunga_sdk.serve import serve +from cowabunga_sdk.utils import import_app -@click.argument("app", envvar="LEAPFROGAI_APP") +@click.argument("app", envvar="COWABUNGA_APP") @click.option( "--host", type=str, @@ -32,7 +32,7 @@ @click.command() def cli(app: str, host: str, port: str, app_dir: str): sys.path.insert(0, app_dir) - """LeapfrogAI CLI""" + """CowabungaAI CLI""" app = import_app(app) asyncio.run(serve(app(), host, port)) diff --git a/src/leapfrogai_sdk/completion/__init__.py b/src/cowabunga_sdk/completion/__init__.py similarity index 100% rename from src/leapfrogai_sdk/completion/__init__.py rename to src/cowabunga_sdk/completion/__init__.py diff --git a/src/leapfrogai_sdk/completion/completion_pb2.py b/src/cowabunga_sdk/completion/completion_pb2.py similarity index 100% rename from src/leapfrogai_sdk/completion/completion_pb2.py rename to src/cowabunga_sdk/completion/completion_pb2.py diff --git a/src/leapfrogai_sdk/completion/completion_pb2.pyi b/src/cowabunga_sdk/completion/completion_pb2.pyi similarity index 100% rename from src/leapfrogai_sdk/completion/completion_pb2.pyi rename to src/cowabunga_sdk/completion/completion_pb2.pyi diff --git a/src/leapfrogai_sdk/completion/completion_pb2_grpc.py b/src/cowabunga_sdk/completion/completion_pb2_grpc.py similarity index 99% rename from src/leapfrogai_sdk/completion/completion_pb2_grpc.py rename to src/cowabunga_sdk/completion/completion_pb2_grpc.py index b698696a1..da26a4da2 100644 --- a/src/leapfrogai_sdk/completion/completion_pb2_grpc.py +++ b/src/cowabunga_sdk/completion/completion_pb2_grpc.py @@ -2,7 +2,7 @@ """Client and server classes corresponding to protobuf-defined services.""" import grpc -from leapfrogai_sdk.completion import ( +from cowabunga_sdk.completion import ( completion_pb2 as leapfrogai__sdk_dot_completion_dot_completion__pb2, ) diff --git a/src/leapfrogai_sdk/config.py b/src/cowabunga_sdk/config.py similarity index 94% rename from src/leapfrogai_sdk/config.py rename to src/cowabunga_sdk/config.py index 70b81bfcc..f251a3e3f 100644 --- a/src/leapfrogai_sdk/config.py +++ b/src/cowabunga_sdk/config.py @@ -4,7 +4,7 @@ from confz import BaseConfig, FileSource from google.protobuf.internal.containers import RepeatedCompositeFieldContainer -from leapfrogai_sdk import ChatItem, ChatRole +from cowabunga_sdk import ChatItem, ChatRole logger = logging.getLogger(__name__) @@ -44,7 +44,7 @@ class BackendConfig(BaseConfig): defaults: LLMDefaults = LLMDefaults() CONFIG_SOURCES = FileSource( - file=os.getenv("LEAPFROGAI_CONFIG_FILE", "config.yaml"), optional=True + file=os.getenv("COWABUNGA_CONFIG_FILE", "config.yaml"), optional=True ) def apply_chat_template( diff --git a/src/leapfrogai_sdk/counting/__init__.py b/src/cowabunga_sdk/counting/__init__.py similarity index 100% rename from src/leapfrogai_sdk/counting/__init__.py rename to src/cowabunga_sdk/counting/__init__.py diff --git a/src/leapfrogai_sdk/counting/counting_pb2.py b/src/cowabunga_sdk/counting/counting_pb2.py similarity index 100% rename from src/leapfrogai_sdk/counting/counting_pb2.py rename to src/cowabunga_sdk/counting/counting_pb2.py diff --git a/src/leapfrogai_sdk/counting/counting_pb2.pyi b/src/cowabunga_sdk/counting/counting_pb2.pyi similarity index 100% rename from src/leapfrogai_sdk/counting/counting_pb2.pyi rename to src/cowabunga_sdk/counting/counting_pb2.pyi diff --git a/src/leapfrogai_sdk/counting/counting_pb2_grpc.py b/src/cowabunga_sdk/counting/counting_pb2_grpc.py similarity index 98% rename from src/leapfrogai_sdk/counting/counting_pb2_grpc.py rename to src/cowabunga_sdk/counting/counting_pb2_grpc.py index 90223d823..471ceb0c6 100644 --- a/src/leapfrogai_sdk/counting/counting_pb2_grpc.py +++ b/src/cowabunga_sdk/counting/counting_pb2_grpc.py @@ -3,7 +3,7 @@ import grpc -from leapfrogai_sdk.counting import ( +from cowabunga_sdk.counting import ( counting_pb2 as leapfrogai__sdk_dot_counting_dot_counting__pb2, ) diff --git a/src/leapfrogai_sdk/embeddings/__init__.py b/src/cowabunga_sdk/embeddings/__init__.py similarity index 100% rename from src/leapfrogai_sdk/embeddings/__init__.py rename to src/cowabunga_sdk/embeddings/__init__.py diff --git a/src/leapfrogai_sdk/embeddings/embeddings_pb2.py b/src/cowabunga_sdk/embeddings/embeddings_pb2.py similarity index 100% rename from src/leapfrogai_sdk/embeddings/embeddings_pb2.py rename to src/cowabunga_sdk/embeddings/embeddings_pb2.py diff --git a/src/leapfrogai_sdk/embeddings/embeddings_pb2.pyi b/src/cowabunga_sdk/embeddings/embeddings_pb2.pyi similarity index 100% rename from src/leapfrogai_sdk/embeddings/embeddings_pb2.pyi rename to src/cowabunga_sdk/embeddings/embeddings_pb2.pyi diff --git a/src/leapfrogai_sdk/embeddings/embeddings_pb2_grpc.py b/src/cowabunga_sdk/embeddings/embeddings_pb2_grpc.py similarity index 98% rename from src/leapfrogai_sdk/embeddings/embeddings_pb2_grpc.py rename to src/cowabunga_sdk/embeddings/embeddings_pb2_grpc.py index 31d1e0551..c1b84b429 100644 --- a/src/leapfrogai_sdk/embeddings/embeddings_pb2_grpc.py +++ b/src/cowabunga_sdk/embeddings/embeddings_pb2_grpc.py @@ -3,7 +3,7 @@ import grpc -from leapfrogai_sdk.embeddings import ( +from cowabunga_sdk.embeddings import ( embeddings_pb2 as leapfrogai__sdk_dot_embeddings_dot_embeddings__pb2, ) diff --git a/src/leapfrogai_sdk/errors.py b/src/cowabunga_sdk/errors.py similarity index 100% rename from src/leapfrogai_sdk/errors.py rename to src/cowabunga_sdk/errors.py diff --git a/src/leapfrogai_sdk/llm.py b/src/cowabunga_sdk/llm.py similarity index 99% rename from src/leapfrogai_sdk/llm.py rename to src/cowabunga_sdk/llm.py index 5acdcc1af..7d9f635b7 100644 --- a/src/leapfrogai_sdk/llm.py +++ b/src/cowabunga_sdk/llm.py @@ -2,7 +2,7 @@ from pydantic import BaseModel -from leapfrogai_sdk import ( +from cowabunga_sdk import ( BackendConfig, ChatCompletionChoice, ChatCompletionRequest, @@ -17,7 +17,7 @@ TokenCountRequest, TokenCountResponse, ) -from leapfrogai_sdk.chat.chat_pb2 import Usage +from cowabunga_sdk.chat.chat_pb2 import Usage from enum import Enum diff --git a/src/leapfrogai_sdk/name/__init__.py b/src/cowabunga_sdk/name/__init__.py similarity index 100% rename from src/leapfrogai_sdk/name/__init__.py rename to src/cowabunga_sdk/name/__init__.py diff --git a/src/leapfrogai_sdk/name/name_pb2.py b/src/cowabunga_sdk/name/name_pb2.py similarity index 100% rename from src/leapfrogai_sdk/name/name_pb2.py rename to src/cowabunga_sdk/name/name_pb2.py diff --git a/src/leapfrogai_sdk/name/name_pb2.pyi b/src/cowabunga_sdk/name/name_pb2.pyi similarity index 100% rename from src/leapfrogai_sdk/name/name_pb2.pyi rename to src/cowabunga_sdk/name/name_pb2.pyi diff --git a/src/leapfrogai_sdk/name/name_pb2_grpc.py b/src/cowabunga_sdk/name/name_pb2_grpc.py similarity index 96% rename from src/leapfrogai_sdk/name/name_pb2_grpc.py rename to src/cowabunga_sdk/name/name_pb2_grpc.py index 6f37b750e..c5c655e7f 100644 --- a/src/leapfrogai_sdk/name/name_pb2_grpc.py +++ b/src/cowabunga_sdk/name/name_pb2_grpc.py @@ -4,7 +4,7 @@ import grpc from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 -from leapfrogai_sdk.name import name_pb2 as leapfrogai__sdk_dot_name_dot_name__pb2 +from cowabunga_sdk.name import name_pb2 as leapfrogai__sdk_dot_name_dot_name__pb2 class NameServiceStub(object): diff --git a/src/leapfrogai_sdk/proto/leapfrogai_sdk/audio/audio.proto b/src/cowabunga_sdk/proto/cowabunga_sdk/audio/audio.proto similarity index 100% rename from src/leapfrogai_sdk/proto/leapfrogai_sdk/audio/audio.proto rename to src/cowabunga_sdk/proto/cowabunga_sdk/audio/audio.proto diff --git a/src/leapfrogai_sdk/proto/leapfrogai_sdk/chat/chat.proto b/src/cowabunga_sdk/proto/cowabunga_sdk/chat/chat.proto similarity index 100% rename from src/leapfrogai_sdk/proto/leapfrogai_sdk/chat/chat.proto rename to src/cowabunga_sdk/proto/cowabunga_sdk/chat/chat.proto diff --git a/src/leapfrogai_sdk/proto/leapfrogai_sdk/completion/completion.proto b/src/cowabunga_sdk/proto/cowabunga_sdk/completion/completion.proto similarity index 100% rename from src/leapfrogai_sdk/proto/leapfrogai_sdk/completion/completion.proto rename to src/cowabunga_sdk/proto/cowabunga_sdk/completion/completion.proto diff --git a/src/leapfrogai_sdk/proto/leapfrogai_sdk/counting/counting.proto b/src/cowabunga_sdk/proto/cowabunga_sdk/counting/counting.proto similarity index 100% rename from src/leapfrogai_sdk/proto/leapfrogai_sdk/counting/counting.proto rename to src/cowabunga_sdk/proto/cowabunga_sdk/counting/counting.proto diff --git a/src/leapfrogai_sdk/proto/leapfrogai_sdk/embeddings/embeddings.proto b/src/cowabunga_sdk/proto/cowabunga_sdk/embeddings/embeddings.proto similarity index 100% rename from src/leapfrogai_sdk/proto/leapfrogai_sdk/embeddings/embeddings.proto rename to src/cowabunga_sdk/proto/cowabunga_sdk/embeddings/embeddings.proto diff --git a/src/leapfrogai_sdk/proto/leapfrogai_sdk/name/name.proto b/src/cowabunga_sdk/proto/cowabunga_sdk/name/name.proto similarity index 100% rename from src/leapfrogai_sdk/proto/leapfrogai_sdk/name/name.proto rename to src/cowabunga_sdk/proto/cowabunga_sdk/name/name.proto diff --git a/src/leapfrogai_sdk/pyproject.toml b/src/cowabunga_sdk/pyproject.toml similarity index 87% rename from src/leapfrogai_sdk/pyproject.toml rename to src/cowabunga_sdk/pyproject.toml index f68d6b4df..eae6a6634 100644 --- a/src/leapfrogai_sdk/pyproject.toml +++ b/src/cowabunga_sdk/pyproject.toml @@ -1,5 +1,5 @@ [project] -name = "leapfrogai-sdk" +name = "cowabunga-sdk" description = "A tool for building gRPC-based model backends for LeapfrogAI" # x-release-please-start-version @@ -19,15 +19,15 @@ dependencies = [ requires-python = "~=3.11" [project.scripts] -lfai-cli = "leapfrogai_sdk.cli:cli" +lfai-cli = "cowabunga_sdk.cli:cli" [tool.pip-tools] generate-hashes = true [tool.setuptools.packages.find] where = ["../"] -include = ["leapfrogai_sdk*"] -exclude = ["leapfrogai_sdk/proto"] +include = ["cowabunga_sdk*"] +exclude = ["cowabunga_sdk/proto"] namespaces = false [tool.pytest.ini_options] diff --git a/src/leapfrogai_sdk/serve.py b/src/cowabunga_sdk/serve.py similarity index 91% rename from src/leapfrogai_sdk/serve.py rename to src/cowabunga_sdk/serve.py index f85118fa4..ef7cbf8d3 100644 --- a/src/leapfrogai_sdk/serve.py +++ b/src/cowabunga_sdk/serve.py @@ -6,12 +6,12 @@ from grpc_health.v1 import health, health_pb2, health_pb2_grpc from grpc_reflection.v1alpha import reflection -from leapfrogai_sdk.audio import audio_pb2_grpc -from leapfrogai_sdk.chat import chat_pb2_grpc -from leapfrogai_sdk.completion import completion_pb2_grpc -from leapfrogai_sdk.counting import counting_pb2_grpc -from leapfrogai_sdk.embeddings import embeddings_pb2_grpc -from leapfrogai_sdk.name import name_pb2_grpc +from cowabunga_sdk.audio import audio_pb2_grpc +from cowabunga_sdk.chat import chat_pb2_grpc +from cowabunga_sdk.completion import completion_pb2_grpc +from cowabunga_sdk.counting import counting_pb2_grpc +from cowabunga_sdk.embeddings import embeddings_pb2_grpc +from cowabunga_sdk.name import name_pb2_grpc async def serve(o, host="0.0.0.0", port=50051): diff --git a/src/leapfrogai_sdk/utils.py b/src/cowabunga_sdk/utils.py similarity index 98% rename from src/leapfrogai_sdk/utils.py rename to src/cowabunga_sdk/utils.py index 153fe6469..c0be2d7d4 100644 --- a/src/leapfrogai_sdk/utils.py +++ b/src/cowabunga_sdk/utils.py @@ -7,7 +7,7 @@ import sys import traceback -from leapfrogai_sdk.errors import AppImportError +from cowabunga_sdk.errors import AppImportError def import_app(module): diff --git a/src/leapfrogai_ui/.dockerignore b/src/cowabunga_ui/.dockerignore similarity index 100% rename from src/leapfrogai_ui/.dockerignore rename to src/cowabunga_ui/.dockerignore diff --git a/src/leapfrogai_ui/.env.example b/src/cowabunga_ui/.env.example similarity index 100% rename from src/leapfrogai_ui/.env.example rename to src/cowabunga_ui/.env.example diff --git a/src/leapfrogai_ui/.eslintignore b/src/cowabunga_ui/.eslintignore similarity index 100% rename from src/leapfrogai_ui/.eslintignore rename to src/cowabunga_ui/.eslintignore diff --git a/src/leapfrogai_ui/.eslintrc.cjs b/src/cowabunga_ui/.eslintrc.cjs similarity index 100% rename from src/leapfrogai_ui/.eslintrc.cjs rename to src/cowabunga_ui/.eslintrc.cjs diff --git a/src/leapfrogai_ui/.gitignore b/src/cowabunga_ui/.gitignore similarity index 100% rename from src/leapfrogai_ui/.gitignore rename to src/cowabunga_ui/.gitignore diff --git a/src/leapfrogai_ui/.npmrc b/src/cowabunga_ui/.npmrc similarity index 100% rename from src/leapfrogai_ui/.npmrc rename to src/cowabunga_ui/.npmrc diff --git a/src/leapfrogai_ui/.prettierignore b/src/cowabunga_ui/.prettierignore similarity index 100% rename from src/leapfrogai_ui/.prettierignore rename to src/cowabunga_ui/.prettierignore diff --git a/src/leapfrogai_ui/.prettierrc b/src/cowabunga_ui/.prettierrc similarity index 100% rename from src/leapfrogai_ui/.prettierrc rename to src/cowabunga_ui/.prettierrc diff --git a/src/leapfrogai_ui/Dockerfile b/src/cowabunga_ui/Dockerfile similarity index 100% rename from src/leapfrogai_ui/Dockerfile rename to src/cowabunga_ui/Dockerfile diff --git a/src/leapfrogai_ui/README.md b/src/cowabunga_ui/README.md similarity index 100% rename from src/leapfrogai_ui/README.md rename to src/cowabunga_ui/README.md diff --git a/src/leapfrogai_ui/commitlint.config.js b/src/cowabunga_ui/commitlint.config.js similarity index 100% rename from src/leapfrogai_ui/commitlint.config.js rename to src/cowabunga_ui/commitlint.config.js diff --git a/src/leapfrogai_ui/package-lock.json b/src/cowabunga_ui/package-lock.json similarity index 100% rename from src/leapfrogai_ui/package-lock.json rename to src/cowabunga_ui/package-lock.json diff --git a/src/leapfrogai_ui/package.json b/src/cowabunga_ui/package.json similarity index 100% rename from src/leapfrogai_ui/package.json rename to src/cowabunga_ui/package.json diff --git a/src/leapfrogai_ui/playwright.config.ts b/src/cowabunga_ui/playwright.config.ts similarity index 100% rename from src/leapfrogai_ui/playwright.config.ts rename to src/cowabunga_ui/playwright.config.ts diff --git a/src/leapfrogai_ui/postcss.config.js b/src/cowabunga_ui/postcss.config.js similarity index 100% rename from src/leapfrogai_ui/postcss.config.js rename to src/cowabunga_ui/postcss.config.js diff --git a/src/leapfrogai_ui/src/app.css b/src/cowabunga_ui/src/app.css similarity index 100% rename from src/leapfrogai_ui/src/app.css rename to src/cowabunga_ui/src/app.css diff --git a/src/leapfrogai_ui/src/app.d.ts b/src/cowabunga_ui/src/app.d.ts similarity index 100% rename from src/leapfrogai_ui/src/app.d.ts rename to src/cowabunga_ui/src/app.d.ts diff --git a/src/leapfrogai_ui/src/app.html b/src/cowabunga_ui/src/app.html similarity index 100% rename from src/leapfrogai_ui/src/app.html rename to src/cowabunga_ui/src/app.html diff --git a/src/leapfrogai_ui/src/hooks.server.ts b/src/cowabunga_ui/src/hooks.server.ts similarity index 100% rename from src/leapfrogai_ui/src/hooks.server.ts rename to src/cowabunga_ui/src/hooks.server.ts diff --git a/src/leapfrogai_ui/src/lib/assets/DefenseUnicorns.png b/src/cowabunga_ui/src/lib/assets/DefenseUnicorns.png similarity index 100% rename from src/leapfrogai_ui/src/lib/assets/DefenseUnicorns.png rename to src/cowabunga_ui/src/lib/assets/DefenseUnicorns.png diff --git a/src/leapfrogai_ui/src/lib/assets/Doug.png b/src/cowabunga_ui/src/lib/assets/Doug.png similarity index 100% rename from src/leapfrogai_ui/src/lib/assets/Doug.png rename to src/cowabunga_ui/src/lib/assets/Doug.png diff --git a/src/leapfrogai_ui/src/lib/assets/LeapfrogAI.png b/src/cowabunga_ui/src/lib/assets/LeapfrogAI.png similarity index 100% rename from src/leapfrogai_ui/src/lib/assets/LeapfrogAI.png rename to src/cowabunga_ui/src/lib/assets/LeapfrogAI.png diff --git a/src/leapfrogai_ui/src/lib/assets/frog.png b/src/cowabunga_ui/src/lib/assets/frog.png similarity index 100% rename from src/leapfrogai_ui/src/lib/assets/frog.png rename to src/cowabunga_ui/src/lib/assets/frog.png diff --git a/src/leapfrogai_ui/src/lib/components/AssistantAvatar.svelte b/src/cowabunga_ui/src/lib/components/AssistantAvatar.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/AssistantAvatar.svelte rename to src/cowabunga_ui/src/lib/components/AssistantAvatar.svelte diff --git a/src/leapfrogai_ui/src/lib/components/AssistantCard.svelte b/src/cowabunga_ui/src/lib/components/AssistantCard.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/AssistantCard.svelte rename to src/cowabunga_ui/src/lib/components/AssistantCard.svelte diff --git a/src/leapfrogai_ui/src/lib/components/AssistantFileDropdown.svelte b/src/cowabunga_ui/src/lib/components/AssistantFileDropdown.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/AssistantFileDropdown.svelte rename to src/cowabunga_ui/src/lib/components/AssistantFileDropdown.svelte diff --git a/src/leapfrogai_ui/src/lib/components/AssistantFileSelect.svelte b/src/cowabunga_ui/src/lib/components/AssistantFileSelect.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/AssistantFileSelect.svelte rename to src/cowabunga_ui/src/lib/components/AssistantFileSelect.svelte diff --git a/src/leapfrogai_ui/src/lib/components/AssistantFileSelect.test.ts b/src/cowabunga_ui/src/lib/components/AssistantFileSelect.test.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/components/AssistantFileSelect.test.ts rename to src/cowabunga_ui/src/lib/components/AssistantFileSelect.test.ts diff --git a/src/leapfrogai_ui/src/lib/components/AssistantForm.svelte b/src/cowabunga_ui/src/lib/components/AssistantForm.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/AssistantForm.svelte rename to src/cowabunga_ui/src/lib/components/AssistantForm.svelte diff --git a/src/leapfrogai_ui/src/lib/components/AssistantProgressToast.svelte b/src/cowabunga_ui/src/lib/components/AssistantProgressToast.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/AssistantProgressToast.svelte rename to src/cowabunga_ui/src/lib/components/AssistantProgressToast.svelte diff --git a/src/leapfrogai_ui/src/lib/components/AssistantProgressToast.test.ts b/src/cowabunga_ui/src/lib/components/AssistantProgressToast.test.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/components/AssistantProgressToast.test.ts rename to src/cowabunga_ui/src/lib/components/AssistantProgressToast.test.ts diff --git a/src/leapfrogai_ui/src/lib/components/AssistantProgressToastContent.svelte b/src/cowabunga_ui/src/lib/components/AssistantProgressToastContent.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/AssistantProgressToastContent.svelte rename to src/cowabunga_ui/src/lib/components/AssistantProgressToastContent.svelte diff --git a/src/leapfrogai_ui/src/lib/components/ChatFileUpload.svelte b/src/cowabunga_ui/src/lib/components/ChatFileUpload.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/ChatFileUpload.svelte rename to src/cowabunga_ui/src/lib/components/ChatFileUpload.svelte diff --git a/src/leapfrogai_ui/src/lib/components/Citation.svelte b/src/cowabunga_ui/src/lib/components/Citation.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/Citation.svelte rename to src/cowabunga_ui/src/lib/components/Citation.svelte diff --git a/src/leapfrogai_ui/src/lib/components/Citation.test.ts b/src/cowabunga_ui/src/lib/components/Citation.test.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/components/Citation.test.ts rename to src/cowabunga_ui/src/lib/components/Citation.test.ts diff --git a/src/leapfrogai_ui/src/lib/components/CopyToClipboardBtn.svelte b/src/cowabunga_ui/src/lib/components/CopyToClipboardBtn.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/CopyToClipboardBtn.svelte rename to src/cowabunga_ui/src/lib/components/CopyToClipboardBtn.svelte diff --git a/src/leapfrogai_ui/src/lib/components/DynamicPictogram.svelte b/src/cowabunga_ui/src/lib/components/DynamicPictogram.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/DynamicPictogram.svelte rename to src/cowabunga_ui/src/lib/components/DynamicPictogram.svelte diff --git a/src/leapfrogai_ui/src/lib/components/FileChatActions.svelte b/src/cowabunga_ui/src/lib/components/FileChatActions.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/FileChatActions.svelte rename to src/cowabunga_ui/src/lib/components/FileChatActions.svelte diff --git a/src/leapfrogai_ui/src/lib/components/FileChatActions.test.ts b/src/cowabunga_ui/src/lib/components/FileChatActions.test.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/components/FileChatActions.test.ts rename to src/cowabunga_ui/src/lib/components/FileChatActions.test.ts diff --git a/src/leapfrogai_ui/src/lib/components/FileProcessingPlaceholder.svelte b/src/cowabunga_ui/src/lib/components/FileProcessingPlaceholder.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/FileProcessingPlaceholder.svelte rename to src/cowabunga_ui/src/lib/components/FileProcessingPlaceholder.svelte diff --git a/src/leapfrogai_ui/src/lib/components/FileUploaderItem.svelte b/src/cowabunga_ui/src/lib/components/FileUploaderItem.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/FileUploaderItem.svelte rename to src/cowabunga_ui/src/lib/components/FileUploaderItem.svelte diff --git a/src/leapfrogai_ui/src/lib/components/Filename.svelte b/src/cowabunga_ui/src/lib/components/Filename.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/Filename.svelte rename to src/cowabunga_ui/src/lib/components/Filename.svelte diff --git a/src/leapfrogai_ui/src/lib/components/HeaderButton.svelte b/src/cowabunga_ui/src/lib/components/HeaderButton.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/HeaderButton.svelte rename to src/cowabunga_ui/src/lib/components/HeaderButton.svelte diff --git a/src/leapfrogai_ui/src/lib/components/IconButton.svelte b/src/cowabunga_ui/src/lib/components/IconButton.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/IconButton.svelte rename to src/cowabunga_ui/src/lib/components/IconButton.svelte diff --git a/src/leapfrogai_ui/src/lib/components/ImportExport.svelte b/src/cowabunga_ui/src/lib/components/ImportExport.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/ImportExport.svelte rename to src/cowabunga_ui/src/lib/components/ImportExport.svelte diff --git a/src/leapfrogai_ui/src/lib/components/ImportExport.test.ts b/src/cowabunga_ui/src/lib/components/ImportExport.test.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/components/ImportExport.test.ts rename to src/cowabunga_ui/src/lib/components/ImportExport.test.ts diff --git a/src/leapfrogai_ui/src/lib/components/InfoTooltip.svelte b/src/cowabunga_ui/src/lib/components/InfoTooltip.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/InfoTooltip.svelte rename to src/cowabunga_ui/src/lib/components/InfoTooltip.svelte diff --git a/src/leapfrogai_ui/src/lib/components/LFCarousel.svelte b/src/cowabunga_ui/src/lib/components/LFCarousel.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/LFCarousel.svelte rename to src/cowabunga_ui/src/lib/components/LFCarousel.svelte diff --git a/src/leapfrogai_ui/src/lib/components/LFCarousel.test.ts b/src/cowabunga_ui/src/lib/components/LFCarousel.test.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/components/LFCarousel.test.ts rename to src/cowabunga_ui/src/lib/components/LFCarousel.test.ts diff --git a/src/leapfrogai_ui/src/lib/components/LFCarouselWithSlot.test.svelte b/src/cowabunga_ui/src/lib/components/LFCarouselWithSlot.test.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/LFCarouselWithSlot.test.svelte rename to src/cowabunga_ui/src/lib/components/LFCarouselWithSlot.test.svelte diff --git a/src/leapfrogai_ui/src/lib/components/LFContent.svelte b/src/cowabunga_ui/src/lib/components/LFContent.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/LFContent.svelte rename to src/cowabunga_ui/src/lib/components/LFContent.svelte diff --git a/src/leapfrogai_ui/src/lib/components/LFControlButton.svelte b/src/cowabunga_ui/src/lib/components/LFControlButton.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/LFControlButton.svelte rename to src/cowabunga_ui/src/lib/components/LFControlButton.svelte diff --git a/src/leapfrogai_ui/src/lib/components/LFDrawer.svelte b/src/cowabunga_ui/src/lib/components/LFDrawer.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/LFDrawer.svelte rename to src/cowabunga_ui/src/lib/components/LFDrawer.svelte diff --git a/src/leapfrogai_ui/src/lib/components/LFFileUploadBtn.svelte b/src/cowabunga_ui/src/lib/components/LFFileUploadBtn.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/LFFileUploadBtn.svelte rename to src/cowabunga_ui/src/lib/components/LFFileUploadBtn.svelte diff --git a/src/leapfrogai_ui/src/lib/components/LFHeader.svelte b/src/cowabunga_ui/src/lib/components/LFHeader.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/LFHeader.svelte rename to src/cowabunga_ui/src/lib/components/LFHeader.svelte diff --git a/src/leapfrogai_ui/src/lib/components/LFHeader.test.ts b/src/cowabunga_ui/src/lib/components/LFHeader.test.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/components/LFHeader.test.ts rename to src/cowabunga_ui/src/lib/components/LFHeader.test.ts diff --git a/src/leapfrogai_ui/src/lib/components/LFInput.svelte b/src/cowabunga_ui/src/lib/components/LFInput.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/LFInput.svelte rename to src/cowabunga_ui/src/lib/components/LFInput.svelte diff --git a/src/leapfrogai_ui/src/lib/components/LFLabel.svelte b/src/cowabunga_ui/src/lib/components/LFLabel.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/LFLabel.svelte rename to src/cowabunga_ui/src/lib/components/LFLabel.svelte diff --git a/src/leapfrogai_ui/src/lib/components/LFRadio.svelte b/src/cowabunga_ui/src/lib/components/LFRadio.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/LFRadio.svelte rename to src/cowabunga_ui/src/lib/components/LFRadio.svelte diff --git a/src/leapfrogai_ui/src/lib/components/LFSidebar.svelte b/src/cowabunga_ui/src/lib/components/LFSidebar.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/LFSidebar.svelte rename to src/cowabunga_ui/src/lib/components/LFSidebar.svelte diff --git a/src/leapfrogai_ui/src/lib/components/LFSidebarDropdownItem.svelte b/src/cowabunga_ui/src/lib/components/LFSidebarDropdownItem.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/LFSidebarDropdownItem.svelte rename to src/cowabunga_ui/src/lib/components/LFSidebarDropdownItem.svelte diff --git a/src/leapfrogai_ui/src/lib/components/LFTextArea.svelte b/src/cowabunga_ui/src/lib/components/LFTextArea.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/LFTextArea.svelte rename to src/cowabunga_ui/src/lib/components/LFTextArea.svelte diff --git a/src/leapfrogai_ui/src/lib/components/LFTextArea.test.ts b/src/cowabunga_ui/src/lib/components/LFTextArea.test.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/components/LFTextArea.test.ts rename to src/cowabunga_ui/src/lib/components/LFTextArea.test.ts diff --git a/src/leapfrogai_ui/src/lib/components/LFToast.svelte b/src/cowabunga_ui/src/lib/components/LFToast.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/LFToast.svelte rename to src/cowabunga_ui/src/lib/components/LFToast.svelte diff --git a/src/leapfrogai_ui/src/lib/components/LayoutWithBreadcrumb.svelte b/src/cowabunga_ui/src/lib/components/LayoutWithBreadcrumb.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/LayoutWithBreadcrumb.svelte rename to src/cowabunga_ui/src/lib/components/LayoutWithBreadcrumb.svelte diff --git a/src/leapfrogai_ui/src/lib/components/Message.svelte b/src/cowabunga_ui/src/lib/components/Message.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/Message.svelte rename to src/cowabunga_ui/src/lib/components/Message.svelte diff --git a/src/leapfrogai_ui/src/lib/components/Message.test.ts b/src/cowabunga_ui/src/lib/components/Message.test.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/components/Message.test.ts rename to src/cowabunga_ui/src/lib/components/Message.test.ts diff --git a/src/leapfrogai_ui/src/lib/components/MessagePendingSkeleton.svelte b/src/cowabunga_ui/src/lib/components/MessagePendingSkeleton.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/MessagePendingSkeleton.svelte rename to src/cowabunga_ui/src/lib/components/MessagePendingSkeleton.svelte diff --git a/src/leapfrogai_ui/src/lib/components/MessageWithToast.test.svelte b/src/cowabunga_ui/src/lib/components/MessageWithToast.test.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/MessageWithToast.test.svelte rename to src/cowabunga_ui/src/lib/components/MessageWithToast.test.svelte diff --git a/src/leapfrogai_ui/src/lib/components/Pictograms.svelte b/src/cowabunga_ui/src/lib/components/Pictograms.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/Pictograms.svelte rename to src/cowabunga_ui/src/lib/components/Pictograms.svelte diff --git a/src/leapfrogai_ui/src/lib/components/PoweredByDU.svelte b/src/cowabunga_ui/src/lib/components/PoweredByDU.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/PoweredByDU.svelte rename to src/cowabunga_ui/src/lib/components/PoweredByDU.svelte diff --git a/src/leapfrogai_ui/src/lib/components/Range.svelte b/src/cowabunga_ui/src/lib/components/Range.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/Range.svelte rename to src/cowabunga_ui/src/lib/components/Range.svelte diff --git a/src/leapfrogai_ui/src/lib/components/Section.svelte b/src/cowabunga_ui/src/lib/components/Section.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/Section.svelte rename to src/cowabunga_ui/src/lib/components/Section.svelte diff --git a/src/leapfrogai_ui/src/lib/components/SelectAssistantDropdown.svelte b/src/cowabunga_ui/src/lib/components/SelectAssistantDropdown.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/SelectAssistantDropdown.svelte rename to src/cowabunga_ui/src/lib/components/SelectAssistantDropdown.svelte diff --git a/src/leapfrogai_ui/src/lib/components/Sidebar.test.ts b/src/cowabunga_ui/src/lib/components/Sidebar.test.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/components/Sidebar.test.ts rename to src/cowabunga_ui/src/lib/components/Sidebar.test.ts diff --git a/src/leapfrogai_ui/src/lib/components/SidebarWrapper.svelte b/src/cowabunga_ui/src/lib/components/SidebarWrapper.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/SidebarWrapper.svelte rename to src/cowabunga_ui/src/lib/components/SidebarWrapper.svelte diff --git a/src/leapfrogai_ui/src/lib/components/Slider.svelte b/src/cowabunga_ui/src/lib/components/Slider.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/Slider.svelte rename to src/cowabunga_ui/src/lib/components/Slider.svelte diff --git a/src/leapfrogai_ui/src/lib/components/Toasts.svelte b/src/cowabunga_ui/src/lib/components/Toasts.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/Toasts.svelte rename to src/cowabunga_ui/src/lib/components/Toasts.svelte diff --git a/src/leapfrogai_ui/src/lib/components/UploadedFileCard.svelte b/src/cowabunga_ui/src/lib/components/UploadedFileCard.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/UploadedFileCard.svelte rename to src/cowabunga_ui/src/lib/components/UploadedFileCard.svelte diff --git a/src/leapfrogai_ui/src/lib/components/UploadedFileCards.svelte b/src/cowabunga_ui/src/lib/components/UploadedFileCards.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/UploadedFileCards.svelte rename to src/cowabunga_ui/src/lib/components/UploadedFileCards.svelte diff --git a/src/leapfrogai_ui/src/lib/components/index.ts b/src/cowabunga_ui/src/lib/components/index.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/components/index.ts rename to src/cowabunga_ui/src/lib/components/index.ts diff --git a/src/leapfrogai_ui/src/lib/components/modals/ConfirmFilesDeleteModal.svelte b/src/cowabunga_ui/src/lib/components/modals/ConfirmFilesDeleteModal.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/modals/ConfirmFilesDeleteModal.svelte rename to src/cowabunga_ui/src/lib/components/modals/ConfirmFilesDeleteModal.svelte diff --git a/src/leapfrogai_ui/src/lib/components/modals/CopyApiKeyModal.svelte b/src/cowabunga_ui/src/lib/components/modals/CopyApiKeyModal.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/modals/CopyApiKeyModal.svelte rename to src/cowabunga_ui/src/lib/components/modals/CopyApiKeyModal.svelte diff --git a/src/leapfrogai_ui/src/lib/components/modals/CreateApiKeyModal.svelte b/src/cowabunga_ui/src/lib/components/modals/CreateApiKeyModal.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/modals/CreateApiKeyModal.svelte rename to src/cowabunga_ui/src/lib/components/modals/CreateApiKeyModal.svelte diff --git a/src/leapfrogai_ui/src/lib/components/modals/CreateApiKeyModal.test.ts b/src/cowabunga_ui/src/lib/components/modals/CreateApiKeyModal.test.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/components/modals/CreateApiKeyModal.test.ts rename to src/cowabunga_ui/src/lib/components/modals/CreateApiKeyModal.test.ts diff --git a/src/leapfrogai_ui/src/lib/components/modals/DeleteApiKeyModal.svelte b/src/cowabunga_ui/src/lib/components/modals/DeleteApiKeyModal.svelte similarity index 100% rename from src/leapfrogai_ui/src/lib/components/modals/DeleteApiKeyModal.svelte rename to src/cowabunga_ui/src/lib/components/modals/DeleteApiKeyModal.svelte diff --git a/src/leapfrogai_ui/src/lib/constants/errors.ts b/src/cowabunga_ui/src/lib/constants/errors.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/constants/errors.ts rename to src/cowabunga_ui/src/lib/constants/errors.ts diff --git a/src/leapfrogai_ui/src/lib/constants/iconMap.ts b/src/cowabunga_ui/src/lib/constants/iconMap.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/constants/iconMap.ts rename to src/cowabunga_ui/src/lib/constants/iconMap.ts diff --git a/src/leapfrogai_ui/src/lib/constants/index.ts b/src/cowabunga_ui/src/lib/constants/index.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/constants/index.ts rename to src/cowabunga_ui/src/lib/constants/index.ts diff --git a/src/leapfrogai_ui/src/lib/constants/toastMessages.ts b/src/cowabunga_ui/src/lib/constants/toastMessages.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/constants/toastMessages.ts rename to src/cowabunga_ui/src/lib/constants/toastMessages.ts diff --git a/src/leapfrogai_ui/src/lib/helpers/apiHelpers.ts b/src/cowabunga_ui/src/lib/helpers/apiHelpers.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/helpers/apiHelpers.ts rename to src/cowabunga_ui/src/lib/helpers/apiHelpers.ts diff --git a/src/leapfrogai_ui/src/lib/helpers/apiKeyHelpers.ts b/src/cowabunga_ui/src/lib/helpers/apiKeyHelpers.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/helpers/apiKeyHelpers.ts rename to src/cowabunga_ui/src/lib/helpers/apiKeyHelpers.ts diff --git a/src/leapfrogai_ui/src/lib/helpers/assistants.ts b/src/cowabunga_ui/src/lib/helpers/assistants.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/helpers/assistants.ts rename to src/cowabunga_ui/src/lib/helpers/assistants.ts diff --git a/src/leapfrogai_ui/src/lib/helpers/chatHelpers.test.ts b/src/cowabunga_ui/src/lib/helpers/chatHelpers.test.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/helpers/chatHelpers.test.ts rename to src/cowabunga_ui/src/lib/helpers/chatHelpers.test.ts diff --git a/src/leapfrogai_ui/src/lib/helpers/chatHelpers.ts b/src/cowabunga_ui/src/lib/helpers/chatHelpers.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/helpers/chatHelpers.ts rename to src/cowabunga_ui/src/lib/helpers/chatHelpers.ts diff --git a/src/leapfrogai_ui/src/lib/helpers/dates.test.ts b/src/cowabunga_ui/src/lib/helpers/dates.test.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/helpers/dates.test.ts rename to src/cowabunga_ui/src/lib/helpers/dates.test.ts diff --git a/src/leapfrogai_ui/src/lib/helpers/dates.ts b/src/cowabunga_ui/src/lib/helpers/dates.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/helpers/dates.ts rename to src/cowabunga_ui/src/lib/helpers/dates.ts diff --git a/src/leapfrogai_ui/src/lib/helpers/fileHelpers.test.ts b/src/cowabunga_ui/src/lib/helpers/fileHelpers.test.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/helpers/fileHelpers.test.ts rename to src/cowabunga_ui/src/lib/helpers/fileHelpers.test.ts diff --git a/src/leapfrogai_ui/src/lib/helpers/fileHelpers.ts b/src/cowabunga_ui/src/lib/helpers/fileHelpers.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/helpers/fileHelpers.ts rename to src/cowabunga_ui/src/lib/helpers/fileHelpers.ts diff --git a/src/leapfrogai_ui/src/lib/helpers/index.ts b/src/cowabunga_ui/src/lib/helpers/index.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/helpers/index.ts rename to src/cowabunga_ui/src/lib/helpers/index.ts diff --git a/src/leapfrogai_ui/src/lib/helpers/stringHelpers.test.ts b/src/cowabunga_ui/src/lib/helpers/stringHelpers.test.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/helpers/stringHelpers.test.ts rename to src/cowabunga_ui/src/lib/helpers/stringHelpers.test.ts diff --git a/src/leapfrogai_ui/src/lib/helpers/stringHelpers.ts b/src/cowabunga_ui/src/lib/helpers/stringHelpers.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/helpers/stringHelpers.ts rename to src/cowabunga_ui/src/lib/helpers/stringHelpers.ts diff --git a/src/leapfrogai_ui/src/lib/helpers/threads.ts b/src/cowabunga_ui/src/lib/helpers/threads.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/helpers/threads.ts rename to src/cowabunga_ui/src/lib/helpers/threads.ts diff --git a/src/leapfrogai_ui/src/lib/helpers/toastHelpers.ts b/src/cowabunga_ui/src/lib/helpers/toastHelpers.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/helpers/toastHelpers.ts rename to src/cowabunga_ui/src/lib/helpers/toastHelpers.ts diff --git a/src/leapfrogai_ui/src/lib/mocks/api-key-mocks.ts b/src/cowabunga_ui/src/lib/mocks/api-key-mocks.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/mocks/api-key-mocks.ts rename to src/cowabunga_ui/src/lib/mocks/api-key-mocks.ts diff --git a/src/leapfrogai_ui/src/lib/mocks/chat-mocks.ts b/src/cowabunga_ui/src/lib/mocks/chat-mocks.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/mocks/chat-mocks.ts rename to src/cowabunga_ui/src/lib/mocks/chat-mocks.ts diff --git a/src/leapfrogai_ui/src/lib/mocks/file-mocks.ts b/src/cowabunga_ui/src/lib/mocks/file-mocks.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/mocks/file-mocks.ts rename to src/cowabunga_ui/src/lib/mocks/file-mocks.ts diff --git a/src/leapfrogai_ui/src/lib/mocks/misc.ts b/src/cowabunga_ui/src/lib/mocks/misc.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/mocks/misc.ts rename to src/cowabunga_ui/src/lib/mocks/misc.ts diff --git a/src/leapfrogai_ui/src/lib/mocks/openai.ts b/src/cowabunga_ui/src/lib/mocks/openai.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/mocks/openai.ts rename to src/cowabunga_ui/src/lib/mocks/openai.ts diff --git a/src/leapfrogai_ui/src/lib/mocks/supabase-mocks.ts b/src/cowabunga_ui/src/lib/mocks/supabase-mocks.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/mocks/supabase-mocks.ts rename to src/cowabunga_ui/src/lib/mocks/supabase-mocks.ts diff --git a/src/leapfrogai_ui/src/lib/mocks/svelte.ts b/src/cowabunga_ui/src/lib/mocks/svelte.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/mocks/svelte.ts rename to src/cowabunga_ui/src/lib/mocks/svelte.ts diff --git a/src/leapfrogai_ui/src/lib/schemas/apiKey.ts b/src/cowabunga_ui/src/lib/schemas/apiKey.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/schemas/apiKey.ts rename to src/cowabunga_ui/src/lib/schemas/apiKey.ts diff --git a/src/leapfrogai_ui/src/lib/schemas/assistants.test.ts b/src/cowabunga_ui/src/lib/schemas/assistants.test.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/schemas/assistants.test.ts rename to src/cowabunga_ui/src/lib/schemas/assistants.test.ts diff --git a/src/leapfrogai_ui/src/lib/schemas/assistants.ts b/src/cowabunga_ui/src/lib/schemas/assistants.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/schemas/assistants.ts rename to src/cowabunga_ui/src/lib/schemas/assistants.ts diff --git a/src/leapfrogai_ui/src/lib/schemas/auth.ts b/src/cowabunga_ui/src/lib/schemas/auth.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/schemas/auth.ts rename to src/cowabunga_ui/src/lib/schemas/auth.ts diff --git a/src/leapfrogai_ui/src/lib/schemas/chat.ts b/src/cowabunga_ui/src/lib/schemas/chat.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/schemas/chat.ts rename to src/cowabunga_ui/src/lib/schemas/chat.ts diff --git a/src/leapfrogai_ui/src/lib/schemas/files.ts b/src/cowabunga_ui/src/lib/schemas/files.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/schemas/files.ts rename to src/cowabunga_ui/src/lib/schemas/files.ts diff --git a/src/leapfrogai_ui/src/lib/schemas/messageSchema.test.ts b/src/cowabunga_ui/src/lib/schemas/messageSchema.test.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/schemas/messageSchema.test.ts rename to src/cowabunga_ui/src/lib/schemas/messageSchema.test.ts diff --git a/src/leapfrogai_ui/src/lib/schemas/messageSchema.ts b/src/cowabunga_ui/src/lib/schemas/messageSchema.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/schemas/messageSchema.ts rename to src/cowabunga_ui/src/lib/schemas/messageSchema.ts diff --git a/src/leapfrogai_ui/src/lib/schemas/threadSchema.test.ts b/src/cowabunga_ui/src/lib/schemas/threadSchema.test.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/schemas/threadSchema.test.ts rename to src/cowabunga_ui/src/lib/schemas/threadSchema.test.ts diff --git a/src/leapfrogai_ui/src/lib/schemas/threadSchema.ts b/src/cowabunga_ui/src/lib/schemas/threadSchema.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/schemas/threadSchema.ts rename to src/cowabunga_ui/src/lib/schemas/threadSchema.ts diff --git a/src/leapfrogai_ui/src/lib/server/constants.ts b/src/cowabunga_ui/src/lib/server/constants.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/server/constants.ts rename to src/cowabunga_ui/src/lib/server/constants.ts diff --git a/src/leapfrogai_ui/src/lib/stores/assistantsStore.ts b/src/cowabunga_ui/src/lib/stores/assistantsStore.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/stores/assistantsStore.ts rename to src/cowabunga_ui/src/lib/stores/assistantsStore.ts diff --git a/src/leapfrogai_ui/src/lib/stores/filesStore.ts b/src/cowabunga_ui/src/lib/stores/filesStore.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/stores/filesStore.ts rename to src/cowabunga_ui/src/lib/stores/filesStore.ts diff --git a/src/leapfrogai_ui/src/lib/stores/index.ts b/src/cowabunga_ui/src/lib/stores/index.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/stores/index.ts rename to src/cowabunga_ui/src/lib/stores/index.ts diff --git a/src/leapfrogai_ui/src/lib/stores/threads.ts b/src/cowabunga_ui/src/lib/stores/threads.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/stores/threads.ts rename to src/cowabunga_ui/src/lib/stores/threads.ts diff --git a/src/leapfrogai_ui/src/lib/stores/toast.ts b/src/cowabunga_ui/src/lib/stores/toast.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/stores/toast.ts rename to src/cowabunga_ui/src/lib/stores/toast.ts diff --git a/src/leapfrogai_ui/src/lib/stores/ui.ts b/src/cowabunga_ui/src/lib/stores/ui.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/stores/ui.ts rename to src/cowabunga_ui/src/lib/stores/ui.ts diff --git a/src/leapfrogai_ui/src/lib/stores/vectorStatusStore.ts b/src/cowabunga_ui/src/lib/stores/vectorStatusStore.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/stores/vectorStatusStore.ts rename to src/cowabunga_ui/src/lib/stores/vectorStatusStore.ts diff --git a/src/leapfrogai_ui/src/lib/styles/tables.ts b/src/cowabunga_ui/src/lib/styles/tables.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/styles/tables.ts rename to src/cowabunga_ui/src/lib/styles/tables.ts diff --git a/src/leapfrogai_ui/src/lib/types/apiKeys.ts b/src/cowabunga_ui/src/lib/types/apiKeys.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/types/apiKeys.ts rename to src/cowabunga_ui/src/lib/types/apiKeys.ts diff --git a/src/leapfrogai_ui/src/lib/types/assistants.d.ts b/src/cowabunga_ui/src/lib/types/assistants.d.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/types/assistants.d.ts rename to src/cowabunga_ui/src/lib/types/assistants.d.ts diff --git a/src/leapfrogai_ui/src/lib/types/files.d.ts b/src/cowabunga_ui/src/lib/types/files.d.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/types/files.d.ts rename to src/cowabunga_ui/src/lib/types/files.d.ts diff --git a/src/leapfrogai_ui/src/lib/types/markdown-it.d.ts b/src/cowabunga_ui/src/lib/types/markdown-it.d.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/types/markdown-it.d.ts rename to src/cowabunga_ui/src/lib/types/markdown-it.d.ts diff --git a/src/leapfrogai_ui/src/lib/types/messages.d.ts b/src/cowabunga_ui/src/lib/types/messages.d.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/types/messages.d.ts rename to src/cowabunga_ui/src/lib/types/messages.d.ts diff --git a/src/leapfrogai_ui/src/lib/types/profile.d.ts b/src/cowabunga_ui/src/lib/types/profile.d.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/types/profile.d.ts rename to src/cowabunga_ui/src/lib/types/profile.d.ts diff --git a/src/leapfrogai_ui/src/lib/types/threads.d.ts b/src/cowabunga_ui/src/lib/types/threads.d.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/types/threads.d.ts rename to src/cowabunga_ui/src/lib/types/threads.d.ts diff --git a/src/leapfrogai_ui/src/lib/types/toast.d.ts b/src/cowabunga_ui/src/lib/types/toast.d.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/types/toast.d.ts rename to src/cowabunga_ui/src/lib/types/toast.d.ts diff --git a/src/leapfrogai_ui/src/lib/utils/clickOutside.ts b/src/cowabunga_ui/src/lib/utils/clickOutside.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/utils/clickOutside.ts rename to src/cowabunga_ui/src/lib/utils/clickOutside.ts diff --git a/src/leapfrogai_ui/src/lib/utils/files.ts b/src/cowabunga_ui/src/lib/utils/files.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/utils/files.ts rename to src/cowabunga_ui/src/lib/utils/files.ts diff --git a/src/leapfrogai_ui/src/lib/utils/tables.ts b/src/cowabunga_ui/src/lib/utils/tables.ts similarity index 100% rename from src/leapfrogai_ui/src/lib/utils/tables.ts rename to src/cowabunga_ui/src/lib/utils/tables.ts diff --git a/src/leapfrogai_ui/src/lib/web-components/CodeBlock.js b/src/cowabunga_ui/src/lib/web-components/CodeBlock.js similarity index 100% rename from src/leapfrogai_ui/src/lib/web-components/CodeBlock.js rename to src/cowabunga_ui/src/lib/web-components/CodeBlock.js diff --git a/src/leapfrogai_ui/src/lib/web-components/styles.js b/src/cowabunga_ui/src/lib/web-components/styles.js similarity index 100% rename from src/leapfrogai_ui/src/lib/web-components/styles.js rename to src/cowabunga_ui/src/lib/web-components/styles.js diff --git a/src/leapfrogai_ui/src/routes/+layout.server.ts b/src/cowabunga_ui/src/routes/+layout.server.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/+layout.server.ts rename to src/cowabunga_ui/src/routes/+layout.server.ts diff --git a/src/leapfrogai_ui/src/routes/+layout.svelte b/src/cowabunga_ui/src/routes/+layout.svelte similarity index 100% rename from src/leapfrogai_ui/src/routes/+layout.svelte rename to src/cowabunga_ui/src/routes/+layout.svelte diff --git a/src/leapfrogai_ui/src/routes/+layout.ts b/src/cowabunga_ui/src/routes/+layout.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/+layout.ts rename to src/cowabunga_ui/src/routes/+layout.ts diff --git a/src/leapfrogai_ui/src/routes/+page.server.ts b/src/cowabunga_ui/src/routes/+page.server.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/+page.server.ts rename to src/cowabunga_ui/src/routes/+page.server.ts diff --git a/src/leapfrogai_ui/src/routes/+page.svelte b/src/cowabunga_ui/src/routes/+page.svelte similarity index 100% rename from src/leapfrogai_ui/src/routes/+page.svelte rename to src/cowabunga_ui/src/routes/+page.svelte diff --git a/src/leapfrogai_ui/src/routes/api/api-keys/delete/+server.ts b/src/cowabunga_ui/src/routes/api/api-keys/delete/+server.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/api-keys/delete/+server.ts rename to src/cowabunga_ui/src/routes/api/api-keys/delete/+server.ts diff --git a/src/leapfrogai_ui/src/routes/api/api-keys/delete/server.test.ts b/src/cowabunga_ui/src/routes/api/api-keys/delete/server.test.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/api-keys/delete/server.test.ts rename to src/cowabunga_ui/src/routes/api/api-keys/delete/server.test.ts diff --git a/src/leapfrogai_ui/src/routes/api/assistants/+server.ts b/src/cowabunga_ui/src/routes/api/assistants/+server.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/assistants/+server.ts rename to src/cowabunga_ui/src/routes/api/assistants/+server.ts diff --git a/src/leapfrogai_ui/src/routes/api/assistants/delete/+server.ts b/src/cowabunga_ui/src/routes/api/assistants/delete/+server.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/assistants/delete/+server.ts rename to src/cowabunga_ui/src/routes/api/assistants/delete/+server.ts diff --git a/src/leapfrogai_ui/src/routes/api/assistants/delete/server.test.ts b/src/cowabunga_ui/src/routes/api/assistants/delete/server.test.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/assistants/delete/server.test.ts rename to src/cowabunga_ui/src/routes/api/assistants/delete/server.test.ts diff --git a/src/leapfrogai_ui/src/routes/api/assistants/server.test.ts b/src/cowabunga_ui/src/routes/api/assistants/server.test.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/assistants/server.test.ts rename to src/cowabunga_ui/src/routes/api/assistants/server.test.ts diff --git a/src/leapfrogai_ui/src/routes/api/audio/transcription/+server.ts b/src/cowabunga_ui/src/routes/api/audio/transcription/+server.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/audio/transcription/+server.ts rename to src/cowabunga_ui/src/routes/api/audio/transcription/+server.ts diff --git a/src/leapfrogai_ui/src/routes/api/audio/transcription/server.test.ts b/src/cowabunga_ui/src/routes/api/audio/transcription/server.test.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/audio/transcription/server.test.ts rename to src/cowabunga_ui/src/routes/api/audio/transcription/server.test.ts diff --git a/src/leapfrogai_ui/src/routes/api/audio/translation/+server.ts b/src/cowabunga_ui/src/routes/api/audio/translation/+server.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/audio/translation/+server.ts rename to src/cowabunga_ui/src/routes/api/audio/translation/+server.ts diff --git a/src/leapfrogai_ui/src/routes/api/audio/translation/server.test.ts b/src/cowabunga_ui/src/routes/api/audio/translation/server.test.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/audio/translation/server.test.ts rename to src/cowabunga_ui/src/routes/api/audio/translation/server.test.ts diff --git a/src/leapfrogai_ui/src/routes/api/chat/+server.ts b/src/cowabunga_ui/src/routes/api/chat/+server.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/chat/+server.ts rename to src/cowabunga_ui/src/routes/api/chat/+server.ts diff --git a/src/leapfrogai_ui/src/routes/api/chat/assistants/+server.ts b/src/cowabunga_ui/src/routes/api/chat/assistants/+server.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/chat/assistants/+server.ts rename to src/cowabunga_ui/src/routes/api/chat/assistants/+server.ts diff --git a/src/leapfrogai_ui/src/routes/api/chat/server.test.ts b/src/cowabunga_ui/src/routes/api/chat/server.test.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/chat/server.test.ts rename to src/cowabunga_ui/src/routes/api/chat/server.test.ts diff --git a/src/leapfrogai_ui/src/routes/api/files/+server.ts b/src/cowabunga_ui/src/routes/api/files/+server.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/files/+server.ts rename to src/cowabunga_ui/src/routes/api/files/+server.ts diff --git a/src/leapfrogai_ui/src/routes/api/files/[file_id]/+server.ts b/src/cowabunga_ui/src/routes/api/files/[file_id]/+server.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/files/[file_id]/+server.ts rename to src/cowabunga_ui/src/routes/api/files/[file_id]/+server.ts diff --git a/src/leapfrogai_ui/src/routes/api/files/[file_id]/server.test.ts b/src/cowabunga_ui/src/routes/api/files/[file_id]/server.test.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/files/[file_id]/server.test.ts rename to src/cowabunga_ui/src/routes/api/files/[file_id]/server.test.ts diff --git a/src/leapfrogai_ui/src/routes/api/files/convert/+server.ts b/src/cowabunga_ui/src/routes/api/files/convert/+server.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/files/convert/+server.ts rename to src/cowabunga_ui/src/routes/api/files/convert/+server.ts diff --git a/src/leapfrogai_ui/src/routes/api/files/convert/[id]/+server.ts b/src/cowabunga_ui/src/routes/api/files/convert/[id]/+server.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/files/convert/[id]/+server.ts rename to src/cowabunga_ui/src/routes/api/files/convert/[id]/+server.ts diff --git a/src/leapfrogai_ui/src/routes/api/files/convert/[id]/server.test.ts b/src/cowabunga_ui/src/routes/api/files/convert/[id]/server.test.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/files/convert/[id]/server.test.ts rename to src/cowabunga_ui/src/routes/api/files/convert/[id]/server.test.ts diff --git a/src/leapfrogai_ui/src/routes/api/files/convert/[id]/utils.ts b/src/cowabunga_ui/src/routes/api/files/convert/[id]/utils.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/files/convert/[id]/utils.ts rename to src/cowabunga_ui/src/routes/api/files/convert/[id]/utils.ts diff --git a/src/leapfrogai_ui/src/routes/api/files/convert/server.test.ts b/src/cowabunga_ui/src/routes/api/files/convert/server.test.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/files/convert/server.test.ts rename to src/cowabunga_ui/src/routes/api/files/convert/server.test.ts diff --git a/src/leapfrogai_ui/src/routes/api/files/delete/+server.ts b/src/cowabunga_ui/src/routes/api/files/delete/+server.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/files/delete/+server.ts rename to src/cowabunga_ui/src/routes/api/files/delete/+server.ts diff --git a/src/leapfrogai_ui/src/routes/api/files/delete/check/+server.ts b/src/cowabunga_ui/src/routes/api/files/delete/check/+server.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/files/delete/check/+server.ts rename to src/cowabunga_ui/src/routes/api/files/delete/check/+server.ts diff --git a/src/leapfrogai_ui/src/routes/api/files/delete/check/server.test.ts b/src/cowabunga_ui/src/routes/api/files/delete/check/server.test.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/files/delete/check/server.test.ts rename to src/cowabunga_ui/src/routes/api/files/delete/check/server.test.ts diff --git a/src/leapfrogai_ui/src/routes/api/files/delete/server.test.ts b/src/cowabunga_ui/src/routes/api/files/delete/server.test.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/files/delete/server.test.ts rename to src/cowabunga_ui/src/routes/api/files/delete/server.test.ts diff --git a/src/leapfrogai_ui/src/routes/api/files/parse-text/+server.ts b/src/cowabunga_ui/src/routes/api/files/parse-text/+server.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/files/parse-text/+server.ts rename to src/cowabunga_ui/src/routes/api/files/parse-text/+server.ts diff --git a/src/leapfrogai_ui/src/routes/api/files/parse-text/server.test.ts b/src/cowabunga_ui/src/routes/api/files/parse-text/server.test.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/files/parse-text/server.test.ts rename to src/cowabunga_ui/src/routes/api/files/parse-text/server.test.ts diff --git a/src/leapfrogai_ui/src/routes/api/files/server.test.ts b/src/cowabunga_ui/src/routes/api/files/server.test.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/files/server.test.ts rename to src/cowabunga_ui/src/routes/api/files/server.test.ts diff --git a/src/leapfrogai_ui/src/routes/api/helpers.ts b/src/cowabunga_ui/src/routes/api/helpers.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/helpers.ts rename to src/cowabunga_ui/src/routes/api/helpers.ts diff --git a/src/leapfrogai_ui/src/routes/api/messages/+server.ts b/src/cowabunga_ui/src/routes/api/messages/+server.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/messages/+server.ts rename to src/cowabunga_ui/src/routes/api/messages/+server.ts diff --git a/src/leapfrogai_ui/src/routes/api/messages/[thread_id]/+server.ts b/src/cowabunga_ui/src/routes/api/messages/[thread_id]/+server.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/messages/[thread_id]/+server.ts rename to src/cowabunga_ui/src/routes/api/messages/[thread_id]/+server.ts diff --git a/src/leapfrogai_ui/src/routes/api/messages/[thread_id]/server.test.ts b/src/cowabunga_ui/src/routes/api/messages/[thread_id]/server.test.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/messages/[thread_id]/server.test.ts rename to src/cowabunga_ui/src/routes/api/messages/[thread_id]/server.test.ts diff --git a/src/leapfrogai_ui/src/routes/api/messages/delete/+server.ts b/src/cowabunga_ui/src/routes/api/messages/delete/+server.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/messages/delete/+server.ts rename to src/cowabunga_ui/src/routes/api/messages/delete/+server.ts diff --git a/src/leapfrogai_ui/src/routes/api/messages/delete/server.test.ts b/src/cowabunga_ui/src/routes/api/messages/delete/server.test.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/messages/delete/server.test.ts rename to src/cowabunga_ui/src/routes/api/messages/delete/server.test.ts diff --git a/src/leapfrogai_ui/src/routes/api/messages/new/+server.ts b/src/cowabunga_ui/src/routes/api/messages/new/+server.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/messages/new/+server.ts rename to src/cowabunga_ui/src/routes/api/messages/new/+server.ts diff --git a/src/leapfrogai_ui/src/routes/api/messages/new/server.test.ts b/src/cowabunga_ui/src/routes/api/messages/new/server.test.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/messages/new/server.test.ts rename to src/cowabunga_ui/src/routes/api/messages/new/server.test.ts diff --git a/src/leapfrogai_ui/src/routes/api/messages/server.test.ts b/src/cowabunga_ui/src/routes/api/messages/server.test.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/messages/server.test.ts rename to src/cowabunga_ui/src/routes/api/messages/server.test.ts diff --git a/src/leapfrogai_ui/src/routes/api/threads/+server.ts b/src/cowabunga_ui/src/routes/api/threads/+server.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/threads/+server.ts rename to src/cowabunga_ui/src/routes/api/threads/+server.ts diff --git a/src/leapfrogai_ui/src/routes/api/threads/[thread_id]/+server.ts b/src/cowabunga_ui/src/routes/api/threads/[thread_id]/+server.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/threads/[thread_id]/+server.ts rename to src/cowabunga_ui/src/routes/api/threads/[thread_id]/+server.ts diff --git a/src/leapfrogai_ui/src/routes/api/threads/[thread_id]/server.test.ts b/src/cowabunga_ui/src/routes/api/threads/[thread_id]/server.test.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/threads/[thread_id]/server.test.ts rename to src/cowabunga_ui/src/routes/api/threads/[thread_id]/server.test.ts diff --git a/src/leapfrogai_ui/src/routes/api/threads/delete/+server.ts b/src/cowabunga_ui/src/routes/api/threads/delete/+server.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/threads/delete/+server.ts rename to src/cowabunga_ui/src/routes/api/threads/delete/+server.ts diff --git a/src/leapfrogai_ui/src/routes/api/threads/delete/server.test.ts b/src/cowabunga_ui/src/routes/api/threads/delete/server.test.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/threads/delete/server.test.ts rename to src/cowabunga_ui/src/routes/api/threads/delete/server.test.ts diff --git a/src/leapfrogai_ui/src/routes/api/threads/new/+server.ts b/src/cowabunga_ui/src/routes/api/threads/new/+server.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/threads/new/+server.ts rename to src/cowabunga_ui/src/routes/api/threads/new/+server.ts diff --git a/src/leapfrogai_ui/src/routes/api/threads/new/server.test.ts b/src/cowabunga_ui/src/routes/api/threads/new/server.test.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/threads/new/server.test.ts rename to src/cowabunga_ui/src/routes/api/threads/new/server.test.ts diff --git a/src/leapfrogai_ui/src/routes/api/threads/server.test.ts b/src/cowabunga_ui/src/routes/api/threads/server.test.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/threads/server.test.ts rename to src/cowabunga_ui/src/routes/api/threads/server.test.ts diff --git a/src/leapfrogai_ui/src/routes/api/threads/update/label/+server.ts b/src/cowabunga_ui/src/routes/api/threads/update/label/+server.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/threads/update/label/+server.ts rename to src/cowabunga_ui/src/routes/api/threads/update/label/+server.ts diff --git a/src/leapfrogai_ui/src/routes/api/threads/update/label/server.test.ts b/src/cowabunga_ui/src/routes/api/threads/update/label/server.test.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/threads/update/label/server.test.ts rename to src/cowabunga_ui/src/routes/api/threads/update/label/server.test.ts diff --git a/src/leapfrogai_ui/src/routes/api/vector-stores/files/+server.ts b/src/cowabunga_ui/src/routes/api/vector-stores/files/+server.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/api/vector-stores/files/+server.ts rename to src/cowabunga_ui/src/routes/api/vector-stores/files/+server.ts diff --git a/src/leapfrogai_ui/src/routes/auth/+page.server.ts b/src/cowabunga_ui/src/routes/auth/+page.server.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/auth/+page.server.ts rename to src/cowabunga_ui/src/routes/auth/+page.server.ts diff --git a/src/leapfrogai_ui/src/routes/auth/callback/+server.ts b/src/cowabunga_ui/src/routes/auth/callback/+server.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/auth/callback/+server.ts rename to src/cowabunga_ui/src/routes/auth/callback/+server.ts diff --git a/src/leapfrogai_ui/src/routes/auth/confirm/+server.ts b/src/cowabunga_ui/src/routes/auth/confirm/+server.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/auth/confirm/+server.ts rename to src/cowabunga_ui/src/routes/auth/confirm/+server.ts diff --git a/src/leapfrogai_ui/src/routes/auth/error/+page.svelte b/src/cowabunga_ui/src/routes/auth/error/+page.svelte similarity index 100% rename from src/leapfrogai_ui/src/routes/auth/error/+page.svelte rename to src/cowabunga_ui/src/routes/auth/error/+page.svelte diff --git a/src/leapfrogai_ui/src/routes/chat/(dashboard)/[[thread_id]]/+layout.svelte b/src/cowabunga_ui/src/routes/chat/(dashboard)/[[thread_id]]/+layout.svelte similarity index 100% rename from src/leapfrogai_ui/src/routes/chat/(dashboard)/[[thread_id]]/+layout.svelte rename to src/cowabunga_ui/src/routes/chat/(dashboard)/[[thread_id]]/+layout.svelte diff --git a/src/leapfrogai_ui/src/routes/chat/(dashboard)/[[thread_id]]/+page.svelte b/src/cowabunga_ui/src/routes/chat/(dashboard)/[[thread_id]]/+page.svelte similarity index 100% rename from src/leapfrogai_ui/src/routes/chat/(dashboard)/[[thread_id]]/+page.svelte rename to src/cowabunga_ui/src/routes/chat/(dashboard)/[[thread_id]]/+page.svelte diff --git a/src/leapfrogai_ui/src/routes/chat/(dashboard)/[[thread_id]]/ChatPageWithToast.test.svelte b/src/cowabunga_ui/src/routes/chat/(dashboard)/[[thread_id]]/ChatPageWithToast.test.svelte similarity index 100% rename from src/leapfrogai_ui/src/routes/chat/(dashboard)/[[thread_id]]/ChatPageWithToast.test.svelte rename to src/cowabunga_ui/src/routes/chat/(dashboard)/[[thread_id]]/ChatPageWithToast.test.svelte diff --git a/src/leapfrogai_ui/src/routes/chat/(dashboard)/[[thread_id]]/chatpage.test.ts b/src/cowabunga_ui/src/routes/chat/(dashboard)/[[thread_id]]/chatpage.test.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/chat/(dashboard)/[[thread_id]]/chatpage.test.ts rename to src/cowabunga_ui/src/routes/chat/(dashboard)/[[thread_id]]/chatpage.test.ts diff --git a/src/leapfrogai_ui/src/routes/chat/(dashboard)/[[thread_id]]/chatpage_no_thread.test.ts b/src/cowabunga_ui/src/routes/chat/(dashboard)/[[thread_id]]/chatpage_no_thread.test.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/chat/(dashboard)/[[thread_id]]/chatpage_no_thread.test.ts rename to src/cowabunga_ui/src/routes/chat/(dashboard)/[[thread_id]]/chatpage_no_thread.test.ts diff --git a/src/leapfrogai_ui/src/routes/chat/(settings)/api-keys/+layout.svelte b/src/cowabunga_ui/src/routes/chat/(settings)/api-keys/+layout.svelte similarity index 100% rename from src/leapfrogai_ui/src/routes/chat/(settings)/api-keys/+layout.svelte rename to src/cowabunga_ui/src/routes/chat/(settings)/api-keys/+layout.svelte diff --git a/src/leapfrogai_ui/src/routes/chat/(settings)/api-keys/+page.server.ts b/src/cowabunga_ui/src/routes/chat/(settings)/api-keys/+page.server.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/chat/(settings)/api-keys/+page.server.ts rename to src/cowabunga_ui/src/routes/chat/(settings)/api-keys/+page.server.ts diff --git a/src/leapfrogai_ui/src/routes/chat/(settings)/api-keys/+page.svelte b/src/cowabunga_ui/src/routes/chat/(settings)/api-keys/+page.svelte similarity index 100% rename from src/leapfrogai_ui/src/routes/chat/(settings)/api-keys/+page.svelte rename to src/cowabunga_ui/src/routes/chat/(settings)/api-keys/+page.svelte diff --git a/src/leapfrogai_ui/src/routes/chat/(settings)/api-keys/api-keys-form-action.test.ts b/src/cowabunga_ui/src/routes/chat/(settings)/api-keys/api-keys-form-action.test.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/chat/(settings)/api-keys/api-keys-form-action.test.ts rename to src/cowabunga_ui/src/routes/chat/(settings)/api-keys/api-keys-form-action.test.ts diff --git a/src/leapfrogai_ui/src/routes/chat/(settings)/api-keys/api-keys.test.ts b/src/cowabunga_ui/src/routes/chat/(settings)/api-keys/api-keys.test.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/chat/(settings)/api-keys/api-keys.test.ts rename to src/cowabunga_ui/src/routes/chat/(settings)/api-keys/api-keys.test.ts diff --git a/src/leapfrogai_ui/src/routes/chat/(settings)/assistants-management/+layout.svelte b/src/cowabunga_ui/src/routes/chat/(settings)/assistants-management/+layout.svelte similarity index 100% rename from src/leapfrogai_ui/src/routes/chat/(settings)/assistants-management/+layout.svelte rename to src/cowabunga_ui/src/routes/chat/(settings)/assistants-management/+layout.svelte diff --git a/src/leapfrogai_ui/src/routes/chat/(settings)/assistants-management/+page.svelte b/src/cowabunga_ui/src/routes/chat/(settings)/assistants-management/+page.svelte similarity index 100% rename from src/leapfrogai_ui/src/routes/chat/(settings)/assistants-management/+page.svelte rename to src/cowabunga_ui/src/routes/chat/(settings)/assistants-management/+page.svelte diff --git a/src/leapfrogai_ui/src/routes/chat/(settings)/assistants-management/+page.ts b/src/cowabunga_ui/src/routes/chat/(settings)/assistants-management/+page.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/chat/(settings)/assistants-management/+page.ts rename to src/cowabunga_ui/src/routes/chat/(settings)/assistants-management/+page.ts diff --git a/src/leapfrogai_ui/src/routes/chat/(settings)/assistants-management/assistant_form.test.ts b/src/cowabunga_ui/src/routes/chat/(settings)/assistants-management/assistant_form.test.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/chat/(settings)/assistants-management/assistant_form.test.ts rename to src/cowabunga_ui/src/routes/chat/(settings)/assistants-management/assistant_form.test.ts diff --git a/src/leapfrogai_ui/src/routes/chat/(settings)/assistants-management/assistants-management-page.test.ts b/src/cowabunga_ui/src/routes/chat/(settings)/assistants-management/assistants-management-page.test.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/chat/(settings)/assistants-management/assistants-management-page.test.ts rename to src/cowabunga_ui/src/routes/chat/(settings)/assistants-management/assistants-management-page.test.ts diff --git a/src/leapfrogai_ui/src/routes/chat/(settings)/assistants-management/edit/[assistantId]/+page.server.ts b/src/cowabunga_ui/src/routes/chat/(settings)/assistants-management/edit/[assistantId]/+page.server.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/chat/(settings)/assistants-management/edit/[assistantId]/+page.server.ts rename to src/cowabunga_ui/src/routes/chat/(settings)/assistants-management/edit/[assistantId]/+page.server.ts diff --git a/src/leapfrogai_ui/src/routes/chat/(settings)/assistants-management/edit/[assistantId]/+page.svelte b/src/cowabunga_ui/src/routes/chat/(settings)/assistants-management/edit/[assistantId]/+page.svelte similarity index 100% rename from src/leapfrogai_ui/src/routes/chat/(settings)/assistants-management/edit/[assistantId]/+page.svelte rename to src/cowabunga_ui/src/routes/chat/(settings)/assistants-management/edit/[assistantId]/+page.svelte diff --git a/src/leapfrogai_ui/src/routes/chat/(settings)/assistants-management/new/+page.server.ts b/src/cowabunga_ui/src/routes/chat/(settings)/assistants-management/new/+page.server.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/chat/(settings)/assistants-management/new/+page.server.ts rename to src/cowabunga_ui/src/routes/chat/(settings)/assistants-management/new/+page.server.ts diff --git a/src/leapfrogai_ui/src/routes/chat/(settings)/assistants-management/new/+page.svelte b/src/cowabunga_ui/src/routes/chat/(settings)/assistants-management/new/+page.svelte similarity index 100% rename from src/leapfrogai_ui/src/routes/chat/(settings)/assistants-management/new/+page.svelte rename to src/cowabunga_ui/src/routes/chat/(settings)/assistants-management/new/+page.svelte diff --git a/src/leapfrogai_ui/src/routes/chat/(settings)/file-management/+layout.svelte b/src/cowabunga_ui/src/routes/chat/(settings)/file-management/+layout.svelte similarity index 100% rename from src/leapfrogai_ui/src/routes/chat/(settings)/file-management/+layout.svelte rename to src/cowabunga_ui/src/routes/chat/(settings)/file-management/+layout.svelte diff --git a/src/leapfrogai_ui/src/routes/chat/(settings)/file-management/+page.server.ts b/src/cowabunga_ui/src/routes/chat/(settings)/file-management/+page.server.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/chat/(settings)/file-management/+page.server.ts rename to src/cowabunga_ui/src/routes/chat/(settings)/file-management/+page.server.ts diff --git a/src/leapfrogai_ui/src/routes/chat/(settings)/file-management/+page.svelte b/src/cowabunga_ui/src/routes/chat/(settings)/file-management/+page.svelte similarity index 100% rename from src/leapfrogai_ui/src/routes/chat/(settings)/file-management/+page.svelte rename to src/cowabunga_ui/src/routes/chat/(settings)/file-management/+page.svelte diff --git a/src/leapfrogai_ui/src/routes/chat/(settings)/file-management/+page.ts b/src/cowabunga_ui/src/routes/chat/(settings)/file-management/+page.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/chat/(settings)/file-management/+page.ts rename to src/cowabunga_ui/src/routes/chat/(settings)/file-management/+page.ts diff --git a/src/leapfrogai_ui/src/routes/chat/(settings)/file-management/file-management.test.ts b/src/cowabunga_ui/src/routes/chat/(settings)/file-management/file-management.test.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/chat/(settings)/file-management/file-management.test.ts rename to src/cowabunga_ui/src/routes/chat/(settings)/file-management/file-management.test.ts diff --git a/src/leapfrogai_ui/src/routes/chat/(settings)/file-management/files-upload-form-action.test.ts b/src/cowabunga_ui/src/routes/chat/(settings)/file-management/files-upload-form-action.test.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/chat/(settings)/file-management/files-upload-form-action.test.ts rename to src/cowabunga_ui/src/routes/chat/(settings)/file-management/files-upload-form-action.test.ts diff --git a/src/leapfrogai_ui/src/routes/chat/+layout.server.ts b/src/cowabunga_ui/src/routes/chat/+layout.server.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/chat/+layout.server.ts rename to src/cowabunga_ui/src/routes/chat/+layout.server.ts diff --git a/src/leapfrogai_ui/src/routes/chat/+layout.svelte b/src/cowabunga_ui/src/routes/chat/+layout.svelte similarity index 100% rename from src/leapfrogai_ui/src/routes/chat/+layout.svelte rename to src/cowabunga_ui/src/routes/chat/+layout.svelte diff --git a/src/leapfrogai_ui/src/routes/chat/+layout.ts b/src/cowabunga_ui/src/routes/chat/+layout.ts similarity index 100% rename from src/leapfrogai_ui/src/routes/chat/+layout.ts rename to src/cowabunga_ui/src/routes/chat/+layout.ts diff --git a/src/leapfrogai_ui/static/favicon.png b/src/cowabunga_ui/static/favicon.png similarity index 100% rename from src/leapfrogai_ui/static/favicon.png rename to src/cowabunga_ui/static/favicon.png diff --git a/src/leapfrogai_ui/supabase/.gitignore b/src/cowabunga_ui/supabase/.gitignore similarity index 100% rename from src/leapfrogai_ui/supabase/.gitignore rename to src/cowabunga_ui/supabase/.gitignore diff --git a/src/leapfrogai_ui/supabase/config.toml b/src/cowabunga_ui/supabase/config.toml similarity index 100% rename from src/leapfrogai_ui/supabase/config.toml rename to src/cowabunga_ui/supabase/config.toml diff --git a/src/leapfrogai_ui/supabase/migrations/20240322174521_v0.7.2_ui_sql_schema.sql b/src/cowabunga_ui/supabase/migrations/20240322174521_v0.7.2_ui_sql_schema.sql similarity index 100% rename from src/leapfrogai_ui/supabase/migrations/20240322174521_v0.7.2_ui_sql_schema.sql rename to src/cowabunga_ui/supabase/migrations/20240322174521_v0.7.2_ui_sql_schema.sql diff --git a/src/leapfrogai_ui/supabase/migrations/20240522134301_v0.8.0_profiles.sql b/src/cowabunga_ui/supabase/migrations/20240522134301_v0.8.0_profiles.sql similarity index 100% rename from src/leapfrogai_ui/supabase/migrations/20240522134301_v0.8.0_profiles.sql rename to src/cowabunga_ui/supabase/migrations/20240522134301_v0.8.0_profiles.sql diff --git a/src/leapfrogai_ui/supabase/migrations/20240903204301_v0.13.0_avatars.sql b/src/cowabunga_ui/supabase/migrations/20240903204301_v0.13.0_avatars.sql similarity index 100% rename from src/leapfrogai_ui/supabase/migrations/20240903204301_v0.13.0_avatars.sql rename to src/cowabunga_ui/supabase/migrations/20240903204301_v0.13.0_avatars.sql diff --git a/src/leapfrogai_ui/supabase/seed.sql b/src/cowabunga_ui/supabase/seed.sql similarity index 100% rename from src/leapfrogai_ui/supabase/seed.sql rename to src/cowabunga_ui/supabase/seed.sql diff --git a/src/leapfrogai_ui/svelte.config.js b/src/cowabunga_ui/svelte.config.js similarity index 100% rename from src/leapfrogai_ui/svelte.config.js rename to src/cowabunga_ui/svelte.config.js diff --git a/src/leapfrogai_ui/tailwind.config.cjs b/src/cowabunga_ui/tailwind.config.cjs similarity index 100% rename from src/leapfrogai_ui/tailwind.config.cjs rename to src/cowabunga_ui/tailwind.config.cjs diff --git a/src/leapfrogai_ui/testUtils/fakeData/index.ts b/src/cowabunga_ui/testUtils/fakeData/index.ts similarity index 100% rename from src/leapfrogai_ui/testUtils/fakeData/index.ts rename to src/cowabunga_ui/testUtils/fakeData/index.ts diff --git a/src/leapfrogai_ui/tests/api-keys.test.ts b/src/cowabunga_ui/tests/api-keys.test.ts similarity index 100% rename from src/leapfrogai_ui/tests/api-keys.test.ts rename to src/cowabunga_ui/tests/api-keys.test.ts diff --git a/src/leapfrogai_ui/tests/api.test.ts b/src/cowabunga_ui/tests/api.test.ts similarity index 100% rename from src/leapfrogai_ui/tests/api.test.ts rename to src/cowabunga_ui/tests/api.test.ts diff --git a/src/leapfrogai_ui/tests/assistant-avatars.test.ts b/src/cowabunga_ui/tests/assistant-avatars.test.ts similarity index 100% rename from src/leapfrogai_ui/tests/assistant-avatars.test.ts rename to src/cowabunga_ui/tests/assistant-avatars.test.ts diff --git a/src/leapfrogai_ui/tests/assistant-progress.test.ts b/src/cowabunga_ui/tests/assistant-progress.test.ts similarity index 100% rename from src/leapfrogai_ui/tests/assistant-progress.test.ts rename to src/cowabunga_ui/tests/assistant-progress.test.ts diff --git a/src/leapfrogai_ui/tests/assistants.test.ts b/src/cowabunga_ui/tests/assistants.test.ts similarity index 100% rename from src/leapfrogai_ui/tests/assistants.test.ts rename to src/cowabunga_ui/tests/assistants.test.ts diff --git a/src/leapfrogai_ui/tests/chat.test.ts b/src/cowabunga_ui/tests/chat.test.ts similarity index 100% rename from src/leapfrogai_ui/tests/chat.test.ts rename to src/cowabunga_ui/tests/chat.test.ts diff --git a/src/leapfrogai_ui/tests/constants.ts b/src/cowabunga_ui/tests/constants.ts similarity index 100% rename from src/leapfrogai_ui/tests/constants.ts rename to src/cowabunga_ui/tests/constants.ts diff --git a/src/leapfrogai_ui/tests/edit_message.test.ts b/src/cowabunga_ui/tests/edit_message.test.ts similarity index 100% rename from src/leapfrogai_ui/tests/edit_message.test.ts rename to src/cowabunga_ui/tests/edit_message.test.ts diff --git a/src/leapfrogai_ui/tests/file-chat.test.ts b/src/cowabunga_ui/tests/file-chat.test.ts similarity index 100% rename from src/leapfrogai_ui/tests/file-chat.test.ts rename to src/cowabunga_ui/tests/file-chat.test.ts diff --git a/src/leapfrogai_ui/tests/file-management.test.ts b/src/cowabunga_ui/tests/file-management.test.ts similarity index 100% rename from src/leapfrogai_ui/tests/file-management.test.ts rename to src/cowabunga_ui/tests/file-management.test.ts diff --git a/src/leapfrogai_ui/tests/fileChatActions.test.ts b/src/cowabunga_ui/tests/fileChatActions.test.ts similarity index 100% rename from src/leapfrogai_ui/tests/fileChatActions.test.ts rename to src/cowabunga_ui/tests/fileChatActions.test.ts diff --git a/src/leapfrogai_ui/tests/fixtures.ts b/src/cowabunga_ui/tests/fixtures.ts similarity index 100% rename from src/leapfrogai_ui/tests/fixtures.ts rename to src/cowabunga_ui/tests/fixtures.ts diff --git a/src/leapfrogai_ui/tests/fixtures/Doug.png b/src/cowabunga_ui/tests/fixtures/Doug.png similarity index 100% rename from src/leapfrogai_ui/tests/fixtures/Doug.png rename to src/cowabunga_ui/tests/fixtures/Doug.png diff --git a/src/leapfrogai_ui/tests/fixtures/frog.png b/src/cowabunga_ui/tests/fixtures/frog.png similarity index 100% rename from src/leapfrogai_ui/tests/fixtures/frog.png rename to src/cowabunga_ui/tests/fixtures/frog.png diff --git a/src/leapfrogai_ui/tests/fixtures/spanish.m4a b/src/cowabunga_ui/tests/fixtures/spanish.m4a similarity index 100% rename from src/leapfrogai_ui/tests/fixtures/spanish.m4a rename to src/cowabunga_ui/tests/fixtures/spanish.m4a diff --git a/src/leapfrogai_ui/tests/global.setup.ts b/src/cowabunga_ui/tests/global.setup.ts similarity index 100% rename from src/leapfrogai_ui/tests/global.setup.ts rename to src/cowabunga_ui/tests/global.setup.ts diff --git a/src/leapfrogai_ui/tests/global.teardown.ts b/src/cowabunga_ui/tests/global.teardown.ts similarity index 100% rename from src/leapfrogai_ui/tests/global.teardown.ts rename to src/cowabunga_ui/tests/global.teardown.ts diff --git a/src/leapfrogai_ui/tests/header.test.ts b/src/cowabunga_ui/tests/header.test.ts similarity index 100% rename from src/leapfrogai_ui/tests/header.test.ts rename to src/cowabunga_ui/tests/header.test.ts diff --git a/src/leapfrogai_ui/tests/helpers/apiHelpers.ts b/src/cowabunga_ui/tests/helpers/apiHelpers.ts similarity index 100% rename from src/leapfrogai_ui/tests/helpers/apiHelpers.ts rename to src/cowabunga_ui/tests/helpers/apiHelpers.ts diff --git a/src/leapfrogai_ui/tests/helpers/assistantHelpers.ts b/src/cowabunga_ui/tests/helpers/assistantHelpers.ts similarity index 100% rename from src/leapfrogai_ui/tests/helpers/assistantHelpers.ts rename to src/cowabunga_ui/tests/helpers/assistantHelpers.ts diff --git a/src/leapfrogai_ui/tests/helpers/cleanup.ts b/src/cowabunga_ui/tests/helpers/cleanup.ts similarity index 100% rename from src/leapfrogai_ui/tests/helpers/cleanup.ts rename to src/cowabunga_ui/tests/helpers/cleanup.ts diff --git a/src/leapfrogai_ui/tests/helpers/fileHelpers.ts b/src/cowabunga_ui/tests/helpers/fileHelpers.ts similarity index 100% rename from src/leapfrogai_ui/tests/helpers/fileHelpers.ts rename to src/cowabunga_ui/tests/helpers/fileHelpers.ts diff --git a/src/leapfrogai_ui/tests/helpers/helpers.ts b/src/cowabunga_ui/tests/helpers/helpers.ts similarity index 100% rename from src/leapfrogai_ui/tests/helpers/helpers.ts rename to src/cowabunga_ui/tests/helpers/helpers.ts diff --git a/src/leapfrogai_ui/tests/helpers/navigationHelpers.ts b/src/cowabunga_ui/tests/helpers/navigationHelpers.ts similarity index 100% rename from src/leapfrogai_ui/tests/helpers/navigationHelpers.ts rename to src/cowabunga_ui/tests/helpers/navigationHelpers.ts diff --git a/src/leapfrogai_ui/tests/helpers/threadHelpers.ts b/src/cowabunga_ui/tests/helpers/threadHelpers.ts similarity index 100% rename from src/leapfrogai_ui/tests/helpers/threadHelpers.ts rename to src/cowabunga_ui/tests/helpers/threadHelpers.ts diff --git a/src/leapfrogai_ui/tests/import_export.test.ts b/src/cowabunga_ui/tests/import_export.test.ts similarity index 100% rename from src/leapfrogai_ui/tests/import_export.test.ts rename to src/cowabunga_ui/tests/import_export.test.ts diff --git a/src/leapfrogai_ui/tests/rag.test.ts b/src/cowabunga_ui/tests/rag.test.ts similarity index 100% rename from src/leapfrogai_ui/tests/rag.test.ts rename to src/cowabunga_ui/tests/rag.test.ts diff --git a/src/leapfrogai_ui/tests/sidebar.test.ts b/src/cowabunga_ui/tests/sidebar.test.ts similarity index 100% rename from src/leapfrogai_ui/tests/sidebar.test.ts rename to src/cowabunga_ui/tests/sidebar.test.ts diff --git a/src/leapfrogai_ui/tsconfig.json b/src/cowabunga_ui/tsconfig.json similarity index 100% rename from src/leapfrogai_ui/tsconfig.json rename to src/cowabunga_ui/tsconfig.json diff --git a/src/leapfrogai_ui/vite.config.ts b/src/cowabunga_ui/vite.config.ts similarity index 100% rename from src/leapfrogai_ui/vite.config.ts rename to src/cowabunga_ui/vite.config.ts diff --git a/src/leapfrogai_ui/vitest-setup.ts b/src/cowabunga_ui/vitest-setup.ts similarity index 100% rename from src/leapfrogai_ui/vitest-setup.ts rename to src/cowabunga_ui/vitest-setup.ts diff --git a/tests/conformance/test_files.py b/tests/conformance/test_files.py index 77b633918..607c0641a 100644 --- a/tests/conformance/test_files.py +++ b/tests/conformance/test_files.py @@ -25,7 +25,7 @@ def test_file_upload(client_name): assert isinstance(vector_store_file, VectorStoreFile) -@pytest.mark.xfail(reason="File Batch Upload is not yet implemented in LeapfrogAI") +@pytest.mark.xfail(reason="File Batch Upload is not yet implemented in CowabungaAI") @pytest.mark.parametrize("client_name", ["openai", "leapfrogai"]) def test_file_delete(client_name): config = client_config_factory(client_name) diff --git a/tests/conformance/test_threads.py b/tests/conformance/test_threads.py index d9d30f65d..63d44ace3 100644 --- a/tests/conformance/test_threads.py +++ b/tests/conformance/test_threads.py @@ -41,6 +41,6 @@ def test_thread(client_name, test_messages): thread = client.beta.threads.create( messages=test_messages - ) # TODO: Pydantic type problems with LeapfrogAI #https://github.com/defenseunicorns/leapfrogai/issues/1107 + ) # TODO: Pydantic type problems with CowabungaAI #https://github.com/defenseunicorns/leapfrogai/issues/1107 assert isinstance(thread, Thread) diff --git a/tests/database/test_database_factory.py b/tests/database/test_database_factory.py index e1b73010b..2ea3b0da1 100644 --- a/tests/database/test_database_factory.py +++ b/tests/database/test_database_factory.py @@ -3,12 +3,12 @@ import pytest import os from unittest.mock import AsyncMock, patch -from leapfrogai_api.utils.database_factory import ( +from cowabunga_api.utils.database_factory import ( create_database_client, get_session, DatabaseType ) -from leapfrogai_api.data.database import SupabaseClient, TursoClient +from cowabunga_api.data.database import SupabaseClient, TursoClient @pytest.mark.asyncio @@ -39,7 +39,7 @@ async def test_create_supabase_client(self): os.environ["SUPABASE_ANON_KEY"] = "test-key" # Mock Supabase client creation - with patch('leapfrogai_api.utils.database_factory.SupabaseClient.create') as mock_create: + with patch('cowabunga_api.utils.database_factory.SupabaseClient.create') as mock_create: mock_client = AsyncMock() mock_create.return_value = mock_client @@ -63,7 +63,7 @@ async def test_default_to_supabase(self): del os.environ["DATABASE_TYPE"] # Mock Supabase client creation - with patch('leapfrogai_api.utils.database_factory.SupabaseClient.create') as mock_create: + with patch('cowabunga_api.utils.database_factory.SupabaseClient.create') as mock_create: mock_client = AsyncMock() mock_create.return_value = mock_client diff --git a/tests/database/test_turso_client.py b/tests/database/test_turso_client.py index dc5355b7f..6c415c65e 100644 --- a/tests/database/test_turso_client.py +++ b/tests/database/test_turso_client.py @@ -3,8 +3,8 @@ import pytest import tempfile import os -from leapfrogai_api.data.database.turso_client import TursoClient, TursoQueryBuilder -from leapfrogai_api.data.database.base import DatabaseClient +from cowabunga_api.data.database.turso_client import TursoClient, TursoQueryBuilder +from cowabunga_api.data.database.base import DatabaseClient @pytest.fixture diff --git a/tests/e2e/test_api.py b/tests/e2e/test_api.py index 44e533645..30ae725ca 100644 --- a/tests/e2e/test_api.py +++ b/tests/e2e/test_api.py @@ -11,22 +11,22 @@ test_id = str(uuid.uuid4()) get_urls = { - "assistants_url": "https://leapfrogai-api.uds.dev/openai/v1/assistants", - "assistants_id_url": f"https://leapfrogai-api.uds.dev/openai/v1/assistants/{test_id}", - "files_url": "https://leapfrogai-api.uds.dev/openai/v1/files", - "files_specific_url": f"https://leapfrogai-api.uds.dev/openai/v1/files/{test_id}", - "files_specific_content_url": f"https://leapfrogai-api.uds.dev/openai/v1/files/{test_id}/content", + "assistants_url": "https://cowabunga-api.uds.dev/openai/v1/assistants", + "assistants_id_url": f"https://cowabunga-api.uds.dev/openai/v1/assistants/{test_id}", + "files_url": "https://cowabunga-api.uds.dev/openai/v1/files", + "files_specific_url": f"https://cowabunga-api.uds.dev/openai/v1/files/{test_id}", + "files_specific_content_url": f"https://cowabunga-api.uds.dev/openai/v1/files/{test_id}/content", } post_urls = { - "assistants_url": "https://leapfrogai-api.uds.dev/openai/v1/assistants", - "assistants_id_url": f"https://leapfrogai-api.uds.dev/openai/v1/assistants/{test_id}", - "files_url": "https://leapfrogai-api.uds.dev/openai/v1/files", + "assistants_url": "https://cowabunga-api.uds.dev/openai/v1/assistants", + "assistants_id_url": f"https://cowabunga-api.uds.dev/openai/v1/assistants/{test_id}", + "files_url": "https://cowabunga-api.uds.dev/openai/v1/files", } delete_urls = { - "assistants_id_url": f"https://leapfrogai-api.uds.dev/openai/v1/assistants/{test_id}", - "files_specific_url": f"https://leapfrogai-api.uds.dev/openai/v1/files/{test_id}", + "assistants_id_url": f"https://cowabunga-api.uds.dev/openai/v1/assistants/{test_id}", + "files_specific_url": f"https://cowabunga-api.uds.dev/openai/v1/files/{test_id}", } diff --git a/tests/e2e/test_supabase.py b/tests/e2e/test_supabase.py index c9302c6be..a9b06edba 100644 --- a/tests/e2e/test_supabase.py +++ b/tests/e2e/test_supabase.py @@ -11,11 +11,11 @@ from supabase import AClient as AsyncClient, acreate_client from realtime import Socket -from leapfrogai_api.data.crud_file_bucket import CRUDFileBucket -from leapfrogai_api.data.crud_file_object import CRUDFileObject -from leapfrogai_api.data.crud_vector_store import CRUDVectorStore +from cowabunga_api.data.crud_file_bucket import CRUDFileBucket +from cowabunga_api.data.crud_file_object import CRUDFileObject +from cowabunga_api.data.crud_vector_store import CRUDVectorStore -from leapfrogai_api.data.crud_vector_store_file import CRUDVectorStoreFile +from cowabunga_api.data.crud_vector_store_file import CRUDVectorStoreFile from tests.utils.client import ANON_KEY, create_test_user, SERVICE_KEY from openai.types import FileObject diff --git a/tests/e2e/test_text_backend_full.py b/tests/e2e/test_text_backend_full.py index d1f28bcf4..00a395214 100644 --- a/tests/e2e/test_text_backend_full.py +++ b/tests/e2e/test_text_backend_full.py @@ -5,7 +5,7 @@ from openai import OpenAI from openai.types.beta.vector_store import VectorStore -from leapfrogai_api.typedef.vectorstores import VectorStoreStatus +from cowabunga_api.typedef.vectorstores import VectorStoreStatus def download_arxiv_pdf(): diff --git a/tests/integration/api/rag/test_rag_files.py b/tests/integration/api/rag/test_rag_files.py index f08ec8772..d4f306ce6 100644 --- a/tests/integration/api/rag/test_rag_files.py +++ b/tests/integration/api/rag/test_rag_files.py @@ -25,8 +25,8 @@ def make_test_run(client, assistant, thread): @pytest.mark.skipif( - os.environ.get("LFAI_RUN_NIAH_TESTS") != "true", - reason="LFAI_RUN_NIAH_TESTS envvar was not set to true", + os.environ.get("COWABUNGA_RUN_NIAH_TESTS") != "true", + reason="COWABUNGA_RUN_NIAH_TESTS envvar was not set to true", ) def test_rag_needle_haystack(): config = client_config_factory("leapfrogai") diff --git a/tests/integration/api/routes/leapfrogai/test_auth.py b/tests/integration/api/routes/leapfrogai/test_auth.py index 090cf76ac..9316b797b 100644 --- a/tests/integration/api/routes/leapfrogai/test_auth.py +++ b/tests/integration/api/routes/leapfrogai/test_auth.py @@ -5,12 +5,12 @@ import pytest from fastapi import status, HTTPException from fastapi.testclient import TestClient -from leapfrogai_api.routers.leapfrogai.auth import ( +from cowabunga_api.routers.leapfrogai.auth import ( router, APIKeyItem, ) -from leapfrogai_api.backend.security.api_key import APIKey -from leapfrogai_api.backend.constants import THIRTY_DAYS_SECONDS +from cowabunga_api.backend.security.api_key import APIKey +from cowabunga_api.backend.constants import THIRTY_DAYS_SECONDS class MissingEnvironmentVariable(Exception): @@ -39,7 +39,7 @@ def create_api_key(): "expires_at": int(time.time()) + THIRTY_DAYS_SECONDS, } - response = client.post("/leapfrogai/v1/auth/api-keys", json=request) + response = client.post("/cowabunga/v1/auth/api-keys", json=request) return response @@ -62,7 +62,7 @@ def test_list_api_keys(create_api_key): id_ = create_api_key.json()["id"] - response = client.get("/leapfrogai/v1/auth/api-keys") + response = client.get("/cowabunga/v1/auth/api-keys") assert response.status_code is status.HTTP_200_OK assert len(response.json()) > 0, "List should return at least one API key." for api_key in response.json(): @@ -83,7 +83,7 @@ def test_update_api_key(create_api_key): "expires_at": int(time.time()) + 100, } - response = client.patch(f"/leapfrogai/v1/auth/api-keys/{id_}", json=request) + response = client.patch(f"/cowabunga/v1/auth/api-keys/{id_}", json=request) assert response.status_code is status.HTTP_200_OK assert APIKeyItem.model_validate(response.json()), "API key should be valid." assert response.json()["id"] == id_, "Update should return the created API key." @@ -94,9 +94,9 @@ def test_revoke_api_key(create_api_key): api_key_id = create_api_key.json()["id"] - response = client.delete(f"/leapfrogai/v1/auth/api-keys/{api_key_id}") + response = client.delete(f"/cowabunga/v1/auth/api-keys/{api_key_id}") assert response.status_code is status.HTTP_204_NO_CONTENT with pytest.raises(HTTPException): - response = client.delete(f"/leapfrogai/v1/auth/api-keys/{api_key_id}") + response = client.delete(f"/cowabunga/v1/auth/api-keys/{api_key_id}") assert response.status_code is status.HTTP_404_NOT_FOUND diff --git a/tests/integration/api/routes/leapfrogai/test_token_count.py b/tests/integration/api/routes/leapfrogai/test_token_count.py index 999cb36d9..93af65cdd 100644 --- a/tests/integration/api/routes/leapfrogai/test_token_count.py +++ b/tests/integration/api/routes/leapfrogai/test_token_count.py @@ -4,19 +4,19 @@ from requests import HTTPError import pytest -# from leapfrogai_api.routers.leapfrogai.count import router -from leapfrogai_api.typedef.counting import ( +# from cowabunga_api.routers.leapfrogai.count import router +from cowabunga_api.typedef.counting import ( TokenCountRequest, TokenCountResponse, ) -from tests.utils.client import get_leapfrogai_model, LeapfrogAIClient +from tests.utils.client import get_leapfrogai_model, CowabungaAIClient INVALID_MODEL = "invalid-model" @pytest.fixture(scope="session") def client(): - return LeapfrogAIClient() + return CowabungaAIClient() def test_token_count(client): @@ -25,7 +25,7 @@ def test_token_count(client): model=get_leapfrogai_model(), text="This is a test sentence for token counting." ) - response = client.post("/leapfrogai/v1/count/tokens", json=request.model_dump()) + response = client.post("/cowabunga/v1/count/tokens", json=request.model_dump()) assert response.status_code == status.HTTP_200_OK token_count_response = TokenCountResponse.model_validate(response.json()) @@ -36,7 +36,7 @@ def test_token_count_empty_text(client): """Test token counting with empty text""" request = TokenCountRequest(model=get_leapfrogai_model(), text="") - response = client.post("/leapfrogai/v1/count/tokens", json=request.model_dump()) + response = client.post("/cowabunga/v1/count/tokens", json=request.model_dump()) assert response.status_code == status.HTTP_200_OK token_count_response = TokenCountResponse.model_validate(response.json()) assert ( @@ -49,7 +49,7 @@ def test_token_count_invalid_model(client): request = TokenCountRequest(model=INVALID_MODEL, text="This is a test sentence.") with pytest.raises(HTTPError) as excinfo: - client.post("/leapfrogai/v1/count/tokens", json=request.model_dump()) + client.post("/cowabunga/v1/count/tokens", json=request.model_dump()) assert excinfo.value.response.status_code == status.HTTP_404_NOT_FOUND assert excinfo.value.response.json() == { @@ -70,7 +70,7 @@ def test_token_count_various_lengths(client): for text in texts: request = TokenCountRequest(model=get_leapfrogai_model(), text=text) - response = client.post("/leapfrogai/v1/count/tokens", json=request.model_dump()) + response = client.post("/cowabunga/v1/count/tokens", json=request.model_dump()) assert response.status_code == status.HTTP_200_OK token_count_response = TokenCountResponse.model_validate(response.json()) diff --git a/tests/integration/api/routes/leapfrogai/test_vector_stores.py b/tests/integration/api/routes/leapfrogai/test_vector_stores.py index 8942a95c2..25401bc73 100644 --- a/tests/integration/api/routes/leapfrogai/test_vector_stores.py +++ b/tests/integration/api/routes/leapfrogai/test_vector_stores.py @@ -1,16 +1,16 @@ -from leapfrogai_api.typedef.vectorstores.search_types import SearchItem +from cowabunga_api.typedef.vectorstores.search_types import SearchItem from tests.utils.client import client_config_factory from tests.utils.data_path import data_path, TXT_FILE_NAME -from leapfrogai_api.typedef.vectorstores import SearchResponse -from leapfrogai_api.typedef.vectorstores import Vector +from cowabunga_api.typedef.vectorstores import SearchResponse +from cowabunga_api.typedef.vectorstores import Vector import pytest -from tests.utils.client import LeapfrogAIClient +from tests.utils.client import CowabungaAIClient from fastapi import status @pytest.fixture(scope="session") def leapfrogai_client(): - return LeapfrogAIClient() + return CowabungaAIClient() @pytest.fixture(scope="session") @@ -38,7 +38,7 @@ def make_test_search_response(leapfrogai_client, make_test_vector_store): } return leapfrogai_client.post( - endpoint="/leapfrogai/v1/vector_stores/search", params=params + endpoint="/cowabunga/v1/vector_stores/search", params=params ) @@ -58,7 +58,7 @@ def test_get_vector(leapfrogai_client, make_test_search_response): vector_id = search_item.id get_vector_response = leapfrogai_client.get( - f"/leapfrogai/v1/vector_stores/vector/{vector_id}" + f"/cowabunga/v1/vector_stores/vector/{vector_id}" ) assert get_vector_response.status_code == status.HTTP_200_OK diff --git a/tests/integration/api/routes/openai/test_assistants.py b/tests/integration/api/routes/openai/test_assistants.py index 6422b7696..9b57f8df6 100644 --- a/tests/integration/api/routes/openai/test_assistants.py +++ b/tests/integration/api/routes/openai/test_assistants.py @@ -12,12 +12,12 @@ from openai.types.beta.assistant import ToolResources from openai.types.beta.vector_store import ExpiresAfter -import leapfrogai_api.backend.rag.index -from leapfrogai_api.routers.openai.vector_stores import router as vector_store_router -from leapfrogai_api.routers.openai.files import router as files_router -from leapfrogai_api.routers.openai.assistants import router as assistants_router -from leapfrogai_api.typedef.vectorstores import CreateVectorStoreRequest -from leapfrogai_api.typedef.assistants import ( +import cowabunga_api.backend.rag.index +from cowabunga_api.routers.openai.vector_stores import router as vector_store_router +from cowabunga_api.routers.openai.files import router as files_router +from cowabunga_api.routers.openai.assistants import router as assistants_router +from cowabunga_api.typedef.vectorstores import CreateVectorStoreRequest +from cowabunga_api.typedef.assistants import ( CreateAssistantRequest, ModifyAssistantRequest, ) @@ -131,7 +131,7 @@ def create_vector_store(create_file): global expired_vector_store_response # pylint: disable=global-statement # Mock out the embeddings creation using a fake - leapfrogai_api.backend.rag.index.embeddings_type = FakeEmbeddingsWrapper + cowabunga_api.backend.rag.index.embeddings_type = FakeEmbeddingsWrapper request = CreateVectorStoreRequest( file_ids=[create_file["id"]], diff --git a/tests/integration/api/routes/openai/test_files.py b/tests/integration/api/routes/openai/test_files.py index 810a74a49..e4567f7d0 100644 --- a/tests/integration/api/routes/openai/test_files.py +++ b/tests/integration/api/routes/openai/test_files.py @@ -4,7 +4,7 @@ from requests import HTTPError from fastapi import Response, status from openai.types import FileDeleted, FileObject -from leapfrogai_api.backend.rag.document_loader import load_file, split +from cowabunga_api.backend.rag.document_loader import load_file, split from tests.utils.data_path import ( data_path, TXT_FILE_NAME, @@ -12,12 +12,12 @@ WAV_FILE_NAME, XLSX_FILE_NAME, ) -from tests.utils.client import LeapfrogAIClient +from tests.utils.client import CowabungaAIClient @pytest.fixture(scope="session") def client(): - yield LeapfrogAIClient() + yield CowabungaAIClient() file_response: Response diff --git a/tests/integration/api/routes/openai/test_messages.py b/tests/integration/api/routes/openai/test_messages.py index 69a606bb7..82fc75ef9 100644 --- a/tests/integration/api/routes/openai/test_messages.py +++ b/tests/integration/api/routes/openai/test_messages.py @@ -5,16 +5,16 @@ from openai.types.beta import Thread, ThreadDeleted from openai.types.beta.threads import TextContentBlock, Text, Message, MessageDeleted -from leapfrogai_api.typedef.messages import CreateMessageRequest, ModifyMessageRequest -from leapfrogai_api.typedef.threads import ( +from cowabunga_api.typedef.messages import CreateMessageRequest, ModifyMessageRequest +from cowabunga_api.typedef.threads import ( CreateThreadRequest, ) -from tests.utils.client import LeapfrogAIClient +from tests.utils.client import CowabungaAIClient @pytest.fixture(scope="session") def app_client(): - yield LeapfrogAIClient() + yield CowabungaAIClient() # Create a thread with the previously created file and fake embeddings diff --git a/tests/integration/api/routes/openai/test_runs.py b/tests/integration/api/routes/openai/test_runs.py index f98d653c3..325ebe2dc 100644 --- a/tests/integration/api/routes/openai/test_runs.py +++ b/tests/integration/api/routes/openai/test_runs.py @@ -6,20 +6,20 @@ from openai.types.beta.thread import ToolResources, ToolResourcesFileSearch from openai.types.beta.threads import Message, Text, TextContentBlock, Run -from leapfrogai_api.typedef.assistants import ( +from cowabunga_api.typedef.assistants import ( CreateAssistantRequest, ) -from leapfrogai_api.typedef.messages import ( +from cowabunga_api.typedef.messages import ( CreateMessageRequest, ) -from leapfrogai_api.typedef.runs import ( +from cowabunga_api.typedef.runs import ( RunCreateParamsRequest, ) -from leapfrogai_api.typedef.threads import ( +from cowabunga_api.typedef.threads import ( CreateThreadRequest, ThreadRunCreateParamsRequest, ) -from tests.utils.client import LeapfrogAIClient, get_leapfrogai_model +from tests.utils.client import CowabungaAIClient, get_leapfrogai_model starting_assistant = Assistant( id="", @@ -40,7 +40,7 @@ @pytest.fixture(scope="session") def app_client(): - yield LeapfrogAIClient() + yield CowabungaAIClient() @pytest.fixture(scope="session") diff --git a/tests/integration/api/routes/openai/test_threads.py b/tests/integration/api/routes/openai/test_threads.py index 94464fe53..98af8760f 100644 --- a/tests/integration/api/routes/openai/test_threads.py +++ b/tests/integration/api/routes/openai/test_threads.py @@ -6,19 +6,19 @@ from openai.types.beta.thread import ToolResourcesCodeInterpreter, ToolResources from openai.types.beta.threads import TextContentBlock, Text from requests import HTTPError -from leapfrogai_api.typedef.threads import ( +from cowabunga_api.typedef.threads import ( CreateThreadRequest, ModifyThreadRequest, ) -from leapfrogai_api.typedef.messages import ( +from cowabunga_api.typedef.messages import ( CreateMessageRequest, ) -from tests.utils.client import LeapfrogAIClient +from tests.utils.client import CowabungaAIClient @pytest.fixture(scope="session") def app_client(): - yield LeapfrogAIClient() + yield CowabungaAIClient() # Create a thread with the previously created file and fake embeddings diff --git a/tests/integration/api/routes/openai/test_vector_stores.py b/tests/integration/api/routes/openai/test_vector_stores.py index 14071051d..3d44a83ca 100644 --- a/tests/integration/api/routes/openai/test_vector_stores.py +++ b/tests/integration/api/routes/openai/test_vector_stores.py @@ -12,13 +12,13 @@ from openai.types.beta.vector_store import ExpiresAfter from langchain_core.embeddings.fake import FakeEmbeddings -import leapfrogai_api.backend.rag.index -from leapfrogai_api.typedef.vectorstores import ( +import cowabunga_api.backend.rag.index +from cowabunga_api.typedef.vectorstores import ( CreateVectorStoreRequest, ModifyVectorStoreRequest, ) -from leapfrogai_api.routers.openai.vector_stores import router as vector_store_router -from leapfrogai_api.routers.openai.files import router as files_router +from cowabunga_api.routers.openai.vector_stores import router as vector_store_router +from cowabunga_api.routers.openai.files import router as files_router from tests.utils.data_path import data_path, TXT_FILE_NAME INSTRUCTOR_XL_EMBEDDING_SIZE: int = 768 @@ -88,7 +88,7 @@ def create_vector_store(create_file): global expired_vector_store_response # pylint: disable=global-statement # Mock out the embeddings creation using a fake - leapfrogai_api.backend.rag.index.embeddings_type = FakeEmbeddingsWrapper + cowabunga_api.backend.rag.index.embeddings_type = FakeEmbeddingsWrapper request = CreateVectorStoreRequest( file_ids=[create_file["id"]], diff --git a/tests/load/loadtest.py b/tests/load/loadtest.py index 745379e4e..c9e59ac66 100644 --- a/tests/load/loadtest.py +++ b/tests/load/loadtest.py @@ -164,7 +164,7 @@ def stop(self): self.interrupt() -class LeapfrogAIUser(HttpUser): +class CowabungaAIUser(HttpUser): """This class represents a user that will kick off tasks over the life of the test""" # Root url to use for all client requests @@ -184,7 +184,7 @@ def perform_rag_tasks(self): @task def test_list_api_keys(self): - self.client.get("/leapfrogai/v1/auth/list-api-keys") + self.client.get("/cowabunga/v1/auth/list-api-keys") @task def test_openai_models(self): @@ -244,4 +244,4 @@ def test_models(self): @task def test_create_api_key(self): payload = {"name": "Test API Key"} - self.client.post("/leapfrogai/v1/auth/create-api-key", json=payload) + self.client.post("/cowabunga/v1/auth/create-api-key", json=payload) diff --git a/tests/mocks/mock_crud.py b/tests/mocks/mock_crud.py index 051ef830d..d910936c4 100644 --- a/tests/mocks/mock_crud.py +++ b/tests/mocks/mock_crud.py @@ -5,7 +5,7 @@ @pytest.fixture async def mock_crud_base(): with patch( - "leapfrogai_api.data.crud_message.CRUDBase", autospec=True + "cowabunga_api.data.crud_message.CRUDBase", autospec=True ) as mock_crud_base: mock_crud_base.create = AsyncMock() mock_crud_base.get = AsyncMock() diff --git a/tests/pytest/leapfrogai_api/test_api.py b/tests/pytest/leapfrogai_api/test_api.py index ec6460fda..71ab4ff5f 100644 --- a/tests/pytest/leapfrogai_api/test_api.py +++ b/tests/pytest/leapfrogai_api/test_api.py @@ -10,21 +10,21 @@ from fastapi.testclient import TestClient from starlette.middleware.base import _CachedRequest from supabase import ClientOptions -from leapfrogai_api.typedef.chat import ChatCompletionRequest, ChatMessage -from leapfrogai_api.typedef.completion import CompletionRequest -from leapfrogai_api.typedef.embeddings import CreateEmbeddingRequest -from leapfrogai_api.main import app -from leapfrogai_api.routers.supabase_session import init_supabase_client +from cowabunga_api.typedef.chat import ChatCompletionRequest, ChatMessage +from cowabunga_api.typedef.completion import CompletionRequest +from cowabunga_api.typedef.embeddings import CreateEmbeddingRequest +from cowabunga_api.main import app +from cowabunga_api.routers.supabase_session import init_supabase_client from tests.utils.data_path import data_path, WAV_FILE, WAV_FILE_ARABIC security = HTTPBearer() # Set environment variables that the TestClient will use -LFAI_CONFIG_FILENAME = os.environ["LFAI_CONFIG_FILENAME"] = "repeater-test-config.yaml" -LFAI_CONFIG_PATH = os.environ["LFAI_CONFIG_PATH"] = os.path.join( +COWABUNGA_CONFIG_FILENAME = os.environ["COWABUNGA_CONFIG_FILENAME"] = "repeater-test-config.yaml" +COWABUNGA_CONFIG_PATH = os.environ["COWABUNGA_CONFIG_PATH"] = os.path.join( os.path.dirname(__file__), "fixtures" ) -LFAI_CONFIG_FILEPATH = os.path.join(LFAI_CONFIG_PATH, LFAI_CONFIG_FILENAME) +COWABUNGA_CONFIG_FILEPATH = os.path.join(COWABUNGA_CONFIG_PATH, COWABUNGA_CONFIG_FILENAME) MODEL = "repeater" TEXT_INPUT = ( @@ -79,14 +79,14 @@ def dummy_auth_middleware(): def test_config_load(): """Test that the config is loaded correctly.""" with TestClient(app) as client: - response = client.get("/leapfrogai/v1/models") + response = client.get("/cowabunga/v1/models") assert response.status_code == 200 expected_response = { "config_sources": {"repeater-test-config.yaml": [MODEL]}, "models": {MODEL: {"backend": "localhost:50051", "name": MODEL}}, - "directory": LFAI_CONFIG_PATH, - "filename": LFAI_CONFIG_FILENAME, + "directory": COWABUNGA_CONFIG_PATH, + "filename": COWABUNGA_CONFIG_FILENAME, } assert response.json() == expected_response @@ -95,20 +95,20 @@ def test_config_delete(tmp_path): """Test that the config is deleted correctly.""" # Move repeater-test-config.yaml to temp dir so that we can remove it at a later step tmp_config_filepath = shutil.copyfile( - LFAI_CONFIG_FILEPATH, os.path.join(tmp_path, LFAI_CONFIG_FILENAME) + COWABUNGA_CONFIG_FILEPATH, os.path.join(tmp_path, COWABUNGA_CONFIG_FILENAME) ) - os.environ["LFAI_CONFIG_PATH"] = str(tmp_path) + os.environ["COWABUNGA_CONFIG_PATH"] = str(tmp_path) with TestClient(app) as client: # Ensure the API loads the temp config - response = client.get("/leapfrogai/v1/models") + response = client.get("/cowabunga/v1/models") assert response.status_code == 200 expected_response = { "config_sources": {"repeater-test-config.yaml": [MODEL]}, "models": {MODEL: {"backend": "localhost:50051", "name": MODEL}}, - "directory": os.environ["LFAI_CONFIG_PATH"], - "filename": LFAI_CONFIG_FILENAME, + "directory": os.environ["COWABUNGA_CONFIG_PATH"], + "filename": COWABUNGA_CONFIG_FILENAME, } assert response.json() == expected_response @@ -119,18 +119,18 @@ def test_config_delete(tmp_path): time.sleep(0.5) # Assert response is now empty - response = client.get("/leapfrogai/v1/models") + response = client.get("/cowabunga/v1/models") assert response.status_code == 200 expected_empty_response = { "config_sources": {}, "models": {}, - "directory": os.environ["LFAI_CONFIG_PATH"], - "filename": LFAI_CONFIG_FILENAME, + "directory": os.environ["COWABUNGA_CONFIG_PATH"], + "filename": COWABUNGA_CONFIG_FILENAME, } assert response.json() == expected_empty_response # Reset the environment variable - os.environ["LFAI_CONFIG_PATH"] = os.path.join(os.path.dirname(__file__), "fixtures") + os.environ["COWABUNGA_CONFIG_PATH"] = os.path.join(os.path.dirname(__file__), "fixtures") def test_routes(): @@ -138,7 +138,7 @@ def test_routes(): expected_routes = { "/docs": ["GET", "HEAD"], "/healthz": ["GET"], - "/leapfrogai/v1/models": ["GET"], + "/cowabunga/v1/models": ["GET"], "/openai/v1/models": ["GET"], "/openai/v1/completions": ["POST"], "/openai/v1/chat/completions": ["POST"], @@ -147,8 +147,8 @@ def test_routes(): "/openai/v1/audio/translations": ["POST"], "/openai/v1/files": ["POST"], "/openai/v1/assistants": ["POST"], - "/leapfrogai/v1/count/tokens": ["POST"], - "/leapfrogai/v1/rag/configure": ["GET", "PATCH"], + "/cowabunga/v1/count/tokens": ["POST"], + "/cowabunga/v1/rag/configure": ["GET", "PATCH"], } openai_routes = [ @@ -230,8 +230,8 @@ def test_healthz(): @pytest.mark.skipif( - os.environ.get("LFAI_RUN_REPEATER_TESTS") != "true", - reason="LFAI_RUN_REPEATER_TESTS envvar was not set to true", + os.environ.get("COWABUNGA_RUN_REPEATER_TESTS") != "true", + reason="COWABUNGA_RUN_REPEATER_TESTS envvar was not set to true", ) def test_embedding(dummy_auth_middleware): """Test the embedding endpoint.""" @@ -260,8 +260,8 @@ def test_embedding(dummy_auth_middleware): @pytest.mark.skipif( - os.environ.get("LFAI_RUN_REPEATER_TESTS") != "true", - reason="LFAI_RUN_REPEATER_TESTS envvar was not set to true", + os.environ.get("COWABUNGA_RUN_REPEATER_TESTS") != "true", + reason="COWABUNGA_RUN_REPEATER_TESTS envvar was not set to true", ) def test_transcription(dummy_auth_middleware): """Test the transcription endpoint.""" @@ -282,8 +282,8 @@ def test_transcription(dummy_auth_middleware): @pytest.mark.skipif( - os.environ.get("LFAI_RUN_REPEATER_TESTS") != "true", - reason="LFAI_RUN_REPEATER_TESTS envvar was not set to true", + os.environ.get("COWABUNGA_RUN_REPEATER_TESTS") != "true", + reason="COWABUNGA_RUN_REPEATER_TESTS envvar was not set to true", ) def test_translation(dummy_auth_middleware): """Test the translation endpoint.""" @@ -304,8 +304,8 @@ def test_translation(dummy_auth_middleware): @pytest.mark.skipif( - os.environ.get("LFAI_RUN_REPEATER_TESTS") != "true", - reason="LFAI_RUN_REPEATER_TESTS envvar was not set to true", + os.environ.get("COWABUNGA_RUN_REPEATER_TESTS") != "true", + reason="COWABUNGA_RUN_REPEATER_TESTS envvar was not set to true", ) def test_completion(dummy_auth_middleware): """Test the completion endpoint.""" @@ -347,8 +347,8 @@ def test_completion(dummy_auth_middleware): @pytest.mark.skipif( - os.environ.get("LFAI_RUN_REPEATER_TESTS") != "true", - reason="LFAI_RUN_REPEATER_TESTS envvar was not set to true", + os.environ.get("COWABUNGA_RUN_REPEATER_TESTS") != "true", + reason="COWABUNGA_RUN_REPEATER_TESTS envvar was not set to true", ) def test_stream_completion(dummy_auth_middleware): """Test the stream completion endpoint.""" @@ -407,8 +407,8 @@ def test_stream_completion(dummy_auth_middleware): @pytest.mark.skipif( - os.environ.get("LFAI_RUN_REPEATER_TESTS") != "true", - reason="LFAI_RUN_REPEATER_TESTS envvar was not set to true", + os.environ.get("COWABUNGA_RUN_REPEATER_TESTS") != "true", + reason="COWABUNGA_RUN_REPEATER_TESTS envvar was not set to true", ) def test_chat_completion(dummy_auth_middleware): """Test the chat completion endpoint.""" @@ -453,8 +453,8 @@ def test_chat_completion(dummy_auth_middleware): @pytest.mark.skipif( - os.environ.get("LFAI_RUN_REPEATER_TESTS") != "true", - reason="LFAI_RUN_REPEATER_TESTS envvar was not set to true", + os.environ.get("COWABUNGA_RUN_REPEATER_TESTS") != "true", + reason="COWABUNGA_RUN_REPEATER_TESTS envvar was not set to true", ) def test_stream_chat_completion(dummy_auth_middleware): """Test the stream chat completion endpoint.""" @@ -524,15 +524,15 @@ def test_stream_chat_completion(dummy_auth_middleware): @pytest.mark.skipif( - os.environ.get("LFAI_RUN_REPEATER_TESTS") != "true", - reason="LFAI_RUN_REPEATER_TESTS envvar was not set to true", + os.environ.get("COWABUNGA_RUN_REPEATER_TESTS") != "true", + reason="COWABUNGA_RUN_REPEATER_TESTS envvar was not set to true", ) def test_token_count(dummy_auth_middleware): """Test the token count endpoint.""" with TestClient(app) as client: input_text = "This is a test sentence for token counting." token_count_request = {"model": "repeater", "text": input_text} - response = client.post("/leapfrogai/v1/count/tokens", json=token_count_request) + response = client.post("/cowabunga/v1/count/tokens", json=token_count_request) assert response.status_code == 200 response_data = response.json() @@ -542,9 +542,9 @@ def test_token_count(dummy_auth_middleware): @pytest.mark.skipif( - os.environ.get("LFAI_RUN_REPEATER_TESTS") != "true" + os.environ.get("COWABUNGA_RUN_REPEATER_TESTS") != "true" or os.environ.get("DEV") != "true", - reason="LFAI_RUN_REPEATER_TESTS envvar was not set to true", + reason="COWABUNGA_RUN_REPEATER_TESTS envvar was not set to true", ) def test_configure(dummy_auth_middleware): """Test the RAG configuration endpoints.""" @@ -555,11 +555,11 @@ def test_configure(dummy_auth_middleware): "rag_top_k_when_reranking": 50, } response = client.patch( - "/leapfrogai/v1/rag/configure", json=rag_configuration_request + "/cowabunga/v1/rag/configure", json=rag_configuration_request ) assert response.status_code == 200 - response = client.get("/leapfrogai/v1/rag/configure") + response = client.get("/cowabunga/v1/rag/configure") assert response.status_code == 200 response_data = response.json() assert "enable_reranking" in response_data @@ -575,11 +575,11 @@ def test_configure(dummy_auth_middleware): # Update only some of the configs to see if the existing ones persist rag_configuration_request = {"ranking_model": "flashrank"} response = client.patch( - "/leapfrogai/v1/rag/configure", json=rag_configuration_request + "/cowabunga/v1/rag/configure", json=rag_configuration_request ) assert response.status_code == 200 - response = client.get("/leapfrogai/v1/rag/configure") + response = client.get("/cowabunga/v1/rag/configure") assert response.status_code == 200 response_data = response.json() assert "enable_reranking" in response_data diff --git a/tests/unit/leapfrogai_api/data/test_crud_base.py b/tests/unit/leapfrogai_api/data/test_crud_base.py index 5356a42ab..d9cea9b84 100644 --- a/tests/unit/leapfrogai_api/data/test_crud_base.py +++ b/tests/unit/leapfrogai_api/data/test_crud_base.py @@ -3,7 +3,7 @@ from tests.utils.crud_utils import MockAPIResponse from tests.mocks.mock_tables import mock_data_model, MockModel -from src.leapfrogai_api.data.crud_base import CRUDBase +from src.cowabunga_api.data.crud_base import CRUDBase class MockModelNoID(BaseModel): diff --git a/tests/unit/leapfrogai_api/routers/openai/test_threads.py b/tests/unit/leapfrogai_api/routers/openai/test_threads.py index c02853c87..01d29c6ab 100644 --- a/tests/unit/leapfrogai_api/routers/openai/test_threads.py +++ b/tests/unit/leapfrogai_api/routers/openai/test_threads.py @@ -9,10 +9,10 @@ ToolResourcesFileSearch, ) -from leapfrogai_api.typedef.threads import ModifyThreadRequest, CreateThreadRequest -from leapfrogai_api.data.crud_thread import CRUDThread -from leapfrogai_api.data.crud_message import CRUDMessage -from leapfrogai_api.routers.openai.threads import ( +from cowabunga_api.typedef.threads import ModifyThreadRequest, CreateThreadRequest +from cowabunga_api.data.crud_thread import CRUDThread +from cowabunga_api.data.crud_message import CRUDMessage +from cowabunga_api.routers.openai.threads import ( create_thread, retrieve_thread, modify_thread, diff --git a/tests/utils/client.py b/tests/utils/client.py index e4ba32a08..1084a3e3b 100644 --- a/tests/utils/client.py +++ b/tests/utils/client.py @@ -7,13 +7,13 @@ def get_leapfrogai_model() -> str: - """Get the model to use for LeapfrogAI. + """Get the model to use for CowabungaAI. Returns: - str: The model to use for LeapfrogAI. (default: "vllm") + str: The model to use for CowabungaAI. (default: "vllm") """ - return os.getenv("LEAPFROGAI_MODEL", "vllm") + return os.getenv("COWABUNGA_MODEL", "vllm") def get_openai_key() -> str: @@ -43,47 +43,47 @@ def get_openai_model() -> str: return os.getenv("OPENAI_MODEL", "gpt-4o-mini") -def get_leapfrogai_api_key() -> str: - """Get the API key for the LeapfrogAI API. +def get_cowabunga_api_key() -> str: + """Get the API key for the CowabungaAI API. - Set via the LEAPFROGAI_API_KEY environment variable or the SUPABASE_USER_JWT environment variable in that order. + Set via the COWABUNGA_API_KEY environment variable or the SUPABASE_USER_JWT environment variable in that order. Returns: - str: The API key for the LeapfrogAI API. + str: The API key for the CowabungaAI API. Raises: - ValueError: If LEAPFROGAI_API_KEY or SUPABASE_USER_JWT is not set. + ValueError: If COWABUNGA_API_KEY or SUPABASE_USER_JWT is not set. """ - api_key = os.getenv("LEAPFROGAI_API_KEY") or os.getenv("SUPABASE_USER_JWT") + api_key = os.getenv("COWABUNGA_API_KEY") or os.getenv("SUPABASE_USER_JWT") if api_key is None: - raise ValueError("LEAPFROGAI_API_KEY or SUPABASE_USER_JWT not set") + raise ValueError("COWABUNGA_API_KEY or SUPABASE_USER_JWT not set") return api_key -def get_leapfrogai_api_url() -> str: - """Get the URL for the LeapfrogAI API. +def get_cowabunga_api_url() -> str: + """Get the URL for the CowabungaAI API. Returns: - str: The URL for the LeapfrogAI API. (default: "https://leapfrogai-api.uds.dev/openai/v1") + str: The URL for the CowabungaAI API. (default: "https://cowabunga-api.uds.dev/openai/v1") """ - return os.getenv("LEAPFROGAI_API_URL", "https://leapfrogai-api.uds.dev/openai/v1") + return os.getenv("COWABUNGA_API_URL", "https://cowabunga-api.uds.dev/openai/v1") -def get_leapfrogai_api_url_base() -> str: - """Get the base URL for the LeapfrogAI API. +def get_cowabunga_api_url_base() -> str: + """Get the base URL for the CowabungaAI API. Set via the LEAPFRAGAI_API_URL environment variable. - If LEAPFRAGAI_API_URL is set to "https://leapfrogai-api.uds.dev/openai/v1", this will trim off the "/openai/v1" part. + If LEAPFRAGAI_API_URL is set to "https://cowabunga-api.uds.dev/openai/v1", this will trim off the "/openai/v1" part. Returns: - str: The base URL for the LeapfrogAI API. (default: "https://leapfrogai-api.uds.dev") + str: The base URL for the CowabungaAI API. (default: "https://cowabunga-api.uds.dev") """ - url = os.getenv("LEAPFROGAI_API_URL", "https://leapfrogai-api.uds.dev") + url = os.getenv("COWABUNGA_API_URL", "https://cowabunga-api.uds.dev") if url.endswith("/openai/v1"): return url[:-9] return url @@ -99,14 +99,14 @@ def openai_client() -> OpenAI: def leapfrogai_client() -> OpenAI: - """Create an OpenAI client using the LEAPFROGAI_API_URL and LEAPFROGAI_API_KEY or SUPABASE_USER_JWT. + """Create an OpenAI client using the COWABUNGA_API_URL and COWABUNGA_API_KEY or SUPABASE_USER_JWT. returns: OpenAI: An OpenAI client. """ return OpenAI( - base_url=get_leapfrogai_api_url(), - api_key=get_leapfrogai_api_key(), + base_url=get_cowabunga_api_url(), + api_key=get_cowabunga_api_key(), ) @@ -131,18 +131,18 @@ def client_config_factory(client_name: str) -> ClientConfig: raise ValueError(f"Unknown client name: {client_name}") -class LeapfrogAIClient: - """Client for handling queries in the LeapfrogAI namespace that are not handled by the OpenAI SDK. +class CowabungaAIClient: + """Client for handling queries in the CowabungaAI namespace that are not handled by the OpenAI SDK. - Wraps the requests library to make HTTP requests to the LeapfrogAI API. + Wraps the requests library to make HTTP requests to the CowabungaAI API. Raises: requests.HTTPError: If the response status code is not a 2xx status code. """ def __init__(self, base_url: str | None = None, api_key: str | None = None): - self.base_url = base_url or get_leapfrogai_api_url_base() - self.api_key = api_key or get_leapfrogai_api_key() + self.base_url = base_url or get_cowabunga_api_url_base() + self.api_key = api_key or get_cowabunga_api_key() self.headers = { "accept": "application/json", "Authorization": f"Bearer {self.api_key}",