Skip to content

Commit 3e76190

Browse files
committed
fix(ci): make onnxruntime-web copy script exit gracefully
Changed copy-onnx-wasm.js to exit with code 0 instead of 1 when onnxruntime-web is not found in node_modules. This makes AI search features optional rather than blocking the build.
1 parent 8983d9d commit 3e76190

13 files changed

Lines changed: 1348 additions & 121 deletions

File tree

‎.env.lite.example‎

Lines changed: 176 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,176 @@
1+
# ============================================
2+
# SynthStack Environment Variables - LITE (Community Edition)
3+
# Copy this file to .env and fill in your values
4+
# ============================================
5+
6+
# ============================================
7+
# FEATURE FLAGS - LITE VERSION
8+
# ============================================
9+
# This configuration is for the LITE (Community Edition) version.
10+
# Basic copilot enabled, but RAG, AI Agents, and Referrals DISABLED.
11+
#
12+
# Backend flags (api-gateway)
13+
ENABLE_COPILOT=true
14+
ENABLE_COPILOT_RAG=false
15+
ENABLE_AI_AGENTS=false
16+
ENABLE_REFERRALS=false
17+
18+
# Frontend flags (web app)
19+
VITE_ENABLE_COPILOT=true
20+
VITE_ENABLE_COPILOT_RAG=false
21+
VITE_ENABLE_AI_AGENTS=false
22+
VITE_ENABLE_REFERRALS=false
23+
# ============================================
24+
25+
# ============================================
26+
# Database
27+
# ============================================
28+
DB_DATABASE=synthstack
29+
DB_USER=synthstack
30+
DB_PASSWORD=synthstack_dev_2024
31+
32+
# Docker Compose Postgres Variables
33+
POSTGRES_USER=synthstack
34+
POSTGRES_PASSWORD=synthstack_dev_2024
35+
POSTGRES_DB=synthstack
36+
37+
# ============================================
38+
# Directus CMS
39+
# ============================================
40+
# Generate unique keys with:
41+
# node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
42+
DIRECTUS_KEY=your-unique-directus-key-here
43+
DIRECTUS_SECRET=your-unique-directus-secret-here
44+
DIRECTUS_ADMIN_EMAIL=admin@example.com
45+
DIRECTUS_ADMIN_PASSWORD=your-admin-password
46+
DIRECTUS_ADMIN_TOKEN=your-admin-token
47+
DIRECTUS_PUBLIC_URL=http://localhost:8056
48+
DIRECTUS_URL=http://localhost:8056
49+
50+
# ============================================
51+
# Supabase Authentication
52+
# Get these from https://supabase.com/dashboard
53+
# ============================================
54+
SUPABASE_URL=https://your-project.supabase.co
55+
SUPABASE_ANON_KEY=your-anon-key
56+
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
57+
58+
# Google OAuth - https://console.cloud.google.com
59+
GOOGLE_CLIENT_ID=your-google-client-id.apps.googleusercontent.com
60+
GOOGLE_CLIENT_SECRET=GOCSPX-your-google-secret
61+
62+
# GitHub OAuth - https://github.com/settings/developers
63+
GITHUB_CLIENT_ID=your-github-client-id
64+
GITHUB_CLIENT_SECRET=your-github-client-secret
65+
66+
# ============================================
67+
# Stripe Payments
68+
# Get these from https://dashboard.stripe.com
69+
# ============================================
70+
STRIPE_PUBLISHABLE_KEY=pk_test_xxx
71+
STRIPE_SECRET_KEY=sk_test_xxx
72+
STRIPE_WEBHOOK_SECRET=whsec_xxx
73+
74+
# Price IDs for subscription tiers (monthly)
75+
STRIPE_PRICE_MAKER=price_xxxxxxxxxxxxxxxxxxxxx
76+
STRIPE_PRICE_PRO=price_xxxxxxxxxxxxxxxxxxxxx
77+
STRIPE_PRICE_AGENCY=price_xxxxxxxxxxxxxxxxxxxxx
78+
79+
# Price IDs for annual subscriptions (25% discount)
80+
STRIPE_PRICE_MAKER_YEARLY=price_xxxxxxxxxxxxxxxxxxxxx
81+
STRIPE_PRICE_PRO_YEARLY=price_xxxxxxxxxxxxxxxxxxxxx
82+
STRIPE_PRICE_AGENCY_YEARLY=price_xxxxxxxxxxxxxxxxxxxxx
83+
84+
# Lifetime license product
85+
STRIPE_PRICE_LIFETIME=price_xxxxxxxxxxxxxxxxxxxxx
86+
STRIPE_PROMO_EARLYSYNTH=EARLYSYNTH
87+
88+
# ============================================
89+
# AI APIs
90+
# ============================================
91+
OPENAI_API_KEY=sk-xxx
92+
ANTHROPIC_API_KEY=sk-ant-xxx
93+
94+
# ============================================
95+
# BYOK Encryption (Required for storing user API keys)
96+
# Generate with: node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
97+
# ============================================
98+
ENCRYPTION_KEY=your-64-char-hex-key-here
99+
100+
# ============================================
101+
# Redis
102+
# ============================================
103+
REDIS_URL=redis://localhost:6399
104+
105+
# ============================================
106+
# Application
107+
# ============================================
108+
NODE_ENV=development
109+
VITE_APP_NAME=SynthStack
110+
VITE_APP_URL=http://localhost:3000
111+
VITE_API_URL=http://localhost:3003
112+
VITE_DIRECTUS_URL=http://localhost:8056
113+
VITE_SUPABASE_URL=https://your-project.supabase.co
114+
VITE_SUPABASE_ANON_KEY=your-anon-key
115+
DATABASE_URL=postgresql://synthstack:synthstack_dev_2024@localhost:5499/synthstack
116+
117+
# Frontend email configuration (exposed to client)
118+
VITE_CONTACT_EMAIL=team@example.com
119+
VITE_SUPPORT_EMAIL=team@example.com
120+
121+
# ============================================
122+
# Analytics (GDPR-compliant with consent)
123+
# ============================================
124+
VITE_GA_MEASUREMENT_ID=G-XXXXXXXXXX
125+
VITE_CLARITY_PROJECT_ID=xxxxxxxxxx
126+
VITE_ENABLE_ANALYTICS=false
127+
128+
# ============================================
129+
# Sentry Error Tracking (optional)
130+
# See docs/guides/SENTRY_SETUP.md
131+
# ============================================
132+
# SENTRY_DSN=https://xxx@o123456.ingest.sentry.io/xxx
133+
# SENTRY_ENVIRONMENT=production
134+
# SENTRY_TRACES_SAMPLE_RATE=0.1
135+
# VITE_SENTRY_DSN=https://xxx@o123456.ingest.sentry.io/xxx
136+
# VITE_SENTRY_ENVIRONMENT=production
137+
# VITE_SENTRY_TRACES_SAMPLE_RATE=0.1
138+
139+
# ============================================
140+
# Email Service (Resend)
141+
# ============================================
142+
RESEND_API_KEY=re_your_api_key_here
143+
RESEND_FROM_EMAIL=team@example.com
144+
RESEND_FROM_NAME=SynthStack
145+
CONTACT_EMAIL=team@example.com
146+
NOREPLY_EMAIL=noreply@example.com
147+
148+
# ============================================
149+
# Email Newsletter (EmailOctopus)
150+
# See docs/guides/NEWSLETTER_SETUP.md
151+
# Free tier: 2,500 contacts, 10,000 emails/month
152+
# ============================================
153+
EMAILOCTOPUS_API_KEY=your-api-key
154+
EMAILOCTOPUS_LIST_ID=your-list-id
155+
VITE_EMAILOCTOPUS_FORM_ID=your-form-id
156+
157+
# ============================================
158+
# Security & Admin
159+
# ============================================
160+
ADMIN_SECRET=your-admin-secret
161+
JWT_SECRET=your-jwt-secret-generate-with-crypto
162+
163+
# ============================================
164+
# i18n Configuration
165+
# ============================================
166+
VITE_I18N_ENABLED=true
167+
168+
# ============================================
169+
# LLM Router Configuration
170+
# ============================================
171+
OPENROUTER_API_KEY=
172+
LLM_USE_ROUTER=true
173+
LLM_DEFAULT_TIER=standard
174+
LLM_AUTO_ROUTE=true
175+
LLM_CHEAP_MODEL=gpt-4o-mini
176+
LLM_PREMIUM_MODEL=claude-3-opus-20240229

