{"version":3,"sources":["../src/schemas/index.ts","../src/schemas/settings.ts","../src/schemas/primitives.ts","../src/schemas/event.ts","../src/examples/index.ts","../src/examples/inputs.ts","../src/examples/requests.ts","../src/examples/step.ts","../src/examples/trigger.ts"],"sourcesContent":["import { zodToSchema } from '@walkeros/core/dev';\nimport { SettingsSchema } from './settings';\n\nexport * from './primitives';\nexport { SettingsSchema, type Settings } from './settings';\nexport * from './event';\n\n// JSON Schema\nexport const settings = zodToSchema(SettingsSchema);\n","import { z } from '@walkeros/core/dev';\nimport { CorsOptionsSchema, RouteConfigSchema } from './primitives';\n\n/**\n * Fetch source settings schema.\n */\nexport const SettingsSchema = z.object({\n  /** @deprecated Use `paths` instead */\n  path: z.string().describe('Deprecated: use paths instead').optional(),\n\n  paths: z\n    .array(z.union([z.string(), RouteConfigSchema]))\n    .min(1)\n    .describe(\n      'Route paths to handle. String shorthand accepts GET+POST. RouteConfig allows per-route method control.',\n    )\n    .optional(),\n\n  cors: z\n    .union([z.boolean(), CorsOptionsSchema])\n    .describe(\n      'CORS configuration: false = disabled, true = allow all (default), object = custom',\n    )\n    .default(true),\n\n  maxRequestSize: z\n    .number()\n    .int()\n    .positive()\n    .describe('Maximum request body size in bytes')\n    .default(1024 * 100), // 100KB\n\n  maxBatchSize: z\n    .number()\n    .int()\n    .positive()\n    .describe('Maximum events per batch request')\n    .default(100),\n});\n\nexport type Settings = z.infer<typeof SettingsSchema>;\n","import { z } from '@walkeros/core/dev';\n\nexport const HttpMethod = z.enum([\n  'GET',\n  'POST',\n  'PUT',\n  'PATCH',\n  'DELETE',\n  'OPTIONS',\n  'HEAD',\n]);\n\nexport const CorsOrigin = z.union([\n  z.string(),\n  z.array(z.string()),\n  z.literal('*'),\n]);\n\nexport const CorsOptionsSchema = z.object({\n  origin: CorsOrigin.optional(),\n  methods: z.array(HttpMethod).optional(),\n  headers: z.array(z.string()).optional(),\n  credentials: z.boolean().optional(),\n  maxAge: z.number().int().positive().optional(),\n});\n\nexport type CorsOptions = z.infer<typeof CorsOptionsSchema>;\n\n/**\n * HTTP methods supported for route configuration.\n * OPTIONS is always handled for CORS (not user-configurable per route).\n */\nexport const RouteMethod = z.enum(['GET', 'POST']);\n\n/**\n * Route configuration for multi-path support.\n */\nexport const RouteConfigSchema = z.object({\n  path: z\n    .string()\n    .describe('URL path pattern (supports wildcards like /api/*)'),\n  methods: z\n    .array(RouteMethod)\n    .min(1)\n    .describe('HTTP methods to accept. OPTIONS always included for CORS.')\n    .optional(),\n});\n","import { z } from '@walkeros/core/dev';\n\n// Properties schema - flexible key-value pairs\nconst PropertiesSchema = z.record(\n  z.string(),\n  z.union([z.string(), z.number(), z.boolean(), z.record(z.string(), z.any())]),\n);\n\n// Ordered properties - [value, order] tuples\nconst OrderedPropertiesSchema = z.record(\n  z.string(),\n  z.tuple([\n    z.union([\n      z.string(),\n      z.number(),\n      z.boolean(),\n      z.record(z.string(), z.any()),\n    ]),\n    z.number(),\n  ]),\n);\n\n// User schema with optional fields\nconst UserSchema = z\n  .object({\n    id: z.string().optional(),\n    device: z.string().optional(),\n    session: z.string().optional(),\n    email: z.string().optional(),\n    hash: z.string().optional(),\n  })\n  .passthrough();\n\n// Consent schema - boolean flags\nconst ConsentSchema = z.record(z.string(), z.boolean());\n\n// Entity schema (recursive for nested entities)\nconst EntitySchema: z.ZodTypeAny = z.lazy(() =>\n  z\n    .object({\n      entity: z.string(),\n      data: PropertiesSchema.optional(),\n      nested: z.array(EntitySchema).optional(),\n      context: OrderedPropertiesSchema.optional(),\n    })\n    .passthrough(),\n);\n\n// Source schema (v4)\nconst SourceSchema = z\n  .object({\n    type: z.string(),\n    platform: z.string().optional(),\n    version: z.string().optional(),\n    schema: z.string().optional(),\n    count: z.number().optional(),\n    trace: z.string().optional(),\n    url: z.string().optional(),\n    referrer: z.string().optional(),\n  })\n  .passthrough();\n\n// Main event schema - validates incoming events\nexport const EventSchema = z\n  .object({\n    // Required\n    name: z.string().min(1, 'Event name is required'),\n\n    // Core properties\n    data: PropertiesSchema.optional(),\n    context: OrderedPropertiesSchema.optional(),\n    globals: PropertiesSchema.optional(),\n    custom: PropertiesSchema.optional(),\n    user: UserSchema.optional(),\n    nested: z.array(EntitySchema).optional(),\n    consent: ConsentSchema.optional(),\n\n    // System fields (optional for incoming events)\n    id: z.string().optional(),\n    trigger: z.string().optional(),\n    entity: z.string().optional(),\n    action: z.string().optional(),\n    timestamp: z.number().optional(),\n    timing: z.number().optional(),\n    source: SourceSchema.optional(),\n  })\n  .passthrough(); // Allow additional fields\n\nexport type ValidatedEvent = z.infer<typeof EventSchema>;\n","export * as inputs from './inputs';\nexport * as requests from './requests';\nexport * as step from './step';\nexport { createTrigger } from './trigger';\n","import type { WalkerOS } from '@walkeros/core';\n\n/**\n * Example walkerOS events that HTTP clients send to this source.\n * These are the CONTRACT - tests verify implementation handles these inputs.\n */\n\n// Simple page view event\nexport const pageView: WalkerOS.DeepPartialEvent = {\n  name: 'page view',\n  data: {\n    title: 'Home Page',\n    path: '/',\n    referrer: 'https://google.com',\n  },\n  user: {\n    id: 'user-123',\n    session: 'session-456',\n  },\n  timestamp: 1700000000000,\n};\n\n// E-commerce event with nested entities\nexport const productAdd: WalkerOS.DeepPartialEvent = {\n  name: 'product add',\n  data: {\n    id: 'P-123',\n    name: 'Laptop',\n    price: 999.99,\n    quantity: 1,\n  },\n  context: {\n    stage: ['shopping', 1],\n  },\n  globals: {\n    language: 'en',\n    currency: 'USD',\n  },\n  user: {\n    id: 'user-123',\n  },\n  nested: [\n    {\n      entity: 'category',\n      data: {\n        name: 'Electronics',\n        path: '/electronics',\n      },\n    },\n  ],\n  consent: {\n    functional: true,\n    marketing: true,\n  },\n};\n\n// Complete event with all optional fields\nexport const completeEvent: WalkerOS.DeepPartialEvent = {\n  name: 'order complete',\n  data: {\n    id: 'ORDER-123',\n    total: 999.99,\n    currency: 'USD',\n  },\n  context: {\n    stage: ['checkout', 3],\n    test: ['variant-A', 0],\n  },\n  globals: {\n    language: 'en',\n    country: 'US',\n  },\n  custom: {\n    campaignId: 'summer-sale',\n    source: 'email',\n  },\n  user: {\n    id: 'user-123',\n    email: 'user@example.com',\n    session: 'session-456',\n  },\n  nested: [\n    {\n      entity: 'product',\n      data: {\n        id: 'P-123',\n        price: 999.99,\n      },\n    },\n  ],\n  consent: {\n    functional: true,\n    marketing: true,\n    analytics: false,\n  },\n  trigger: 'click',\n};\n\n// Minimal valid event\nexport const minimal: WalkerOS.DeepPartialEvent = {\n  name: 'ping',\n};\n\n// Batch of events\nexport const batch: WalkerOS.DeepPartialEvent[] = [\n  pageView,\n  productAdd,\n  { name: 'button click', data: { id: 'cta' } },\n];\n","/**\n * HTTP request examples for testing the fetch source.\n * Shows what external HTTP clients will send.\n */\n\nexport const validPostRequest = {\n  method: 'POST',\n  url: 'https://example.com/collect',\n  headers: { 'Content-Type': 'application/json' },\n  body: JSON.stringify({\n    name: 'page view',\n    data: { title: 'Home' },\n  }),\n};\n\nexport const batchPostRequest = {\n  method: 'POST',\n  url: 'https://example.com/collect',\n  headers: { 'Content-Type': 'application/json' },\n  body: JSON.stringify({\n    batch: [\n      { name: 'page view', data: { title: 'Home' } },\n      { name: 'button click', data: { id: 'cta' } },\n    ],\n  }),\n};\n\nexport const pixelGetRequest = {\n  method: 'GET',\n  url: 'https://example.com/collect?event=page%20view&data[title]=Home&user[id]=user123',\n};\n\nexport const healthCheckRequest = {\n  method: 'GET',\n  url: 'https://example.com/health',\n};\n\nexport const optionsRequest = {\n  method: 'OPTIONS',\n  url: 'https://example.com/collect',\n  headers: { Origin: 'https://example.com' },\n};\n\nexport const invalidJsonRequest = {\n  method: 'POST',\n  url: 'https://example.com/collect',\n  headers: { 'Content-Type': 'application/json' },\n  body: 'invalid json{',\n};\n\nexport const oversizedRequest = {\n  method: 'POST',\n  url: 'https://example.com/collect',\n  headers: { 'Content-Type': 'application/json' },\n  body: JSON.stringify({\n    name: 'test',\n    data: { payload: 'x'.repeat(200000) }, // 200KB\n  }),\n};\n","import type { Flow } from '@walkeros/core';\n\nexport const postEvent: Flow.StepExample = {\n  title: 'POST event',\n  description:\n    'A fetch POST request with a JSON body becomes a single walker elb event in a fetch-based server.',\n  trigger: { type: 'POST' },\n  in: {\n    method: 'POST',\n    url: 'http://localhost/collect',\n    body: {\n      name: 'page view',\n      data: { title: 'Docs', url: 'https://example.com/docs' },\n    },\n  },\n  out: [\n    [\n      'elb',\n      {\n        name: 'page view',\n        data: { title: 'Docs', url: 'https://example.com/docs' },\n      },\n    ],\n  ],\n};\n\nexport const batchRequest: Flow.StepExample = {\n  title: 'Batch POST',\n  description:\n    'A fetch POST with a batch array produces one walker elb event per batched item preserving order.',\n  trigger: { type: 'POST' },\n  in: {\n    method: 'POST',\n    url: 'http://localhost/collect',\n    body: {\n      batch: [\n        { name: 'page view', data: { title: 'Home' } },\n        { name: 'button click', data: { id: 'cta' } },\n      ],\n    },\n  },\n  out: [\n    ['elb', { name: 'page view', data: { title: 'Home' } }],\n    ['elb', { name: 'button click', data: { id: 'cta' } }],\n  ],\n};\n\nexport const pixelGet: Flow.StepExample = {\n  title: 'Pixel GET',\n  description:\n    'A fetch GET with query parameters in the URL is parsed into an elb event payload for pixel-style tracking.',\n  trigger: { type: 'GET' },\n  in: {\n    method: 'GET',\n    url: 'http://localhost/collect?e=page+view&d=%7B%22title%22%3A%22Home%22%7D',\n  },\n  out: [\n    [\n      'elb',\n      {\n        e: 'page view',\n        d: '{\"title\":\"Home\"}',\n      },\n    ],\n  ],\n};\n","import type { Trigger, Collector } from '@walkeros/core';\nimport { startFlow } from '@walkeros/collector';\n\nexport interface Content {\n  method: string;\n  url: string;\n  body?: unknown;\n  headers?: Record<string, string>;\n}\n\nexport interface Result {\n  status: number;\n  body: unknown;\n  headers: Record<string, string>;\n}\n\nfunction findFetchSource(collector: Collector.Instance) {\n  for (const source of Object.values(collector.sources || {})) {\n    if ((source as { type?: string }).type === 'fetch') return source;\n  }\n}\n\nconst createTrigger: Trigger.CreateFn<Content, Result> = async (\n  config: Collector.InitConfig,\n) => {\n  let flow: Trigger.FlowHandle | undefined;\n\n  const trigger: Trigger.Fn<Content, Result> =\n    () =>\n    async (content: Content): Promise<Result> => {\n      if (!flow) {\n        const result = await startFlow(config);\n        flow = { collector: result.collector, elb: result.elb };\n      }\n\n      const source = findFetchSource(flow.collector);\n      if (!source) throw new Error('Fetch source not found in collector');\n\n      // Construct real Request from content\n      const init: RequestInit = {\n        method: content.method,\n        headers: { 'Content-Type': 'application/json', ...content.headers },\n      };\n      if (content.method !== 'GET' && content.body !== undefined) {\n        init.body = JSON.stringify(content.body);\n      }\n      const request = new Request(content.url, init);\n\n      // Call source.push with the real Request\n      const response = await (\n        source as unknown as { push: (r: Request) => Promise<Response> }\n      ).push(request);\n\n      // Convert Response to serializable result\n      const responseHeaders: Record<string, string> = {};\n      response.headers.forEach((v, k) => {\n        responseHeaders[k] = v;\n      });\n\n      const ct = response.headers.get('content-type') || '';\n      const body = ct.includes('json')\n        ? await response.json()\n        : await response.text();\n\n      return { status: response.status, body, headers: responseHeaders };\n    };\n\n  return {\n    get flow() {\n      return flow;\n    },\n    trigger,\n  };\n};\n\nexport { createTrigger };\n"],"mappings":"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","names":["z","z","z"]}