Files
OmniRoute/docs/i18n/my/docs/reference/FEATURE_FLAGS.md
Diego Rodrigues de Sa e Souza 8feea123bb feat(docs): mirror every docs/ page in all 65 locales (#14106)
* feat(docs): mirror every docs/ page in all 65 locales

Extends the documentation mirrors from the 22-page core set (#13940) to
every Markdown page under docs/: 152 sources x 65 locales = 9,880 mirrors
(6,208 new), language bars rewritten for the full locale list, state
adopted so the blocking drift gate now covers all 152 pages.

run-translation.mjs: an oversized block made only of table rows or list
items (PROVIDER_REFERENCE.md 244-row table, FREE_TIERS.md 71-item list) is
cut at item boundaries and rejoined without a blank line — the single
16-40 KB request outlived the backend socket for verbose scripts. 48
older mirrors whose tables had lost rows were retranslated with --force.

* docs(i18n): refresh mirrors for the sources the base changed since the branch cut

Section-level retranslation of the 29 docs (and README.md) whose source
or mirrors moved on release/v3.8.51 during the run, then state adoption;
the drift gate is green again on the merged tree.
2026-09-18 13:16:46 -03:00

85 KiB

Feature Flags (မြန်မာ)

🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇱🇰 si · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW


ပြန်လည် deploy လုပ်စရာမလိုဘဲ OmniRoute ၏ လုပ်ဆောင်ပုံကို ပြောင်းလဲနိုင်သည့် runtime toggle များ။ ဤနေရာတွင် ဖော်ပြထားသည့် flag တိုင်းကို src/shared/constants/featureFlagDefinitions.ts တွင် သတ်မှတ်ထားသည် — ၎င်းသည် တစ်ခုတည်းသော မှန်ကန်သည့် အချက်အလက်ရင်းမြစ်ဖြစ်သည်။ Dashboard နှင့် REST API နှစ်ခုစလုံးသည် ထိုဖိုင်မှ ဖတ်ရှုကြသောကြောင့် အောက်ပါဇယားကို ၎င်းနှင့် 1:1 ကိုက်ညီစေရန် ထုတ်လုပ်ထားသည်။


Feature Flag ဆိုသည်မှာ အဘယ်နည်း

Feature flag ဆိုသည်မှာ အမည်သတ်မှတ်ထားသော toggle (boolean သို့မဟုတ် enum) တစ်ခုဖြစ်ပြီး ၎င်း၏တန်ဖိုးကို runtime တွင် ပြောင်းလဲ၍ database ထဲတွင် အမြဲတမ်းသိမ်းဆည်းထားနိုင်ကာ process ကို ပြန်လည် deploy လုပ်ရန် မလိုအပ်ပါ။ Flag တစ်ခုချင်းစီကို key, label, description, category, defaultValue, type နှင့် requiresRestart အရိပ်အမြွက်တို့ ပါဝင်သော FeatureFlagDefinition ဖြင့် ဖော်ပြထားသည်။

တန်ဖိုးဖြေရှင်းမှု အစီအစဉ်

Flag တစ်ခု၏ အကျိုးသက်ရောက်နေသောတန်ဖိုး ကို resolveFeatureFlag() က အောက်ပါ ဦးစားပေးအစီအစဉ်အတိုင်း ဖြေရှင်းသည် (အမြင့်ဆုံးက အနိုင်ရသည်) -

  1. DB overridefeature_flags namespace အောက်ရှိ key_value ဇယားတွင် သိမ်းဆည်းထားသော တန်ဖိုးတစ်ခု (dashboard သို့မဟုတ် REST API မှတစ်ဆင့် သတ်မှတ်ထားသည်)။
  2. Environment variable — သတ်မှတ်ထားပြီး အလွတ်မဟုတ်ပါက process.env[<KEY>]
  3. သတ်မှတ်ချက်၏ မူလတန်ဖိုးfeatureFlagDefinitions.ts မှ defaultValue

Boolean flag တစ်ခု၏ အကျိုးသက်ရောက်နေသောတန်ဖိုးသည် "true", "1" သို့မဟုတ် "yes" ဖြစ်ပါက ဖွင့်ထားသည် ဟု သတ်မှတ်သည် (isFeatureFlagEnabled() ကို ကြည့်ပါ)။

Note

Flag အများစုတွင် ENVIRONMENT.md ၌ မှတ်တမ်းတင်ထားသော အမည်တူ environment variable တစ်ခုလည်း ရှိသည်။ Flag ၏ DB override သည် ထို environment variable ထက် ဦးစားပေးသည်။ requiresRestart: true ပါသော flag ကို ချက်ချင်း အမြဲတမ်းသိမ်းဆည်းသော်လည်း process စတင်ချိန်တွင်သာ ပြန်လည်ဖတ်ရှုသည် — ၎င်းကို toggle လုပ်ပါက dashboard တွင် "Server ကို ပြန်လည်စတင်ပါ" banner တစ်ခု ပေါ်လာသည်။


Flag စာရင်း

Category 6 ခုတွင် flag 72 ခုရှိသည်။ မူလတန်ဖိုး ဆိုသည်မှာ သတ်မှတ်ချက်၏ မူလတန်ဖိုးဖြစ်ပြီး — DB override နှင့် environment variable နှစ်ခုစလုံး မရှိသည့်အခါ အသုံးပြုသည့်တန်ဖိုးဖြစ်သည်။

လုံခြုံရေး (10)

Key အမျိုးအစား မူလတန်ဖိုး ဖော်ပြချက်
REQUIRE_API_KEY boolean false ဝင်လာသော request အားလုံးအတွက် API key တစ်ခု လိုအပ်စေသည်။
INPUT_SANITIZER_ENABLED boolean true Request အားလုံးအတွက် input sanitization ကို ဖွင့်ပေးသည်။
INJECTION_GUARD_MODE enum off Prompt injection ကာကွယ်မှု mode။ တန်ဖိုးများ - off, warn, block, redact
PII_REDACTION_ENABLED boolean false Request များမှ PII ကို ဖုံးကွယ်သည် (INPUT_SANITIZER_MODE နှင့် သီးခြားဖြစ်သည်)။
PII_RESPONSE_SANITIZATION boolean false Provider response များမှ PII ကို သန့်စင်ဖယ်ရှားသည်။
PII_RESPONSE_SANITIZATION_MODE enum redact PII response sanitization အတွက် mode။ တန်ဖိုးများ - redact, warn, block, off
OUTBOUND_SSRF_GUARD_ENABLED boolean true Private/internal IP range များသို့ အပြင်ထွက် request ပို့ခြင်းကို ပိတ်ဆို့သည်။
ALLOW_API_KEY_REVEAL boolean false အထောက်အထားစစ်ဆေးပြီးသော dashboard အသုံးပြုသူများအား ဖုံးကွယ်ထားသောတန်ဖိုးများကိုသာ မြင်စေမည့်အစား သိမ်းဆည်းထားသော API key များကို ဖော်ပြကြည့်ရှုခွင့်ပေးသည်။
AUTH_LOG_INCLUDE_ACCOUNT_ID boolean false AUTH log စာကြောင်းများတွင် account prefix ကို ထည့်သွင်းသည် (ဥပမာ "အသုံးပြုနေသော account: abc12345...")။ မျှဝေသုံးစွဲသော/multi-tenant process log များမှ account identifier များကို ဖုံးကွယ်ထားနိုင်ရန် မူလအားဖြင့် ပိတ်ထားသည်။ Debug Mode နှင့် သီးခြားဖြစ်ပြီး Debug Mode ကို ပြောင်းလဲခြင်းက ဤအချက်အလက်ကို မဖော်ပြပါ။
OMNIROUTE_OIDC_DISABLE_PASSWORD_LOGIN boolean false OIDC ကို ဖွင့်ထားသည့်အခါ အသုံးပြုသူများသည် OIDC Single Sign-On မှတစ်ဆင့်သာ အထောက်အထားစစ်ဆေးနိုင်စေရန် password login ကို ပိတ်သည်။ ပိတ်ထားသည့်အခါ (မူလအခြေအနေ) password login နှင့် OIDC နှစ်ခုစလုံးကို အသုံးပြုနိုင်သည်။

ကွန်ရက် (15)

ကီး အမျိုးအစား မူလတန်ဖိုး ပြန်လည်စတင်ရန် ဖော်ပြချက်
ENABLE_TLS_FINGERPRINT boolean false TLS fingerprint ကို ဖုံးကွယ်သည့်မုဒ်ကို ဖွင့်ပါ။
AUDIO_REMOTE_PROVIDER_NODES boolean false /v1/audio/* လမ်းကြောင်းများအား localhost ပြင်ပတွင် လက်ခံထားသော OpenAI-compatible provider node များကို အသုံးပြုခွင့်ပေးပါ။ မူလအားဖြင့် ပိတ်ထားသည် — audio ကို remote host တစ်ခုသို့ လမ်းကြောင်းပေးခြင်းက အထွက်ချိတ်ဆက်မှု၏ identity ကို ပြောင်းလဲစေသောကြောင့် operator က အတိအလင်း ဆုံးဖြတ်ရမည်။ Loopback node များကို အမြဲတမ်း ခွင့်ပြုထားပြီး သက်ရောက်မှုမရှိပါ။
PROXY_AUTO_SELECT_ENABLED boolean false ချိတ်ဆက်မှုတစ်ခုအတွက် proxy သတ်မှတ်မထားသည့်အခါ registry ထဲမှ ပထမဆုံး အလုပ်လုပ်သော proxy ကို အလိုအလျောက် ရွေးချယ်ပါ။ မူလအားဖြင့် ပိတ်ထားသည် (မဟုတ်ပါက registry ရှိ မည်သည့် proxy မဆို global fallback ဖြစ်လာမည် — #3332)။
OMNIROUTE_CONTROL_PLANE_PROXY_DIRECT_FALLBACK boolean false Proxy ချိတ်ဆက်ရောက်ရှိနိုင်မှုကို ကြိုတင်စစ်ဆေးရာတွင် မအောင်မြင်ပါက OAuth နှင့် provider validation flow များအား သတ်မှတ်ပိတ်ထားသော proxy ကို ကျော်ပြီး တိုက်ရိုက်ချိတ်ဆက်ခွင့်ပေးပါ။ ၎င်းသည် အထွက် IP ကို ပြောင်းလဲစေနိုင်သောကြောင့် မူလအားဖြင့် ပိတ်ထားသည်။
NETWORK_ROTATION_SHARED_EGRESS_GUARD boolean true Account အများအပြားကို လှည့်လည်အသုံးပြုသည့် executor တစ်ခုတွင် network exception (timeout၊ connection refused/reset) ဖြစ်ပြီး မအောင်မြင်သော account အတွက် သီးသန့် proxy မရှိပါက account တစ်ခုချင်းစီကို ထပ်မံကြိုးစားမည့်အစား cooldown အတိုတစ်ခု သတ်မှတ်ကာ ကျန် request ကာလအတွင်း proxy မရှိသော အခြား account များကို ကျော်လိုက်ပါ။ မူလအားဖြင့် ဖွင့်ထားသည် (ဘေးကင်းသည်—အထွက် IP မပြောင်းလဲဘဲ shared-egress account များတွင် latency/cooldown အန္တရာယ်ကိုသာ လျှော့ချပေးသည်)။ ပထမဆုံး proxy မရှိသော throw တွင် ချက်ချင်း propagation ပြန်ဖြစ်စေရန် ပိတ်ပါ။
PROXY_SKIP_RECENTLY_FAILED boolean false Proxy pool များနှင့် opencode ၏ account အလိုက် rotation သည် မကြာသေးမီက မအောင်မြင်ခဲ့သော proxy (ငြင်းပယ်ခံရသော TCP probe သို့မဟုတ် ၎င်းမှတစ်ဆင့် လက်ခံရရှိသည့် 429) ကို process တစ်ခုချင်းစီအလိုက် သတ်မှတ်ထားသော ကာလအတွင်း ထပ်မံအသုံးမပြုတော့ပါ။ ထိုကာလသည် ထပ်မံမအောင်မြင်တိုင်း နှစ်ဆတိုးလာပြီး သတ်မှတ်အမြင့်ဆုံးအထိသာ ရောက်မည်။ Proxy status တစ်စုံတစ်ရာကို ရေးသားမည်မဟုတ်ပါ။ Candidate အားလုံးကို ဘေးဖယ်ထားပါက ရွေးချယ်မှုသည် မပြောင်းလဲပါ။ မူလအားဖြင့် ပိတ်ထားသည်။
PROXY_POOL_EGRESS_OBSERVATION boolean false Dashboard ရှိ proxy pool အောက်တွင် လွန်ခဲ့သော 24 h အတွင်း ၎င်း၏ member များကို ဝန်ဆောင်မှုပေးခဲ့သော တွေ့ရှိထားသည့် အထွက် IP အရေအတွက်နှင့် ၎င်းတို့ကို အသုံးပြုခဲ့သည့် ချိတ်ဆက်မှုအရေအတွက်ကို ပြပါ။ Read-only ဖြစ်ပြီး proxy log မှ တွက်ချက်ထားကာ routing အတွက် မည်သည့်အခါမျှ အသုံးမပြုပါ။ မူလအားဖြင့် ပိတ်ထားသည်။
OPENCODE_RESPONSES_STALL_ROTATION boolean false OpenCode executor အတွက် streamed Responses reply ၏ ပထမဆုံး body byte ကို စောင့်ကြည့်ပါ (အချိန်အပိုင်းအခြား—RESPONSES_FIRST_BYTE_TIMEOUT_MS၊ မူလ 15000)။ အချိန်အပိုင်းအခြား ကျော်လွန်သည်အထိ တိတ်ဆိတ်နေသော 2xx Responses stream ကို ရပ်တန့်နေသည်ဟု သတ်မှတ်ပြီး account ကို cooldown ချကာ request ကို နောက် account သို့ တစ်ကြိမ်သာ လှည့်ပေးမည်။ ဒုတိယအကြိမ် ရပ်တန့်ပါက ချက်ချင်း မအောင်မြင်ဟု သတ်မှတ်မည်။ မူလအားဖြင့် ပိတ်ထားသည်—ရပ်တန့်နေသော stream များသည် ယနေ့အသုံးပြုနေသည့် stream readiness timeout အထိ ဆက်လက်စောင့်ဆိုင်းမည်။
OPENCODE_USER_BLOCKED_ROTATION boolean false OpenCode executor—user_blocked ငြင်းပယ်မှုပါရှိသည့် 403/451 (geo ကြောင့်မဟုတ်သလို Cloudflare fingerprint rejection လည်း မဟုတ်ပါ) ဖြစ်ပါက ငြင်းပယ်ခံရသော account ကို cooldown ချပြီး request တစ်ခုလျှင် အများဆုံး တစ်ကြိမ်သာ နောက် account သို့ လှည့်ပေးပါ။ ဒုတိယအကြိမ် ငြင်းပယ်မှုကို success mark မပါဘဲ မူလအတိုင်း ပြန်ပေးမည်။ မူလအားဖြင့် ပိတ်ထားသည်—upstream user block ကို ရှောင်ကွင်း၍ routing လုပ်ခြင်းသည် ရှောင်တိမ်းမှုကဲ့သို့ ထင်ရနိုင်ပြီး flag ကို fleet တစ်ခုလုံးသို့ ပျံ့နှံ့စေနိုင်သည်။
OPENCODE_TRANSIENT_FAILOVER_BACKOFF boolean false OpenCode အလှည့်ကျအသုံးပြုမှု—ယာယီ upstream ချို့ယွင်းမှု (5xx သို့မဟုတ် body အလွတ်ပါသော 400) နှစ်ကြိမ်ဆက်တိုက်ဖြစ်ပေါ်ပြီးနောက် နောက် account သို့မပြောင်းမီ ခေတ္တစောင့်ဆိုင်းသည်—ထပ်မံဖြစ်ပေါ်သော ချို့ယွင်းမှုတစ်ကြိမ်စီအတွက် 1.5s မှစ၍ နှစ်ဆတိုးမည်ဖြစ်ပြီး စောင့်ဆိုင်းမှုတစ်ကြိမ်လျှင် အများဆုံး 6s နှင့် request တစ်ခုလျှင် အများဆုံး 10s သတ်မှတ်ထားကာ client ချိတ်ဆက်မှုပြတ်တောက်ပါက ကျော်သွားမည်၊ စောင့်ဆိုင်းခြင်းမပြုမီ ချို့ယွင်းသွားသော body ကို လွှတ်ပေးမည်။ မူလအတိုင်း ပိတ်ထားသည်—failover ကို ချက်ချင်းဆက်လုပ်မည်။
OPENCODE_RATE_LIMITED_429_EARLY_STOP boolean false OpenCode အလှည့်ကျအသုံးပြုမှု—အမှန်တကယ် rate limit အဖြစ် သတ်မှတ်ထားသော ပထမဆုံး 429 (Retry-After ကို parse လုပ်နိုင်ခြင်း သို့မဟုတ် body တွင် rate/usage limit ကို ဖော်ပြထားခြင်း) တွင် account အလှည့်ကို ရပ်တန့်ပြီး ထို upstream 429 ကို မပြောင်းလဲဘဲ ပြန်ပေးသည်။ သတ်မှတ်ခွဲခြားမထားသော 429 များအတွက် ဆက်လက်အလှည့်ကျမည်။ မူလအတိုင်း ပိတ်ထားသည်—free tier ကို egress IP တစ်ခုချင်းစီအလိုက် ကန့်သတ်ထားသောကြောင့် (#9611) 429 တိုင်းတွင် အလှည့်ကျပြီး account အားလုံး ကုန်ဆုံးသွားပါက နောက်ဆုံး upstream 429 ကို ပြန်ပေးသည်။
MITM_DISABLE_TLS_VERIFY boolean false MITM proxy အတွက် TLS certificate စစ်ဆေးအတည်ပြုခြင်းကို ပိတ်သည်။ အန္တရာယ်ရှိသည်။
OMNIROUTE_ALLOW_PRIVATE_PROVIDER_URLS boolean false private/internal network များသို့ ညွှန်ပြသော provider URL များကို ခွင့်ပြုသည်။
OMNIROUTE_ALLOW_LOCAL_PROVIDER_URLS boolean true local/private address များ (127.0.0.1, localhost, LAN) ပေါ်ရှိ provider များကို ထည့်သွင်းခြင်း/အတည်ပြုခြင်းအား ခွင့်ပြုသည်။ မူလအတိုင်း ဖွင့်ထားသည် (local-first)၊ public address များကိုသာ တင်းကျပ်စွာ ခွင့်ပြုရန် ပိတ်ပါ။ Cloud metadata ကို ဆက်လက်ပိတ်ဆို့ထားမည်။
ENABLE_CC_COMPATIBLE_PROVIDER boolean false Claude Code နှင့် တွဲဖက်အသုံးပြုနိုင်သော provider mode ကို ဖွင့်သည်။

မူဝါဒများ (5)

Key Type Default Description
TOOL_POLICY_MODE enum disabled Tool အသုံးပြုမှုဆိုင်ရာ မူဝါဒကို အကောင်အထည်ဖော်သည့် mode။ တန်ဖိုးများ—disabled, warn, block
RATE_LIMIT_AUTO_ENABLE boolean false အသုံးပြုမှုပုံစံများအပေါ် အခြေခံ၍ rate limiting ကို အလိုအလျောက် ဖွင့်သည်။
DISABLE_CONTEXT_WINDOW_CHECKS boolean false တစ်ခုတည်းသော model သို့ တိုက်ရိုက်ပို့သော request များအတွက် OmniRoute ၏ local context-window / max-input-token စစ်ဆေးမှုကို ကျော်သွားသည်။ Upstream limit များသည် ဆက်လက်သက်ရောက်သည်။
CAPABILITY_FILTER_ENABLED boolean false ပစ်မှတ် model တွင် လိုအပ်သော လုပ်ဆောင်နိုင်စွမ်းများ (vision, tools, structured output, context window) မရှိပါက dispatch မလုပ်မီ request များကို ငြင်းပယ်သည်။ combo-layer compatibility filter ကို ကျော်ဖြတ်သည့် တစ်ခုတည်းသော provider သို့ တိုက်ရိုက်ပို့သော request များကို ကာကွယ်ပေးသည်။
RADAR_ENABLED boolean false OmniRoute Radar module (catalog feed screen များနှင့် sync) ကို ဖွင့်သည်။ မူလအတိုင်း ပိတ်ထားသည်၊ ဖွင့်ခြင်းက UI ကိုသာ အသုံးပြုခွင့်ပေးပြီး data sync အတွက် သီးခြား opt-in လုပ်ရန် လိုအပ်ဆဲဖြစ်သည်။

Runtime (32)

Key Type Default Restart Description
UNIVERSAL_CONTEXT_HANDOFF_ENABLED boolean true combo routing က model များ ပြောင်းသည့်အခါ စကားဝိုင်းအကျဉ်းချုပ်များကို ဖန်တီးပြီး ထည့်သွင်းပါ။ model ပြောင်းလဲမှုများကို သီးခြားစီ ကိုင်တွယ်ရန်နှင့် လက်ရှိနှင့် အနာဂတ် combo အားလုံးအတွက် နောက်ခံ handoff request များကို တားဆီးရန် ပိတ်ပါ။
RESPONSES_PASSTHROUGH_DROP_COMMENTARY boolean true client များထံ မပို့မီ Responses API passthrough stream များမှ အတွင်းပိုင်း commentary-phase output item များကို ဖယ်ရှားပါ။ မူရင်း upstream commentary ကို လက်ခံရန် ပိတ်ပါ။
OMNIROUTE_MCP_ENFORCE_SCOPES boolean true MCP tool အသုံးပြုခွင့်အပေါ် scope ကန့်သတ်ချက်များကို မဖြစ်မနေ လိုက်နာစေပါ။
OMNIROUTE_MCP_COMPRESS_DESCRIPTIONS boolean false token အသုံးပြုမှု လျှော့ချရန် MCP tool ဖော်ပြချက်များကို ချုံ့ပါ။
OMNIROUTE_ENABLE_RUNTIME_BACKGROUND_TASKS boolean false runtime တွင် နောက်ခံ task လုပ်ဆောင်ခြင်းကို ဖွင့်ပါ။
OMNIROUTE_DISABLE_BACKGROUND_SERVICES boolean false နောက်ခံ service အားလုံးကို ပိတ်ပါ (quota refresh၊ sync စသည်)။
OMNIROUTE_RTK_TRUST_PROJECT_FILTERS boolean false project-level RTK filter များကို validation မပြုဘဲ ယုံကြည်အသုံးပြုပါ။
OMNIROUTE_ENABLE_LIVE_WS boolean true import လုပ်သည့်အခါ real-time dashboard WebSocket server ကို စတင်ပါ (ပုံမှန်အားဖြင့် port 20132)။
OMNIROUTE_CODEX_WS_ENABLED boolean true Codex အား Responses-over-WebSocket ပို့ဆောင်မှုကို အသုံးပြုခွင့်ပေးသည်။ ပိတ်ထားပါက Codex သည် HTTP Responses သို့ ပြန်လည်ပြောင်းလဲအသုံးပြုသည်။
OMNIROUTE_CODEX_APP_SERVER_ENABLED boolean true Codex အား စက်တွင်း app-server WebSocket JSON-RPC ပို့ဆောင်မှု (codexTransport=app-server) ကို အသုံးပြုခွင့်ပေးသည်။ ပိတ်ထားပါက app-server အသုံးပြုရန် ရွေးချယ်ထားသော ချိတ်ဆက်မှုများသည် Codex ၏ အခြားပို့ဆောင်မှုများသို့ ပြန်လည်ပြောင်းလဲအသုံးပြုသည်။
OMNIROUTE_EMERGENCY_FALLBACK boolean true ဘတ်ဂျက်ကုန်ဆုံးသွားသော တောင်းဆိုမှုများကို အရေးပေါ် အခမဲ့ အစားထိုးဝန်ဆောင်မှုပေးသူ/မော်ဒယ်ထံ လမ်းကြောင်းပြောင်းပေးသည်။ (အောက်ပါ အရေးပေါ် ဘတ်ဂျက် အစားထိုးမှု ကို ကြည့်ပါ။)
STREAM_RECOVERY_ENABLED boolean false တုံ့ပြန်မှု byte များ client ထံ မရောက်ရှိမီ ဖြတ်တောက်သွားသော upstream SSE stream များအတွက် ပွင့်လင်းမြင်သာသည့် အစောပိုင်း ပြန်လည်ကြိုးစားမှုကို ဖွင့်ပေးသည်။
STREAM_RECOVERY_MIDSTREAM_ENABLED boolean false byte များ client ထံ ရောက်ရှိပြီးသည့်နောက်တွင် တုံ့ပြန်မှုကို ပြန်လည်တောင်းဆို၍ ဆက်စပ်ပေါင်းစည်းခြင်းဖြင့် stream ပြန်လည်ရယူမှုကို ခွင့်ပြုသည်။
STREAM_RECOVERY_TOOLCALL_ORDER_FIX boolean false stream အလယ်ပိုင်း ဆက်လက်လုပ်ဆောင်မှုကို tool-call အတွက် ဘေးကင်းစေသည်- tool call တစ်ခု ထုတ်လွှတ်ပြီးသည်နှင့် (လုပ်ဆောင်ဆဲဖြစ်စေ၊ finish_reason tool_calls ဖြင့် ပြီးဆုံးပြီးဖြစ်စေ) ဖြတ်တောက်သွားသော stream ကို မည်သည့်အခါမျှ ပြန်မစဘဲ၊ ဘတ်ဂျက်တစ်ခုလုံးကို သုံးစွဲမည့်အစား အချည်းနှီး ဆက်လက်လုပ်ဆောင်မှုတစ်ကြိမ်အပြီးတွင် ပိတ်သည်။ ပိတ်ထားပါက- release အပြုအမူအတိုင်း ဖြစ်သည်။
STREAM_EARLY_EOF_SIBLING_FAILOVER_ENABLED boolean false SSE stream တစ်ခုသည် အသုံးဝင်သော frame တစ်ခုမျှ မထုတ်လွှတ်မီ ပိတ်သွားပြီး ကန့်သတ်ထားသည့် တူညီသောချိတ်ဆက်မှု ပြန်လည်ကြိုးစားမှု ကုန်ဆုံးသွားပါက အခြား sibling ချိတ်ဆက်မှုတစ်ခုသို့ တစ်ကြိမ် အစားထိုးပြောင်းလဲသည်။ အသုံးပြုနိုင်သော sibling မရှိပါက မူလ STREAM_EARLY_EOF 502 ကို ပြန်ပေးသည်။ ပုံသေအားဖြင့် ပိတ်ထားသည်- တူညီသောချိတ်ဆက်မှု ပြန်လည်ကြိုးစားပြီးနောက် early-EOF သည် အပြီးသတ်ဖြစ်နေဆဲဖြစ်သည်။
MODEL_CATALOG_INCLUDE_NAMES boolean true /v1/models တုံ့ပြန်မှုများတွင် ဖတ်ရှုရလွယ်ကူသော ပြသမှုအမည် field များကို ထည့်သွင်းသည်။ မော်ဒယ် ID များကိုသာ မျှော်လင့်သော client များအတွက် ပိတ်ပါ။
MODELS_CATALOG_PREFIX_MODE enum dual /v1/models တွင် မော်ဒယ် ID များကို prefix ထည့်သွင်းပုံအား ထိန်းချုပ်သည်။ dual (ပုံသေ) သည် နောက်ကြောင်းပြန် လိုက်ဖက်ညီမှုအတွက် alias နှင့် canonical provider-id prefix နှစ်မျိုးလုံးကို ထုတ်ပေးသည်။ alias သည် အတိုကောက် alias prefix ကိုသာ ထုတ်ပေးသည် (ဥပမာ ds-web/model ဖြစ်ပြီး deepseek-web/model မဟုတ်ပါ)။ canonical သည် provider-id အပြည့်အစုံ prefix ကိုသာ ထုတ်ပေးသည်။ တန်ဖိုးများ- dual, alias, canonical
ARENA_ELO_SYNC_ENABLED boolean true မော်ဒယ်ဉာဏ်ရည် အဆင့်သတ်မှတ်ချက်များအတွက် Arena AI leaderboard ELO ကို အချိန်မှန် ထပ်တူပြုခြင်းအား ဖွင့်ပေးသည်။
EXPOSE_CC_DISCOVERY_ALIASES boolean false Claude Code gateway ၏ model ရှာဖွေမှုတွင် Claude မဟုတ်သော model များကို စာရင်းပြုစုနိုင်ရန် /v1/models ပေါ်တွင် claude/<provider>/<model> mirror id များကို ကြေညာပါ။ အဆင့်သုံးဆင့် gate ၏ global အဆင့်ဖြစ်သည် (env သည် dashboard override ထက် ဦးစားပေးသည်)။ Claude Code configuration ကို ကြည့်ပါ။
NO_THINKING_ALIAS_ENABLED boolean true no-think// gateway alias များအတွက် master switch ဖြစ်သည်။ ဖွင့်ထားပါက (မူလသတ်မှတ်ချက်)- သတ်မှတ်ချက်နှင့်ကိုက်ညီပြီး စဉ်းစားဆင်ခြင်နိုင်သော Claude model တိုင်းအတွက် /v1/models က no-thinking မူကွဲတစ်ခုကို ကြေညာပြီး request တစ်ခုတွင် ပေးပို့သည့် no-think/ id ကို reasoning ပိတ်ထားသော အမှန်တကယ် model သို့ ပြန်လည်ဖြေရှင်းပေးသည်။ ပိတ်ထားပါက မည်သည့်မူကွဲကိုမျှ မကြေညာဘဲ no-think/ id ကို အခြားမသိရှိသော model id များကဲ့သို့ သတ်မှတ်သည်။ ဤအရာကို ဖွင့်ထားစဉ် model တစ်ခုချင်းစီ၏ ModelSpec.noThinkingAlias opt-in/opt-out သည် ဆက်လက်သက်ရောက်သည်။
OMNIROUTE_DISABLE_THINKING_LEVEL_VARIANTS boolean false /v1/models catalog တွင် thinking level မူကွဲများ (ဥပမာ -low၊ -medium၊ -high) ဖန်တီးခြင်းကို ပိတ်ပါ။
OMNIROUTE_CHAT_VIRTUAL_LANES boolean false Provider dispatch အတွက် tenant တစ်ခုချင်းစီအလိုက် အလိုက်သင့်ပြောင်းလဲနိုင်သော virtual admission lane များကို ဖွင့်ပါ (#9654)- tenant တစ်ခု၏ ရုတ်တရက်မြင့်တက်လာသော အသုံးပြုမှုကြောင့် အခြား tenant တစ်ခုတွင် 503 ဖြစ်တော့မည်မဟုတ်ပါ။ OMNIROUTE_CHAT_VIRTUAL_LANES env var သည် ဤ dashboard override ထက် ဦးစားပေးသည်။ ပြောင်းလဲမှုများသည် server ပြန်လည်စတင်ချိန်တွင် သက်ရောက်သည်။
EXPOSE_FUNCTIONAL_GATEWAY_MIRRORS boolean false Canonical owner တွင် အသုံးပြုနိုင်သော credential မရှိသော်လည်း အသုံးပြုနိုင်သော credential ပါသည့် passthrough gateway က route လုပ်ပေးသော model များအတွက် /v1/models ပေါ်တွင် / mirror id များကို ကြေညာပါ။ သတိပေးချက်- global အနေဖြင့် ဖွင့်ထားပါက client အားလုံးအတွက် catalog entry များ ထပ်ပေါင်းမည်။
NEWAPI_AGGREGATOR_BALANCE boolean false New-API / One-API / Sub2API aggregator နှင့် တွဲဖက်အသုံးပြုနိုင်သော node များအတွက် balance စစ်ဆေးခြင်းကို ဖွင့်ပါ။ ဖွင့်ထားပါက aggregator flag သတ်မှတ်ထားသော တွဲဖက်အသုံးပြုနိုင်သည့် node များသည် ၎င်းတို့၏ balance ကို dashboard နှင့် quota-preflight routing တွင် ဖော်ပြမည်။
SERVER_OWNED_TOOL_LOOP_ENABLED boolean false Model က client အသုံးပြုနိုင်သော response ကို ပြန်ပေးသည်အထိ non-streaming server-owned tool call များကို ဆက်လက်လုပ်ဆောင်ပါ။
SEARCH_STATS_HIDE_DELETED_CONNECTIONS boolean false Search stats နှင့် မကြာသေးမီက ရှာဖွေမှုများတွင် လက်ရှိအသုံးပြုနိုင်သော connection ရှိနေသေးသည့် provider များကိုသာ ရေတွက်သည် (duckduckgo-free ကဲ့သို့ keyless provider များကို အမြဲရေတွက်သည်)။ ပိတ်ထားပါက provider id ပါသည့် သိမ်းဆည်းထားသော search row အားလုံးကို ဆက်လက်ထိန်းသိမ်းသည်။
FREE_BADGE_REQUIRES_PROVIDER_FREE_TIER boolean false Dashboard provider စာမျက်နှာများတွင် provider က အမှန်တကယ်ပံ့ပိုးသော signal များပေါ်၌သာ Free badge ကို ပြပါ — မှတ်တမ်းတင်ထားသော free tier မရှိသည့် registered provider များအတွက် display-name heuristic၊ boolean မဟုတ်သော free field များနှင့် :free suffix များကို ထည့်မတွက်ပါ။ ပိတ်ထားပါက ယခင် badge စည်းမျဉ်းကို ဆက်လက်အသုံးပြုသည်။
RETRY_AFTER_PROVENANCE_ENABLED boolean false စုစည်းထားသော 429/503 unavailable response များတွင် တိကျသော အနာဂတ် retry အချိန်ကို မသိရှိပါက (အတုအယောင် 1s အစား) Retry-After ကို ချန်လှပ်ပြီး error.retry_after_provenance (signal | none) ကို ထည့်ပါ။ ထို့အပြင် combo drain path များက JSON နှင့် plain-text upstream body များရှိ စာသားဖြင့်ဖော်ပြထားသော retry အရိပ်အမြွက်များကို ဖတ်ရှုနိုင်စေပါ။ ဤ field သည် unavailableResponse() ဖြင့် တည်ဆောက်ထားသော response များတွင်သာ ပေါ်လာပြီး အခြား 429/503 body များမှာ မပြောင်းလဲပါ။
PROTECTED_PRIORITY_INFRA_502_ENABLED boolean false fallback-only-on-quota-exhaustion ဟု အမှတ်အသားပြုထားသည့် priority ပေါင်းစပ်ပစ်မှတ်တစ်ခုသည် ခွဲတမ်းကြောင့်မဟုတ်ကြောင်း အတည်ပြုနိုင်သည့် အကြောင်းရင်းတစ်ခု (ဝန်ဆောင်မှုပေးသူ၏ circuit breaker ပွင့်နေခြင်း၊ ကြိုတင်ခန့်မှန်းထားသည့် latency ကြောင့် ကျော်ခြင်း) ဖြင့် ပေါင်းစပ်မှုကို ရပ်တန့်လိုက်သည့်အခါ ခွဲတမ်းပြဿနာနှင့်တူသော 503 အစား 502 ကို ပြန်ဖြေပါ။ Lockout၊ cooldown၊ unavailable၊ exhaustion နှင့် concurrency-cap ကြောင့် ရပ်တန့်မှုများသည် 503 ကို ဆက်လက်အသုံးပြုပါမည်။
MISTRAL_AMBIGUOUS_401_SOFT_LOCKOUT boolean false ရိုးရိုး Mistral 401 ({"detail":"Unauthorized"}၊ တိကျပြတ်သားသော auth အချက်ပြမှုမရှိ) သည် ပြန်လည်ရုပ်သိမ်းထားသော key နှင့် ခွဲတမ်းကုန်ဆုံးနေသောအခြေအနေတို့အတွက် တူညီပါသည်။ ဖွင့်ထားသည့်အခါ connection ကို expired အဖြစ် ရပ်ထားမည့်အစား cooldown ပြုလုပ်ပြီး connection တစ်ခုလျှင် တစ်နာရီအတွင်း အများဆုံး 3 ကြိမ်အထိ ပြုလုပ်ပါသည်။ နောက်တစ်ကြိမ်တွင် ရပ်ထားမည်ဖြစ်သဖြင့် ပြန်လည်ရုပ်သိမ်းထားသော key သည် နောက်ဆုံးတွင် ထိုအခြေအနေသို့ ရောက်ရှိနေဆဲဖြစ်သည်။ မူလသတ်မှတ်ချက်အရ ပိတ်ထားသည်- ရိုးရိုး Mistral 401 တိုင်းသည် ယခင်ကဲ့သို့ connection ကို ရပ်ထားပါသည်။
XAI_OAUTH_LIVE_MODEL_DISCOVERY boolean false xai-oauth connection များအတွက် ရပ်တန့်ထားသော static seed အစား OAuth bearer token ကို အသုံးပြု၍ https://api.x.ai/v1/models မှ လက်ရှိ xAI model catalog ကို ရယူပါ။ မူလသတ်မှတ်ချက်အရ ပိတ်ထားသည်- xai-oauth သည် static seed ကို မပြောင်းလဲဘဲ ဆက်လက်ပံ့ပိုးပါသည်။ Resolution error တစ်ခုခုဖြစ်ပါက discovery သည် seed ကို ပြန်လည်အသုံးပြုပါသည် (ဤ endpoint တွင် x.ai က OAuth bearer ကို လက်ခံခြင်းရှိမရှိ အတည်မပြုရသေးပါ)။
BATCH_AND_FILE_AUTO_CLEANUP_ENABLED boolean false အလိုအလျောက် cleanup sweep အား OMNIROUTE_BATCH_RETENTION_DAYS ထက် သက်တမ်းကြာသော terminal (completed/failed/cancelled/expired) Batch API job များကို ၎င်းတို့၏ per-line checkpoint များနှင့်အတူ ဖျက်ခွင့်ပြုပြီး၊ မိမိတို့၏ expires_at ကို ကျော်လွန်သွားသော upload လုပ်ထားသည့် file များ၏ BLOB content ကို ရှင်းလင်းခွင့်ပြုပါ။ မူလသတ်မှတ်ချက်အရ ပိတ်ထားသည်- operator တစ်ဦးက အသုံးပြုရန် ရွေးချယ်မချင်း လက်ရှိ install တိုင်းသည် ဤ data ကို ယခင်အတိုင်း အတိအကျ ထိန်းသိမ်းထားပါသည်။ Operator မှ စတင်လုပ်ဆောင်သော DELETE /api/v1/batches/delete-completed route သည် မည်သည့်အခြေအနေတွင်မဆို သက်ရောက်မှုမရှိပါ — ၎င်းသည် သီးခြားဖြစ်ပြီး အခြေအနေမဲ့ public API contract တစ်ခုဖြစ်သည်။

CLI (5)

Key Type Default Restart ဖော်ပြချက်
CLI_COMPAT_ALL boolean false CLI client အားလုံးအတွက် compatibility mode ကို ဖွင့်ပါ။
MODEL_ALIAS_COMPAT_ENABLED boolean false Model alias compatibility layer ကို ဖွင့်ပါ။
PRICING_SYNC_ENABLED boolean false ဈေးနှုန်း data ကို အလိုအလျောက် synchronization ပြုလုပ်ခြင်းအား ဖွင့်ပါ (PRICING_SYNC_ENABLED environment variable လည်း လိုအပ်ပါသည်)။
OMNIROUTE_AUTO_SYNC_CODEX_PROFILES boolean false Provider model sync ပြုလုပ်ပြီးနောက် လက်ရှိ catalog မှ ~/.codex/*.config.toml profile file များကို အလိုအလျောက် (ပြန်လည်)ရေးသားပါ။ လက်ရှိအသုံးပြုနေသော/မူလ Codex config ကို မည်သည့်အခါမျှ မပြောင်းလဲပါ။ မူလသတ်မှတ်ချက်အရ ပိတ်ထားသည်။
OMNIROUTE_AUTO_SYNC_CLAUDE_PROFILES boolean false Provider model sync ပြုလုပ်ပြီးနောက် လက်ရှိ catalog မှ ~/.claude/profiles//settings.json Claude Code profile များကို အလိုအလျောက် (ပြန်လည်)ရေးသားပါ။ လက်ရှိအသုံးပြုနေသော/မူလ Claude config ကို မည်သည့်အခါမျှ မပြောင်းလဲပါ။ မူလသတ်မှတ်ချက်အရ ပိတ်ထားသည်။

ကျန်းမာရေး (5)

Key Type Default Description
OMNIROUTE_DISABLE_LOCAL_HEALTHCHECK boolean false ဒေသတွင်း instance ၏ health check endpoint ကို ပိတ်ပါ။
OMNIROUTE_DISABLE_TOKEN_HEALTHCHECK boolean false token အတည်ပြုခြင်း health check ကို ပိတ်ပါ။
SKILLS_SANDBOX_NETWORK_ENABLED boolean false skills sandbox environment တွင် network အသုံးပြုခွင့်ကို ဖွင့်ပါ။
PROXY_HEALTH_BLOCKED_RESETS_STREAK boolean false proxy health sweep တွင် target က ငြင်းပယ်ခဲ့သော probe (401/403/429) သည် proxy ၏ ဆက်တိုက်မအောင်မြင်မှုအရေအတွက်ကို ပြန်လည်သတ်မှတ်သည်။ ပုံမှန်အားဖြင့် ပိတ်ထားသည်- ငြင်းပယ်မှုသည် ကြားနေအဖြစ် ဆက်ရှိနေသည် (#10654)။ 5xx သည် မည်သို့ပင်ဖြစ်စေ အတည်မပြုနိုင်သောအခြေအနေအဖြစ် ဆက်ရှိနေသည်။ ငြင်းပယ်မှုတစ်ခုသည် proxy ကို မည်သည့်အခါမျှ ဖယ်ရှားခြင်း၊ ပိတ်ခြင်း သို့မဟုတ် ပြန်လည်အသက်သွင်းခြင်း မပြုပါ။
DB_HEALTHCHECK_STARTUP_DEFERRED_ENABLED boolean false စတင်မှု ပြီးဆုံးသည်အထိ ပိတ်ဆို့ထားမည့်အစား server က request များကို စတင်လက်ခံပြီးနောက် (setImmediate မှတစ်ဆင့်) စတင်ချိန် DB integrity/health check ကို လုပ်ဆောင်ပါ (#13717)။ ပုံမှန်အားဖြင့် ပိတ်ထားသည်- ဤ PR မတိုင်မီကအတိုင်း စတင်မှုကို အတိအကျ ပိတ်ဆို့ထားသည်။

Note

INPUT_SANITIZER_BLOCK_THRESHOLD နှင့် ၎င်း၏ အဟောင်း alias ဖြစ်သော INJECTION_GUARD_BLOCK_THRESHOLD တို့သည် INJECTION_GUARD_MODEblock mode ကို ချိန်ညှိပေးသော်လည်း ၎င်းတို့သည် src/shared/utils/injectionSeverity.ts က ဖတ်ရှုသည့် သာမန် environment variable များသာဖြစ်ပြီး feature flag များ မဟုတ်ပါ- ၎င်းတို့တွင် DB override နှင့် dashboard toggle မရှိပါ။ အသေးစိတ်ကို ENVIRONMENT.md တွင် ကြည့်ပါ။

Note

Restart column သည် requiresRestart: true ပါသော flag များကို မှတ်သားဖော်ပြသည် — value ကို ချက်ချင်း သိမ်းဆည်းထားသော်လည်း process ပြန်လည်စတင်ပြီးနောက်မှသာ အကျိုးသက်ရောက်သည်။ Enum flag များသည် ၎င်းတို့၏ ခွင့်ပြုထားသော set ပြင်ပရှိ မည်သည့် value ကိုမဆို ငြင်းပယ်သည် (server ဘက်တွင် setFeatureFlagOverride() နှင့် REST PUT handler နှစ်ခုစလုံး၌ အတည်ပြုသည်)။


Flag များ အဖွင့်အပိတ် ပြုလုပ်ခြင်း

ဒက်ရှ်ဘုတ်

ဒက်ရှ်ဘုတ် → ဆက်တင်များ → Feature Flags (/dashboard/settings/feature-flags) သို့ သွားပါ။ Grid (src/app/(dashboard)/dashboard/settings/components/FeatureFlagsGrid.tsx) သည် အောက်ပါတို့ကို ပံ့ပိုးပေးသည်-

  • key သို့မဟုတ် ဖော်ပြချက်ဖြင့် ရှာဖွေခြင်းနှင့် category အလိုက် စစ်ထုတ်ခြင်း (ထို့အပြင် ဖန်တီးထားသော ပြန်လည်စတင်ရန် လိုအပ်သည် view)။
  • boolean flag များအတွက် အဖွင့်အပိတ်ခလုတ်နှင့် enum flag များအတွက် dropdown (src/app/(dashboard)/dashboard/settings/components/FeatureFlagCard.tsx)။
  • Flag တစ်ခုချင်းစီအတွက် အကျိုးသက်ရောက်နေသော value သည် မည်သည့်နေရာမှ လာကြောင်း ပြသပေးသည့် source badgeDB, ENV သို့မဟုတ် DEF
  • Override ကို ဖယ်ရှားရန် ပြန်လည်သတ်မှတ်ရန် ခလုတ် (DB မှ ရရှိသည့် flag များအတွက်သာ ပြသသည်) နှင့် အောက်ခြေရှိ Override အားလုံးကို ပြန်လည်သတ်မှတ်ရန် ခလုတ်။
  • requiresRestart flag တစ်ခု ပြောင်းလဲသည့်အခါ ဆာဗာကို ပြန်လည်စတင်ရန် banner။

REST API

လုပ်ဆောင်ချက်အားလုံးသည် route တစ်ခုတည်းမှတစ်ဆင့် လုပ်ဆောင်သည်- src/app/api/settings/feature-flags/route.ts။ Method တိုင်းအတွက် အထောက်အထားစိစစ်ပြီးသော dashboard session လိုအပ်သည် (မရှိပါက 401)။

GET /api/settings/feature-flags

Flag တိုင်း၏ အကျိုးသက်ရောက်နေသော value၊ source နှင့် အကျဉ်းချုပ်ကို ပြန်ပေးသည်။

{
  "flags": [
    {
      "key": "REQUIRE_API_KEY",
      "label": "Require API Key",
      "description": "Require an API key for all incoming requests",
      "category": "security",
      "type": "boolean",
      "enumValues": null,
      "defaultValue": "false",
      "effectiveValue": "false",
      "source": "default", // "db" | "env" | "default"
      "requiresRestart": false,
      "warningLevel": "caution",
    },
    // ... flag 72 ခုလုံး
  ],
  "summary": {
    "total": 56,
    "active": 0,
    "inactive": 0,
    "overriddenByDb": 0,
    "overriddenByEnv": 0,
  },
}

PUT /api/settings/feature-flags

Override တစ်ခုတည်းကို သတ်မှတ်ခြင်း သို့မဟုတ် ဖယ်ရှားခြင်း ပြုလုပ်သည်။ Body: { key: string; value?: string }value ကို ချန်လှပ်ထားပါက override ကို ဖယ်ရှားမည် (env / default ကို ပြန်လည်အသုံးပြုမည်)။

# DB override တစ်ခု သတ်မှတ်ရန်
curl -X PUT http://localhost:20128/api/settings/feature-flags \
  -H "Content-Type: application/json" \
  -d '{"key":"REQUIRE_API_KEY","value":"true"}'

# Override ကို ဖယ်ရှားရန် ("value" မပါ)
curl -X PUT http://localhost:20128/api/settings/feature-flags \
  -H "Content-Type: application/json" \
  -d '{"key":"REQUIRE_API_KEY"}'

Response သည် effectiveValue/source အသစ်၊ previousValue/ previousSource နှင့် requiresRestart တို့ကို ပြန်လည်ဖော်ပြသည်။ မသိရှိသော key များနှင့် သတ်မှတ်အပိုင်းအခြားပြင်ပရှိ enum value များကို 400 ဖြင့် ငြင်းပယ်သည်။

DELETE /api/settings/feature-flags

DB override အားလုံးကို တစ်ကြိမ်တည်းဖြင့် ရှင်းလင်းပြီး flag တိုင်းကို ၎င်း၏ env / default value သို့ ပြန်လည်ထားရှိသည်။ { cleared: <count>, message: "..." } ကို ပြန်ပေးသည်။

Note

requiresRestart: true ပါသော flag များသည် process ကို ပြန်လည် load လုပ်ပြီးမှသာ အကျိုးသက်ရောက်သည်။ Dashboard ၏ restart flow သည် POST /api/restart ကို ခေါ်ဆိုပြီး ဆာဗာ ပြန်လည်အလုပ်လုပ်သည်အထိ GET /api/health/ping ကို ထပ်ခါတလဲလဲ စစ်ဆေးသည်။


အရေးပေါ် Budget Fallback

OMNIROUTE_EMERGENCY_FALLBACK (category runtime၊ default true) သည် open-sse/services/emergencyFallback.ts ရှိ အရေးပေါ် အခမဲ့ fallback လမ်းကြောင်းကို ထိန်းချုပ်သည်။ ဖွင့်ထားသောအခါ budget ကုန်ဆုံးသွားသည့် request များကို ချက်ချင်း မအောင်မြင်စေဘဲ အခမဲ့ fallback provider/model တစ်ခုသို့ လမ်းကြောင်းပြောင်းပေးသည်။ ထိုလုပ်ဆောင်ချက်ကို ပိတ်ပြီး budget ကုန်ဆုံးသွားသည့် request များကို မအောင်မြင်စေရန် dashboard toggle၊ DB override သို့မဟုတ် OMNIROUTE_EMERGENCY_FALLBACK environment variable မှတစ်ဆင့် ၎င်းကို false (သို့မဟုတ် 0) ဟု သတ်မှတ်ပါ။ (PR များ #3741 / #3752 တွင် dashboard toggle အဖြစ် ဖော်ပြထားသည်။)


ထပ်မံကြည့်ရှုရန်

  • Environment Variables အကိုးအကား — flag အများစုအတွက် အမည်တူ environment variable ကို ထိုနေရာတွင် မှတ်တမ်းပြုထားသည် (DB override သည် ၎င်းထက် ဦးစားပေးသည်)။
  • src/shared/constants/featureFlagDefinitions.ts — flag အားလုံးအတွက် တရားဝင်အချက်အလက်ရင်းမြစ်။
  • src/shared/utils/featureFlags.ts — ဆုံးဖြတ်ခြင်းဆိုင်ရာ logic (resolveFeatureFlag, isFeatureFlagEnabled, resolveAllFeatureFlags)။
  • src/lib/db/featureFlags.tskey_value table ၏ feature_flags namespace အတွင်း DB override ကို အမြဲတမ်းသိမ်းဆည်းခြင်း။