# Compression Rules Format (ਪੰਜਾਬੀ) 🌐 **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) · 🇲🇹 [mt](../../../mt/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) · 🇵🇭 [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) --- ਕੰਪ੍ਰੈਸ਼ਨ ਨਿਯਮ ਉਹ JSON ਫ਼ਾਈਲਾਂ ਹਨ ਜੋ ਰਨਟਾਈਮ ਦੌਰਾਨ ਲੋਡ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ। ਇਨ੍ਹਾਂ ਨੂੰ ਜਾਣਬੁੱਝ ਕੇ ਸਿਰਫ਼ ਡਾਟਾ ਤੱਕ ਸੀਮਤ ਰੱਖਿਆ ਗਿਆ ਹੈ, ਤਾਂ ਜੋ ਨਵੇਂ ਭਾਸ਼ਾ ਪੈਕਾਂ ਅਤੇ RTK ਕਮਾਂਡ ਫ਼ਿਲਟਰਾਂ ਦੀ ਸਮੀਖਿਆ ਇੰਜਣ ਕੋਡ ਨੂੰ ਬਦਲੇ ਬਿਨਾਂ ਕੀਤੀ ਜਾ ਸਕੇ। > **ਪ੍ਰਮਾਣਿਕ ਸਕੀਮਾ (ਸੱਚਾਈ ਦਾ ਮੂਲ ਸਰੋਤ):** [`open-sse/services/compression/rules/_schema.json`](../../open-sse/services/compression/rules/_schema.json) (JSON Schema draft 2020-12)। > ਹੇਠਾਂ ਦਿੱਤੀਆਂ ਉਦਾਹਰਨਾਂ ਸਿਰਫ਼ ਵਿਆਖਿਆ ਲਈ ਹਨ — ਸ਼ੱਕ ਹੋਣ ਦੀ ਸਥਿਤੀ ਵਿੱਚ, ਆਪਣੇ ਪੈਕ ਨੂੰ `_schema.json` ਦੇ ਮੁਤਾਬਕ ਪ੍ਰਮਾਣਿਤ ਕਰੋ। ## Caveman ਨਿਯਮ ਪੈਕ Caveman ਨਿਯਮ ਪੈਕ ਇੱਥੇ ਸਥਿਤ ਹੁੰਦੇ ਹਨ: ```txt open-sse/services/compression/rules//.json ``` ਹਰੇਕ ਪੈਕ ਵਿੱਚ ਅਜਿਹੀਆਂ ਤਬਦੀਲੀਆਂ ਹੁੰਦੀਆਂ ਹਨ ਜੋ ਸੁਰੱਖਿਅਤ ਖੇਤਰਾਂ ਨੂੰ ਵੱਖ ਕਰਨ ਤੋਂ ਬਾਅਦ ਸਧਾਰਨ ਗੱਦ ਉੱਤੇ ਲਾਗੂ ਹੁੰਦੀਆਂ ਹਨ। ```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." } ] } ``` ### Caveman ਖੇਤਰ | ਖੇਤਰ | ਲੋੜੀਂਦਾ | ਵੇਰਵਾ | | ------------------------ | ------- | ------------------------------------------------------------------------------ | | `language` | ਹਾਂ | BCP-47 ਵਰਗੀ ਭਾਸ਼ਾ ਕੁੰਜੀ, ਜਿਵੇਂ `en`, `pt-BR`, `es` | | `category` | ਹਾਂ | ਪੈਕ ਸ਼੍ਰੇਣੀ ਦਾ ਫ਼ਾਈਲ-ਨਾਮ/ਸ਼੍ਰੇਣੀ, ਉਦਾਹਰਨ ਵਜੋਂ `filler` ਜਾਂ `dedup` | | `rules` | ਹਾਂ | regex ਤਬਦੀਲੀ ਨਿਯਮਾਂ ਦੀ ਐਰੇ | | `rules[].name` | ਹਾਂ | ਸਥਿਰ ਨਿਯਮ ਨਾਮ | | `rules[].pattern` | ਹਾਂ | JavaScript regex ਸਰੋਤ | | `rules[].flags` | ਨਹੀਂ | JavaScript regex ਫ਼ਲੈਗ; ਮੂਲ ਮੁੱਲ `gi` | | `rules[].replacement` | ਨਹੀਂ | ਤਬਦੀਲੀ ਸਟ੍ਰਿੰਗ ਜਾਂ `replacementMap` ਵਿੱਚ ਮੇਲ ਨਾ ਮਿਲਣ ਉੱਤੇ ਵਰਤਿਆ ਜਾਣ ਵਾਲਾ ਵਿਕਲਪ | | `rules[].replacementMap` | ਨਹੀਂ | ਸਧਾਰਨੀਕ੍ਰਿਤ ਮੇਲ ਖਾਂਦੇ ਪਾਠ ਦੁਆਰਾ ਕੁੰਜੀਬੱਧ, ਮੇਲ-ਵਿਸ਼ੇਸ਼ ਤਬਦੀਲੀਆਂ | | `rules[].context` | ਨਹੀਂ | `all`, `user`, `assistant`, ਜਾਂ `system`; ਮੂਲ ਮੁੱਲ `all` | | `rules[].category` | ਨਹੀਂ | `filler`, `context`, `structural`, `dedup`, `terse`, ਜਾਂ `ultra` | | `rules[].minIntensity` | ਨਹੀਂ | `lite`, `full`, ਜਾਂ `ultra`; ਮੂਲ ਮੁੱਲ `lite` | | `rules[].description` | ਨਹੀਂ | ਮਨੁੱਖਾਂ ਲਈ ਪੜ੍ਹਨਯੋਗ ਨਿਯਮ ਸੰਖੇਪ | ਜਦੋਂ ਅੱਖਰ-ਆਕਾਰ ਸੰਵੇਦਨਸ਼ੀਲ ਮਿਲਾਣ ਮਹੱਤਵਪੂਰਨ ਹੋਵੇ ਤਾਂ `flags` ਦੀ ਵਰਤੋਂ ਕਰੋ, ਉਦਾਹਰਨ ਵਜੋਂ ਛੋਟੇ ਅੱਖਰਾਂ ਵਾਲੇ ਗੱਦ ਤੋਂ ਪਹਿਲਾਂ ਆਰਟੀਕਲ ਹਟਾਉਣ ਲਈ, ਪਰ `the OpenAI API` ਨੂੰ ਹਟਾਏ ਬਿਨਾਂ। ਜਦੋਂ ਇੱਕ regex ਵਿੱਚ ਕਈ ਵਿਕਲਪ ਹੋਣ ਜਿਨ੍ਹਾਂ ਲਈ ਵੱਖਰੇ ਆਉਟਪੁੱਟਾਂ ਦੀ ਲੋੜ ਹੋਵੇ, ਤਾਂ `replacementMap` ਦੀ ਵਰਤੋਂ ਕਰੋ; ਇਸ ਨਾਲ JSON ਨਿਯਮ ਪੈਕ ਸਿਰਫ਼ ਡਾਟਾ ਤੱਕ ਸੀਮਤ ਰਹਿੰਦੇ ਹਨ ਅਤੇ ਵਧੇਰੇ ਸਮਰੱਥ ਬਿਲਟ-ਇਨ TypeScript ਤਬਦੀਲੀ ਫੰਕਸ਼ਨਾਂ ਦਾ ਵਿਹਾਰ ਵੀ ਬਰਕਰਾਰ ਰਹਿੰਦਾ ਹੈ। ## RTK ਫਿਲਟਰ ਪੈਕ RTK ਫਿਲਟਰ ਇੱਥੇ ਸਥਿਤ ਹੁੰਦੇ ਹਨ: ```txt open-sse/services/compression/engines/rtk/filters/.json ``` ਹਰੇਕ ਫਿਲਟਰ ਦੱਸਦਾ ਹੈ ਕਿ ਕਮਾਂਡ-ਆਉਟਪੁੱਟ ਪਰਿਵਾਰ ਨੂੰ ਕਿਵੇਂ ਪਛਾਣਨਾ ਅਤੇ ਸੰਕੁਚਿਤ ਕਰਨਾ ਹੈ। ```json { "id": "test-vitest", "label": "Vitest ਆਉਟਪੁੱਟ", "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: ਠੀਕ ਹੈ", "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: ਠੀਕ ਹੈ", "filterStderr": false }, "preserve": { "errorPatterns": ["FAIL", "Error:", "AssertionError"], "summaryPatterns": ["Test Files", "Tests", "Snapshots"] }, "tests": [ { "name": "ਅਸਫਲ ਟੈਸਟ ਬਰਕਰਾਰ ਰੱਖਦਾ ਹੈ", "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 ਫੀਲਡ | ਫੀਲਡ | ਲੋੜੀਂਦਾ | ਵੇਰਵਾ | | -------------------------- | ------- | ----------------------------------------------------------------------------- | | `id` | ਹਾਂ | ਸਥਿਰ ਫਿਲਟਰ ਆਈਡੀ | | `label` | ਹਾਂ | ਡੈਸ਼ਬੋਰਡ ਵਿੱਚ ਪੜ੍ਹਨਯੋਗ ਨਾਮ | | `category` | ਹਾਂ | ਫਿਲਟਰ ਪਰਿਵਾਰ: git, test, build, shell, docker, package, infra, cloud, generic | | `priority` | ਨਹੀਂ | ਜਦੋਂ ਕਈ ਫਿਲਟਰ ਮੇਲ ਖਾਂਦੇ ਹਨ, ਤਾਂ ਵੱਧ ਤਰਜੀਹ ਵਾਲਾ ਜਿੱਤਦਾ ਹੈ | | `match.outputTypes` | ਨਹੀਂ | ਇਸ ਫਿਲਟਰ ਨੂੰ ਚੁਣਨ ਵਾਲੀਆਂ ਡਿਟੈਕਟਰ ਆਉਟਪੁੱਟ ਆਈਡੀਆਂ | | `match.commands` | ਨਹੀਂ | ਇਸ ਫਿਲਟਰ ਨੂੰ ਚੁਣਨ ਵਾਲੇ ਕਮਾਂਡ ਟੋਕਨ | | `match.patterns` | ਨਹੀਂ | ਆਉਟਪੁੱਟ ਟੈਕਸਟ ਤੋਂ ਇਸ ਫਿਲਟਰ ਨੂੰ ਚੁਣਨ ਵਾਲੇ ਰੈਗੂਲਰ ਐਕਸਪ੍ਰੈਸ਼ਨ ਪੈਟਰਨ | | `rules.stripAnsi` | ਨਹੀਂ | ਰੈਗੂਲਰ ਐਕਸਪ੍ਰੈਸ਼ਨ ਪੜਾਵਾਂ ਤੋਂ ਪਹਿਲਾਂ ANSI ਐਸਕੇਪ ਕ੍ਰਮ ਹਟਾਓ | | `rules.replace` | ਨਹੀਂ | ਲਾਈਨ-ਦਰ-ਲਾਈਨ ਲਾਗੂ ਕੀਤੇ ਜਾਣ ਵਾਲੇ ਕ੍ਰਮਬੱਧ ਰੈਗੂਲਰ ਐਕਸਪ੍ਰੈਸ਼ਨ ਬਦਲਾਅ | | `rules.matchOutput` | ਨਹੀਂ | ਵਿਕਲਪਿਕ `unless` ਗਾਰਡ ਵਾਲੇ ਤੁਰੰਤ-ਨਤੀਜਾ ਆਉਟਪੁੱਟ ਨਿਯਮ | | `rules.includePatterns` | ਨਹੀਂ | ਉਹ ਲਾਈਨਾਂ ਜਿਨ੍ਹਾਂ ਨੂੰ ਬਰਕਰਾਰ ਰੱਖਣ ਨੂੰ ਤਰਜੀਹ ਦੇਣੀ ਹੈ | | `rules.dropPatterns` | ਨਹੀਂ | ਸ਼ੋਰ ਵਜੋਂ ਹਟਾਈਆਂ ਜਾਣ ਵਾਲੀਆਂ ਲਾਈਨਾਂ | | `rules.collapsePatterns` | ਨਹੀਂ | ਵਾਰ-ਵਾਰ ਮੇਲ ਖਾਣ ਵਾਲੀਆਂ ਲਾਈਨਾਂ ਜਿਨ੍ਹਾਂ ਨੂੰ ਸਮੇਟਿਆ ਜਾ ਸਕਦਾ ਹੈ | | `rules.deduplicate` | ਨਹੀਂ | ਦੁਹਰਾਈਆਂ ਨਾਰਮਲਾਈਜ਼ ਕੀਤੀਆਂ ਲਾਈਨਾਂ ਨੂੰ ਸਮੇਟੋ | | `rules.truncateLineAt` | ਨਹੀਂ | Unicode-ਸੁਰੱਖਿਅਤ ਪ੍ਰਤੀ-ਲਾਈਨ ਅੱਖਰ ਸੀਮਾ | | `rules.maxLines` | ਨਹੀਂ | ਅੰਤਿਮ ਲਾਈਨਾਂ ਨੂੰ ਬਚਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਰੱਖੀਆਂ ਜਾਣ ਵਾਲੀਆਂ ਵੱਧ ਤੋਂ ਵੱਧ ਲਾਈਨਾਂ | | `rules.headLines` | ਨਹੀਂ | ਕਟੌਤੀ ਦੌਰਾਨ ਰੱਖੀਆਂ ਜਾਣ ਵਾਲੀਆਂ ਸ਼ੁਰੂਆਤੀ ਲਾਈਨਾਂ | | `rules.tailLines` | ਨਹੀਂ | ਹਾਲੀਆ ਸੰਦਰਭ ਲਈ ਰੱਖੀਆਂ ਜਾਣ ਵਾਲੀਆਂ ਅੰਤਿਮ ਲਾਈਨਾਂ | | `rules.onEmpty` | ਨਹੀਂ | ਜਦੋਂ ਫਿਲਟਰਿੰਗ ਸਾਰੀ ਸਮੱਗਰੀ ਹਟਾ ਦੇਵੇ, ਤਾਂ ਵਰਤਿਆ ਜਾਣ ਵਾਲਾ ਵਿਕਲਪਿਕ ਸੁਨੇਹਾ | | `rules.filterStderr` | ਨਹੀਂ | ਅਗਲੇ ਫਿਲਟਰਿੰਗ ਪੜਾਵਾਂ ਤੋਂ ਪਹਿਲਾਂ ਆਮ stderr ਅਗੇਤਰਾਂ ਨੂੰ ਨਾਰਮਲਾਈਜ਼ ਕਰੋ | | `preserve.errorPatterns` | ਨਹੀਂ | ਗਲਤੀ ਵਾਲੀਆਂ ਲਾਈਨਾਂ ਜੋ ਕਟੌਤੀ ਤੋਂ ਬਾਅਦ ਵੀ ਬਚਣੀਆਂ ਚਾਹੀਦੀਆਂ ਹਨ | | `preserve.summaryPatterns` | ਨਹੀਂ | ਸੰਖੇਪ ਲਾਈਨਾਂ ਜੋ ਕਟੌਤੀ ਤੋਂ ਬਾਅਦ ਵੀ ਬਚਣੀਆਂ ਚਾਹੀਦੀਆਂ ਹਨ | | `tests[]` | ਨਹੀਂ | RTK ਪੁਸ਼ਟੀ ਗੇਟ ਦੁਆਰਾ ਵਰਤੇ ਜਾਣ ਵਾਲੇ ਇਨਲਾਈਨ ਪੁਸ਼ਟੀ ਨਮੂਨੇ | RTK ਘੋਸ਼ਣਾਤਮਕ ਪੜਾਵਾਂ ਨੂੰ ਇਸ ਕ੍ਰਮ ਵਿੱਚ ਲਾਗੂ ਕਰਦਾ ਹੈ: `stripAnsi`, `filterStderr`, `replace`, `matchOutput`, `dropPatterns`/`includePatterns`, `truncateLineAt`, `headLines`/`tailLines`, `maxLines`, ਅਤੇ `onEmpty`। ਕਸਟਮ ਫਿਲਟਰ ਇੱਥੋਂ ਲੋਡ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ: 1. ਪ੍ਰੋਜੈਕਟ `.rtk/filters.json` ਫਾਈਲਾਂ, ਪਰ ਕੇਵਲ ਉਦੋਂ ਜਦੋਂ ਮੇਲ ਖਾਂਦਾ `.rtk/trust.json` ਹੈਸ਼ ਮੌਜੂਦ ਹੋਵੇ ਜਾਂ `trustProjectFilters` ਸਮਰੱਥ ਕੀਤਾ ਹੋਵੇ। 2. ਗਲੋਬਲ `DATA_DIR/rtk/filters.json`। 3. ਬਿਲਟ-ਇਨ ਫਿਲਟਰ। ਪ੍ਰੋਜੈਕਟ/ਗਲੋਬਲ ਕਸਟਮ ਫਾਈਲਾਂ ਵਿੱਚ ਇੱਕ ਫਿਲਟਰ ਆਬਜੈਕਟ ਜਾਂ ਫਿਲਟਰ ਆਬਜੈਕਟਾਂ ਦੀ ਐਰੇ ਹੋ ਸਕਦੀ ਹੈ। ਅਵੈਧ ਕਸਟਮ ਫਿਲਟਰਾਂ ਨੂੰ ਡਾਇਗਨੋਸਟਿਕਸ ਸਮੇਤ ਛੱਡ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ; ਅਵੈਧ ਬਿਲਟ-ਇਨ ਫਿਲਟਰ ਪ੍ਰਮਾਣਿਕਤਾ ਨੂੰ ਅਸਫਲ ਕਰਦੇ ਹਨ। ਪ੍ਰੋਜੈਕਟ ਟਰੱਸਟ ਫਾਈਲ: ```json { "filtersSha256": "0123456789abcdef..." } ``` ਇਨਵਾਇਰਨਮੈਂਟ ਓਵਰਰਾਈਡ `OMNIROUTE_RTK_TRUST_PROJECT_FILTERS=1` ਬਿਨਾਂ ਹੈਸ਼ ਦੇ ਪ੍ਰੋਜੈਕਟ ਫਿਲਟਰਾਂ 'ਤੇ ਭਰੋਸਾ ਕਰਦਾ ਹੈ ਅਤੇ ਇਸਨੂੰ ਨਿਯੰਤਰਿਤ ਸਥਾਨਕ ਵਿਕਾਸ ਤੱਕ ਸੀਮਿਤ ਰੱਖਣਾ ਚਾਹੀਦਾ ਹੈ। ## ਸੁਰੱਖਿਆ ਨਿਯਮ - ਨਿਯਮਾਂ ਨੂੰ ਆਈਡੈਂਪੋਟੈਂਟ ਰੱਖੋ: ਇੱਕੋ ਫਿਲਟਰ ਨੂੰ ਦੋ ਵਾਰ ਚਲਾਉਣ ਨਾਲ ਆਉਟਪੁੱਟ ਖਰਾਬ ਨਹੀਂ ਹੋਣੀ ਚਾਹੀਦੀ। - ਜਿੱਥੇ ਸੰਭਵ ਹੋਵੇ, ਗਲਤੀ ਦਾ ਸਟੀਕ ਟੈਕਸਟ, ਫਾਇਲ ਪਾਥ, ਲਾਈਨ ਨੰਬਰ ਅਤੇ ਕਮਾਂਡ ਸੰਖੇਪ ਸੁਰੱਖਿਅਤ ਰੱਖੋ। - ਉਹਨਾਂ ਨਿਯਮਾਂ ਤੋਂ ਬਚੋ ਜੋ ਕੋਡ ਬਲਾਕਾਂ, JSON ਪੇਲੋਡਾਂ, URLs ਜਾਂ ਸੀਕ੍ਰੇਟਾਂ ਨੂੰ ਸੋਧਦੇ ਹਨ। - ਡਿਟੈਕਟਰ/ਫਿਲਟਰ ਟੈਸਟਾਂ ਵਿੱਚ ਨਵੇਂ ਕਮਾਂਡ ਪਰਿਵਾਰਾਂ ਲਈ ਯੂਨਿਟ ਕਵਰੇਜ ਸ਼ਾਮਲ ਕਰੋ। - ਹਰੇਕ ਬਿਲਟ-ਇਨ ਫਿਲਟਰ ਅਤੇ ਸਾਂਝੇ ਕਸਟਮ ਫਿਲਟਰਾਂ ਵਿੱਚ `tests[]` ਨਮੂਨੇ ਸ਼ਾਮਲ ਕਰੋ। ## ਪ੍ਰਮਾਣਿਕਤਾ ਵਰਤੋਂ ਤੋਂ ਪਹਿਲਾਂ ਨਿਯਮ ਪੈਕਾਂ ਦੀ ਪ੍ਰਮਾਣਿਕਤਾ ਜਾਂਚੀ ਜਾਂਦੀ ਹੈ। ਬਿਲਟ-ਇਨ Caveman ਪੈਕ ਅਤੇ ਬਿਲਟ-ਇਨ RTK ਫਿਲਟਰ ਪ੍ਰਮਾਣਿਕਤਾ ਦੌਰਾਨ ਤੁਰੰਤ ਅਸਫਲ ਹੋ ਜਾਂਦੇ ਹਨ, ਤਾਂ ਜੋ ਖਰਾਬ ਰਿਲੀਜ਼ ਐਸੈੱਟਾਂ ਨੂੰ ਭੇਜਣ ਤੋਂ ਪਹਿਲਾਂ ਹੀ ਪਛਾਣਿਆ ਜਾ ਸਕੇ। ਜਦੋਂ ਪਾਰਸਿੰਗ ਜਾਂ ਭਰੋਸੇ ਦੀ ਪ੍ਰਮਾਣਿਕਤਾ ਅਸਫਲ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਕਸਟਮ RTK ਫਿਲਟਰਾਂ ਨੂੰ ਡਾਇਗਨੌਸਟਿਕਸ ਸਮੇਤ ਛੱਡ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਕੇਂਦ੍ਰਿਤ ਪ੍ਰਮਾਣਿਕਤਾ: ```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 ```