# Required (OSS + Intelligence modes) OPENAI_API_KEY= # ── License (unlocks paid Intelligence features such as durable memory) ────── # COPILOTKIT_LICENSE_TOKEN is required for either path below; pick ONE. # # MANAGED Intelligence (hosted — the eventual target for this demo): # Use a CopilotKit-ISSUED token (your account team, or `copilotkit license # -n banking-demo`) and point the INTELLIGENCE_* endpoints below at the managed # stack. Do NOT set BAKED_LICENSE_KEYS_JSON — managed/official images bake the # master public key as the root of trust and ignore a runtime baked key. # # SELF-HOSTED local dev (current): a locally-built Intelligence stack gates # memory behind a signed offline license. Generate one with # `pnpm mint-dev-license --write` (needs the private Intelligence source; see # scripts/mint-dev-license.mjs) — it fills in the three vars below for you. COPILOTKIT_LICENSE_TOKEN= # Self-hosted only — the trusted key that signed the dev license above. # Leave UNSET for managed Intelligence. # BAKED_LICENSE_KEYS_JSON= # Self-hosted only — main renamed the deployment-mode env (underscore value). # INTELLIGENCE_DEPLOYMENT_MODE=self_hosted # Intelligence (memory) mode — set all three to enable durable cross-thread learning. # Ports/key match the vendored docker-compose.yml (see docs/superpowers/specs/2026-06-26-stack-decision.md). INTELLIGENCE_API_URL=http://localhost:7050 INTELLIGENCE_GATEWAY_WS_URL=ws://localhost:7053 INTELLIGENCE_API_KEY=cpk_sPRVSEED_seed0privat0longtoken00 # Leave INTELLIGENCE_USER_ID UNPINNED for the interactive demo so the sidebar # user switcher drives memory scope (Alex -> jordan-beamson, Maya -> morgan-fluxx; # see src/lib/intelligence/user-id.ts). Pin it only for a single-identity run # (CI/e2e already pins it in playwright.config.ts). Both survivors must map to a # SEEDED backend id — non-seeded ids 403 against the Intelligence stack. # INTELLIGENCE_USER_ID=jordan-beamson # INTELLIGENCE_USER_NAME=Jordan Beamson # Glass Engine (advanced inspector). Unset = absent (public-host default). # Set to "true" for FDE/sales/conference deployments to expose the left-rail # telescope toggle. Distinct from the presenter's per-session on/off toggle. GLASS_ENGINE_AVAILABLE= # Presenter/booth reset button (left sidebar). Unset = hidden AND the # /api/v1/dev/reset endpoint is disabled (403). Set to "true" for # FDE/sales/conference deployments so a presenter can reset demo state # (re-seed transactions + forget all durable memories) without curl. PRESENTER_RESET_ENABLED= # Test-only: point the agent LLM at aimock for the deterministic E2E proof. # Leave unset in normal runs. (See e2e/memory-learning.spec.ts.) # OPENAI_BASE_URL=http://localhost:7099/v1