# Compression Rules Format (Malti) 🌐 **Languages:** 🇺🇸 [English](../../../../compression/COMPRESSION_RULES_FORMAT.md) · 🇪🇹 [am](../../../am/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇸🇦 [ar](../../../ar/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇦🇿 [az](../../../az/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇧🇬 [bg](../../../bg/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇧🇩 [bn](../../../bn/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇧🇦 [bs](../../../bs/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇨🇿 [cs](../../../cs/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇩🇰 [da](../../../da/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇩🇪 [de](../../../de/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇬🇷 [el](../../../el/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇪🇸 [es](../../../es/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇪🇪 [et](../../../et/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇮🇷 [fa](../../../fa/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇫🇮 [fi](../../../fi/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇫🇷 [fr](../../../fr/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇮🇪 [ga](../../../ga/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇮🇳 [gu](../../../gu/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇳🇬 [ha](../../../ha/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇮🇱 [he](../../../he/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇮🇳 [hi](../../../hi/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇭🇷 [hr](../../../hr/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇭🇺 [hu](../../../hu/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇦🇲 [hy](../../../hy/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇮🇩 [id](../../../id/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇳🇬 [ig](../../../ig/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇮🇹 [it](../../../it/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇯🇵 [ja](../../../ja/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇬🇪 [ka](../../../ka/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇰🇭 [km](../../../km/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇮🇳 [kn](../../../kn/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇰🇷 [ko](../../../ko/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇱🇹 [lt](../../../lt/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇱🇻 [lv](../../../lv/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇮🇳 [ml](../../../ml/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇮🇳 [mr](../../../mr/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇲🇾 [ms](../../../ms/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇲🇲 [my](../../../my/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇳🇵 [ne](../../../ne/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇳🇱 [nl](../../../nl/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇳🇴 [no](../../../no/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇮🇳 [or](../../../or/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇮🇳 [pa](../../../pa/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇵🇭 [phi](../../../phi/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇵🇱 [pl](../../../pl/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇵🇹 [pt](../../../pt/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇧🇷 [pt-BR](../../../pt-BR/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇷🇴 [ro](../../../ro/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇷🇺 [ru](../../../ru/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇱🇰 [si](../../../si/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇸🇰 [sk](../../../sk/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇸🇮 [sl](../../../sl/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇷🇸 [sr](../../../sr/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇸🇪 [sv](../../../sv/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇰🇪 [sw](../../../sw/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇮🇳 [ta](../../../ta/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇮🇳 [te](../../../te/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇹🇭 [th](../../../th/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇹🇷 [tr](../../../tr/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇺🇦 [uk-UA](../../../uk-UA/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇵🇰 [ur](../../../ur/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇺🇿 [uz](../../../uz/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇻🇳 [vi](../../../vi/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇳🇬 [yo](../../../yo/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇨🇳 [zh-CN](../../../zh-CN/docs/compression/COMPRESSION_RULES_FORMAT.md) · 🇹🇼 [zh-TW](../../../zh-TW/docs/compression/COMPRESSION_RULES_FORMAT.md) --- 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`](../../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: ```txt open-sse/services/compression/rules//.json ``` Kull pakkett fih sostituzzjonijiet li japplikaw għal proża normali wara li r-reġjuni protetti jiġu iżolati. ```json { "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: ```txt open-sse/services/compression/engines/rtk/filters/.json ``` Kull filtru jiddeskrivi kif tiġi rikonoxxuta u kkompressata familja ta’ outputs tal-kmandi. ```json { "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: ```json { "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: ```bash 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 ```