‎.env.pro.example‎

Lines changed: 192 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,192 @@
1+
# ============================================
2+
# SynthStack Environment Variables - PRO (Commercial Edition)
3+
# Copy this file to .env and fill in your values
4+
# ============================================
5+
6+
# ============================================
7+
# FEATURE FLAGS - PRO VERSION
8+
# ============================================
9+
# This configuration is for the PRO (Commercial Edition) version.
10+
# ALL features ENABLED including RAG, AI Agents, and Referrals.
11+
#
12+
# Backend flags (api-gateway)
13+
ENABLE_COPILOT=true
14+
ENABLE_COPILOT_RAG=true
15+
ENABLE_AI_AGENTS=true
16+
ENABLE_REFERRALS=true
17+
18+
# Frontend flags (web app)
19+
VITE_ENABLE_COPILOT=true
20+
VITE_ENABLE_COPILOT_RAG=true
21+
VITE_ENABLE_AI_AGENTS=true
22+
VITE_ENABLE_REFERRALS=true
23+
# ============================================
24+
25+
# ============================================
26+
# Database
27+
# ============================================
28+
DB_DATABASE=synthstack
29+
DB_USER=synthstack
30+
DB_PASSWORD=synthstack_dev_2024
31+
32+
# Docker Compose Postgres Variables
33+
POSTGRES_USER=synthstack
34+
POSTGRES_PASSWORD=synthstack_dev_2024
35+
POSTGRES_DB=synthstack
36+
37+
# ============================================
38+
# Directus CMS
39+
# ============================================
40+
# Generate unique keys with:
41+
# node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
42+
DIRECTUS_KEY=your-unique-directus-key-here
43+
DIRECTUS_SECRET=your-unique-directus-secret-here
44+
DIRECTUS_ADMIN_EMAIL=admin@example.com
45+
DIRECTUS_ADMIN_PASSWORD=your-admin-password
46+
DIRECTUS_ADMIN_TOKEN=your-admin-token
47+
DIRECTUS_PUBLIC_URL=http://localhost:8056
48+
DIRECTUS_URL=http://localhost:8056
49+
50+
# ============================================
51+
# Supabase Authentication
52+
# Get these from https://supabase.com/dashboard
53+
# ============================================
54+
SUPABASE_URL=https://your-project.supabase.co
55+
SUPABASE_ANON_KEY=your-anon-key
56+
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
57+
58+
# Google OAuth - https://console.cloud.google.com
59+
GOOGLE_CLIENT_ID=your-google-client-id.apps.googleusercontent.com
60+
GOOGLE_CLIENT_SECRET=GOCSPX-your-google-secret
61+
62+
# GitHub OAuth - https://github.com/settings/developers
63+
GITHUB_CLIENT_ID=your-github-client-id
64+
GITHUB_CLIENT_SECRET=your-github-client-secret
65+
66+
# ============================================
67+
# GitHub Organization Management
68+
# For lifetime license repository access
69+
# ============================================
70+
GITHUB_ORG_NAME=your-org-name
71+
GH_PAT=ghp_your-personal-access-token
72+
GITHUB_TEAM_SLUG=your-team-slug
73+
GITHUB_PRO_REPO=your-org/your-repo
74+
75+
# ============================================
76+
# Stripe Payments
77+
# Get these from https://dashboard.stripe.com
78+
# ============================================
79+
STRIPE_PUBLISHABLE_KEY=pk_test_xxx
80+
STRIPE_SECRET_KEY=sk_test_xxx
81+
STRIPE_WEBHOOK_SECRET=whsec_xxx
82+
83+
# Price IDs for subscription tiers (monthly)
84+
STRIPE_PRICE_MAKER=price_xxxxxxxxxxxxxxxxxxxxx
85+
STRIPE_PRICE_PRO=price_xxxxxxxxxxxxxxxxxxxxx
86+
STRIPE_PRICE_AGENCY=price_xxxxxxxxxxxxxxxxxxxxx
87+
88+
# Price IDs for annual subscriptions (25% discount)
89+
STRIPE_PRICE_MAKER_YEARLY=price_xxxxxxxxxxxxxxxxxxxxx
90+
STRIPE_PRICE_PRO_YEARLY=price_xxxxxxxxxxxxxxxxxxxxx
91+
STRIPE_PRICE_AGENCY_YEARLY=price_xxxxxxxxxxxxxxxxxxxxx
92+
93+
# Lifetime license product
94+
STRIPE_PRICE_LIFETIME=price_xxxxxxxxxxxxxxxxxxxxx
95+
STRIPE_PROMO_EARLYSYNTH=EARLYSYNTH
96+
97+
# ============================================
98+
# AI APIs
99+
# ============================================
100+
OPENAI_API_KEY=sk-xxx
101+
ANTHROPIC_API_KEY=sk-ant-xxx
102+
103+
# ============================================
104+
# BYOK Encryption (Required for storing user API keys)
105+
# Generate with: node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
106+
# ============================================
107+
ENCRYPTION_KEY=your-64-char-hex-key-here
108+
109+
# ============================================
110+
# Redis
111+
# ============================================
112+
REDIS_URL=redis://localhost:6399
113+
114+
# ============================================
115+
# Application
116+
# ============================================
117+
NODE_ENV=development
118+
VITE_APP_NAME=SynthStack
119+
VITE_APP_URL=http://localhost:3000
120+
VITE_API_URL=http://localhost:3003
121+
VITE_DIRECTUS_URL=http://localhost:8056
122+
VITE_SUPABASE_URL=https://your-project.supabase.co
123+
VITE_SUPABASE_ANON_KEY=your-anon-key
124+
DATABASE_URL=postgresql://synthstack:synthstack_dev_2024@localhost:5499/synthstack
125+
126+
# Frontend email configuration (exposed to client)
127+
VITE_CONTACT_EMAIL=team@example.com
128+
VITE_SUPPORT_EMAIL=team@example.com
129+
130+
# ============================================
131+
# Analytics (GDPR-compliant with consent)
132+
# ============================================
133+
VITE_GA_MEASUREMENT_ID=G-XXXXXXXXXX
134+
VITE_CLARITY_PROJECT_ID=xxxxxxxxxx
135+
VITE_ENABLE_ANALYTICS=false
136+
137+
# ============================================
138+
# Sentry Error Tracking (optional)
139+
# See docs/guides/SENTRY_SETUP.md
140+
# ============================================
141+
# SENTRY_DSN=https://xxx@o123456.ingest.sentry.io/xxx
142+
# SENTRY_ENVIRONMENT=production
143+
# SENTRY_TRACES_SAMPLE_RATE=0.1
144+
# VITE_SENTRY_DSN=https://xxx@o123456.ingest.sentry.io/xxx
145+
# VITE_SENTRY_ENVIRONMENT=production
146+
# VITE_SENTRY_TRACES_SAMPLE_RATE=0.1
147+
148+
# ============================================
149+
# Email Service (Resend)
150+
# ============================================
151+
RESEND_API_KEY=re_your_api_key_here
152+
RESEND_FROM_EMAIL=team@example.com
153+
RESEND_FROM_NAME=SynthStack
154+
CONTACT_EMAIL=team@example.com
155+
NOREPLY_EMAIL=noreply@example.com
156+
157+
# ============================================
158+
# Email Newsletter (EmailOctopus)
159+
# See docs/guides/NEWSLETTER_SETUP.md
160+
# Free tier: 2,500 contacts, 10,000 emails/month
161+
# ============================================
162+
EMAILOCTOPUS_API_KEY=your-api-key
163+
EMAILOCTOPUS_LIST_ID=your-list-id
164+
VITE_EMAILOCTOPUS_FORM_ID=your-form-id
165+
166+
# ============================================
167+
# Security & Admin
168+
# ============================================
169+
ADMIN_SECRET=your-admin-secret
170+
JWT_SECRET=your-jwt-secret-generate-with-crypto
171+
172+
# ============================================
173+
# i18n Configuration
174+
# ============================================
175+
VITE_I18N_ENABLED=true
176+
177+
# ============================================
178+
# LLM Router Configuration
179+
# ============================================
180+
OPENROUTER_API_KEY=
181+
LLM_USE_ROUTER=true
182+
LLM_DEFAULT_TIER=standard
183+
LLM_AUTO_ROUTE=true
184+
LLM_CHEAP_MODEL=gpt-4o-mini
185+
LLM_PREMIUM_MODEL=claude-3-opus-20240229
186+
187+
# ============================================
188+
# SerpAPI (Web Search for AI Agents - PRO only)
189+
# Get your API key from https://serpapi.com/manage-api-key
190+
# ============================================
191+
SERPAPI_KEY=your-serpapi-key-here
192+
SERPAPI_MONTHLY_LIMIT=250

0 commit comments

Comments
 (0)