Commit 17d1949
fix syntax issue
refactor: split output_length_guard into config/guards/structured modules
- Split monolithic output_length_guard.py into config.py, guards.py,
structured.py, and plugin.py for better modularity
- Extract 5 handler methods from 286-line tool_post_invoke (21 returns)
into named methods: _handle_mcp_content_dict, _handle_plain_string,
_handle_text_dict, _handle_mcp_list, _handle_string_list
- Extract handle_text closure into standalone _handle_text function
- Replace unnecessary binary search in _find_token_cut_point with O(1)
arithmetic (max_tokens * chars_per_token), remove the function and
max_binary_search_iterations config/validator entirely
- Fix recursion depth tracking: use explicit depth parameter instead of
fragile path.count(".") + path.count("[") estimation
- Fix LengthGuardPolicy.ellipsis default mismatch ("..." vs "\u2026")
- Fix echo_back missing docstring and incorrect return type
- Fix config.yaml max_tokens: 0 -> null for clarity
- Remove max_binary_search_iterations from README, manifest, config
- Update test imports and remove obsolete _find_token_cut_point tests
Signed-off-by: Jonathan Springer <jps@s390x.com>1 parent 76560b5 commit 17d1949
11 files changed
Lines changed: 1708 additions & 3467 deletions
File tree
- mcp-servers/python/output_schema_test_server/src/output_schema_test_server
- plugins
- output_length_guard
- tests/unit/plugins
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
| 6 | + | |
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| |||
366 | 366 | | |
367 | 367 | | |
368 | 368 | | |
| 369 | + | |
369 | 370 | | |
370 | 371 | | |
371 | 372 | | |
372 | | - | |
373 | | - | |
| 373 | + | |
374 | 374 | | |
375 | 375 | | |
376 | 376 | | |
| |||
1094 | 1094 | | |
1095 | 1095 | | |
1096 | 1096 | | |
| 1097 | + | |
1097 | 1098 | | |
1098 | 1099 | | |
1099 | 1100 | | |
1100 | | - | |
1101 | | - | |
| 1101 | + | |
1102 | 1102 | | |
1103 | 1103 | | |
1104 | 1104 | | |
| 1105 | + | |
1105 | 1106 | | |
1106 | 1107 | | |
1107 | 1108 | | |
1108 | | - | |
1109 | | - | |
| 1109 | + | |
1110 | 1110 | | |
1111 | 1111 | | |
1112 | 1112 | | |
| 1113 | + | |
1113 | 1114 | | |
1114 | 1115 | | |
1115 | 1116 | | |
1116 | | - | |
1117 | | - | |
| 1117 | + | |
1118 | 1118 | | |
1119 | 1119 | | |
1120 | 1120 | | |
| |||
2638 | 2638 | | |
2639 | 2639 | | |
2640 | 2640 | | |
| 2641 | + | |
2641 | 2642 | | |
2642 | 2643 | | |
2643 | 2644 | | |
2644 | | - | |
2645 | | - | |
| 2645 | + | |
2646 | 2646 | | |
2647 | 2647 | | |
2648 | 2648 | | |
| |||
5398 | 5398 | | |
5399 | 5399 | | |
5400 | 5400 | | |
| 5401 | + | |
5401 | 5402 | | |
5402 | 5403 | | |
5403 | 5404 | | |
5404 | | - | |
5405 | | - | |
| 5405 | + | |
5406 | 5406 | | |
5407 | 5407 | | |
5408 | 5408 | | |
| |||
6574 | 6574 | | |
6575 | 6575 | | |
6576 | 6576 | | |
| 6577 | + | |
6577 | 6578 | | |
6578 | 6579 | | |
6579 | 6580 | | |
6580 | | - | |
6581 | | - | |
| 6581 | + | |
6582 | 6582 | | |
6583 | 6583 | | |
6584 | 6584 | | |
| 6585 | + | |
6585 | 6586 | | |
6586 | 6587 | | |
6587 | 6588 | | |
6588 | | - | |
6589 | | - | |
| 6589 | + | |
6590 | 6590 | | |
6591 | 6591 | | |
6592 | 6592 | | |
| |||
6836 | 6836 | | |
6837 | 6837 | | |
6838 | 6838 | | |
| 6839 | + | |
6839 | 6840 | | |
6840 | 6841 | | |
6841 | 6842 | | |
6842 | | - | |
6843 | | - | |
| 6843 | + | |
6844 | 6844 | | |
6845 | 6845 | | |
6846 | 6846 | | |
| 6847 | + | |
6847 | 6848 | | |
6848 | 6849 | | |
6849 | 6850 | | |
6850 | | - | |
6851 | | - | |
| 6851 | + | |
6852 | 6852 | | |
6853 | 6853 | | |
6854 | 6854 | | |
| 6855 | + | |
6855 | 6856 | | |
6856 | 6857 | | |
6857 | 6858 | | |
6858 | | - | |
6859 | | - | |
| 6859 | + | |
6860 | 6860 | | |
6861 | 6861 | | |
6862 | 6862 | | |
| |||
10794 | 10794 | | |
10795 | 10795 | | |
10796 | 10796 | | |
| 10797 | + | |
10797 | 10798 | | |
10798 | 10799 | | |
10799 | 10800 | | |
10800 | | - | |
10801 | | - | |
| 10801 | + | |
10802 | 10802 | | |
10803 | 10803 | | |
10804 | 10804 | | |
| |||
11076 | 11076 | | |
11077 | 11077 | | |
11078 | 11078 | | |
| 11079 | + | |
11079 | 11080 | | |
11080 | 11081 | | |
11081 | 11082 | | |
11082 | | - | |
11083 | | - | |
| 11083 | + | |
11084 | 11084 | | |
11085 | 11085 | | |
11086 | 11086 | | |
| |||
11204 | 11204 | | |
11205 | 11205 | | |
11206 | 11206 | | |
| 11207 | + | |
11207 | 11208 | | |
11208 | 11209 | | |
11209 | 11210 | | |
11210 | | - | |
11211 | | - | |
| 11211 | + | |
11212 | 11212 | | |
11213 | 11213 | | |
11214 | 11214 | | |
| 11215 | + | |
11215 | 11216 | | |
11216 | 11217 | | |
11217 | 11218 | | |
11218 | | - | |
11219 | | - | |
| 11219 | + | |
11220 | 11220 | | |
11221 | 11221 | | |
11222 | 11222 | | |
| 11223 | + | |
11223 | 11224 | | |
11224 | 11225 | | |
11225 | 11226 | | |
11226 | | - | |
11227 | | - | |
| 11227 | + | |
11228 | 11228 | | |
11229 | 11229 | | |
11230 | 11230 | | |
| 11231 | + | |
11231 | 11232 | | |
11232 | 11233 | | |
11233 | 11234 | | |
11234 | | - | |
11235 | | - | |
| 11235 | + | |
11236 | 11236 | | |
11237 | 11237 | | |
11238 | 11238 | | |
| 11239 | + | |
11239 | 11240 | | |
11240 | 11241 | | |
11241 | 11242 | | |
11242 | | - | |
11243 | | - | |
| 11243 | + | |
11244 | 11244 | | |
11245 | 11245 | | |
11246 | 11246 | | |
| |||
11294 | 11294 | | |
11295 | 11295 | | |
11296 | 11296 | | |
| 11297 | + | |
11297 | 11298 | | |
11298 | 11299 | | |
11299 | 11300 | | |
11300 | | - | |
11301 | | - | |
| 11301 | + | |
11302 | 11302 | | |
11303 | 11303 | | |
11304 | 11304 | | |
| 11305 | + | |
11305 | 11306 | | |
11306 | 11307 | | |
11307 | 11308 | | |
11308 | | - | |
11309 | | - | |
| 11309 | + | |
11310 | 11310 | | |
11311 | 11311 | | |
11312 | 11312 | | |
| |||
Lines changed: 15 additions & 21 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| 13 | + | |
13 | 14 | | |
14 | 15 | | |
15 | 16 | | |
16 | | - | |
| 17 | + | |
17 | 18 | | |
| 19 | + | |
18 | 20 | | |
19 | 21 | | |
20 | 22 | | |
| |||
79 | 81 | | |
80 | 82 | | |
81 | 83 | | |
82 | | - | |
83 | | - | |
84 | | - | |
| 84 | + | |
85 | 85 | | |
86 | 86 | | |
87 | 87 | | |
88 | | - | |
89 | | - | |
90 | | - | |
| 88 | + | |
91 | 89 | | |
92 | 90 | | |
93 | 91 | | |
| |||
122 | 120 | | |
123 | 121 | | |
124 | 122 | | |
| 123 | + | |
125 | 124 | | |
126 | 125 | | |
127 | 126 | | |
| |||
206 | 205 | | |
207 | 206 | | |
208 | 207 | | |
209 | | - | |
210 | | - | |
211 | 208 | | |
212 | | - | |
| 209 | + | |
| 210 | + | |
213 | 211 | | |
214 | 212 | | |
215 | 213 | | |
216 | 214 | | |
217 | 215 | | |
| 216 | + | |
218 | 217 | | |
219 | 218 | | |
220 | | - | |
221 | | - | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
222 | 222 | | |
223 | 223 | | |
224 | | - | |
225 | | - | |
226 | | - | |
| 224 | + | |
227 | 225 | | |
228 | 226 | | |
229 | 227 | | |
| |||
261 | 259 | | |
262 | 260 | | |
263 | 261 | | |
264 | | - | |
265 | | - | |
266 | | - | |
| 262 | + | |
267 | 263 | | |
268 | 264 | | |
269 | 265 | | |
270 | 266 | | |
271 | 267 | | |
272 | 268 | | |
273 | 269 | | |
274 | | - | |
275 | | - | |
276 | | - | |
| 270 | + | |
277 | 271 | | |
278 | 272 | | |
279 | 273 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
434 | 434 | | |
435 | 435 | | |
436 | 436 | | |
437 | | - | |
| 437 | + | |
438 | 438 | | |
439 | 439 | | |
440 | 440 | | |
| |||
445 | 445 | | |
446 | 446 | | |
447 | 447 | | |
448 | | - | |
449 | | - | |
450 | | - | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
451 | 451 | | |
452 | 452 | | |
453 | 453 | | |
454 | 454 | | |
455 | | - | |
| 455 | + | |
456 | 456 | | |
457 | | - | |
| 457 | + | |
458 | 458 | | |
459 | 459 | | |
460 | 460 | | |
461 | 461 | | |
462 | 462 | | |
463 | | - | |
464 | 463 | | |
465 | 464 | | |
466 | 465 | | |
| |||
0 commit comments