Files
OmniRoute/docs/i18n/yo/docs/compression/RTK_COMPRESSION.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

43 KiB
Raw Blame History

RTK Compression (Yorùbá)

🌐 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 · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇨🇳 zh-CN · 🇹🇼 zh-TW


Ìfúnpọ̀ RTK jẹ́ ẹ́ńjìnnì ìfúnpọ̀ OmniRoute tó mọ àwọn àṣẹ fún àbájáde terminal àti irinṣẹ́. A ṣe é fún àwọn ìpàdé aṣojú-kóòdù níbi tí ọ̀pọ̀ ìdàgbàsókè àyíká-ọ̀rọ̀ ti máa ń wá láti inú àkọsílẹ̀ ìdánwò, àbájáde ìkọ́lé, ariwo olùṣàkóso package, àkọsílẹ̀ shell, àbájáde Docker, àbájáde git, àti àwọn stack trace.

RTK lè ṣiṣẹ́ tààrà pẹ̀lú defaultMode: "rtk" tàbí gẹ́gẹ́ bí ìgbésẹ̀ àkọ́kọ́ nínú pipeline tí a tò pọ̀, ní ọ̀pọ̀ ìgbà:

rtk -> caveman

Ìtòlẹ́sẹẹsẹ yẹn kọ́kọ́ fún àwọn àbájáde ẹ̀rọ aláriwo pọ̀, lẹ́yìn náà ó jẹ́ kí Caveman ṣe àkótán àwọn ọ̀rọ̀ àsọyé tó kù.

RTK upstream ṣe àlàyé ìfipamọ́ 60-90% fún àbájáde àṣẹ. Àpẹẹrẹ ìpàdé inú README rẹ̀ yí padà láti ~118,000 token boṣewa sí ~23,900 token RTK, èyí tó jẹ́ ìfipamọ́ 79.7% (~80%). OmniRoute ń lo àpapọ̀ upstream yẹn fún ìṣirò ìfipamọ́ tí a tò pọ̀ pẹ̀lú ìfúnpọ̀ àbáwọlé Caveman:

Àpapọ̀ RTK:       80% ni a fipamọ́
Àbáwọlé Caveman: 46% ni a fipamọ́
Tí a tò pọ̀:      1 - (1 - 0.80) * (1 - 0.46) = 89.2% ni a fipamọ́
Ààlà:            1 - (1 - 0.60..0.90) * (1 - 0.46) = 78.4-94.6%

Ohun Tó Ń Fún Pọ̀

Kátálọ́ọ̀gù tí a kọ́ sínú rẹ̀ lọ́wọ́lọ́wọ́ ní asẹ 49 káàkiri àwọn ẹ̀ka wọ̀nyí:

Ẹ̀ka Àwọn àpẹẹrẹ
git git status, git branch, git diff, git log
test Vitest, Jest, Pytest, Playwright, àwọn ìdánwò Go, àwọn ìdánwò Cargo
build TypeScript, ESLint, Biome, Prettier, Vite, Webpack, Turbo, Nx
package npm install, npm audit, pip, uv sync, Poetry, Bundler
shell ls, find, grep, àwọn àkọsílẹ̀ shell gbogbogbò
docker docker ps, àwọn àkọsílẹ̀ Docker
infra Terraform, OpenTofu, systemctl status
generic Àbájáde JSON, àwọn stack trace, àṣàyàn ìpadà sí àbájáde gbogbogbò

Olùṣàwárí inú open-sse/services/compression/engines/rtk/commandDetector.ts ń pín àbájáde sí ẹ̀ka kí yíyan asẹ tó wáyé. Àwọn asẹ tún lè ṣe ìbámu nípasẹ̀ pattern àṣẹ tàbí regex àbájáde nígbà tí ẹ̀ka àṣẹ kò bá tó.

Ìpinnu Asẹ

RTK ń kó àwọn asẹ wọlé ní ìtòlẹ́sẹẹsẹ yìí:

  1. Àwọn asẹ iṣẹ́-àkànṣe láti .rtk/filters.toml àti .rtk/filters.json, kìkì nígbà tí a bá fọkàn tán wọn.
  2. Àwọn asẹ àgbáyé láti DATA_DIR/rtk/filters.toml àti DATA_DIR/rtk/filters.json.
  3. Àwọn asẹ tí a kọ́ sínú rẹ̀ láti open-sse/services/compression/engines/rtk/filters/.

Láàárín scope kan náà, àwọn asẹ RTK TOML schema v1 ní ààyò ju àwọn asẹ OmniRoute JSON lọ. A máa ń ṣàyẹ̀wò àwọn expression TOML match_command ṣáájú ìbámu irú àṣẹ kí asẹ kan pàtó sí àṣẹ tí a gbé wọlé lè borí asẹ tó gbòòrò sí i nínú scope yẹn. Scope iṣẹ́-àkànṣe ṣì ní ààyò ju scope àgbáyé lọ, láìka format fáìlì sí.

A mọ̀ọ́mọ̀ fi ààlà ìgbẹ́kẹ̀lé sí àwọn asẹ iṣẹ́-àkànṣe nítorí àwọn asẹ regex lè yí bí a ṣe ń fi àbájáde irinṣẹ́ hàn àwọn aṣojú padà. A máa gba fáìlì asẹ iṣẹ́-àkànṣe nígbà tí ọ̀kan lára àwọn wọ̀nyí bá jẹ́ òótọ́:

  • rtkConfig.trustProjectFilters jẹ́ true.
  • A ṣètò OMNIROUTE_RTK_TRUST_PROJECT_FILTERS=1.
  • .rtk/trust.json ní hash SHA-256 tó bá fáìlì asẹ iṣẹ́-àkànṣe mu.

Àpẹẹrẹ fáìlì ìgbẹ́kẹ̀lé:

{
  "filtersSha256": "0123456789abcdef...",
  "filtersTomlSha256": "fedcba9876543210..."
}

Àwọn hash náà yàtọ̀: filtersSha256 fọkàn tán .rtk/filters.json, nígbà tí filtersTomlSha256 fọkàn tán .rtk/filters.toml. Ṣíṣàtúnṣe ọ̀kan lára àwọn fáìlì náà máa sọ kìkì àkọọlẹ̀ ìgbẹ́kẹ̀lé tirẹ̀ di aláìwúlò. Àwọn fáìlì àgbáyé jẹ́ èyí tí alámójútó fi sílẹ̀, wọ́n sì ń lo ìhùwàsí ìgbẹ́kẹ̀lé asẹ-àgbáyé tó ti wà tẹ́lẹ̀.

