{"version":3,"sources":["../../src/protocol/data-file.ts"],"sourcesContent":["import { z } from \"zod\";\n\nexport const DataFileEnvelopeSchema = z.object({\n  $schema: z.string().url().optional(),\n  version: z.literal(\"1.0\"),\n  scope: z.string(),\n  schemaId: z.string().optional(),\n  collectedAt: z.string().datetime(),\n  data: z.record(z.string(), z.unknown()),\n});\n\nexport type DataFileEnvelope = z.infer<typeof DataFileEnvelopeSchema>;\n\nexport function createDataFileEnvelope(\n  scope: string,\n  collectedAt: string,\n  data: Record<string, unknown>,\n  schemaUrl?: string,\n  schemaId?: string,\n): DataFileEnvelope {\n  return {\n    ...(schemaUrl !== undefined && { $schema: schemaUrl }),\n    ...(schemaId !== undefined && { schemaId }),\n    version: \"1.0\",\n    scope,\n    collectedAt,\n    data,\n  };\n}\n\nexport const IngestResponseSchema = z.object({\n  scope: z.string(),\n  collectedAt: z.string().datetime(),\n  status: z.enum([\"stored\", \"syncing\"]),\n});\n\nexport type IngestResponse = z.infer<typeof IngestResponseSchema>;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAkB;AAEX,MAAM,yBAAyB,aAAE,OAAO;AAAA,EAC7C,SAAS,aAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EACnC,SAAS,aAAE,QAAQ,KAAK;AAAA,EACxB,OAAO,aAAE,OAAO;AAAA,EAChB,UAAU,aAAE,OAAO,EAAE,SAAS;AAAA,EAC9B,aAAa,aAAE,OAAO,EAAE,SAAS;AAAA,EACjC,MAAM,aAAE,OAAO,aAAE,OAAO,GAAG,aAAE,QAAQ,CAAC;AACxC,CAAC;AAIM,SAAS,uBACd,OACA,aACA,MACA,WACA,UACkB;AAClB,SAAO;AAAA,IACL,GAAI,cAAc,UAAa,EAAE,SAAS,UAAU;AAAA,IACpD,GAAI,aAAa,UAAa,EAAE,SAAS;AAAA,IACzC,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEO,MAAM,uBAAuB,aAAE,OAAO;AAAA,EAC3C,OAAO,aAAE,OAAO;AAAA,EAChB,aAAa,aAAE,OAAO,EAAE,SAAS;AAAA,EACjC,QAAQ,aAAE,KAAK,CAAC,UAAU,SAAS,CAAC;AACtC,CAAC;","names":[]}