{"version":3,"sources":["../src/schemas/index.ts","../src/schemas/settings.ts","../src/examples/index.ts","../src/examples/step.ts"],"sourcesContent":["import { zodToSchema } from '@walkeros/core/dev';\nimport { SettingsSchema } from './settings';\n\nexport { SettingsSchema, type Settings } from './settings';\nexport const settings = zodToSchema(SettingsSchema);\n","import { z } from '@walkeros/core/dev';\n\nconst MatchConditionSchema = z.object({\n  key: z.string().describe('Property path to match against'),\n  operator: z\n    .enum(['eq', 'contains', 'prefix', 'suffix', 'regex', 'gt', 'lt', 'exists'])\n    .describe('Match operator'),\n  value: z.string().describe('Value to compare against'),\n  not: z.boolean().optional().describe('Negate the condition'),\n});\n\nconst MatchExpressionSchema: z.ZodType = z.union([\n  MatchConditionSchema,\n  z.object({ and: z.array(z.lazy(() => MatchExpressionSchema)) }),\n  z.object({ or: z.array(z.lazy(() => MatchExpressionSchema)) }),\n]);\n\nconst RouteSchema = z\n  .object({\n    match: z\n      .union([MatchExpressionSchema, z.literal('*')])\n      .describe('Match expression or \"*\" as catch-all route'),\n    next: z\n      .union([z.string(), z.array(z.string())])\n      .describe('Next transformer(s) in the chain for matched events'),\n  })\n  .describe(\n    'Route: directs events to different transformer chains based on match criteria',\n  );\n\n/**\n * Router transformer settings schema.\n *\n * Mirrors: types.ts RouterSettings\n */\nexport const SettingsSchema = z\n  .object({\n    routes: z\n      .array(RouteSchema)\n      .optional()\n      .describe('Routing rules evaluated in order. First matching route wins.'),\n  })\n  .describe(\n    'Router transformer: routes events to different transformer chains based on match rules',\n  );\n\nexport type Settings = z.infer<typeof SettingsSchema>;\n","export * as step from './step';\n","import type { Flow } from '@walkeros/core';\nimport { getEvent } from '@walkeros/core';\n\nexport const routeMatch: Flow.StepExample = {\n  in: getEvent('entity action', {\n    timestamp: 1700000600,\n    data: { v: '2', en: 'purchase' },\n    source: { type: 'server', id: '', previous_id: '' },\n  }),\n  out: { next: 'gtag-parser' },\n};\n\nexport const routeMiss: Flow.StepExample = {\n  in: getEvent('entity action', {\n    timestamp: 1700000601,\n    data: { unknown: 'payload' },\n    source: { type: 'server', id: '', previous_id: '' },\n  }),\n  out: false,\n};\n\nexport const wildcardFallback: Flow.StepExample = {\n  description:\n    'Catch-all wildcard route captures events not matching specific routes',\n  in: getEvent('entity action', {\n    timestamp: 1700000602,\n    data: { path: '/unknown/endpoint', method: 'POST' },\n    source: { type: 'server', id: '', previous_id: '' },\n  }),\n  out: { next: 'default-handler' },\n};\n"],"mappings":";;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAAS,mBAAmB;;;ACA5B,SAAS,SAAS;AAElB,IAAM,uBAAuB,EAAE,OAAO;AAAA,EACpC,KAAK,EAAE,OAAO,EAAE,SAAS,gCAAgC;AAAA,EACzD,UAAU,EACP,KAAK,CAAC,MAAM,YAAY,UAAU,UAAU,SAAS,MAAM,MAAM,QAAQ,CAAC,EAC1E,SAAS,gBAAgB;AAAA,EAC5B,OAAO,EAAE,OAAO,EAAE,SAAS,0BAA0B;AAAA,EACrD,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,sBAAsB;AAC7D,CAAC;AAED,IAAM,wBAAmC,EAAE,MAAM;AAAA,EAC/C;AAAA,EACA,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,MAAM,qBAAqB,CAAC,EAAE,CAAC;AAAA,EAC9D,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,MAAM,qBAAqB,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED,IAAM,cAAc,EACjB,OAAO;AAAA,EACN,OAAO,EACJ,MAAM,CAAC,uBAAuB,EAAE,QAAQ,GAAG,CAAC,CAAC,EAC7C,SAAS,4CAA4C;AAAA,EACxD,MAAM,EACH,MAAM,CAAC,EAAE,OAAO,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EACvC,SAAS,qDAAqD;AACnE,CAAC,EACA;AAAA,EACC;AACF;AAOK,IAAM,iBAAiB,EAC3B,OAAO;AAAA,EACN,QAAQ,EACL,MAAM,WAAW,EACjB,SAAS,EACT,SAAS,8DAA8D;AAC5E,CAAC,EACA;AAAA,EACC;AACF;;;ADxCK,IAAM,WAAW,YAAY,cAAc;;;AEJlD;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,SAAS,gBAAgB;AAElB,IAAM,aAA+B;AAAA,EAC1C,IAAI,SAAS,iBAAiB;AAAA,IAC5B,WAAW;AAAA,IACX,MAAM,EAAE,GAAG,KAAK,IAAI,WAAW;AAAA,IAC/B,QAAQ,EAAE,MAAM,UAAU,IAAI,IAAI,aAAa,GAAG;AAAA,EACpD,CAAC;AAAA,EACD,KAAK,EAAE,MAAM,cAAc;AAC7B;AAEO,IAAM,YAA8B;AAAA,EACzC,IAAI,SAAS,iBAAiB;AAAA,IAC5B,WAAW;AAAA,IACX,MAAM,EAAE,SAAS,UAAU;AAAA,IAC3B,QAAQ,EAAE,MAAM,UAAU,IAAI,IAAI,aAAa,GAAG;AAAA,EACpD,CAAC;AAAA,EACD,KAAK;AACP;AAEO,IAAM,mBAAqC;AAAA,EAChD,aACE;AAAA,EACF,IAAI,SAAS,iBAAiB;AAAA,IAC5B,WAAW;AAAA,IACX,MAAM,EAAE,MAAM,qBAAqB,QAAQ,OAAO;AAAA,IAClD,QAAQ,EAAE,MAAM,UAAU,IAAI,IAAI,aAAa,GAAG;AAAA,EACpD,CAAC;AAAA,EACD,KAAK,EAAE,MAAM,kBAAkB;AACjC;","names":[]}