mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-09-16 03:42:21 +03:00
Landed with the design call resolved per the owner's pick — **option 1**: the synced store is now endpoint-agnostic (persistDiscoveredModels and managedModelImport no longer drop non-chat models at write time), and chat selectability moved to read time (auto-pool expansion in autoStrategy applies filterChatSelectableModels; the models-route projection already had its chatOnly filter). Your discovery test now passes end-to-end (3/3): /api/show capabilities persist per connection and image/embedding requests route through the advertising host. Reconciliation notes: conflicted areas merged onto the current tip (adobe discovery import, requestedModel preflight signature, resolvedProvider fast-path coexists with the synced-route override — explicit resolution wins); carried base-red drains (#10055 memoization, #11071 test variants) dropped as already-landed; the managed-model-import exclusion test was propagated to the new contract (image/video models persist; the read filter still hides them from chat pickers — pinned by a new assertion). Full battery: 205/206 focused (the one red is a confirmed periodic-timer timing flake on the loaded devbox — 20/20 isolated), autoCombo vitest 30/30, combo suites 46/46, gates + typecheck clean. Thank you @yourspraveen — the capability probe + routing design was right; it just needed the store contract opened up. Fixes #11087.
103 lines
3.1 KiB
JSON
103 lines
3.1 KiB
JSON
{
|
|
"language": "it",
|
|
"category": "structural",
|
|
"rules": [
|
|
{
|
|
"name": "it_purpose",
|
|
"pattern": "\\b(?:al fine di|allo scopo di|con l'obiettivo di|in modo da poter|in modo da|così da|in maniera tale da)\\b\\s*",
|
|
"replacement": "per ",
|
|
"context": "all",
|
|
"category": "structural",
|
|
"minIntensity": "lite"
|
|
},
|
|
{
|
|
"name": "it_causal",
|
|
"pattern": "\\b(?:a causa del fatto che|per il fatto che|dal momento che|visto che|dato che|in quanto)\\b\\s*",
|
|
"replacement": "perché ",
|
|
"context": "all",
|
|
"category": "structural",
|
|
"minIntensity": "lite"
|
|
},
|
|
{
|
|
"name": "it_connectors",
|
|
"pattern": "\\b(?:inoltre|in aggiunta|per di più|d'altra parte|d'altro canto|oltre a ciò)\\b[,]?\\s*",
|
|
"replacement": "anche ",
|
|
"context": "all",
|
|
"category": "structural",
|
|
"minIntensity": "lite"
|
|
},
|
|
{
|
|
"name": "it_emphasis",
|
|
"pattern": "\\b(?:molto|davvero|veramente|estremamente|parecchio|piuttosto|abbastanza|super)\\s+(?=[a-zàèéìòùA-Z])",
|
|
"replacement": "",
|
|
"context": "all",
|
|
"category": "structural",
|
|
"minIntensity": "full"
|
|
},
|
|
{
|
|
"name": "it_redundant_phrasing",
|
|
"pattern": "\\bnel caso in cui\\b",
|
|
"replacement": "se",
|
|
"context": "all",
|
|
"category": "structural",
|
|
"minIntensity": "lite"
|
|
},
|
|
{
|
|
"name": "it_time_redundancy",
|
|
"pattern": "\\b(?:nel momento in cui|nell'istante in cui|nel periodo in cui)\\b",
|
|
"replacement": "quando",
|
|
"context": "all",
|
|
"category": "structural",
|
|
"minIntensity": "lite"
|
|
},
|
|
{
|
|
"name": "it_place_redundancy",
|
|
"pattern": "\\b(?:all'interno di|nell'ambito di|nel contesto di)\\b",
|
|
"replacement": "in",
|
|
"context": "all",
|
|
"category": "structural",
|
|
"minIntensity": "lite"
|
|
},
|
|
{
|
|
"name": "it_recommendation",
|
|
"pattern": "\\b(?:ti (?:consiglierei|consiglio|suggerirei|suggerisco) di|sarebbe (?:meglio|opportuno|consigliabile)|converrebbe)\\b\\s*",
|
|
"replacement": "usa ",
|
|
"context": "assistant",
|
|
"category": "structural",
|
|
"minIntensity": "full"
|
|
},
|
|
{
|
|
"name": "it_possibility",
|
|
"pattern": "\\b(?:è possibile che|potrebbe essere che|può darsi che)\\b\\s*",
|
|
"replacement": "forse ",
|
|
"context": "all",
|
|
"category": "structural",
|
|
"minIntensity": "full"
|
|
},
|
|
{
|
|
"name": "it_necessity",
|
|
"pattern": "\\b(?:è necessario che|occorre che|bisogna che|è indispensabile che)\\b\\s*",
|
|
"replacement": "serve che ",
|
|
"context": "all",
|
|
"category": "structural",
|
|
"minIntensity": "lite"
|
|
},
|
|
{
|
|
"name": "it_conclusion",
|
|
"pattern": "\\b(?:in conclusione|per concludere|riassumendo|in sintesi|tirando le somme)\\b[,:]?\\s*",
|
|
"replacement": "",
|
|
"context": "assistant",
|
|
"category": "structural",
|
|
"minIntensity": "full"
|
|
},
|
|
{
|
|
"name": "it_double_negation",
|
|
"pattern": "\\bnon è (?:possibile|fattibile) (?:non |)\\b",
|
|
"replacement": "non si può ",
|
|
"context": "all",
|
|
"category": "structural",
|
|
"minIntensity": "full"
|
|
}
|
|
]
|
|
}
|