{"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  orgId: z\n    .string()\n    .min(1)\n    .describe(\n      'Your FullStory organization ID (e.g. \"o-XXXXXX-na1\"). Find it in FullStory under Settings > General.',\n    ),\n  host: z\n    .string()\n    .describe('Recording server host for proxy support.')\n    .optional(),\n  script: z.string().describe('Custom script CDN host domain.').optional(),\n  cookieDomain: z\n    .string()\n    .describe('Override cookie domain for cross-subdomain tracking.')\n    .optional(),\n  debug: z\n    .boolean()\n    .describe('Enable browser console debug logging.')\n    .optional(),\n  devMode: z\n    .boolean()\n    .describe('Disable recording entirely for development environments.')\n    .optional(),\n  startCaptureManually: z\n    .boolean()\n    .describe(\n      'Delay capture until FullStory(\"start\") is called. Recommended for GDPR: init the SDK immediately but wait for consent before recording.',\n    )\n    .optional(),\n  namespace: z\n    .string()\n    .describe('Global FS identifier override (default: \"FS\").')\n    .optional(),\n  recordCrossDomainIFrames: z\n    .boolean()\n    .describe('Enable cross-domain iframe recording.')\n    .optional(),\n  identify: z\n    .unknown()\n    .describe(\n      'Destination-level identity mapping. Resolves to { uid, properties? } for FullStory setIdentity. Fires on every push.',\n    )\n    .optional(),\n  consent: z\n    .record(z.string(), z.enum(['capture', 'consent']))\n    .describe(\n      'Translation table from walkerOS consent keys to FullStory consent actions. \"capture\" controls start/shutdown (recording on/off). \"consent\" controls setIdentity({ consent }) flag. Example: { \"analytics\": \"capture\" }.',\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 identity mapping. Resolves to { uid, properties? } for FullStory setIdentity. Overrides destination-level identify for this event.',\n    )\n    .optional(),\n  set: z\n    .unknown()\n    .describe(\n      'Property mapping. Resolved object keys become FullStory setProperties() properties. Use with setType to control scope.',\n    )\n    .optional(),\n  setType: z\n    .enum(['user', 'page'])\n    .describe(\n      'Property scope for the set mapping. \"user\" persists across sessions; \"page\" resets on navigation. Default: \"user\".',\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 { Env } from '../types';\n\n/**\n * Example environment configurations for FullStory destination.\n *\n * Tests clone `push` and replace individual methods with jest spies.\n * Production leaves `env.fullstory` undefined -- the destination falls back\n * to the real `@fullstory/browser` SDK.\n */\n\nconst noop = () => {};\n\n// Narrow helper types for the shared `noop` -> specific SDK signatures without\n// loose casts.\ntype FSInit = NonNullable<Env['fullstory']>['init'];\ntype FSTrackEvent = NonNullable<Env['fullstory']>['trackEvent'];\ntype FSSetIdentity = NonNullable<Env['fullstory']>['setIdentity'];\ntype FSSetProperties = NonNullable<Env['fullstory']>['setProperties'];\n\n/**\n * Pre-init environment -- FullStory SDK methods are no-ops until init wires them.\n */\nexport const init: Env | undefined = {\n  fullstory: {\n    init: noop as FSInit,\n    trackEvent: noop as FSTrackEvent,\n    setIdentity: noop as FSSetIdentity,\n    setProperties: noop as FSSetProperties,\n    shutdown: noop,\n    start: noop,\n  },\n};\n\n/**\n * Post-init environment -- FullStory SDK methods are spy-able no-ops.\n * Tests clone this and replace individual methods with jest.fn() for assertions.\n */\nexport const push: Env = {\n  fullstory: {\n    init: noop as FSInit,\n    trackEvent: noop as FSTrackEvent,\n    setIdentity: noop as FSSetIdentity,\n    setProperties: noop as FSSetProperties,\n    shutdown: noop,\n    start: noop,\n  },\n};\n\n/**\n * Simulation tracking paths for CLI --simulate\n */\nexport const simulation = [\n  'call:fullstory.init',\n  'call:fullstory.trackEvent',\n  'call:fullstory.setIdentity',\n  'call:fullstory.setProperties',\n  'call:fullstory.shutdown',\n  'call:fullstory.start',\n];\n","import type { Flow, WalkerOS } 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 FullStoryStepExample = Flow.StepExample & {\n  settings?: Partial<Settings>;\n  /** Consent granted before `in` so a gated destination is loaded first. */\n  before?: WalkerOS.Consent;\n};\n\n/**\n * Default event forwarding -- every walkerOS event becomes\n * FullStory('trackEvent', { name, properties }). No mapping rule needed.\n */\nexport const defaultEventForwarding: FullStoryStepExample = {\n  title: 'Default event',\n  description:\n    'A walker event becomes a FullStory trackEvent call with the event name and empty properties.',\n  in: getEvent('product view', { timestamp: 1700000100 }),\n  out: [['fullstory.trackEvent', { name: 'product view', properties: {} }]],\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: FullStoryStepExample = {\n  public: false,\n  in: getEvent('debug noise', { timestamp: 1700000101 }),\n  mapping: { ignore: true },\n  out: [],\n};\n\n/**\n * Event name mapping -- mapping.name renames the walkerOS event for FullStory.\n */\nexport const mappedEventName: FullStoryStepExample = {\n  title: 'Renamed event',\n  description:\n    'A mapping renames the event so the FullStory trackEvent uses Purchase instead of the walker name.',\n  in: getEvent('order complete', { timestamp: 1700000102 }),\n  mapping: {\n    name: 'Purchase',\n  },\n  out: [['fullstory.trackEvent', { name: 'Purchase', properties: {} }]],\n};\n\n/**\n * Per-event identify via mapping.settings.identify.\n * Resolves { uid, properties } and calls FullStory('setIdentity', ...).\n * Then fires the default trackEvent.\n */\nexport const userLoginIdentify: FullStoryStepExample = {\n  title: 'User login identify',\n  description:\n    'A user login fires FullStory setIdentity with uid and profile properties before tracking the event.',\n  in: getEvent('user login', {\n    timestamp: 1700000103,\n    data: { id: 'u-123', name: 'Jane Doe', email: 'jane@example.com' },\n  }),\n  mapping: {\n    settings: {\n      identify: {\n        map: {\n          uid: 'data.id',\n          properties: {\n            map: {\n              displayName: 'data.name',\n              email: 'data.email',\n            },\n          },\n        },\n      },\n    },\n  },\n  out: [\n    [\n      'fullstory.setIdentity',\n      {\n        uid: 'u-123',\n        properties: { displayName: 'Jane Doe', email: 'jane@example.com' },\n      },\n    ],\n    ['fullstory.trackEvent', { name: 'user login', properties: {} }],\n  ],\n};\n\n/**\n * Destination-level settings.identify -- fires setIdentity on every push.\n * Uses user.id from the standard getEvent fixture.\n */\nexport const destinationLevelIdentify: FullStoryStepExample = {\n  title: 'Destination identify',\n  description:\n    'Destination-level identify fires FullStory setIdentity with the user id before every track call.',\n  in: getEvent('page view', { timestamp: 1700000104 }),\n  settings: {\n    identify: {\n      map: {\n        uid: 'user.id',\n      },\n    },\n  },\n  out: [\n    ['fullstory.setIdentity', { uid: 'us3r' }],\n    ['fullstory.trackEvent', { name: 'page view', properties: {} }],\n  ],\n};\n\n/**\n * User properties via mapping.settings.set with default setType ('user').\n * Calls FullStory('setProperties', { type: 'user', properties }).\n */\nexport const setUserProperties: FullStoryStepExample = {\n  title: 'Set user properties',\n  description:\n    'A purchase sets user-level FullStory properties such as revenue and currency alongside the tracked event.',\n  in: getEvent('order complete', { timestamp: 1700000105 }),\n  mapping: {\n    name: 'Purchase',\n    settings: {\n      set: {\n        map: {\n          revenue: 'data.total',\n          currency: 'data.currency',\n        },\n      },\n    },\n  },\n  out: [\n    [\n      'fullstory.setProperties',\n      { type: 'user', properties: { revenue: 555, currency: 'EUR' } },\n    ],\n    ['fullstory.trackEvent', { name: 'Purchase', properties: {} }],\n  ],\n};\n\n/**\n * Page properties via mapping.settings.set with setType: 'page'.\n * silent: true suppresses trackEvent -- useful for page views where\n * FullStory already auto-captures navigation.\n */\nexport const setPageProperties: FullStoryStepExample = {\n  title: 'Set page properties',\n  description:\n    'A page view sets FullStory page-type properties without firing a track, since FullStory auto-captures navigation.',\n  in: getEvent('page view', {\n    timestamp: 1700000106,\n    data: { id: '/docs/', title: 'Getting Started' },\n  }),\n  mapping: {\n    silent: true,\n    settings: {\n      set: {\n        map: {\n          pageName: 'data.title',\n        },\n      },\n      setType: 'page',\n    },\n  },\n  out: [\n    [\n      'fullstory.setProperties',\n      { type: 'page', properties: { pageName: 'Getting Started' } },\n    ],\n  ],\n};\n\n/**\n * Combined features -- identify the user, set user properties, then fire\n * the event. Tests push execution order: identify -> setProperties -> trackEvent.\n */\nexport const combinedFeatures: FullStoryStepExample = {\n  title: 'Combined features',\n  description:\n    'A purchase fires FullStory setIdentity, setProperties, and trackEvent in the canonical execution order.',\n  in: getEvent('order complete', { timestamp: 1700000107 }),\n  mapping: {\n    name: 'Purchase',\n    settings: {\n      identify: { map: { uid: 'user.id' } },\n      set: { map: { order_id: 'data.id' } },\n    },\n  },\n  out: [\n    ['fullstory.setIdentity', { uid: 'us3r' }],\n    [\n      'fullstory.setProperties',\n      { type: 'user', properties: { order_id: '0rd3r1d' } },\n    ],\n    ['fullstory.trackEvent', { name: 'Purchase', properties: {} }],\n  ],\n};\n\n/**\n * silent: true with identify -- mapping.silent suppresses trackEvent but\n * still executes identify and set from the mapping rule.\n */\nexport const silentWithIdentify: FullStoryStepExample = {\n  public: false,\n  in: getEvent('user login', {\n    timestamp: 1700000108,\n    data: { id: 'u-123', name: 'Jane Doe' },\n  }),\n  mapping: {\n    silent: true,\n    settings: {\n      identify: {\n        map: {\n          uid: 'data.id',\n          properties: {\n            map: {\n              displayName: 'data.name',\n            },\n          },\n        },\n      },\n    },\n  },\n  out: [\n    [\n      'fullstory.setIdentity',\n      { uid: 'u-123', properties: { displayName: 'Jane Doe' } },\n    ],\n  ],\n};\n\n/**\n * Consent grant -- settings.consent maps walkerOS consent key \"analytics\"\n * to FullStory \"capture\" action. Granting consent calls FullStory('start').\n *\n * Uses command='consent' so the test runner dispatches via\n * elb('walker consent', in) instead of pushing an event.\n */\nexport const consentGrantCapture: FullStoryStepExample = {\n  title: 'Start capture',\n  description:\n    'A walker consent grant for analytics calls FullStory start to resume session recording.',\n  command: 'consent',\n  in: { analytics: true } as WalkerOS.Consent,\n  settings: {\n    consent: {\n      analytics: 'capture',\n    },\n  },\n  out: [['fullstory.start']],\n};\n\n/**\n * Consent revoke -- after analytics consent is granted (FullStory starts\n * capture), revoking it calls FullStory('shutdown'). The destination is never\n * loaded under denied consent, so the shutdown is a real revocation of an\n * already-granted destination.\n */\nexport const consentRevokeCapture: FullStoryStepExample = {\n  title: 'Shutdown capture',\n  description:\n    'A walker consent revoke for analytics calls FullStory shutdown to stop session recording.',\n  command: 'consent',\n  before: { analytics: true },\n  in: { analytics: false } as WalkerOS.Consent,\n  settings: {\n    consent: {\n      analytics: 'capture',\n    },\n  },\n  out: [['fullstory.start'], ['fullstory.shutdown']],\n};\n\n/**\n * Consent flag -- settings.consent maps walkerOS consent key to FullStory\n * \"consent\" action. Granting calls setIdentity({ consent: true }).\n */\nexport const consentGrantFlag: FullStoryStepExample = {\n  title: 'Consent flag granted',\n  description:\n    'A walker consent grant with action consent sets the FullStory identity consent flag to true.',\n  command: 'consent',\n  in: { marketing: true } as WalkerOS.Consent,\n  settings: {\n    consent: {\n      marketing: 'consent',\n    },\n  },\n  out: [['fullstory.setIdentity', { consent: true }]],\n};\n\n/**\n * Consent flag revoke -- after marketing consent is granted (the destination\n * loads), revoking it calls setIdentity({ consent: false }). The destination is\n * never loaded under denied consent, so the revoke acts on an already-granted\n * destination.\n */\nexport const consentRevokeFlag: FullStoryStepExample = {\n  title: 'Consent flag revoked',\n  description:\n    'A walker consent revoke with action consent sets the FullStory identity consent flag to false.',\n  command: 'consent',\n  before: { marketing: true },\n  in: { marketing: false } as WalkerOS.Consent,\n  settings: {\n    consent: {\n      marketing: 'consent',\n    },\n  },\n  out: [\n    ['fullstory.setIdentity', { consent: true }],\n    ['fullstory.setIdentity', { consent: false }],\n  ],\n};\n"],"mappings":"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","names":["z"]}