{"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-JCIGD4K4.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\n/** Selector strategy */\nexport const selectorStrategyParamsSchema = z.object({\n  type: z.literal(\"selector\"),\n  value: z.string(),\n});\nexport type SelectorStrategyParams = z.infer<typeof selectorStrategyParamsSchema>;\n\n\n/** Role strategy */\nexport const roleStrategyParamsSchema = z.object({\n  type: z.literal(\"role\"),\n  value: z.object({\n    role: PlaywrightRoleSchema,\n    options: PlaywrightRoleOptionsSchema,\n  }).describe(\"the values for role are role name and then optiosn object e.g. {value: {role: 'link', options: {name: 'sign on'}}}\"),\n});\n\nexport type RoleStrategyParams = z.infer<typeof roleStrategyParamsSchema>;\n\n\n/** Test ID strategy */\nexport const testIdStrategyParamsSchema = z.object({\n  type: z.literal(\"testId\"),\n  value: z.string(),\n});\nexport type TestIdStrategyParams = z.infer<typeof testIdStrategyParamsSchema>;\n\n/** Text strategy */\nexport const textStrategyParamsSchema = z.object({\n  type: z.literal(\"text\"),\n  value: z.string(),\n});\nexport type TextStrategyParams = z.infer<typeof textStrategyParamsSchema>;\n\n\n/**\n * 1) First define the TypeScript union type manually.\n *    This represents the union of all strategies, including the \"nested\" type\n *    that references itself recursively.\n */\nexport type LocatorStrategyParams =\n  | z.infer<typeof selectorStrategyParamsSchema>\n  | z.infer<typeof roleStrategyParamsSchema>\n  | z.infer<typeof testIdStrategyParamsSchema>\n  | z.infer<typeof textStrategyParamsSchema>\n  | {\n      type: \"nested\";\n      parent: LocatorStrategyParams;\n      child: LocatorStrategyParams;\n    };\n\n/**\n * 2) Next, declare a mutable schema variable that we’ll assign after\n *    creating the lazy references.\n */\nlet locatorParamsSchema: z.ZodType<LocatorStrategyParams>;\n\n/**\n * 3) Define the nested locator strategy schema. We use z.lazy to handle\n *    the self-referencing union.\n */\nexport const nestedStrategyParamsSchema = z.lazy(() =>\n  z.object({\n    type: z.literal(\"nested\"),\n    parent: locatorParamsSchema,\n    child: locatorParamsSchema,\n  })\n);\nexport type NestedStrategyParams = z.infer<typeof nestedStrategyParamsSchema>;\n\n\n/**\n * 4) Finally, assign the union of all individual schemas plus\n *    the nested schema to `locatorParamsSchema`.\n */\nlocatorParamsSchema = z.union([\n  selectorStrategyParamsSchema,\n  roleStrategyParamsSchema,\n  testIdStrategyParamsSchema,\n  textStrategyParamsSchema,\n  nestedStrategyParamsSchema,\n]);\n\n/**\n * Export the fully built schema and\n * the TypeScript type that is inferred from it.\n */\nexport { locatorParamsSchema };","import { locatorParamsSchema } from \"./locators/locator-parameters\";\nimport { testObjectSchema } from \"./test-base\";\nimport { z } from \"zod\";\n\nexport const actionTypeSchema = z.enum([\n  \"setfieldvalue\",\n  \"click\",\n  \"navigate\",\n  \"expect\",\n  \"assertFieldValueEquals\",\n  \"assertFieldValueContains\",\n  \"assertElementExists\",\n  \"sleep\"\n]).describe(\"The type of action to perform\");\n\nexport type ActionType = z.infer<typeof actionTypeSchema>;\n\nexport const testActionSchema = testObjectSchema.extend({\n  type: actionTypeSchema,\n  value: z.string().optional(),\n  playwrightFunction: z.string().optional().describe(\"on verify steps, the expect function to use (e.g. toBe is the playwright equivalent to: expect(locator).toBe(value)\"),\n  locator: locatorParamsSchema.optional().describe(\"Locator to use for the action\"),\n  selector: z.string().optional().describe(\"Selector to use for the action (replaces locator)\"),\n});\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"]}