Àwọn asẹ àkànṣe lè jẹ́ object asẹ kan tàbí array àwọn object asẹ. A máa foju àwọn asẹ àkànṣe tí kò bófin mu kọjá, a sì máa jabo wọn nípasẹ̀ àyẹ̀wò /api/context/rtk/filters. Àwọn asẹ tí a kọ́ sínú rẹ̀ tí kò bófin mu máa ń dá iṣẹ́ dúró lẹ́sẹ̀kẹsẹ̀.

Ìbámu pẹ̀lú RTK TOML schema v1

OmniRoute lè túmọ̀, fìdí rẹ̀ múlẹ̀, dán an wò, kí ó sì fi àwọn fáìlì àsẹ̀ àṣàyàn alásọyé tí ń lo RTK TOML schema v1 sílẹ̀. Àwọn pápá tí a ṣe àtìlẹ́yìn fún ni description, match_command, strip_ansi, filter_stderr, strip_lines_matching, keep_lines_matching, replace, match_output, truncate_lines_at, head_lines, tail_lines, max_lines, on_empty, àti àwọn ìdánwò inú-láìnì [[tests.<filter>]]. A máa kọ àwọn pápá tí a kò mọ̀, àwọn gbólóhùn déédé tí kò tọ́ tàbí tí kò ní ààbò, àwọn òfin yíyọ/kíkọ́jú tí a lò lẹ́ẹ̀kan náà, àwọn fáìlì tó ju 1 MiB lọ, àti àwọn ìtọ́kasí sí àwọn àsẹ̀ àṣàyàn tí a kò mọ̀. A lè fìdí fáìlì tí àwọn ìdánwò inú-láìnì rẹ̀ kùnà múlẹ̀ fún àyẹ̀wò, ṣùgbọ́n a kò lè fi sílẹ̀ tàbí kó wọlé. Àwọn ìkùnà nígbà tí a bá ń kó fáìlì àdáni wọlé ṣì ń jẹ́ fail-open: a máa fo fáìlì tí kò tọ́ náà, àwọn àsẹ̀ àṣàyàn tó kù sì máa tẹ̀síwájú láti ṣiṣẹ́.

OmniRoute ń gba àbájáde irinṣẹ́ lẹ́yìn tí oníbárà ti mú un tán, nítorí náà filter_stderr = true kò lè yí bí a ṣe ń mú àbájáde ìlànà padà. A gba pápá náà gẹ́gẹ́ bí no-op, ìmúdájú sì máa dá ìkìlọ̀ padà. A mọ̀ọ́mọ̀ ṣàpèjúwe èyí gẹ́gẹ́ bí ìbámu pẹ̀lú RTK TOML schema v1, kì í ṣe ìbámu kíkún pẹ̀lú ohun èlò RTK, àwọn ìkọ́ shell, àwọn ìmúṣẹ àṣẹ Rust, tàbí ìṣètò trust-store rẹ̀.

Ìwò RTK onípele-gíga ti dashboard ń gba TOML tí a lẹ̀ mọ́ tàbí tí a gbé sókè. Ìmúdájú jẹ́ ti kíkà nìkan. Ìfisílẹ̀ máa ń kọ DATA_DIR/rtk/filters.toml lọ́nà atomiki pẹ̀lú àwọn àṣẹ ìwọlé tó muna, ó sì máa ń sọ àkójọ àsẹ̀ àṣàyàn tó ń ṣiṣẹ́ di tuntun láìsí àtún-bẹ̀rẹ̀. Rírò fáìlì tó ti wà tẹ́lẹ̀ padà nílò ìmúdájú overwrite ní kedere, yóò sì kọ́kọ́ ṣẹ̀dá DATA_DIR/rtk/filters.toml.bak.

DSL àsẹ̀ àṣàyàn

Àwọn àsẹ̀ àṣàyàn ń lo JSON schema tí a ṣàpèjúwe nínú Ọ̀nà Ìkọ̀wé Àwọn Òfin Ìkópọ̀. Runtime máa ń lo àwọn ìpele wọ̀nyí ní ìtòlẹ́sẹẹsẹ:

stripAnsi -> filterStderr -> replace -> matchOutput -> yọ/fì àwọn ìlà sínú
  -> truncateLineAt -> head/tail/maxLines -> onEmpty

Àwọn pápá pàtàkì:

Pápá Ète
rules.stripAnsi Yọ àwọn ọ̀wọ́ àwọ̀/ìṣàkóso terminal kúrò kí ìbámu tó wáyé
rules.filterStderr Ṣe àwọn ìpele ìbẹ̀rẹ̀ stderr tó wọ́pọ̀ ní ọ̀nà kan náà kí ìbámu/àsẹ̀ àṣàyàn tó wáyé
rules.replace Lo àwọn ìrọ́pò regex ní ìtòlẹ́sẹẹsẹ
rules.matchOutput Dá àkótán kékeré padà nígbà tí àbájáde bá bá ipò tí a mọ̀ mu
rules.matchOutput[].unless Fo ọ̀nà kúkúrú náà nígbà tí àpẹẹrẹ àṣìṣe/ìkùnà bá wà
rules.dropPatterns Yọ àwọn ìlà aláriwo kúrò
rules.includePatterns Fi ààyò fún àwọn ìlà tí a lè gbé ìgbésẹ̀ lé lórí
rules.collapsePatterns Kó àwọn ìlà tó ń tún ara wọn ṣe tí wọ́n bá mu jọ
rules.deduplicate Yíyàn-láti-lò fún àsẹ̀ àṣàyàn kọ̀ọ̀kan: kó àwọn ìlà àdàkọ tó tẹ̀lé ara wọn jọ
rules.truncateLineAt Gé ìlà kọ̀ọ̀kan kúrú lọ́nà tó bójú tó Unicode
rules.onEmpty Ìfiránṣẹ́ àfidípò bí gbogbo àwọn ìlà bá ti di ṣíṣàyàn jáde
tests[] Àwọn àpẹẹrẹ inú-láìnì tí ẹnubodè ìmúdájú ń lò

