Skip to content

Latest commit

 

History

History
193 lines (161 loc) · 15.3 KB

COMPRESSION_RULES_FORMAT.md

File metadata and controls

193 lines (161 loc) · 15.3 KB

Compression Rules Format (Malti)

🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇧🇦 bs · 🇨🇿 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 · 🇲🇲 my · 🇳🇵 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


Ir-regoli tal-kompressjoni huma fajls JSON li jitgħabbew waqt it-tħaddim. Huma intenzjonalment jinkludu data biss sabiex pakketti lingwistiċi ġodda u filtri tal-kmandi RTK ikunu jistgħu jiġu rieżaminati mingħajr ma jinbidel il-kodiċi tal-magna.

Skema kanonika (sors tal-verità): open-sse/services/compression/rules/_schema.json (JSON Schema abbozz 2020-12). L-eżempji ta’ hawn taħt huma illustrattivi — meta jkollok dubju, ivvalida l-pakkett tiegħek ma’ _schema.json.

Pakketti tar-Regoli Caveman

Il-pakketti tar-regoli Caveman jinsabu taħt:

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

Kull pakkett fih sostituzzjonijiet li japplikaw għal proża normali wara li r-reġjuni protetti jiġu iżolati.

{
  "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."
    }
  ]
}

Oqsma ta’ Caveman

Qasam Meħtieġ Deskrizzjoni
language iva Kodiċi tal-lingwa simili għal BCP-47 bħal en, pt-BR, es
category iva Isem il-fajl/kategorija tal-pakkett, pereżempju filler jew dedup
rules iva Array ta’ regoli ta’ sostituzzjoni regex
rules[].name iva Isem stabbli tar-regola
rules[].pattern iva Sors tar-regex ta’ JavaScript
rules[].flags le Flags tar-regex ta’ JavaScript; il-valur predefinit huwa gi
rules[].replacement le Stringa ta’ sostituzzjoni jew alternattiva meta replacementMap ma ssibx qbil
rules[].replacementMap le Sostituzzjonijiet speċifiċi għall-qbil, indiċjati bit-test normalizzat li jkun tqabbel
rules[].context le all, user, assistant, jew system; il-valur predefinit huwa all
rules[].category le filler, context, structural, dedup, terse, jew ultra
rules[].minIntensity le lite, full, jew ultra; il-valur predefinit huwa lite
rules[].description le Sommarju tar-regola li jinqara mill-bniedem

Uża flags meta jkun importanti li t-tqabbil ikun sensittiv għall-każ, pereżempju għat-tneħħija ta’ artiklu qabel proża b’ittri żgħar mingħajr ma jitneħħa the OpenAI API. Uża replacementMap meta regex waħda jkollha diversi alternattivi li jeħtieġu outputs differenti; dan iżomm il-pakketti tar-regoli JSON bħala data biss filwaqt li jippreserva l-imġiba tal-funzjonijiet ta’ sostituzzjoni TypeScript integrati u aktar sofistikati.

Pakketti tal-Filtri RTK

Il-filtri RTK jinsabu taħt:

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

Kull filtru jiddeskrivi kif tiġi rikonoxxuta u kkompressata familja ta’ outputs tal-kmandi.

{
  "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"
    }
  ]
}

Oqsma RTK

