From a7adf68606e6efccbf2579b84c50b0a39649fc1e Mon Sep 17 00:00:00 2001 From: EfeDurmaz16 Date: Fri, 15 May 2026 20:59:03 +0300 Subject: [PATCH 1/2] fix: preserve Workers log source fields --- .../src/types/workers-logs.types.spec.ts | 28 +++++++++++++++++++ .../src/types/workers-logs.types.ts | 22 ++++++++------- 2 files changed, 40 insertions(+), 10 deletions(-) create mode 100644 packages/mcp-common/src/types/workers-logs.types.spec.ts diff --git a/packages/mcp-common/src/types/workers-logs.types.spec.ts b/packages/mcp-common/src/types/workers-logs.types.spec.ts new file mode 100644 index 00000000..13c36f9e --- /dev/null +++ b/packages/mcp-common/src/types/workers-logs.types.spec.ts @@ -0,0 +1,28 @@ +import { describe, expect, it } from 'vitest' + +import { zReturnedTelemetryEvent } from './workers-logs.types' + +describe('zReturnedTelemetryEvent', () => { + it('preserves custom Workers log source fields', () => { + const event = zReturnedTelemetryEvent.parse({ + dataset: 'cloudflare-workers', + timestamp: 1775208144119, + source: { + event: 'sync_complete', + userId: 'abc-123', + synced: 10, + durationMs: 1307, + }, + $metadata: { + id: 'log-event-id', + }, + }) + + expect(event.source).toEqual({ + event: 'sync_complete', + userId: 'abc-123', + synced: 10, + durationMs: 1307, + }) + }) +}) diff --git a/packages/mcp-common/src/types/workers-logs.types.ts b/packages/mcp-common/src/types/workers-logs.types.ts index 55b9a1e3..7a5fade2 100644 --- a/packages/mcp-common/src/types/workers-logs.types.ts +++ b/packages/mcp-common/src/types/workers-logs.types.ts @@ -292,16 +292,18 @@ export const zCloudflareEvent = zCloudflareMiniEvent.extend({ cpuTimeMs: z.number().optional(), }) -const zSourceSchema = z.object({ - exception: z - .object({ - stack: z.string().optional(), - name: z.string().optional(), - message: z.string().optional(), - timestamp: z.number().optional(), - }) - .optional(), -}) +const zSourceSchema = z + .object({ + exception: z + .object({ + stack: z.string().optional(), + name: z.string().optional(), + message: z.string().optional(), + timestamp: z.number().optional(), + }) + .optional(), + }) + .passthrough() export const zReturnedTelemetryEvent = z.object({ dataset: z.string(), From 836a1669107f0ff4c7f4abdb88c5cd8a01e59c18 Mon Sep 17 00:00:00 2001 From: EfeDurmaz16 Date: Sat, 16 May 2026 01:09:37 +0300 Subject: [PATCH 2/2] chore: add workers log changeset Signed-off-by: EfeDurmaz16 --- .changeset/preserve-log-source-fields.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/preserve-log-source-fields.md diff --git a/.changeset/preserve-log-source-fields.md b/.changeset/preserve-log-source-fields.md new file mode 100644 index 00000000..84b9ded9 --- /dev/null +++ b/.changeset/preserve-log-source-fields.md @@ -0,0 +1,5 @@ +--- +"@repo/mcp-common": patch +--- + +Preserve Workers log source fields when normalizing log payloads.