A retí pé àwọn àsẹ̀ àṣàyàn inú ètò yóò ní àwọn àpẹẹrẹ tests[] inú-láìnì. Ó yẹ kí àwọn àsẹ̀ àṣàyàn àdáni náà ní wọn, pàápàá nígbà tí a bá pín wọn káàkiri àwọn iṣẹ́ àkànṣe.

Ìyọkúrò Àwọn Laini Àdáwòkọ (ìpele méjì)

RTK máa ń ṣàkójọpọ̀ àwọn laini àdáwòkọ ní ìpele olómìnira méjì:

  1. deduplicate fún àlẹ̀mọ́ kọ̀ọ̀kan (yíyan-láti-lò, àìyẹsẹ̀ false). Àlẹ̀mọ́ kan lè ṣètò rules.deduplicate: true láti ṣàkójọpọ̀ àwọn laini àdáwòkọ tó tẹ̀lé ara wọn nínú àbájáde tó bá àlẹ̀mọ́ náà mu, kí a tó gé e kúrú. Èyí máa ń ṣiṣẹ́ nínú lineFilter.ts. Fún àwọn àlẹ̀mọ́ àtijọ́, a máa ń mú un ṣiṣẹ́ láìfọwọ́ṣe nígbà tí àlẹ̀mọ́ náà bá ṣàlàyé collapsePatterns. Àwòṣe: deduplicate: z.boolean().default(false) nínú open-sse/services/compression/engines/rtk/filterSchema.ts.
  2. deduplicateThreshold jákèjádò ẹ́ńjìnnì (àìyẹsẹ̀ 3). Lẹ́yìn tí gbogbo àlẹ̀mọ́ bá ṣiṣẹ́, ẹ́ńjìnnì náà máa ń ṣàkójọpọ̀ ìwọ̀nba èyíkéyìí ti àwọn laini kan náà tó tẹ̀lé ara wọn tí ó jẹ́ >= deduplicateThreshold jákèjádò gbogbo àbájáde (deduplicateRepeatedLines, tí a lò nínú engines/rtk/index.ts). A fi iye náà mọ́ àárín 2100 nígbà ìṣètò sí ọ̀nà àgbékalẹ̀.

Ìgbésẹ̀ fún àlẹ̀mọ́ kọ̀ọ̀kan máa ń ṣiṣẹ́ lákọ̀ọ́kọ́ (nínú àlẹ̀mọ́ náà), ìgbésẹ̀ jákèjádò ẹ́ńjìnnì sì máa ń ṣiṣẹ́ ní ìkẹyìn (lórí àbájáde tí a so pọ̀), nítorí náà àwọn méjèèjì máa ń ṣiṣẹ́ pọ̀ láìka nǹkan kan lẹ́ẹ̀mejì.

Ìṣàkójọpọ̀ Laini (enableGrouping)

Nígbà tí rtkConfig.enableGrouping bá jẹ́ true (àìyẹsẹ̀ false), RTK máa ń ṣe àfikún ìgbésẹ̀ groupSimilarLines lórí àbájáde lẹ́yìn ìyọkúrò àdáwòkọ, èyí tí yóò ṣàkójọpọ̀ ìwọ̀nba àwọn laini tó tẹ̀lé ara wọn tí wọ́n fẹ́rẹ̀ẹ́ dọ́gba (tí wọn kò dọ́gba ní báìtì pátápátá). rtkConfig.groupingThreshold (àìyẹsẹ̀ 3) ni gígùn ìwọ̀nba tó kéré jù lọ tí yóò mú ìṣàkójọpọ̀ ṣiṣẹ́. Èyí ni ẹlẹgbẹ́ ìgbékalẹ̀ fún deduplicateThreshold: ìyọkúrò àdáwòkọ ń bójú tó àwọn àtúnṣe tó dọ́gba pátápátá, ìṣàkójọpọ̀ sì ń bójú tó “ìrísí kan náà pẹ̀lú àwọn ìyàtọ̀ kéékèèké”. Àwọn àsìá méjèèjì jẹ́ apá kan rtkConfig JSON tí a tọ́jú sínú tábìlì key_value (wo Ìṣètò ní òkè), nítorí náà ìṣètò náà máa ń wà lẹ́yìn àtúǹbẹ̀rẹ̀.

Yíyọ Àwọn Àlàyé Kóòdù Kúrò (stripCodeComments / preserveDocstrings)

Nígbà tí a bá mú rtkConfig.applyToCodeBlocks ṣiṣẹ́, RTK tún lè yọ àwọn àlàyé kúrò nínú àwọn ìdíwọ̀n kóòdù olódi:

  • stripCodeComments (àìyẹsẹ̀ false) — yíyan-láti-lò. Nígbà tí ó jẹ́ true, RTK máa ń yọ àwọn àlàyé kúrò nínú àwọn ìdíwọ̀n JavaScript àti TypeScript. Ní ìtàn, a máa ń ka àsìá náà ṣùgbọ́n a kò lò ó rí, nítorí náà àìyẹsẹ̀ náà ṣì jẹ́ “tọ́jú” láti yẹra fún ìyípadà ìmújáde ní ìdákẹ́jẹ́.
  • preserveDocstrings (àìyẹsẹ̀ true) — nígbà yíyọ àwọn àlàyé kúrò, àwọn àlàyé búlọ́ọ̀kù JSDoc//** … */ ni a máa ń fi sílẹ̀ (wọ́n ní àkọsílẹ̀ API tó níye lórí ju àwọn báìtì tí wọ́n lò lọ). Ṣètò rẹ̀ sí false láti yọ àwọn náà kúrò pẹ̀lú.

Yíyọ àlàyé kúrò ni a ṣe nínú open-sse/services/compression/engines/rtk/codeStripper.ts. Ó ń lo olùtúpalẹ̀ TypeScript (kì í ṣe regex) kí a má bàa ṣe àṣìṣe pé àwọn lítírà okun, àdàkọ, àti regex jẹ́ àlàyé, ó sì máa ń dá iṣẹ́ dúró pátápátá nígbà tí a bá ṣàwárí JSX (kí àwọn àlàyé inú àpótí-ọ̀rọ̀ JSX má bàa bàjẹ́ láé). Yíyọ àlàyé kúrò lọ́wọ́lọ́wọ́ kan JavaScript àti TypeScript nìkan — àwọn èdè míì nínú àkójọpọ̀ CodeLanguage ti olùyọ náà (Python, Rust, Go, Ruby, Java) ní ìṣubú laini òfìfo àti àlàfo funfun ṣùgbọ́n wọn kò ní yíyọ àlàyé kúrò. A fi àmì rtk:code-strip sí ìṣiṣẹ́ búlọ́ọ̀kù tí a yọ nínú rulesApplied.

