{"version":3,"sources":["../src/schemas/index.ts","../src/schemas/settings.ts","../src/schemas/mapping.ts","../src/examples/index.ts","../src/examples/env.ts","../src/examples/step.ts"],"sourcesContent":["import { zodToSchema } from '@walkeros/core/dev';\nimport { SettingsSchema } from './settings';\nimport { MappingSchema } from './mapping';\n\nexport { SettingsSchema, type Settings } from './settings';\nexport { MappingSchema, type Mapping } from './mapping';\n\n// JSON Schema\nexport const settings = zodToSchema(SettingsSchema);\nexport const mapping = zodToSchema(MappingSchema);\n","import { z } from '@walkeros/core/dev';\n\nexport const SettingsSchema = z.object({\n  siteId: z\n    .string()\n    .min(1)\n    .describe(\n      'Customer.io Site ID. Find it in Settings > Workspace Settings > API Credentials.',\n    ),\n  apiKey: z\n    .string()\n    .min(1)\n    .describe(\n      'Customer.io API Key. Find it in Settings > Workspace Settings > API Credentials.',\n    ),\n  appApiKey: z\n    .string()\n    .describe(\n      'App API Key for transactional messaging (sendEmail/sendPush). Find it in Settings > Workspace Settings > API Credentials > App API Keys.',\n    )\n    .optional(),\n  region: z\n    .enum(['us', 'eu'])\n    .describe(\n      'Data center region. Must match where your Customer.io workspace was created. Default: us.',\n    )\n    .optional(),\n  timeout: z\n    .number()\n    .int()\n    .positive()\n    .describe('HTTP request timeout in milliseconds. Default: 10000.')\n    .optional(),\n  customerId: z\n    .string()\n    .describe(\n      'walkerOS mapping value path to resolve customerId from each event (like user.id).',\n    )\n    .optional(),\n  anonymousId: z\n    .string()\n    .describe(\n      'walkerOS mapping value path to resolve anonymousId from each event (like user.session).',\n    )\n    .optional(),\n  identify: z\n    .unknown()\n    .describe(\n      'Destination-level identity mapping. Resolves to { email?, first_name?, ... } attributes. Fires identify() on first push and re-fires when values change.',\n    )\n    .optional(),\n});\n\nexport type Settings = z.infer<typeof SettingsSchema>;\n","import { z } from '@walkeros/core/dev';\n\nexport const MappingSchema = z.object({\n  identify: z\n    .unknown()\n    .describe(\n      'Per-event identify attributes. Resolves to { email?, first_name?, ... }. Use with silent: true on login/identify events.',\n    )\n    .optional(),\n  page: z\n    .unknown()\n    .describe(\n      'Per-event page view. Resolves to { url, ... }. Calls trackPageView(). Use with silent: true.',\n    )\n    .optional(),\n  destroy: z\n    .boolean()\n    .describe(\n      'Permanently delete person from Customer.io. Set true on delete events with silent: true.',\n    )\n    .optional(),\n  suppress: z\n    .boolean()\n    .describe(\n      'Suppress person (stop messaging without deleting data). Set true with silent: true.',\n    )\n    .optional(),\n  unsuppress: z\n    .boolean()\n    .describe(\n      'Unsuppress person (resume messaging). Set true with silent: true.',\n    )\n    .optional(),\n  addDevice: z\n    .unknown()\n    .describe(\n      'Register push device. Resolves to { deviceId, platform, data? }. Use with silent: true.',\n    )\n    .optional(),\n  deleteDevice: z\n    .unknown()\n    .describe(\n      'Remove push device. Resolves to { deviceId, platform }. Use with silent: true.',\n    )\n    .optional(),\n  merge: z\n    .unknown()\n    .describe(\n      'Merge duplicate profiles. Resolves to { primaryType, primaryId, secondaryType, secondaryId }. Use with silent: true.',\n    )\n    .optional(),\n  sendEmail: z\n    .unknown()\n    .describe(\n      'Send transactional email. Resolves to { to, transactional_message_id, message_data?, identifiers? }. Requires appApiKey. Use with silent: true.',\n    )\n    .optional(),\n  sendPush: z\n    .unknown()\n    .describe(\n      'Send transactional push. Resolves to { transactional_message_id, message_data?, identifiers? }. Requires appApiKey. Use with silent: true.',\n    )\n    .optional(),\n});\n\nexport type Mapping = z.infer<typeof MappingSchema>;\n","export * as env from './env';\nexport * as step from './step';\n","import type {\n  Env,\n  CustomerIoTrackClientMock,\n  CustomerIoApiClientMock,\n} from '../types';\n\ntype TrackNoArg = () => Promise<void>;\ntype TrackOne = (_id: string | number) => Promise<void>;\ntype TrackIdentify = (\n  _id: string | number,\n  _attrs: Record<string, unknown>,\n) => Promise<void>;\ntype TrackEvent = (\n  _id: string | number,\n  _event: {\n    name: string;\n    data?: Record<string, unknown>;\n    timestamp?: number;\n  },\n) => Promise<void>;\ntype TrackAnonymous = (\n  _id: string,\n  _event: {\n    name: string;\n    data?: Record<string, unknown>;\n    timestamp?: number;\n  },\n) => Promise<void>;\ntype TrackPage = (\n  _id: string | number,\n  _url: string,\n  _data?: Record<string, unknown>,\n) => Promise<void>;\ntype TrackAddDevice = (\n  _id: string | number,\n  _deviceId: string,\n  _platform: string,\n  _data?: Record<string, unknown>,\n) => Promise<void>;\ntype TrackDeleteDevice = (\n  _id: string | number,\n  _deviceId: string,\n  _platform: string,\n) => Promise<void>;\ntype TrackMerge = (\n  _pt: string,\n  _pi: string,\n  _st: string,\n  _si: string,\n) => Promise<void>;\ntype ApiSend = (_request: unknown) => Promise<void>;\n\nconst asyncIdentify: TrackIdentify = () => Promise.resolve();\nconst asyncEvent: TrackEvent = () => Promise.resolve();\nconst asyncAnonymous: TrackAnonymous = () => Promise.resolve();\nconst asyncPage: TrackPage = () => Promise.resolve();\nconst asyncOne: TrackOne = () => Promise.resolve();\nconst asyncAddDevice: TrackAddDevice = () => Promise.resolve();\nconst asyncDeleteDevice: TrackDeleteDevice = () => Promise.resolve();\nconst asyncMerge: TrackMerge = () => Promise.resolve();\nconst asyncSend: ApiSend = () => Promise.resolve();\n\n// Suppress unused warning for narrow helper aliases used below.\nvoid (null as unknown as TrackNoArg);\n\nfunction createMockTrackClient(): CustomerIoTrackClientMock {\n  return {\n    identify: asyncIdentify,\n    track: asyncEvent,\n    trackAnonymous: asyncAnonymous,\n    trackPageView: asyncPage,\n    destroy: asyncOne,\n    suppress: asyncOne,\n    unsuppress: asyncOne,\n    addDevice: asyncAddDevice,\n    deleteDevice: asyncDeleteDevice,\n    mergeCustomers: asyncMerge,\n  };\n}\n\nfunction createMockApiClient(): CustomerIoApiClientMock {\n  return {\n    sendEmail: asyncSend,\n    sendPush: asyncSend,\n  };\n}\n\nexport const push: Env = {\n  trackClient: createMockTrackClient(),\n  apiClient: createMockApiClient(),\n};\n\nexport const simulation = [\n  'call:trackClient.identify',\n  'call:trackClient.track',\n  'call:trackClient.trackAnonymous',\n  'call:trackClient.trackPageView',\n  'call:trackClient.destroy',\n  'call:trackClient.suppress',\n  'call:trackClient.unsuppress',\n  'call:trackClient.addDevice',\n  'call:trackClient.deleteDevice',\n  'call:trackClient.mergeCustomers',\n  'call:apiClient.sendEmail',\n  'call:apiClient.sendPush',\n];\n","import type { Flow } from '@walkeros/core';\nimport { getEvent } from '@walkeros/core';\nimport type { Settings } from '../types';\n\n/**\n * Extended step example that may carry destination-level settings overrides.\n */\nexport type CustomerIoStepExample = Flow.StepExample & {\n  settings?: Partial<Settings>;\n};\n\n/**\n * Default event forwarding -- trackClient.track() with event name and data.\n * customerId resolved from default settings.customerId = 'user.id'.\n */\nexport const defaultTrack: CustomerIoStepExample = {\n  title: 'Default track',\n  description:\n    'A walkerOS event is forwarded to Customer.io as a track call keyed by the user id.',\n  in: getEvent('product view', {\n    timestamp: 1700000100,\n    user: { id: 'us3r', session: 's3ss10n' },\n  }),\n  out: [\n    [\n      'trackClient.track',\n      'us3r',\n      {\n        name: 'product view',\n        data: {},\n        timestamp: 1700000,\n      },\n    ],\n  ],\n};\n\n/**\n * Mapped event name -- mapping.name renames the event for Customer.io.\n */\nexport const mappedEventName: CustomerIoStepExample = {\n  title: 'Rename event',\n  description:\n    'A mapping rule renames the walker event to a Customer.io-specific event name such as purchase.',\n  in: getEvent('order complete', {\n    timestamp: 1700000101,\n    user: { id: 'us3r', session: 's3ss10n' },\n  }),\n  mapping: {\n    name: 'purchase',\n  },\n  out: [\n    [\n      'trackClient.track',\n      'us3r',\n      {\n        name: 'purchase',\n        data: {},\n        timestamp: 1700000,\n      },\n    ],\n  ],\n};\n\n/**\n * Track with mapped data properties.\n */\nexport const mappedData: CustomerIoStepExample = {\n  title: 'Mapped properties',\n  description:\n    'A data mapping transforms the event payload into Customer.io track properties for an order.',\n  in: getEvent('order complete', {\n    timestamp: 1700000102,\n    user: { id: 'us3r', session: 's3ss10n' },\n    data: { id: '0rd3r1d', total: 555, currency: 'EUR' },\n  }),\n  mapping: {\n    name: 'purchase',\n    data: {\n      map: {\n        order_id: 'data.id',\n        value: 'data.total',\n        currency: 'data.currency',\n      },\n    },\n  },\n  out: [\n    [\n      'trackClient.track',\n      'us3r',\n      {\n        name: 'purchase',\n        data: { order_id: '0rd3r1d', value: 555, currency: 'EUR' },\n        timestamp: 1700000,\n      },\n    ],\n  ],\n};\n\n/**\n * Anonymous event -- no customerId resolved, falls back to trackAnonymous().\n */\nexport const anonymousTrack: CustomerIoStepExample = {\n  title: 'Anonymous track',\n  description:\n    'When no customer id is resolved the event is sent via trackAnonymous keyed by the session id.',\n  in: getEvent('product view', {\n    timestamp: 1700000103,\n    user: { session: 's3ss10n' },\n  }),\n  settings: {\n    customerId: undefined,\n  },\n  out: [\n    [\n      'trackClient.trackAnonymous',\n      's3ss10n',\n      {\n        name: 'product view',\n        data: {},\n        timestamp: 1700000,\n      },\n    ],\n  ],\n};\n\n/**\n * Destination-level identify -- fires trackClient.identify() on first push\n * when settings.identify mapping resolves. Then fires trackClient.track().\n */\nexport const destinationIdentify: CustomerIoStepExample = {\n  title: 'Destination identify',\n  description:\n    'Destination-level identify fires a Customer.io identify call once on the first push, before the track, attaching user attributes.',\n  in: getEvent('page view', {\n    timestamp: 1700000104,\n    user: { id: 'us3r', session: 's3ss10n', email: 'user@example.com' },\n  }),\n  settings: {\n    identify: {\n      map: {\n        email: 'user.email',\n      },\n    },\n  },\n  out: [\n    ['trackClient.identify', 'us3r', { email: 'user@example.com' }],\n    [\n      'trackClient.track',\n      'us3r',\n      {\n        name: 'page view',\n        data: {},\n        timestamp: 1700000,\n      },\n    ],\n  ],\n};\n\n/**\n * Per-event identify with silent -- user login fires identify() only.\n */\nexport const userLoginIdentify: CustomerIoStepExample = {\n  title: 'User login identify',\n  description:\n    'A user login triggers only a Customer.io identify call with profile attributes, skipping the track.',\n  in: getEvent('user login', {\n    timestamp: 1700000105,\n    user: { id: 'us3r', session: 's3ss10n' },\n    data: {\n      email: 'user@acme.com',\n      first_name: 'Jane',\n      plan: 'premium',\n    },\n  }),\n  mapping: {\n    silent: true,\n    settings: {\n      identify: {\n        map: {\n          email: 'data.email',\n          first_name: 'data.first_name',\n          plan: 'data.plan',\n        },\n      },\n    },\n  },\n  out: [\n    [\n      'trackClient.identify',\n      'us3r',\n      { email: 'user@acme.com', first_name: 'Jane', plan: 'premium' },\n    ],\n  ],\n};\n\n/**\n * Page view -- fires trackClient.trackPageView() with url.\n * silent: true suppresses track(); settings.page fires trackPageView().\n */\nexport const pageView: CustomerIoStepExample = {\n  title: 'Page view',\n  description:\n    'A page view fires trackPageView with the URL and referrer instead of a generic track call.',\n  in: getEvent('page view', {\n    timestamp: 1700000106,\n    user: { id: 'us3r', session: 's3ss10n' },\n    data: {\n      url: 'https://example.com/pricing',\n      referrer: 'https://google.com',\n    },\n  }),\n  mapping: {\n    silent: true,\n    settings: {\n      page: {\n        map: {\n          url: 'data.url',\n          referrer: 'data.referrer',\n        },\n      },\n    },\n  },\n  out: [\n    [\n      'trackClient.trackPageView',\n      'us3r',\n      'https://example.com/pricing',\n      { referrer: 'https://google.com' },\n    ],\n  ],\n};\n\n/**\n * Destroy -- permanently deletes a person from Customer.io.\n */\nexport const destroyPerson: CustomerIoStepExample = {\n  title: 'Destroy person',\n  description:\n    'A user delete event permanently removes the person from Customer.io via trackClient.destroy.',\n  in: getEvent('user delete', {\n    timestamp: 1700000107,\n    user: { id: 'us3r', session: 's3ss10n' },\n  }),\n  mapping: {\n    silent: true,\n    settings: {\n      destroy: true,\n    },\n  },\n  out: [['trackClient.destroy', 'us3r']],\n};\n\n/**\n * Suppress -- stops messaging without deleting data.\n */\nexport const suppressPerson: CustomerIoStepExample = {\n  title: 'Suppress person',\n  description:\n    'A user suppress event stops messaging for the person without deleting their profile data.',\n  in: getEvent('user suppress', {\n    timestamp: 1700000108,\n    user: { id: 'us3r', session: 's3ss10n' },\n  }),\n  mapping: {\n    silent: true,\n    settings: {\n      suppress: true,\n    },\n  },\n  out: [['trackClient.suppress', 'us3r']],\n};\n\n/**\n * Unsuppress -- resumes messaging for a suppressed person.\n */\nexport const unsuppressPerson: CustomerIoStepExample = {\n  title: 'Unsuppress person',\n  description:\n    'A user unsuppress event resumes messaging for a previously suppressed Customer.io profile.',\n  in: getEvent('user unsuppress', {\n    timestamp: 1700000109,\n    user: { id: 'us3r', session: 's3ss10n' },\n  }),\n  mapping: {\n    silent: true,\n    settings: {\n      unsuppress: true,\n    },\n  },\n  out: [['trackClient.unsuppress', 'us3r']],\n};\n\n/**\n * Wildcard ignore -- the event matches a mapping rule with ignore: true.\n * The destination fires zero SDK calls.\n */\nexport const wildcardIgnored: CustomerIoStepExample = {\n  public: false,\n  in: getEvent('debug noise', {\n    timestamp: 1700000110,\n    user: { id: 'us3r', session: 's3ss10n' },\n  }),\n  mapping: { ignore: true },\n  out: [],\n};\n"],"mappings":"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","names":["z"]}