🌐 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 · 🇰🇷 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 · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW
ಸಂಕೋಚನ ನಿಯಮಗಳು ರನ್ಟೈಮ್ನಲ್ಲಿ ಲೋಡ್ ಆಗುವ JSON ಫೈಲ್ಗಳಾಗಿವೆ. ಹೊಸ ಭಾಷಾ ಪ್ಯಾಕ್ಗಳು ಮತ್ತು RTK ಕಮಾಂಡ್ ಫಿಲ್ಟರ್ಗಳನ್ನು ಎಂಜಿನ್ ಕೋಡ್ ಬದಲಾಯಿಸದೆಯೇ ಪರಿಶೀಲಿಸಲು ಸಾಧ್ಯವಾಗುವಂತೆ ಅವುಗಳನ್ನು ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಡೇಟಾ-ಮಾತ್ರವಾಗಿ ಇರಿಸಲಾಗಿದೆ.
ಅಧಿಕೃತ ಸ್ಕೀಮಾ (ಮೂಲ ಸತ್ಯ):
open-sse/services/compression/rules/_schema.json(JSON Schema ಡ್ರಾಫ್ಟ್ 2020-12). ಕೆಳಗಿನ ಉದಾಹರಣೆಗಳು ವಿವರಣಾತ್ಮಕವಾಗಿವೆ — ಸಂದೇಹವಿದ್ದಾಗ, ನಿಮ್ಮ ಪ್ಯಾಕ್ ಅನ್ನು_schema.jsonವಿರುದ್ಧ ಮೌಲ್ಯೀಕರಿಸಿ.
Caveman ನಿಯಮ ಪ್ಯಾಕ್ಗಳು ಇಲ್ಲಿ ಇರುತ್ತವೆ:
open-sse/services/compression/rules/<language>/<pack>.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."
}
]
}| ಕ್ಷೇತ್ರ | ಅಗತ್ಯವೇ | ವಿವರಣೆ |
|---|---|---|
language |
ಹೌದು | en, pt-BR, es ಮುಂತಾದ BCP-47-ಸದೃಶ ಭಾಷಾ ಕೀ |
category |
ಹೌದು | ಪ್ಯಾಕ್ ವರ್ಗದ ಫೈಲ್ ಹೆಸರು/ವರ್ಗ, ಉದಾಹರಣೆಗೆ filler ಅಥವಾ dedup |
rules |
ಹೌದು | ರೆಗ್ಯುಲರ್ ಎಕ್ಸ್ಪ್ರೆಷನ್ ಬದಲಿ ನಿಯಮಗಳ ಅರೇ |
rules[].name |
ಹೌದು | ಸ್ಥಿರ ನಿಯಮದ ಹೆಸರು |
rules[].pattern |
ಹೌದು | JavaScript ರೆಗ್ಯುಲರ್ ಎಕ್ಸ್ಪ್ರೆಷನ್ ಮೂಲ |
rules[].flags |
ಇಲ್ಲ | JavaScript ರೆಗ್ಯುಲರ್ ಎಕ್ಸ್ಪ್ರೆಷನ್ ಫ್ಲ್ಯಾಗ್ಗಳು; ಡೀಫಾಲ್ಟ್ 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 ಅನ್ನು ತೆಗೆದುಹಾಕದೆ ಸಣ್ಣ ಅಕ್ಷರದ ಗದ್ಯದ ಮೊದಲು ಬರುವ ಆರ್ಟಿಕಲ್ ಅನ್ನು ತೆಗೆದುಹಾಕಲು.
ಒಂದು ರೆಗ್ಯುಲರ್ ಎಕ್ಸ್ಪ್ರೆಷನ್ನಲ್ಲಿ ವಿಭಿನ್ನ ಔಟ್ಪುಟ್ಗಳ ಅಗತ್ಯವಿರುವ ಅನೇಕ ಪರ್ಯಾಯಗಳಿದ್ದಾಗ replacementMap ಬಳಸಿ; ಇದು ಹೆಚ್ಚು ಸಮೃದ್ಧವಾದ ಅಂತರ್ನಿರ್ಮಿತ TypeScript ಬದಲಿ ಫಂಕ್ಷನ್ಗಳ ನಡವಳಿಕೆಯನ್ನು ಉಳಿಸಿಕೊಂಡೇ JSON ನಿಯಮ ಪ್ಯಾಕ್ಗಳನ್ನು ಡೇಟಾ-ಮಾತ್ರವಾಗಿ ಇರಿಸುತ್ತದೆ.
RTK ಫಿಲ್ಟರ್ಗಳು ಇಲ್ಲಿ ಇರುತ್ತವೆ:
open-sse/services/compression/engines/rtk/filters/<filter>.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"
}
]
}| ಕ್ಷೇತ್ರ | ಅಗತ್ಯವಿದೆಯೇ | ವಿವರಣೆ |
|---|---|---|
id |
ಹೌದು | ಸ್ಥಿರ ಫಿಲ್ಟರ್ id |
label |
ಹೌದು | ಡ್ಯಾಶ್ಬೋರ್ಡ್ನಲ್ಲಿ ಓದಬಹುದಾದ ಹೆಸರು |
category |
ಹೌದು | ಫಿಲ್ಟರ್ ಕುಟುಂಬ: git, test, build, shell, docker, package, infra, cloud, generic |
priority |
ಇಲ್ಲ | ಹಲವು ಫಿಲ್ಟರ್ಗಳು ಹೊಂದಿಕೆಯಾದಾಗ ಹೆಚ್ಚಿನ ಆದ್ಯತೆಯದು ಆಯ್ಕೆಯಾಗುತ್ತದೆ |
match.outputTypes |
ಇಲ್ಲ | ಈ ಫಿಲ್ಟರ್ ಅನ್ನು ಆಯ್ಕೆಮಾಡುವ ಡಿಟೆಕ್ಟರ್ ಔಟ್ಪುಟ್ idಗಳು |
match.commands |
ಇಲ್ಲ | ಈ ಫಿಲ್ಟರ್ ಅನ್ನು ಆಯ್ಕೆಮಾಡುವ ಕಮಾಂಡ್ ಟೋಕನ್ಗಳು |
match.patterns |
ಇಲ್ಲ | ಔಟ್ಪುಟ್ ಪಠ್ಯದಿಂದ ಈ ಫಿಲ್ಟರ್ ಅನ್ನು ಆಯ್ಕೆಮಾಡುವ regex ಪ್ಯಾಟರ್ನ್ಗಳು |
rules.stripAnsi |
ಇಲ್ಲ | regex ಹಂತಗಳಿಗೆ ಮೊದಲು ANSI ಎಸ್ಕೇಪ್ ಅನುಕ್ರಮಗಳನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ |
rules.replace |
ಇಲ್ಲ | ಸಾಲು-ಸಾಲಾಗಿ ಅನ್ವಯಿಸಲಾದ ಕ್ರಮಬದ್ಧ regex ಬದಲಾವಣೆಗಳು |
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.
ಕಸ್ಟಮ್ ಫಿಲ್ಟರ್ಗಳನ್ನು ಈ ಸ್ಥಳಗಳಿಂದ ಲೋಡ್ ಮಾಡಬಹುದು:
- ಹೊಂದಾಣಿಕೆಯ
.rtk/trust.jsonಹ್ಯಾಶ್ ಇದ್ದ ನಂತರ ಮಾತ್ರ ಪ್ರಾಜೆಕ್ಟ್.rtk/filters.jsonಫೈಲ್ಗಳಿಂದ, ಅಥವಾtrustProjectFiltersಸಕ್ರಿಯಗೊಳಿಸಿದ್ದರೆ. - ಜಾಗತಿಕ
DATA_DIR/rtk/filters.json. - ಅಂತರ್ನಿರ್ಮಿತ ಫಿಲ್ಟರ್ಗಳು.
ಪ್ರಾಜೆಕ್ಟ್/ಜಾಗತಿಕ ಕಸ್ಟಮ್ ಫೈಲ್ಗಳು ಒಂದು ಫಿಲ್ಟರ್ ಆಬ್ಜೆಕ್ಟ್ ಅಥವಾ ಫಿಲ್ಟರ್ ಆಬ್ಜೆಕ್ಟ್ಗಳ ಅರೇಯನ್ನು ಹೊಂದಿರಬಹುದು. ಅಮಾನ್ಯ ಕಸ್ಟಮ್ ಫಿಲ್ಟರ್ಗಳನ್ನು ಡಯಾಗ್ನಾಸ್ಟಿಕ್ಸ್ನೊಂದಿಗೆ ಬಿಟ್ಟುಬಿಡಲಾಗುತ್ತದೆ; ಅಮಾನ್ಯ ಅಂತರ್ನಿರ್ಮಿತ ಫಿಲ್ಟರ್ಗಳು ಮೌಲ್ಯೀಕರಣವನ್ನು ವಿಫಲಗೊಳಿಸುತ್ತವೆ.
ಪ್ರಾಜೆಕ್ಟ್ ಟ್ರಸ್ಟ್ ಫೈಲ್:
{
"filtersSha256": "0123456789abcdef..."
}ಪರಿಸರ ಓವರ್ರೈಡ್ OMNIROUTE_RTK_TRUST_PROJECT_FILTERS=1, ಹ್ಯಾಶ್ ಇಲ್ಲದೆಯೇ ಪ್ರಾಜೆಕ್ಟ್ ಫಿಲ್ಟರ್ಗಳನ್ನು
ವಿಶ್ವಾಸಾರ್ಹವೆಂದು ಪರಿಗಣಿಸುತ್ತದೆ ಮತ್ತು ಅದನ್ನು ನಿಯಂತ್ರಿತ ಸ್ಥಳೀಯ ಡೆವಲಪ್ಮೆಂಟ್ಗೆ ಮಾತ್ರ ಸೀಮಿತಗೊಳಿಸಬೇಕು.
- ನಿಯಮಗಳನ್ನು ಐಡೆಂಪೋಟೆಂಟ್ ಆಗಿ ಇರಿಸಿ: ಅದೇ ಫಿಲ್ಟರ್ ಅನ್ನು ಎರಡು ಬಾರಿ ಚಲಾಯಿಸಿದಾಗ ಔಟ್ಪುಟ್ ಹಾಳಾಗಬಾರದು.
- ಸಾಧ್ಯವಾದಲ್ಲಿ ನಿಖರವಾದ ದೋಷ ಪಠ್ಯ, ಫೈಲ್ ಪಥಗಳು, ಸಾಲು ಸಂಖ್ಯೆಗಳು ಮತ್ತು ಕಮಾಂಡ್ ಸಾರಾಂಶಗಳನ್ನು ಸಂರಕ್ಷಿಸಿ.
- ಕೋಡ್ ಬ್ಲಾಕ್ಗಳು, JSON ಪೇಲೋಡ್ಗಳು, URLಗಳು ಅಥವಾ ರಹಸ್ಯಗಳನ್ನು ಮಾರ್ಪಡಿಸುವ ನಿಯಮಗಳನ್ನು ತಪ್ಪಿಸಿ.
- ಡಿಟೆಕ್ಟರ್/ಫಿಲ್ಟರ್ ಪರೀಕ್ಷೆಗಳಲ್ಲಿ ಹೊಸ ಕಮಾಂಡ್ ಕುಟುಂಬಗಳಿಗೆ ಯೂನಿಟ್ ಪರೀಕ್ಷಾ ವ್ಯಾಪ್ತಿಯನ್ನು ಸೇರಿಸಿ.
- ಪ್ರತಿ ಅಂತರ್ನಿರ್ಮಿತ ಫಿಲ್ಟರ್ಗೆ ಮತ್ತು ಹಂಚಿದ ಕಸ್ಟಮ್ ಫಿಲ್ಟರ್ಗಳಿಗೆ
tests[]ಮಾದರಿಗಳನ್ನು ಸೇರಿಸಿ.
ಬಳಕೆಗೆ ಮೊದಲು ನಿಯಮ ಪ್ಯಾಕ್ಗಳನ್ನು ಮೌಲ್ಯೀಕರಿಸಲಾಗುತ್ತದೆ. ದೋಷಪೂರಿತ ಬಿಡುಗಡೆ ಸ್ವತ್ತುಗಳನ್ನು ರವಾನಿಸುವ ಮೊದಲು ಪತ್ತೆಹಚ್ಚಲು ಅಂತರ್ನಿರ್ಮಿತ Caveman ಪ್ಯಾಕ್ಗಳು ಮತ್ತು ಅಂತರ್ನಿರ್ಮಿತ RTK ಫಿಲ್ಟರ್ಗಳು ಮೌಲ್ಯೀಕರಣದ ಸಮಯದಲ್ಲಿ ತಕ್ಷಣವೇ ವಿಫಲಗೊಳ್ಳುತ್ತವೆ. ಪಾರ್ಸಿಂಗ್ ಅಥವಾ ವಿಶ್ವಾಸಾರ್ಹತೆ ಮೌಲ್ಯೀಕರಣ ವಿಫಲವಾದಾಗ, ಡಯಾಗ್ನೋಸ್ಟಿಕ್ಗಳೊಂದಿಗೆ ಕಸ್ಟಮ್ RTK ಫಿಲ್ಟರ್ಗಳನ್ನು ಬಿಟ್ಟುಬಿಡಲಾಗುತ್ತದೆ.
ಕೇಂದ್ರೀಕೃತ ಮೌಲ್ಯೀಕರಣ:
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