Àkíyèsí — GCF / ìyípadà sí àkóòdù tábùlà jẹ́ ẹ́ńjìnnì ọ̀tọ̀. RTK kò ní ẹ̀rọ ìyípadà JSON “GCF” (Graph Compact Format) ti tábùlà/ọ̀wọ̀n. Ẹ̀rọ ìyípadà náà — èyí tó rọ́pò ẹ̀rọ ìyípadà omni-tabular àtijọ́ — wà nínú ẹ́ńjìnnì headroom (open-sse/services/compression/engines/headroom/, pẹ̀lú codec tí a so mọ́ ọn lábẹ́ headroom/gcf/). Kò ní ìbáṣepọ̀ pẹ̀lú ọ̀nà iṣẹ́ àlẹ̀mọ́ RTK tí a ṣàkọsílẹ̀ rẹ̀ níbí.

Ìṣètò

Àwọn ètò àgbáyé wà nípasẹ̀ /api/settings/compression. Àwọn ètò tó jẹ́ ti RTK pàtó tún wà nípasẹ̀ /api/context/rtk/config.

{
  "defaultMode": "stacked",
  "autoTriggerMode": "stacked",
  "autoTriggerTokens": 32000,
  "stackedPipeline": [
    { "engine": "rtk", "intensity": "standard" },
    { "engine": "caveman", "intensity": "full" }
  ],
  "rtkConfig": {
    "enabled": true,
    "intensity": "standard",
    "applyToToolResults": true,
    "applyToCodeBlocks": false,
    "applyToAssistantMessages": false,
    "enabledFilters": [],
    "disabledFilters": [],
    "maxLinesPerResult": 120,
    "maxCharsPerResult": 12000,
    "deduplicateThreshold": 3,
    "customFiltersEnabled": true,
    "trustProjectFilters": false,
    "rawOutputRetention": "never",
    "rawOutputMaxBytes": 1048576,
    "enableGrouping": false,
    "groupingThreshold": 3,
    "stripCodeComments": false,
    "preserveDocstrings": true
  }
}

enabledFilters àti disabledFilters ń lo àwọn id àsẹ̀, fún àpẹẹrẹ test-vitest tàbí git-diff.

Ìrísí rtkConfig kíkún jẹ́ àsọyé nípasẹ̀ RtkConfig / DEFAULT_RTK_CONFIG nínú open-sse/services/compression/types.ts. Gbogbo ohun náà ni a fi pamọ́ gẹ́gẹ́ bí iye JSON kan ṣoṣo nínú tábìlì SQLite key_value lábẹ́ namespace = "compression", key = "rtkConfig" (src/lib/db/compression.ts), normalizeRtkConfig sì ń mú un padà sí ìlànà tó yẹ nígbà kíkà. Nítorí náà, gbogbo pápá tó wà nísàlẹ̀ — pẹ̀lú enableGrouping, groupingThreshold, stripCodeComments, àti preserveDocstrings — ń lọ sí ibi ìpamọ́ kan náà, ó sì ń padà láìyípadà, kódà lẹ́yìn àtúnjẹ̀wọlé.

Kọ́kọ́rọ́ Àìyípadà Ète
deduplicateThreshold 3 Fún gbogbo ẹ́ńjìnnì: iye tó kéré jù ti àwọn ìlà tó jọra tẹ̀léra láti kó pọ̀ (láàárín 2100)
enableGrouping false Yíyan-láti-lò: kó àwọn ìlà tó tẹ̀léra tí wọ́n fẹ́rẹ̀ẹ́ dọ́gba pọ̀
groupingThreshold 3 Iye tó kéré jù ti àwọn ìlà tó jọra tí wọ́n tẹ̀léra tó máa fa ìkópọ̀ ṣiṣẹ́
stripCodeComments false Yíyan-láti-lò: yọ àwọn àlàyé kúrò nínú àwọn búlọ́ọ̀kù kóòdù olódi (ó nílò applyToCodeBlocks)
preserveDocstrings true Nígbà yíyọ àwọn àlàyé, pa àwọn búlọ́ọ̀kù JSDoc//** … */ mọ́

API

Ọ̀nà Ìlànà Ète
/api/context/rtk/config GET Ka ìṣètò RTK
/api/context/rtk/config PUT Ṣe àfikún sí ìṣètò RTK
/api/context/rtk/filters GET Ṣàkójọ katalọ́ọ̀gù àsẹ̀ àti àyẹ̀wò ìkójọpọ̀
/api/context/rtk/import POST Ṣàyẹ̀wò tàbí fi àwọn fáìlì àwòṣe RTK TOML v1 sílẹ̀
/api/context/rtk/test POST Ṣàkọ́kọ́ wo ìfúnpọ̀ RTK fún páyílọ́ọ̀dù ọ̀rọ̀ kan
/api/context/rtk/raw-output/[id] GET Ka àbájáde aláìlòṣiṣẹ́ tí a ti ṣàtúnṣe tí a sì pa mọ́
/api/compression/preview POST Ṣàkọ́kọ́ wo ipò ìfúnpọ̀ èyíkéyìí

Páyílọ́ọ̀dù ìdánwò RTK:

{
  "command": "npm test",
  "text": "FAIL tests/example.test.ts\nAssertionError: expected true\nTest Files 1 failed",
  "config": {
    "intensity": "standard"
  }
}

Páyílọ́ọ̀dù àkọ́kọ́wò ìfúnpọ̀:

{
  "mode": "stacked",
  "messages": [
    {
      "role": "tool",
      "content": "FAIL tests/example.test.ts\nAssertionError: expected true\nTest Files 1 failed"
    }
  ],
  "config": {
    "rtkConfig": {
      "rawOutputRetention": "failures"
    }
  }
}

Àwọn ọ̀nà ìṣàkóso nílò ìfàṣẹsí ìṣàkóso pánẹ́ẹ̀lì àkóso tàbí ìlànà API-key tó bá a mu.

Páyílọ́ọ̀dù ìfọwọ́sí RTK TOML:

