-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path.env.example
More file actions
192 lines (145 loc) · 7.7 KB
/
Copy path.env.example
File metadata and controls
192 lines (145 loc) · 7.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
# =============================================================================
# Biome server environment variables
# Copy to .env and fill in values. Every var below is referenced via
# process.env in server/ (excluding test files).
# =============================================================================
# -----------------------------------------------------------------------------
# Core server
# -----------------------------------------------------------------------------
# HTTP port for the Express server. Optional; defaults to 3000.
PORT=3000
# Runtime mode. Optional; defaults to development behavior when unset.
# Set to "production" to enable secure cookies, hide dev OTP codes, and require
# configured email/SMS senders for OTP routes.
NODE_ENV=development
# Comma-separated list of allowed browser origins for CORS (with credentials).
# Optional; defaults to http://localhost:3001.
CORS_ORIGIN=http://localhost:3001
# -----------------------------------------------------------------------------
# Authentication
# -----------------------------------------------------------------------------
# Secret used to sign and verify JWT session tokens (auth middleware + routes).
# Optional; defaults to dev_jwt_secret_change_me. Set a strong value in production.
JWT_SECRET=dev_jwt_secret_change_me
# Public URL of the frontend app, used for OAuth redirects and post-login links.
# Optional; falls back to the incoming request host when unset.
FRONTEND_URL=http://localhost:3001
# Google OAuth client ID. Optional; required only when Google sign-in is enabled.
GOOGLE_CLIENT_ID=
# Google OAuth client secret. Optional; required only when Google sign-in is enabled.
GOOGLE_CLIENT_SECRET=
# Override for the Google OAuth callback URL registered in Google Cloud Console.
# Optional; defaults to {request-host}/auth/google/callback when unset.
GOOGLE_REDIRECT_URI=
# -----------------------------------------------------------------------------
# Database
# -----------------------------------------------------------------------------
# MongoDB connection URI. Optional; when set, repositories and OTP store use MongoDB
# instead of in-memory/SQLite fallbacks.
MONGODB_URI=
# MongoDB database name. Optional; defaults to deepenk.
MONGODB_DB_NAME=deepenk
# -----------------------------------------------------------------------------
# Rate limiting
# -----------------------------------------------------------------------------
# Rate-limit window in milliseconds. Optional; defaults to 60000 (1 minute).
RATE_LIMIT_WINDOW_MS=60000
# Maximum requests per IP per window. Optional; defaults to 120.
RATE_LIMIT_MAX=120
# -----------------------------------------------------------------------------
# Payments (Node proxy to payments-hs)
# -----------------------------------------------------------------------------
# Base URL of the Haskell payments service. Optional; defaults to http://localhost:4010.
PAYMENTS_SERVICE_URL=http://localhost:4010
# Enable background polling that syncs order status from payment intents. Optional; defaults to true.
ORDER_PAYMENTS_SYNC_ENABLED=true
# Interval between sync ticks in milliseconds. Optional; defaults to 30000 (min 10000).
ORDER_PAYMENTS_SYNC_INTERVAL_MS=30000
# Max orders checked per sync tick. Optional; defaults to 50 (clamped 1–200).
ORDER_PAYMENTS_SYNC_LIMIT=50
# -----------------------------------------------------------------------------
# OTP delivery (required in production when using email/SMS login)
# -----------------------------------------------------------------------------
# SendGrid API key for email OTP. Optional in dev; required in production for email OTP.
SENDGRID_API_KEY=
# Verified sender address for SendGrid email OTP. Optional in dev; required with SENDGRID_API_KEY in production.
SENDGRID_FROM=
# Twilio account SID for SMS OTP. Optional in dev; required in production for phone OTP.
TWILIO_ACCOUNT_SID=
# Twilio auth token for SMS OTP. Optional in dev; required in production for phone OTP.
TWILIO_AUTH_TOKEN=
# Twilio sender phone number for SMS OTP. Optional in dev; required in production for phone OTP.
TWILIO_FROM=
# -----------------------------------------------------------------------------
# LLM / AI
# -----------------------------------------------------------------------------
# Google Gemini API key (checked first). Optional; if unset, other LLM vars or a stub client is used.
GEMINI_API_KEY=
# Alternate env names accepted for the Gemini API key. Optional.
GOOGLE_AI_API_KEY=
GOOGLE_API_KEY=
# Gemini model name. Optional; defaults to gemini-1.5-flash.
GEMINI_MODEL=gemini-1.5-flash
# OpenAI-compatible LLM fallback (all three required together to use this provider).
LLM_API_KEY=
LLM_BASE_URL=
LLM_MODEL=
# -----------------------------------------------------------------------------
# RapidAPI (food, ecommerce, rides integrations)
# -----------------------------------------------------------------------------
# Shared RapidAPI subscription key sent as x-rapidapi-key on every provider request.
# Optional. Checked in order: RAPIDAPI_KEY first, then RAPID_API_KEY as an alias.
# When unset (or when a provider's HOST/URL vars are missing), productService returns
# empty provider results instead of synthetic mock data.
RAPIDAPI_KEY=
RAPID_API_KEY=
# -----------------------------------------------------------------------------
# RapidAPI — ecommerce (productService.ts)
# -----------------------------------------------------------------------------
# Used only for providers "Amazon", "Flipkart", and "Myntra" in searchAcrossProviders.
# Provider string → env key: uppercased, non-alphanumeric → "_" (e.g. "Amazon" → AMAZON).
# eBay in the same file uses EBAY_* vars below, not RapidAPI.
#
# The repo does not pin a specific RapidAPI marketplace listing for any provider.
# Subscribe to any compatible API on rapidapi.com, then copy its x-rapidapi-host value
# and endpoint paths into the vars below.
#
# SEARCH_URL: full URL; may embed {query} or omit it (code appends ?query=).
# DETAILS_URL: full URL; may embed {id} or omit it (code appends ?id=).
# Amazon ("Amazon" → AMAZON). Marketplace listing: not specified in repo.
# RAPIDAPI_AMAZON_HOST=
# RAPIDAPI_AMAZON_SEARCH_URL=
# RAPIDAPI_AMAZON_DETAILS_URL=
# Flipkart ("Flipkart" → FLIPKART). Marketplace listing: not specified in repo.
# RAPIDAPI_FLIPKART_HOST=
# RAPIDAPI_FLIPKART_SEARCH_URL=
# RAPIDAPI_FLIPKART_DETAILS_URL=
# Myntra ("Myntra" → MYNTRA). Marketplace listing: not specified in repo.
# RAPIDAPI_MYNTRA_HOST=
# RAPIDAPI_MYNTRA_SEARCH_URL=
# RAPIDAPI_MYNTRA_DETAILS_URL=
# -----------------------------------------------------------------------------
# RapidAPI — food and rides (foodService.ts, ridesService.ts)
# -----------------------------------------------------------------------------
# Same key derivation as above. Food uses _HOST, _SEARCH_URL, _MENU_URL; rides uses
# _HOST and _FARE_URL. Marketplace listings not specified in repo.
# Swiggy ("Swiggy" → SWIGGY):
# RAPIDAPI_SWIGGY_HOST=
# RAPIDAPI_SWIGGY_SEARCH_URL=
# RAPIDAPI_SWIGGY_MENU_URL=
# Uber ("Uber" → UBER):
# RAPIDAPI_UBER_HOST=
# RAPIDAPI_UBER_FARE_URL=
# -----------------------------------------------------------------------------
# eBay product search
# -----------------------------------------------------------------------------
# eBay OAuth client ID. Optional; eBay provider is skipped when unset.
EBAY_CLIENT_ID=
# eBay OAuth client secret. Optional; required with EBAY_CLIENT_ID for eBay search.
EBAY_CLIENT_SECRET=
# eBay API environment. Optional; defaults to production (use "sandbox" for testing).
EBAY_ENV=production
# eBay marketplace ID. Optional; defaults to EBAY_IN.
EBAY_MARKETPLACE_ID=EBAY_IN
# eBay OAuth scope. Optional; defaults to https://api.ebay.com/oauth/api_scope.
EBAY_OAUTH_SCOPE=https://api.ebay.com/oauth/api_scope