Commit 2a381da
committed
Keep the outer request's input_responses out of nested resource reads
ctx.read_resource passed the handler's own Context into the nested resource
template, so on the outer request's retry the template saw input_responses
and request_state addressed to the outer handler — with a colliding key a
write-once template would silently consume an answer to a different
question. The continuation payload belongs to the wire request's target
dispatch only, so nested invocations now use Context._nested_invocation():
same request infrastructure, no input_responses/request_state — a nested
template always behaves as round one, making ctx.read_resource's
raise-on-input-required contract deterministic across rounds. The explicit
forwarding path (MCPServer.read_resource(uri, context)) is unchanged: there
the caller deliberately re-addresses the payload.1 parent 2738181 commit 2a381da
2 files changed
Lines changed: 55 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
89 | 89 | | |
90 | 90 | | |
91 | 91 | | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
92 | 102 | | |
93 | 103 | | |
94 | 104 | | |
| |||
104 | 114 | | |
105 | 115 | | |
106 | 116 | | |
107 | | - | |
108 | | - | |
109 | | - | |
110 | | - | |
111 | | - | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
112 | 125 | | |
113 | 126 | | |
114 | 127 | | |
| |||
122 | 135 | | |
123 | 136 | | |
124 | 137 | | |
125 | | - | |
| 138 | + | |
126 | 139 | | |
127 | 140 | | |
128 | 141 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
| 30 | + | |
30 | 31 | | |
31 | 32 | | |
32 | 33 | | |
| |||
2105 | 2106 | | |
2106 | 2107 | | |
2107 | 2108 | | |
| 2109 | + | |
| 2110 | + | |
| 2111 | + | |
| 2112 | + | |
| 2113 | + | |
| 2114 | + | |
| 2115 | + | |
| 2116 | + | |
| 2117 | + | |
| 2118 | + | |
| 2119 | + | |
| 2120 | + | |
| 2121 | + | |
| 2122 | + | |
| 2123 | + | |
| 2124 | + | |
| 2125 | + | |
| 2126 | + | |
| 2127 | + | |
| 2128 | + | |
| 2129 | + | |
| 2130 | + | |
| 2131 | + | |
| 2132 | + | |
| 2133 | + | |
| 2134 | + | |
| 2135 | + | |
| 2136 | + | |
| 2137 | + | |
| 2138 | + | |
| 2139 | + | |
| 2140 | + | |
| 2141 | + | |
| 2142 | + | |
| 2143 | + | |
2108 | 2144 | | |
2109 | 2145 | | |
2110 | 2146 | | |
| |||
0 commit comments