{
  "action": "validate",
  "content": "schema_version = 1\n\n[filters.my-tool]\nmatch_command = \"^my-tool\\\\b\"\nmax_lines = 20\n"
}

Lo "action": "install" láti fi fáìlì tí a ti fọwọ́sí sílẹ̀ ní àgbáyé. Fi "overwrite": true kún un nìkan lẹ́yìn ṣíṣàyẹ̀wò àti ìmúdájú pé kí a fi í rọ́pò fáìlì àgbáyé tó ti wà tẹ́lẹ̀.

Ìmúpadàbọ̀ Àbájáde Àìlábùlù

RTK sábà máa ń dá ọ̀rọ̀ tí a ti fún pọ̀ nìkan padà. Fún ṣíṣe àwárí àṣìṣe, rawOutputRetention lè dá àbájáde àìlábùlù tí a ti fi ohun ìkọ̀kọ̀ pamọ́ sí:

Iye Ìhùwàsí
never Má ṣe dá àbájáde àìlábùlù sí
failures Dá àbájáde tí ó ṣeé ṣe kí ó jẹ́ ìkùnà nìkan sí
always Dá gbogbo àbájáde àìlábùlù RTK tí a ti fún pọ̀ sí, lẹ́yìn fífi ohun ìkọ̀kọ̀ pamọ́

Àwọn fáìlì tí a dá sí ni a kọ sínú:

DATA_DIR/rtk/raw-output/

A máa ń fi àwọn àṣírí pamọ́ kí a tó fi wọ́n pamọ́ pátápátá, pẹ̀lú àwọn token bearer tí ó wọ́pọ̀, àwọn kọ́kọ́rọ́ API, àwọn token Slack, àwọn kọ́kọ́rọ́ ìráyè AWS, àti àwọn iye bíi token=..., secret=..., password=... tí a kọ ní ọ̀nà ìsọfúnni. Ìtúpalẹ̀ ń tọ́jú id atọ́ka, ìwọ̀n, àti metadata hash nìkan.

Ẹnubodè Ìjẹ́rìísí

Ẹnubodè ìjẹ́rìísí tí a dojú kọ máa ń ṣiṣẹ́ àwọn ìdánwò asẹ inline tí a ṣe sínú rẹ̀ láìpe àwọn àṣẹ ita nípasẹ̀ shell:

node --import tsx/esm --test tests/unit/compression/rtk-verify.test.ts

Ẹnubodè RTK tí ó gbòòrò sí i ni:

node --import tsx/esm --test \
  tests/unit/compression/rtk-*.test.ts \
  tests/unit/compression/pipeline-integration.test.ts \
  tests/unit/compression/context-compression-api.test.ts

Ṣiṣẹ́ ẹnubodè fífúnpọ̀ tí ó gbòòrò kí o tó ṣe ìtújáde:

node --import tsx/esm --test \
  tests/unit/compression/*.test.ts \
  tests/golden-set/*.test.ts \
  tests/integration/compression-pipeline.test.ts \
  tests/unit/api/compression/compression-api.test.ts

Fífìdí RTK Múlẹ̀ Sí I

  1. Ṣàfikún tàbí ṣàfikún-ọ̀tun fáìlì JSON asẹ kan.
  2. Fi ó kéré tán àpẹẹrẹ tests[] kan tí ó fi ìhùwàsí pàtàkì náà hàn.
  3. Ṣàfikún fixture kan sí tests/unit/compression/fixtures/rtk/ fún àwọn ẹbí àṣẹ tuntun.
  4. Ṣàfikún ààbò ìṣàwárí àṣẹ nígbà tí o bá ń ṣàgbékalẹ̀ ẹ̀ka àbájáde tuntun.
  5. Ṣiṣẹ́ àwọn ẹnubodè ìjẹ́rìísí àti RTK tí ó gbòòrò.
  6. Tí asẹ náà bá jẹ́ ti iṣẹ́-àkànṣe agbègbè, commit .rtk/filters.json kí o sì tún .rtk/trust.json ṣe lẹ́yìn àyẹ̀wò nìkan.

Àwọn Ìpele Ìgbóná (v3.8.16+)

RTK ṣe àtìlẹ́yìn fún àwọn ìpele ìgbóná 3 tí ó ń ṣe pàṣípààrọ̀ láàárín bí fífúnpọ̀ ṣe lágbára tó àti ààbò. A ṣètò ìpele náà nípasẹ̀ config.intensity nínú àtòjọ ètò engine.

Àwọn Ìpele 3 Náà

Ìpele Ààlà ìgé-kúrú Ìfipamọ́ token Ewu Ó dára jù fún
minimal ìlà 24 fún abala kọ̀ọ̀kan ~20-40% Kéré púpọ̀ Production pẹ̀lú context tó ṣe pàtàkì
standard (àkọ́kọ́) ìlà 24 fún abala kọ̀ọ̀kan ~50-70% Kéré Àwọn ìgbà coding ojoojúmọ́
aggressive ìlà 16 fún abala kọ̀ọ̀kan ~70-90% Àárín Àwọn ìgbà gígùn, ìfipamọ́ tó pọ̀ jù

Ibi Tí Ìgé-kúrú Ti Ń Ṣẹlẹ̀

Ààlà ìgé-kúrú náà kan lineFilter.ts:

// Láti inú open-sse/services/compression/engines/rtk/index.ts:329-330
config.intensity === "aggressive" ? 16 : 24,
config.intensity === "aggressive" ? 16 : 24,

A máa ń pa orí àti ìrù abala kọ̀ọ̀kan mọ́; a máa ń yọ àkóónú àárín kúrò nígbà tí ìgé-kúrú bá bẹ̀rẹ̀.

Ohun Tí Ó Dúró àti Ohun Tí A Gé Kúrò

Àkóónú minimal standard aggressive
Àwọn àṣìṣe / stack traces a pa mọ́ a pa mọ́ a pa mọ́
Àwọn ìkùnà ìdánwò a pa mọ́ a pa mọ́ a pa mọ́
Àwọn àṣìṣe build a pa mọ́ a pa mọ́ a pa mọ́
Àwọn ìdánwò tí ó kọjá (alálàyé) a pa mọ́ 🟡 a kó jọ 🟡 a kó jọ
Àbájáde ìṣe ojoojúmọ́ (àwọn log info) 🟡 a kó jọ 🟡 a kó jọ a yọ kúrò
Àwọn ọ̀pá ìlọsíwájú 🟡 a kó jọ a yọ kúrò a yọ kúrò
Àmì ìbẹ̀rẹ̀ / iṣẹ́ ọnà ASCII 🟡 a kó jọ a yọ kúrò a yọ kúrò

Yíyan Ìgbóná Tó Tọ́

                  Ṣé pípọ́nù context jẹ́ àjálù?
                  │
      ┌───────────┼───────────┐
      │           │           │
    BẸ́Ẹ̀NI       BẸ́Ẹ̀KỌ́      KÒ DÁ MI LÓJÚ
      │           │           │
      ▼           │           │
   minimal        │           │
      │           │           │
      │           ▼           ▼
      │      Báwo ni throughput Ṣe àdánwò `standard` kọ́kọ́
      │      ṣe ṣe pàtàkì tó?  (ó ṣiṣẹ́ fún 80% àwọn
      │           │          ọ̀ràn)
      │      ┌────┴────┐
      │      │         │
      │     KÉRÉ      GÍGA
      │      │         │
      │      ▼         ▼
      │   standard   aggressive
      │      │         │
      └──────┴─────────┘

Ṣíṣètò Ìgbóná

Fún combo kọ̀ọ̀kan (nínú àtòjọ ètò combo):

{
  "combo": "my-coding-combo",
  "routing": {/* ... */},
  "compression": {
    "engine": "rtk",
    "intensity": "aggressive"
  }
}

