diff --git a/Makefile b/Makefile index e5fd3ce..484687e 100644 --- a/Makefile +++ b/Makefile @@ -1,27 +1,30 @@ .PHONY: install test test-django test-react test-integration docker-up docker-down clean +DJANGO = packages/mizan-rpc/adapters/django +REACT = packages/mizan-csr/adapters/react + # ─── Setup ─────────────────────────────────────────────────────────────────── install: - cd django && pip install -e ".[dev,channels]" - cd react && npm install + cd $(DJANGO) && uv pip install -e ".[dev,channels]" + cd $(REACT) && npm install # ─── Unit Tests ────────────────────────────────────────────────────────────── test: test-django test-react test-django: - cd django && pytest + cd $(DJANGO) && uv run pytest test-react: - cd react && npm test + cd $(REACT) && npm test # ─── Integration Tests ────────────────────────────────────────────────────── test-integration: docker-up @echo "Waiting for backend..." @timeout 30 sh -c 'until curl -sf http://localhost:8000/api/mizan/session/ > /dev/null 2>&1; do sleep 1; done' - cd react && npm run test:integration + cd $(REACT) && npm run test:integration @$(MAKE) docker-down # ─── Docker ────────────────────────────────────────────────────────────────── @@ -41,6 +44,6 @@ test-all: test test-integration clean: docker compose -f examples/django-react-site/docker-compose.test.yml down -v --remove-orphans 2>/dev/null || true - rm -rf django/src/mizan.egg-info django/dist django/build - rm -rf react/dist react/node_modules + rm -rf $(DJANGO)/src/mizan.egg-info $(DJANGO)/dist $(DJANGO)/build + rm -rf $(REACT)/dist $(REACT)/node_modules rm -f examples/django-react-site/backend/db.sqlite3 diff --git a/README.md b/README.md index 952a5a6..ad1e1af 100644 --- a/README.md +++ b/README.md @@ -269,10 +269,10 @@ chat.send({ text: 'hello' }) ```bash # Django unit tests -cd django && uv sync --extra dev --extra channels && uv run pytest +cd packages/mizan-rpc/adapters/django && uv sync --extra dev --extra channels && uv run pytest # React unit tests -cd react && npm test +cd packages/mizan-csr/adapters/react && npm test # E2E integration tests (real browser, real backend) docker compose -f examples/django-react-site/docker-compose.test.yml up -d @@ -287,10 +287,16 @@ make test-all ``` mizan/ - django/ Python package (mizan) - react/ TypeScript package (@rythazhur/mizan) + packages/ + mizan-ast/ Language layer (source → KDL schema) + mizan-schema/ IR layer (KDL schema definition) + mizan-rpc/ Protocol layer (client generation + server adapters) + adapters/django/ Django server adapter + generator/ Codegen CLI + mizan-csr/ State layer (client state engine + frontend adapters) + adapters/react/ React adapter + mizan-ssr/ Rendering layer (server-side rendering) examples/ - django-react-site/ E2E tests, React harness, Django backend + django-react-site/ E2E tests + Django backend django-react-desktop-app/ PyWebView desktop app - Makefile Test orchestration ``` diff --git a/examples/django-react-site/Dockerfile.test b/examples/django-react-site/Dockerfile.test index f08fe66..3e2ea2b 100644 --- a/examples/django-react-site/Dockerfile.test +++ b/examples/django-react-site/Dockerfile.test @@ -8,7 +8,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ && rm -rf /var/lib/apt/lists/* # Install mizan from local source with channels support -COPY django/ /app/django/ +COPY packages/mizan-rpc/adapters/django/ /app/django/ RUN pip install --no-cache-dir /app/django[channels] daphne # Copy example app diff --git a/examples/django-react-site/harness/django.config.mjs b/examples/django-react-site/harness/django.config.mjs index 0693dd8..95e6afc 100644 --- a/examples/django-react-site/harness/django.config.mjs +++ b/examples/django-react-site/harness/django.config.mjs @@ -10,9 +10,9 @@ export default { source: { django: { managePath: path.join(root, 'examples/django-react-site/backend/manage.py'), - command: [path.join(root, 'django/.venv/bin/python')], + command: [path.join(root, 'packages/mizan-rpc/adapters/django/.venv/bin/python')], env: { - PYTHONPATH: `${path.join(root, 'django/src')}:${path.join(root, 'examples/django-react-site/backend')}`, + PYTHONPATH: `${path.join(root, 'packages/mizan-rpc/adapters/django/src')}:${path.join(root, 'examples/django-react-site/backend')}`, DJANGO_SETTINGS_MODULE: 'testapp.settings', }, }, diff --git a/react/.gitignore b/packages/mizan-csr/adapters/react/.gitignore similarity index 100% rename from react/.gitignore rename to packages/mizan-csr/adapters/react/.gitignore diff --git a/react/README.md b/packages/mizan-csr/adapters/react/README.md similarity index 100% rename from react/README.md rename to packages/mizan-csr/adapters/react/README.md diff --git a/react/package.json b/packages/mizan-csr/adapters/react/package.json similarity index 100% rename from react/package.json rename to packages/mizan-csr/adapters/react/package.json diff --git a/react/src/__tests__/context.test.tsx b/packages/mizan-csr/adapters/react/src/__tests__/context.test.tsx similarity index 100% rename from react/src/__tests__/context.test.tsx rename to packages/mizan-csr/adapters/react/src/__tests__/context.test.tsx diff --git a/react/src/__tests__/errors.test.ts b/packages/mizan-csr/adapters/react/src/__tests__/errors.test.ts similarity index 100% rename from react/src/__tests__/errors.test.ts rename to packages/mizan-csr/adapters/react/src/__tests__/errors.test.ts diff --git a/react/src/__tests__/forms.test.tsx b/packages/mizan-csr/adapters/react/src/__tests__/forms.test.tsx similarity index 100% rename from react/src/__tests__/forms.test.tsx rename to packages/mizan-csr/adapters/react/src/__tests__/forms.test.tsx diff --git a/react/src/__tests__/integration.test.tsx b/packages/mizan-csr/adapters/react/src/__tests__/integration.test.tsx similarity index 100% rename from react/src/__tests__/integration.test.tsx rename to packages/mizan-csr/adapters/react/src/__tests__/integration.test.tsx diff --git a/react/src/allauth/adapters/router.ts b/packages/mizan-csr/adapters/react/src/allauth/adapters/router.ts similarity index 100% rename from react/src/allauth/adapters/router.ts rename to packages/mizan-csr/adapters/react/src/allauth/adapters/router.ts diff --git a/react/src/allauth/api.ts b/packages/mizan-csr/adapters/react/src/allauth/api.ts similarity index 100% rename from react/src/allauth/api.ts rename to packages/mizan-csr/adapters/react/src/allauth/api.ts diff --git a/react/src/allauth/components/AllauthRouter.tsx b/packages/mizan-csr/adapters/react/src/allauth/components/AllauthRouter.tsx similarity index 100% rename from react/src/allauth/components/AllauthRouter.tsx rename to packages/mizan-csr/adapters/react/src/allauth/components/AllauthRouter.tsx diff --git a/react/src/allauth/components/AllauthUI.tsx b/packages/mizan-csr/adapters/react/src/allauth/components/AllauthUI.tsx similarity index 100% rename from react/src/allauth/components/AllauthUI.tsx rename to packages/mizan-csr/adapters/react/src/allauth/components/AllauthUI.tsx diff --git a/react/src/allauth/components/AuthCard.tsx b/packages/mizan-csr/adapters/react/src/allauth/components/AuthCard.tsx similarity index 100% rename from react/src/allauth/components/AuthCard.tsx rename to packages/mizan-csr/adapters/react/src/allauth/components/AuthCard.tsx diff --git a/react/src/allauth/components/AuthDjangoForm.tsx b/packages/mizan-csr/adapters/react/src/allauth/components/AuthDjangoForm.tsx similarity index 100% rename from react/src/allauth/components/AuthDjangoForm.tsx rename to packages/mizan-csr/adapters/react/src/allauth/components/AuthDjangoForm.tsx diff --git a/react/src/allauth/components/AuthForm.tsx b/packages/mizan-csr/adapters/react/src/allauth/components/AuthForm.tsx similarity index 100% rename from react/src/allauth/components/AuthForm.tsx rename to packages/mizan-csr/adapters/react/src/allauth/components/AuthForm.tsx diff --git a/react/src/allauth/components/AuthFormPage.tsx b/packages/mizan-csr/adapters/react/src/allauth/components/AuthFormPage.tsx similarity index 100% rename from react/src/allauth/components/AuthFormPage.tsx rename to packages/mizan-csr/adapters/react/src/allauth/components/AuthFormPage.tsx diff --git a/react/src/allauth/components/PasskeyLogin.tsx b/packages/mizan-csr/adapters/react/src/allauth/components/PasskeyLogin.tsx similarity index 100% rename from react/src/allauth/components/PasskeyLogin.tsx rename to packages/mizan-csr/adapters/react/src/allauth/components/PasskeyLogin.tsx diff --git a/react/src/allauth/components/ProviderList.tsx b/packages/mizan-csr/adapters/react/src/allauth/components/ProviderList.tsx similarity index 100% rename from react/src/allauth/components/ProviderList.tsx rename to packages/mizan-csr/adapters/react/src/allauth/components/ProviderList.tsx diff --git a/react/src/allauth/components/index.ts b/packages/mizan-csr/adapters/react/src/allauth/components/index.ts similarity index 100% rename from react/src/allauth/components/index.ts rename to packages/mizan-csr/adapters/react/src/allauth/components/index.ts diff --git a/react/src/allauth/components/settings/AuthSettings.tsx b/packages/mizan-csr/adapters/react/src/allauth/components/settings/AuthSettings.tsx similarity index 100% rename from react/src/allauth/components/settings/AuthSettings.tsx rename to packages/mizan-csr/adapters/react/src/allauth/components/settings/AuthSettings.tsx diff --git a/react/src/allauth/components/settings/ConnectionsSection.tsx b/packages/mizan-csr/adapters/react/src/allauth/components/settings/ConnectionsSection.tsx similarity index 100% rename from react/src/allauth/components/settings/ConnectionsSection.tsx rename to packages/mizan-csr/adapters/react/src/allauth/components/settings/ConnectionsSection.tsx diff --git a/react/src/allauth/components/settings/EmailsSection.tsx b/packages/mizan-csr/adapters/react/src/allauth/components/settings/EmailsSection.tsx similarity index 100% rename from react/src/allauth/components/settings/EmailsSection.tsx rename to packages/mizan-csr/adapters/react/src/allauth/components/settings/EmailsSection.tsx diff --git a/react/src/allauth/components/settings/MFASection.tsx b/packages/mizan-csr/adapters/react/src/allauth/components/settings/MFASection.tsx similarity index 100% rename from react/src/allauth/components/settings/MFASection.tsx rename to packages/mizan-csr/adapters/react/src/allauth/components/settings/MFASection.tsx diff --git a/react/src/allauth/components/settings/PasskeysSection.tsx b/packages/mizan-csr/adapters/react/src/allauth/components/settings/PasskeysSection.tsx similarity index 100% rename from react/src/allauth/components/settings/PasskeysSection.tsx rename to packages/mizan-csr/adapters/react/src/allauth/components/settings/PasskeysSection.tsx diff --git a/react/src/allauth/components/settings/PasswordSection.tsx b/packages/mizan-csr/adapters/react/src/allauth/components/settings/PasswordSection.tsx similarity index 100% rename from react/src/allauth/components/settings/PasswordSection.tsx rename to packages/mizan-csr/adapters/react/src/allauth/components/settings/PasswordSection.tsx diff --git a/react/src/allauth/components/settings/ProfileSection.tsx b/packages/mizan-csr/adapters/react/src/allauth/components/settings/ProfileSection.tsx similarity index 100% rename from react/src/allauth/components/settings/ProfileSection.tsx rename to packages/mizan-csr/adapters/react/src/allauth/components/settings/ProfileSection.tsx diff --git a/react/src/allauth/components/settings/SessionsSection.tsx b/packages/mizan-csr/adapters/react/src/allauth/components/settings/SessionsSection.tsx similarity index 100% rename from react/src/allauth/components/settings/SessionsSection.tsx rename to packages/mizan-csr/adapters/react/src/allauth/components/settings/SessionsSection.tsx diff --git a/react/src/allauth/components/settings/SettingsComponents.tsx b/packages/mizan-csr/adapters/react/src/allauth/components/settings/SettingsComponents.tsx similarity index 100% rename from react/src/allauth/components/settings/SettingsComponents.tsx rename to packages/mizan-csr/adapters/react/src/allauth/components/settings/SettingsComponents.tsx diff --git a/react/src/allauth/components/settings/index.ts b/packages/mizan-csr/adapters/react/src/allauth/components/settings/index.ts similarity index 100% rename from react/src/allauth/components/settings/index.ts rename to packages/mizan-csr/adapters/react/src/allauth/components/settings/index.ts diff --git a/react/src/allauth/components/views/LoginView.tsx b/packages/mizan-csr/adapters/react/src/allauth/components/views/LoginView.tsx similarity index 100% rename from react/src/allauth/components/views/LoginView.tsx rename to packages/mizan-csr/adapters/react/src/allauth/components/views/LoginView.tsx diff --git a/react/src/allauth/components/views/MFAChooserView.tsx b/packages/mizan-csr/adapters/react/src/allauth/components/views/MFAChooserView.tsx similarity index 100% rename from react/src/allauth/components/views/MFAChooserView.tsx rename to packages/mizan-csr/adapters/react/src/allauth/components/views/MFAChooserView.tsx diff --git a/react/src/allauth/components/views/MFARecoveryCodesView.tsx b/packages/mizan-csr/adapters/react/src/allauth/components/views/MFARecoveryCodesView.tsx similarity index 100% rename from react/src/allauth/components/views/MFARecoveryCodesView.tsx rename to packages/mizan-csr/adapters/react/src/allauth/components/views/MFARecoveryCodesView.tsx diff --git a/react/src/allauth/components/views/MFATOTPView.tsx b/packages/mizan-csr/adapters/react/src/allauth/components/views/MFATOTPView.tsx similarity index 100% rename from react/src/allauth/components/views/MFATOTPView.tsx rename to packages/mizan-csr/adapters/react/src/allauth/components/views/MFATOTPView.tsx diff --git a/react/src/allauth/components/views/MFAWebAuthnView.tsx b/packages/mizan-csr/adapters/react/src/allauth/components/views/MFAWebAuthnView.tsx similarity index 100% rename from react/src/allauth/components/views/MFAWebAuthnView.tsx rename to packages/mizan-csr/adapters/react/src/allauth/components/views/MFAWebAuthnView.tsx diff --git a/react/src/allauth/components/views/SignupView.tsx b/packages/mizan-csr/adapters/react/src/allauth/components/views/SignupView.tsx similarity index 100% rename from react/src/allauth/components/views/SignupView.tsx rename to packages/mizan-csr/adapters/react/src/allauth/components/views/SignupView.tsx diff --git a/react/src/allauth/components/views/index.ts b/packages/mizan-csr/adapters/react/src/allauth/components/views/index.ts similarity index 100% rename from react/src/allauth/components/views/index.ts rename to packages/mizan-csr/adapters/react/src/allauth/components/views/index.ts diff --git a/react/src/allauth/config.ts b/packages/mizan-csr/adapters/react/src/allauth/config.ts similarity index 100% rename from react/src/allauth/config.ts rename to packages/mizan-csr/adapters/react/src/allauth/config.ts diff --git a/react/src/allauth/contexts/APIContext.tsx b/packages/mizan-csr/adapters/react/src/allauth/contexts/APIContext.tsx similarity index 100% rename from react/src/allauth/contexts/APIContext.tsx rename to packages/mizan-csr/adapters/react/src/allauth/contexts/APIContext.tsx diff --git a/react/src/allauth/contexts/AllauthContext.tsx b/packages/mizan-csr/adapters/react/src/allauth/contexts/AllauthContext.tsx similarity index 100% rename from react/src/allauth/contexts/AllauthContext.tsx rename to packages/mizan-csr/adapters/react/src/allauth/contexts/AllauthContext.tsx diff --git a/react/src/allauth/contexts/AuthContext.tsx b/packages/mizan-csr/adapters/react/src/allauth/contexts/AuthContext.tsx similarity index 100% rename from react/src/allauth/contexts/AuthContext.tsx rename to packages/mizan-csr/adapters/react/src/allauth/contexts/AuthContext.tsx diff --git a/react/src/allauth/contexts/ConfigContext.tsx b/packages/mizan-csr/adapters/react/src/allauth/contexts/ConfigContext.tsx similarity index 100% rename from react/src/allauth/contexts/ConfigContext.tsx rename to packages/mizan-csr/adapters/react/src/allauth/contexts/ConfigContext.tsx diff --git a/react/src/allauth/contexts/RouterContext.tsx b/packages/mizan-csr/adapters/react/src/allauth/contexts/RouterContext.tsx similarity index 100% rename from react/src/allauth/contexts/RouterContext.tsx rename to packages/mizan-csr/adapters/react/src/allauth/contexts/RouterContext.tsx diff --git a/react/src/allauth/contexts/StylesContext.tsx b/packages/mizan-csr/adapters/react/src/allauth/contexts/StylesContext.tsx similarity index 100% rename from react/src/allauth/contexts/StylesContext.tsx rename to packages/mizan-csr/adapters/react/src/allauth/contexts/StylesContext.tsx diff --git a/react/src/allauth/contexts/index.ts b/packages/mizan-csr/adapters/react/src/allauth/contexts/index.ts similarity index 100% rename from react/src/allauth/contexts/index.ts rename to packages/mizan-csr/adapters/react/src/allauth/contexts/index.ts diff --git a/react/src/allauth/defines.ts b/packages/mizan-csr/adapters/react/src/allauth/defines.ts similarity index 100% rename from react/src/allauth/defines.ts rename to packages/mizan-csr/adapters/react/src/allauth/defines.ts diff --git a/react/src/allauth/events.ts b/packages/mizan-csr/adapters/react/src/allauth/events.ts similarity index 100% rename from react/src/allauth/events.ts rename to packages/mizan-csr/adapters/react/src/allauth/events.ts diff --git a/react/src/allauth/hydration.ts b/packages/mizan-csr/adapters/react/src/allauth/hydration.ts similarity index 100% rename from react/src/allauth/hydration.ts rename to packages/mizan-csr/adapters/react/src/allauth/hydration.ts diff --git a/react/src/allauth/index.ts b/packages/mizan-csr/adapters/react/src/allauth/index.ts similarity index 100% rename from react/src/allauth/index.ts rename to packages/mizan-csr/adapters/react/src/allauth/index.ts diff --git a/react/src/allauth/nextjs.tsx b/packages/mizan-csr/adapters/react/src/allauth/nextjs.tsx similarity index 100% rename from react/src/allauth/nextjs.tsx rename to packages/mizan-csr/adapters/react/src/allauth/nextjs.tsx diff --git a/react/src/allauth/routing.tsx b/packages/mizan-csr/adapters/react/src/allauth/routing.tsx similarity index 100% rename from react/src/allauth/routing.tsx rename to packages/mizan-csr/adapters/react/src/allauth/routing.tsx diff --git a/react/src/allauth/styles/types.ts b/packages/mizan-csr/adapters/react/src/allauth/styles/types.ts similarity index 100% rename from react/src/allauth/styles/types.ts rename to packages/mizan-csr/adapters/react/src/allauth/styles/types.ts diff --git a/react/src/allauth/types.ts b/packages/mizan-csr/adapters/react/src/allauth/types.ts similarity index 100% rename from react/src/allauth/types.ts rename to packages/mizan-csr/adapters/react/src/allauth/types.ts diff --git a/react/src/channels/__tests__/connection.test.ts b/packages/mizan-csr/adapters/react/src/channels/__tests__/connection.test.ts similarity index 100% rename from react/src/channels/__tests__/connection.test.ts rename to packages/mizan-csr/adapters/react/src/channels/__tests__/connection.test.ts diff --git a/react/src/channels/__tests__/context.test.tsx b/packages/mizan-csr/adapters/react/src/channels/__tests__/context.test.tsx similarity index 100% rename from react/src/channels/__tests__/context.test.tsx rename to packages/mizan-csr/adapters/react/src/channels/__tests__/context.test.tsx diff --git a/react/src/channels/__tests__/hooks.test.tsx b/packages/mizan-csr/adapters/react/src/channels/__tests__/hooks.test.tsx similarity index 100% rename from react/src/channels/__tests__/hooks.test.tsx rename to packages/mizan-csr/adapters/react/src/channels/__tests__/hooks.test.tsx diff --git a/react/src/channels/connection.ts b/packages/mizan-csr/adapters/react/src/channels/connection.ts similarity index 100% rename from react/src/channels/connection.ts rename to packages/mizan-csr/adapters/react/src/channels/connection.ts diff --git a/react/src/channels/context.tsx b/packages/mizan-csr/adapters/react/src/channels/context.tsx similarity index 100% rename from react/src/channels/context.tsx rename to packages/mizan-csr/adapters/react/src/channels/context.tsx diff --git a/react/src/channels/hooks.ts b/packages/mizan-csr/adapters/react/src/channels/hooks.ts similarity index 100% rename from react/src/channels/hooks.ts rename to packages/mizan-csr/adapters/react/src/channels/hooks.ts diff --git a/react/src/channels/index.ts b/packages/mizan-csr/adapters/react/src/channels/index.ts similarity index 100% rename from react/src/channels/index.ts rename to packages/mizan-csr/adapters/react/src/channels/index.ts diff --git a/react/src/channels/types.ts b/packages/mizan-csr/adapters/react/src/channels/types.ts similarity index 100% rename from react/src/channels/types.ts rename to packages/mizan-csr/adapters/react/src/channels/types.ts diff --git a/react/src/client/AuthContext.tsx b/packages/mizan-csr/adapters/react/src/client/AuthContext.tsx similarity index 100% rename from react/src/client/AuthContext.tsx rename to packages/mizan-csr/adapters/react/src/client/AuthContext.tsx diff --git a/react/src/client/RouterContext.tsx b/packages/mizan-csr/adapters/react/src/client/RouterContext.tsx similarity index 100% rename from react/src/client/RouterContext.tsx rename to packages/mizan-csr/adapters/react/src/client/RouterContext.tsx diff --git a/react/src/client/index.ts b/packages/mizan-csr/adapters/react/src/client/index.ts similarity index 100% rename from react/src/client/index.ts rename to packages/mizan-csr/adapters/react/src/client/index.ts diff --git a/react/src/client/nextjs.tsx b/packages/mizan-csr/adapters/react/src/client/nextjs.tsx similarity index 100% rename from react/src/client/nextjs.tsx rename to packages/mizan-csr/adapters/react/src/client/nextjs.tsx diff --git a/react/src/client/react.ts b/packages/mizan-csr/adapters/react/src/client/react.ts similarity index 100% rename from react/src/client/react.ts rename to packages/mizan-csr/adapters/react/src/client/react.ts diff --git a/react/src/client/routing.tsx b/packages/mizan-csr/adapters/react/src/client/routing.tsx similarity index 100% rename from react/src/client/routing.tsx rename to packages/mizan-csr/adapters/react/src/client/routing.tsx diff --git a/react/src/client/types.ts b/packages/mizan-csr/adapters/react/src/client/types.ts similarity index 100% rename from react/src/client/types.ts rename to packages/mizan-csr/adapters/react/src/client/types.ts diff --git a/react/src/context.tsx b/packages/mizan-csr/adapters/react/src/context.tsx similarity index 100% rename from react/src/context.tsx rename to packages/mizan-csr/adapters/react/src/context.tsx diff --git a/react/src/errors.ts b/packages/mizan-csr/adapters/react/src/errors.ts similarity index 100% rename from react/src/errors.ts rename to packages/mizan-csr/adapters/react/src/errors.ts diff --git a/react/src/forms.ts b/packages/mizan-csr/adapters/react/src/forms.ts similarity index 100% rename from react/src/forms.ts rename to packages/mizan-csr/adapters/react/src/forms.ts diff --git a/react/src/index.ts b/packages/mizan-csr/adapters/react/src/index.ts similarity index 100% rename from react/src/index.ts rename to packages/mizan-csr/adapters/react/src/index.ts diff --git a/react/src/jwt/JWTContext.tsx b/packages/mizan-csr/adapters/react/src/jwt/JWTContext.tsx similarity index 100% rename from react/src/jwt/JWTContext.tsx rename to packages/mizan-csr/adapters/react/src/jwt/JWTContext.tsx diff --git a/react/src/jwt/__tests__/JWTContext.test.tsx b/packages/mizan-csr/adapters/react/src/jwt/__tests__/JWTContext.test.tsx similarity index 100% rename from react/src/jwt/__tests__/JWTContext.test.tsx rename to packages/mizan-csr/adapters/react/src/jwt/__tests__/JWTContext.test.tsx diff --git a/react/src/jwt/__tests__/contract.test.ts b/packages/mizan-csr/adapters/react/src/jwt/__tests__/contract.test.ts similarity index 100% rename from react/src/jwt/__tests__/contract.test.ts rename to packages/mizan-csr/adapters/react/src/jwt/__tests__/contract.test.ts diff --git a/react/src/jwt/__tests__/hooks.test.tsx b/packages/mizan-csr/adapters/react/src/jwt/__tests__/hooks.test.tsx similarity index 100% rename from react/src/jwt/__tests__/hooks.test.tsx rename to packages/mizan-csr/adapters/react/src/jwt/__tests__/hooks.test.tsx diff --git a/react/src/jwt/index.ts b/packages/mizan-csr/adapters/react/src/jwt/index.ts similarity index 100% rename from react/src/jwt/index.ts rename to packages/mizan-csr/adapters/react/src/jwt/index.ts diff --git a/react/src/testing.ts b/packages/mizan-csr/adapters/react/src/testing.ts similarity index 100% rename from react/src/testing.ts rename to packages/mizan-csr/adapters/react/src/testing.ts diff --git a/react/tsconfig.build.json b/packages/mizan-csr/adapters/react/tsconfig.build.json similarity index 100% rename from react/tsconfig.build.json rename to packages/mizan-csr/adapters/react/tsconfig.build.json diff --git a/react/tsconfig.json b/packages/mizan-csr/adapters/react/tsconfig.json similarity index 100% rename from react/tsconfig.json rename to packages/mizan-csr/adapters/react/tsconfig.json diff --git a/react/vitest.config.ts b/packages/mizan-csr/adapters/react/vitest.config.ts similarity index 100% rename from react/vitest.config.ts rename to packages/mizan-csr/adapters/react/vitest.config.ts diff --git a/react/vitest.setup.ts b/packages/mizan-csr/adapters/react/vitest.setup.ts similarity index 100% rename from react/vitest.setup.ts rename to packages/mizan-csr/adapters/react/vitest.setup.ts diff --git a/django/.gitignore b/packages/mizan-rpc/adapters/django/.gitignore similarity index 100% rename from django/.gitignore rename to packages/mizan-rpc/adapters/django/.gitignore diff --git a/django/README.md b/packages/mizan-rpc/adapters/django/README.md similarity index 100% rename from django/README.md rename to packages/mizan-rpc/adapters/django/README.md diff --git a/django/pyproject.toml b/packages/mizan-rpc/adapters/django/pyproject.toml similarity index 100% rename from django/pyproject.toml rename to packages/mizan-rpc/adapters/django/pyproject.toml diff --git a/django/src/mizan/__init__.py b/packages/mizan-rpc/adapters/django/src/mizan/__init__.py similarity index 100% rename from django/src/mizan/__init__.py rename to packages/mizan-rpc/adapters/django/src/mizan/__init__.py diff --git a/django/src/mizan/_vendor/__init__.py b/packages/mizan-rpc/adapters/django/src/mizan/_vendor/__init__.py similarity index 100% rename from django/src/mizan/_vendor/__init__.py rename to packages/mizan-rpc/adapters/django/src/mizan/_vendor/__init__.py diff --git a/django/src/mizan/_vendor/app_visitor.py b/packages/mizan-rpc/adapters/django/src/mizan/_vendor/app_visitor.py similarity index 100% rename from django/src/mizan/_vendor/app_visitor.py rename to packages/mizan-rpc/adapters/django/src/mizan/_vendor/app_visitor.py diff --git a/django/src/mizan/channels/__init__.py b/packages/mizan-rpc/adapters/django/src/mizan/channels/__init__.py similarity index 100% rename from django/src/mizan/channels/__init__.py rename to packages/mizan-rpc/adapters/django/src/mizan/channels/__init__.py diff --git a/django/src/mizan/channels/connection.py b/packages/mizan-rpc/adapters/django/src/mizan/channels/connection.py similarity index 100% rename from django/src/mizan/channels/connection.py rename to packages/mizan-rpc/adapters/django/src/mizan/channels/connection.py diff --git a/django/src/mizan/channels/push.py b/packages/mizan-rpc/adapters/django/src/mizan/channels/push.py similarity index 100% rename from django/src/mizan/channels/push.py rename to packages/mizan-rpc/adapters/django/src/mizan/channels/push.py diff --git a/django/src/mizan/client/__init__.py b/packages/mizan-rpc/adapters/django/src/mizan/client/__init__.py similarity index 100% rename from django/src/mizan/client/__init__.py rename to packages/mizan-rpc/adapters/django/src/mizan/client/__init__.py diff --git a/django/src/mizan/client/executor.py b/packages/mizan-rpc/adapters/django/src/mizan/client/executor.py similarity index 100% rename from django/src/mizan/client/executor.py rename to packages/mizan-rpc/adapters/django/src/mizan/client/executor.py diff --git a/django/src/mizan/client/function.py b/packages/mizan-rpc/adapters/django/src/mizan/client/function.py similarity index 100% rename from django/src/mizan/client/function.py rename to packages/mizan-rpc/adapters/django/src/mizan/client/function.py diff --git a/django/src/mizan/client/jwt.py b/packages/mizan-rpc/adapters/django/src/mizan/client/jwt.py similarity index 100% rename from django/src/mizan/client/jwt.py rename to packages/mizan-rpc/adapters/django/src/mizan/client/jwt.py diff --git a/django/src/mizan/export/__init__.py b/packages/mizan-rpc/adapters/django/src/mizan/export/__init__.py similarity index 100% rename from django/src/mizan/export/__init__.py rename to packages/mizan-rpc/adapters/django/src/mizan/export/__init__.py diff --git a/django/src/mizan/forms/__init__.py b/packages/mizan-rpc/adapters/django/src/mizan/forms/__init__.py similarity index 100% rename from django/src/mizan/forms/__init__.py rename to packages/mizan-rpc/adapters/django/src/mizan/forms/__init__.py diff --git a/django/src/mizan/forms/formset_utils.py b/packages/mizan-rpc/adapters/django/src/mizan/forms/formset_utils.py similarity index 100% rename from django/src/mizan/forms/formset_utils.py rename to packages/mizan-rpc/adapters/django/src/mizan/forms/formset_utils.py diff --git a/django/src/mizan/forms/schema_utils.py b/packages/mizan-rpc/adapters/django/src/mizan/forms/schema_utils.py similarity index 100% rename from django/src/mizan/forms/schema_utils.py rename to packages/mizan-rpc/adapters/django/src/mizan/forms/schema_utils.py diff --git a/django/src/mizan/forms/schemas.py b/packages/mizan-rpc/adapters/django/src/mizan/forms/schemas.py similarity index 100% rename from django/src/mizan/forms/schemas.py rename to packages/mizan-rpc/adapters/django/src/mizan/forms/schemas.py diff --git a/django/src/mizan/forms/validation_utils.py b/packages/mizan-rpc/adapters/django/src/mizan/forms/validation_utils.py similarity index 100% rename from django/src/mizan/forms/validation_utils.py rename to packages/mizan-rpc/adapters/django/src/mizan/forms/validation_utils.py diff --git a/django/src/mizan/integrations/allauth/__init__.py b/packages/mizan-rpc/adapters/django/src/mizan/integrations/allauth/__init__.py similarity index 100% rename from django/src/mizan/integrations/allauth/__init__.py rename to packages/mizan-rpc/adapters/django/src/mizan/integrations/allauth/__init__.py diff --git a/django/src/mizan/integrations/allauth/contexts.py b/packages/mizan-rpc/adapters/django/src/mizan/integrations/allauth/contexts.py similarity index 100% rename from django/src/mizan/integrations/allauth/contexts.py rename to packages/mizan-rpc/adapters/django/src/mizan/integrations/allauth/contexts.py diff --git a/django/src/mizan/integrations/allauth/forms.py b/packages/mizan-rpc/adapters/django/src/mizan/integrations/allauth/forms.py similarity index 100% rename from django/src/mizan/integrations/allauth/forms.py rename to packages/mizan-rpc/adapters/django/src/mizan/integrations/allauth/forms.py diff --git a/django/src/mizan/jwt/__init__.py b/packages/mizan-rpc/adapters/django/src/mizan/jwt/__init__.py similarity index 100% rename from django/src/mizan/jwt/__init__.py rename to packages/mizan-rpc/adapters/django/src/mizan/jwt/__init__.py diff --git a/django/src/mizan/jwt/functions.py b/packages/mizan-rpc/adapters/django/src/mizan/jwt/functions.py similarity index 100% rename from django/src/mizan/jwt/functions.py rename to packages/mizan-rpc/adapters/django/src/mizan/jwt/functions.py diff --git a/django/src/mizan/jwt/security.py b/packages/mizan-rpc/adapters/django/src/mizan/jwt/security.py similarity index 100% rename from django/src/mizan/jwt/security.py rename to packages/mizan-rpc/adapters/django/src/mizan/jwt/security.py diff --git a/django/src/mizan/jwt/settings.py b/packages/mizan-rpc/adapters/django/src/mizan/jwt/settings.py similarity index 100% rename from django/src/mizan/jwt/settings.py rename to packages/mizan-rpc/adapters/django/src/mizan/jwt/settings.py diff --git a/django/src/mizan/jwt/tokens.py b/packages/mizan-rpc/adapters/django/src/mizan/jwt/tokens.py similarity index 100% rename from django/src/mizan/jwt/tokens.py rename to packages/mizan-rpc/adapters/django/src/mizan/jwt/tokens.py diff --git a/django/src/mizan/management/__init__.py b/packages/mizan-rpc/adapters/django/src/mizan/management/__init__.py similarity index 100% rename from django/src/mizan/management/__init__.py rename to packages/mizan-rpc/adapters/django/src/mizan/management/__init__.py diff --git a/django/src/mizan/management/commands/__init__.py b/packages/mizan-rpc/adapters/django/src/mizan/management/commands/__init__.py similarity index 100% rename from django/src/mizan/management/commands/__init__.py rename to packages/mizan-rpc/adapters/django/src/mizan/management/commands/__init__.py diff --git a/django/src/mizan/management/commands/export_channels_schema.py b/packages/mizan-rpc/adapters/django/src/mizan/management/commands/export_channels_schema.py similarity index 100% rename from django/src/mizan/management/commands/export_channels_schema.py rename to packages/mizan-rpc/adapters/django/src/mizan/management/commands/export_channels_schema.py diff --git a/django/src/mizan/management/commands/export_djarea_schema.py b/packages/mizan-rpc/adapters/django/src/mizan/management/commands/export_djarea_schema.py similarity index 100% rename from django/src/mizan/management/commands/export_djarea_schema.py rename to packages/mizan-rpc/adapters/django/src/mizan/management/commands/export_djarea_schema.py diff --git a/django/src/mizan/setup/__init__.py b/packages/mizan-rpc/adapters/django/src/mizan/setup/__init__.py similarity index 100% rename from django/src/mizan/setup/__init__.py rename to packages/mizan-rpc/adapters/django/src/mizan/setup/__init__.py diff --git a/django/src/mizan/setup/discovery.py b/packages/mizan-rpc/adapters/django/src/mizan/setup/discovery.py similarity index 100% rename from django/src/mizan/setup/discovery.py rename to packages/mizan-rpc/adapters/django/src/mizan/setup/discovery.py diff --git a/django/src/mizan/setup/registry.py b/packages/mizan-rpc/adapters/django/src/mizan/setup/registry.py similarity index 100% rename from django/src/mizan/setup/registry.py rename to packages/mizan-rpc/adapters/django/src/mizan/setup/registry.py diff --git a/django/src/mizan/setup/settings.py b/packages/mizan-rpc/adapters/django/src/mizan/setup/settings.py similarity index 100% rename from django/src/mizan/setup/settings.py rename to packages/mizan-rpc/adapters/django/src/mizan/setup/settings.py diff --git a/django/src/mizan/shapes/__init__.py b/packages/mizan-rpc/adapters/django/src/mizan/shapes/__init__.py similarity index 100% rename from django/src/mizan/shapes/__init__.py rename to packages/mizan-rpc/adapters/django/src/mizan/shapes/__init__.py diff --git a/django/src/mizan/shapes/core.py b/packages/mizan-rpc/adapters/django/src/mizan/shapes/core.py similarity index 100% rename from django/src/mizan/shapes/core.py rename to packages/mizan-rpc/adapters/django/src/mizan/shapes/core.py diff --git a/django/src/mizan/tests/__init__.py b/packages/mizan-rpc/adapters/django/src/mizan/tests/__init__.py similarity index 100% rename from django/src/mizan/tests/__init__.py rename to packages/mizan-rpc/adapters/django/src/mizan/tests/__init__.py diff --git a/django/src/mizan/tests/test_auth.py b/packages/mizan-rpc/adapters/django/src/mizan/tests/test_auth.py similarity index 100% rename from django/src/mizan/tests/test_auth.py rename to packages/mizan-rpc/adapters/django/src/mizan/tests/test_auth.py diff --git a/django/src/mizan/tests/test_benchmarks.py b/packages/mizan-rpc/adapters/django/src/mizan/tests/test_benchmarks.py similarity index 100% rename from django/src/mizan/tests/test_benchmarks.py rename to packages/mizan-rpc/adapters/django/src/mizan/tests/test_benchmarks.py diff --git a/django/src/mizan/tests/test_channels.py b/packages/mizan-rpc/adapters/django/src/mizan/tests/test_channels.py similarity index 100% rename from django/src/mizan/tests/test_channels.py rename to packages/mizan-rpc/adapters/django/src/mizan/tests/test_channels.py diff --git a/django/src/mizan/tests/test_core.py b/packages/mizan-rpc/adapters/django/src/mizan/tests/test_core.py similarity index 100% rename from django/src/mizan/tests/test_core.py rename to packages/mizan-rpc/adapters/django/src/mizan/tests/test_core.py diff --git a/django/src/mizan/tests/test_pentest.py b/packages/mizan-rpc/adapters/django/src/mizan/tests/test_pentest.py similarity index 100% rename from django/src/mizan/tests/test_pentest.py rename to packages/mizan-rpc/adapters/django/src/mizan/tests/test_pentest.py diff --git a/django/src/mizan/tests/test_security.py b/packages/mizan-rpc/adapters/django/src/mizan/tests/test_security.py similarity index 100% rename from django/src/mizan/tests/test_security.py rename to packages/mizan-rpc/adapters/django/src/mizan/tests/test_security.py diff --git a/django/src/mizan/tests/test_shapes.py b/packages/mizan-rpc/adapters/django/src/mizan/tests/test_shapes.py similarity index 100% rename from django/src/mizan/tests/test_shapes.py rename to packages/mizan-rpc/adapters/django/src/mizan/tests/test_shapes.py diff --git a/django/src/mizan/urls.py b/packages/mizan-rpc/adapters/django/src/mizan/urls.py similarity index 100% rename from django/src/mizan/urls.py rename to packages/mizan-rpc/adapters/django/src/mizan/urls.py diff --git a/django/tests/__init__.py b/packages/mizan-rpc/adapters/django/tests/__init__.py similarity index 100% rename from django/tests/__init__.py rename to packages/mizan-rpc/adapters/django/tests/__init__.py diff --git a/django/tests/models.py b/packages/mizan-rpc/adapters/django/tests/models.py similarity index 100% rename from django/tests/models.py rename to packages/mizan-rpc/adapters/django/tests/models.py diff --git a/django/tests/settings.py b/packages/mizan-rpc/adapters/django/tests/settings.py similarity index 100% rename from django/tests/settings.py rename to packages/mizan-rpc/adapters/django/tests/settings.py diff --git a/django/tests/urls.py b/packages/mizan-rpc/adapters/django/tests/urls.py similarity index 100% rename from django/tests/urls.py rename to packages/mizan-rpc/adapters/django/tests/urls.py diff --git a/react/src/generator/cli.mjs b/packages/mizan-rpc/generator/generator/cli.mjs similarity index 100% rename from react/src/generator/cli.mjs rename to packages/mizan-rpc/generator/generator/cli.mjs diff --git a/react/src/generator/lib/channels.mjs b/packages/mizan-rpc/generator/generator/lib/channels.mjs similarity index 100% rename from react/src/generator/lib/channels.mjs rename to packages/mizan-rpc/generator/generator/lib/channels.mjs diff --git a/react/src/generator/lib/fetch.mjs b/packages/mizan-rpc/generator/generator/lib/fetch.mjs similarity index 100% rename from react/src/generator/lib/fetch.mjs rename to packages/mizan-rpc/generator/generator/lib/fetch.mjs diff --git a/react/src/generator/lib/index.mjs b/packages/mizan-rpc/generator/generator/lib/index.mjs similarity index 100% rename from react/src/generator/lib/index.mjs rename to packages/mizan-rpc/generator/generator/lib/index.mjs diff --git a/react/src/generator/lib/mizan.mjs b/packages/mizan-rpc/generator/generator/lib/mizan.mjs similarity index 100% rename from react/src/generator/lib/mizan.mjs rename to packages/mizan-rpc/generator/generator/lib/mizan.mjs