Files
OmniRoute/docs/i18n/tr/docs/compression/COMPRESSION_RULES_FORMAT.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

15 KiB
Raw Blame History

Compression Rules Format (Türkçe)

🌐 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 · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇱🇰 si · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇺🇦 uk-UA · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW


Sıkıştırma kuralları, çalışma zamanında yüklenen JSON dosyalarıdır. Yeni dil paketlerinin ve RTK komut filtrelerinin motor kodu değiştirilmeden incelenebilmesi için kasıtlı olarak yalnızca veri içerirler.

Standart şema (tek doğruluk kaynağı): open-sse/services/compression/rules/_schema.json (JSON Schema taslağı 2020-12). Aşağıdaki örnekler yalnızca açıklama amaçlıdır — emin olmadığınız durumlarda paketinizi _schema.json ile doğrulayın.

Caveman Kural Paketleri

Caveman kural paketleri şu dizin altında bulunur:

open-sse/services/compression/rules/<language>/<pack>.json

Her paket, korunan bölgeler ayrıştırıldıktan sonra normal düzyazıya uygulanan değiştirme kurallarını içerir.

{
  "language": "en",
  "category": "filler",
  "rules": [
    {
      "name": "question_to_directive",
      "pattern": "\\b(?:Can you explain why|Could you show me how)\\b\\s*",
      "replacement": "Explain why ",
      "replacementMap": {
        "can you explain why": "Explain why ",
        "could you show me how": "Show how "
      },
      "flags": "gi",
      "context": "all",
      "category": "context",
      "minIntensity": "lite",
      "description": "Convert verbose questions into direct requests."
    }
  ]
}

Caveman Alanları

Alan Zorunlu ıklama
language evet en, pt-BR, es gibi BCP-47 benzeri dil anahtarı
category evet Paket kategorisi dosya adı/kategorisi; örneğin filler veya dedup
rules evet Regex değiştirme kuralları dizisi
rules[].name evet Kararlı kural adı
rules[].pattern evet JavaScript regex kaynağı
rules[].flags hayır JavaScript regex bayrakları; varsayılan gi
rules[].replacement hayır Değiştirme dizesi veya replacementMap eşleşmediğinde kullanılacak geri dönüş değeri
rules[].replacementMap hayır Normalleştirilmiş eşleşen metne göre anahtarlanmış, eşleşmeye özgü değiştirmeler
rules[].context hayır all, user, assistant veya system; varsayılan all
rules[].category hayır filler, context, structural, dedup, terse veya ultra
rules[].minIntensity hayır lite, full veya ultra; varsayılan lite
rules[].description hayır İnsanların okuyabileceği kural özeti

Büyük/küçük harfe duyarlı eşleşmenin önemli olduğu durumlarda flags kullanın; örneğin the OpenAI API ifadesini kaldırmadan küçük harfle başlayan düzyazıdan tanımlığı kaldırmak için. Tek bir regex, farklı çıktılar gerektiren birden fazla alternatife sahipse replacementMap kullanın; bu, daha zengin yerleşik TypeScript değiştirme fonksiyonlarının davranışını korurken JSON kural paketlerinin yalnızca veri içermesini sağlar.

RTK Filtre Paketleri

RTK filtreleri şu konumda bulunur:

open-sse/services/compression/engines/rtk/filters/<filter>.json

Her filtre, bir komut çıktısı ailesinin nasıl tanınacağını ve sıkıştırılacağınııklar.

{
  "id": "test-vitest",
  "label": "Vitest output",
  "category": "test",
  "priority": 92,
  "match": {
    "outputTypes": ["test-vitest"],
    "commands": ["vitest", "npm test", "npm run test"],
    "patterns": ["\\bFAIL\\b", "\\bPASS\\b", "\\bTest Files\\b"]
  },
  "rules": {
    "stripAnsi": true,
    "replace": [{ "pattern": "\\s+\\[[0-9]+ms\\]", "replacement": "" }],
    "matchOutput": [
      {
        "pattern": "All tests passed",
        "message": "vitest: ok",
        "unless": "FAIL|Error:"
      }
    ],
    "includePatterns": ["FAIL", "Error:", "Test Files", "Tests"],
    "dropPatterns": ["^\\s*$", "Duration\\s+\\d+"],
    "collapsePatterns": ["^\\s+at "],
    "deduplicate": true,
    "truncateLineAt": 240,
    "maxLines": 160,
    "headLines": 24,
    "tailLines": 40,
    "onEmpty": "vitest: ok",
    "filterStderr": false
  },
  "preserve": {
    "errorPatterns": ["FAIL", "Error:", "AssertionError"],
    "summaryPatterns": ["Test Files", "Tests", "Snapshots"]
  },
  "tests": [
    {
      "name": "keeps failing tests",
      "command": "vitest",
      "input": "FAIL test/a.test.ts\\nError: boom\\nTest Files 1 failed",
      "expected": "FAIL test/a.test.ts\\nError: boom\\nTest Files 1 failed"
    }
  ]
}