Nípasẹ̀ ìṣètò:

rtkEngine (@omniroute/open-sse/services/compression/engines/rtk) jẹ́ CompressionEngine kò sì ní method updateConfig. Ṣàfikún-ọ̀tun àtòjọ ètò engine nípasẹ̀ olùrànlọ́wọ́ registry dípò rẹ̀:

import { updateEngineConfig } from "@omniroute/open-sse/services/compression/engines/registry";

updateEngineConfig("rtk", { intensity: "aggressive" });

Ṣíṣe Ìjẹ́rìísí Ipa Náà

Lo Ẹnubodè Ìjẹ́rìísí (wo ìsàlẹ̀) láti jẹ́rìí pé asẹ rẹ ní ààbò ní ìgbóná tí o yàn:

import { runRtkFilterTests } from "omniroute/compression/engines/rtk/verify";

const result = runRtkFilterTests({ intensity: "aggressive" });
if (!result.passed) {
  console.error("Àwọn asẹ kùnà ní ìgbóná aggressive");
}

Ìdàgbàsókè Àlẹ́mọ́ Àkànṣe (v3.8.16+)

Àkójọpọ̀ fáìlì engines/rtk/filters/àwọn fáìlì JSON àlẹ́mọ́ tí a ti kọ sínú rẹ̀ tó ju 49 lọ. O lè fi tìrẹ kún un láti fún àbájáde láti àwọn irinṣẹ́ àkànṣe tí àwọn àtẹ̀jáde àìyípadà kò kárí pọ̀.

Ìlànà Àlẹ́mọ́ (Zod)

{
  "id": "string",                      // Dandan. Ohun ìdánimọ̀ àlẹ́mọ́ (kebab-case, fún àpẹẹrẹ, "python-traceback")
  "label": "string",                   // Dandan. Orúkọ àlẹ́mọ́ tí ènìyàn lè kà
  "description": "string",             // Àṣàyàn (àìyípadà: ""). Àpèjúwe kúkúrú nípa ohun tí àlẹ́mọ́ ń ṣe
  "category": "git|test|build|shell|docker|package|infra|cloud|generic",
  "priority": number,                  // Àṣàyàn (0-100, àìyípadà: 50). Ìtòlẹ́sẹẹsẹ ìṣiṣẹ́ (èyí tó ga jù ni yóò kọ́kọ́ ṣiṣẹ́)
  "match": {
    "commands": ["string"],            // Àwọn orúkọ àṣẹ láti bá mu (fún àpẹẹrẹ, "python", "pytest")
    "patterns": ["string"],            // Àwọn àpẹẹrẹ regex láti bá àbájáde mu
    "outputTypes": ["string"]          // Àwọn ẹ̀ka àbájáde tí a ṣàwárí (fún àpẹẹrẹ, "test-failure")
  },
  "rules": {
    "stripAnsi": boolean,              // Àṣàyàn (àìyípadà: false). Yọ àwọn kóòdù àwọ̀ ANSI kúrò
    "replace": [                       // Àwọn ìlànà wíwá-ati-ríròpò (àìyípadà: [])
      { "pattern": "regex", "replacement": "..." }
    ],
    "matchOutput": [                   // Dáwọ́ dúró lẹ́sẹ̀kẹsẹ̀ nígbà tí àpẹẹrẹ bá bá mu (àìyípadà: [])
      {
        "pattern": "regex",
        "message": "short summary",
        "unless": "regex"              // Foju kọ ọ́ bí àpẹẹrẹ yìí bá bá mu
      }
    ],
    "includePatterns": ["string"],     // Àwọn ìlà láti dá sí (àwọn àpẹẹrẹ regex, àìyípadà: [])
    "dropPatterns": ["string"],        // Àwọn ìlà láti yọ kúrò (àwọn àpẹẹrẹ regex, àìyípadà: [])
    "collapsePatterns": ["string"],    // Àwọn ìlà láti ṣopọ̀ sí ìfarahàn ẹyọ kan (àìyípadà: [])
    "deduplicate": boolean,            // Àṣàyàn (àìyípadà: false). Yọ àwọn ìlà àdàkọ kúrò
    "truncateLineAt": number,          // Àṣàyàn (àìyípadà: 0). Gé àwọn ìlà kúrú sí iye àkọsílẹ̀ tó pọ̀ jù
    "maxLines": number,                // Àṣàyàn (àìyípadà: 0). Ààlà líle lórí àpapọ̀ àwọn ìlà
    "headLines": number,               // Àṣàyàn (àìyípadà: 20). Pa àwọn ìlà N àkọ́kọ́ ti àbájáde tó bá mu mọ́
    "tailLines": number,               // Àṣàyàn (àìyípadà: 20). Pa àwọn ìlà N ìkẹyìn ti àbájáde tó bá mu mọ́
    "onEmpty": "string",               // Àṣàyàn (àìyípadà: ""). Ìfiránṣẹ́ àfidípò bí a bá yọ gbogbo ìlà kúrò
    "filterStderr": boolean            // Àṣàyàn (àìyípadà: false). Tún ṣe àlẹ́mọ́ àbájáde stderr
  },
  "preserve": {
    "errorPatterns": ["string"],       // Àwọn àpẹẹrẹ tí a gbọ́dọ̀ máa pa mọ́ ní gbogbo ìgbà (àìyípadà: [])
    "summaryPatterns": ["string"]      // Àwọn àpẹẹrẹ fún ìlà àkótán ìkẹyìn (àìyípadà: [])
  },
  "tests": [                           // Àwọn àyẹ̀wò inú fáìlì fún ìjẹ́rìísí (àìyípadà: [])
    {
      "name": "string",               // Dandan. Orúkọ àyẹ̀wò
      "input": "sample output",        // Dandan. Àpẹẹrẹ ọ̀rọ̀ àgbéwọlé
      "expected": "expected output",   // Dandan. Àbájáde tí a retí lẹ́yìn fífún pọ̀
      "command": "optional command"    // Àṣàyàn. Àyíká ọ̀rọ̀ àṣẹ
    }
  ]
}

