feat(traces): integrate traces app into monorepo with NestJS backend and AI city guides

Restructure standalone traces app into monorepo pattern with mobile + backend + shared types.
Add NestJS backend with Drizzle ORM schema for locations, cities, places, POIs, and AI guides.
Add mobile sync layer, cities tab, and guide generation UI. Fix pre-existing type errors across
mobile codebase, matrix-mana-bot (sendDirectMessage), llm-playground, and all web auth stores
(signUp call signature).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Till JS 2026-03-15 08:12:42 +01:00
parent 402e135179
commit bd1178edf8
125 changed files with 14626 additions and 831 deletions

View file

@ -634,6 +634,34 @@ const APP_CONFIGS = [
},
},
// Traces Backend (NestJS)
{
path: 'apps/traces/apps/backend/.env',
vars: {
NODE_ENV: () => 'development',
PORT: (env) => env.TRACES_BACKEND_PORT || '3026',
DATABASE_URL: (env) => env.TRACES_DATABASE_URL,
MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
MANA_LLM_URL: (env) => env.MANA_LLM_URL || 'http://localhost:3025',
MANA_SEARCH_URL: (env) => env.MANA_SEARCH_URL || 'http://localhost:3021',
MANA_CORE_SERVICE_KEY: (env) => env.MANA_CORE_SERVICE_KEY || '',
APP_ID: () => 'traces',
DEV_BYPASS_AUTH: () => 'true',
DEV_USER_ID: (env) => env.DEV_USER_ID || '00000000-0000-0000-0000-000000000000',
CORS_ORIGINS: (env) => env.CORS_ORIGINS,
},
},
// Traces Mobile (Expo)
{
path: 'apps/traces/apps/mobile/.env',
vars: {
EXPO_PUBLIC_TRACES_BACKEND_URL: (env) =>
`http://localhost:${env.TRACES_BACKEND_PORT || '3026'}`,
EXPO_PUBLIC_MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
},
},
// LLM Playground (SvelteKit)
{
path: 'services/llm-playground/.env',

View file

@ -82,6 +82,7 @@ ALL_DATABASES=(
"questions"
"skilltree"
"lightwrite"
"traces"
)
# Check if specific service requested
@ -195,9 +196,13 @@ setup_service() {
create_db_if_not_exists "lightwrite"
push_schema "@lightwrite/backend" "lightwrite"
;;
traces)
create_db_if_not_exists "traces"
push_schema "@traces/backend" "traces"
;;
*)
echo -e "${RED}Unknown service: $service${NC}"
echo "Available services: auth, chat, zitare, contacts, calendar, clock, todo, manadeck, mail, moodlit, picture, photos, finance, voxel-lava, figgos, planta, nutriphi, presi, storage, projectdoc, zitare_bot, todo_bot, nutriphi_bot, questions, skilltree, lightwrite"
echo "Available services: auth, chat, zitare, contacts, calendar, clock, todo, manadeck, mail, moodlit, picture, photos, finance, voxel-lava, figgos, planta, nutriphi, presi, storage, projectdoc, zitare_bot, todo_bot, nutriphi_bot, questions, skilltree, lightwrite, traces"
exit 1
;;
esac
@ -221,7 +226,7 @@ echo -e "\n${GREEN}Step 2: Pushing schemas${NC}"
echo "--------------------------------------"
# Push schemas for all known services
for service in auth chat zitare contacts calendar clock todo manadeck picture photos mail moodlit finance voxel-lava figgos planta nutriphi presi storage questions skilltree lightwrite; do
for service in auth chat zitare contacts calendar clock todo manadeck picture photos mail moodlit finance voxel-lava figgos planta nutriphi presi storage questions skilltree lightwrite traces; do
setup_service "$service" 2>/dev/null || true
done