Commit 29d33eb
committed
auto mode: legacy-only discover advertisement falls back to initialize
A server that answers server/discover but advertises no modern version
in supportedVersions (go-sdk's default stateful streamable server does
this) previously made adopt() raise 'No mutually supported modern
protocol version'. On the old schema this path was unreachable by
accident: the reply lacked the then-required body serverInfo, failed
validation, and fell into the unparseable-result fallback. Making
serverInfo optional exposed the raise.
Treat the reply as what it is, an explicit legacy advertisement, and
run the initialize handshake, matching the -32022-with-legacy-versions
branch directly above and the behavior of both the typescript and go
clients. adopt() itself stays strict for direct prior_discover use.1 parent 34ab5e4 commit 29d33eb
2 files changed
Lines changed: 27 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
13 | | - | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
14 | 19 | | |
15 | 20 | | |
16 | 21 | | |
| |||
89 | 94 | | |
90 | 95 | | |
91 | 96 | | |
92 | | - | |
93 | | - | |
| 97 | + | |
| 98 | + | |
94 | 99 | | |
95 | 100 | | |
96 | 101 | | |
97 | 102 | | |
98 | 103 | | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
99 | 112 | | |
100 | 113 | | |
101 | 114 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
121 | 121 | | |
122 | 122 | | |
123 | 123 | | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
124 | 134 | | |
125 | 135 | | |
126 | 136 | | |
| |||
0 commit comments