Àpẹẹrẹ: Àlẹ́mọ́ Traceback Python

{
  "id": "python-traceback",
  "label": "Python Traceback Filter",
  "description": "Compresses Python tracebacks to essential file/line locations and error type",
  "category": "test",
  "priority": 60,
  "match": {
    "commands": ["python", "python3", "pytest", "uv", "poetry"],
    "patterns": ["Traceback \\(most recent call last\\)", "Error", "Exception"],
    "outputTypes": ["error-traceback"]
  },
  "rules": {
    "stripAnsi": true,
    "includePatterns": [
      "Traceback \\(most recent call last\\)",
      "^\\s*File \".+\", line \\d+",
      "^\\s*[A-Z][a-zA-Z]+Error:",
      "^\\s*[A-Z][a-zA-Z]+Exception"
    ],
    "dropPatterns": ["site-packages/", "^\\s+[a-z_]+\\([^)]*\\)$"],
    "headLines": 5,
    "tailLines": 3,
    "maxLines": 25,
    "filterStderr": true
  },
  "preserve": {
    "errorPatterns": ["Error:", "Exception:", "Traceback"],
    "summaryPatterns": ["^[A-Z][a-zA-Z]+(?:Error|Exception):"]
  },
  "tests": [
    {
      "name": "preserves-error-type-and-location",
      "input": "Traceback (most recent call last):\n  File \"app.py\", line 42, in main\n    do_thing()\n  File \"lib/utils.py\", line 17, in helper\n    return 1 / 0\nZeroDivisionError: division by zero",
      "expected": "Traceback (most recent call last):\n  File \"app.py\", line 42, in main\n  File \"lib/utils.py\", line 17, in helper\nZeroDivisionError: division by zero",
      "command": "python app.py"
    }
  ]
}

Kíkó Àwọn Àlẹ́mọ́ Àkànṣe Wọlé

Fi fáìlì náà sí ibi tí a mọ̀:

~/.omniroute/rtk/filters/my-filter.json     # Ti ìpele olùlò
<project>/.rtk/filters/my-filter.json      # Ti ìpele iṣẹ́-àkànṣe

Àwọn àlẹ́mọ́ máa ń wọlé láìfọwọ́yí nígbà ìbẹ̀rẹ̀ nípasẹ̀ loadRtkFilters() nínú open-sse/services/compression/engines/rtk/filterLoader.ts. Olùgbéwọlé náà ń ṣàwárí àwọn àlẹ́mọ́ láti:

  • Àkójọ tí a ti kọ sínú rẹ̀: open-sse/services/compression/engines/rtk/filters/
  • Àkójọpọ̀ olùlò: ~/.omniroute/rtk/filters/
  • Àkójọpọ̀ iṣẹ́-àkànṣe: <project>/.rtk/filters/

Láti gbé àwọn àlẹ́mọ́ wọlé nípasẹ̀ ètò:

import { loadRtkFilters } from "@omniroute/open-sse/services/compression/engines/rtk/filterLoader";

// Àwọn àṣàyàn: customFiltersEnabled (gbọ́ àwọn àlẹ́mọ́ olùlò/iṣẹ́-àkànṣe wọlé, ó máa ń ṣiṣẹ́ ní àìyípadà),
// trustProjectFilters, refresh.
const filters = loadRtkFilters({ customFiltersEnabled: true });

Ìfọwọ́sí

A máa ń ṣàyẹ̀wò àwọn àlẹ́mọ́ pẹ̀lú ìlànà Zod nígbà tí a bá ń gbé wọn wọlé. Àlẹ́mọ́ tó ní ètò tí kò tọ́ kì yóò wọlé, yóò sì ṣe àkọsílẹ̀ àṣìṣe kan:

RTK_FILTER_LOADER: filter "my-filter" failed validation:
  - rules.replace.0.pattern: Invalid regex
  - match.commands: must not be empty

Láti fọwọ́sí gbogbo àwọn àlẹ́mọ́ tí a ti fi sílẹ̀, pe runRtkFilterTests() tí a kó jáde láti open-sse/services/compression/engines/rtk/verify.ts.

Àwọn Ìṣe Tó Dára Jùlọ

  1. Máa fi tests[] sínú rẹ nígbà gbogbo — wọ́n fi hàn pé àlẹ́mọ́ rẹ ń ṣiṣẹ́, wọ́n sì ń dènà ìpadàsẹ́yìn
  2. Lo matchOutput fún àwọn ìjáde kúkúrú — bí ìlà kan ṣoṣo bá ti sọ gbogbo ohun tó yẹ, fi í rọ́pò gbogbo búlọ́ọ̀kù náà
  3. Yan keep dípò strip — àwọn òfin “pa á mọ́ nígbà gbogbo” tí ó ṣe kedere láìṣàṣìṣe ju “yọ ọ́ kúrò nígbà gbogbo” lọ
  4. Ṣe àdánwò ní gbogbo àwọn ìpele líle mẹ́taminimal kò gbọ́dọ̀ ṣe ìyípadà kankan, aggressive sì gbọ́dọ̀ ṣì pa àwọn àṣìṣe mọ́
  5. Lo pápá unless — dáàbò bo àwọn ìjáde kúkúrú pẹ̀lú “má ṣe mú un ṣiṣẹ́ bí X bá wà”

