{"version":3,"sources":["../src/schemas/test-base.ts","../src/schemas/locators/playwright-schema-fork.ts","../src/schemas/locators/locator-parameters.ts","../src/schemas/test-action.ts","../src/schemas/test-step.ts","../src/schemas/test-scenario.ts","../src/schemas/test-run.ts"],"names":["z"],"mappings":"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","file":"chunk-KTR6D2I2.mjs","sourcesContent":["import { z } from \"zod\";\n\nconst withLabelSchema = z.object({\n  label: z.string().optional(),\n});\nconst withDescriptionSchema = z.object({\n  description: z.string().optional(),\n});\nexport const testObjectSchema = withLabelSchema.merge(withDescriptionSchema);\n\n","import { z } from \"zod\";\n\n/**\n * Options for getByRole() as a Zod object, then made optional at the end.\n */\nexport const PlaywrightRoleOptionsSchema = z\n  .object({\n    checked: z.boolean().optional(),\n    disabled: z.boolean().optional(),\n    exact: z.boolean().optional(),\n    expanded: z.boolean().optional(),\n    includeHidden: z.boolean().optional(),\n    level: z.number().optional(),\n    // For name, accept string or RegExp. \n    // If you strictly need to parse only real RegExp objects at runtime, keep it like this.\n    // If you want to accept a \"string that might be a pattern,\" consider a string-based approach.\n    name: z.union([z.string(), z.instanceof(RegExp)]).optional(),\n    pressed: z.boolean().optional(),\n    selected: z.boolean().optional(),\n  })\n  .optional();\n\n  \nexport const PlaywrightRoleSchema = z.enum([\n  \"alert\",\n  \"alertdialog\",\n  \"application\",\n  \"article\",\n  \"banner\",\n  \"blockquote\",\n  \"button\",\n  \"caption\",\n  \"cell\",\n  \"checkbox\",\n  \"code\",\n  \"columnheader\",\n  \"combobox\",\n  \"complementary\",\n  \"contentinfo\",\n  \"definition\",\n  \"deletion\",\n  \"dialog\",\n  \"directory\",\n  \"document\",\n  \"emphasis\",\n  \"feed\",\n  \"figure\",\n  \"form\",\n  \"generic\",\n  \"grid\",\n  \"gridcell\",\n  \"group\",\n  \"heading\",\n  \"img\",\n  \"insertion\",\n  \"link\",\n  \"list\",\n  \"listbox\",\n  \"listitem\",\n  \"log\",\n  \"main\",\n  \"marquee\",\n  \"math\",\n  \"meter\",\n  \"menu\",\n  \"menubar\",\n  \"menuitem\",\n  \"menuitemcheckbox\",\n  \"menuitemradio\",\n  \"navigation\",\n  \"none\",\n  \"note\",\n  \"option\",\n  \"paragraph\",\n  \"presentation\",\n  \"progressbar\",\n  \"radio\",\n  \"radiogroup\",\n  \"region\",\n  \"row\",\n  \"rowgroup\",\n  \"rowheader\",\n  \"scrollbar\",\n  \"search\",\n  \"searchbox\",\n  \"separator\",\n  \"slider\",\n  \"spinbutton\",\n  \"status\",\n  \"strong\",\n  \"subscript\",\n  \"superscript\",\n  \"switch\",\n  \"tab\",\n  \"table\",\n  \"tablist\",\n  \"tabpanel\",\n  \"term\",\n  \"textbox\",\n  \"time\",\n  \"timer\",\n  \"toolbar\",\n  \"tooltip\",\n  \"tree\",\n  \"treegrid\",\n  \"treeitem\",\n]);\n\n","import { z } from \"zod\";\nimport { PlaywrightRoleOptionsSchema, PlaywrightRoleSchema } from \"./playwright-schema-fork\";\n\n// ── Concrete locator schemas ────────────────────────────────────────────────\n\nconst nthField = { nth: z.number().optional() };\n\nexport const selectorLocatorSchema = z.object({\n  by: z.literal(\"selector\"),\n  value: z.string().describe(\"CSS selector\"),\n  ...nthField,\n});\n\nexport const xpathLocatorSchema = z.object({\n  by: z.literal(\"xpath\"),\n  value: z.string().describe(\"XPath expression\"),\n  ...nthField,\n});\n\nexport const roleLocatorSchema = z.object({\n  by: z.literal(\"role\"),\n  role: PlaywrightRoleSchema,\n  name: z.union([z.string(), z.instanceof(RegExp)]).optional(),\n  exact: z.boolean().optional(),\n  checked: z.boolean().optional(),\n  disabled: z.boolean().optional(),\n  expanded: z.boolean().optional(),\n  includeHidden: z.boolean().optional(),\n  level: z.number().optional(),\n  pressed: z.boolean().optional(),\n  selected: z.boolean().optional(),\n  ...nthField,\n});\n\nexport const textLocatorSchema = z.object({\n  by: z.literal(\"text\"),\n  value: z.string(),\n  exact: z.boolean().optional(),\n  ...nthField,\n});\n\nexport const labelLocatorSchema = z.object({\n  by: z.literal(\"label\"),\n  value: z.string(),\n  exact: z.boolean().optional(),\n  ...nthField,\n});\n\nexport const placeholderLocatorSchema = z.object({\n  by: z.literal(\"placeholder\"),\n  value: z.string(),\n  exact: z.boolean().optional(),\n  ...nthField,\n});\n\nexport const altTextLocatorSchema = z.object({\n  by: z.literal(\"altText\"),\n  value: z.string(),\n  exact: z.boolean().optional(),\n  ...nthField,\n});\n\nexport const titleLocatorSchema = z.object({\n  by: z.literal(\"title\"),\n  value: z.string(),\n  exact: z.boolean().optional(),\n  ...nthField,\n});\n\nexport const testIdLocatorSchema = z.object({\n  by: z.literal(\"testId\"),\n  value: z.string(),\n  ...nthField,\n});\n\n// ── Recursive nested locator ────────────────────────────────────────────────\n\nexport type LocatorParams =\n  | z.infer<typeof selectorLocatorSchema>\n  | z.infer<typeof xpathLocatorSchema>\n  | z.infer<typeof roleLocatorSchema>\n  | z.infer<typeof textLocatorSchema>\n  | z.infer<typeof labelLocatorSchema>\n  | z.infer<typeof placeholderLocatorSchema>\n  | z.infer<typeof altTextLocatorSchema>\n  | z.infer<typeof titleLocatorSchema>\n  | z.infer<typeof testIdLocatorSchema>\n  | { by: \"nested\"; parent: LocatorParams; child: LocatorParams; nth?: number }\n  | { by: string; value?: string; nth?: number }; // custom strategies\n\nlet locatorParamsSchema: z.ZodType<LocatorParams>;\n\nexport const nestedLocatorSchema = z.lazy(() =>\n  z.object({\n    by: z.literal(\"nested\"),\n    parent: locatorParamsSchema,\n    child: locatorParamsSchema,\n    ...nthField,\n  })\n);\nexport type NestedLocatorParams = z.infer<typeof nestedLocatorSchema>;\n\nconst customLocatorSchema = z.object({\n  by: z.string(),\n  value: z.string().optional(),\n  ...nthField,\n});\n\nlocatorParamsSchema = z.union([\n  z.discriminatedUnion(\"by\", [\n    selectorLocatorSchema,\n    xpathLocatorSchema,\n    roleLocatorSchema,\n    textLocatorSchema,\n    labelLocatorSchema,\n    placeholderLocatorSchema,\n    altTextLocatorSchema,\n    titleLocatorSchema,\n    testIdLocatorSchema,\n  ]),\n  nestedLocatorSchema,\n  customLocatorSchema,\n]);\n\nexport { locatorParamsSchema };\n\n// Legacy role options export kept for backward compat with playwright-schema-fork consumers\nexport { PlaywrightRoleOptionsSchema, PlaywrightRoleSchema };\n","import { z } from \"zod\";\nimport { locatorParamsSchema } from \"./locators/locator-parameters\";\nimport { testObjectSchema } from \"./test-base\";\n\n// ── Shared option shapes ────────────────────────────────────────────────────\n\nconst timeoutOpts = z.object({ timeout: z.number().optional() }).optional();\n\nconst interactOpts = z\n  .object({\n    timeout: z.number().optional(),\n    force: z.boolean().optional(),\n    trial: z.boolean().optional(),\n  })\n  .optional();\n\nconst waitUntilEnum = z.enum([\"commit\", \"domcontentloaded\", \"load\", \"networkidle\"]);\nconst loadStateEnum = z.enum([\"domcontentloaded\", \"load\", \"networkidle\"]);\nconst waitForStateEnum = z.enum([\"attached\", \"detached\", \"visible\", \"hidden\"]);\n\n// ── Base schemas ────────────────────────────────────────────────────────────\n\nconst base = testObjectSchema; // { label?, description? }\n\nconst withLocator = base.extend({ locator: locatorParamsSchema });\n\n// ── Page-level actions (no locator) ────────────────────────────────────────\n\nconst navigateActionSchema = base.extend({\n  action: z.literal(\"navigate\"),\n  url: z.string(),\n  options: z\n    .object({ timeout: z.number().optional(), waitUntil: waitUntilEnum.optional() })\n    .optional(),\n});\n\nconst sleepActionSchema = base.extend({\n  action: z.literal(\"sleep\"),\n  duration: z.number().describe(\"milliseconds to wait\"),\n});\n\nconst waitForURLActionSchema = base.extend({\n  action: z.literal(\"waitForURL\"),\n  url: z.string(),\n  options: z\n    .object({ timeout: z.number().optional(), waitUntil: waitUntilEnum.optional() })\n    .optional(),\n});\n\nconst goBackActionSchema = base.extend({\n  action: z.literal(\"goBack\"),\n  options: z\n    .object({ timeout: z.number().optional(), waitUntil: waitUntilEnum.optional() })\n    .optional(),\n});\n\nconst goForwardActionSchema = base.extend({\n  action: z.literal(\"goForward\"),\n  options: z\n    .object({ timeout: z.number().optional(), waitUntil: waitUntilEnum.optional() })\n    .optional(),\n});\n\nconst waitForLoadStateActionSchema = base.extend({\n  action: z.literal(\"waitForLoadState\"),\n  state: loadStateEnum.optional(),\n  options: timeoutOpts,\n});\n\nconst assertURLActionSchema = base.extend({\n  action: z.literal(\"assertURL\"),\n  value: z.string(),\n  options: timeoutOpts,\n});\n\nconst assertTitleActionSchema = base.extend({\n  action: z.literal(\"assertTitle\"),\n  value: z.string(),\n  options: timeoutOpts,\n});\n\nconst scrollActionSchema = base.extend({\n  action: z.literal(\"scroll\"),\n  deltaX: z.number().describe(\"Horizontal scroll pixels\"),\n  deltaY: z.number().describe(\"Vertical scroll pixels\"),\n});\n\nconst waitForTextActionSchema = base.extend({\n  action: z.literal(\"waitForText\"),\n  value: z.string(),\n  options: z\n    .object({\n      timeout: z.number().optional(),\n      state: waitForStateEnum.optional(),\n    })\n    .optional(),\n});\n\nconst clickCoordinatesActionSchema = base.extend({\n  action: z.literal(\"clickCoordinates\"),\n  x: z.number(),\n  y: z.number(),\n  options: z\n    .object({\n      button: z.enum([\"left\", \"middle\", \"right\"]).optional(),\n      clickCount: z.number().optional(),\n      delay: z.number().optional(),\n    })\n    .optional(),\n});\n\n// screenshot: page-level when locator is omitted\nconst screenshotActionSchema = base.extend({\n  action: z.literal(\"screenshot\"),\n  locator: locatorParamsSchema.optional(),\n  path: z.string().optional(),\n  options: z\n    .object({ fullPage: z.boolean().optional(), timeout: z.number().optional() })\n    .optional(),\n});\n\n// assertSnapshot: uses Playwright toHaveScreenshot — locator optional (full page if absent)\nconst assertSnapshotActionSchema = base.extend({\n  action: z.literal(\"assertSnapshot\"),\n  locator: locatorParamsSchema.optional(),\n  name: z.string().optional().describe(\"Baseline snapshot filename\"),\n  options: z\n    .object({\n      timeout: z.number().optional(),\n      maxDiffPixels: z.number().optional(),\n      maxDiffPixelRatio: z.number().optional(),\n      threshold: z.number().optional(),\n    })\n    .optional(),\n});\n\n// ── Locator actions ─────────────────────────────────────────────────────────\n\nconst clickActionSchema = withLocator.extend({\n  action: z.literal(\"click\"),\n  options: z\n    .object({\n      button: z.enum([\"left\", \"middle\", \"right\"]).optional(),\n      clickCount: z.number().optional(),\n      delay: z.number().optional(),\n      force: z.boolean().optional(),\n      timeout: z.number().optional(),\n      trial: z.boolean().optional(),\n    })\n    .optional(),\n});\n\nconst dblclickActionSchema = withLocator.extend({\n  action: z.literal(\"dblclick\"),\n  options: interactOpts,\n});\n\nconst fillActionSchema = withLocator.extend({\n  action: z.literal(\"fill\"),\n  value: z.string(),\n  options: z\n    .object({\n      force: z.boolean().optional(),\n      timeout: z.number().optional(),\n      noWaitAfter: z.boolean().optional(),\n    })\n    .optional(),\n});\n\nconst typeActionSchema = withLocator.extend({\n  action: z.literal(\"type\"),\n  value: z.string(),\n  options: z\n    .object({ delay: z.number().optional(), timeout: z.number().optional() })\n    .optional(),\n});\n\nconst pressActionSchema = withLocator.extend({\n  action: z.literal(\"press\"),\n  key: z.string().describe(\"Key or chord, e.g. 'Enter', 'Tab', 'Control+a'\"),\n  options: z\n    .object({ delay: z.number().optional(), timeout: z.number().optional() })\n    .optional(),\n});\n\nconst checkActionSchema = withLocator.extend({\n  action: z.literal(\"check\"),\n  options: interactOpts,\n});\n\nconst uncheckActionSchema = withLocator.extend({\n  action: z.literal(\"uncheck\"),\n  options: interactOpts,\n});\n\nconst selectOptionActionSchema = withLocator.extend({\n  action: z.literal(\"selectOption\"),\n  value: z.union([z.string(), z.array(z.string())]),\n  options: z\n    .object({ force: z.boolean().optional(), timeout: z.number().optional() })\n    .optional(),\n});\n\nconst hoverActionSchema = withLocator.extend({\n  action: z.literal(\"hover\"),\n  options: interactOpts,\n});\n\nconst focusActionSchema = withLocator.extend({\n  action: z.literal(\"focus\"),\n  options: timeoutOpts,\n});\n\nconst blurActionSchema = withLocator.extend({\n  action: z.literal(\"blur\"),\n  options: timeoutOpts,\n});\n\nconst clearActionSchema = withLocator.extend({\n  action: z.literal(\"clear\"),\n  options: interactOpts,\n});\n\nconst scrollIntoViewActionSchema = withLocator.extend({\n  action: z.literal(\"scrollIntoView\"),\n  options: timeoutOpts,\n});\n\nconst waitForActionSchema = withLocator.extend({\n  action: z.literal(\"waitFor\"),\n  state: waitForStateEnum.optional(),\n  options: timeoutOpts,\n});\n\nconst waitForHiddenActionSchema = withLocator.extend({\n  action: z.literal(\"waitForHidden\"),\n  options: timeoutOpts,\n});\n\nconst waitForSelectorActionSchema = withLocator.extend({\n  action: z.literal(\"waitForSelector\"),\n  options: timeoutOpts,\n});\n\n// ── Field value actions ─────────────────────────────────────────────────────\n\nconst setFieldValueActionSchema = withLocator.extend({\n  action: z.literal(\"setFieldValue\"),\n  value: z.string(),\n  options: timeoutOpts,\n});\n\nconst assertFieldValueEqualsActionSchema = withLocator.extend({\n  action: z.literal(\"assertFieldValueEquals\"),\n  value: z.string(),\n  options: timeoutOpts,\n});\n\nconst assertFieldValueContainsActionSchema = withLocator.extend({\n  action: z.literal(\"assertFieldValueContains\"),\n  value: z.string(),\n  options: timeoutOpts,\n});\n\n// ── Assertion actions ───────────────────────────────────────────────────────\n\nconst assertVisibleSchema = withLocator.extend({\n  action: z.literal(\"assertVisible\"),\n  options: timeoutOpts,\n});\n\nconst assertHiddenSchema = withLocator.extend({\n  action: z.literal(\"assertHidden\"),\n  options: timeoutOpts,\n});\n\nconst assertEnabledSchema = withLocator.extend({\n  action: z.literal(\"assertEnabled\"),\n  options: timeoutOpts,\n});\n\nconst assertDisabledSchema = withLocator.extend({\n  action: z.literal(\"assertDisabled\"),\n  options: timeoutOpts,\n});\n\nconst assertCheckedSchema = withLocator.extend({\n  action: z.literal(\"assertChecked\"),\n  checked: z.boolean().optional().describe(\"Default true; set false to assert unchecked\"),\n  options: timeoutOpts,\n});\n\nconst assertTextSchema = withLocator.extend({\n  action: z.literal(\"assertText\"),\n  value: z.string(),\n  options: z\n    .object({ timeout: z.number().optional(), ignoreCase: z.boolean().optional() })\n    .optional(),\n});\n\nconst assertContainsTextSchema = withLocator.extend({\n  action: z.literal(\"assertContainsText\"),\n  value: z.string(),\n  options: z\n    .object({ timeout: z.number().optional(), ignoreCase: z.boolean().optional() })\n    .optional(),\n});\n\nconst assertValueSchema = withLocator.extend({\n  action: z.literal(\"assertValue\"),\n  value: z.string(),\n  options: timeoutOpts,\n});\n\nconst assertCountSchema = withLocator.extend({\n  action: z.literal(\"assertCount\"),\n  count: z.number(),\n  options: timeoutOpts,\n});\n\nconst assertAttributeSchema = withLocator.extend({\n  action: z.literal(\"assertAttribute\"),\n  attribute: z.string(),\n  value: z.string(),\n  options: timeoutOpts,\n});\n\n// ── Custom action catch-all ─────────────────────────────────────────────────\n\nconst customActionSchema = base\n  .extend({\n    action: z.string(),\n    locator: locatorParamsSchema.optional(),\n    value: z.string().optional(),\n  })\n  .passthrough();\n\n// ── Union ───────────────────────────────────────────────────────────────────\n\nconst knownActionsSchema = z.discriminatedUnion(\"action\", [\n  navigateActionSchema,\n  sleepActionSchema,\n  goBackActionSchema,\n  goForwardActionSchema,\n  scrollActionSchema,\n  waitForURLActionSchema,\n  waitForLoadStateActionSchema,\n  waitForTextActionSchema,\n  clickCoordinatesActionSchema,\n  assertURLActionSchema,\n  assertTitleActionSchema,\n  screenshotActionSchema,\n  assertSnapshotActionSchema,\n  clickActionSchema,\n  dblclickActionSchema,\n  fillActionSchema,\n  typeActionSchema,\n  pressActionSchema,\n  checkActionSchema,\n  uncheckActionSchema,\n  selectOptionActionSchema,\n  hoverActionSchema,\n  focusActionSchema,\n  blurActionSchema,\n  clearActionSchema,\n  scrollIntoViewActionSchema,\n  waitForActionSchema,\n  waitForHiddenActionSchema,\n  waitForSelectorActionSchema,\n  assertVisibleSchema,\n  assertHiddenSchema,\n  assertEnabledSchema,\n  assertDisabledSchema,\n  assertCheckedSchema,\n  assertTextSchema,\n  assertContainsTextSchema,\n  assertValueSchema,\n  assertCountSchema,\n  assertAttributeSchema,\n  setFieldValueActionSchema,\n  assertFieldValueEqualsActionSchema,\n  assertFieldValueContainsActionSchema,\n]);\n\nexport const testActionSchema = z.union([knownActionsSchema, customActionSchema]);\nexport type TestAction = z.infer<typeof testActionSchema>;\n","import { testActionSchema } from \"./test-action\";\nimport { testObjectSchema } from \"./test-base\";\nimport { z } from \"zod\";\n\nexport const testStepSchema = testObjectSchema.extend({\n  description: z.string(),\n  actions: z.array(testActionSchema),\n});\nexport type TestStep = z.infer<typeof testStepSchema>;\n","import { testObjectSchema } from \"./test-base\";\nimport { z } from \"zod\";\nimport { testStepSchema } from \"./test-step\";\n\nexport const testScenarioSchema = testObjectSchema.extend({\n  name: z.string(),\n  steps: z.array(testStepSchema),\n});\nexport type TestScenario = z.infer<typeof testScenarioSchema>;\n","import { testObjectSchema } from \"./test-base\";\nimport { z } from \"zod\";\nimport { testScenarioSchema } from \"./test-scenario\";\n\nexport const testRunSchema = testObjectSchema.extend({\n  browser: z.enum([\"chrome\", \"firefox\", \"webkit\"]),\n  host: z.string(),\n  scenarios: z.array(testScenarioSchema),\n});\nexport type TestRun = z.infer<typeof testRunSchema>;\n"]}