Commit 0f43215
committed
fix(mcp): keep a legacy server row from blanking the whole server list
The server-list response validated transport/authType/connectionStatus with
strict enums, but those columns are free text and can hold legacy values
(e.g. transport 'http'/'sse' from before the streamable-http consolidation,
including rows copied verbatim by workspace fork). Since the client strict-
parses the whole array with retry:false, a single off-enum row blanked the
entire workspace's MCP list.
- Tolerate off-enum values in the response via Zod .catch() (request bodies
stay strict): transport -> streamable-http, authType/connectionStatus -> undefined
- Stop the workspace-fork copy from propagating legacy transport values
- Reset connection status on a headers->OAuth flip in the create/upsert path,
mirroring the update path (kills a false "connected" state)
- Drop the positive tool cache on OAuth-pending in bulk discovery, matching
the single-server path (no stale tools after re-auth is required)1 parent bd636d4 commit 0f43215
4 files changed
Lines changed: 43 additions & 7 deletions
File tree
- apps/sim
- ee/workspace-forking/lib/copy
- lib
- api/contracts
- mcp
- orchestration
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
395 | 395 | | |
396 | 396 | | |
397 | 397 | | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
398 | 401 | | |
399 | 402 | | |
400 | 403 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
29 | | - | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
30 | 35 | | |
31 | 36 | | |
32 | 37 | | |
| |||
36 | 41 | | |
37 | 42 | | |
38 | 43 | | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
39 | 54 | | |
40 | 55 | | |
41 | 56 | | |
| |||
98 | 113 | | |
99 | 114 | | |
100 | 115 | | |
101 | | - | |
102 | | - | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
103 | 120 | | |
104 | 121 | | |
105 | 122 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
169 | 169 | | |
170 | 170 | | |
171 | 171 | | |
172 | | - | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
173 | 176 | | |
174 | 177 | | |
175 | 178 | | |
| |||
191 | 194 | | |
192 | 195 | | |
193 | 196 | | |
194 | | - | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
195 | 201 | | |
196 | 202 | | |
| 203 | + | |
197 | 204 | | |
198 | 205 | | |
199 | 206 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
760 | 760 | | |
761 | 761 | | |
762 | 762 | | |
763 | | - | |
| 763 | + | |
| 764 | + | |
| 765 | + | |
764 | 766 | | |
765 | 767 | | |
766 | 768 | | |
767 | | - | |
| 769 | + | |
| 770 | + | |
| 771 | + | |
| 772 | + | |
| 773 | + | |
| 774 | + | |
| 775 | + | |
| 776 | + | |
768 | 777 | | |
769 | 778 | | |
770 | 779 | | |
| |||
0 commit comments