MINARA

Data Studio

Data Studio (chat-built live-data dashboards)

Read by src/data-studio/config.ts dsConfig(). Most are read at call time, so toggles take effect without a restart; MAX_PAGE_BYTES and MAX_VERSIONS are read at startup (page-write tool + store wiring), so changing them needs a restart. These values are also surfaced in Settings → Preferences under Data Studio so local operators can tune the dashboard runtime without editing the env file directly.

DATA_STUDIO_ENABLED

DATA_STUDIO_ENABLED

  • What it controls: the whole Data Studio module. When off, every /v1/data-studio/* route, the /studio/p/* hosted pages, and the data proxy go dark (503 / 404) and the nav entry is inert.
  • Consumed by: src/gateway/api.ts (routeDataStudio, handleDataStudioHost, handleDataStudioProxy).
  • Default: true (enabled).
  • Format: 1/true/yes/on to enable, 0/false/no/off to disable.
  • Setting home: Settings → Preferences (schema key)

DATA_STUDIO_PROXY_ENABLED

DATA_STUDIO_PROXY_ENABLED

  • What it controls: the public data proxy that injects provider keys server-side and meters calls. When off the proxy returns 503 and dashboards show a "data paused" state; hosting + authoring still work.
  • Consumed by: src/gateway/api.ts handleDataStudioProxy.
  • Default: true (enabled).
  • Format: 1/true/yes/on to enable, 0/false/no/off to disable.
  • Setting home: Settings → Preferences (schema key)

DATA_STUDIO_PUBLISH_ENABLED

DATA_STUDIO_PUBLISH_ENABLED

  • What it controls: whether a dashboard can be published to a public shareable link. When off, publishing is refused (403) and only in-app private pages exist. Already-public pages keep resolving.
  • Consumed by: src/gateway/api.ts routeDataStudio (publish route).
  • Default: true (enabled).
  • Format: 1/true/yes/on to enable, 0/false/no/off to disable.
  • Setting home: Settings → Preferences (schema key)

DATA_STUDIO_ALLOW_PUBLIC_CUSTOM_SOURCES

DATA_STUDIO_ALLOW_PUBLIC_CUSTOM_SOURCES

  • What it controls: whether published (public) pages may use a project's own custom external data sources. Stays OFF until full SSRF hardening ships; project-custom sources are not wired yet, so this is inert.
  • Consumed by: src/data-studio/config.ts (reserved gate).
  • Default: false.
  • Format: 1/true/yes/on to enable, 0/false/no/off to disable.
  • Setting home: Settings → Preferences (schema key)

DATA_STUDIO_PKG_MANAGER

DATA_STUDIO_PKG_MANAGER

  • What it controls: which package manager bootstraps the shared Vite/React toolchain that compiles dashboards. Auto-detected by default (pnpm, then npm, yarn, bun); set this to force one.
  • Consumed by: src/app.ts (build runner), src/data-studio/build-runner.ts.
  • Default: empty (auto-detect).
  • Format: one of pnpm | npm | yarn | bun.
  • Setting home: Settings → Preferences (schema key)

DATA_STUDIO_BUILD_TIMEOUT_MS

DATA_STUDIO_BUILD_TIMEOUT_MS

  • What it controls: the time limit for one dashboard compile (vite build). A build that exceeds this is killed and reported as a build error.
  • Consumed by: src/data-studio/build-runner.ts (via dsConfig at boot).
  • Default: 90000 (90s).
  • Format: positive integer (milliseconds), minimum 1000.
  • Setting home: Settings → Preferences (schema key)

DATA_STUDIO_MAX_WATCHERS

DATA_STUDIO_MAX_WATCHERS

  • What it controls: how many live-preview build watchers run at once (LRU; idle projects are evicted). A resource cap on long-lived build processes.
  • Consumed by: src/data-studio/build-runner.ts (via dsConfig at boot).
  • Default: 3.
  • Format: positive integer.
  • Setting home: Settings → Preferences (schema key)

DATA_STUDIO_MAX_CONCURRENT_BUILDS

DATA_STUDIO_MAX_CONCURRENT_BUILDS

  • What it controls: the maximum number of production dashboard builds that may run for different projects at once. Same-project work remains FIFO and identical builds are coalesced.
  • Consumed by: src/data-studio/build-scheduler.ts via dsConfig at Gateway boot.
  • Default: auto: clamp(floor((availableParallelism - 2) / 2), 1, 3).
  • Format: positive integer; leave unset for automatic desktop sizing.
  • Setting home: Not a user-facing setting

DATA_STUDIO_MAX_CONCURRENT_VERIFICATIONS

DATA_STUDIO_MAX_CONCURRENT_VERIFICATIONS

  • What it controls: the number of headless browser verification runs allowed at once. It is clamped to the production-build limit and never above 2.
  • Consumed by: src/data-studio/build-scheduler.ts via dsConfig at Gateway boot.
  • Default: 1.
  • Format: positive integer; effective range 1-2.
  • Setting home: Not a user-facing setting

DATA_STUDIO_MIN_POLL_INTERVAL_SEC

DATA_STUDIO_MIN_POLL_INTERVAL_SEC

  • What it controls: the floor on how often a dashboard may refresh a metered data source. Faster bindings are clamped to this and flagged so the user is told they refresh often.
  • Consumed by: src/tools/data-studio.ts, src/data-studio/host.ts (the injected window.STUDIO config the data SDK reads).
  • Default: 5.
  • Format: positive integer (seconds).
  • Setting home: Settings → Preferences (schema key)

DATA_STUDIO_PROXY_RATE_PER_MIN

DATA_STUDIO_PROXY_RATE_PER_MIN

  • What it controls: per-page-token proxy requests allowed per minute. The token is public (written into the page), so this caps abuse. Cache hits do not count.
  • Consumed by: src/data-studio/config.ts ProxyRateLimiter.
  • Default: 120.
  • Format: positive integer.
  • Setting home: Settings → Preferences (schema key)

DATA_STUDIO_PROXY_DAILY_CAP

DATA_STUDIO_PROXY_DAILY_CAP

  • What it controls: per-page-token proxy requests allowed per day.
  • Consumed by: src/data-studio/config.ts ProxyRateLimiter.
  • Default: 5000.
  • Format: positive integer.
  • Setting home: Settings → Preferences (schema key)

DATA_STUDIO_PROXY_CACHE_TTL_SEC

DATA_STUDIO_PROXY_CACHE_TTL_SEC

  • What it controls: how long the proxy serves an identical (source + path + params) read from memory before refetching upstream. Cuts provider load + quota for busy or widely-shared dashboards.
  • Consumed by: src/data-studio/config.ts ProxyCache.
  • Default: 5.
  • Format: positive integer (seconds); 0 disables caching.
  • Setting home: Settings → Preferences (schema key)

DATA_STUDIO_VERIFY_PREVIEW

DATA_STUDIO_VERIFY_PREVIEW

  • What it controls: whether Data Studio runs a headless browser preview verification automatically after a successful build at desktop and mobile sizes. When enabled, a dashboard is not considered done until build passes and the hosted preview loads without page errors, unhandled promise rejections, application console.error entries, chart or visual errors, page-level overflow, or fresh runtime-log errors.
  • Consumed by: src/tools/data-studio.ts data_studio_build and data_studio_verify_preview.
  • Default: true.
  • Format: 1/true/yes/on to enable, 0/false/no/off to disable.
  • Setting home: Settings → Preferences (schema key)

DATA_STUDIO_VERIFY_BASE_URL

DATA_STUDIO_VERIFY_BASE_URL

  • What it controls: gateway origin used by headless preview verification. Leave empty to infer http://127.0.0.1:$\{GATEWAY_PORT:-8080\}.
  • Consumed by: src/data-studio/config.ts dataStudioVerifyBaseUrl.
  • Default: empty (infer local gateway URL).
  • Format: absolute HTTP(S) origin, no path.
  • Setting home: Settings → Preferences (schema key)

DATA_STUDIO_VERIFY_TIMEOUT_MS

DATA_STUDIO_VERIFY_TIMEOUT_MS

  • What it controls: Playwright navigation timeout for one preview verify run.
  • Consumed by: src/data-studio/runtime-verify.ts.
  • Default: 10000.
  • Format: positive integer (milliseconds), minimum 1000.
  • Setting home: Settings → Preferences (schema key)

DATA_STUDIO_VERIFY_SETTLE_MS

DATA_STUDIO_VERIFY_SETTLE_MS

  • What it controls: extra time after DOMContentLoaded for async app errors to surface before the preview verification verdict is returned.
  • Consumed by: src/data-studio/runtime-verify.ts.
  • Default: 1500.
  • Format: integer milliseconds, 0 or greater.
  • Setting home: Settings → Preferences (schema key)

DATA_STUDIO_RUNTIME_FIX_MAX_ATTEMPTS

DATA_STUDIO_RUNTIME_FIX_MAX_ATTEMPTS

  • What it controls: default number of build -> verify -> fix rounds the agent should attempt before returning remaining runtime errors.
  • Consumed by: src/tools/data-studio.ts data_studio_verify_preview result.
  • Default: 6.
  • Format: positive integer; clamped by DATA_STUDIO_RUNTIME_FIX_ATTEMPT_HARD_CAP.
  • Setting home: Settings → Preferences (schema key)

DATA_STUDIO_RUNTIME_FIX_ATTEMPT_HARD_CAP

DATA_STUDIO_RUNTIME_FIX_ATTEMPT_HARD_CAP

  • What it controls: operator hard cap for runtime-fix loops, preventing a bad prompt or app from running unbounded verification cycles.
  • Consumed by: src/data-studio/config.ts dsConfig().
  • Default: 10.
  • Format: positive integer.
  • Setting home: Settings → Preferences (schema key)

DATA_STUDIO_POLISH_REVISION_BUDGET

DATA_STUDIO_POLISH_REVISION_BUDGET

  • What it controls: how many further passes the agent makes on a dashboard that already passed verification, before the build result tells it to deliver. Counted per user message; a new request starts over.
  • Consumed by: src/tools/data-studio.ts data_studio_build result.
  • Default: 2.
  • Format: integer, 0 or greater; 0 delivers on the first passing build.
  • Setting home: Settings → Preferences (schema key)

DATA_STUDIO_RUNTIME_LEARNING_ENABLED

DATA_STUDIO_RUNTIME_LEARNING_ENABLED

  • What it controls: whether Data Studio records preview runtime failures and recoveries into the Data Studio runtime lesson store.
  • Consumed by: src/data-studio/runtime-verify.ts and prompt assembly.
  • Default: true.
  • Format: 1/true/yes/on to enable, 0/false/no/off to disable.
  • Setting home: Settings → Preferences (schema key)

DATA_STUDIO_RUNTIME_LESSON_INJECT_LIMIT

DATA_STUDIO_RUNTIME_LESSON_INJECT_LIMIT

  • What it controls: max Data Studio runtime lessons injected into generation prompts. Active lessons outrank recent candidates.
  • Consumed by: src/data-studio/project-store.ts prompt rendering.
  • Default: 5.
  • Format: integer, 0 or greater.
  • Setting home: Settings → Preferences (schema key)

DATA_STUDIO_RUNTIME_LESSON_PROMOTE_SUCCESSES

DATA_STUDIO_RUNTIME_LESSON_PROMOTE_SUCCESSES

  • What it controls: number of successful recoveries for the same runtime fingerprint before a candidate lesson auto-promotes to active.
  • Consumed by: src/data-studio/project-store.ts markRuntimeRecovered.
  • Default: 2.
  • Format: positive integer.
  • Setting home: Settings → Preferences (schema key)

DATA_STUDIO_PREFERENCE_LEARNING_ENABLED

DATA_STUDIO_PREFERENCE_LEARNING_ENABLED

  • What it controls: whether Data Studio observes user dashboard wording, component choices, visualization habits, and data habits for future prompts.
  • Consumed by: src/app/plugins.ts and prompt assembly.
  • Default: false.
  • Format: 1/true/yes/on to enable, 0/false/no/off to disable.
  • Setting home: Settings → Preferences (schema key)

DATA_STUDIO_PREFERENCE_INJECT_LIMIT

DATA_STUDIO_PREFERENCE_INJECT_LIMIT

  • What it controls: max Data Studio preference memories injected before a new dashboard generation, ranked by relevance, recency, and active status.
  • Consumed by: src/data-studio/project-store.ts prompt rendering.
  • Default: 6.
  • Format: integer, 0 or greater.
  • Setting home: Settings → Preferences (schema key)

BEHAVIOR_MEMORY_ENABLED / BEHAVIOR_MEMORY_CAPTURE_ENGAGEMENT / BEHAVIOR_MEMORY_CAPTURE_FEATURE_USAGE / BEHAVIOR_MEMORY_CAPTURE_CONFIGURATION / BEHAVIOR_MEMORY_CAPTURE_AUTOMATION / BEHAVIOR_MEMORY_CAPTURE_STRATEGY / BEHAVIOR_MEMORY_CAPTURE_FINANCIAL_CONTEXT / BEHAVIOR_MEMORY_CAPTURE_TRANSACTION / BEHAVIOR_MEMORY_CAPTURE_CONVERSATION / BEHAVIOR_REFLECTION_ENABLED / BEHAVIOR_REFLECTION_INCLUDE_IN_MEMORY / BEHAVIOR_REFLECTION_CUSTOM_PROMPT / BEHAVIOR_MEMORY_RAW_RETENTION_DAYS / BEHAVIOR_MEMORY_MAX_MB / BEHAVIOR_MEMORY_BATCH_SIZE / BEHAVIOR_MEMORY_BATCH_KB / BEHAVIOR_MEMORY_FLUSH_MS / BEHAVIOR_MEMORY_QUEUE_MAX / BEHAVIOR_MEMORY_PRESSURE_FREE_MB / BEHAVIOR_MEMORY_CRITICAL_FREE_MB / BEHAVIOR_MEMORY_DISK_CHECK_MS

Behavior memory (local, coarse-grained product usage telemetry). Master switch is off by default. Sensitive capture classes remain off even after the master switch is enabled unless explicitly opted in.

  • Setting home: Settings → Preferences (schema key)

On this page

DATA_STUDIO_ENABLEDDATA_STUDIO_PROXY_ENABLEDDATA_STUDIO_PUBLISH_ENABLEDDATA_STUDIO_ALLOW_PUBLIC_CUSTOM_SOURCESDATA_STUDIO_PKG_MANAGERDATA_STUDIO_BUILD_TIMEOUT_MSDATA_STUDIO_MAX_WATCHERSDATA_STUDIO_MAX_CONCURRENT_BUILDSDATA_STUDIO_MAX_CONCURRENT_VERIFICATIONSDATA_STUDIO_MIN_POLL_INTERVAL_SECDATA_STUDIO_PROXY_RATE_PER_MINDATA_STUDIO_PROXY_DAILY_CAPDATA_STUDIO_PROXY_CACHE_TTL_SECDATA_STUDIO_VERIFY_PREVIEWDATA_STUDIO_VERIFY_BASE_URLDATA_STUDIO_VERIFY_TIMEOUT_MSDATA_STUDIO_VERIFY_SETTLE_MSDATA_STUDIO_RUNTIME_FIX_MAX_ATTEMPTSDATA_STUDIO_RUNTIME_FIX_ATTEMPT_HARD_CAPDATA_STUDIO_POLISH_REVISION_BUDGETDATA_STUDIO_RUNTIME_LEARNING_ENABLEDDATA_STUDIO_RUNTIME_LESSON_INJECT_LIMITDATA_STUDIO_RUNTIME_LESSON_PROMOTE_SUCCESSESDATA_STUDIO_PREFERENCE_LEARNING_ENABLEDDATA_STUDIO_PREFERENCE_INJECT_LIMITBEHAVIOR_MEMORY_ENABLED / BEHAVIOR_MEMORY_CAPTURE_ENGAGEMENT / BEHAVIOR_MEMORY_CAPTURE_FEATURE_USAGE / BEHAVIOR_MEMORY_CAPTURE_CONFIGURATION / BEHAVIOR_MEMORY_CAPTURE_AUTOMATION / BEHAVIOR_MEMORY_CAPTURE_STRATEGY / BEHAVIOR_MEMORY_CAPTURE_FINANCIAL_CONTEXT / BEHAVIOR_MEMORY_CAPTURE_TRANSACTION / BEHAVIOR_MEMORY_CAPTURE_CONVERSATION / BEHAVIOR_REFLECTION_ENABLED / BEHAVIOR_REFLECTION_INCLUDE_IN_MEMORY / BEHAVIOR_REFLECTION_CUSTOM_PROMPT / BEHAVIOR_MEMORY_RAW_RETENTION_DAYS / BEHAVIOR_MEMORY_MAX_MB / BEHAVIOR_MEMORY_BATCH_SIZE / BEHAVIOR_MEMORY_BATCH_KB / BEHAVIOR_MEMORY_FLUSH_MS / BEHAVIOR_MEMORY_QUEUE_MAX / BEHAVIOR_MEMORY_PRESSURE_FREE_MB / BEHAVIOR_MEMORY_CRITICAL_FREE_MB / BEHAVIOR_MEMORY_DISK_CHECK_MS