@yolk-sdk/emulators 0.1.0-canary.96

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (333) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +2135 -0
  3. package/dist/anthropic.d.mts +269 -0
  4. package/dist/anthropic.d.mts.map +1 -0
  5. package/dist/anthropic.mjs +177 -0
  6. package/dist/anthropic.mjs.map +1 -0
  7. package/dist/chat-completions.d.mts +288 -0
  8. package/dist/chat-completions.d.mts.map +1 -0
  9. package/dist/chat-completions.mjs +451 -0
  10. package/dist/chat-completions.mjs.map +1 -0
  11. package/dist/codex.d.mts +265 -0
  12. package/dist/codex.d.mts.map +1 -0
  13. package/dist/codex.mjs +199 -0
  14. package/dist/codex.mjs.map +1 -0
  15. package/dist/dropbox/api.d.mts +63 -0
  16. package/dist/dropbox/api.d.mts.map +1 -0
  17. package/dist/dropbox/api.mjs +565 -0
  18. package/dist/dropbox/api.mjs.map +1 -0
  19. package/dist/dropbox/state.d.mts +136 -0
  20. package/dist/dropbox/state.d.mts.map +1 -0
  21. package/dist/dropbox/state.mjs +209 -0
  22. package/dist/dropbox/state.mjs.map +1 -0
  23. package/dist/dropbox.d.mts +79 -0
  24. package/dist/dropbox.d.mts.map +1 -0
  25. package/dist/dropbox.mjs +124 -0
  26. package/dist/dropbox.mjs.map +1 -0
  27. package/dist/email-fixtures.d.mts +36 -0
  28. package/dist/email-fixtures.d.mts.map +1 -0
  29. package/dist/email-fixtures.mjs +1080 -0
  30. package/dist/email-fixtures.mjs.map +1 -0
  31. package/dist/email.d.mts +160 -0
  32. package/dist/email.d.mts.map +1 -0
  33. package/dist/email.mjs +608 -0
  34. package/dist/email.mjs.map +1 -0
  35. package/dist/emulator-compose.d.mts +40 -0
  36. package/dist/emulator-compose.d.mts.map +1 -0
  37. package/dist/emulator-compose.mjs +91 -0
  38. package/dist/emulator-compose.mjs.map +1 -0
  39. package/dist/emulator-http.d.mts +53 -0
  40. package/dist/emulator-http.d.mts.map +1 -0
  41. package/dist/emulator-http.mjs +117 -0
  42. package/dist/emulator-http.mjs.map +1 -0
  43. package/dist/emulator-kernel.d.mts +176 -0
  44. package/dist/emulator-kernel.d.mts.map +1 -0
  45. package/dist/emulator-kernel.mjs +413 -0
  46. package/dist/emulator-kernel.mjs.map +1 -0
  47. package/dist/fixture-route.d.mts +129 -0
  48. package/dist/fixture-route.d.mts.map +1 -0
  49. package/dist/fixture-route.mjs +257 -0
  50. package/dist/fixture-route.mjs.map +1 -0
  51. package/dist/fortnox/api.d.mts +92 -0
  52. package/dist/fortnox/api.d.mts.map +1 -0
  53. package/dist/fortnox/api.mjs +750 -0
  54. package/dist/fortnox/api.mjs.map +1 -0
  55. package/dist/fortnox/state.d.mts +533 -0
  56. package/dist/fortnox/state.d.mts.map +1 -0
  57. package/dist/fortnox/state.mjs +612 -0
  58. package/dist/fortnox/state.mjs.map +1 -0
  59. package/dist/fortnox.d.mts +128 -0
  60. package/dist/fortnox.d.mts.map +1 -0
  61. package/dist/fortnox.mjs +403 -0
  62. package/dist/fortnox.mjs.map +1 -0
  63. package/dist/gateway-evaluate-recordings.d.mts +12 -0
  64. package/dist/gateway-evaluate-recordings.d.mts.map +1 -0
  65. package/dist/gateway-evaluate-recordings.mjs +128 -0
  66. package/dist/gateway-evaluate-recordings.mjs.map +1 -0
  67. package/dist/gateway.d.mts +272 -0
  68. package/dist/gateway.d.mts.map +1 -0
  69. package/dist/gateway.mjs +400 -0
  70. package/dist/gateway.mjs.map +1 -0
  71. package/dist/github/api.d.mts +63 -0
  72. package/dist/github/api.d.mts.map +1 -0
  73. package/dist/github/api.mjs +527 -0
  74. package/dist/github/api.mjs.map +1 -0
  75. package/dist/github/state.d.mts +272 -0
  76. package/dist/github/state.d.mts.map +1 -0
  77. package/dist/github/state.mjs +303 -0
  78. package/dist/github/state.mjs.map +1 -0
  79. package/dist/github.d.mts +77 -0
  80. package/dist/github.d.mts.map +1 -0
  81. package/dist/github.mjs +180 -0
  82. package/dist/github.mjs.map +1 -0
  83. package/dist/google/calendar.d.mts +10 -0
  84. package/dist/google/calendar.d.mts.map +1 -0
  85. package/dist/google/calendar.mjs +252 -0
  86. package/dist/google/calendar.mjs.map +1 -0
  87. package/dist/google/drive.d.mts +8 -0
  88. package/dist/google/drive.d.mts.map +1 -0
  89. package/dist/google/drive.mjs +252 -0
  90. package/dist/google/drive.mjs.map +1 -0
  91. package/dist/google/gmail.d.mts +10 -0
  92. package/dist/google/gmail.d.mts.map +1 -0
  93. package/dist/google/gmail.mjs +591 -0
  94. package/dist/google/gmail.mjs.map +1 -0
  95. package/dist/google/shared.d.mts +107 -0
  96. package/dist/google/shared.d.mts.map +1 -0
  97. package/dist/google/shared.mjs +146 -0
  98. package/dist/google/shared.mjs.map +1 -0
  99. package/dist/google/state.d.mts +385 -0
  100. package/dist/google/state.d.mts.map +1 -0
  101. package/dist/google/state.mjs +496 -0
  102. package/dist/google/state.mjs.map +1 -0
  103. package/dist/google.d.mts +75 -0
  104. package/dist/google.d.mts.map +1 -0
  105. package/dist/google.mjs +210 -0
  106. package/dist/google.mjs.map +1 -0
  107. package/dist/linkedin-search/api.d.mts +45 -0
  108. package/dist/linkedin-search/api.d.mts.map +1 -0
  109. package/dist/linkedin-search/api.mjs +181 -0
  110. package/dist/linkedin-search/api.mjs.map +1 -0
  111. package/dist/linkedin-search/state.d.mts +123 -0
  112. package/dist/linkedin-search/state.d.mts.map +1 -0
  113. package/dist/linkedin-search/state.mjs +261 -0
  114. package/dist/linkedin-search/state.mjs.map +1 -0
  115. package/dist/linkedin-search.d.mts +69 -0
  116. package/dist/linkedin-search.d.mts.map +1 -0
  117. package/dist/linkedin-search.mjs +158 -0
  118. package/dist/linkedin-search.mjs.map +1 -0
  119. package/dist/mcp/api.d.mts +44 -0
  120. package/dist/mcp/api.d.mts.map +1 -0
  121. package/dist/mcp/api.mjs +557 -0
  122. package/dist/mcp/api.mjs.map +1 -0
  123. package/dist/mcp/recordings.d.mts +40 -0
  124. package/dist/mcp/recordings.d.mts.map +1 -0
  125. package/dist/mcp/recordings.mjs +2390 -0
  126. package/dist/mcp/recordings.mjs.map +1 -0
  127. package/dist/mcp/state.d.mts +71 -0
  128. package/dist/mcp/state.d.mts.map +1 -0
  129. package/dist/mcp/state.mjs +83 -0
  130. package/dist/mcp/state.mjs.map +1 -0
  131. package/dist/mcp.d.mts +84 -0
  132. package/dist/mcp.d.mts.map +1 -0
  133. package/dist/mcp.mjs +241 -0
  134. package/dist/mcp.mjs.map +1 -0
  135. package/dist/messages.d.mts +183 -0
  136. package/dist/messages.d.mts.map +1 -0
  137. package/dist/messages.mjs +532 -0
  138. package/dist/messages.mjs.map +1 -0
  139. package/dist/microsoft/api.d.mts +47 -0
  140. package/dist/microsoft/api.d.mts.map +1 -0
  141. package/dist/microsoft/api.mjs +178 -0
  142. package/dist/microsoft/api.mjs.map +1 -0
  143. package/dist/microsoft/calendar.d.mts +30 -0
  144. package/dist/microsoft/calendar.d.mts.map +1 -0
  145. package/dist/microsoft/calendar.mjs +271 -0
  146. package/dist/microsoft/calendar.mjs.map +1 -0
  147. package/dist/microsoft/drive.d.mts +36 -0
  148. package/dist/microsoft/drive.d.mts.map +1 -0
  149. package/dist/microsoft/drive.mjs +298 -0
  150. package/dist/microsoft/drive.mjs.map +1 -0
  151. package/dist/microsoft/graph.d.mts +198 -0
  152. package/dist/microsoft/graph.d.mts.map +1 -0
  153. package/dist/microsoft/graph.mjs +264 -0
  154. package/dist/microsoft/graph.mjs.map +1 -0
  155. package/dist/microsoft/mail.d.mts +48 -0
  156. package/dist/microsoft/mail.d.mts.map +1 -0
  157. package/dist/microsoft/mail.mjs +488 -0
  158. package/dist/microsoft/mail.mjs.map +1 -0
  159. package/dist/microsoft/state.d.mts +480 -0
  160. package/dist/microsoft/state.d.mts.map +1 -0
  161. package/dist/microsoft/state.mjs +625 -0
  162. package/dist/microsoft/state.mjs.map +1 -0
  163. package/dist/microsoft.d.mts +168 -0
  164. package/dist/microsoft.d.mts.map +1 -0
  165. package/dist/microsoft.mjs +483 -0
  166. package/dist/microsoft.mjs.map +1 -0
  167. package/dist/node.d.mts +47 -0
  168. package/dist/node.d.mts.map +1 -0
  169. package/dist/node.mjs +178 -0
  170. package/dist/node.mjs.map +1 -0
  171. package/dist/notion/api.d.mts +51 -0
  172. package/dist/notion/api.d.mts.map +1 -0
  173. package/dist/notion/api.mjs +507 -0
  174. package/dist/notion/api.mjs.map +1 -0
  175. package/dist/notion/state.d.mts +329 -0
  176. package/dist/notion/state.d.mts.map +1 -0
  177. package/dist/notion/state.mjs +432 -0
  178. package/dist/notion/state.mjs.map +1 -0
  179. package/dist/notion.d.mts +72 -0
  180. package/dist/notion.d.mts.map +1 -0
  181. package/dist/notion.mjs +127 -0
  182. package/dist/notion.mjs.map +1 -0
  183. package/dist/openai.d.mts +165 -0
  184. package/dist/openai.d.mts.map +1 -0
  185. package/dist/openai.mjs +141 -0
  186. package/dist/openai.mjs.map +1 -0
  187. package/dist/opencode-recordings.d.mts +7 -0
  188. package/dist/opencode-recordings.d.mts.map +1 -0
  189. package/dist/opencode-recordings.mjs +222 -0
  190. package/dist/opencode-recordings.mjs.map +1 -0
  191. package/dist/opencode.d.mts +70 -0
  192. package/dist/opencode.d.mts.map +1 -0
  193. package/dist/opencode.mjs +217 -0
  194. package/dist/opencode.mjs.map +1 -0
  195. package/dist/r2-fixtures.d.mts +36 -0
  196. package/dist/r2-fixtures.d.mts.map +1 -0
  197. package/dist/r2-fixtures.mjs +245 -0
  198. package/dist/r2-fixtures.mjs.map +1 -0
  199. package/dist/r2-guard.d.mts +43 -0
  200. package/dist/r2-guard.d.mts.map +1 -0
  201. package/dist/r2-guard.mjs +215 -0
  202. package/dist/r2-guard.mjs.map +1 -0
  203. package/dist/r2.d.mts +166 -0
  204. package/dist/r2.d.mts.map +1 -0
  205. package/dist/r2.mjs +517 -0
  206. package/dist/r2.mjs.map +1 -0
  207. package/dist/responses.d.mts +231 -0
  208. package/dist/responses.d.mts.map +1 -0
  209. package/dist/responses.mjs +556 -0
  210. package/dist/responses.mjs.map +1 -0
  211. package/dist/route-evidence.d.mts +45 -0
  212. package/dist/route-evidence.d.mts.map +1 -0
  213. package/dist/route-evidence.mjs +56 -0
  214. package/dist/route-evidence.mjs.map +1 -0
  215. package/dist/router.d.mts +93 -0
  216. package/dist/router.d.mts.map +1 -0
  217. package/dist/router.mjs +259 -0
  218. package/dist/router.mjs.map +1 -0
  219. package/dist/stateful-core.d.mts +17 -0
  220. package/dist/stateful-core.d.mts.map +1 -0
  221. package/dist/stateful-core.mjs +41 -0
  222. package/dist/stateful-core.mjs.map +1 -0
  223. package/dist/stateful-emulator.d.mts +565 -0
  224. package/dist/stateful-emulator.d.mts.map +1 -0
  225. package/dist/stateful-emulator.mjs +1228 -0
  226. package/dist/stateful-emulator.mjs.map +1 -0
  227. package/dist/stateful-secrets.d.mts +84 -0
  228. package/dist/stateful-secrets.d.mts.map +1 -0
  229. package/dist/stateful-secrets.mjs +216 -0
  230. package/dist/stateful-secrets.mjs.map +1 -0
  231. package/dist/subscription-usage-recordings.d.mts +9 -0
  232. package/dist/subscription-usage-recordings.d.mts.map +1 -0
  233. package/dist/subscription-usage-recordings.mjs +53 -0
  234. package/dist/subscription-usage-recordings.mjs.map +1 -0
  235. package/dist/subscription-usage.d.mts +53 -0
  236. package/dist/subscription-usage.d.mts.map +1 -0
  237. package/dist/subscription-usage.mjs +21 -0
  238. package/dist/subscription-usage.mjs.map +1 -0
  239. package/dist/telegram/api.d.mts +34 -0
  240. package/dist/telegram/api.d.mts.map +1 -0
  241. package/dist/telegram/api.mjs +257 -0
  242. package/dist/telegram/api.mjs.map +1 -0
  243. package/dist/telegram/state.d.mts +128 -0
  244. package/dist/telegram/state.d.mts.map +1 -0
  245. package/dist/telegram/state.mjs +154 -0
  246. package/dist/telegram/state.mjs.map +1 -0
  247. package/dist/telegram.d.mts +62 -0
  248. package/dist/telegram.d.mts.map +1 -0
  249. package/dist/telegram.mjs +127 -0
  250. package/dist/telegram.mjs.map +1 -0
  251. package/dist/todoist/api.d.mts +55 -0
  252. package/dist/todoist/api.d.mts.map +1 -0
  253. package/dist/todoist/api.mjs +415 -0
  254. package/dist/todoist/api.mjs.map +1 -0
  255. package/dist/todoist/state.d.mts +275 -0
  256. package/dist/todoist/state.d.mts.map +1 -0
  257. package/dist/todoist/state.mjs +345 -0
  258. package/dist/todoist/state.mjs.map +1 -0
  259. package/dist/todoist.d.mts +68 -0
  260. package/dist/todoist.d.mts.map +1 -0
  261. package/dist/todoist.mjs +181 -0
  262. package/dist/todoist.mjs.map +1 -0
  263. package/dist/xai.d.mts +267 -0
  264. package/dist/xai.d.mts.map +1 -0
  265. package/dist/xai.mjs +252 -0
  266. package/dist/xai.mjs.map +1 -0
  267. package/package.json +157 -0
  268. package/src/anthropic.ts +289 -0
  269. package/src/chat-completions.ts +924 -0
  270. package/src/codex.ts +296 -0
  271. package/src/dropbox/api.ts +1084 -0
  272. package/src/dropbox/state.ts +364 -0
  273. package/src/dropbox.ts +203 -0
  274. package/src/email-fixtures.ts +1297 -0
  275. package/src/email.ts +1108 -0
  276. package/src/emulator-compose.ts +147 -0
  277. package/src/emulator-http.ts +184 -0
  278. package/src/emulator-kernel.ts +844 -0
  279. package/src/fixture-route.ts +561 -0
  280. package/src/fortnox/api.ts +1352 -0
  281. package/src/fortnox/state.ts +798 -0
  282. package/src/fortnox.ts +801 -0
  283. package/src/gateway-evaluate-recordings.ts +153 -0
  284. package/src/gateway.ts +530 -0
  285. package/src/github/api.ts +986 -0
  286. package/src/github/state.ts +439 -0
  287. package/src/github.ts +271 -0
  288. package/src/google/calendar.ts +486 -0
  289. package/src/google/drive.ts +471 -0
  290. package/src/google/gmail.ts +1011 -0
  291. package/src/google/shared.ts +321 -0
  292. package/src/google/state.ts +686 -0
  293. package/src/google.ts +298 -0
  294. package/src/linkedin-search/api.ts +363 -0
  295. package/src/linkedin-search/state.ts +373 -0
  296. package/src/linkedin-search.ts +241 -0
  297. package/src/mcp/api.ts +995 -0
  298. package/src/mcp/recordings.ts +2665 -0
  299. package/src/mcp/state.ts +125 -0
  300. package/src/mcp.ts +319 -0
  301. package/src/messages.ts +844 -0
  302. package/src/microsoft/api.ts +426 -0
  303. package/src/microsoft/calendar.ts +491 -0
  304. package/src/microsoft/drive.ts +541 -0
  305. package/src/microsoft/graph.ts +550 -0
  306. package/src/microsoft/mail.ts +833 -0
  307. package/src/microsoft/state.ts +822 -0
  308. package/src/microsoft.ts +982 -0
  309. package/src/node.ts +293 -0
  310. package/src/notion/api.ts +976 -0
  311. package/src/notion/state.ts +512 -0
  312. package/src/notion.ts +210 -0
  313. package/src/openai.ts +198 -0
  314. package/src/opencode-recordings.ts +257 -0
  315. package/src/opencode.ts +271 -0
  316. package/src/r2-fixtures.ts +295 -0
  317. package/src/r2-guard.ts +323 -0
  318. package/src/r2.ts +890 -0
  319. package/src/responses.ts +901 -0
  320. package/src/route-evidence.ts +90 -0
  321. package/src/router.ts +490 -0
  322. package/src/stateful-core.ts +70 -0
  323. package/src/stateful-emulator.ts +2571 -0
  324. package/src/stateful-secrets.ts +299 -0
  325. package/src/subscription-usage-recordings.ts +77 -0
  326. package/src/subscription-usage.ts +68 -0
  327. package/src/telegram/api.ts +437 -0
  328. package/src/telegram/state.ts +229 -0
  329. package/src/telegram.ts +227 -0
  330. package/src/todoist/api.ts +736 -0
  331. package/src/todoist/state.ts +456 -0
  332. package/src/todoist.ts +316 -0
  333. package/src/xai.ts +341 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recordings.mjs","names":[],"sources":["../../src/mcp/recordings.ts"],"sourcesContent":["/**\n * The synthetic MCP conformance fixtures, copied as data (internal; never imported from\n * `@yolk-sdk/mcp`): the sixteen `WireFixture`s of `mcpConformanceFixtures` in\n * `@yolk-sdk/mcp/conformance`, in its order, on the two synthetic servers\n * `https://mcp.example.test/modern/mcp` and `https://mcp.example.test/legacy/mcp`.\n * `test/mcp.test.ts` fails when this copy drifts from the source and replays every exchange\n * against the emulator byte for byte. Every value is synthetic; no fixture records\n * `authorization`.\n *\n * @experimental\n */\nimport type * as Schema from 'effect/Schema'\n\n/** One recorded request: method, URL, the MCP routing and session headers, the JSON-RPC body. */\nexport type McpRecordedRequest = {\n readonly method: string\n readonly url: string\n readonly headers: Readonly<Record<string, string>>\n readonly body?: Schema.Json\n}\n\n/** One recorded answer: a whole text body, or SSE chunks (chunk boundaries kept). */\nexport type McpRecordedResponse =\n | {\n readonly status: number\n readonly headers: Readonly<Record<string, string>>\n readonly body: string\n }\n | {\n readonly status: number\n readonly headers: Readonly<Record<string, string>>\n readonly chunks: ReadonlyArray<string>\n }\n\nexport type McpRecordedExchange = {\n readonly request: McpRecordedRequest\n readonly response: McpRecordedResponse\n}\n\n/** A copied fixture (the `WireFixture` fields, as data). */\nexport type McpRecordedFixture = {\n readonly id: string\n readonly caseId: string\n readonly evidence: 'unverified'\n readonly recordedAt: string\n readonly account: string\n readonly endpoint: string\n readonly note: string\n readonly exchanges: ReadonlyArray<McpRecordedExchange>\n}\n\n/** Every synthetic MCP fixture, in the order of `mcpConformanceFixtures`. */\nexport const mcpEmulatorFixtures: ReadonlyArray<McpRecordedFixture> = [\n {\n id: 'mcp.negotiation.era.modern.synthetic',\n caseId: 'mcp.negotiation.era',\n evidence: 'unverified',\n recordedAt: '2026-10-01',\n account: 'synthetic',\n endpoint: 'https://mcp.example.test/modern/mcp',\n note: 'server/discover answered with supportedVersions [\"2026-07-28\"]; the client then lists tools statelessly. Synthetic placeholder shaped like the MCP wire the pinned SDK speaks; not recorded from a live service.',\n exchanges: [\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/modern/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-method': 'server/discover',\n 'mcp-protocol-version': '2026-07-28'\n },\n body: {\n jsonrpc: '2.0',\n id: 'server-discover-probe-1',\n method: 'server/discover',\n params: {\n _meta: {\n 'io.modelcontextprotocol/protocolVersion': '2026-07-28',\n 'io.modelcontextprotocol/clientInfo': {\n name: 'yolk',\n version: '0.1.0'\n },\n 'io.modelcontextprotocol/clientCapabilities': {}\n }\n }\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'application/json'\n },\n body: '{\"jsonrpc\":\"2.0\",\"id\":\"server-discover-probe-1\",\"result\":{\"supportedVersions\":[\"2026-07-28\"],\"capabilities\":{\"tools\":{}},\"resultType\":\"complete\",\"ttlMs\":0,\"cacheScope\":\"private\",\"_meta\":{\"io.modelcontextprotocol/serverInfo\":{\"name\":\"yolk-synthetic-mcp\",\"version\":\"0.0.0\"}}}}'\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/modern/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-method': 'tools/list',\n 'mcp-protocol-version': '2026-07-28'\n },\n body: {\n jsonrpc: '2.0',\n id: 0,\n method: 'tools/list',\n params: {\n _meta: {\n 'io.modelcontextprotocol/protocolVersion': '2026-07-28',\n 'io.modelcontextprotocol/clientInfo': {\n name: 'yolk',\n version: '0.1.0'\n },\n 'io.modelcontextprotocol/clientCapabilities': {}\n }\n }\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'application/json'\n },\n body: '{\"jsonrpc\":\"2.0\",\"id\":0,\"result\":{\"tools\":[{\"name\":\"get_synthetic_note\",\"title\":\"Get a synthetic note\",\"description\":\"Read one synthetic note by id.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"}},\"required\":[\"noteId\"],\"additionalProperties\":false},\"outputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"}},\"required\":[\"noteId\",\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":true}},{\"name\":\"create_synthetic_note\",\"description\":\"Create one synthetic note.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\"}},\"required\":[\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":false,\"destructiveHint\":false}}],\"resultType\":\"complete\",\"ttlMs\":0,\"cacheScope\":\"private\"}}'\n }\n }\n ]\n },\n {\n id: 'mcp.negotiation.era.legacy.synthetic',\n caseId: 'mcp.negotiation.era',\n evidence: 'unverified',\n recordedAt: '2026-10-01',\n account: 'synthetic',\n endpoint: 'https://mcp.example.test/legacy/mcp',\n note: 'server/discover answered 400 with a JSON-RPC error; the client falls back to initialize and lists tools in a session. Synthetic placeholder shaped like the MCP wire the pinned SDK speaks; not recorded from a live service.',\n exchanges: [\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-method': 'server/discover',\n 'mcp-protocol-version': '2026-07-28'\n },\n body: {\n jsonrpc: '2.0',\n id: 'server-discover-probe-1',\n method: 'server/discover',\n params: {\n _meta: {\n 'io.modelcontextprotocol/protocolVersion': '2026-07-28',\n 'io.modelcontextprotocol/clientInfo': {\n name: 'yolk',\n version: '0.1.0'\n },\n 'io.modelcontextprotocol/clientCapabilities': {}\n }\n }\n }\n },\n response: {\n status: 400,\n headers: {\n 'content-type': 'application/json'\n },\n body: '{\"jsonrpc\":\"2.0\",\"id\":null,\"error\":{\"code\":-32000,\"message\":\"Bad Request: Server not initialized\"}}'\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json'\n },\n body: {\n jsonrpc: '2.0',\n id: 0,\n method: 'initialize',\n params: {\n protocolVersion: '2025-11-25',\n capabilities: {},\n clientInfo: {\n name: 'yolk',\n version: '0.1.0'\n }\n }\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'text/event-stream',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n chunks: [\n 'event: message\\nid: evt-1\\ndata: {\"jsonrpc\":\"2.0\",\"method\":\"notifications/message\",\"params\":{\"level\":\"info\",\"data\":\"synthetic notification\"}}\\n\\n',\n 'event: message\\nid: evt-2\\ndata: {\"jsonrpc\":\"2.0\",\"id\":0,\"result\":{\"protocolVersion\":\"2025-11-25\",\"capabilities\":{\"tools\":{}},\"serverInfo\":{\"name\":\"yolk-synthetic-mcp\",\"version\":\"0.0.0\"}}}\\n\\n'\n ]\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-protocol-version': '2025-11-25',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n body: {\n jsonrpc: '2.0',\n method: 'notifications/initialized'\n }\n },\n response: {\n status: 202,\n headers: {},\n body: ''\n }\n },\n {\n request: {\n method: 'GET',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'text/event-stream',\n 'mcp-protocol-version': '2025-11-25',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n }\n },\n response: {\n status: 405,\n headers: {},\n body: ''\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-protocol-version': '2025-11-25',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n body: {\n jsonrpc: '2.0',\n id: 1,\n method: 'tools/list'\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'text/event-stream',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n chunks: [\n 'event: message\\nid: evt-1\\ndata: {\"jsonrpc\":\"2.0\",\"method\":\"notifications/message\",\"params\":{\"level\":\"info\",\"data\":\"synthetic notification\"}}\\n\\n',\n 'event: message\\nid: evt-2\\ndata: {\"jsonrpc\":\"2.0\",\"id\":1,\"result\":{\"tools\":[{\"name\":\"get_synthetic_note\",\"title\":\"Get a synthetic note\",\"description\":\"Read one synthetic note by id.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"}},\"required\":[\"noteId\"],\"additionalProperties\":false},\"outputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"}},\"required\":[\"noteId\",\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":true}},{\"name\":\"create_synthetic_note\",\"description\":\"Create one synthetic note.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\"}},\"required\":[\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":false,\"destructiveHint\":false}}]}}\\n\\n'\n ]\n }\n }\n ]\n },\n {\n id: 'mcp.modern.stateless.modern.synthetic',\n caseId: 'mcp.modern.stateless',\n evidence: 'unverified',\n recordedAt: '2026-10-01',\n account: 'synthetic',\n endpoint: 'https://mcp.example.test/modern/mcp',\n note: 'A stateless listing and an absent-tool call: routing headers on every request, no session id, results complete. Synthetic placeholder shaped like the MCP wire the pinned SDK speaks; not recorded from a live service.',\n exchanges: [\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/modern/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-method': 'server/discover',\n 'mcp-protocol-version': '2026-07-28'\n },\n body: {\n jsonrpc: '2.0',\n id: 'server-discover-probe-1',\n method: 'server/discover',\n params: {\n _meta: {\n 'io.modelcontextprotocol/protocolVersion': '2026-07-28',\n 'io.modelcontextprotocol/clientInfo': {\n name: 'yolk',\n version: '0.1.0'\n },\n 'io.modelcontextprotocol/clientCapabilities': {}\n }\n }\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'application/json'\n },\n body: '{\"jsonrpc\":\"2.0\",\"id\":\"server-discover-probe-1\",\"result\":{\"supportedVersions\":[\"2026-07-28\"],\"capabilities\":{\"tools\":{}},\"resultType\":\"complete\",\"ttlMs\":0,\"cacheScope\":\"private\",\"_meta\":{\"io.modelcontextprotocol/serverInfo\":{\"name\":\"yolk-synthetic-mcp\",\"version\":\"0.0.0\"}}}}'\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/modern/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-method': 'tools/list',\n 'mcp-protocol-version': '2026-07-28'\n },\n body: {\n jsonrpc: '2.0',\n id: 0,\n method: 'tools/list',\n params: {\n _meta: {\n 'io.modelcontextprotocol/protocolVersion': '2026-07-28',\n 'io.modelcontextprotocol/clientInfo': {\n name: 'yolk',\n version: '0.1.0'\n },\n 'io.modelcontextprotocol/clientCapabilities': {}\n }\n }\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'application/json'\n },\n body: '{\"jsonrpc\":\"2.0\",\"id\":0,\"result\":{\"tools\":[{\"name\":\"get_synthetic_note\",\"title\":\"Get a synthetic note\",\"description\":\"Read one synthetic note by id.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"}},\"required\":[\"noteId\"],\"additionalProperties\":false},\"outputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"}},\"required\":[\"noteId\",\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":true}},{\"name\":\"create_synthetic_note\",\"description\":\"Create one synthetic note.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\"}},\"required\":[\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":false,\"destructiveHint\":false}}],\"resultType\":\"complete\",\"ttlMs\":0,\"cacheScope\":\"private\"}}'\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/modern/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-method': 'server/discover',\n 'mcp-protocol-version': '2026-07-28'\n },\n body: {\n jsonrpc: '2.0',\n id: 'server-discover-probe-1',\n method: 'server/discover',\n params: {\n _meta: {\n 'io.modelcontextprotocol/protocolVersion': '2026-07-28',\n 'io.modelcontextprotocol/clientInfo': {\n name: 'yolk',\n version: '0.1.0'\n },\n 'io.modelcontextprotocol/clientCapabilities': {}\n }\n }\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'application/json'\n },\n body: '{\"jsonrpc\":\"2.0\",\"id\":\"server-discover-probe-1\",\"result\":{\"supportedVersions\":[\"2026-07-28\"],\"capabilities\":{\"tools\":{}},\"resultType\":\"complete\",\"ttlMs\":0,\"cacheScope\":\"private\",\"_meta\":{\"io.modelcontextprotocol/serverInfo\":{\"name\":\"yolk-synthetic-mcp\",\"version\":\"0.0.0\"}}}}'\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/modern/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-method': 'tools/list',\n 'mcp-protocol-version': '2026-07-28'\n },\n body: {\n jsonrpc: '2.0',\n id: 0,\n method: 'tools/list',\n params: {\n _meta: {\n 'io.modelcontextprotocol/protocolVersion': '2026-07-28',\n 'io.modelcontextprotocol/clientInfo': {\n name: 'yolk',\n version: '0.1.0'\n },\n 'io.modelcontextprotocol/clientCapabilities': {}\n }\n }\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'application/json'\n },\n body: '{\"jsonrpc\":\"2.0\",\"id\":0,\"result\":{\"tools\":[{\"name\":\"get_synthetic_note\",\"title\":\"Get a synthetic note\",\"description\":\"Read one synthetic note by id.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"}},\"required\":[\"noteId\"],\"additionalProperties\":false},\"outputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"}},\"required\":[\"noteId\",\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":true}},{\"name\":\"create_synthetic_note\",\"description\":\"Create one synthetic note.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\"}},\"required\":[\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":false,\"destructiveHint\":false}}],\"resultType\":\"complete\",\"ttlMs\":0,\"cacheScope\":\"private\"}}'\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/modern/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-method': 'tools/call',\n 'mcp-protocol-version': '2026-07-28',\n 'mcp-name': 'yolk_conformance_absent'\n },\n body: {\n jsonrpc: '2.0',\n id: 1,\n method: 'tools/call',\n params: {\n name: 'yolk_conformance_absent',\n arguments: {},\n _meta: {\n 'io.modelcontextprotocol/protocolVersion': '2026-07-28',\n 'io.modelcontextprotocol/clientInfo': {\n name: 'yolk',\n version: '0.1.0'\n },\n 'io.modelcontextprotocol/clientCapabilities': {}\n }\n }\n }\n },\n response: {\n status: 400,\n headers: {\n 'content-type': 'application/json'\n },\n body: '{\"jsonrpc\":\"2.0\",\"id\":1,\"error\":{\"code\":-32602,\"message\":\"Tool yolk_conformance_absent not found\"}}'\n }\n }\n ]\n },\n {\n id: 'mcp.legacy.session.legacy.synthetic',\n caseId: 'mcp.legacy.session',\n evidence: 'unverified',\n recordedAt: '2026-10-01',\n account: 'synthetic',\n endpoint: 'https://mcp.example.test/legacy/mcp',\n note: 'initialize issues a synthetic session id that every later request echoes; initialized gets 202 and GET gets 405. Synthetic placeholder shaped like the MCP wire the pinned SDK speaks; not recorded from a live service.',\n exchanges: [\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-method': 'server/discover',\n 'mcp-protocol-version': '2026-07-28'\n },\n body: {\n jsonrpc: '2.0',\n id: 'server-discover-probe-1',\n method: 'server/discover',\n params: {\n _meta: {\n 'io.modelcontextprotocol/protocolVersion': '2026-07-28',\n 'io.modelcontextprotocol/clientInfo': {\n name: 'yolk',\n version: '0.1.0'\n },\n 'io.modelcontextprotocol/clientCapabilities': {}\n }\n }\n }\n },\n response: {\n status: 400,\n headers: {\n 'content-type': 'application/json'\n },\n body: '{\"jsonrpc\":\"2.0\",\"id\":null,\"error\":{\"code\":-32000,\"message\":\"Bad Request: Server not initialized\"}}'\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json'\n },\n body: {\n jsonrpc: '2.0',\n id: 0,\n method: 'initialize',\n params: {\n protocolVersion: '2025-11-25',\n capabilities: {},\n clientInfo: {\n name: 'yolk',\n version: '0.1.0'\n }\n }\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'text/event-stream',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n chunks: [\n 'event: message\\nid: evt-1\\ndata: {\"jsonrpc\":\"2.0\",\"method\":\"notifications/message\",\"params\":{\"level\":\"info\",\"data\":\"synthetic notification\"}}\\n\\n',\n 'event: message\\nid: evt-2\\ndata: {\"jsonrpc\":\"2.0\",\"id\":0,\"result\":{\"protocolVersion\":\"2025-11-25\",\"capabilities\":{\"tools\":{}},\"serverInfo\":{\"name\":\"yolk-synthetic-mcp\",\"version\":\"0.0.0\"}}}\\n\\n'\n ]\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-protocol-version': '2025-11-25',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n body: {\n jsonrpc: '2.0',\n method: 'notifications/initialized'\n }\n },\n response: {\n status: 202,\n headers: {},\n body: ''\n }\n },\n {\n request: {\n method: 'GET',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'text/event-stream',\n 'mcp-protocol-version': '2025-11-25',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n }\n },\n response: {\n status: 405,\n headers: {},\n body: ''\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-protocol-version': '2025-11-25',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n body: {\n jsonrpc: '2.0',\n id: 1,\n method: 'tools/list'\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'text/event-stream',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n chunks: [\n 'event: message\\nid: evt-1\\ndata: {\"jsonrpc\":\"2.0\",\"method\":\"notifications/message\",\"params\":{\"level\":\"info\",\"data\":\"synthetic notification\"}}\\n\\n',\n 'event: message\\nid: evt-2\\ndata: {\"jsonrpc\":\"2.0\",\"id\":1,\"result\":{\"tools\":[{\"name\":\"get_synthetic_note\",\"title\":\"Get a synthetic note\",\"description\":\"Read one synthetic note by id.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"}},\"required\":[\"noteId\"],\"additionalProperties\":false},\"outputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"}},\"required\":[\"noteId\",\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":true}},{\"name\":\"create_synthetic_note\",\"description\":\"Create one synthetic note.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\"}},\"required\":[\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":false,\"destructiveHint\":false}}]}}\\n\\n'\n ]\n }\n }\n ]\n },\n {\n id: 'mcp.transport.response-encoding.modern.synthetic',\n caseId: 'mcp.transport.response-encoding',\n evidence: 'unverified',\n recordedAt: '2026-10-01',\n account: 'synthetic',\n endpoint: 'https://mcp.example.test/modern/mcp',\n note: 'Every answer is application/json holding the response to its request. Synthetic placeholder shaped like the MCP wire the pinned SDK speaks; not recorded from a live service.',\n exchanges: [\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/modern/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-method': 'server/discover',\n 'mcp-protocol-version': '2026-07-28'\n },\n body: {\n jsonrpc: '2.0',\n id: 'server-discover-probe-1',\n method: 'server/discover',\n params: {\n _meta: {\n 'io.modelcontextprotocol/protocolVersion': '2026-07-28',\n 'io.modelcontextprotocol/clientInfo': {\n name: 'yolk',\n version: '0.1.0'\n },\n 'io.modelcontextprotocol/clientCapabilities': {}\n }\n }\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'application/json'\n },\n body: '{\"jsonrpc\":\"2.0\",\"id\":\"server-discover-probe-1\",\"result\":{\"supportedVersions\":[\"2026-07-28\"],\"capabilities\":{\"tools\":{}},\"resultType\":\"complete\",\"ttlMs\":0,\"cacheScope\":\"private\",\"_meta\":{\"io.modelcontextprotocol/serverInfo\":{\"name\":\"yolk-synthetic-mcp\",\"version\":\"0.0.0\"}}}}'\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/modern/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-method': 'tools/list',\n 'mcp-protocol-version': '2026-07-28'\n },\n body: {\n jsonrpc: '2.0',\n id: 0,\n method: 'tools/list',\n params: {\n _meta: {\n 'io.modelcontextprotocol/protocolVersion': '2026-07-28',\n 'io.modelcontextprotocol/clientInfo': {\n name: 'yolk',\n version: '0.1.0'\n },\n 'io.modelcontextprotocol/clientCapabilities': {}\n }\n }\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'application/json'\n },\n body: '{\"jsonrpc\":\"2.0\",\"id\":0,\"result\":{\"tools\":[{\"name\":\"get_synthetic_note\",\"title\":\"Get a synthetic note\",\"description\":\"Read one synthetic note by id.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"}},\"required\":[\"noteId\"],\"additionalProperties\":false},\"outputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"}},\"required\":[\"noteId\",\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":true}},{\"name\":\"create_synthetic_note\",\"description\":\"Create one synthetic note.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\"}},\"required\":[\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":false,\"destructiveHint\":false}}],\"resultType\":\"complete\",\"ttlMs\":0,\"cacheScope\":\"private\"}}'\n }\n }\n ]\n },\n {\n id: 'mcp.transport.response-encoding.legacy.synthetic',\n caseId: 'mcp.transport.response-encoding',\n evidence: 'unverified',\n recordedAt: '2026-10-01',\n account: 'synthetic',\n endpoint: 'https://mcp.example.test/legacy/mcp',\n note: 'Every answer to a request is text/event-stream: a notification, the response, then the stream ends; 202 has no body. Synthetic placeholder shaped like the MCP wire the pinned SDK speaks; not recorded from a live service.',\n exchanges: [\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-method': 'server/discover',\n 'mcp-protocol-version': '2026-07-28'\n },\n body: {\n jsonrpc: '2.0',\n id: 'server-discover-probe-1',\n method: 'server/discover',\n params: {\n _meta: {\n 'io.modelcontextprotocol/protocolVersion': '2026-07-28',\n 'io.modelcontextprotocol/clientInfo': {\n name: 'yolk',\n version: '0.1.0'\n },\n 'io.modelcontextprotocol/clientCapabilities': {}\n }\n }\n }\n },\n response: {\n status: 400,\n headers: {\n 'content-type': 'application/json'\n },\n body: '{\"jsonrpc\":\"2.0\",\"id\":null,\"error\":{\"code\":-32000,\"message\":\"Bad Request: Server not initialized\"}}'\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json'\n },\n body: {\n jsonrpc: '2.0',\n id: 0,\n method: 'initialize',\n params: {\n protocolVersion: '2025-11-25',\n capabilities: {},\n clientInfo: {\n name: 'yolk',\n version: '0.1.0'\n }\n }\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'text/event-stream',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n chunks: [\n 'event: message\\nid: evt-1\\ndata: {\"jsonrpc\":\"2.0\",\"method\":\"notifications/message\",\"params\":{\"level\":\"info\",\"data\":\"synthetic notification\"}}\\n\\n',\n 'event: message\\nid: evt-2\\ndata: {\"jsonrpc\":\"2.0\",\"id\":0,\"result\":{\"protocolVersion\":\"2025-11-25\",\"capabilities\":{\"tools\":{}},\"serverInfo\":{\"name\":\"yolk-synthetic-mcp\",\"version\":\"0.0.0\"}}}\\n\\n'\n ]\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-protocol-version': '2025-11-25',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n body: {\n jsonrpc: '2.0',\n method: 'notifications/initialized'\n }\n },\n response: {\n status: 202,\n headers: {},\n body: ''\n }\n },\n {\n request: {\n method: 'GET',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'text/event-stream',\n 'mcp-protocol-version': '2025-11-25',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n }\n },\n response: {\n status: 405,\n headers: {},\n body: ''\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-protocol-version': '2025-11-25',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n body: {\n jsonrpc: '2.0',\n id: 1,\n method: 'tools/list'\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'text/event-stream',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n chunks: [\n 'event: message\\nid: evt-1\\ndata: {\"jsonrpc\":\"2.0\",\"method\":\"notifications/message\",\"params\":{\"level\":\"info\",\"data\":\"synthetic notification\"}}\\n\\n',\n 'event: message\\nid: evt-2\\ndata: {\"jsonrpc\":\"2.0\",\"id\":1,\"result\":{\"tools\":[{\"name\":\"get_synthetic_note\",\"title\":\"Get a synthetic note\",\"description\":\"Read one synthetic note by id.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"}},\"required\":[\"noteId\"],\"additionalProperties\":false},\"outputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"}},\"required\":[\"noteId\",\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":true}},{\"name\":\"create_synthetic_note\",\"description\":\"Create one synthetic note.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\"}},\"required\":[\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":false,\"destructiveHint\":false}}]}}\\n\\n'\n ]\n }\n }\n ]\n },\n {\n id: 'mcp.tools.list.modern.synthetic',\n caseId: 'mcp.tools.list',\n evidence: 'unverified',\n recordedAt: '2026-10-01',\n account: 'synthetic',\n endpoint: 'https://mcp.example.test/modern/mcp',\n note: 'A listing over two tools/list pages joined by one cursor; the second page has no nextCursor. Synthetic placeholder shaped like the MCP wire the pinned SDK speaks; not recorded from a live service.',\n exchanges: [\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/modern/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-method': 'server/discover',\n 'mcp-protocol-version': '2026-07-28'\n },\n body: {\n jsonrpc: '2.0',\n id: 'server-discover-probe-1',\n method: 'server/discover',\n params: {\n _meta: {\n 'io.modelcontextprotocol/protocolVersion': '2026-07-28',\n 'io.modelcontextprotocol/clientInfo': {\n name: 'yolk',\n version: '0.1.0'\n },\n 'io.modelcontextprotocol/clientCapabilities': {}\n }\n }\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'application/json'\n },\n body: '{\"jsonrpc\":\"2.0\",\"id\":\"server-discover-probe-1\",\"result\":{\"supportedVersions\":[\"2026-07-28\"],\"capabilities\":{\"tools\":{}},\"resultType\":\"complete\",\"ttlMs\":0,\"cacheScope\":\"private\",\"_meta\":{\"io.modelcontextprotocol/serverInfo\":{\"name\":\"yolk-synthetic-mcp\",\"version\":\"0.0.0\"}}}}'\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/modern/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-method': 'tools/list',\n 'mcp-protocol-version': '2026-07-28'\n },\n body: {\n jsonrpc: '2.0',\n id: 0,\n method: 'tools/list',\n params: {\n _meta: {\n 'io.modelcontextprotocol/protocolVersion': '2026-07-28',\n 'io.modelcontextprotocol/clientInfo': {\n name: 'yolk',\n version: '0.1.0'\n },\n 'io.modelcontextprotocol/clientCapabilities': {}\n }\n }\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'application/json'\n },\n body: '{\"jsonrpc\":\"2.0\",\"id\":0,\"result\":{\"tools\":[{\"name\":\"get_synthetic_note\",\"title\":\"Get a synthetic note\",\"description\":\"Read one synthetic note by id.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"}},\"required\":[\"noteId\"],\"additionalProperties\":false},\"outputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"}},\"required\":[\"noteId\",\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":true}}],\"resultType\":\"complete\",\"ttlMs\":0,\"cacheScope\":\"private\",\"nextCursor\":\"synthetic-cursor-0001\"}}'\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/modern/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-method': 'tools/list',\n 'mcp-protocol-version': '2026-07-28'\n },\n body: {\n jsonrpc: '2.0',\n id: 1,\n method: 'tools/list',\n params: {\n cursor: 'synthetic-cursor-0001',\n _meta: {\n 'io.modelcontextprotocol/protocolVersion': '2026-07-28',\n 'io.modelcontextprotocol/clientInfo': {\n name: 'yolk',\n version: '0.1.0'\n },\n 'io.modelcontextprotocol/clientCapabilities': {}\n }\n }\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'application/json'\n },\n body: '{\"jsonrpc\":\"2.0\",\"id\":1,\"result\":{\"tools\":[{\"name\":\"create_synthetic_note\",\"description\":\"Create one synthetic note.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\"}},\"required\":[\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":false,\"destructiveHint\":false}}],\"resultType\":\"complete\",\"ttlMs\":0,\"cacheScope\":\"private\"}}'\n }\n }\n ]\n },\n {\n id: 'mcp.tools.list.legacy.synthetic',\n caseId: 'mcp.tools.list',\n evidence: 'unverified',\n recordedAt: '2026-10-01',\n account: 'synthetic',\n endpoint: 'https://mcp.example.test/legacy/mcp',\n note: 'A listing on one tools/list page in a session. Synthetic placeholder shaped like the MCP wire the pinned SDK speaks; not recorded from a live service.',\n exchanges: [\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-method': 'server/discover',\n 'mcp-protocol-version': '2026-07-28'\n },\n body: {\n jsonrpc: '2.0',\n id: 'server-discover-probe-1',\n method: 'server/discover',\n params: {\n _meta: {\n 'io.modelcontextprotocol/protocolVersion': '2026-07-28',\n 'io.modelcontextprotocol/clientInfo': {\n name: 'yolk',\n version: '0.1.0'\n },\n 'io.modelcontextprotocol/clientCapabilities': {}\n }\n }\n }\n },\n response: {\n status: 400,\n headers: {\n 'content-type': 'application/json'\n },\n body: '{\"jsonrpc\":\"2.0\",\"id\":null,\"error\":{\"code\":-32000,\"message\":\"Bad Request: Server not initialized\"}}'\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json'\n },\n body: {\n jsonrpc: '2.0',\n id: 0,\n method: 'initialize',\n params: {\n protocolVersion: '2025-11-25',\n capabilities: {},\n clientInfo: {\n name: 'yolk',\n version: '0.1.0'\n }\n }\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'text/event-stream',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n chunks: [\n 'event: message\\nid: evt-1\\ndata: {\"jsonrpc\":\"2.0\",\"method\":\"notifications/message\",\"params\":{\"level\":\"info\",\"data\":\"synthetic notification\"}}\\n\\n',\n 'event: message\\nid: evt-2\\ndata: {\"jsonrpc\":\"2.0\",\"id\":0,\"result\":{\"protocolVersion\":\"2025-11-25\",\"capabilities\":{\"tools\":{}},\"serverInfo\":{\"name\":\"yolk-synthetic-mcp\",\"version\":\"0.0.0\"}}}\\n\\n'\n ]\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-protocol-version': '2025-11-25',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n body: {\n jsonrpc: '2.0',\n method: 'notifications/initialized'\n }\n },\n response: {\n status: 202,\n headers: {},\n body: ''\n }\n },\n {\n request: {\n method: 'GET',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'text/event-stream',\n 'mcp-protocol-version': '2025-11-25',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n }\n },\n response: {\n status: 405,\n headers: {},\n body: ''\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-protocol-version': '2025-11-25',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n body: {\n jsonrpc: '2.0',\n id: 1,\n method: 'tools/list'\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'text/event-stream',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n chunks: [\n 'event: message\\nid: evt-1\\ndata: {\"jsonrpc\":\"2.0\",\"method\":\"notifications/message\",\"params\":{\"level\":\"info\",\"data\":\"synthetic notification\"}}\\n\\n',\n 'event: message\\nid: evt-2\\ndata: {\"jsonrpc\":\"2.0\",\"id\":1,\"result\":{\"tools\":[{\"name\":\"get_synthetic_note\",\"title\":\"Get a synthetic note\",\"description\":\"Read one synthetic note by id.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"}},\"required\":[\"noteId\"],\"additionalProperties\":false},\"outputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"}},\"required\":[\"noteId\",\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":true}},{\"name\":\"create_synthetic_note\",\"description\":\"Create one synthetic note.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\"}},\"required\":[\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":false,\"destructiveHint\":false}}]}}\\n\\n'\n ]\n }\n }\n ]\n },\n {\n id: 'mcp.tools.call-read.modern.synthetic',\n caseId: 'mcp.tools.call-read',\n evidence: 'unverified',\n recordedAt: '2026-10-01',\n account: 'synthetic',\n endpoint: 'https://mcp.example.test/modern/mcp',\n note: 'A listing (the readOnlyHint precondition), then get_synthetic_note answered with structured content matching its output schema. Synthetic placeholder shaped like the MCP wire the pinned SDK speaks; not recorded from a live service.',\n exchanges: [\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/modern/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-method': 'server/discover',\n 'mcp-protocol-version': '2026-07-28'\n },\n body: {\n jsonrpc: '2.0',\n id: 'server-discover-probe-1',\n method: 'server/discover',\n params: {\n _meta: {\n 'io.modelcontextprotocol/protocolVersion': '2026-07-28',\n 'io.modelcontextprotocol/clientInfo': {\n name: 'yolk',\n version: '0.1.0'\n },\n 'io.modelcontextprotocol/clientCapabilities': {}\n }\n }\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'application/json'\n },\n body: '{\"jsonrpc\":\"2.0\",\"id\":\"server-discover-probe-1\",\"result\":{\"supportedVersions\":[\"2026-07-28\"],\"capabilities\":{\"tools\":{}},\"resultType\":\"complete\",\"ttlMs\":0,\"cacheScope\":\"private\",\"_meta\":{\"io.modelcontextprotocol/serverInfo\":{\"name\":\"yolk-synthetic-mcp\",\"version\":\"0.0.0\"}}}}'\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/modern/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-method': 'tools/list',\n 'mcp-protocol-version': '2026-07-28'\n },\n body: {\n jsonrpc: '2.0',\n id: 0,\n method: 'tools/list',\n params: {\n _meta: {\n 'io.modelcontextprotocol/protocolVersion': '2026-07-28',\n 'io.modelcontextprotocol/clientInfo': {\n name: 'yolk',\n version: '0.1.0'\n },\n 'io.modelcontextprotocol/clientCapabilities': {}\n }\n }\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'application/json'\n },\n body: '{\"jsonrpc\":\"2.0\",\"id\":0,\"result\":{\"tools\":[{\"name\":\"get_synthetic_note\",\"title\":\"Get a synthetic note\",\"description\":\"Read one synthetic note by id.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"}},\"required\":[\"noteId\"],\"additionalProperties\":false},\"outputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"}},\"required\":[\"noteId\",\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":true}},{\"name\":\"create_synthetic_note\",\"description\":\"Create one synthetic note.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\"}},\"required\":[\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":false,\"destructiveHint\":false}}],\"resultType\":\"complete\",\"ttlMs\":0,\"cacheScope\":\"private\"}}'\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/modern/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-method': 'server/discover',\n 'mcp-protocol-version': '2026-07-28'\n },\n body: {\n jsonrpc: '2.0',\n id: 'server-discover-probe-1',\n method: 'server/discover',\n params: {\n _meta: {\n 'io.modelcontextprotocol/protocolVersion': '2026-07-28',\n 'io.modelcontextprotocol/clientInfo': {\n name: 'yolk',\n version: '0.1.0'\n },\n 'io.modelcontextprotocol/clientCapabilities': {}\n }\n }\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'application/json'\n },\n body: '{\"jsonrpc\":\"2.0\",\"id\":\"server-discover-probe-1\",\"result\":{\"supportedVersions\":[\"2026-07-28\"],\"capabilities\":{\"tools\":{}},\"resultType\":\"complete\",\"ttlMs\":0,\"cacheScope\":\"private\",\"_meta\":{\"io.modelcontextprotocol/serverInfo\":{\"name\":\"yolk-synthetic-mcp\",\"version\":\"0.0.0\"}}}}'\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/modern/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-method': 'tools/list',\n 'mcp-protocol-version': '2026-07-28'\n },\n body: {\n jsonrpc: '2.0',\n id: 0,\n method: 'tools/list',\n params: {\n _meta: {\n 'io.modelcontextprotocol/protocolVersion': '2026-07-28',\n 'io.modelcontextprotocol/clientInfo': {\n name: 'yolk',\n version: '0.1.0'\n },\n 'io.modelcontextprotocol/clientCapabilities': {}\n }\n }\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'application/json'\n },\n body: '{\"jsonrpc\":\"2.0\",\"id\":0,\"result\":{\"tools\":[{\"name\":\"get_synthetic_note\",\"title\":\"Get a synthetic note\",\"description\":\"Read one synthetic note by id.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"}},\"required\":[\"noteId\"],\"additionalProperties\":false},\"outputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"}},\"required\":[\"noteId\",\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":true}},{\"name\":\"create_synthetic_note\",\"description\":\"Create one synthetic note.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\"}},\"required\":[\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":false,\"destructiveHint\":false}}],\"resultType\":\"complete\",\"ttlMs\":0,\"cacheScope\":\"private\"}}'\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/modern/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-method': 'tools/call',\n 'mcp-protocol-version': '2026-07-28',\n 'mcp-name': 'get_synthetic_note'\n },\n body: {\n jsonrpc: '2.0',\n id: 1,\n method: 'tools/call',\n params: {\n name: 'get_synthetic_note',\n arguments: {\n noteId: 'note-0001'\n },\n _meta: {\n 'io.modelcontextprotocol/protocolVersion': '2026-07-28',\n 'io.modelcontextprotocol/clientInfo': {\n name: 'yolk',\n version: '0.1.0'\n },\n 'io.modelcontextprotocol/clientCapabilities': {}\n }\n }\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'application/json'\n },\n body: '{\"jsonrpc\":\"2.0\",\"id\":1,\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"Synthetic note note-0001.\"}],\"structuredContent\":{\"noteId\":\"note-0001\",\"text\":\"Synthetic note note-0001.\"},\"resultType\":\"complete\"}}'\n }\n }\n ]\n },\n {\n id: 'mcp.tools.call-read.legacy.synthetic',\n caseId: 'mcp.tools.call-read',\n evidence: 'unverified',\n recordedAt: '2026-10-01',\n account: 'synthetic',\n endpoint: 'https://mcp.example.test/legacy/mcp',\n note: 'A listing (the readOnlyHint precondition), then get_synthetic_note answered with structured content matching its output schema. Synthetic placeholder shaped like the MCP wire the pinned SDK speaks; not recorded from a live service.',\n exchanges: [\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-method': 'server/discover',\n 'mcp-protocol-version': '2026-07-28'\n },\n body: {\n jsonrpc: '2.0',\n id: 'server-discover-probe-1',\n method: 'server/discover',\n params: {\n _meta: {\n 'io.modelcontextprotocol/protocolVersion': '2026-07-28',\n 'io.modelcontextprotocol/clientInfo': {\n name: 'yolk',\n version: '0.1.0'\n },\n 'io.modelcontextprotocol/clientCapabilities': {}\n }\n }\n }\n },\n response: {\n status: 400,\n headers: {\n 'content-type': 'application/json'\n },\n body: '{\"jsonrpc\":\"2.0\",\"id\":null,\"error\":{\"code\":-32000,\"message\":\"Bad Request: Server not initialized\"}}'\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json'\n },\n body: {\n jsonrpc: '2.0',\n id: 0,\n method: 'initialize',\n params: {\n protocolVersion: '2025-11-25',\n capabilities: {},\n clientInfo: {\n name: 'yolk',\n version: '0.1.0'\n }\n }\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'text/event-stream',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n chunks: [\n 'event: message\\nid: evt-1\\ndata: {\"jsonrpc\":\"2.0\",\"method\":\"notifications/message\",\"params\":{\"level\":\"info\",\"data\":\"synthetic notification\"}}\\n\\n',\n 'event: message\\nid: evt-2\\ndata: {\"jsonrpc\":\"2.0\",\"id\":0,\"result\":{\"protocolVersion\":\"2025-11-25\",\"capabilities\":{\"tools\":{}},\"serverInfo\":{\"name\":\"yolk-synthetic-mcp\",\"version\":\"0.0.0\"}}}\\n\\n'\n ]\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-protocol-version': '2025-11-25',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n body: {\n jsonrpc: '2.0',\n method: 'notifications/initialized'\n }\n },\n response: {\n status: 202,\n headers: {},\n body: ''\n }\n },\n {\n request: {\n method: 'GET',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'text/event-stream',\n 'mcp-protocol-version': '2025-11-25',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n }\n },\n response: {\n status: 405,\n headers: {},\n body: ''\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-protocol-version': '2025-11-25',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n body: {\n jsonrpc: '2.0',\n id: 1,\n method: 'tools/list'\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'text/event-stream',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n chunks: [\n 'event: message\\nid: evt-1\\ndata: {\"jsonrpc\":\"2.0\",\"method\":\"notifications/message\",\"params\":{\"level\":\"info\",\"data\":\"synthetic notification\"}}\\n\\n',\n 'event: message\\nid: evt-2\\ndata: {\"jsonrpc\":\"2.0\",\"id\":1,\"result\":{\"tools\":[{\"name\":\"get_synthetic_note\",\"title\":\"Get a synthetic note\",\"description\":\"Read one synthetic note by id.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"}},\"required\":[\"noteId\"],\"additionalProperties\":false},\"outputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"}},\"required\":[\"noteId\",\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":true}},{\"name\":\"create_synthetic_note\",\"description\":\"Create one synthetic note.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\"}},\"required\":[\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":false,\"destructiveHint\":false}}]}}\\n\\n'\n ]\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-method': 'server/discover',\n 'mcp-protocol-version': '2026-07-28'\n },\n body: {\n jsonrpc: '2.0',\n id: 'server-discover-probe-1',\n method: 'server/discover',\n params: {\n _meta: {\n 'io.modelcontextprotocol/protocolVersion': '2026-07-28',\n 'io.modelcontextprotocol/clientInfo': {\n name: 'yolk',\n version: '0.1.0'\n },\n 'io.modelcontextprotocol/clientCapabilities': {}\n }\n }\n }\n },\n response: {\n status: 400,\n headers: {\n 'content-type': 'application/json'\n },\n body: '{\"jsonrpc\":\"2.0\",\"id\":null,\"error\":{\"code\":-32000,\"message\":\"Bad Request: Server not initialized\"}}'\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json'\n },\n body: {\n jsonrpc: '2.0',\n id: 0,\n method: 'initialize',\n params: {\n protocolVersion: '2025-11-25',\n capabilities: {},\n clientInfo: {\n name: 'yolk',\n version: '0.1.0'\n }\n }\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'text/event-stream',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n chunks: [\n 'event: message\\nid: evt-1\\ndata: {\"jsonrpc\":\"2.0\",\"method\":\"notifications/message\",\"params\":{\"level\":\"info\",\"data\":\"synthetic notification\"}}\\n\\n',\n 'event: message\\nid: evt-2\\ndata: {\"jsonrpc\":\"2.0\",\"id\":0,\"result\":{\"protocolVersion\":\"2025-11-25\",\"capabilities\":{\"tools\":{}},\"serverInfo\":{\"name\":\"yolk-synthetic-mcp\",\"version\":\"0.0.0\"}}}\\n\\n'\n ]\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-protocol-version': '2025-11-25',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n body: {\n jsonrpc: '2.0',\n method: 'notifications/initialized'\n }\n },\n response: {\n status: 202,\n headers: {},\n body: ''\n }\n },\n {\n request: {\n method: 'GET',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'text/event-stream',\n 'mcp-protocol-version': '2025-11-25',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n }\n },\n response: {\n status: 405,\n headers: {},\n body: ''\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-protocol-version': '2025-11-25',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n body: {\n jsonrpc: '2.0',\n id: 1,\n method: 'tools/list'\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'text/event-stream',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n chunks: [\n 'event: message\\nid: evt-1\\ndata: {\"jsonrpc\":\"2.0\",\"method\":\"notifications/message\",\"params\":{\"level\":\"info\",\"data\":\"synthetic notification\"}}\\n\\n',\n 'event: message\\nid: evt-2\\ndata: {\"jsonrpc\":\"2.0\",\"id\":1,\"result\":{\"tools\":[{\"name\":\"get_synthetic_note\",\"title\":\"Get a synthetic note\",\"description\":\"Read one synthetic note by id.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"}},\"required\":[\"noteId\"],\"additionalProperties\":false},\"outputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"}},\"required\":[\"noteId\",\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":true}},{\"name\":\"create_synthetic_note\",\"description\":\"Create one synthetic note.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\"}},\"required\":[\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":false,\"destructiveHint\":false}}]}}\\n\\n'\n ]\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-protocol-version': '2025-11-25',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n body: {\n jsonrpc: '2.0',\n id: 2,\n method: 'tools/call',\n params: {\n name: 'get_synthetic_note',\n arguments: {\n noteId: 'note-0001'\n }\n }\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'text/event-stream',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n chunks: [\n 'event: message\\nid: evt-1\\ndata: {\"jsonrpc\":\"2.0\",\"method\":\"notifications/message\",\"params\":{\"level\":\"info\",\"data\":\"synthetic notification\"}}\\n\\n',\n 'event: message\\nid: evt-2\\ndata: {\"jsonrpc\":\"2.0\",\"id\":2,\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"Synthetic note note-0001.\"}],\"structuredContent\":{\"noteId\":\"note-0001\",\"text\":\"Synthetic note note-0001.\"}}}\\n\\n'\n ]\n }\n }\n ]\n },\n {\n id: 'mcp.tools.call-tool-error.modern.synthetic',\n caseId: 'mcp.tools.call-tool-error',\n evidence: 'unverified',\n recordedAt: '2026-10-01',\n account: 'synthetic',\n endpoint: 'https://mcp.example.test/modern/mcp',\n note: 'A listing (the readOnlyHint precondition), then get_synthetic_note with a numeric noteId answered as a tool result with isError true and text content. Synthetic placeholder shaped like the MCP wire the pinned SDK speaks; not recorded from a live service.',\n exchanges: [\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/modern/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-method': 'server/discover',\n 'mcp-protocol-version': '2026-07-28'\n },\n body: {\n jsonrpc: '2.0',\n id: 'server-discover-probe-1',\n method: 'server/discover',\n params: {\n _meta: {\n 'io.modelcontextprotocol/protocolVersion': '2026-07-28',\n 'io.modelcontextprotocol/clientInfo': {\n name: 'yolk',\n version: '0.1.0'\n },\n 'io.modelcontextprotocol/clientCapabilities': {}\n }\n }\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'application/json'\n },\n body: '{\"jsonrpc\":\"2.0\",\"id\":\"server-discover-probe-1\",\"result\":{\"supportedVersions\":[\"2026-07-28\"],\"capabilities\":{\"tools\":{}},\"resultType\":\"complete\",\"ttlMs\":0,\"cacheScope\":\"private\",\"_meta\":{\"io.modelcontextprotocol/serverInfo\":{\"name\":\"yolk-synthetic-mcp\",\"version\":\"0.0.0\"}}}}'\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/modern/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-method': 'tools/list',\n 'mcp-protocol-version': '2026-07-28'\n },\n body: {\n jsonrpc: '2.0',\n id: 0,\n method: 'tools/list',\n params: {\n _meta: {\n 'io.modelcontextprotocol/protocolVersion': '2026-07-28',\n 'io.modelcontextprotocol/clientInfo': {\n name: 'yolk',\n version: '0.1.0'\n },\n 'io.modelcontextprotocol/clientCapabilities': {}\n }\n }\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'application/json'\n },\n body: '{\"jsonrpc\":\"2.0\",\"id\":0,\"result\":{\"tools\":[{\"name\":\"get_synthetic_note\",\"title\":\"Get a synthetic note\",\"description\":\"Read one synthetic note by id.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"}},\"required\":[\"noteId\"],\"additionalProperties\":false},\"outputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"}},\"required\":[\"noteId\",\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":true}},{\"name\":\"create_synthetic_note\",\"description\":\"Create one synthetic note.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\"}},\"required\":[\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":false,\"destructiveHint\":false}}],\"resultType\":\"complete\",\"ttlMs\":0,\"cacheScope\":\"private\"}}'\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/modern/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-method': 'server/discover',\n 'mcp-protocol-version': '2026-07-28'\n },\n body: {\n jsonrpc: '2.0',\n id: 'server-discover-probe-1',\n method: 'server/discover',\n params: {\n _meta: {\n 'io.modelcontextprotocol/protocolVersion': '2026-07-28',\n 'io.modelcontextprotocol/clientInfo': {\n name: 'yolk',\n version: '0.1.0'\n },\n 'io.modelcontextprotocol/clientCapabilities': {}\n }\n }\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'application/json'\n },\n body: '{\"jsonrpc\":\"2.0\",\"id\":\"server-discover-probe-1\",\"result\":{\"supportedVersions\":[\"2026-07-28\"],\"capabilities\":{\"tools\":{}},\"resultType\":\"complete\",\"ttlMs\":0,\"cacheScope\":\"private\",\"_meta\":{\"io.modelcontextprotocol/serverInfo\":{\"name\":\"yolk-synthetic-mcp\",\"version\":\"0.0.0\"}}}}'\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/modern/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-method': 'tools/list',\n 'mcp-protocol-version': '2026-07-28'\n },\n body: {\n jsonrpc: '2.0',\n id: 0,\n method: 'tools/list',\n params: {\n _meta: {\n 'io.modelcontextprotocol/protocolVersion': '2026-07-28',\n 'io.modelcontextprotocol/clientInfo': {\n name: 'yolk',\n version: '0.1.0'\n },\n 'io.modelcontextprotocol/clientCapabilities': {}\n }\n }\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'application/json'\n },\n body: '{\"jsonrpc\":\"2.0\",\"id\":0,\"result\":{\"tools\":[{\"name\":\"get_synthetic_note\",\"title\":\"Get a synthetic note\",\"description\":\"Read one synthetic note by id.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"}},\"required\":[\"noteId\"],\"additionalProperties\":false},\"outputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"}},\"required\":[\"noteId\",\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":true}},{\"name\":\"create_synthetic_note\",\"description\":\"Create one synthetic note.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\"}},\"required\":[\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":false,\"destructiveHint\":false}}],\"resultType\":\"complete\",\"ttlMs\":0,\"cacheScope\":\"private\"}}'\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/modern/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-method': 'tools/call',\n 'mcp-protocol-version': '2026-07-28',\n 'mcp-name': 'get_synthetic_note'\n },\n body: {\n jsonrpc: '2.0',\n id: 1,\n method: 'tools/call',\n params: {\n name: 'get_synthetic_note',\n arguments: {\n noteId: 42\n },\n _meta: {\n 'io.modelcontextprotocol/protocolVersion': '2026-07-28',\n 'io.modelcontextprotocol/clientInfo': {\n name: 'yolk',\n version: '0.1.0'\n },\n 'io.modelcontextprotocol/clientCapabilities': {}\n }\n }\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'application/json'\n },\n body: '{\"jsonrpc\":\"2.0\",\"id\":1,\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"Invalid arguments: noteId must be a string.\"}],\"isError\":true,\"resultType\":\"complete\"}}'\n }\n }\n ]\n },\n {\n id: 'mcp.tools.call-tool-error.legacy.synthetic',\n caseId: 'mcp.tools.call-tool-error',\n evidence: 'unverified',\n recordedAt: '2026-10-01',\n account: 'synthetic',\n endpoint: 'https://mcp.example.test/legacy/mcp',\n note: 'A listing (the readOnlyHint precondition), then get_synthetic_note with a numeric noteId answered as a tool result with isError true and text content. Synthetic placeholder shaped like the MCP wire the pinned SDK speaks; not recorded from a live service.',\n exchanges: [\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-method': 'server/discover',\n 'mcp-protocol-version': '2026-07-28'\n },\n body: {\n jsonrpc: '2.0',\n id: 'server-discover-probe-1',\n method: 'server/discover',\n params: {\n _meta: {\n 'io.modelcontextprotocol/protocolVersion': '2026-07-28',\n 'io.modelcontextprotocol/clientInfo': {\n name: 'yolk',\n version: '0.1.0'\n },\n 'io.modelcontextprotocol/clientCapabilities': {}\n }\n }\n }\n },\n response: {\n status: 400,\n headers: {\n 'content-type': 'application/json'\n },\n body: '{\"jsonrpc\":\"2.0\",\"id\":null,\"error\":{\"code\":-32000,\"message\":\"Bad Request: Server not initialized\"}}'\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json'\n },\n body: {\n jsonrpc: '2.0',\n id: 0,\n method: 'initialize',\n params: {\n protocolVersion: '2025-11-25',\n capabilities: {},\n clientInfo: {\n name: 'yolk',\n version: '0.1.0'\n }\n }\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'text/event-stream',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n chunks: [\n 'event: message\\nid: evt-1\\ndata: {\"jsonrpc\":\"2.0\",\"method\":\"notifications/message\",\"params\":{\"level\":\"info\",\"data\":\"synthetic notification\"}}\\n\\n',\n 'event: message\\nid: evt-2\\ndata: {\"jsonrpc\":\"2.0\",\"id\":0,\"result\":{\"protocolVersion\":\"2025-11-25\",\"capabilities\":{\"tools\":{}},\"serverInfo\":{\"name\":\"yolk-synthetic-mcp\",\"version\":\"0.0.0\"}}}\\n\\n'\n ]\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-protocol-version': '2025-11-25',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n body: {\n jsonrpc: '2.0',\n method: 'notifications/initialized'\n }\n },\n response: {\n status: 202,\n headers: {},\n body: ''\n }\n },\n {\n request: {\n method: 'GET',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'text/event-stream',\n 'mcp-protocol-version': '2025-11-25',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n }\n },\n response: {\n status: 405,\n headers: {},\n body: ''\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-protocol-version': '2025-11-25',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n body: {\n jsonrpc: '2.0',\n id: 1,\n method: 'tools/list'\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'text/event-stream',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n chunks: [\n 'event: message\\nid: evt-1\\ndata: {\"jsonrpc\":\"2.0\",\"method\":\"notifications/message\",\"params\":{\"level\":\"info\",\"data\":\"synthetic notification\"}}\\n\\n',\n 'event: message\\nid: evt-2\\ndata: {\"jsonrpc\":\"2.0\",\"id\":1,\"result\":{\"tools\":[{\"name\":\"get_synthetic_note\",\"title\":\"Get a synthetic note\",\"description\":\"Read one synthetic note by id.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"}},\"required\":[\"noteId\"],\"additionalProperties\":false},\"outputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"}},\"required\":[\"noteId\",\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":true}},{\"name\":\"create_synthetic_note\",\"description\":\"Create one synthetic note.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\"}},\"required\":[\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":false,\"destructiveHint\":false}}]}}\\n\\n'\n ]\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-method': 'server/discover',\n 'mcp-protocol-version': '2026-07-28'\n },\n body: {\n jsonrpc: '2.0',\n id: 'server-discover-probe-1',\n method: 'server/discover',\n params: {\n _meta: {\n 'io.modelcontextprotocol/protocolVersion': '2026-07-28',\n 'io.modelcontextprotocol/clientInfo': {\n name: 'yolk',\n version: '0.1.0'\n },\n 'io.modelcontextprotocol/clientCapabilities': {}\n }\n }\n }\n },\n response: {\n status: 400,\n headers: {\n 'content-type': 'application/json'\n },\n body: '{\"jsonrpc\":\"2.0\",\"id\":null,\"error\":{\"code\":-32000,\"message\":\"Bad Request: Server not initialized\"}}'\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json'\n },\n body: {\n jsonrpc: '2.0',\n id: 0,\n method: 'initialize',\n params: {\n protocolVersion: '2025-11-25',\n capabilities: {},\n clientInfo: {\n name: 'yolk',\n version: '0.1.0'\n }\n }\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'text/event-stream',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n chunks: [\n 'event: message\\nid: evt-1\\ndata: {\"jsonrpc\":\"2.0\",\"method\":\"notifications/message\",\"params\":{\"level\":\"info\",\"data\":\"synthetic notification\"}}\\n\\n',\n 'event: message\\nid: evt-2\\ndata: {\"jsonrpc\":\"2.0\",\"id\":0,\"result\":{\"protocolVersion\":\"2025-11-25\",\"capabilities\":{\"tools\":{}},\"serverInfo\":{\"name\":\"yolk-synthetic-mcp\",\"version\":\"0.0.0\"}}}\\n\\n'\n ]\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-protocol-version': '2025-11-25',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n body: {\n jsonrpc: '2.0',\n method: 'notifications/initialized'\n }\n },\n response: {\n status: 202,\n headers: {},\n body: ''\n }\n },\n {\n request: {\n method: 'GET',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'text/event-stream',\n 'mcp-protocol-version': '2025-11-25',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n }\n },\n response: {\n status: 405,\n headers: {},\n body: ''\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-protocol-version': '2025-11-25',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n body: {\n jsonrpc: '2.0',\n id: 1,\n method: 'tools/list'\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'text/event-stream',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n chunks: [\n 'event: message\\nid: evt-1\\ndata: {\"jsonrpc\":\"2.0\",\"method\":\"notifications/message\",\"params\":{\"level\":\"info\",\"data\":\"synthetic notification\"}}\\n\\n',\n 'event: message\\nid: evt-2\\ndata: {\"jsonrpc\":\"2.0\",\"id\":1,\"result\":{\"tools\":[{\"name\":\"get_synthetic_note\",\"title\":\"Get a synthetic note\",\"description\":\"Read one synthetic note by id.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"}},\"required\":[\"noteId\"],\"additionalProperties\":false},\"outputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"}},\"required\":[\"noteId\",\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":true}},{\"name\":\"create_synthetic_note\",\"description\":\"Create one synthetic note.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\"}},\"required\":[\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":false,\"destructiveHint\":false}}]}}\\n\\n'\n ]\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-protocol-version': '2025-11-25',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n body: {\n jsonrpc: '2.0',\n id: 2,\n method: 'tools/call',\n params: {\n name: 'get_synthetic_note',\n arguments: {\n noteId: 42\n }\n }\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'text/event-stream',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n chunks: [\n 'event: message\\nid: evt-1\\ndata: {\"jsonrpc\":\"2.0\",\"method\":\"notifications/message\",\"params\":{\"level\":\"info\",\"data\":\"synthetic notification\"}}\\n\\n',\n 'event: message\\nid: evt-2\\ndata: {\"jsonrpc\":\"2.0\",\"id\":2,\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"Invalid arguments: noteId must be a string.\"}],\"isError\":true}}\\n\\n'\n ]\n }\n }\n ]\n },\n {\n id: 'mcp.errors.unknown-tool.modern.synthetic',\n caseId: 'mcp.errors.unknown-tool',\n evidence: 'unverified',\n recordedAt: '2026-10-01',\n account: 'synthetic',\n endpoint: 'https://mcp.example.test/modern/mcp',\n note: 'A listing without the absent tool, then tools/call of it answered HTTP 400 with a JSON-RPC -32602 error carrying the request id. Synthetic placeholder shaped like the MCP wire the pinned SDK speaks; not recorded from a live service.',\n exchanges: [\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/modern/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-method': 'server/discover',\n 'mcp-protocol-version': '2026-07-28'\n },\n body: {\n jsonrpc: '2.0',\n id: 'server-discover-probe-1',\n method: 'server/discover',\n params: {\n _meta: {\n 'io.modelcontextprotocol/protocolVersion': '2026-07-28',\n 'io.modelcontextprotocol/clientInfo': {\n name: 'yolk',\n version: '0.1.0'\n },\n 'io.modelcontextprotocol/clientCapabilities': {}\n }\n }\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'application/json'\n },\n body: '{\"jsonrpc\":\"2.0\",\"id\":\"server-discover-probe-1\",\"result\":{\"supportedVersions\":[\"2026-07-28\"],\"capabilities\":{\"tools\":{}},\"resultType\":\"complete\",\"ttlMs\":0,\"cacheScope\":\"private\",\"_meta\":{\"io.modelcontextprotocol/serverInfo\":{\"name\":\"yolk-synthetic-mcp\",\"version\":\"0.0.0\"}}}}'\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/modern/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-method': 'tools/list',\n 'mcp-protocol-version': '2026-07-28'\n },\n body: {\n jsonrpc: '2.0',\n id: 0,\n method: 'tools/list',\n params: {\n _meta: {\n 'io.modelcontextprotocol/protocolVersion': '2026-07-28',\n 'io.modelcontextprotocol/clientInfo': {\n name: 'yolk',\n version: '0.1.0'\n },\n 'io.modelcontextprotocol/clientCapabilities': {}\n }\n }\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'application/json'\n },\n body: '{\"jsonrpc\":\"2.0\",\"id\":0,\"result\":{\"tools\":[{\"name\":\"get_synthetic_note\",\"title\":\"Get a synthetic note\",\"description\":\"Read one synthetic note by id.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"}},\"required\":[\"noteId\"],\"additionalProperties\":false},\"outputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"}},\"required\":[\"noteId\",\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":true}},{\"name\":\"create_synthetic_note\",\"description\":\"Create one synthetic note.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\"}},\"required\":[\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":false,\"destructiveHint\":false}}],\"resultType\":\"complete\",\"ttlMs\":0,\"cacheScope\":\"private\"}}'\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/modern/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-method': 'server/discover',\n 'mcp-protocol-version': '2026-07-28'\n },\n body: {\n jsonrpc: '2.0',\n id: 'server-discover-probe-1',\n method: 'server/discover',\n params: {\n _meta: {\n 'io.modelcontextprotocol/protocolVersion': '2026-07-28',\n 'io.modelcontextprotocol/clientInfo': {\n name: 'yolk',\n version: '0.1.0'\n },\n 'io.modelcontextprotocol/clientCapabilities': {}\n }\n }\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'application/json'\n },\n body: '{\"jsonrpc\":\"2.0\",\"id\":\"server-discover-probe-1\",\"result\":{\"supportedVersions\":[\"2026-07-28\"],\"capabilities\":{\"tools\":{}},\"resultType\":\"complete\",\"ttlMs\":0,\"cacheScope\":\"private\",\"_meta\":{\"io.modelcontextprotocol/serverInfo\":{\"name\":\"yolk-synthetic-mcp\",\"version\":\"0.0.0\"}}}}'\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/modern/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-method': 'tools/list',\n 'mcp-protocol-version': '2026-07-28'\n },\n body: {\n jsonrpc: '2.0',\n id: 0,\n method: 'tools/list',\n params: {\n _meta: {\n 'io.modelcontextprotocol/protocolVersion': '2026-07-28',\n 'io.modelcontextprotocol/clientInfo': {\n name: 'yolk',\n version: '0.1.0'\n },\n 'io.modelcontextprotocol/clientCapabilities': {}\n }\n }\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'application/json'\n },\n body: '{\"jsonrpc\":\"2.0\",\"id\":0,\"result\":{\"tools\":[{\"name\":\"get_synthetic_note\",\"title\":\"Get a synthetic note\",\"description\":\"Read one synthetic note by id.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"}},\"required\":[\"noteId\"],\"additionalProperties\":false},\"outputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"}},\"required\":[\"noteId\",\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":true}},{\"name\":\"create_synthetic_note\",\"description\":\"Create one synthetic note.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\"}},\"required\":[\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":false,\"destructiveHint\":false}}],\"resultType\":\"complete\",\"ttlMs\":0,\"cacheScope\":\"private\"}}'\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/modern/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-method': 'tools/call',\n 'mcp-protocol-version': '2026-07-28',\n 'mcp-name': 'yolk_conformance_absent'\n },\n body: {\n jsonrpc: '2.0',\n id: 1,\n method: 'tools/call',\n params: {\n name: 'yolk_conformance_absent',\n arguments: {},\n _meta: {\n 'io.modelcontextprotocol/protocolVersion': '2026-07-28',\n 'io.modelcontextprotocol/clientInfo': {\n name: 'yolk',\n version: '0.1.0'\n },\n 'io.modelcontextprotocol/clientCapabilities': {}\n }\n }\n }\n },\n response: {\n status: 400,\n headers: {\n 'content-type': 'application/json'\n },\n body: '{\"jsonrpc\":\"2.0\",\"id\":1,\"error\":{\"code\":-32602,\"message\":\"Tool yolk_conformance_absent not found\"}}'\n }\n }\n ]\n },\n {\n id: 'mcp.errors.unknown-tool.legacy.synthetic',\n caseId: 'mcp.errors.unknown-tool',\n evidence: 'unverified',\n recordedAt: '2026-10-01',\n account: 'synthetic',\n endpoint: 'https://mcp.example.test/legacy/mcp',\n note: 'A listing without the absent tool, then tools/call of it answered HTTP 200 with a JSON-RPC -32602 error event carrying the request id. Synthetic placeholder shaped like the MCP wire the pinned SDK speaks; not recorded from a live service.',\n exchanges: [\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-method': 'server/discover',\n 'mcp-protocol-version': '2026-07-28'\n },\n body: {\n jsonrpc: '2.0',\n id: 'server-discover-probe-1',\n method: 'server/discover',\n params: {\n _meta: {\n 'io.modelcontextprotocol/protocolVersion': '2026-07-28',\n 'io.modelcontextprotocol/clientInfo': {\n name: 'yolk',\n version: '0.1.0'\n },\n 'io.modelcontextprotocol/clientCapabilities': {}\n }\n }\n }\n },\n response: {\n status: 400,\n headers: {\n 'content-type': 'application/json'\n },\n body: '{\"jsonrpc\":\"2.0\",\"id\":null,\"error\":{\"code\":-32000,\"message\":\"Bad Request: Server not initialized\"}}'\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json'\n },\n body: {\n jsonrpc: '2.0',\n id: 0,\n method: 'initialize',\n params: {\n protocolVersion: '2025-11-25',\n capabilities: {},\n clientInfo: {\n name: 'yolk',\n version: '0.1.0'\n }\n }\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'text/event-stream',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n chunks: [\n 'event: message\\nid: evt-1\\ndata: {\"jsonrpc\":\"2.0\",\"method\":\"notifications/message\",\"params\":{\"level\":\"info\",\"data\":\"synthetic notification\"}}\\n\\n',\n 'event: message\\nid: evt-2\\ndata: {\"jsonrpc\":\"2.0\",\"id\":0,\"result\":{\"protocolVersion\":\"2025-11-25\",\"capabilities\":{\"tools\":{}},\"serverInfo\":{\"name\":\"yolk-synthetic-mcp\",\"version\":\"0.0.0\"}}}\\n\\n'\n ]\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-protocol-version': '2025-11-25',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n body: {\n jsonrpc: '2.0',\n method: 'notifications/initialized'\n }\n },\n response: {\n status: 202,\n headers: {},\n body: ''\n }\n },\n {\n request: {\n method: 'GET',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'text/event-stream',\n 'mcp-protocol-version': '2025-11-25',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n }\n },\n response: {\n status: 405,\n headers: {},\n body: ''\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-protocol-version': '2025-11-25',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n body: {\n jsonrpc: '2.0',\n id: 1,\n method: 'tools/list'\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'text/event-stream',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n chunks: [\n 'event: message\\nid: evt-1\\ndata: {\"jsonrpc\":\"2.0\",\"method\":\"notifications/message\",\"params\":{\"level\":\"info\",\"data\":\"synthetic notification\"}}\\n\\n',\n 'event: message\\nid: evt-2\\ndata: {\"jsonrpc\":\"2.0\",\"id\":1,\"result\":{\"tools\":[{\"name\":\"get_synthetic_note\",\"title\":\"Get a synthetic note\",\"description\":\"Read one synthetic note by id.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"}},\"required\":[\"noteId\"],\"additionalProperties\":false},\"outputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"}},\"required\":[\"noteId\",\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":true}},{\"name\":\"create_synthetic_note\",\"description\":\"Create one synthetic note.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\"}},\"required\":[\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":false,\"destructiveHint\":false}}]}}\\n\\n'\n ]\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-method': 'server/discover',\n 'mcp-protocol-version': '2026-07-28'\n },\n body: {\n jsonrpc: '2.0',\n id: 'server-discover-probe-1',\n method: 'server/discover',\n params: {\n _meta: {\n 'io.modelcontextprotocol/protocolVersion': '2026-07-28',\n 'io.modelcontextprotocol/clientInfo': {\n name: 'yolk',\n version: '0.1.0'\n },\n 'io.modelcontextprotocol/clientCapabilities': {}\n }\n }\n }\n },\n response: {\n status: 400,\n headers: {\n 'content-type': 'application/json'\n },\n body: '{\"jsonrpc\":\"2.0\",\"id\":null,\"error\":{\"code\":-32000,\"message\":\"Bad Request: Server not initialized\"}}'\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json'\n },\n body: {\n jsonrpc: '2.0',\n id: 0,\n method: 'initialize',\n params: {\n protocolVersion: '2025-11-25',\n capabilities: {},\n clientInfo: {\n name: 'yolk',\n version: '0.1.0'\n }\n }\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'text/event-stream',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n chunks: [\n 'event: message\\nid: evt-1\\ndata: {\"jsonrpc\":\"2.0\",\"method\":\"notifications/message\",\"params\":{\"level\":\"info\",\"data\":\"synthetic notification\"}}\\n\\n',\n 'event: message\\nid: evt-2\\ndata: {\"jsonrpc\":\"2.0\",\"id\":0,\"result\":{\"protocolVersion\":\"2025-11-25\",\"capabilities\":{\"tools\":{}},\"serverInfo\":{\"name\":\"yolk-synthetic-mcp\",\"version\":\"0.0.0\"}}}\\n\\n'\n ]\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-protocol-version': '2025-11-25',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n body: {\n jsonrpc: '2.0',\n method: 'notifications/initialized'\n }\n },\n response: {\n status: 202,\n headers: {},\n body: ''\n }\n },\n {\n request: {\n method: 'GET',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'text/event-stream',\n 'mcp-protocol-version': '2025-11-25',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n }\n },\n response: {\n status: 405,\n headers: {},\n body: ''\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-protocol-version': '2025-11-25',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n body: {\n jsonrpc: '2.0',\n id: 1,\n method: 'tools/list'\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'text/event-stream',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n chunks: [\n 'event: message\\nid: evt-1\\ndata: {\"jsonrpc\":\"2.0\",\"method\":\"notifications/message\",\"params\":{\"level\":\"info\",\"data\":\"synthetic notification\"}}\\n\\n',\n 'event: message\\nid: evt-2\\ndata: {\"jsonrpc\":\"2.0\",\"id\":1,\"result\":{\"tools\":[{\"name\":\"get_synthetic_note\",\"title\":\"Get a synthetic note\",\"description\":\"Read one synthetic note by id.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"}},\"required\":[\"noteId\"],\"additionalProperties\":false},\"outputSchema\":{\"type\":\"object\",\"properties\":{\"noteId\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"}},\"required\":[\"noteId\",\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":true}},{\"name\":\"create_synthetic_note\",\"description\":\"Create one synthetic note.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\"}},\"required\":[\"text\"],\"additionalProperties\":false},\"annotations\":{\"readOnlyHint\":false,\"destructiveHint\":false}}]}}\\n\\n'\n ]\n }\n },\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-protocol-version': '2025-11-25',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n body: {\n jsonrpc: '2.0',\n id: 2,\n method: 'tools/call',\n params: {\n name: 'yolk_conformance_absent',\n arguments: {}\n }\n }\n },\n response: {\n status: 200,\n headers: {\n 'content-type': 'text/event-stream',\n 'mcp-session-id': 'yolk-synthetic-session-0001'\n },\n chunks: [\n 'event: message\\nid: evt-1\\ndata: {\"jsonrpc\":\"2.0\",\"method\":\"notifications/message\",\"params\":{\"level\":\"info\",\"data\":\"synthetic notification\"}}\\n\\n',\n 'event: message\\nid: evt-2\\ndata: {\"jsonrpc\":\"2.0\",\"id\":2,\"error\":{\"code\":-32602,\"message\":\"Tool yolk_conformance_absent not found\"}}\\n\\n'\n ]\n }\n }\n ]\n },\n {\n id: 'mcp.auth.rejected.modern.synthetic',\n caseId: 'mcp.auth.rejected',\n evidence: 'unverified',\n recordedAt: '2026-10-01',\n account: 'synthetic',\n endpoint: 'https://mcp.example.test/modern/mcp',\n note: 'The era probe sent with the reserved invalid credential (authorization is never recorded), answered 401 with a WWW-Authenticate challenge. Synthetic placeholder shaped like the MCP wire the pinned SDK speaks; not recorded from a live service.',\n exchanges: [\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/modern/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-method': 'server/discover',\n 'mcp-protocol-version': '2026-07-28'\n },\n body: {\n jsonrpc: '2.0',\n id: 'server-discover-probe-1',\n method: 'server/discover',\n params: {\n _meta: {\n 'io.modelcontextprotocol/protocolVersion': '2026-07-28',\n 'io.modelcontextprotocol/clientInfo': {\n name: 'yolk',\n version: '0.1.0'\n },\n 'io.modelcontextprotocol/clientCapabilities': {}\n }\n }\n }\n },\n response: {\n status: 401,\n headers: {\n 'content-type': 'application/json',\n 'www-authenticate': 'Bearer error=\"invalid_token\"'\n },\n body: '{\"error\":\"invalid_token\",\"error_description\":\"Synthetic rejection.\"}'\n }\n }\n ]\n },\n {\n id: 'mcp.auth.rejected.legacy.synthetic',\n caseId: 'mcp.auth.rejected',\n evidence: 'unverified',\n recordedAt: '2026-10-01',\n account: 'synthetic',\n endpoint: 'https://mcp.example.test/legacy/mcp',\n note: 'The era probe sent with the reserved invalid credential (authorization is never recorded), answered 401 with a WWW-Authenticate challenge. Synthetic placeholder shaped like the MCP wire the pinned SDK speaks; not recorded from a live service.',\n exchanges: [\n {\n request: {\n method: 'POST',\n url: 'https://mcp.example.test/legacy/mcp',\n headers: {\n accept: 'application/json, text/event-stream',\n 'content-type': 'application/json',\n 'mcp-method': 'server/discover',\n 'mcp-protocol-version': '2026-07-28'\n },\n body: {\n jsonrpc: '2.0',\n id: 'server-discover-probe-1',\n method: 'server/discover',\n params: {\n _meta: {\n 'io.modelcontextprotocol/protocolVersion': '2026-07-28',\n 'io.modelcontextprotocol/clientInfo': {\n name: 'yolk',\n version: '0.1.0'\n },\n 'io.modelcontextprotocol/clientCapabilities': {}\n }\n }\n }\n },\n response: {\n status: 401,\n headers: {\n 'content-type': 'application/json',\n 'www-authenticate': 'Bearer error=\"invalid_token\"'\n },\n body: '{\"error\":\"invalid_token\",\"error_description\":\"Synthetic rejection.\"}'\n }\n }\n ]\n }\n]\n"],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ import * as Schema from "effect/Schema";
