Commit 1d605b7
committed
feat: implement multi-route inference proxy support
- Proto: add InferenceModelEntry message with alias/provider/model fields;
add repeated models field to ClusterInferenceConfig, Set/Get request/response
- Server: add upsert_multi_model_route() for storing multiple model entries
under a single route slot; update resolve_route_by_name() to expand
multi-model configs into per-alias ResolvedRoute entries
- Router: add select_route() with alias-first, protocol-fallback strategy;
add model_hint parameter to proxy_with_candidates() variants
- Sandbox proxy: extract model field from JSON body as routing hint
- Tests: 7 new tests covering select_route, multi-model resolution, and
bundle expansion; all 291 existing tests continue to pass
Signed-off-by: Lyle Hopkins <lyle@cosmicnetworks.com>1 parent dd2be9a commit 1d605b7
5 files changed
Lines changed: 445 additions & 29 deletions
File tree
- crates
- openshell-router
- src
- tests
- openshell-sandbox/src
- openshell-server/src
- proto
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
39 | 61 | | |
40 | 62 | | |
41 | 63 | | |
| |||
57 | 79 | | |
58 | 80 | | |
59 | 81 | | |
60 | | - | |
61 | | - | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
62 | 86 | | |
63 | 87 | | |
64 | 88 | | |
| |||
67 | 91 | | |
68 | 92 | | |
69 | 93 | | |
| 94 | + | |
70 | 95 | | |
71 | 96 | | |
72 | | - | |
73 | | - | |
74 | | - | |
| 97 | + | |
75 | 98 | | |
76 | 99 | | |
77 | 100 | | |
| |||
111 | 134 | | |
112 | 135 | | |
113 | 136 | | |
| 137 | + | |
114 | 138 | | |
115 | 139 | | |
116 | | - | |
117 | | - | |
118 | | - | |
| 140 | + | |
119 | 141 | | |
120 | 142 | | |
121 | 143 | | |
| |||
187 | 209 | | |
188 | 210 | | |
189 | 211 | | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
190 | 265 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
| 69 | + | |
69 | 70 | | |
70 | 71 | | |
71 | 72 | | |
| |||
98 | 99 | | |
99 | 100 | | |
100 | 101 | | |
| 102 | + | |
101 | 103 | | |
102 | 104 | | |
103 | 105 | | |
| |||
127 | 129 | | |
128 | 130 | | |
129 | 131 | | |
| 132 | + | |
130 | 133 | | |
131 | 134 | | |
132 | 135 | | |
| |||
160 | 163 | | |
161 | 164 | | |
162 | 165 | | |
| 166 | + | |
163 | 167 | | |
164 | 168 | | |
165 | 169 | | |
| |||
194 | 198 | | |
195 | 199 | | |
196 | 200 | | |
| 201 | + | |
197 | 202 | | |
198 | 203 | | |
199 | 204 | | |
| |||
239 | 244 | | |
240 | 245 | | |
241 | 246 | | |
| 247 | + | |
242 | 248 | | |
243 | 249 | | |
244 | 250 | | |
| |||
277 | 283 | | |
278 | 284 | | |
279 | 285 | | |
| 286 | + | |
280 | 287 | | |
281 | 288 | | |
282 | 289 | | |
| |||
332 | 339 | | |
333 | 340 | | |
334 | 341 | | |
| 342 | + | |
335 | 343 | | |
336 | 344 | | |
337 | 345 | | |
| |||
380 | 388 | | |
381 | 389 | | |
382 | 390 | | |
| 391 | + | |
383 | 392 | | |
384 | 393 | | |
385 | 394 | | |
| |||
436 | 445 | | |
437 | 446 | | |
438 | 447 | | |
| 448 | + | |
439 | 449 | | |
440 | 450 | | |
441 | 451 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
105 | 105 | | |
106 | 106 | | |
107 | 107 | | |
108 | | - | |
| 108 | + | |
109 | 109 | | |
110 | 110 | | |
111 | 111 | | |
| |||
993 | 993 | | |
994 | 994 | | |
995 | 995 | | |
| 996 | + | |
| 997 | + | |
| 998 | + | |
| 999 | + | |
| 1000 | + | |
| 1001 | + | |
996 | 1002 | | |
997 | 1003 | | |
998 | 1004 | | |
| |||
1002 | 1008 | | |
1003 | 1009 | | |
1004 | 1010 | | |
| 1011 | + | |
1005 | 1012 | | |
1006 | 1013 | | |
1007 | 1014 | | |
| |||
0 commit comments