RTK Alanları

Alan Zorunlu ıklama
id evet Kararlı filtre kimliği
label evet Kontrol panelinde okunabilir ad
category evet Filtre ailesi: git, test, build, shell, docker, package, infra, cloud, generic
priority hayır Birden fazla filtre eşleştiğinde daha yüksek önceliğe sahip olan kazanır
match.outputTypes hayır Bu filtreyi seçen algılayıcı çıktı kimlikleri
match.commands hayır Bu filtreyi seçen komut belirteçleri
match.patterns hayır Bu filtreyi çıktı metninden seçen regex kalıpları
rules.stripAnsi hayır Regex aşamalarından önce ANSI kaçış dizilerini kaldırır
rules.replace hayır Satır satır uygulanan sıralı regex değiştirmeleri
rules.matchOutput hayır İsteğe bağlı unless korumasına sahip kısa devre çıktı kuralları
rules.includePatterns hayır Korunmasına öncelik verilecek satırlar
rules.dropPatterns hayır Gürültü olarak kaldırılacak satırlar
rules.collapsePatterns hayır Daraltılabilecek, eşleşen yinelenmiş satırlar
rules.deduplicate hayır Yinelenen normalleştirilmiş satırları daraltır
rules.truncateLineAt hayır Satır başına Unicode güvenli karakter sınırı
rules.maxLines hayır Son kısım korunmadan önce tutulacak maksimum satır sayısı
rules.headLines hayır Kesme sırasında tutulan baştaki satırlar
rules.tailLines hayır Yakın tarihli bağlam için tutulan sondaki satırlar
rules.onEmpty hayır Filtreleme tüm içeriği kaldırdığında kullanılacak yedek mesaj
rules.filterStderr hayır Sonraki filtreleme aşamalarından önce yaygın stderr öneklerini normalleştirir
preserve.errorPatterns hayır Kesme işleminden sonra korunması gereken hata satırları
preserve.summaryPatterns hayır Kesme işleminden sonra korunması gereken özet satırları
tests[] hayır RTK doğrulama geçidi tarafından kullanılan satır içi doğrulama örnekleri

RTK, bildirimsel aşamaları şu sırayla uygular: stripAnsi, filterStderr, replace, matchOutput, dropPatterns/includePatterns, truncateLineAt, headLines/tailLines, maxLines ve onEmpty.

Özel filtreler şu konumlardan yüklenebilir:

  1. Proje .rtk/filters.json dosyaları, yalnızca eşleşen bir .rtk/trust.json karması mevcut olduktan veya trustProjectFilters etkinleştirildikten sonra.
  2. Genel DATA_DIR/rtk/filters.json.
  3. Yerleşik filtreler.

Proje/genel özel dosyaları tek bir filtre nesnesi veya filtre nesneleri dizisi içerebilir. Geçersiz özel filtreler tanılama bilgileriyle atlanır; geçersiz yerleşik filtreler doğrulamanın başarısız olmasına neden olur.

Proje güven dosyası:

{
  "filtersSha256": "0123456789abcdef..."
}

OMNIROUTE_RTK_TRUST_PROJECT_FILTERS=1 ortam geçersiz kılma ayarı, proje filtrelerine karma olmadan güvenir ve yalnızca denetimli yerel geliştirme ortamlarıyla sınırlandırılmalıdır.

Güvenlik Kuralları

  • Kuralları idempotent tutun: aynı filtrenin iki kez çalıştırılması çıktıyı bozmamalıdır.
  • Mümkün olduğunda hata metnini, dosya yollarını, satır numaralarını ve komut özetlerini aynen koruyun.
  • Kod bloklarını, JSON yüklerini, URL'leri veya gizli bilgileri değiştiren kurallardan kaçının.
  • Dedektör/filtre testlerinde yeni komut aileleri için birim testi kapsamı ekleyin.
  • Her yerleşik filtreye ve paylaşılan özel filtrelere tests[] örnekleri ekleyin.

Doğrulama

Kural paketleri kullanılmadan önce doğrulanır. Yerleşik Caveman paketleri ve yerleşik RTK filtreleri, bozuk sürüm varlıklarının dağıtımdan önce yakalanması için doğrulama sırasında hızlıca başarısız olur. Özel RTK filtreleri, ayrıştırma veya güven doğrulaması başarısız olduğunda tanılama bilgileriyle birlikte atlanır.

Odaklı doğrulama:

node --import tsx/esm --test tests/unit/compression/rule-loader.test.ts tests/unit/compression/language-packs.test.ts
node --import tsx/esm --test tests/unit/compression/rtk-verify.test.ts tests/unit/compression/rtk-dsl-pipeline.test.ts