Ìmúpadàbọ̀sípò Àbájáde Aise & Ẹnu-ọ̀nà Ìjẹ́rìísí

Nígbà tí RTK bá fún àbájáde pọ̀ lọ́nà líle, o lè mú ọ̀rọ̀ ìpilẹ̀ padàbọ̀sípò fún ìṣàwárí àṣìṣe, àyẹ̀wò, tàbí àtúnṣe ìṣiṣẹ́.

Bí Ìmúpadàbọ̀sípò Àbájáde Aise Ṣe Ń Ṣiṣẹ́

Àbájáde ìpilẹ̀ (10K tokens)
        │
        ▼
Ìfúnpọ̀ RTK (pẹ̀lú rawOutput.enabled=true)
        │
        ├─▶ Àbájáde tí a fún pọ̀ (2K tokens)  ──▶ sí LLM
        │
        └─▶ Àbájáde ìpilẹ̀ (10K tokens)       ──▶ tí a fi pamọ́ sínú DB
                                                  (tí a so mọ́ ọn nípasẹ̀ request_id)

Ṣíṣiṣẹ́ Ìfipamọ́ Àbájáde Aise

Fún ìbéèrè kọ̀ọ̀kan (nínú àtòpọ̀ ìṣètò):

{
  "compression": {
    "engine": "rtk",
    "intensity": "aggressive",
    "rawOutput": {
      "enabled": true,
      "maxBytes": 1048576 // Ààlà 1MB
    }
  }
}

Àìròtẹ́lẹ̀: rawOutput.enabled: false (ń dín ibi ìfipamọ́ kù).

Iye Owó Ìfipamọ́

Fún ìbéèrè kọ̀ọ̀kan Ààlà 1MB Ààlà 10MB
Àárín àbájáde tí a fún pọ̀ ~5KB ~5KB
Àbájáde aise tí a fi pamọ́ ~50-500KB ~500KB-5MB
Pẹ̀lú ìbéèrè 1000/ọjọ́ 50-500MB/ọjọ́ 500MB-5GB/ọjọ́

Ìmọ̀ràn: Ṣí àbájáde aise ṣiṣẹ́ fún àwọn àsìkò ìṣàwárí àṣìṣe tàbí àyẹ̀wò àpẹẹrẹ nìkan, kì í ṣe ní gbogbo ìgbà.

Mímú Èyí Tó Jẹ́ Ìpilẹ̀ Padàbọ̀sípò

import { readRtkRawOutput } from "omniroute/compression/engines/rtk/rawOutput";

const raw = readRtkRawOutput(pointerId); // pointerId láti àwọn ìṣirò ìfúnpọ̀
if (raw) {
  console.log("Original output:", raw);
}

A máa dá pointerId padà nínú CompressionStats.rtkRawOutputPointers[] lẹ́yìn ìfúnpọ̀. Wo open-sse/services/compression/engines/rtk/rawOutput.ts:102 fún ìbuwọ́lù iṣẹ́ náà.

Ẹnu-ọ̀nà Ìjẹ́rìísí

Ìjẹ́rìísí Àlẹ̀mọ́ RTK (open-sse/services/compression/engines/rtk/verify.ts) ń fìdí gbogbo àlẹ̀mọ́ múlẹ̀ ní ìbámu pẹ̀lú tests[] wọn, ó sì ń rí i dájú pé ìhùwàsí tọ̀nà ní gbogbo àwọn ìpele agbára mẹ́ta.

Pe runRtkFilterTests() láti ṣe ìjẹ́rìísí:

import { runRtkFilterTests } from "open-sse/services/compression/engines/rtk/verify";

const result = runRtkFilterTests();
console.log(`Passed: ${result.outcomes.filter((o) => o.passed).length}`);
console.log(`Failed: ${result.outcomes.filter((o) => !o.passed).length}`);
if (!result.passed) {
  console.error("Filters failed verification");
  result.outcomes
    .filter((o) => !o.passed)
    .forEach((o) => {
      console.error(
        `  - ${o.filterId} / ${o.testName}: expected "${o.expected}", got "${o.actual}"`
      );
    });
}

Ohun tí ó ń fìdí rẹ̀ múlẹ̀:

  1. Gbogbo àlẹ̀mọ́ máa ń kojọpọ̀, ó sì ń kọjá ìjẹ́rìísí schema
  2. Gbogbo àkọsílẹ̀ tests[] máa ń mú àbájáde tí a retí jáde
  3. Agbára minimal kì í ṣe ìyípadà kankan (ó ń pa ti ìpilẹ̀ mọ́, ó sì ń lo àwọn àlẹ̀mọ́ ìgbékalẹ̀ nìkan)
  4. Agbára aggressive ń pa àwọn àṣìṣe, àwọn ìkùnà ìdánwò, àti àwọn stack trace mọ́
  5. Àbájáde tí a fún pọ̀ kì í tóbi ju ìwọlé ìpilẹ̀ lọ láé
  • Orísun: open-sse/services/compression/engines/rtk/ (fáìlì 63, ~70KB)

  • Ṣáájú pípọ̀ ìyípadà àlẹ̀mọ́ kan pọ̀ — rí i dájú nígbà gbogbo pé àwọn ìdánwò kọjá

  • Lẹ́yìn ìgbéga engine RTK — schema lè ti yí padà

  • Léraléra nínú àbójútó — èyí ń dáàbò bo lòdì sí yíyọ kúrò ní àwọn fixture ìdánwò

  • Nígbà fífi irinṣẹ́ tuntun tàbí ìdílé command kún un — èyí ń fi hàn pé àlẹ̀mọ́ tuntun náà ń ṣiṣẹ́


Wo Pẹ̀lú

  • COMPRESSION_GUIDE.md — Àkíyèsí kíkún nípa ìṣàn-iṣẹ́ fún ìfúnpọ̀
  • COMPRESSION_ENGINES.md — Àkọsílẹ̀ ẹ̀rọ àti àwọn ẹ̀rọ tí a ti kọ sínú rẹ̀
  • EXTENDING_COMPRESSION.md — Àwọn ẹ̀rọ àdáni, àkójọpọ̀ èdè, àwọn ìṣàn-iṣẹ́ tí a tò léra
  • Orísun: open-sse/services/compression/engines/rtk/ (fáìlì 63, ~70KB)