Qasam Meħtieġ Deskrizzjoni
id iva Identifikatur stabbli tal-filtru
label iva Isem li jista’ jinqara mid-dashboard
category iva Familja tal-filtru: git, test, build, shell, docker, package, infra, cloud, generic
priority le Il-prijorità ogħla tirbaħ meta jaqblu diversi filtri
match.outputTypes le Identifikaturi tal-output tad-detector li jagħżlu dan il-filtru
match.commands le Tokens tal-kmand li jagħżlu dan il-filtru
match.patterns le Mudelli regex li jagħżlu dan il-filtru mit-test tal-output
rules.stripAnsi le Neħħi s-sekwenzi escape ANSI qabel l-istadji regex
rules.replace le Sostituzzjonijiet regex ordnati applikati linja b’linja
rules.matchOutput le Regoli tal-output li jwaqqfu l-ipproċessar minnufih, b’kundizzjoni fakultattiva unless
rules.includePatterns le Linji li għandhom jingħataw preferenza biex jiġu ppreservati
rules.dropPatterns le Linji li għandhom jitneħħew bħala storbju
rules.collapsePatterns le Linji ripetuti li jaqblu u li jistgħu jiġu kkollassati
rules.deduplicate le Ikkollassa linji normalizzati duplikati
rules.truncateLineAt le Limitu ta’ karattri għal kull linja li huwa sikur għall-Unicode
rules.maxLines le Numru massimu ta’ linji miżmuma qabel il-preservazzjoni tat-tarf
rules.headLines le Linji tal-bidu miżmuma waqt it-tronkament
rules.tailLines le Linji tat-tarf miżmuma għall-kuntest reċenti
rules.onEmpty le Messaġġ alternattiv meta l-iffiltrar ineħħi l-kontenut kollu
rules.filterStderr le Innormallizza prefissi komuni ta’ stderr qabel l-istadji sussegwenti tal-iffiltrar
preserve.errorPatterns le Linji tal-iżbalji li għandhom jibqgħu wara t-tronkament
preserve.summaryPatterns le Linji tas-sommarju li għandhom jibqgħu wara t-tronkament
tests[] le Kampjuni ta’ verifika inline użati mill-kontroll verify ta’ RTK

RTK japplika l-istadji dikjarattivi f’din l-ordni: stripAnsi, filterStderr, replace, matchOutput, dropPatterns/includePatterns, truncateLineAt, headLines/tailLines, maxLines, u onEmpty.

Filtri personalizzati jistgħu jitgħabbew minn:

  1. Fajls tal-proġett .rtk/filters.json biss wara li jkun preżenti hash korrispondenti f’.rtk/trust.json jew ikun attivat trustProjectFilters.
  2. DATA_DIR/rtk/filters.json globali.
  3. Filtri integrati.

Fajls personalizzati tal-proġett/globali jistgħu jinkludu oġġett wieħed ta’ filtru jew array ta’ oġġetti ta’ filtri. Filtri personalizzati invalidi jinqabżu b’dijanjostika; filtri integrati invalidi jwasslu biex il-validazzjoni tfalli.

Fajl tal-fiduċja tal-proġett:

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

Is-sovraspożizzjoni tal-ambjent OMNIROUTE_RTK_TRUST_PROJECT_FILTERS=1 tafda l-filtri tal-proġett mingħajr hash u għandha tkun limitata għal żvilupp lokali kkontrollat.

Regoli tas-Sikurezza

  • Żomm ir-regoli idempotenti: it-tħaddim tal-istess filtru darbtejn m'għandux jikkorrompi l-output.
  • Ippreserva fejn possibbli t-test eżatt tal-iżbalji, il-paths tal-fajls, in-numri tal-linji, u s-sommarji tal-kmandi.
  • Evita regoli li jimmodifikaw blokok tal-kodiċi, payloads JSON, URLs, jew sigrieti.
  • Żid kopertura ta' unit tests għal familji ġodda ta' kmandi fit-tests tad-detector/filtru.
  • Żid kampjuni tests[] ma' kull filtru integrat u mal-filtri personalizzati kondiviżi.

Validazzjoni

Il-pakketti tar-regoli jiġu vvalidati qabel l-użu. Il-pakketti Caveman integrati u l-filtri RTK integrati jieqfu immedjatament waqt il-validazzjoni sabiex assets tar-rilaxx difettużi jinqabdu qabel id-distribuzzjoni. Il-filtri RTK personalizzati jinqabżu b'dijanjostiċi meta l-parsing jew il-validazzjoni tal-fiduċja tfalli.

Validazzjoni ffukata:

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