@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.
- package/LICENSE +21 -0
- package/README.md +2135 -0
- package/dist/anthropic.d.mts +269 -0
- package/dist/anthropic.d.mts.map +1 -0
- package/dist/anthropic.mjs +177 -0
- package/dist/anthropic.mjs.map +1 -0
- package/dist/chat-completions.d.mts +288 -0
- package/dist/chat-completions.d.mts.map +1 -0
- package/dist/chat-completions.mjs +451 -0
- package/dist/chat-completions.mjs.map +1 -0
- package/dist/codex.d.mts +265 -0
- package/dist/codex.d.mts.map +1 -0
- package/dist/codex.mjs +199 -0
- package/dist/codex.mjs.map +1 -0
- package/dist/dropbox/api.d.mts +63 -0
- package/dist/dropbox/api.d.mts.map +1 -0
- package/dist/dropbox/api.mjs +565 -0
- package/dist/dropbox/api.mjs.map +1 -0
- package/dist/dropbox/state.d.mts +136 -0
- package/dist/dropbox/state.d.mts.map +1 -0
- package/dist/dropbox/state.mjs +209 -0
- package/dist/dropbox/state.mjs.map +1 -0
- package/dist/dropbox.d.mts +79 -0
- package/dist/dropbox.d.mts.map +1 -0
- package/dist/dropbox.mjs +124 -0
- package/dist/dropbox.mjs.map +1 -0
- package/dist/email-fixtures.d.mts +36 -0
- package/dist/email-fixtures.d.mts.map +1 -0
- package/dist/email-fixtures.mjs +1080 -0
- package/dist/email-fixtures.mjs.map +1 -0
- package/dist/email.d.mts +160 -0
- package/dist/email.d.mts.map +1 -0
- package/dist/email.mjs +608 -0
- package/dist/email.mjs.map +1 -0
- package/dist/emulator-compose.d.mts +40 -0
- package/dist/emulator-compose.d.mts.map +1 -0
- package/dist/emulator-compose.mjs +91 -0
- package/dist/emulator-compose.mjs.map +1 -0
- package/dist/emulator-http.d.mts +53 -0
- package/dist/emulator-http.d.mts.map +1 -0
- package/dist/emulator-http.mjs +117 -0
- package/dist/emulator-http.mjs.map +1 -0
- package/dist/emulator-kernel.d.mts +176 -0
- package/dist/emulator-kernel.d.mts.map +1 -0
- package/dist/emulator-kernel.mjs +413 -0
- package/dist/emulator-kernel.mjs.map +1 -0
- package/dist/fixture-route.d.mts +129 -0
- package/dist/fixture-route.d.mts.map +1 -0
- package/dist/fixture-route.mjs +257 -0
- package/dist/fixture-route.mjs.map +1 -0
- package/dist/fortnox/api.d.mts +92 -0
- package/dist/fortnox/api.d.mts.map +1 -0
- package/dist/fortnox/api.mjs +750 -0
- package/dist/fortnox/api.mjs.map +1 -0
- package/dist/fortnox/state.d.mts +533 -0
- package/dist/fortnox/state.d.mts.map +1 -0
- package/dist/fortnox/state.mjs +612 -0
- package/dist/fortnox/state.mjs.map +1 -0
- package/dist/fortnox.d.mts +128 -0
- package/dist/fortnox.d.mts.map +1 -0
- package/dist/fortnox.mjs +403 -0
- package/dist/fortnox.mjs.map +1 -0
- package/dist/gateway-evaluate-recordings.d.mts +12 -0
- package/dist/gateway-evaluate-recordings.d.mts.map +1 -0
- package/dist/gateway-evaluate-recordings.mjs +128 -0
- package/dist/gateway-evaluate-recordings.mjs.map +1 -0
- package/dist/gateway.d.mts +272 -0
- package/dist/gateway.d.mts.map +1 -0
- package/dist/gateway.mjs +400 -0
- package/dist/gateway.mjs.map +1 -0
- package/dist/github/api.d.mts +63 -0
- package/dist/github/api.d.mts.map +1 -0
- package/dist/github/api.mjs +527 -0
- package/dist/github/api.mjs.map +1 -0
- package/dist/github/state.d.mts +272 -0
- package/dist/github/state.d.mts.map +1 -0
- package/dist/github/state.mjs +303 -0
- package/dist/github/state.mjs.map +1 -0
- package/dist/github.d.mts +77 -0
- package/dist/github.d.mts.map +1 -0
- package/dist/github.mjs +180 -0
- package/dist/github.mjs.map +1 -0
- package/dist/google/calendar.d.mts +10 -0
- package/dist/google/calendar.d.mts.map +1 -0
- package/dist/google/calendar.mjs +252 -0
- package/dist/google/calendar.mjs.map +1 -0
- package/dist/google/drive.d.mts +8 -0
- package/dist/google/drive.d.mts.map +1 -0
- package/dist/google/drive.mjs +252 -0
- package/dist/google/drive.mjs.map +1 -0
- package/dist/google/gmail.d.mts +10 -0
- package/dist/google/gmail.d.mts.map +1 -0
- package/dist/google/gmail.mjs +591 -0
- package/dist/google/gmail.mjs.map +1 -0
- package/dist/google/shared.d.mts +107 -0
- package/dist/google/shared.d.mts.map +1 -0
- package/dist/google/shared.mjs +146 -0
- package/dist/google/shared.mjs.map +1 -0
- package/dist/google/state.d.mts +385 -0
- package/dist/google/state.d.mts.map +1 -0
- package/dist/google/state.mjs +496 -0
- package/dist/google/state.mjs.map +1 -0
- package/dist/google.d.mts +75 -0
- package/dist/google.d.mts.map +1 -0
- package/dist/google.mjs +210 -0
- package/dist/google.mjs.map +1 -0
- package/dist/linkedin-search/api.d.mts +45 -0
- package/dist/linkedin-search/api.d.mts.map +1 -0
- package/dist/linkedin-search/api.mjs +181 -0
- package/dist/linkedin-search/api.mjs.map +1 -0
- package/dist/linkedin-search/state.d.mts +123 -0
- package/dist/linkedin-search/state.d.mts.map +1 -0
- package/dist/linkedin-search/state.mjs +261 -0
- package/dist/linkedin-search/state.mjs.map +1 -0
- package/dist/linkedin-search.d.mts +69 -0
- package/dist/linkedin-search.d.mts.map +1 -0
- package/dist/linkedin-search.mjs +158 -0
- package/dist/linkedin-search.mjs.map +1 -0
- package/dist/mcp/api.d.mts +44 -0
- package/dist/mcp/api.d.mts.map +1 -0
- package/dist/mcp/api.mjs +557 -0
- package/dist/mcp/api.mjs.map +1 -0
- package/dist/mcp/recordings.d.mts +40 -0
- package/dist/mcp/recordings.d.mts.map +1 -0
- package/dist/mcp/recordings.mjs +2390 -0
- package/dist/mcp/recordings.mjs.map +1 -0
- package/dist/mcp/state.d.mts +71 -0
- package/dist/mcp/state.d.mts.map +1 -0
- package/dist/mcp/state.mjs +83 -0
- package/dist/mcp/state.mjs.map +1 -0
- package/dist/mcp.d.mts +84 -0
- package/dist/mcp.d.mts.map +1 -0
- package/dist/mcp.mjs +241 -0
- package/dist/mcp.mjs.map +1 -0
- package/dist/messages.d.mts +183 -0
- package/dist/messages.d.mts.map +1 -0
- package/dist/messages.mjs +532 -0
- package/dist/messages.mjs.map +1 -0
- package/dist/microsoft/api.d.mts +47 -0
- package/dist/microsoft/api.d.mts.map +1 -0
- package/dist/microsoft/api.mjs +178 -0
- package/dist/microsoft/api.mjs.map +1 -0
- package/dist/microsoft/calendar.d.mts +30 -0
- package/dist/microsoft/calendar.d.mts.map +1 -0
- package/dist/microsoft/calendar.mjs +271 -0
- package/dist/microsoft/calendar.mjs.map +1 -0
- package/dist/microsoft/drive.d.mts +36 -0
- package/dist/microsoft/drive.d.mts.map +1 -0
- package/dist/microsoft/drive.mjs +298 -0
- package/dist/microsoft/drive.mjs.map +1 -0
- package/dist/microsoft/graph.d.mts +198 -0
- package/dist/microsoft/graph.d.mts.map +1 -0
- package/dist/microsoft/graph.mjs +264 -0
- package/dist/microsoft/graph.mjs.map +1 -0
- package/dist/microsoft/mail.d.mts +48 -0
- package/dist/microsoft/mail.d.mts.map +1 -0
- package/dist/microsoft/mail.mjs +488 -0
- package/dist/microsoft/mail.mjs.map +1 -0
- package/dist/microsoft/state.d.mts +480 -0
- package/dist/microsoft/state.d.mts.map +1 -0
- package/dist/microsoft/state.mjs +625 -0
- package/dist/microsoft/state.mjs.map +1 -0
- package/dist/microsoft.d.mts +168 -0
- package/dist/microsoft.d.mts.map +1 -0
- package/dist/microsoft.mjs +483 -0
- package/dist/microsoft.mjs.map +1 -0
- package/dist/node.d.mts +47 -0
- package/dist/node.d.mts.map +1 -0
- package/dist/node.mjs +178 -0
- package/dist/node.mjs.map +1 -0
- package/dist/notion/api.d.mts +51 -0
- package/dist/notion/api.d.mts.map +1 -0
- package/dist/notion/api.mjs +507 -0
- package/dist/notion/api.mjs.map +1 -0
- package/dist/notion/state.d.mts +329 -0
- package/dist/notion/state.d.mts.map +1 -0
- package/dist/notion/state.mjs +432 -0
- package/dist/notion/state.mjs.map +1 -0
- package/dist/notion.d.mts +72 -0
- package/dist/notion.d.mts.map +1 -0
- package/dist/notion.mjs +127 -0
- package/dist/notion.mjs.map +1 -0
- package/dist/openai.d.mts +165 -0
- package/dist/openai.d.mts.map +1 -0
- package/dist/openai.mjs +141 -0
- package/dist/openai.mjs.map +1 -0
- package/dist/opencode-recordings.d.mts +7 -0
- package/dist/opencode-recordings.d.mts.map +1 -0
- package/dist/opencode-recordings.mjs +222 -0
- package/dist/opencode-recordings.mjs.map +1 -0
- package/dist/opencode.d.mts +70 -0
- package/dist/opencode.d.mts.map +1 -0
- package/dist/opencode.mjs +217 -0
- package/dist/opencode.mjs.map +1 -0
- package/dist/r2-fixtures.d.mts +36 -0
- package/dist/r2-fixtures.d.mts.map +1 -0
- package/dist/r2-fixtures.mjs +245 -0
- package/dist/r2-fixtures.mjs.map +1 -0
- package/dist/r2-guard.d.mts +43 -0
- package/dist/r2-guard.d.mts.map +1 -0
- package/dist/r2-guard.mjs +215 -0
- package/dist/r2-guard.mjs.map +1 -0
- package/dist/r2.d.mts +166 -0
- package/dist/r2.d.mts.map +1 -0
- package/dist/r2.mjs +517 -0
- package/dist/r2.mjs.map +1 -0
- package/dist/responses.d.mts +231 -0
- package/dist/responses.d.mts.map +1 -0
- package/dist/responses.mjs +556 -0
- package/dist/responses.mjs.map +1 -0
- package/dist/route-evidence.d.mts +45 -0
- package/dist/route-evidence.d.mts.map +1 -0
- package/dist/route-evidence.mjs +56 -0
- package/dist/route-evidence.mjs.map +1 -0
- package/dist/router.d.mts +93 -0
- package/dist/router.d.mts.map +1 -0
- package/dist/router.mjs +259 -0
- package/dist/router.mjs.map +1 -0
- package/dist/stateful-core.d.mts +17 -0
- package/dist/stateful-core.d.mts.map +1 -0
- package/dist/stateful-core.mjs +41 -0
- package/dist/stateful-core.mjs.map +1 -0
- package/dist/stateful-emulator.d.mts +565 -0
- package/dist/stateful-emulator.d.mts.map +1 -0
- package/dist/stateful-emulator.mjs +1228 -0
- package/dist/stateful-emulator.mjs.map +1 -0
- package/dist/stateful-secrets.d.mts +84 -0
- package/dist/stateful-secrets.d.mts.map +1 -0
- package/dist/stateful-secrets.mjs +216 -0
- package/dist/stateful-secrets.mjs.map +1 -0
- package/dist/subscription-usage-recordings.d.mts +9 -0
- package/dist/subscription-usage-recordings.d.mts.map +1 -0
- package/dist/subscription-usage-recordings.mjs +53 -0
- package/dist/subscription-usage-recordings.mjs.map +1 -0
- package/dist/subscription-usage.d.mts +53 -0
- package/dist/subscription-usage.d.mts.map +1 -0
- package/dist/subscription-usage.mjs +21 -0
- package/dist/subscription-usage.mjs.map +1 -0
- package/dist/telegram/api.d.mts +34 -0
- package/dist/telegram/api.d.mts.map +1 -0
- package/dist/telegram/api.mjs +257 -0
- package/dist/telegram/api.mjs.map +1 -0
- package/dist/telegram/state.d.mts +128 -0
- package/dist/telegram/state.d.mts.map +1 -0
- package/dist/telegram/state.mjs +154 -0
- package/dist/telegram/state.mjs.map +1 -0
- package/dist/telegram.d.mts +62 -0
- package/dist/telegram.d.mts.map +1 -0
- package/dist/telegram.mjs +127 -0
- package/dist/telegram.mjs.map +1 -0
- package/dist/todoist/api.d.mts +55 -0
- package/dist/todoist/api.d.mts.map +1 -0
- package/dist/todoist/api.mjs +415 -0
- package/dist/todoist/api.mjs.map +1 -0
- package/dist/todoist/state.d.mts +275 -0
- package/dist/todoist/state.d.mts.map +1 -0
- package/dist/todoist/state.mjs +345 -0
- package/dist/todoist/state.mjs.map +1 -0
- package/dist/todoist.d.mts +68 -0
- package/dist/todoist.d.mts.map +1 -0
- package/dist/todoist.mjs +181 -0
- package/dist/todoist.mjs.map +1 -0
- package/dist/xai.d.mts +267 -0
- package/dist/xai.d.mts.map +1 -0
- package/dist/xai.mjs +252 -0
- package/dist/xai.mjs.map +1 -0
- package/package.json +157 -0
- package/src/anthropic.ts +289 -0
- package/src/chat-completions.ts +924 -0
- package/src/codex.ts +296 -0
- package/src/dropbox/api.ts +1084 -0
- package/src/dropbox/state.ts +364 -0
- package/src/dropbox.ts +203 -0
- package/src/email-fixtures.ts +1297 -0
- package/src/email.ts +1108 -0
- package/src/emulator-compose.ts +147 -0
- package/src/emulator-http.ts +184 -0
- package/src/emulator-kernel.ts +844 -0
- package/src/fixture-route.ts +561 -0
- package/src/fortnox/api.ts +1352 -0
- package/src/fortnox/state.ts +798 -0
- package/src/fortnox.ts +801 -0
- package/src/gateway-evaluate-recordings.ts +153 -0
- package/src/gateway.ts +530 -0
- package/src/github/api.ts +986 -0
- package/src/github/state.ts +439 -0
- package/src/github.ts +271 -0
- package/src/google/calendar.ts +486 -0
- package/src/google/drive.ts +471 -0
- package/src/google/gmail.ts +1011 -0
- package/src/google/shared.ts +321 -0
- package/src/google/state.ts +686 -0
- package/src/google.ts +298 -0
- package/src/linkedin-search/api.ts +363 -0
- package/src/linkedin-search/state.ts +373 -0
- package/src/linkedin-search.ts +241 -0
- package/src/mcp/api.ts +995 -0
- package/src/mcp/recordings.ts +2665 -0
- package/src/mcp/state.ts +125 -0
- package/src/mcp.ts +319 -0
- package/src/messages.ts +844 -0
- package/src/microsoft/api.ts +426 -0
- package/src/microsoft/calendar.ts +491 -0
- package/src/microsoft/drive.ts +541 -0
- package/src/microsoft/graph.ts +550 -0
- package/src/microsoft/mail.ts +833 -0
- package/src/microsoft/state.ts +822 -0
- package/src/microsoft.ts +982 -0
- package/src/node.ts +293 -0
- package/src/notion/api.ts +976 -0
- package/src/notion/state.ts +512 -0
- package/src/notion.ts +210 -0
- package/src/openai.ts +198 -0
- package/src/opencode-recordings.ts +257 -0
- package/src/opencode.ts +271 -0
- package/src/r2-fixtures.ts +295 -0
- package/src/r2-guard.ts +323 -0
- package/src/r2.ts +890 -0
- package/src/responses.ts +901 -0
- package/src/route-evidence.ts +90 -0
- package/src/router.ts +490 -0
- package/src/stateful-core.ts +70 -0
- package/src/stateful-emulator.ts +2571 -0
- package/src/stateful-secrets.ts +299 -0
- package/src/subscription-usage-recordings.ts +77 -0
- package/src/subscription-usage.ts +68 -0
- package/src/telegram/api.ts +437 -0
- package/src/telegram/state.ts +229 -0
- package/src/telegram.ts +227 -0
- package/src/todoist/api.ts +736 -0
- package/src/todoist/state.ts +456 -0
- package/src/todoist.ts +316 -0
- 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"}
|