2
+
3
+ //#region src/mcp/state.d.ts
4
+ /** The reserved origin both synthetic profiles answer on; another origin is not emulated. */
5
+ declare const mcpEmulatorOrigin = "https://mcp.example.test";
6
+ /** The synthetic modern server: stateless `2026-07-28`, JSON answers. */
7
+ declare const mcpEmulatorModernPath = "/modern/mcp";
8
+ /** The synthetic legacy server: an `initialize` handshake, a session, and SSE answers. */
9
+ declare const mcpEmulatorLegacyPath = "/legacy/mcp";
10
+ /**
11
+ * The public reserved invalid credential of the MCP auth case: the only credential value the
12
+ * emulator compares a bearer with (through its digest), answered the recorded 401.
13
+ */
14
+ declare const mcpEmulatorReservedInvalidCredential = "yolk-conformance-invalid-credential-0000";
15
+ /** The minted session id form (`yolk-emu-session-<n>`, `n` from a counter that never resets). */
16
+ declare const mcpEmulatorSessionPrefix = "yolk-emu-session-";
17
+ /** At most this many sessions are held; an `initialize` beyond it is refused before any fault. */
18
+ declare const mcpEmulatorSessionCap = 256;
19
+ /**
20
+ * Which recorded modern listing `tools/list` answers: `one-page` (the listing every calling
21
+ * fixture records; the default) or `two-pages` (the paged listing of `mcp.tools.list`, whose first
22
+ * page issues a cursor). Both come from fixtures; neither is synthesised.
23
+ */
24
+ declare const McpEmulatorModernListing: Schema.Literals<readonly ["one-page", "two-pages"]>;
25
+ type McpEmulatorModernListing = typeof McpEmulatorModernListing.Type;
26
+ /** A legacy session: minted by `initialize`, ready after `notifications/initialized`. */
27
+ declare const McpEmulatorSession: Schema.Struct<{
28
+ readonly id: Schema.String;
29
+ readonly phase: Schema.Literals<readonly ["initializing", "ready"]>;
30
+ }>;
31
+ type McpEmulatorSession = typeof McpEmulatorSession.Type;
32
+ /** The emulator state (a JSON value the core snapshots and restores). */
33
+ declare const McpEmulatorStateSchema: Schema.Struct<{
34
+ readonly modernListing: Schema.Literals<readonly ["one-page", "two-pages"]>;
35
+ readonly sessions: Schema.$Array<Schema.Struct<{
36
+ readonly id: Schema.String;
37
+ readonly phase: Schema.Literals<readonly ["initializing", "ready"]>;
38
+ }>>;
39
+ }>;
40
+ type McpEmulatorState = {
41
+ modernListing: McpEmulatorModernListing;
42
+ sessions: ReadonlyArray<McpEmulatorSession>;
43
+ };
44
+ /** The typed seed: only the modern listing; it holds no session. */
45
+ declare const McpEmulatorSeed: Schema.Struct<{
46
+ readonly modernListing: Schema.optionalKey<Schema.Literals<readonly ["one-page", "two-pages"]>>;
47
+ }>;
48
+ type McpEmulatorSeed = typeof McpEmulatorSeed.Type;
49
+ /** Build the state of a seed (no sessions), or why the seed is invalid. */
50
+ declare const buildSeedState: (input: unknown) => McpEmulatorState | string;
51
+ /** Decode a whole state (the core's seed validation), or why it is invalid. */
52
+ declare const decodeState: (input: unknown) => McpEmulatorState | string;
53
+ /**
54
+ * The one-way digest routes see instead of the bearer: SHA-256 of the arrival origin, a space,
55
+ * and the bearer (the wrapper's opt-in `bearerDigest`).
56
+ */
57
+ declare const mcpBearerDigest: (bearer: string, origin: string) => string;
58
+ /**
59
+ * Runtime data (never in the state): the session counter and the cursor generation never reset;
60
+ * the cursor issued in the current generation is cleared on every reset and seed.
61
+ */
62
+ type McpRuntime = {
63
+ /** The number of the next minted session (never reset). */nextSession: number; /** Starts at 1; every reset and seed starts the next generation (never reset). */
64
+ generation: number; /** The generation that first issued the recorded cursor (never reset). */
65
+ cursorFirstGeneration: number | undefined; /** The cursor issued in the current generation, if any. */
66
+ issuedCursor: string | undefined;
67
+ };
68
+ declare const makeMcpRuntime: () => McpRuntime;
69
+ //#endregion
70
+ export { McpEmulatorModernListing, McpEmulatorSeed, McpEmulatorSession, McpEmulatorState, McpEmulatorStateSchema, McpRuntime, buildSeedState, decodeState, makeMcpRuntime, mcpBearerDigest, mcpEmulatorLegacyPath, mcpEmulatorModernPath, mcpEmulatorOrigin, mcpEmulatorReservedInvalidCredential, mcpEmulatorSessionCap, mcpEmulatorSessionPrefix };
71
+ //# sourceMappingURL=state.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.mts","names":[],"sources":["../../src/mcp/state.ts"],"mappings":";;;;cAea,iBAAA;AAAb;AAAA,cAGa,qBAAA;;cAGA,qBAAA;AANiB;AAG9B;;;AAH8B,cAYjB,oCAAA;AATqB;AAAA,cAYrB,wBAAA;;cAGA,qBAAA;;AAZqB;AAMlC;;;cAaa,wBAAA,EAAwB,MAAA,CAAA,QAAA;AAAA,KAEzB,wBAAA,UAAkC,wBAAA,CAAyB,IAAI;AAZ3E;AAAA,cAea,kBAAA,EAAkB,MAAA,CAAA,MAAA;EAAA;;;KAKnB,kBAAA,UAA4B,kBAAA,CAAmB,IAAI;;cAGlD,sBAAA,EAAsB,MAAA,CAAA,MAAA;EAAA;;;;;;KAKvB,gBAAA;EACV,aAAA,EAAe,wBAAA;EACf,QAAA,EAAU,aAAA,CAAc,kBAAA;AAAA;;cAIb,eAAA,EAAe,MAAA,CAAA,MAAA;EAAA;;KAIhB,eAAA,UAAyB,eAAA,CAAgB,IAAI;;cAY5C,cAAA,GAAkB,KAAA,cAAiB,gBAAgB;;cASnD,WAAA,GAAe,KAAA,cAAiB,gBAAgB;;;;;cAYhD,eAAA,GAAmB,MAAA,UAAgB,MAAc;;;;;KAOlD,UAAA;6DAEV,WAAA,UA5D4B;EA8D5B,UAAA,UA9DsC;EAgEtC,qBAAA,sBA7DW;EA+DX,YAAA;AAAA;AAAA,cAGW,cAAA,QAAqB,UAKhC"}
@@ -0,0 +1,83 @@
1
+ import { Result } from "effect";
2
+ import * as Schema from "effect/Schema";
3
+ import { createHash } from "node:crypto";
4
+ //#region src/mcp/state.ts
5
+ /**
6
+ * MCP emulator state, seed, profiles, and minted value forms (internal).
7
+ *
8
+ * The state holds the modern listing the seed selects and the legacy sessions minted since the
9
+ * last reset or seed; a seed holds no session, so no seeded value can take the minted
10
+ * `yolk-emu-session-<n>` form. The session counter and the cursor generation are runtime data
11
+ * that never reset (`McpRuntime`).
12
+ *
13
+ * @experimental
14
+ */
15
+ /** The reserved origin both synthetic profiles answer on; another origin is not emulated. */
16
+ const mcpEmulatorOrigin = "https://mcp.example.test";
17
+ /** The synthetic modern server: stateless `2026-07-28`, JSON answers. */
18
+ const mcpEmulatorModernPath = "/modern/mcp";
19
+ /** The synthetic legacy server: an `initialize` handshake, a session, and SSE answers. */
20
+ const mcpEmulatorLegacyPath = "/legacy/mcp";
21
+ /**
22
+ * The public reserved invalid credential of the MCP auth case: the only credential value the
23
+ * emulator compares a bearer with (through its digest), answered the recorded 401.
24
+ */
25
+ const mcpEmulatorReservedInvalidCredential = "yolk-conformance-invalid-credential-0000";
26
+ /** The minted session id form (`yolk-emu-session-<n>`, `n` from a counter that never resets). */
27
+ const mcpEmulatorSessionPrefix = "yolk-emu-session-";
28
+ /** At most this many sessions are held; an `initialize` beyond it is refused before any fault. */
29
+ const mcpEmulatorSessionCap = 256;
30
+ /**
31
+ * Which recorded modern listing `tools/list` answers: `one-page` (the listing every calling
32
+ * fixture records; the default) or `two-pages` (the paged listing of `mcp.tools.list`, whose first
33
+ * page issues a cursor). Both come from fixtures; neither is synthesised.
34
+ */
35
+ const McpEmulatorModernListing = Schema.Literals(["one-page", "two-pages"]);
36
+ /** A legacy session: minted by `initialize`, ready after `notifications/initialized`. */
37
+ const McpEmulatorSession = Schema.Struct({
38
+ id: Schema.String,
39
+ phase: Schema.Literals(["initializing", "ready"])
40
+ });
41
+ /** The emulator state (a JSON value the core snapshots and restores). */
42
+ const McpEmulatorStateSchema = Schema.Struct({
43
+ modernListing: McpEmulatorModernListing,
44
+ sessions: Schema.Array(McpEmulatorSession)
45
+ });
46
+ /** The typed seed: only the modern listing; it holds no session. */
47
+ const McpEmulatorSeed = Schema.Struct({ modernListing: Schema.optionalKey(McpEmulatorModernListing) });
48
+ const strict = { onExcessProperty: "error" };
49
+ const decodeSeed = Schema.decodeUnknownResult(McpEmulatorSeed, strict);
50
+ const decodeStateSchema = Schema.decodeUnknownResult(McpEmulatorStateSchema, strict);
51
+ const issueMessage = (issue) => new Schema.SchemaError(issue).message;
52
+ /** Build the state of a seed (no sessions), or why the seed is invalid. */
53
+ const buildSeedState = (input) => {
54
+ const decoded = decodeSeed(input);
55
+ if (Result.isFailure(decoded)) return issueMessage(decoded.failure.issue);
56
+ return {
57
+ modernListing: decoded.success.modernListing ?? "one-page",
58
+ sessions: []
59
+ };
60
+ };
61
+ /** Decode a whole state (the core's seed validation), or why it is invalid. */
62
+ const decodeState = (input) => {
63
+ const decoded = decodeStateSchema(input);
64
+ return Result.isFailure(decoded) ? issueMessage(decoded.failure.issue) : {
65
+ modernListing: decoded.success.modernListing,
66
+ sessions: decoded.success.sessions
67
+ };
68
+ };
69
+ /**
70
+ * The one-way digest routes see instead of the bearer: SHA-256 of the arrival origin, a space,
71
+ * and the bearer (the wrapper's opt-in `bearerDigest`).
72
+ */
73
+ const mcpBearerDigest = (bearer, origin) => createHash("sha256").update(`${origin} ${bearer}`, "utf8").digest("hex");
74
+ const makeMcpRuntime = () => ({
75
+ nextSession: 1,
76
+ generation: 1,
77
+ cursorFirstGeneration: void 0,
78
+ issuedCursor: void 0
79
+ });
80
+ //#endregion
81
+ export { McpEmulatorModernListing, McpEmulatorSeed, McpEmulatorSession, McpEmulatorStateSchema, buildSeedState, decodeState, makeMcpRuntime, mcpBearerDigest, mcpEmulatorLegacyPath, mcpEmulatorModernPath, mcpEmulatorOrigin, mcpEmulatorReservedInvalidCredential, mcpEmulatorSessionCap, mcpEmulatorSessionPrefix };
82
+
83
+ //# sourceMappingURL=state.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.mjs","names":[],"sources":["../../src/mcp/state.ts"],"sourcesContent":["/**\n * MCP emulator state, seed, profiles, and minted value forms (internal).\n *\n * The state holds the modern listing the seed selects and the legacy sessions minted since the\n * last reset or seed; a seed holds no session, so no seeded value can take the minted\n * `yolk-emu-session-<n>` form. The session counter and the cursor generation are runtime data\n * that never reset (`McpRuntime`).\n *\n * @experimental\n */\nimport { createHash } from 'node:crypto'\nimport { Result } from 'effect'\nimport * as Schema from 'effect/Schema'\n\n/** The reserved origin both synthetic profiles answer on; another origin is not emulated. */\nexport const mcpEmulatorOrigin = 'https://mcp.example.test'\n\n/** The synthetic modern server: stateless `2026-07-28`, JSON answers. */\nexport const mcpEmulatorModernPath = '/modern/mcp'\n\n/** The synthetic legacy server: an `initialize` handshake, a session, and SSE answers. */\nexport const mcpEmulatorLegacyPath = '/legacy/mcp'\n\n/**\n * The public reserved invalid credential of the MCP auth case: the only credential value the\n * emulator compares a bearer with (through its digest), answered the recorded 401.\n */\nexport const mcpEmulatorReservedInvalidCredential = 'yolk-conformance-invalid-credential-0000'\n\n/** The minted session id form (`yolk-emu-session-<n>`, `n` from a counter that never resets). */\nexport const mcpEmulatorSessionPrefix = 'yolk-emu-session-'\n\n/** At most this many sessions are held; an `initialize` beyond it is refused before any fault. */\nexport const mcpEmulatorSessionCap = 256\n\n/**\n * Which recorded modern listing `tools/list` answers: `one-page` (the listing every calling\n * fixture records; the default) or `two-pages` (the paged listing of `mcp.tools.list`, whose first\n * page issues a cursor). Both come from fixtures; neither is synthesised.\n */\nexport const McpEmulatorModernListing = Schema.Literals(['one-page', 'two-pages'])\n\nexport type McpEmulatorModernListing = typeof McpEmulatorModernListing.Type\n\n/** A legacy session: minted by `initialize`, ready after `notifications/initialized`. */\nexport const McpEmulatorSession = Schema.Struct({\n id: Schema.String,\n phase: Schema.Literals(['initializing', 'ready'])\n})\n\nexport type McpEmulatorSession = typeof McpEmulatorSession.Type\n\n/** The emulator state (a JSON value the core snapshots and restores). */\nexport const McpEmulatorStateSchema = Schema.Struct({\n modernListing: McpEmulatorModernListing,\n sessions: Schema.Array(McpEmulatorSession)\n})\n\nexport type McpEmulatorState = {\n modernListing: McpEmulatorModernListing\n sessions: ReadonlyArray<McpEmulatorSession>\n}\n\n/** The typed seed: only the modern listing; it holds no session. */\nexport const McpEmulatorSeed = Schema.Struct({\n modernListing: Schema.optionalKey(McpEmulatorModernListing)\n})\n\nexport type McpEmulatorSeed = typeof McpEmulatorSeed.Type\n\nconst strict = { onExcessProperty: 'error' } as const\n\nconst decodeSeed = Schema.decodeUnknownResult(McpEmulatorSeed, strict)\n\nconst decodeStateSchema = Schema.decodeUnknownResult(McpEmulatorStateSchema, strict)\n\nconst issueMessage = (issue: Schema.SchemaError['issue']): string =>\n new Schema.SchemaError(issue).message\n\n/** Build the state of a seed (no sessions), or why the seed is invalid. */\nexport const buildSeedState = (input: unknown): McpEmulatorState | string => {\n const decoded = decodeSeed(input)\n\n if (Result.isFailure(decoded)) return issueMessage(decoded.failure.issue)\n\n return { modernListing: decoded.success.modernListing ?? 'one-page', sessions: [] }\n}\n\n/** Decode a whole state (the core's seed validation), or why it is invalid. */\nexport const decodeState = (input: unknown): McpEmulatorState | string => {\n const decoded = decodeStateSchema(input)\n\n return Result.isFailure(decoded)\n ? issueMessage(decoded.failure.issue)\n : { modernListing: decoded.success.modernListing, sessions: decoded.success.sessions }\n}\n\n/**\n * The one-way digest routes see instead of the bearer: SHA-256 of the arrival origin, a space,\n * and the bearer (the wrapper's opt-in `bearerDigest`).\n */\nexport const mcpBearerDigest = (bearer: string, origin: string): string =>\n createHash('sha256').update(`${origin} ${bearer}`, 'utf8').digest('hex')\n\n/**\n * Runtime data (never in the state): the session counter and the cursor generation never reset;\n * the cursor issued in the current generation is cleared on every reset and seed.\n */\nexport type McpRuntime = {\n /** The number of the next minted session (never reset). */\n nextSession: number\n /** Starts at 1; every reset and seed starts the next generation (never reset). */\n generation: number\n /** The generation that first issued the recorded cursor (never reset). */\n cursorFirstGeneration: number | undefined\n /** The cursor issued in the current generation, if any. */\n issuedCursor: string | undefined\n}\n\nexport const makeMcpRuntime = (): McpRuntime => ({\n nextSession: 1,\n generation: 1,\n cursorFirstGeneration: undefined,\n issuedCursor: undefined\n})\n"],"mappings":";;;;;;;;;;;;;;;AAeA,MAAa,oBAAoB;;AAGjC,MAAa,wBAAwB;;AAGrC,MAAa,wBAAwB;;;;;AAMrC,MAAa,uCAAuC;;AAGpD,MAAa,2BAA2B;;AAGxC,MAAa,wBAAwB;;;;;;AAOrC,MAAa,2BAA2B,OAAO,SAAS,CAAC,YAAY,WAAW,CAAC;;AAKjF,MAAa,qBAAqB,OAAO,OAAO;CAC9C,IAAI,OAAO;CACX,OAAO,OAAO,SAAS,CAAC,gBAAgB,OAAO,CAAC;AAClD,CAAC;;AAKD,MAAa,yBAAyB,OAAO,OAAO;CAClD,eAAe;CACf,UAAU,OAAO,MAAM,kBAAkB;AAC3C,CAAC;;AAQD,MAAa,kBAAkB,OAAO,OAAO,EAC3C,eAAe,OAAO,YAAY,wBAAwB,EAC5D,CAAC;AAID,MAAM,SAAS,EAAE,kBAAkB,QAAQ;AAE3C,MAAM,aAAa,OAAO,oBAAoB,iBAAiB,MAAM;AAErE,MAAM,oBAAoB,OAAO,oBAAoB,wBAAwB,MAAM;AAEnF,MAAM,gBAAgB,UACpB,IAAI,OAAO,YAAY,KAAK,EAAE;;AAGhC,MAAa,kBAAkB,UAA8C;CAC3E,MAAM,UAAU,WAAW,KAAK;CAEhC,IAAI,OAAO,UAAU,OAAO,GAAG,OAAO,aAAa,QAAQ,QAAQ,KAAK;CAExE,OAAO;EAAE,eAAe,QAAQ,QAAQ,iBAAiB;EAAY,UAAU,CAAC;CAAE;AACpF;;AAGA,MAAa,eAAe,UAA8C;CACxE,MAAM,UAAU,kBAAkB,KAAK;CAEvC,OAAO,OAAO,UAAU,OAAO,IAC3B,aAAa,QAAQ,QAAQ,KAAK,IAClC;EAAE,eAAe,QAAQ,QAAQ;EAAe,UAAU,QAAQ,QAAQ;CAAS;AACzF;;;;;AAMA,MAAa,mBAAmB,QAAgB,WAC9C,WAAW,QAAQ,EAAE,OAAO,GAAG,OAAO,GAAG,UAAU,MAAM,EAAE,OAAO,KAAK;AAiBzE,MAAa,wBAAoC;CAC/C,aAAa;CACb,YAAY;CACZ,uBAAuB,KAAA;CACvB,cAAc,KAAA;AAChB"}